середа, 6 березня 2013 р.

Компанія Google представила сумісний з zlib алгоритм стиснення Zopfli

Компанія Google відкрила реалізацію нового алгоритму стиснення даних Zopfli. Представлена ​​реалізація системи стиснення сумісна з бібліотекою zlib, яка надає підтримку контейнерам gzip і deflate, і може виступати в якості прозорої заміни zlib. Код написаний на мові Сі і розповсюджується під ліцензією Apache 2.0. Представлений код тільки для забезпечення стиснення, розпакування може виконуватися реалізаціями zlib, що вже існують. Zopfli також сумісний на рівні бітового потоку з методами gzip, Zip, PNG і системами стиснення запитів HTTP.

Алгоритм Zopfli примітний більш високим ступенем стиснення і дозволяє стискати дані в середньому на 3-8% ефективніше zlib, при цьому розпакування може виконуватися будь-якими додатками, що підтримують Deflate. Метод, що використовується в Zopfli досить ресурсоємний і базується на ітераційному моделюванні ентропії з використанням алгоритму пошуку найкоротшого шляху в графі для вибору оптимального представлення стислої послідовності із загального набору варіантів.

Зворотною стороною підвищення коефіцієнта стиснення без втрати сумісності є значне підвищення трудомісткості роботи алгоритму, який стискає приблизно в 100 разів повільніше zlib. Швидкість розпакування архівів, створених з використанням алгоритму Zopfli ідентична іншим реалізаціям zlib.

В якості галузі використання Zopfli називаються ситуації, що вимагають одноразового стиснення даних з подальшою багаторазовою віддачею результату по мережі, наприклад, при поширенні стисненого статичного контенту в Мережі. Більш високий ступінь стиснення дозволяє зменшити необхідний для зберігання дисковий простір, прискорити передачу даних і зменшити затримки при завантаженні інтернет-сторінок. Особливо ефективність від зменшення розміру даних може бути помітна в мобільних мережах, полягаючи у тому числі в економії споживання енергії та скорочення оплати за прийнятий трафік.

Немає коментарів:

Дописати коментар