Jpeg XL

New Jpeg compression out in the wilds now. Wonder if something like this is on the blender development radar?

3 times smaller with better performance supposedly.
12 bit , Alpha channel, etc.

https://www.redsharknews.com/technology/item/6352-finally,-a-true-replacement-for-jpeg

3 Likes

this sounds interesting, I had completely lost this news …
are there any cons?
we need new hardware?

I missed this as well. I was wondering when we were going to start seeing some mainstream 12bit image formats in the wild. It’d be cool to start seeing HDR renders in the gallery. I browse on an HDR capable phone with very little media to feed it. :slight_smile:

1 Like

I’m on the lossless compression side. PNG forever! :fist::slightly_smiling_face:

2 Likes

I here ya there. I prefer PNG for web, especially with my trusty PNGGuantlet. Though I think (and I could be wrong) that Discource converts PNGs to JPGs. Honestly don’t remember why I think that. Haha

2 Likes

Hey, cool, didn’t know PNG Gauntlet yet, thanks for the tip.

I also noticed that Discourse auto-converts PNGs to JPG. I guess it’s implemented to save server storage space and decrease data traffic.

I don’t think there are cons as needing new hardware. I’m pretty sure it’s just a more efficient algorithm for compression.

JPEG XL supports lossless compression which is significantly smaller than PNG and supports partial decodings with 1/2, 1/4, 1/8 and 1/16 resolution, so if you’re rendering in 8K you can open the file on a 1080p device and it stops reading after it got enough data to display the file in full resolution on the display.

When you zoom in, additionally data can be read from the file, to get more resolution.

The format also supports up to 32 bit floating point colors per channel as well as alpha channel on lossy files.

It can import a already existing regular JPG file and retain the compression without transcoding it, but still maintain new features like progressive decodings as well as alpha channels.

To maintain backward compatibility a file can be converted back to regular JPG files on the fly, which can be important in the first time of transition, if a webserver is serving a file to a browser which cannot decode JPG XL.

The main goal of JPEG XL was to eliminate any needs for additionally file types, so you’re able to store raw video files for example in this format or raw pictures as well as HDR.

You can also store more than just RGB channels and transparency, it can handle any number of channels required, so CMYKA or CMYKA+depth with a depth channel in a different resolution is possible. Also it can handle different bit depths per channel.

And as a bonus JPEG XL even supports images with repetition, like characters of a text and can store for example a fax very very space efficient with references, similar to JBIG2.

4 Likes

Supporting JPEG XL in Blender will certainly happen thanks to OpenImageIO. I’m not sure about the current state of their JPEG XL support, but there seems to be decent activity on that front.

Here is Peter Kovář 's PR for supporting JPEG XL in Blender:

2 Likes