- PVSM.RU - https://www.pvsm.ru -

Тест Lossless-оптимизаторов изображений (PNG и JPG)

Для многих не секрет, что большинство изображений в форматах JPEG и PNG содержат избыточную информацию, которая может быть удалена без потери качества. Обычно это достигается за счет эвристических алгоритмов перебора различных параметров компрессии и выбора наименее затратного варианта. Применение оптимизаторов особенно важно на файлах, которые используются на посещаемых сайтах, для экономии дискового пространства, трафика и уменьшения времени загрузки страниц у пользователей. Программ такого типа довольно много и мы поставили себе цель найти какие же оптимизаторы сжимают лучше и работают быстро.

В тесте принимали участие следующие программы.

Для PNG:

1. Leanify 0.4.3 [1] (x64)
2. pingo v0.79c [2]
3. pinga v0.09 [3]
4. OptiPNG 0.7.6 [4]
5. pngout [5]
6. PngOptimizer 2.5 (x64) [6]
7. advpng aka AdvanceCOMP v1.23 [7]
8. ECT 0.6 (x64) [8]
9. TruePNG 0.6.2.2 [9]
10. pngwolf-zopfli 1.1.1 (x64) [10]

Для JPEG:

1. Leanify 0.4.3 [1] (x64)
2. pingo v0.79c [2]
3. ECT 0.6 [8] (x64)
4. mozjpeg 3.2 [11] (x64)
5. jhead 3.00 [12]
6. jpegoptim v1.4.4 [13] (x64)
7. jpegtran [14]

Было отобрано 100 PNG файлов и 100 JPG файлов в качестве тестовой выборки. Разных размеров и разрешения от совсем маленьких до огромных. Каждая из программ была запущена на всём наборе. Считался размер файла после оптимизации и сколько времени потребовалось программе на оптимизацию. Сводные таблицы приведены ниже.

Таблица 1. Лучшие оптимизаторы PNG по уровню компрессии

Максимум 88.49
1 место ECT 88.98
2 место Leanify 89.62
3 место Pingo 89.69
4 место pngwolf 91.34
5 место pngout 91.85
6 место TRUEPng 93.01
7 место Optipng 94.19
8 место pinga 94.8
9 место PNGOptimizer 95.13
10 место advpng 97.27

Таблица 2. Лучшие оптимизаторы PNG по скорости работы

1 место PNGOptimizer 00:04:08
2 место pinga 00:21:41
3 место Pingo 00:23:15
4 место TruePNG 01:53:29
5 место Leanify 01:57:00
6 место pngout 02:53:09
7 место pngwolf 02:55:26
8 место ECT 03:06:08
9 место advpng 03:25:34
10 место Optipng 03:39:05

Таблица 3. Сводная таблица по PNG оптимизаторам

ПО Speed Rank Compression Rank Overall rank Open source
Pingo 3 3 6 -
Leanify 5 2 7 +
ECT 8 1 9 +
PNGOptimizer 1 9 10 +
TruePNG 4 6 10 -
pinga 2 8 10 -
pngout 6 5 11 +
pngwolf 7 4 11 +
Optipng 10 7 17 +
advpng 9 10 19 +

Таблица 4. Лучшие оптимизаторы JPG по уровню компрессии

1 место ECT 89.996
1 место pingo 89.996
1 место leanify 89.997
1 место mozjpeg 89.999
5 место jpegoptim 90.880
6 место jpegtran 90.924
7 место jhead 99.592

Таблица 5. Лучшие оптимизаторы JPG по скорости работы

1 место jhead 00:00:25
2 место jpegtran 00:00:52
3 место jpegoptim 00:01:03
4 место leanify 00:01:30
5 место pingo 00:01:42
6 место mozjpeg 00:01:55
7 место ECT 00:02:52

Таблица 6. Сводная таблица по JPG оптимизаторам

Soft Speed Rank Compression Rank Overall rank Open source
leanify 4 1 5 +
jpegoptim 3 2 5 +
jpegtran 2 3 5 +
jhead 1 4 5 +
pingo 5 1 6 -
mozjpeg 6 1 7 +
ECT 7 1 8 +

Параметры запусков

PNG:

Leanify -i 15 -q
Pingo -s4
pinga -lossless -more
Optipng -o7 -strip all -quiet
pngout /s0 /q /y /r /d0 /mincodes0 /k1
PngOptimizer -file
advpng -z -q -4 -i 20
ECT --allfilters --mt-deflate -strip --strict -quiet -9
TruePNG /i0 /tz /quiet /y /md remove all /g0 /o4
pngwolf --strip-optional --out-deflate=zopfli,iter=30 --in= --out=

JPEG:

Leanify -i 15 -q
Pingo -s4
ECT --mt-deflate -strip -progressive --allfilters --strict -quiet -9
mozjpegtran -outfile -progressive
jhead -autorot -purejpg -di -dx -dt -zt -q
jpegoptim --strip-all -o -q --all-progressive
jpegtran -copy none -progressive

Для своих внутренних целей решили использовать Leanify. И сделали небольшой тестовый сайтик, если кому-то нужно оптимизировать небольшое число изображений он-лайн:

lossless-image-optimization.com [15]

Для локального запуска можно использовать FileOptimizer [16]. Он запускает последовательно почти все указанные выше оптимизаторы один за одним на одном файле и как следствие работает достаточно долго, но выдаёт результат близкий к максимальному.

Ссылки
Архив с тестовыми файлами PNG (100 штук) [17]
Архив с тестовыми файлами JPG (100 штук) [18]
Подробная таблица по всем файлам на Google.Docs

Автор: Turbo

Источник [19]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/png/252314

Ссылки в тексте:

[1] Leanify 0.4.3: https://github.com/JayXon/Leanify/releases

[2] pingo v0.79c: https://css-ig.net/pingo

[3] pinga v0.09: https://css-ig.net/pinga

[4] OptiPNG 0.7.6: http://optipng.sourceforge.net/

[5] pngout: http://advsys.net/ken/utils.htm

[6] PngOptimizer 2.5 (x64): http://psydk.org/pngoptimizer

[7] advpng aka AdvanceCOMP v1.23: http://www.advancemame.it/download

[8] ECT 0.6 (x64): https://github.com/fhanau/Efficient-Compression-Tool

[9] TruePNG 0.6.2.2: http://x128.ho.ua/pngutils.html

[10] pngwolf-zopfli 1.1.1 (x64): https://github.com/jibsen/pngwolf-zopfli

[11] mozjpeg 3.2: https://github.com/mozilla/mozjpeg

[12] jhead 3.00: http://www.sentex.net/~mwandel/jhead/

[13] jpegoptim v1.4.4: https://github.com/tjko/jpegoptim

[14] jpegtran: http://jpegclub.org/jpegtran/

[15] lossless-image-optimization.com: http://lossless-image-optimization.com

[16] FileOptimizer: http://nikkhokkho.sourceforge.net/static.php?page=FileOptimizer

[17] Архив с тестовыми файлами PNG (100 штук): https://mega.nz/#!zYwXFBzJ!Mp-N7yn_L-WFy-X7nN7POuT16fGRKYCfx-o8EHonGkE

[18] Архив с тестовыми файлами JPG (100 штук): https://mega.nz/#!3YYRAZZR!W9wrWukAvl8r6TaVSgvn0dR_nvbieiRo0YtUqIW2evk

[19] Источник: https://habrahabr.ru/post/326122/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best