Обработка изображений / Алгоритм ImageZero (IZ): быстрое сжатие без потери качества

в 1:35, , рубрики: PNG, метки:

Обработка изображений / Алгоритм ImageZero (IZ): быстрое сжатие без потери качества
JPEG является стандартом в области компрессии изображений и это один из самых быстрых алгоритмов, но у него одна проблема: JPEG сжимает с потерей качества. Если фотография подвергается многократной обработке, это неприемлемо, и в таких случаях приходится искать альтернативу. Хочется чего-нибудь быстрого и при этом с приемлемой степенью сжатия.
Беглый взгляд на бенчмарки losless-алгоритмов на выборке фотографий не даёт оснований для радости: оказывается, PNG очень быстр на распаковке, но исключительно медленно работает на сжатии изображений.
Есть ещё JPEG-LS, хороший на первый взгляд. Но на него патент у компании HP, так что без шансов на использование. Немецкий программист Кристоф Фек (Christoph Feck) решил исправить ситуацию и выпустил свой алгоритм ImageZero сжатия фотографий без потери качества. Он примерно в 20 раз быстрее PNG, а по степени сжатия сравним с JPEG-LS.London Bridge (Tower Bridge): Reflection on the River Thames. Автор фотографии: Anirudh Koul
Результаты обработки полноразмерной версии фотографии London Bridge (4507×3512 пикселей)
Метод

Размер файла

Сжатие

Распаковка

Без сжатия

46380 КБ

-

-

JLS

14984 КБ

6,6 с

7,3 с

PNG

16256 КБ

42,4 с

2,4 с

IZ

15496 КБ

1,2 с

1,3 с

Судя по первым независимым тестам, IZ претендует на то, чтобы быть вообще самым быстрым lossless-алгоритмом для 24-битных фотографий, и по степени сжатия тоже хорошо выглядит.
Автор алгоритма пишет, что IZ не предназначен для greyscale-изображений или синтетических изображений, но он может его приспособить для этих задач. Сейчас IZ лучше всего работает на полноцветных фотографиях и может использоваться в системах хранения, для генерации уменьшенных копий для предпросмотра, ну и как будущий формат для иконок.Исходный код ImageZero (под лицензией BSD)

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js