Live data from Hacker News

Guetzli: A New Open-Source JPEG Encoder

research.googleblog.com

1–10 of 135 posts

Re: Guetzli: A New Open-Source JPEG Encoder

#4
post #2

Cool, but neither the article nor the paper ( https://arxiv.org/pdf/1703.04416.pdf ) mention just how much slower it is.

It's about 1 MPixel / minute on a typical desktop. The other paper mentions that it's extremely slow, but truly we did forget to give actual numbers there.

Re: Guetzli: A New Open-Source JPEG Encoder

#6
I'll run some of my own experiments on this today, but I'm initially concerned about color muting.

Specifically looking at the cat's eye example, in the bottom of the pupil area there's a bit of green (reflection?) in the lower pupil. In the original it is #293623 (green) - in the libjpeg it is #2E3230 (still green, slightly muted). But in the Guetzil encoded image it is #362C35 - still slightly green but quite close to grey.

In my experience people love to see colors "pop" in photos (and photography is where JPEG excels) - hopefully this is just an outlier and the majority of compressions with this tool don't lose color like this.

Re: Guetzli: A New Open-Source JPEG Encoder

#7

Very cool. I'm not an expert, but does JPEG generally have a ton of flexibility in compression? Why so much difference in sizes?

Three main methods:

1) YUV420 vs YUV444. Guetzli practically always goes for YUV444.

2) Choosing quantization matrices.

3) After normal quantization, choose even more zeros. JPEG encodes zeros very efficiently.

When doing the above, increase the errors where it matters least (certain RGB values hide errors in certain components, and certain types of visual noise hides other kind of noise).

Re: Guetzli: A New Open-Source JPEG Encoder

#8

Very cool. I'm not an expert, but does JPEG generally have a ton of flexibility in compression? Why so much difference in sizes?

The more bits you're willing to lose during quantization, the more zeroes the resulting bitstream will have, the better it will compress.

The more bits you lose during quantization, the more ringing and artifacts you can expect after the IDCT process.

So the tradeoff is quite literally artifacts for smaller size.

this compressor seems to be cleverer about where to lose data than libjpeg.

Re: Guetzli: A New Open-Source JPEG Encoder

#9

I'll run some of my own experiments on this today, but I'm initially concerned about color muting. Specifically looking at the cat's eye example, in the bottom of the pupil area there's a bit of green (reflection?) in the lower pupil. In the original it is #293623 (green) - in the libjpeg it is #2E3230 (still green, slightly muted). But in the Guetzil encoded image it is #362C35 - still slightly green but quite close…

In general if you want to avoid any color changes in blobs a few pixels in size, you’ll want to take it easy on the compression, and take the hit of a larger file size in trade.

I suspect that if you give this algorithm twice the file size as a budget, that green color will come back.

Post reply on HN