# Announcing Guetzli: A New Open Source JPEG Encoder



## Canon Rumors Guy (Mar 17, 2017)

```
<div class="post-header">
<div class="published"><strong>From Google:</strong></div>
<div class="published">
<p><em><span class="byline-author">Posted by Robert Obryk and Jyrki Alakuijala, Software Engineers, Google Research Europe</span></em></p>
<p>At Google, we care about giving users the best possible online experience, both through our own services and products and by contributing new tools and industry standards for use by the online community. That’s why we’re excited to announce <a href="https://github.com/google/guetzli/">Guetzli</a>, <a href="http://arxiv.org/abs/1703.04421">a new open source algorithm</a> that creates high quality JPEG images with file sizes 35% smaller than currently available methods, enabling webmasters to create webpages that can load faster and use even less data.</p>
<p>Guetzli [guɛtsli] — <i>cookie</i> in Swiss German — is a JPEG encoder for digital images and web graphics that can enable faster online experiences by producing smaller JPEG files while still maintaining compatibility with existing browsers, image processing applications and the JPEG standard. From the practical viewpoint this is very similar to our <a href="https://github.com/google/zopfli">Zopfli</a> algorithm, which produces smaller <a href="https://en.wikipedia.org/wiki/Portable_Network_Graphics">PNG</a> and <a href="https://en.wikipedia.org/wiki/Gzip">gzip</a> files without needing to introduce a new format, and different than the techniques used in <a href="https://research.googleblog.com/2016/09/image-compression-with-neural-networks.html">RNN-based image compression</a>, <a href="https://blog.google/products/google-plus/saving-you-bandwidth-through-machine-learning/">RAISR</a>, and <a href="https://developers.google.com/speed/webp/">WebP</a>, which all need client and ecosystem changes for compression gains at internet scale.</p>
<p>The visual quality of JPEG images is directly correlated to its multi-stage compression process: <a href="https://en.wikipedia.org/wiki/YUV">color space transform</a>, <a href="https://en.wikipedia.org/wiki/Discrete_cosine_transform">discrete cosine transform</a>, and <a href="https://en.wikipedia.org/wiki/Quantization_(image_processing)">quantization</a>. Guetzli specifically targets the quantization stage in which the more visual quality loss is introduced, the smaller the resulting file. Guetzli strikes a balance between minimal loss and file size by employing a search algorithm that tries to overcome the difference between the <a href="https://en.wikipedia.org/wiki/Human_visual_system_model">psychovisual</a> modeling of JPEG’s format, and <a href="https://github.com/google/butteraugli">Guetzli’s psychovisual model</a>, which approximates color perception and visual masking in a more thorough and detailed way than what is achievable by simpler color transforms and the discrete cosine transform. However, while Guetzli creates smaller image file sizes, the tradeoff is that these search algorithms take significantly longer to create compressed images than currently available methods.</p>
<table class="tr-caption-container" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td><em><a href="http://www.canonrumors.com/wp-content/uploads/2017/03/image00.png"><img class="aligncenter size-full wp-image-28777" src="http://www.canonrumors.com/wp-content/uploads/2017/03/image00.png" alt="" width="480" height="160" /></a></em></td>
</tr>
<tr>
<td class="tr-caption"><em>Figure 1. 16×16 pixel synthetic example of a phone line hanging against a blue sky — traditionally a case where JPEG compression algorithms suffer from artifacts. Uncompressed original is on the left. Guetzli (on the right) shows less ringing artefacts than libjpeg (middle) and has a smaller file size.</em></td>
</tr>
</tbody>
</table>
<p>And while Guetzli produces smaller image file sizes without sacrificing quality, we additionally found that in <a href="http://arxiv.org/abs/1703.04416">experiments</a> where compressed image file sizes are kept constant that human raters consistently preferred the images Guetzli produced over libjpeg images, even when the libjpeg files were the same size or even slightly larger. We think this makes the slower compression a worthy tradeoff.</p>
<table class="tr-caption-container" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td><a href="http://www.canonrumors.com/wp-content/uploads/2017/03/image01.png"><img class="aligncenter size-full wp-image-28778" src="http://www.canonrumors.com/wp-content/uploads/2017/03/image01.png" alt="" width="570" height="240" /></a></td>
</tr>
<tr>
<td class="tr-caption"><em>Figure 2. 20×24 pixel zoomed areas from a picture of a cat’s eye. Uncompressed original on the left. Guetzli (on the right) </em><em>shows less ringing artefacts than libjpeg (middle) without requiring a larger file size.</em></td>
</tr>
</tbody>
</table>
<p>It is our hope that webmasters and graphic designers will find Guetzli useful and apply it to their photographic content, making users’ experience smoother on image-heavy websites in addition to reducing load times and bandwidth costs for mobile users. Last, we hope that the new explicitly psychovisual approach in Guetzli will inspire further image and video compression research.</p>
</div>
</div>
<div class="post-body"></div>
<span id="pty_trigger"></span>
```


----------



## AlanF (Mar 17, 2017)

Wow, the first Swiss invention since the cuckoo clock (courtesy of Orson Welles, extemporising in _The Third Man_).


----------



## josephandrews222 (Mar 17, 2017)

I presume this is the sort of thing that can be baked into firmware updates for existing bodies...


----------



## ajfotofilmagem (Mar 17, 2017)

josephandrews222 said:


> I presume this is the sort of thing that can be baked into firmware updates for existing bodies...


Yes, by changing only the camera firmware, it would be possible to add this type of compression more efficiently.


----------



## Zeidora (Mar 17, 2017)

AlanF said:


> Wow, the first Swiss invention since the cuckoo clock (courtesy of Orson Welles, extemporising in _The Third Man_).


Actually, CH has one of the highest per capita rates of patents in the world, well ahead of the US. STM (as in scanning tunneling microscopy) may come to mind as a recent interesting invention.

On another note, I have no idea what google marketing was smoking when coming up with that name. The u-e diphthong is famously unpronounceable by the rest of the world: keyword "Ueli". As a swiss german native speaker I'm mildly amused, of course. Also wonder when that algorithm will be included in standard imaging suites.


----------



## Mt Spokane Photography (Mar 18, 2017)

I downloaded it, but there is nothing as simple as a .exe file for windows, I'll wait for someone to create one. I think the tools are there, but I have no clue as to how to use them.


----------



## Brymills (Mar 18, 2017)

I guess as this is Google it will enable them to embed adverts in every image generated by it?


----------



## LDS (Mar 18, 2017)

josephandrews222 said:


> I presume this is the sort of thing that can be baked into firmware updates for existing bodies...



AFAIK, it's very processing intensive. It was designed to save space, at the price of requiring more processing to calculate the optimal output. IMHO, not the right algorithm to quickly process and write images while shooting. See https://arxiv.org/abs/1703.04421.


----------



## PavelR (Mar 18, 2017)

Mt Spokane Photography said:


> I downloaded it, but there is nothing as simple as a .exe file for windows, I'll wait for someone to create one. I think the tools are there, but I have no clue as to how to use them.


There is: https://github.com/google/guetzli/releases/download/v1.0/guetzli_windows_x86-64.exe - needs only two parameters: input and output file.
But the first photo I've tried to convert and the result:
produced bigger and less contrast/sharp image (consuming lots of CPU the long time [about 2 minutes]) than 95% qulity jpeg from http://www.faststone.org/FSViewerDetail.htm
File sizes (Source 729x1080pixels, 24bit png 2 366 945B):
FSV-95 jpg│ 174 516B
FSV-89 jpg│ 103 234B
guetzli jpg│ 207 239B


----------

