4 ms·
"Ultimately is was probably patents and the associated license costs that prevented JP2 from going mainstream, a lesson which would later be learnt." Not even
by maskros 5y ago
"Ultimately is was probably patents and the associated license costs that prevented JP2 from going mainstream, a lesson which would later be learnt."
Not even remotely the reason. Lack of high quality decoders and absolutely terrible performance are what kept it back.
The format is ridiculously complicated (design by committee meant it had to include every single bad idea everyone could ever come up with) and there were no good open source implementations. Even the best commercial implementations have decoding performance that is orders of magnitude slower than JPEG. I don't think it's possible to decode JPEG2000 with good performance even if you tried.
JPEG2000 is plain and simple a terrible format. Adobe shoe-horned JPEG200 into PDF, and tried to make it common, so all PDF viewers have to support it. Nobody with half a brain likes to use JPEG2000 images in PDF though, since all files with embedded JPEG2000 images are ten times slower to open and use ten times as much memory as the equivalent PDF with JPEG images would.
- veltas 5y ago> Lack of high quality decoders and absolutely terrible performance are what kept it back. Isn't that also a symptom of lack of adoption?
- acdha 5y agoI think you’re arguing the same cause from different angles: JPEG2000 had no good implementations prior to OpenJPEG because the spec required a license to read and there wasn’t even a compliance suite for the first 15 years or so. I think the quote is also more correct than you give it credit for because IP concerns kept it out of browsers. I don’t think you can get traction for a new image format without browser support — _maybe_ that could be a robust WASM polyfill now but I really think anyone making a new format needs to focus how to get over that hump. Performance is complicated: it’s good enough to be used in digital cinema systems but it’s definitely trading CPU for size, just as we see in the modern video codecs which are also orders of magnitude slower than JPEG. The one area where it can be faster is progressive decoding when you don’t want the entire image resolution - I work with systems which serve lots of thumbnails & similar lower-resolution derivatives and this is the main selling point for the format. I’m still not convinced it’s worth the hassle but I do look for it in other formats.
- ZeroGravitas 5y agoI don't disagree, but on the other hand, the web has taken many horrible standards, made them ubiquitous and used their collective intelligence and spare time to push them to places that no one expected. This ironically demonstrates the absurd nature of patents in networked contexts, because not having patents made those things more valuable (to the world at large) since most of the value comes from the adopters and the ecosystem, not the specific patented spec. JP2 would have had some niches that it could have grown from, scanned books for example.
- pornel 5y agoIn the end, JPEG2000 is not even good at compressing images. It uses wavelets which are overfitting the PSNR metric. In purely numeric benchmarks (without humans judging the images) it makes JPEG2000 seem way better than it really is. Wavelets may look impressive when you compress an image to blurry death, but that's a niche use-case. It falls apart in the more relevant high and nearly-lossless quality ranges. It handles sharp edges very poorly, and struggles to preserve textures of things like skin or wood — either everything looks like plastic, or you get poor compression. DCT-based codecs can generate realistically-looking textures with fewer bits. For web uses even de-blocking filters of WebP and AVIF are not that useful, because people want to use qualities at which blocking isn't a problem in the first place.