Author Archives:

Journey to JPEG XL: How open source experiments shaped the future of image coding

Building the Next Generation Image Standard

The internet runs on images. Since the early days of the web, there has been a relentless tension between visual fidelity and bandwidth. For decades, the industry relied on the venerable JPEG standard for images loading fast. It served us remarkably well, but as displays moved to High Dynamic Range (HDR) and Wide Color Gamut (WCG), the format began to show its limits.

The road to JPEG XL (JXL) wasn't a straight line. It was a decade-long exploration, creating a series of milestone projects testing radical ideas in psychovisual modeling, entropy coding, and optimization. Today, as JPEG XL sees rapid adoption across operating systems and professional standards, we’re looking back at the experiments that made it possible.


The Early Foundation: 2011–2017

Our study began with a focus on understanding the limits of existing technology. We didn't start by trying to write a new standard; we started by trying to make the current ones better, and learning their limitations. This allowed us to make the new formalism more flexible and efficient in the right places.

  • WebP Lossless and Brotli: Lossy WebP drew its lineage from video technology, the WebP Lossless (2011) represented an architectural and scoping departure. We debuted the entropy image concept, an innovative method utilizing a secondary image to orchestrate the selection of static entropy codes for the primary visual data. We reapplied this approach later with data-driven context modeling in the Brotli compression format, enabling rich context modeling without slowing decoding.
  • Butteraugli: Around 2014, we realized that raw mathematical compression (PSNR) wasn't enough, and simple psychovisual approximations (SSIM and similar) failed in color-rich environments. We built Butteraugli and the XYB color space to mimic the human visual system's edge detection and opponent-color processes in varying scale, allowing us to compress images more effectively.
  • We pushed the legacy JPEG 1 standard (ISO/IEC 10918, introduced in 1992) to its absolute limits through two key projects: Guetzli and Brunsli. These initiatives provided invaluable insights into the strengths and limitations of traditional JPEG compression methods. Guetzli (2016) is a slow high-density perceptual encoder that used Butteraugli to find the optimal quantization tables, pushing legacy JPEGs to be 20-30% smaller. Brunsli (2015) meanwhile, focuses on lossless recompression, allowing users to repack existing JPEGs into a smaller footprint without losing a single bit of original data. After finishing with JPEG XL standardization, we returned to Guetzli's scope in 2024 and made the encoding much faster and HDR-compatible in Jpegli.

The feedback from these launches, ranging from the technical details of WebP Lossless to the psychovisual audits of Guetzli, proved indispensable. While we already targeted the highest visual fidelity, feedback from detail-critical e-commerce helped us to refine the requirements.


The Convergence: 2017–2019 PIK Era and the 2019 FUIF Integration

By 2017 we had powerful separate tools and it was time to fuse them. In open sourcing PIK we combined the efficiency of Brunsli with the psychovisual optimizations of Guetzli. Further, PIK introduced a real adaptive quantization field and other optimizations. PIK formed our proposal to the ISO standardization body. The committee's final call for proposals pushed toward extreme density, requiring bit rates as low as 0.06 BPP, equivalent to 35 times the compression of internet-quality images and 80 times that of camera output. This expansion of scope necessitated a significant complexification of the format and the encoder, leading to the Variable-block-size Discrete Cosine Transform (VarDCT) architecture that remains central to JPEG XL today.

We proposed to merge our PIK proposal with the FUIF (Free Universal Image Format) proposal from Cloudinary. PIK used Brotli-style distribution selection at encoding time, while FUIF refined codes incrementally during decoding. The final JPEG XL standard became a best-of-both-worlds compromise: we used PIK's faster-to-decode distribution selection with FUIF's sophisticated context trees. The merger represented a departure from conventional one platform driven standardization, and prioritized technical synergy and collaboration.

A flowchart titled 'Building Blocks of the JPEG XL Standard' showing a left-to-right progression across three periods. The first period, 'Early Building Blocks (2011-2017)', contains four boxes: WebP Lossless & Brotli, Butteraugli & XYB, Guetzli, and Brunsli. Arrows point from these early technologies into the second period, 'The Convergence (2017-2019)', which consists of two main boxes: PIK and FUIF. Finally, multiple lines flow from both PIK and FUIF, converging into the third period, 'Final Standard'. This final section features a large orange box labeled 'JXL: JPEG XL Standard', which is described as merging PIK's distribution selection with FUIF's context trees.

JPEG XL Today: An Ecosystem Takes Root

JPEG XL's efficiency, psychovisually-optimized quality, file size, and coding speed, are being noticed. We are seeing bottom-up adoption in various industries, the most demanding fields are leading the way. Because of its ability to handle high bit-depth, high quality and even lossless data efficiently and robustly, JPEG XL has become foundational in several fields:

  • Photography: Used in Digital Negative (DNG 1.7), Apple's ProRAW, and others.
  • Medical: Adopted by DICOM, the international standard for medical images.
  • Publishing: Integration into future versions of the PDF and EPUB standards.

The ecosystem has been maturing rapidly. Adobe's photography software, Apple's iOS, macOS, and visionOS have native support, as do Linux distributions like Ubuntu and Microsoft's JPEG XL Image Extension for Windows. Our libjxl-tiny inspired Shikino High-Tech, Inc. and CAST to release the first commercial JPEG XL encoder IP core for ASIC and FPGA designs, aimed at real-time, low-power image capture. Safari (2023) led among major browsers, while Firefox and Chrome currently maintain experimental support.

Two men in a bright office collaborating at a whiteboard. The board contains a hand-drawn flowchart titled 'VARDCT BLOCK JOINING STRATEGY'. The diagram illustrates small square blocks combining into larger patterned rectangles, connected by arrows. Text labels in the flowchart include 'Decision Logic: Rate-Distortion Cost', 'Merging Criteria', 'Entropy Coding Efficiency', 'Neighboring Blocks', and 'Variable Block Sizes'. The man on the left is pointing to the bottom left of the diagram, while the man on the right, who has long hair and a beard, is writing a mathematical equation on the board with a marker.
JPEG XL design was not only countless hours of optimization, experimentation and eye-balling the results, but also creative discussions at a whiteboard. In this Gemini-reconstructed scene, Luca Versari and Jyrki Alakuijala (left-to-right) debate VarDCT block selection heuristics.

Looking Forward

The story of JPEG XL stands as a testament to the efficacy of long-horizon planning validated by intermediate functional milestones—with minimum-viable prototypes like Guetzli and practical tools like Brunsli and Brotli—that invite feedback from the open-source community. A small research team can innovate by crystallizing solutions through quick iterations, with thousands, if not tens of thousands, of experiments in psychovisual modeling, entropy, coding speed and complexity, and the entire industry can eventually navigate toward a more efficient, beautiful future.

We started by trying to squeeze a few more bytes out of a 1992 JPEG 1 standard; with JPEG XL we hope to have established a foundation for digital imaging that can last for the next three decades.

This entry was posted in Uncategorized on by .

Quickly scan multiple pages in Google Drive on Android

Tired of scanning one page at a time? With the new Document Scanner in Google Drive on Android, you can now scan multiple pages at the same time. Flip through the pages of a book or lay your receipts out on a table and our Document Scanner will identify, separate, and capture each page within the camera view. It even detects duplicates to prevent accidental re-scans.

Note this is only available for Android devices with 8GB+ RAM.

New multi-page scanning with Android Document Scanner

Getting started

Rollout pace

Availability

  • Available to all Google Workspace customers, Workspace Individual subscribers, and users with personal Google accounts

Resources

This entry was posted in Uncategorized on by .

Long Term Support Channel Update for ChromeOS

A new LTS-144  version 144.0.7559.254(Platform Version: 16503.86.0), is being rolled out for most ChromeOS devices. 


This version includes selected security fixes including:


501576946 High CVE-2026-9934: Use after free in Aura.

491685406 High CVE-2026-9895: Out of bounds read in GPU.

511776372 High CVE-2026-9980: Insufficient validation of untrusted input in Printing.

513730012 High CVE-2026-10004: Insufficient validation of untrusted input in Passwords.

514715455 High CVE-2026-10013: Use after free in WebCodecs.

507707838 High CVE-2026-9894: Use after free in GPU.

513177826 High CVE-2026-9992: Use after free in Network.

498205735 High CVE-2026-9902: Use after free in Accessibility.

478560268 High CVE-2026-2314: Heap buffer overflow in Codecs.

499119490 High CVE-2026-7351: Race in MHTML.

511249104 Critical CVE-2026-9887: Use after free in Proxy.

507365348 Critical CVE-2026-9873: Use after free in Network.

491080830 Medium CVE-2026-4462: Out of bounds read in Blink.

513505927 High CVE-2026-10001: Use after free in PerformanceManager.

513508128 Critical CVE-2026-9891: Use after free in Extensions.

Release notes for LTS-144 can be found here 

Want to know more about Long-term Support? Click here

Andy Wu

Google Chrome OS


This entry was posted in Uncategorized on by .

Enhanced data protection for managed third-party apps

Previously, data transfers from corporate Google Workspace accounts to third-party apps were restricted. We’re now recalibrating these restrictions to allow for a "trusted ecosystem" between managed apps.

With this release, users are now able to maintain efficient workflows and securely move data between corporate Workspace accounts and other authorized, managed third-party applications without being blocked. For added data protection, this capability strictly prevents the transfer of that data to personal accounts within the same managed Google application or to unmanaged personal apps.

For example, a user is able to copy a client's email address from their corporate Gmail account and successfully paste it into a managed third-party CRM application. When they try to paste that same email address into their personal Gmail account, they are blocked and receive the following message: "This information can only be shared within your organization's Google Workspace apps.”

Getting started

  • End users: There is no end-user setting for this feature.

Rollout pace

Availability

  • Enterprise: Enterprise Standard and Plus
  • Education: Education Standard and Plus
  • Other Editions: Frontline Standard; Enterprise Essentials Plus; Cloud Identity Premium

Resources

This entry was posted in Uncategorized on by .

Chrome Beta for Desktop Update

The Chrome team is excited to announce the promotion of Chrome 150 to the Beta channel for Windows, Mac and Linux. Chrome 150.0.7871.4 contains our usual under-the-hood performance and stability tweaks, but there are also some cool new features to explore - please head to the Chromium blog to learn more!

A partial list of changes is available in the Git log. Interested in switching release channels? Find out how. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.

Chrome Release Team
Google Chrome

This entry was posted in Uncategorized on by .

Extended Stable Updates for Desktop

 The Extended Stable channel has been updated to 148.0.7778.254 for Windows and Mac which will roll out over the coming days/weeks.


A full list of changes in this build is available in the log. Interested in switching release channels? Find out how here. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.

Srinivas Sista
Google Chrome
This entry was posted in Uncategorized on by .