I know this is an ancient discussion, but... aye, there is definitely still 
interest in JPEG2000 after all these years, and there is still no native Go 
library for them.

It's not only DICOM medical imaging that uses JPEG2000. It's also things 
like Second Life — where *all* textures are stored as JPEG2000 files. 
JPEG2000 has this uncommon advantage of being able to store the same image 
in different sizes, the smallest/lowest resolution first... which make them 
ideal for virtual worlds where content is *not* downloaded in advance, but 
rather via streaming. That way, a full scene can be rendered with an 
approximation of the finished version very quickly, with all the low-rez 
variations being downloaded in a pinch (JPEG2000's compression also helps a 
lot), while the higher-rez versions can be downloaded slowly, as the user 
manifests their interest in examining something in detail.

Obviously, there are many ways of accomplishing the same results — storing 
separate files for each dimension/resolution, for instance — but JPEG2000 
has the advantage of doing it all inside the *same* container.

So, sure, it's still a very relevant format with plenty of niche 
applications; a pity it's being left behind in favour of AVIF and 
newer-generation solutions. I have no idea how you can replicate the same 
in other types of containers, though. I can imagine that you *could*, in 
theory, do it using Targa TGA extensions, or possibly even in TIFF — both 
of wish also becoming obsolete very, very fast.

JPEG2000 is something curious in the history of graphic file formats: it 
addressed quite a lot of issues with existing contemporary formats, 
introduced new forms of containers for images, and offered much higher 
compression — even lossless compression — of higher-quality/resolution 
images than the 'original' JPEG format. It's even supposed to support 
animated frames, and who knows what else. Its biggest disadvantage, as 
always, is related to the *legal* issues in encoding or decoding JPEG2000 
images by reverse-engineering the implementation used by the original 
libraries — since they all rely on tons of patents from different companies 
in the consortium....

Anyway, just my $.02: I suppose that this will *never* become a reality — 
mostly because we have so many alternative formats already...

    — Gwyn

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/golang-nuts/e76c3d93-92b4-4300-9a93-0cdb28860074n%40googlegroups.com.

Reply via email to