Guetzli is a freely licensed
JPEG encoder that Jyrki Alakujala, Robert Obryk, and
Zoltán Szabadka have developed in
Google
Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
's
Zürich
, neighboring_municipalities = Adliswil, Dübendorf, Fällanden, Kilchberg, Maur, Oberengstringen, Opfikon, Regensdorf, Rümlang, Schlieren, Stallikon, Uitikon, Urdorf, Wallisellen, Zollikon
, twintowns = Kunming, San Francisco
Zürich ...
research branch. The encoder seeks to produce significantly smaller files than prior encoders at equivalent quality, albeit at very low speed. It is named after the
Swiss German diminutive expression for
biscuits,
in line with the names of other compression technology from Google.
Operation
Guetzli optimizes the
quantization step of encoding to achieve compression efficiency. It constructs custom quantization tables for each file, decides on
color subsampling,
and quantizes adjacent
DCT coefficients to zero, balancing benefits in the
run-length encoding of coefficients and preservation of perceived image fidelity. Zeroing the right coefficients is the most effective tool in Guetzli, which is used as a makeshift means of spatially adaptive quantization. Guetzli uses Butteraugli (another open-source Google project) to guide compression.
Guetzli is resource-intensive, requiring orders of magnitude more processing time and
random-access memory
Random-access memory (RAM; ) is a form of computer memory that can be read and changed in any order, typically used to store working data and machine code. A random-access memory device allows data items to be read or written in almost the ...
than other JPEG encoders.
Guetzli supports only the top of JPEG's quality range (quantizer settings 84–100)
and supports only sequential (non-"progressive") encoding. Guetzli is more effective with bigger files.
Google says it is a demonstration of the potential of psychovisual optimizations, intended to motivate further research into future JPEG encoders.
Two tests found that Guetzli is very slow (about 4 magnitudes slower than normal JPEG encoder) and not necessarily better than
mozjpeg.
Butteraugli
Butteraugli is a project that estimates the psychovisual similarity of two images. It assigns a differential
mean opinion score Mean opinion score (MOS) is a measure used in the domain of Quality of Experience and telecommunications engineering, representing overall quality of a stimulus or system. It is the arithmetic mean over all individual "values on a predefined scale t ...
(DMOS) value to the difference between an original image and a degraded version. It is significantly more complex than traditional metrics like
PSNR
Peak signal-to-noise ratio (PSNR) is an engineering term for the ratio between the maximum possible power of a Signal (information theory), signal and the power of corrupting noise that affects the fidelity of its representation. Because many sign ...
and
SSIM, but claimed to perform better with high-end quality, where degradations are not or barely noticeable.
It models color perception and visual masking in the human visual system, taking into account that the eye is imaging different colors with different precision.
It uses a
heat map
A heat map (or heatmap) is a data visualization technique that shows magnitude of a phenomenon as color in two dimensions. The variation in color may be by hue or intensity, giving obvious visual cues to the reader about how the phenomenon is c ...
of changes.
How the hundreds of parameters that model the properties of the human visual system were derived remains unexplained.
An in-house performance evaluation with 614 ratings from 23 people on their own test set of 31 images yielded 75% of ratings favouring of JPEGs encoded for Butteraugli scores over
libjpeg
libjpeg is a free library with functions for handling the JPEG image data format. It implements a JPEG codec (encoding and decoding) alongside various utilities for handling JPEG data.
It is written in C and distributed as free software toget ...
-turbo encodes,
which usually score higher on SSIM and PSNR-HVS-M.
Translating to "butter eye", the Swiss-German name originally signifies a dimple on top of some sweet pastry that has been filled with butter and sugar before baking.
Availability
Guetzli is a
command-line
A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
app. Written in
C++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
,
it is
free and open-source under the terms of
Apache License 2.0.
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ser ...
,
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
, and
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
versions of Guetzli are directly available from Google's repository on
GitHub
GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continu ...
. The first public version was released on October 21, 2016, without any speed optimizations,
and only announced on a specialist forum.
Version 1.0 followed five months later on March 15, 2017,
accompanied by an announcement to a broader public and two scientific papers.
In addition to official release channel,
openSUSE
openSUSE () is a free and open source RPM-based Linux distribution developed by the openSUSE project.
The initial release of the community project was a beta version of SUSE Linux 10.0.
Additionally the project creates a variety of tools, s ...
and
Debian distribute it via their official
software repositories.
(For
Arch Linux
Arch Linux () is an independently developed, x86-64 general-purpose Linux distribution that strives to provide the latest stable versions of most software by following a rolling-release model. The default installation is a minimal base system, ...
, there are user repositories available.)
The
Homebrew repository distributes a macOS version.
For the Windows platform, two open-source GUI front-ends are available.
Software developers that use
Node.js can integrate Guetzli in their apps via a package available on the
npm repository.
References
External links
*
*
*
{{Google FOSS
Image compression
Google software
Free software programmed in C++