What is JPEG XL?
JPEG XL (ISO/IEC 18181) is an open-source file format for raster-graphics that is effective for lossy and lossless compression. It is designed for responsive web environments, to display content across various devices.
Jyrki Alakuijala, Jon Sneyers and Luca Versari are among notable names that contributed towards the creation of this file format. Its development began in 2017, with the need a for a modern format based on the legacy JPEG format that could progressively render images for a more responsive experience.
JPEG XL combines Google’s PIK and Cloudbinary’s FUIF technology and the format was standardized in October of 2021, making it one the newer image formats. The forward looking image format has an adaptable framework, which allows for seamless integration of new features and functionalities.
The filename extension commonly associated with JPEG XL is: .jxl
What does JPEG XL stand for?
JPEG XL stands for Joint Photographic Experts Group Extra-Large, an acronym derived from the legacy JPEG format.
What are the benefits of JPEG XL?
JPEG XL is one of the newer formats, so it is more effective in lossless transcoding compared to previous formats such as WebP and JPEG. You can convert JPEG images to JPEG XL without seeing additional artifacts, not compromising image quality.
The format enhances user experience by constantly improving image quality with incoming data, something valuable for low-bandwidth scenarios. JPEG XL provides features such as alpha channel and animated images.
It also provides progressive decoding which adds more details to images as the data comes in. While JPEG XL works well on low bitrates, it performs best at high bitrates where degradation is low.
Comparing JPEG XL
When comparing with other formats we observed that JPEG XL provides higher compression efficiency while also providing support for transcoding older JPEG files effectively, something that many other formats cannot do.
Older codecs like JPEG use YCbCr colour space for chroma subsampling, which was originally designed for analogue televisions. JPEG XL, however, uses an LMS based colour space called XYB.
Does Java support JPEG XL?
You can read JPEG XL images in Java with JDeli.
Are you a Java Developer working with Image files?
// Read an image
BufferedImage bufferedImage = JDeli.read(dicomImageFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(heicImageFile);
// Write an image
JDeli.write(bufferedImage, "heic", outputStreamOrFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(jpegImageFile);
// Write an image
JDeli.write(bufferedImage, "jpeg", outputStreamOrFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(jpeg2000ImageFile);
// Write an image
JDeli.write(bufferedImage, "jpx", outputStreamOrFile);
// Write an image
JDeli.write(bufferedImage, "pdf", outputStreamOrFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(pngImageFile);
// Write an image
JDeli.write(bufferedImage, "png", outputStreamOrFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(tiffImageFile);
// Write an image
JDeli.write(bufferedImage, "tiff", outputStreamOrFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(webpImageFile);
// Write an image
JDeli.write(bufferedImage, "webp", outputStreamOrFile);
Why do developers choose JDeli over free alternatives?
- Works with newer image formats such as AVIF, HEIC, JPEG XL, WEBP
- Better support than alternatives for JPEG, PNG, TIFF.
- Prevent JVM crashes caused by native code in other image libraries
- Better performance than other popular Java image libraries