Slashdot Mirror


Google Releases Open Source 'Guetzli' JPEG Encoder (betanews.com)

BrianFagioli writes: Today, Google released yet another open source project. Called "Guetzli," it is a JPEG encoder that aims to produce even smaller image file sizes. In fact, the search giant claims a whopping 35 percent improvement over existing JPEG compression. If you are wondering why smaller file sizes are important, it is quite simple -- the web. If websites can embed smaller images, users can experience faster load times while using less data. While Google didn't aim to improve JPEG image quality with Guetzli, it seems it has arguably done so. It is subjective, but the search giant surveyed human beings and found they preferred Google's open source offering 75 percent of the time. Smaller file sizes and better image quality? Wow! Google has done something amazing here.

8 of 83 comments (clear)

  1. Know how else users can get faster load times? by Red_Chaos1 · · Score: 5, Insightful

    By websites not have 20 tracking pixel GIFs, 50 different ad servers, 5 different CDNs, 10 tracking servers, and a partridge in a pear tree. Websites are built fucking stupid these days, too much shit relies on too many other sources to work correctly and if even one doesn't respond in a timely manner, the whole thing stalls.

  2. Re:Will probably also be useful for video keyframe by cheater512 · · Score: 5, Interesting

    Until you read the bit about it needing 300mb of ram per megapixel of input data.

    I don't think we'll see any hardware encoders being able to implement the algorithm any time soon.
    And certainly not running in realtime on a CPU.

  3. Weak statistics by manu0601 · · Score: 3, Insightful

    the search giant surveyed human beings and found they preferred Google's open source offering 75 percent of the time.

    How many human being? It is in the research paper:

    23 raters participated in our experiment.

    Statistics on 23 persons seems rather weak.

    1. Re:Weak statistics by radarskiy · · Score: 5, Informative

      At a 95% confidence level, a sample of 23 will give you a range of +/-18% on that 75% result (57%-93%). At 99% confidence level, the range is +/-23%. We can be pretty confident that more will prefer the Google result than not.

  4. Re:BFD by tlhIngan · · Score: 4, Informative

    Last time I checked JavaScript was transferred in character format, not binary

    You can send it as binary - use HTTP compression. I believe most webservers support it as do webbrowsers, so the javascript file is compressed and the compressed binary is sent over the wires, and the web browser will decompress the blob back to the original javascript.

  5. Guetzli means Cookie in Swiss German by Anonymous Coward · · Score: 5, Informative

    Just so you know

  6. Re: survey by Sivaraj · · Score: 4, Informative

    I don't know what the survey compared it to. But I did a quick test with the same result.

    Source: https://en.wikipedia.org/wiki/... (a resized version was used)

    Input Image: ../zayapa.jpg JPEG 1608x949 1608x949+0+0 8-bit sRGB 1.097MB 0.000u 0:00.000
    Output Image: zayapa.jpg[1] JPEG 1608x949 1608x949+0+0 8-bit sRGB 641KB 0.000u 0:00.000

    Only "gotcha" is:

    $ time guetzli ../zayapa.jpg zayapa.jpg

    real 5m39.725s
    user 5m35.340s
    sys 0m4.188s

    It is a relatively low-end Pentium processor, but still over 5 minutes to compress a 1MB image is too high.

  7. Not impressed by Waccoon · · Score: 3, Informative

    I just gave this thing a try on a Win7 x64 box on a Core i5 3770K @ 3.4 GHz, and the results are... interesting, but not in a good way.

    First, I tried to explicitly use a quality level of 78% to test it against some low-quality images, and the program immediately yelled at me that if I want to use a setting below 84%, I need to modify the source code and recompile. WTF? Do we really need idiot-proofing of command-line utilities, too? Second, I found out that setting a quality of 88% actually sets the quality much higher than 90%, resulting in huge, HQ files. I have no idea how they determine the quality from the command-line flags as I haven't looked at the source, but apparently this program is pretty buggy. Unsurprisingly, like most programs these days, Guetzli only utilizes one CPU core, so it will be slow, but at least it won't lock up your machine while it works.

    Anyway, compared to the default Photoshop "save for web" feature, this program makes files about the same filesize, but takes about 200-300x as long (roughly 1.5 minutes for Guetzli compared to less than a second for Photoshop). All my test images were between 0.5 to 1.0 megapixel, and consisted of gradient shaded cartoons and a few shaded pencil drawings, which normally show horrible artifacts and are difficult to compress well. For the images I used at 90% quality, there's apparently no real advantage. I couldn't get the quality settings in Guetzli to work correctly, so I did the runs with Google's tool first, then made comparable images with Photoshop to match the quality. File size differences were less than 10%. I did find that that Guetzli prioritizes chroma over luminance, so strong colors have fewer artifacts, but base colors and B&W patches have more artifacts and are blurrier. The net quality is about the same overall, so this tool is disappointing. If you're going to use this utility, it's best reserved for highly saturated pictures, but overall I didn't see any gains in compression.

    If you're looking for serious gains in compression, you're better off using PNGOut by Ken Silverman to crush PNG files. It's usually not worth trying to get more compression out of JPEG files over a utility like Photoshop, Irfanview, or ImageMagick. Even JPEGTran never gave me any significant gains over Photoshop's JPEG routines.