Цопфли
![]() | |
Оригинальный автор(ы) | Лоде Вандевенн и Юрки Алакуйала |
---|---|
Разработчик(и) | |
Первоначальный выпуск | февраль 2013 г. |
Стабильная версия | 1.0.3 [1] ![]() |
Репозиторий | |
Написано в | С |
Тип | Сжатие данных |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | github ![]() |
Zopfli — это сжатия данных библиотека , которая выполняет кодирование данных Deflate , gzip и zlib . [2] Он обеспечивает более высокую степень сжатия, чем основные реализации Deflate и zlib, но медленнее. [3] Google впервые выпустила Zopfli в феврале 2013 года на условиях Apache License 2.0 . [4]
Название Zöpfli — это швейцарско-немецкое уменьшительное от « Zopf », несладкого типа Hefezopf . [5]
Операция
[ редактировать ]Zopfli может либо генерировать необработанный поток данных Deflate, либо инкапсулировать его в форматы gzip или zlib. Zopfli достигает более высокой плотности данных за счет более исчерпывающих методов сжатия. Метод основан на итеративном энтропийном моделировании и алгоритме поиска кратчайшего пути для поиска пути с низкой стоимостью битов через граф всех возможных представлений Deflate несжатых данных. [6] По умолчанию Zopfli выполняет 15 итераций, но его можно настроить на большее или меньшее количество итераций. При настройках по умолчанию результат Zopfli обычно на 3–8% меньше максимального сжатия zlib, но занимает примерно в 80 раз больше времени. [4] [3]
Из-за значительно более низкой скорости сжатия Zopfli не подходит для сжатия на лету. Обычно он используется для однократного сжатия статического контента. [7] [8] Обычно это справедливо для веб -содержимого, которое обслуживается с помощью HTTP-сжатия на основе Deflate , или веб-содержимого в формате файлов на основе Deflate, например файлах шрифтов PNG или WOFF . [9] Другой вариант использования — обновления программного обеспечения или загрузки файлов пакетов программного обеспечения в формате zip , таких как пакеты приложений Android (APK) или архивы Java (JAR), особенно через мобильные соединения. [10]
История
[ редактировать ]Zopfli основан на алгоритме Юрки Алакуйала. [11] Первая эталонная реализация Zopfli, созданная Юрки Алакуйала и Лоде Вандевенне, появилась в феврале 2013 года. Версия 1.0.0 была выпущена 25 апреля 2013 года. [12] Эталонная реализация представляет собой программную библиотеку на условиях 2.0 , написанную на языке C. лицензии Apache [2]
С тех пор сообщество открытого исходного кода предприняло попытки изменить Zopfli для оптимизации файлов Portable Network Graphics (PNG), поскольку PNG использует уровень сжатия Deflate. Плодом этих модификаций стал ZopfliPNG, который был добавлен в репозиторий Google Zopfli в мае 2013 года. [13] Алгоритм Zopfli также интегрирован в другие инструменты оптимизации сжатия PNG, такие как advpng (из набора утилит AdvanceCOMP). [14] и ОксиПНГ. [15]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Выпуск 1.0.3» . 27 ноября 2019 г. Проверено 28 ноября 2019 г. .
- ^ Перейти обратно: а б «google/zopfli · GitHub» . Гитхаб.com . Проверено 29 сентября 2015 г.
- ^ Перейти обратно: а б «Взгляд на Zopfli, алгоритм сжатия с открытым исходным кодом Google | Lifehacker Australia» . Lifehacker.com.au. 03.03.2013 . Проверено 29 сентября 2015 г.
- ^ Перейти обратно: а б «Более плотное сжатие данных с помощью Zopfli — Блог разработчиков Google» . Googledevelopers.blogspot.com. 28 февраля 2013 г. Проверено 1 мая 2013 г.
- ^ Александр Нейман (март 2013 г.). «Zopfli: новая библиотека сжатия от Google | heise Developer» (на немецком языке). Heise.de . Проверено 29 сентября 2015 г.
- ^ «Zopfli: новый алгоритм сжатия данных Google» . Цифра. 01.03.2013 . Проверено 29 сентября 2015 г.
- ^ Дин Хьюм (01 июня 2015 г.). «Улучшенная степень сжатия с помощью Zopfli» . Проверено 6 сентября 2015 г.
- ^ Шарвуд, Саймон (2013). «Google с открытым исходным кодом очень медленный алгоритм сжатия» . Регистр .
- ^ Илья Григорик (09.01.2014). «Google Fonts недавно перешел на использование нового алгоритма сжатия Zopfli» . Гугл+ . Проверено 6 июня 2015 г.
- ^ Сандерс, Джеймс. «Алгоритм сжатия Zopfli от Google: повышайте производительность сжатых файлов» . Техреспублика . Проверено 31 марта 2021 г.
- ^ «zopfli/README в мастере · google/zopfli» . Гитхаб .
- ^ «Выпуск Zopfli-1.0.0» . Гитхаб.com. 25 апреля 2013 г. Проверено 6 сентября 2015 г.
- ^ «ZopfliPNG: Google/zopfli@337d27f» . Гитхаб.com . Проверено 29 сентября 2015 г.
- ^ Андреа Маццолени. «Перспективные проекты» . Advancemame.sourceforge.net . Проверено 29 сентября 2015 г.
- ^ Джош Холмер. «shssoichiro/oxipng — Github» . Гитхаб . Проверено 5 августа 2019 г.
Внешние ссылки
[ редактировать ]- Страница проекта на GitHub, онлайн-реализация. Архивировано 1 декабря 2019 г. на Wayback Machine.
- Алгоритм сжатия Zopfli от Google: повышение производительности сжатых файлов – TechRepublic.com