Английская Википедия:Guetzli

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Short description Шаблон:For Шаблон:Infobox software Guetzli is a freely licensed JPEG encoder that Jyrki Alakuijala, Robert Obryk, and Zoltán Szabadka have developed in Google's 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,[1] in line with the names of other compression technology from Google.[2][3]

Operation

Guetzli optimizes the quantization step of encoding to achieve compression efficiency. It constructs custom quantization tables for each file, decides on color subsampling,[4] 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.[5]

Guetzli is resource-intensive, requiring orders of magnitude more processing time and random-access memory than other JPEG encoders.[6] Guetzli supports only the top of JPEG's quality range (quantizer settings 84–100)[7][8] and supports only sequential (non-"progressive") encoding. Guetzli is more effective with bigger files.[8] Google says it is a demonstration of the potential of psychovisual optimizations, intended to motivate further research into future JPEG encoders.[2] Two tests found that Guetzli is very slow (about 4 magnitudes slower than normal JPEG encoder) and not necessarily better than mozjpeg.[7][9]

Butteraugli

Butteraugli is a project that estimates the psychovisual similarity of two images. It assigns a differential mean opinion score (DMOS) value to the difference between an original image and a degraded version. It is significantly more complex than traditional metrics like PSNR and SSIM, but claimed to perform better with high-end quality, where degradations are not or barely noticeable.[10] 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.[11] It uses a heat map of changes.[5] How the hundreds of parameters that model the properties of the human visual system were derived remains unexplained.[1] 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-turbo encodes,[12] which usually score higher on SSIM and PSNR-HVS-M.[13][14]

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.[15]

Availability

Guetzli is a command-line app. Written in C++,[16] it is free and open-source under the terms of Apache License 2.0. Windows, macOS, and Linux versions of Guetzli are directly available from Google's repository on GitHub. The first public version was released on October 21, 2016, without any speed optimizations,[17] and only announced on a specialist forum.[18][13] Version 1.0 followed five months later on March 15, 2017,[19] accompanied by an announcement to a broader public and two scientific papers.[20][12][21]

In addition to official release channel, openSUSE and Debian distribute it via their official software repositories.[22][23][24] (For Arch Linux, there are user repositories available.)[25][26] The Homebrew repository distributes a macOS version.[17] For the Windows platform, two open-source GUI front-ends are available.[27][28]

Software developers that use Node.js can integrate Guetzli in their apps via a package available on the npm repository.[29]

References

Шаблон:Reflist

External links

Шаблон:Google FOSS

  1. 1,0 1,1 Ошибка цитирования Неверный тег <ref>; для сносок arstechnica20170317 не указан текст
  2. 2,0 2,1 Ошибка цитирования Неверный тег <ref>; для сносок watson.ch не указан текст
  3. Ошибка цитирования Неверный тег <ref>; для сносок names не указан текст
  4. Ошибка цитирования Неверный тег <ref>; для сносок INpact не указан текст
  5. 5,0 5,1 Ошибка цитирования Неверный тег <ref>; для сносок SimAnneal не указан текст
  6. Ошибка цитирования Неверный тег <ref>; для сносок chip.de не указан текст
  7. 7,0 7,1 Ошибка цитирования Неверный тег <ref>; для сносок davidwalsh.name не указан текст
  8. 8,0 8,1 Ошибка цитирования Неверный тег <ref>; для сносок images.guide не указан текст
  9. Ошибка цитирования Неверный тег <ref>; для сносок pixelz не указан текст
  10. Ошибка цитирования Неверный тег <ref>; для сносок IO2016 не указан текст
  11. Ошибка цитирования Неверный тег <ref>; для сносок Designmodo не указан текст
  12. 12,0 12,1 Ошибка цитирования Неверный тег <ref>; для сносок Alakuijala20170313-1 не указан текст
  13. 13,0 13,1 Ошибка цитирования Неверный тег <ref>; для сносок encode.ru не указан текст
  14. Ошибка цитирования Неверный тег <ref>; для сносок score reversal не указан текст
  15. Ошибка цитирования Неверный тег <ref>; для сносок Mehlstaub не указан текст
  16. Ошибка цитирования Неверный тег <ref>; для сносок openhub не указан текст
  17. 17,0 17,1 Ошибка цитирования Неверный тег <ref>; для сносок macg.co не указан текст
  18. Ошибка цитирования Неверный тег <ref>; для сносок Linux-Magazin не указан текст
  19. Ошибка цитирования Неверный тег <ref>; для сносок history не указан текст
  20. Ошибка цитирования Неверный тег <ref>; для сносок announcement не указан текст
  21. Ошибка цитирования Неверный тег <ref>; для сносок Alakuijala20170313-2 не указан текст
  22. Ошибка цитирования Неверный тег <ref>; для сносок opensuse не указан текст
  23. Ошибка цитирования Неверный тег <ref>; для сносок Debian1 не указан текст
  24. Ошибка цитирования Неверный тег <ref>; для сносок Debian2 не указан текст
  25. Ошибка цитирования Неверный тег <ref>; для сносок AUR1 не указан текст
  26. Ошибка цитирования Неверный тег <ref>; для сносок AUR2 не указан текст
  27. Ошибка цитирования Неверный тег <ref>; для сносок guetzliconverter не указан текст
  28. Ошибка цитирования Неверный тег <ref>; для сносок Guietzli не указан текст
  29. Ошибка цитирования Неверный тег <ref>; для сносок npm не указан текст