It's surprising that the venerable JPEG image compression standard, which dates back to 1986, is still the best we can do for photographic image compression. I can't remember when I encountered my first JPEG image, but JPEG didn't appear to enter practical use until the early 90's.
There's nothing wrong with JPEG. It's a perfectly serviceable image compression format. But there are newer, more modern choices these days. There's even a sequel of sorts to JPEG known as JPEG 2000. It's the logical heir to the JPEG throne.
The promise of JPEG 2000 is higher image quality in much smaller file sizes, at the minor cost of additional CPU time. And since we always seem to have a lot more CPU time than bandwidth, this is a perfect tradeoff. You may remember my comparsion of JPEG compression levels entry from last year. Let's see what happens when we take the two worst-looking images from that comparison-- the ones with JPEG compression factor 40 and 50-- and use JPEG 2000 to produce images of (nearly) the exact same size:
| JPEG, ~8,200 bytes | JPEG 2000, ~8,200 bytes |
|
|
| JPEG, ~10,700 bytes | JPEG 2000, ~10,700 bytes |
|
|
No current web browsers can render JPEG 2000 (.jp2) images, so what you're seeing are extremely high quality JPEG versions of the JPEG 2000 images. Click on the images to download the actual JPEG 2000 files; most modern photo editing software can view them natively.
JPEG 2000 not only compresses more efficiently, it also does a better job of hiding its compression artifacts, too. It takes a lot more bits per pixel to create a JPEG image that looks as good as a JPEG 2000 image. But if you're willing to pump up the file size, you aren't losing any fidelity by presenting JPEG images.
Microsoft, as Microsoft is wont to do, offers a closed-source alternative to JPEG 2000 known as HD Photo or Windows Media Photo. As of late 2006, Microsoft made the format 100% royalty free, and support for HD Photo is included in Windows Vista and .NET Framework 3.0. According to this Russian study, Files in Microsoft's HD Photo format (.hdp, .wdp) are comparable to-- but not better than-- JPEG 2000. The study PDF has lots of comparison images, so you can decide for yourself.
Unfortunately, it doesn't really matter which next-generation image compression format is better, since nobody uses them. Microsoft neglected to include support for HD Photo in Internet Explorer 7. And Firefox doesn't currently support JPEG 2000, either. It's a bit of a mystery, because there's an seven year-old open bug on JPEG 2000, and the OpenJPEG library seems like a logical fit.
Until a commonly used web browser supports JPEG 2000 or HD Photo, there's no traction. I hope the next browser releases can move us beyond the ancient JPEG image compression format.
Posted by Jeff Atwood View blog reactions
« What's In a Version Number, Anyway? Everybody Loves BitTorrent »
Some cool demos of JPEG 2000 wavelet file streaming via the jpip:// protocol handler:
http://www.kakadusoftware.com/demos.html
Jeff Atwood on February 17, 2007 06:44 PMJust to expose my ignorance on image formats, does PNG compare to jpeg 2000 or HD Photo?
Chris on February 17, 2007 07:09 PMchris:
Neither, PNG is a lossless format, and jpeg2k (and HD Photo I assume) uses wavelets, which are inherently lossy.
Chris -
The "standard" advice regarding PNGs is to use them in cases where there's a great deal of flat color, but not for photorealistic images, as photorealistic images don't compress nearly as well in PNG.
On a related note, I really wouldn't mind seeing widespread MNG or APNG support for animation, but I guess that train has left the station, as most people seem happy to use some sort of plugin or JS hack for animation, or even fall back to GIF.
Also, is it just me, or are the JP2 links broken right now?
--
Nic
Sounds like (from the Bugzilla entry) JPEG 2000 is held up by patent hangups:
"It seems that adding jpeg2000 support would get us involved
in a legal mess. If you look at appendix L of the jpeg2000
draft, there are 22 companies who believe that implementing
the spec may require use of their patents."
That makes Microsoft's HD Photo format make a little more sense. It's too bad that companies invest time and money in developing formats, then make them irrelevant by making them too much of a pain to implement. There's a good chance that JPEG 2000 will never gain widespread acceptance.
Jon Galloway on February 17, 2007 07:37 PMMost open source applications can't ship JPEG2000 support due to patent issues. Most closed source applications won't ship support because companies don't care. Microsoft only got PNG support in IE7, and that was only after massive pressure from web developers and competing browsers.
orange on February 17, 2007 07:58 PM>Microsoft only got PNG support in IE7
Not exactly true - MS only got transparency support for PNG in IE7. IE6 support non-transparent PNGs just fine.
Kevin Dente on February 17, 2007 08:14 PM“No current web browsers can render JPEG 2000 (.jp2) images…”
Not so; Safari can view JPEG 2000 just fine.
Peter Hosey on February 17, 2007 10:00 PMMoving the entire world to a new standard is a huge task.
Jpeg2000 simply isn't enough of an improvement to get the world to switch from Jpeg.
Me on February 17, 2007 11:12 PMhttp://echoone.com/filejuicer/formats/jp2
Hmm, looks like you're right. Safari appears to support JPEG 2000. Evidently there was some kind of vulnerability in JPEG 2000, too. Here are links to the JP2 version of the images above if your browser supports it:
http://www.codinghorror.com/blog/images/lena512color-50.jp2
http://www.codinghorror.com/blog/images/lena512color-40.jp2
Here's a compression factor 10 JPEG of the original 512x512 Lena image (96,934 bytes)
http://www.codinghorror.com/blog/images/lena512color.jpg
Here's a JPEG 2000 of the original 512x512 lena image (96,875 bytes)
http://www.codinghorror.com/blog/images/lena512color.jp2
Original uncompressed Lena can be downloaded here:
http://www-ece.rice.edu/~wakin/images/lena512color.tiff
> Jpeg2000 simply isn't enough of an improvement to get the world to switch from Jpeg.
At high bitrates, I agree. But at low bitrates (eg the examples shown in my post), it's a HUGE improvement.
Jeff Atwood on February 17, 2007 11:26 PM> Not so; Safari can view JPEG 2000 just fine.
Well, sorta. It's the QuickTime plugin. (And it also works for Firefox AFAICT)
The plugin approach probably means you can't use JPEG 2000 for more advanced rendering such as background images, etc.
Alastair Rankine on February 17, 2007 11:52 PMFirefox can display jpeg 2000, when the quicktime plugin is intalled, which also explains why safari can open the files.
Adam on February 18, 2007 12:54 AM> At high bitrates, I agree. But at low bitrates (eg the examples shown in my post), it's a HUGE improvement.
I agree... but it's still just easier for people to use the higher bitrates (where there's little difference) and skip over JPEG 2000. Few designers these days worry about the 2-4KB extra. I'm oldschool, so I sweat that kind of stuff. But most people don't, so I dont expect changes any time soon. Especially with the fear of patent troubles and what happened to GIF for a while there.
No, Safari views JPEG 2000 natively. (More accurately, WebKit does, as it works in OmniWeb too.) It does not require the QuickTime plug-in.
I proved this by renaming my Internet Plug-Ins folder, so that Safari wouldn't be able to find the QuickTime plug-in (or any others). Worked fine.
Peter Hosey on February 18, 2007 01:14 AMi did notice when i went to view those jp2 images that quicktime automatically started up and rendered the images, the quality didn't look very good though.
ray on February 18, 2007 01:18 AM
In think JPEG2000 and equivalent file formats are more than just a better compression mechanism than JPEG taken at the same quality level.
JPEG2000 includes Level Of Details (LOD) based not just on interesting maths objects (wavelets), that enables interactive zoom, better network streaming, and so on.
JPEG2000 enables a new class of applications. I think Microsoft's photosynth is an example of that.
Stephane on February 18, 2007 01:23 AMWell, under decent Operating Systems which use the concept of shared data conversion functions (ie. Addons / Translators under BeOS, DataTypes under Amiga), once you've added a single library which can decipher the new format, every single application, even those written decades ago, gain the ability to work with the new image format.
Been using JPEG 2000 under BeOS for over 6 years now. But as usual, the rest of the world takes ages to catch up. Heck, even Haiku can display JPEG2000 without any issues, and the OS isn't even in Alpha stage yet.
Zenja on February 18, 2007 01:24 AM
"No current web browsers can render JPEG 2000 (.jp2) images, so what you're seeing are extremely high quality JPEG versions of the JPEG 2000 images. "
OSX, Safari will.
JPEG is a widespread, semi-standard image format. But most of all, it is good enough, and it scales. There's just no reason to switch to JPEG 2000 or some other "improved JPEG format" right now, except for very special applications you won't find on the web.
Most people wouldn't even notice the difference, unless they compare the pictures side-by-side like above. In cases where it WOULD make a difference, the JPEG creators just notch up the JPEG quality setting. Who cares wether it'll take a couple kbytes more nowadays?
JPEG gets the picture across. In the example above, I see four times the same woman with a hat and purple thingamabob. I notice the difference in quality, but frankly i don't care, because whatever format, i am still able to get the "message" of the picture regardless of the subjective minus 10% loss of image quality.
So, my point being: unless pr0n sites start using JPEG 2000, it'll never become a standard format of the web. ;)
steffenj on February 18, 2007 02:29 AMInterestingly the original JPEG standard misses a trick when it comes to file size. Once the lossy algorithms have been applied the format then takes the still relatively high entropy data and RLE encodes it. Run Length Encoding is pretty much the most basic compression method there is - even the humble fax machine manages it and they aren't exactly computational power-houses.
You can shrink the filesize on any JPEG image with out losing quality by just RLE docoding it and re-compressing it withe the compression method of your choice. If you were to invent a new standard for the web, GZip would probably be the best since it is supported in all modern browsers as it is the basis of HTTP-compression.
It would be interesting to compare the images you provided against standard JPEGs that use a different final lossless algorithm. That would be the true test of the JPEG 2000/MS HD Photo formats.
Dan on February 18, 2007 03:31 AMI think steffenj is right - as a user JPEG is good enough. If you want better quality, make a bigger JPEG. It's not often my bandwidth is so restricted that a few JPEG2000s would make all the difference. Bandwidth mostly restricts video and large binaries.
From the perspective of a site with a lot of JPEGs and a huge audience the difference might be worth it for the bandwidth bill, I suppose.
On a related side note, the way JPEG compression works is fascinating. I recommend having a look at it. Dig those Discrete Fourier Transforms, baby!
It's funny that the previous article was "What's in a version number anyway", which talks about how Microsoft switched to using years to describe its software products (Windows 2000, Office 2003, 2007). In that context, it's funny that JPEG 2000 will be considered by some to be obsolete.
It also seems that JPEG 2000 is doomed to failure because of the patent issue. Even if it's just the perception that the standard is hindered by patents, it still affects its adoption. Another thing is that the standard is described using floating point math. One of the main applications might be embedded systems (e.g., digital cameras), which often do not have a built-in floating point unit and need to rely on slow software floating point emulation.
Personally, after reading this, I am far more interested in Microsoft's HD Photo format, as the standard is described using only integer or fixed point math, thus making it reasonable for smaller embedded systems.
I found this really cool HD photo tech demo, by the way:
http://labs.live.com/photosynth
Brendan Dowling on February 18, 2007 04:07 AMSeems like Opera (i'm using 9.10) supports jpeg2000 as well. The images open fine for me.
SkinnyC on February 18, 2007 04:07 AMWhile Jpeg2000 isn't a big enough improvement over Jpeg, Microsoft's new HD Photo might be. It's possible that HD Photo could become a standard for images greater than 24-bit colour depth.
Mind you, the first step required is to get the operating system and video cards to do deep colour. And then getting camera vendors to trust Microsoft will take, in my estimation, at least 6 years.
Me on February 18, 2007 04:14 AMYet another software patent monster of the day.
JPEG has two weaknesses. The Discrete Cosine Transform has a fixed length scale, which isn't ideal for all images (or parts of images) and the method of entropy encoding (lossless encoding after the lossy step) isn't the best.
There are two better transform methods: wavelets and fractals. Both of them are heavily patented -- rather than bringing in big $$ for the patent holders, this has the simple effect of keeping the technology out of circulation for 18 years.
An arithmetic compression mode of entropy coding is available for JPEG, but it's little used for the same reasons.
The JPEG2000 patent situation is particularly insidious -- the consortium behind it has granted a royalty-free license to use the technology to implement JPEG2000. However, many in the open source camp have declined to implement JPEG2000, because the patents violate the principle of letting other developers modify and repurpose the code as they please. For instance, this certainly violates the spirit of the GPL. If I licensed you a JPEG2000 implementation under the GPL, I'd be granting you rights (to modify the code s you wish) that aren't mine to grant you.
It is a bit sad. Wavelet and fractal compression would let us store our images in about half the space.
Sailor Moon on February 18, 2007 05:14 AMie7 with quicktime can render .jp2 files. it's not native, and it's slow, but it does.
me on February 18, 2007 05:37 AMTo add upon Sailor Moon's comment, Microsoft's HD Photo format is no better than JPEG 2000, because also the licence is royalty free, the EULA specifically prohibits you from distributing your implementation as open source, or letting other people modify your implementation.
IANAL, so here's the EULA :
http://www.microsoft.com/downloads/details.aspx?FamilyID=285eeffd-d86c-48c3-ab93-3abd5ee7f1ce&displaylang=en
Safari on Mac OSX renders them fine and as well as OpenEXR on the desktop environment, Mac OSX handles other more exotic camera RAW files from Nikon and Canon without 3rd party software.
Here's a color test of ICC version 4 that Safari passes that other browsers to my knowledge has not passed.
http://www.color.org/version4html.html
Diganta on February 18, 2007 06:20 AM"No current web browsers can render JPEG 2000"? Safari and Konqueror can! Not everybody uses MS Shit.
pk on February 18, 2007 06:22 AM@SkinnyC: With QuickTime installed, yes.
Snuffman on February 18, 2007 06:27 AMIt has been really quiet in the image processing community. JPEG was probably the last and best image compressed format being developed.
Either I am experiencing the most vivid deja vu ever or you are reposting the exact same blog again. Didn't we already do this one to death last year? I sure remember you posting those pictures before.
Maybe you are just experiencing a log anomaly.
Matt on February 18, 2007 07:50 AMWhat about djvu? There is a free implementation of it and it's very comparable to jpeg2000
Anonymous on February 18, 2007 07:52 AMViva le jpeg2000 revolution! Free (high quality) pr0n at Jeff's place!
Pete Ashdown on February 18, 2007 08:05 AMLet's just drop all this compression stuff...roll out high speed networks and upgrade our hard drives and processors...then we can all edit raw. If only. I just can't belive that JPEG is 1986.
John
http://www.monomachines.com
well, i can see .jp2 normally in Firefox. but yeah it loads like the quicktime plugin before you can see the image =)
mundo on February 18, 2007 08:39 AMJust an aside, but I think that probably the largest general use of Jpeg2000 files is in SecondLife. You can upload files to their server as either JPG or BMP and they get converted to JPG 2000.
The patent issue with respect to inclusion in FireFox, etc. is interesting as SecondLife recently open sourced their client software (which would include their JPEG 2000 renderer).
Michael Buckbee on February 18, 2007 09:00 AMIts been great reading all your comments....
But the best option is to start out with a image well shot, in raw format, then if you have the skills from there, you don't have to worry about any of the above issues, cos you are a good photographer anyway.
Shar on February 18, 2007 09:33 AMThere is absolutely no mystery. JPEG2000 ir patent-encumbered, and no ree(beer or speech) software can not implement it, because of financial and legal reasons.
watt on February 18, 2007 10:51 AMNice article. Like most who read and surf internet a lot will know Jpeg 2000 was hyped so much back then without it EVER really took off.
But looking at it now. Bandwidth are cheap. And will be cheaper by the time any browser support Jp2.
Since Jpeg is nearly a standard are there anyway to improve the quality of the compression without having to reinvent the standard?
And HD photo doesn't even make sense to me at all. They say it is directed to photographer. But anyone who are serious about photography would use RAW or DNG. And if they want high quality lossy they use Jpeg. ( Again coming back to better image quality )
Abit like audio. AAC is suppose to be better then mp3 yet mp3 is still the dominant audio format being used.
Ed on February 18, 2007 10:53 AMWhat is also great about Jpeg2000, is that the picture is its own thumbnail, and that you can get a poorer quality pictures from the original one by just dropping excessive bytes of the tail. It also means that browsers can use original pictures as their thumbnails by just downloading some first several kb of the pictures (no need for separate *.th.jpg any more!) and that with slow connections you'll see the whole picture at once from the very start, and the picture will be getting better and better while more details are loaded.
Check this:
Original jpeg http://amd.streamload.com/d001120/Hosted/Jpeg2000/Orig.jpg
99KB jpeg 2000
http://amd.streamload.com/d001120/Hosted/Jpeg2000/99.jp2
First 50 KB of the above
http://amd.streamload.com/d001120/Hosted/Jpeg2000/50.jp2
First 25 KB of the above
http://amd.streamload.com/d001120/Hosted/Jpeg2000/25.jp2
First 12 KB of the above
http://amd.streamload.com/d001120/Hosted/Jpeg2000/12.jp2
First 6 KB of the above
http://amd.streamload.com/d001120/Hosted/Jpeg2000/06.jp2
First 3KB of the above
http://amd.streamload.com/d001120/Hosted/Jpeg2000/03.jp2
I'm sorry, amd.streamload.com cannot form the proper contents type headers, so you'll have to "Save Targer As..." for the links in my previous post.
MaS on February 18, 2007 11:20 AMHow about PNG files. They have excellent LOSSLESS compression.
shutterbugging on February 18, 2007 11:22 AMI USE JPEG2000!
It seems I am the only one.
I archive my photo film scans at 90% compression: a 100 MB scan is saved as 10 MB. The color quality and image definition is far better than a 10 MB Jpeg.
James on February 18, 2007 12:05 PM> and the picture will be getting better and better while more details are loaded.
I'm not so sure progressive rendering is a good thing. I covered progressive rendering in a previous post..
http://www.codinghorror.com/blog/archives/000468.html
.. and one commenter pointed out a problem with this, via Philip Greenspun:
http://philip.greenspun.com/panda/images
"Some people like interlaced or "progressive" images, which load gradually. The theory behind these formats is that the user can at least look at a fuzzy full-size proxy for the image while all the bits are loading. In practice, the user is forced to look at a fuzzy full-size proxy for the image while all the bits are loading. Is it done? Well, it looks kind of fuzzy. Oh wait, the top of the image seems to be getting a little more detail. Maybe it is done now. It is still kind of fuzzy, though. Maybe the photographer wasn't using a tripod. Oh wait, it seems to be clearing up now..."
Jeff Atwood on February 18, 2007 12:07 PMIsn't JPEG 2000 also royalty supported? If so, how is that different from HD Photo.
Joe on February 18, 2007 12:35 PMI used to work at the labs at Eastman Kodak and specifically was involved in studying JPEG and its performance and quality.
The single biggest reason that JPEG 2000 is better than JPEG at given data size is the quantizing coefficients of the standard itself have been improved. When JPEG originally went out as a standard, the quantizing matrix was not fully optimized to the frequency response of the human visual system. Kodak's optimized values for the coefficients went into the JPEG 2000 standard, and is a primary reason why JPEG 2000 is better. However, note that there is no reason why they can't be used with the original JPEG standard. In other words, by simply changing 64 constants, JPEG image quality will immediately close more than half the quality gap with JPEG 2000, if not more.
In the end, I agree with steffenj. JPEG as it was is basically good enough, certainly with the improved Q matrix values for 95% of the applications anyway. For the other 5% that really care, they won't use JPEG anyway - they won't tolerate the losses at all and will only use a lossless scheme if anything at all.
Jeff on February 18, 2007 12:43 PMas a digital photographer, this makes me very excited! I cant wait.
Josh! on February 18, 2007 01:02 PM"No current web browsers can render JPEG 2000 (.jp2) images"
Well, on my Mac, Firefox 2 certainly does. So do Safari, Preview and Pages. Word 2004 does too. Everything seems to display "lena512color-40.jp2" correctly.
On Windows XP, nothing seems to. Not Firefox, IE7, "picture and fax viewer", nothing.
"No current web browsers can render JPEG 2000 (.jp2) images"
Bullshit. Firefox and Safari on Mac render it. Get your facts straight bucko.
Eric on February 18, 2007 06:12 PMJeff: You wouldn't happen to know those quantization values, would you? (if so, please contact me at www.riumplus.com/contact.html ) I was concerned about image quality and wanted to learn how to do DCT/image processing programming, so I wrote myself a little JPEG encoder/decoder. I spent a while trying different values for the quantization matrix, reading who-knows-how-many papers about colour and the human eye, and I could easily slip them into my encoder. I'm currently using a mix of a low-bitrate XVID matrix and the reference JPEG matrix.
It may be a LOT slower than the other JPEG encoders and the image quality isn't the best at the high-bitrate end, but at the lower bitrates it produces better images than most of the handful of other JPEG encoders that exist out there. I'd say that for web use, it's the best compressor out there. The ability to feed it a compression mask so that the background has higher compression than the foreground really helps, though.
I also have another program that analyses two images and does an area-based recompression between them - in effect, you open a JPEG image, edit part of it, save it, and it attempts to avoid recompressing the areas of the image that haven't been changed. I'd really like to release both of these programs, but I'm rather afraid I'll get lawsuits out the wazoo because I paid no attention to what was patented or restricted methods, I just did things the methods that I thought would work best, that I knew of.
RIUM+ on February 18, 2007 06:22 PMMeh, I don't like anything involving JPEG. I prefer .TIFF files, but Windows refuses to let me use them as backgrounds, so I'm SOL in that way.
Snake on February 18, 2007 08:12 PMjp2 files seem to open fine using the quicktime plugin in FF and IE on WinXP; however, they won't render as part of a page.
Nick on February 18, 2007 08:18 PMTo address the "no one's using JPEG 2000" assertions variously made above, have a look at the Library of Congress' "Sustainability of Digital Formats" webpage on JPEG 2000:
http://www.digitalpreservation.gov/formats/fdd/fdd000143.shtml
Note especially the comments on the evolving adoption landscape.
A number of libraries and archival agencies have been evaluating the format for the last six years (see http://j2karclib.info for more on this), and are putting J2K to good use in several heavy-duty applications like the National Digital Newspaper Program (NDNP):
Harvard University has made the Big Step and has designated JPEG 2000 as an official archival master file format to rest alongside the venerable but less flexible TIFF. Also the upcoming IS&T Archiving conference in Washington DC will host several papers (for the 3rd year in a row) on using J2K for archiving & access purposes:
http://www.imaging.org/conferences/archiving2007/program.cfm
Ron M.
Ron M. on February 18, 2007 08:27 PMI imagine that Mac OS X handles image rendering via CoreImage (iirc), which any sensible application would use, wittingly or not.
Obviously Windows Vista must offer an equally well-thought out technology, so JPEG2000 will work on that operating system too.
Cosmo7 on February 18, 2007 08:28 PMThe real advantage of JPEG2000 over JPEG is not compression of most photos images, it's management of edges (as in maps, scanned documents, etc) and it's color spaces (JPEG is really bad with white point adjustment -- not enough bits).
JPEG2000 is way better than JPEG for compressing a map or scan. Adobe Acrobat 8 can use JPEG2000 with very good results -- but they'll only be readable by recent vintage PDF clients. (I don't think the OS X PDF viewer will read them, though OS X has excellent JPEG2000 support in general.)
The comments on your post are excellent. The problem with JPEG2000 is not that it's patented per se, it's that some of the math is thought likely to be subject to other unclaimed patents. So if it ever got serious traction, it would become patented (remember GIF?). We'll probably have to wait the 18 years ...
I'd love to see cameras do JPEG2000 rather than JPEG and RAW, but it must be said the current algorithms for doing JPEG compression are incredibly fast and very energy efficient.
John Faughnan on February 18, 2007 08:34 PMApple fanatics calm down. Until Microsoft puts JP2000 or HDPhoto into IE7.x no one will care - and then the decision will be made and FF and Safari and Opera can just follow.
dp on February 18, 2007 08:37 PMWorks fine on a Mac running OS X and Safari browser (KHTML)
Sean Kelley on February 18, 2007 08:51 PMthanks for reminding me about why I liked image processing class in uni so much :)
whoever picked that pic from Playboy did a world of good in turning on students on to image proc.
engtech on February 18, 2007 11:09 PMMy previous company built products around the JPEG2000 compression in 2001. The J2K compression is great for press photographers as they need to get their images to the office quicker than the competition. If one Jpeg takes 20 secs to upload using a cell phone, it will take 2 secs with J2K. Multiply that with the number of photos taken during a football game (2 x 45 mins), and you will soon understand that time IS money. Our product would take jpeg images and compress them with J2K (no reduced quality) and unpack them at the server.
But now adays, the camera themselves support J2K so our very small window of opportunity disappeared quite quickly. But it is still used by many photographers in sweden and brazil :)
The fun part was that we had a java client that would kick ass with image viewing/handling when compared to the industry standard app. Java slow? Dont think so. http://www.imbridge.com/eng/index.php?avd=imwip&sid=1&hkol=hkol_1
red on February 19, 2007 12:41 AMIt rendered in my browser (Opera - www.opera.com ).
It used Quicktime Plugin to render the file.
Good and fast JPEG2000 decoder:
http://j2k-codec.com
All I gotta say is "Props for using Josie Maran" (if that is who I think the lady in the pics is).
naser on February 19, 2007 02:41 AMHow about before introducing new formats they make color profiles work in Firefox first. My friend is always harping on about that.
[ICR] on February 19, 2007 03:01 AMMaS, with the Lurawave plugin those can be viewed without saving just fine.
JPEG will die once 16-bit lossy formats prove their worth. I've converted huge 10-bit raws to 16-bit, reasonable sized HDPs and J2Ks (~2MB), then imported and done the linear->log range conversion & levels as normal. Even though you'd expect it to scramble the fine range info in the compression artifacts, that isn't the case, and you get the biggest benefit of raw without the enormous size. (There's something like a 5-10% overhead to hit the same visual quality as 8-bit, that holds true whether the 16-bit is all packed into 1% of the histogram or 100%.)
HDP will win only because Microsoft is backing it and it's more open than J2K, even though it's not open sourceable. And probably because it's much more closely related to JPEG than J2K, simpler to implement in hardware.
I got xnview to support hdp so it wouldn't be such a pain working with them. =p (PS check it out! Great alternative to Picasa, if the polar opposite in UI.) This is just one of those things I sorta geek out over, I think.
Foxyshadis on February 19, 2007 03:53 AMThe woman is Lena Soderberg.
http://en.wikipedia.org/wiki/Lena_S%C3%B6derberg
I think JP2 didn't take off for the very reason that all it does is compress better and JPG compresses enough. The best demonstration is your side by side comparison: very high quality JPGs aren't an obstacle to publication.
I think HD photo has a wider scope with its ability to decode only a tile and/or only a lower-resolution version of the image. This is well demonstrated in Photosynth : http://labs.live.com/photosynth/
See my discussions at :
http://www.photogpu.com/index.php?q=node/9
Okay, having been a semi-professional graphic designer for over a decade now, I feel I have some authority to speak here.
JPEG - I use this format for photographs. I generally use a compression rate of somewhere (using Photoshop) of 8 to 10, depending on the size of the image. The higher quality I can squeeze out, the better. I don't really like JPEG, but I know it's the standard if I want people to be able to view my photos, so I use it.
PNG - I use this for images that have a lot of flat color. I do a lot of line-art, since I'm red-green colorblind (Deuteranomaly), so it works out perfectly. The transparency on this is ideal because it supports Alpha transparency, which means you have have blended transparency as opposed to sharp-edged transparency like GIF gives you. Plus it's a more open format, so I don't feel bad using it.
GIF - A dead format I detest, have always detested, will always detest. I used it only out of ignorance in the earliest days of my career.
MNG - A sadly unadopted standard. The images tend to be ridiculously large, thus making Flash a more viable alternative.
SWF - Shockwave File // Flash. It's got it's good points, but for simple animation I'm positive the open-source community can come up with a better standard. Vector-based imagery is already very possible (SVG being the standard), and not everyone that wants to display animation wants to have to shell out many hundreds for Adobe's Flash suite. I'd love to see an open-source FireFox supported vector animation format.
Anyhow. What's been said before me is pretty much in line with what is known about graphics in the industry. High-quality for-print images tend to be TIFF, low-quality for-web images tend to be JPEG. BMP has no business being used, and PICT, the Macintosh format, is already basically obsolete since Apple mostly uses JPEG/PNG when using their own internal imaging.
In all, graphics formatting needs to grow, again. It has not kept apace with technology. The mitigating factor has been web browsers, pure and simple. With FireFox basically leading the way, if they adopt something that is put into wide-spread use, it should be adopted by the other browser formats in short order. In essence, the onus is on the FireFox team whether they like it or not. Such is the burden of taking on the Big Blue E.
Jae on February 19, 2007 07:25 AMMitigating... I meant "limiting". My god it's monday...
Jae on February 19, 2007 07:36 AMAnother advantage that the original JPEG has is that it uses math that is often already supported in hardware (the Discrete Cosine Transformation, I believe), or for which dedicated HW is cheap. This means for cameras and phones and such it's a much more cost-effective option. (And the HW is also reused in MPEGs)
Presumably the patent issues also cloud the possibility of hardware implementations.
Ben StJohn on February 19, 2007 07:42 AMThe big reason that JPEG 2000 would be nice is that it has a full alpha channel. That's something desperately needed in a mainstream lossy format.
fwiffo on February 19, 2007 09:14 AMThe only problem with JPEG is that the quantization matrices are standard and not very well thought out - with good quantization it approaches JPEG2000 quality.
There are also many ways to improve the quality, it's just that research on this is way ahead of adoption - I blame lazy programmers (c:
JPEG2000 is patented to hell, that's why no-one wants to adopt it.
- just another bonus of software patents.
Just to pick up on something from a previous post on IE's support for transparent PNG images, IE has actually supported transparency in PNG images since version 5.5 with the help of a (very messing...) filter, as described here:
http://www.design-ireland.net/alpha/controller/view_article.php?oid=00000000050
Not that I'm defending IE or anything, as stated at least now in IE7 you don't need to use the filter anymore to achieve transparency, now if only MS would get their finger out and start building in some SVG support...
John on February 19, 2007 11:44 AMIf jpeg2000 doesn't support alpha channel I don't see the step forward. Better compression? Thats nice, but not so important anymore.
alex on February 19, 2007 12:23 PMwhen i try to save to web in phtoshop ...
my JPEG images are smaller than PNG ...
dunno where i go wrong here ...
i thought PNG was a better than JPG ...
hmm ...
No, I'm not going to be like all the others who don't read the comments and then say "gee, it works on a Mac running OSX with Safari". I get sick of you lamos repeating the same thing again and again.
MeeToo!!!! on February 19, 2007 10:56 PM"JPEG2000 is patented to hell, that's why no-one wants to adopt it."
I thought that it was patented but free for everyone to use, so they would not have another MP3 problem?!
red on February 20, 2007 12:42 AMSafari can open Jpeg 2000 images inline, but so can QuickTime.
If you have QuickTime installed, you will also have the QuickTime browser plugin installed. It's MIME settings are by default set to use QuickTime to open JPEG 2000 images ( .jp2 ).
That is the best setting, because it allows FireFox, or any other browser on Windows or Macintosh (ie can run QuickTime) to open JPEG 2000 images as they are encountered.
If you use Microsoft Windows and refuse to install QuickTime, then you can't open JPEG 2000 images (along with a few other still and video formats).
If you use a JPEG-compliant browser like Safari, and you would prefer to have Safari open JPEG 2000 images inline (ie by itself) then remove JPEG 2000 from QuickTime's MIME settings, in the QuickTime plugin preferences.
You can reach the MIME setting two ways in OSX:
1) System Preferences: QuickTime: Advanced: MIME Settings
2) Launch QuickTime Player, go to:
QuickTime Player: QuickTime Preferences: Advanced: MIME Settings
... and in both cases, click the arrow at: Images: Still Image Files:
... and uncheck JPEG 2000 images. Remember to click OK, and then you can close the Preferences.
Note that if you do so, JPEG 2000 will no longer work with FireFox or other browsers on your Mac but will work fine if you use Safari. Display will be just slightly faster.
If you use Windows, well, you simply need QuickTime to view the images, so don't disable the MIME setting. Its the only way you have to see them in a browser.
"i thought PNG was a better than JPG ..."
Better doesn't necessarily mean smaller. It uses lossless compression, which means if you use a lossy compressed jpg it will tend to be smaller. But if you have the right sort of file (lots of flat colour) and want perfect quality, png is a lot better.
I noticed that jpeg2000 does a much better job compressing images lossless(ly) than PNG does.
Sleepy on February 21, 2007 08:12 AMdon't forget about jpeg dimension limitations (64k x 64k) and that it does not support tiling (necessary to process really huge images)
kenji on February 21, 2007 08:32 AMwhile jpg may be fine for most folks simply browsing, I am serving 40+ megapixel images in the science/education area. A 16-bit TIFF is 125 MB; equal size compressions to 2-3 MB, an almost feasible size for distribution on the web, shows a huge difference in artifacts at 100% between jpg and jpg2. It does make a difference in this application, and JP2 is the hands-down winner.
buck on March 2, 2007 08:20 PMMicrosoft gives away HD Photo (with "will not assert patents" caveat), submitting it to a standards body:
http://news.com.com/Microsoft+Make+our+HD+Photo+format+a+standard/2100-1012_3-6165004.html
Jeff Atwood on March 8, 2007 11:36 PMThe jp2 links are broken.
Kai on July 2, 2007 11:17 AMNice to see Lena again. She's a great subject for exploring image manipulations.
David Mills on July 2, 2007 07:34 PMthachi
fathima on February 8, 2008 06:31 PM"No, Safari views JPEG 2000 natively. (More accurately, WebKit does, as it works in OmniWeb too.) It does not require the QuickTime plug-in.
I proved this by renaming my Internet Plug-Ins folder, so that Safari wouldn't be able to find the QuickTime plug-in (or any others). Worked fine."
Nope, no browser natively support JPEG 2000, not Safari, not OmniWeb, not Konqueror, nor anything based on KHTML/WebKit. You should try the Windows version of Safari and Konqueror, even with the latest svn builds, they can't show JPEG 2000. So WebKit can't view JEPG 2000 natively.
WebKit No JP2 on March 28, 2008 09:51 PM| Content (c) 2008 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved. |