5 ms·
JPEG2000 is a big one that seems to be missing. It is used in medical imaging or something, because laws? But its visual quality is worse than old JPEG, despite
by ahartmetz 5y ago
JPEG2000 is a big one that seems to be missing. It is used in medical imaging or something, because laws? But its visual quality is worse than old JPEG, despite a PSNR advantage. Apparently, compression researchers used to think that people care about PSNR.
- SavantIdiot 5y agoIsn't DiCOM a popular image format for medical imaging too? Or does DiCOM use Jpeg2000 under the hood?
- bick_nyers 5y agoIn DICOM you have the notion of a transfer syntax, so you can choose your compression scheme (from a list of Dicom supported transfer syntax), such as JPEG2000. You can also just leave the images uncompressed as well. That being said, any images of sufficient size are very likely to be compressed, J2K being one of the most popular. IMO, the flexibility provided by the container is not worth the development/support effort. It's better to do one or two things really well rather than have hundreds of edge cases.
- acdha 5y agoJPEG-2000 was held back by intellectual property restrictions: patents but also the fact that the spec cost $1,500. A lot of the parties involved appeared to think that the technical merits made adoption inevitable and so they didn't spend time making it appealing with things like a test suite or high-quality open source implementation. That had several impacts which scarred a lot of people I've worked with: 1. The commercial implementations were not interoperable and people get VERY nervous when they periodically get images which won't open correctly in one tool or, worse, have defects which one tool hides. 2. Many open source tools either didn't support the format at all or used Jasper, which just didn't get enough support to be fast or compliant. 3. Performance was quite slow for a while and people who weren't starting with Photoshop or native Mac apps (ImageKit uses the Kakadu codec, which has decent performance) were probably hitting Jasper or the Java implementation, both of which were orders of magnitude slower. People will forgive a certain performance hit for better compression but, especially as network bandwidth and storage capacity went up so much, the savings just weren't worth it if you could transfer and decode a JPEG in less time than it took just to decode the JP2. 4. All of that combined to mean browsers never really implemented it, other than Safari which picked it up via the standard image framework. The complexity meant that getting acceptable performance and security would be expensive and the demand just wasn't there. 5. The complexity of the format and low encoding performance meant that many JP2s were not encoded with optimized settings, which reduced the benefits to supporting it. This makes me a bit sad because technically it was the only format for a long time which supported a wide range of colorspaces, bit depths, etc. and the way you can progressively decode a stream would have been a really neat option for responsive images in HTML — imagine if all your srcset had to do was say “Range-request bytes 1-x for 512x512, 1-y for 1024x1024, …” and the server + CDN could host & cache a single file for every client. There are certain scenarios where the progressive / tiled decoding can make up for the friction (medical imaging and archival storage in libraries/archives) but they're not widespread enough to establish an entire image format. The open source situation has never been better with OpenJPEG but there just doesn't seem to be a high likelihood of significant increases in demand at this point.
- jandrese 5y agoThe patent situation was exacerbated by the fact that JPEG2000 started getting pushed right about the time the GIF patent situation blew up so everybody was reluctant have a repeat disaster. Add in the fact that JPEG2000 showed at best a marginal improvement over JPEG and it's not hard to just stick with the proven technology. Having no good reference implementation is just a nail in the coffin.
- acdha 5y agoI would describe JPEG-2000 as more than a marginal improvement over JPEG: it's one format which supports lossless and lossy compression, it compresses a good bit better and the artifacts are less visually distracting, has better progressive streaming, and full support for variable bit depth and colorspaces. If you look at it technically, it'll win on just about every point. Unfortunately for the standard, most of the people involved assumed that was enough to make adoption inevitable. I think it could have gone down a different path if, say, someone had released a high-quality open source version or worked with e.g. Netscape/Mozilla to integrate it into web browsers but that would have basically meant scaling back the older dream of making a profitable business around a single component like an image codec.
- dvhh 5y agoBut compression time were atrocious and decoder were not as fast as the jpeg one (at the time). Marginal support from tool/browser didn't help boost its popularity, and patent situation as pointed in parent comment just shut the coffin on this otherwise ok format. At the time vanilla jpeg had compression artifact and had worst compression rate, but was good enough at the time, even now because of its ubiquity the "successors" are still having a hard time dethroning jpeg.
- acdha 5y agoExactly: it seems like a classic “Worse is better” situation where JPEG 2000 is basically better across the board on features but none of that mattered as much as being widespread and fast enough. Something like TIFF or BMP wouldn't have been able to do the same since the file sizes are so much larger that they'd have had a noticeable impact on usability but JPEG was far over the “good enough” bar for most users.
- kowbell 5y agoI've always been curious about the distinction between JPEG and JPEG2000. From what I can find online, everyone says that the visual quality is better than JPEG, it just flopped due to slow adoption. Could you elaborate on your claim that it's worse?
- ahartmetz 5y agoThe technology is very different. Both translate the image into a representation where it's easier to remove "unimportant" data. JPEG is based on discrete cosine transform (DCT), JPEG2000 on wavelet transform. Visually, where JPEG produces ringing artifacts, JPEG2000 produces blurriness. JPEG artifacts look "sparkly" and are often a reasonable replacement for the original texture, JPEG2000 artifacts look offensively dull (my opinion). I think, in theoretical speak, it's called "JPEG better preserves high frequency energy". You should be able to find side by side comparisons using your favorite image search engine.
- ahartmetz 5y agoI've found a nice example. Compare the lawn, the part above the arc (especially on the right) and the uppermost window on the two 0.17 MB images. There are parts that look like the JPEG2000 encoder inserted big blotches where details should be. JPEG2000 seems to be better at large, gentle gradients and strong discontinuities between solid colored regions. https://www.imagepdf.com/images/jpeg2000.jpg https://www.imagepdf.com/images/jpeg2000.jpg
- klodolph 5y agoMy understanding is that JPEG2000 never really demonstrated, in experiment, that it was better than JPEG at the types of images and use cases which JPEG was already designed for (photographic images, lossy compression). This use case is such a dominant use case for the web. If you wanted similar quality levels for JPEG and JPEG2000, you often got similar file sizes. I could dig up some of the tests, but the basic gist of it is that at lower file sizes, JPEG2000 would get blurry and JPEG would get that funky blocky noise it gets. This is the result of actual experiments with human subjects judging image quality. I haven't really heard claims that JPEG2000 is better, actually. I remember people saying that it was "supposed" to be better, but not by people who dug into it and made comparisons with human eyeballs. There were some images that would appear visibly better with JPEG2000, like photographs with those beautiful fields of defocused color. JPEG2000 captured those fields of color with all the smoothness they originally had.
- royjacobs 5y agoIt also used to form the basis for Redcode, the file format used by RED digital cinema cameras. Not sure if the current version is still based on JPEG2000 though.
- a_e_k 5y agoAFAIK, digital cinema packages (DCP) used for shipping movies to theaters and showing them on digital projectors are still based on JPEG2000 image sequences.
- mountainofdeath 5y agoIs there a reason h264 wasn't used? It has been widely available since at least 2006 and supports all kinds of resolutions, etc.
- Isthatablackgsd 5y agoI believe it is something to do with bit depths. JPEG2000 can support up to 16-bits whereas H264 only can support up to 10-bits. So using H264 8/10-bits could produce noticeable artifacts when it is being used in a big screen. So using JPEG2000 will alleviate the artifacts since it have higher bit depth as it have extra space for more information to fit in. Here another article [1] I found recently that discussed why Movie theaters use JPEG2000 over popular video format. [1] https://www.design-reuse.com/articles/4595/digital-cinema-reels-from-motion-jpeg2000-advances.html https://www.design-reuse.com/articles/4595/digital-cinema-re...
- __david__ 5y agojpeg2000 has a number of positive traits: * The industry doesn't want you to see compression artifacts, ever. Digital Cinema has no inter-frame compression, it's encoded as a series of individual jpeg2k images at a pretty reasonable quality. * If one frame has a glitch, the glitch doesn't propagate over a bunch of frames the way x264 style compression does. * jpeg2k at too-low a quality doesn't have jpeg/mpeg style square artifacts—instead certain parts of the picture will look slightly blurrier. * jpeg2k has an interesting property where a 4k image can be encoded (with the proper parameters) such that when decoding you can stop at some point midway through a single frames data and have the equivalent encoded 2k image. Which means you can encode for 4k and ship it to theaters that only have 2k projectors (and that 2k hardware isn't required to render to a 4k framebuffer and then downsample). * Since it's more modern than jpeg was (and dcinema was standardized before something like webp came along), it has a lower bytes/quality ratio than jpeg. IE, to achieve equivalent quality image from jpeg you'd need a lot more data. * Support for deeper color depths and a much wider gamut. This is of course limited by what a projector can recreate, but they didn't want to limit to rec 709 or something. They didn't care about patent encumbrance because they didn't need push this out the consumers—the jpeg2k patent stuff only affects the decoders and encoders, both of which are owned by people who can afford to pay.
- riedel 5y agoI think many of those proprietary wavelet compression formats seem to be missing. I remember that at around 2000 I recompressed my images every other week after finding yet another file format that could save me some disk space. Cannot even remember their names...
- ahartmetz 5y agoJPEG2000 is not even proprietary (being from JPEG and all), it failed anyway. Of course, the patent situation may have been a problem.
- Findecanor 5y agoDigital cinema uses a kind of Motion-JPEG2000. The encoding of the coefficients is so convoluted that cinema projector systems require custom hardware to do decoding in 2K at full speed. The only software algorithm that could decode it at relative speed was patented by someone involved with the format: otherwise, software decoding is very slow compared to other formats. JPEG2000 is also sometimes used to encode images embedded in PDFs.
- Isthatablackgsd 5y ago> JPEG2000 is also sometimes used to encode images embedded in PDFs. Interesting. I thought PDF normally convert the format into .jbig2 for embedding into the PDF itself.
- cwt137 5y agoPDF doesn't encode something. PDF supports a few data formats. They call them "filters"; for example CCITT Fax, JBIG2, DCT, RLE, etc. Its up to the PDF creation program to pick the best data format for the image it would like to put into the PDF.
- crummel 5y agoI worked on a library that had to process PDFs and grabbed a bunch of PDFs from archive.org and other open sources for testing, and as I recall, about 2% of them had at least one JPEG2000 image. So if you're in the PDF space it's probably still worth considering.
- Zardoz84 5y agoIf you need to generate miniatures from PDFs, you must handle JPEG2000 and JBIG