TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Guetzli JPEG encoder

81 pointsby josephscottover 8 years ago

10 comments

pornelover 8 years ago
The main innovation here is using advanced simulation of how humans perceive distortions (<a href="https:&#x2F;&#x2F;github.com&#x2F;google&#x2F;butteraugli" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;google&#x2F;butteraugli</a>) and optimizing to that. In principle JPEG was always about removing details humans can&#x27;t see, but in practice encoders used rough approximations and fixed quality settings. This one goes all-in on accurate measurement and tuning quality settings per image automatically.<p>In lossy compression quality setting affects file size much more than choice of image format (e.g. there&#x27;s 15-30% difference in best quality&#x2F;filesize between old codecs like JPEG&#x2F;J2K&#x2F;VP8&#x2F;JXR, but within each codec&#x27;s settings range the file size can vary by 300%), so having a codec that picks the lowest good-enough quality is very useful.<p>Compared to MozJPEG:<p>- it&#x27;s tuned for higher-quality images (butteraugli is said to be best for q=90+, MozJPEG&#x27;s sweet spot is around q=75)<p>- it&#x27;s much slower to compress (both produce standard JPEGs, so decoding is fast as usual)<p>- MozJPEG doesn&#x27;t automagically pick quality setting, but you can find optimal quality using an external tool, e.g. <a href="https:&#x2F;&#x2F;github.com&#x2F;danielgtaylor&#x2F;jpeg-archive" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;danielgtaylor&#x2F;jpeg-archive</a>
评论 #13382140 未加载
评论 #13381649 未加载
mrobover 8 years ago
I tried it with my favorite test image: <a href="https:&#x2F;&#x2F;commons.wikimedia.org&#x2F;wiki&#x2F;File%3ARicardo_Quaresma_%28L%29%2C_Pablo_Zabaleta_%28R%29_%E2%80%93_Portugal_vs._Argentina%2C_9th_February_2011.jpg" rel="nofollow">https:&#x2F;&#x2F;commons.wikimedia.org&#x2F;wiki&#x2F;File%3ARicardo_Quaresma_%...</a> downsampled to 1280x853 in ImageMagick.<p>This image is difficult for lossy compressors, because it contains some very unusual chroma signal, with the red dots on the green stripe on the red shirt. Mozjpeg does a slightly better job of preserving the dots at the almost same bitrate (as close as I can get to Guetzli quality 90), but only if you manually specify full chroma resolution. Guetzli does not allow manually choosing the chroma resolution but at least it does not totally destroy the dots by default like Mozjpeg does.
评论 #13386546 未加载
muhblahover 8 years ago
I&#x27;m pretty sure this encoder is written by a Google employee based in Zurich, like me (but I don&#x27;t work for Google) ;D
评论 #13380824 未加载
评论 #13380782 未加载
KayLover 8 years ago
<a href="http:&#x2F;&#x2F;encode.ru&#x2F;threads&#x2F;2628-Guetzli-a-new-more-psychovisual-JPEG-encoder" rel="nofollow">http:&#x2F;&#x2F;encode.ru&#x2F;threads&#x2F;2628-Guetzli-a-new-more-psychovisua...</a><p>It seems the authors will explain the details behind soon.
Roritharrover 8 years ago
It would be really nice if there were comparison images linked in the readme so we could examine them before testing the claim ourselves.
_nalplyover 8 years ago
I always laugh about these names. They sound so funny:<p>Butteräugli = little butter eye<p>Brötli = little bread roll<p>Zöpfli = little plaited buttery bread<p>Gipfeli = little croissant<p>Güetzli = little home-made cookie<p>And they even look more funny without the umlauts. They seem a little bit broken without them. Therefore:<p>Brotli = little bread roll but slightly damaged<p>Zopfli = little plaited buttery bread but slightly damaged<p>and so on. But this is only my personal impression.
ksecover 8 years ago
It is amazing how much more quality improvement we can extract from an decade old codec. In video codec timeline, Jpeg is like in the era of Mpeg-1. And we have Mpeg-2, Mpeg 4 ( Divx &#x2F; Xvid ), Mpeg 4 AVC, and now HEVC.<p>I really wish .bpg takes off. But with all the patents issues It seems nothing much is happening.
评论 #13384536 未加载
rasz_plover 8 years ago
does it build custom quantization tables? quick look at the code says no :&#x2F;
gcpover 8 years ago
How does it compare to mozjpeg?<p>(And, haha, WebP)
评论 #13381266 未加载
chinathrowover 8 years ago
Take note, this is from Google so they will use it for PageSpeed calculation.