Zopfli
Zopfli — программное обеспечение для сжатия данных, кодирующее данные в форматы DEFLATE, gzip и zlib. Оно сжимает данные с большим коэффициентом сжатия, чем другие реализации DEFLATE и zlib, но требует значительно больше времени для создания архива[3]. Программное обеспечение было выпущено компанией Google в феврале 2013 года в качестве свободной библиотеки под лицензией Apache версии 2.0[4]. Название Zöpfli является швейцарским диминутивом от слова zopf — названия швейцарского хлеба[5].
Zopfli | |
---|---|
Тип | алгоритм сжатия[d] |
Автор | Лоде Вандевенне и Йюрки Алакуйяла |
Разработчик | |
Написана на | Си |
Операционная система | кроссплатформенность |
Последняя версия | |
Создаваемые форматы файлов | gzip, PNG и Deflate |
Лицензия | Apache License 2.0[2] |
Сайт | github.com/google/zopfli |
Свойства и использование
Zopfli может создавать как чистый поток данных DEFLATE, так и данные DEFLATE, помещённые в форматы gzip или zlib. По умолчанию программа сжимает в 15 итераций, однако может быть настроена на осуществление меньшего или большего числа итераций для соблюдения баланса между временем и коэффициентом сжатия.
При настройках по умолчанию результат работы Zopfli обычно на 3—8 % меньше, чем результат работы zlib с максимальным доступным коэффициентом сжатия, однако сжатие требует примерно в 80 раз больше времени[4][3]. Время распаковки архивов, созданных Zopfli и zlib, практически не различается[6].
В силу значительно более медленного сжатия zopfli менее пригоден для использования для сжатия на ходу и обычно используется для единовременного сжатия статичных данных[7][8]. Это, в частности, истинно для веб-содержимого, передающегося с помощью сжимаемого HTTP на основе DEFLATE, и веб-содержимого в форматах, основанных на DEFLATE, таких как PNG или WOFF[9].
Технология
Большая плотность информации достигается за счёт более полных техник сжатия. Метод основывается на итеративном моделировании энтропии и алгоритмах поиска кратчайшего пути для поиска пути минимальной битовой стоимости в графе всех возможных DEFLATE-представлений несжатых данных[10].
История
Zopfli основывается на алгоритме, созданном Йюрки Алакуйялой. Исследовательская реализация Zopfli была создана Йюрки Алакуйялой и Лоде Вандевенне, работниками Google. Первая публичная версия программы вышла в феврале 2013 года. Версия 1.0 была выпущена в апреле 2013 года[11].
См. также
Примечания
- Release 1.0.3 — 2019.
- https://github.com/google/zopfli/blob/zopfli-1.0.1/COPYING
- A Look At Zopfli, Google's Open Source Compression Algorithm | Lifehacker Australia . Lifehacker.com.au (3 марта 2013). Дата обращения: 29 сентября 2015.
- Compress data more densely with Zopfli - Google Developers Blog . Googledevelopers.blogspot.com (28 февраля 2013). Дата обращения: 1 мая 2013.
- Alexander Neumann. Zopfli: Neue Kompressionsbibliothek von Google | heise Developer (нем.). Heise.de. Дата обращения: 29 сентября 2015.
- Alakuijala, Jyrki; Vandevenne, Lode Data compression using Zopfli (недоступная ссылка). Дата обращения: 6 сентября 2015. Архивировано 5 марта 2016 года.
- Dean Hume. Improved Compression Ratios Using Zopfli (1 июня 2015). Дата обращения: 6 сентября 2015.
- Sharwood, Simon Google open sources very slow compression algorithm . The Register (2013).
- Ilya Grigorik. Google Fonts recently switched to using new Zopfli compression algorithm . Google+ (9 января 2014). Дата обращения: 6 июня 2015.
- Zopfli: Google's new data compression algorithm | Digit.in . Thinkdigit.com (1 марта 2013). Дата обращения: 29 сентября 2015.
- Release Zopfli-1.0.0 . Github.com (25 апреля 2013). Дата обращения: 6 сентября 2015.
Ссылки
- Страница проекта на GitHub, онлайн-реализация Архивная копия от 1 декабря 2019 на Wayback Machine
- Google’s Zopfli Compression Algorithm: Extract higher performance from your compressed files — TechRepublic.com