JPEG compression: Google improves it by 35% with Jpegli

JPEG compression: Google improves it by 35% with Jpegli

The JPEG compression it is a compression method lossy, or with loss of information, used mainly for photographic and graphic images. When talking about data compression, we highlighted the differences between the technique lossy is that lossless: the first sacrifices a part of the information with the aim of reduce file size or, for example, the “weight” of a streaming data flow; the second, however, is the one used to manage file formats such as Zip, RAR, 7-Zip and so on, in which the loss of information is not an option.

The JPEG format (Joint Photographic Experts Group) was developed in 1992 by a working group of the same name. Given the popularity of JPEG files, however, Google shows that there is still room for improvement and almost 32 years later presents an advanced encoding library, Jpegliwhich optimizes the 35% compression ratio without negatively impacting image performance.

What is Jpegli and how does it improve JPEG compression

Google technicians say that Jpegli is new JPEG encoding library designed to be faster and more efficient than the approach used by traditional JPEG. One of the main and most noteworthy aspects is that Jpegli retains maximum backwards compatibility while still offering thoughtful compression settings for high-quality images.

When images are compressed or decompressed with Jpegli, Mountain View experts explain, they will appear clearer and more fewer artifacts observable. While improving the quality/compression ratio of images, the encoding speed of Jpegli is comparable with that of traditional approaches, such as libjpeg-turbo e MozJPEG. This means that web developers can integrate Jpegli into existing applications and workflows without sacrificing performance in coding or memory usage.

10+ bit with Jpegli: what it means

In presenting Jpegli, Google explains that traditional JPEG encoding solutions offer only 8 bits per component. The expression refers to the amount of data used to represent each component (e.g., red, green, blue) of a digital image. The greater the number of bits per component, the greater the color range and precision with which the image can be represented.

Jpegli allows you to use 10 bits or more for each component, allowing for a greater color range and greater fidelity in image representation.

Encoding at 10 bits or higher occurs within the original 8-bit formalism of JPEG. This means that despite the higher number of bits per component, the resulting images are completely interoperable with 8-bit viewers. In this regard the images compressed with Jpegli a 10+ bit they can be displayed correctly even on viewers that only support 8 bits per component, without loss of quality.

Handling 10-bit or larger dynamics is available as an API extension: changes to your application code are required to take advantage of and use this feature.

Reduce noise and improve image quality

Jpegli works using a number of new techniques for reduce noise and improve image quality; mainly adaptive quantization heuristics developed from the reference implementation of JPEG XL, improved selection of quantization matrices, more precise calculation of intermediate results, and the ability to use a more advanced color space.

Jpegli library performance

The performed benchmarks confirm the convincing performance of Jpegli which can effectively compress high quality images 35% more than traditional JPEG codecs. To simplify the comparison of results between codecs and settings, Google explains that it has aggregated all the decisions made by the evaluators using the ELO score, inspired by chess ranking.

Leave a Reply

Your email address will not be published. Required fields are marked *