Типичный сценарий: есть изображение в JPG, нужно сделать в нём вырезы, JPG не умеет в альфа-канал, посему надо сохранить результат в PNG (WebP и всякое такое не предлагать, слишком некросссофтварно пока). Но вне зависимости от того, насколько однородным был исходник — из-за артефактов JPG PNG будет сжиматься значительно хуже. Есть ли инструментарий, который делает предварительное малозаметное lossy-сжатие PNG, чтобы он в итоге сжался лучше — сглаживает цветовой шум, сглаживает переходы, чтобы они были более предсказуемыми, и т. п.? optipng и аналоги, опять же, не предлагать, он просто подбирает оптимальное сжатие lossless.
Для Ѳом неверующих вот простой пример. Картинка в PNG.
bq:10:23:50:/tmp/exp$ ls -l appleshy.png
-rw-r--r-- 1 bodqhrohro bodqhrohro 6657 Янв 17 10:23 appleshy.png
bq:10:24:18:/tmp/exp$ convert appleshy.png -quality 80 appleshy.jpg
bq:10:24:37:/tmp/exp$ convert appleshy.jpg -quality 9 appleshy2.png
bq:10:27:34:/tmp/exp$ optipng appleshy2.png
** Processing: appleshy2.png
150x150 pixels, 3x8 bits/pixel, RGB
Input IDAT size = 23830 bytes
Input file size = 24084 bytes
Trying:
zc = 9 zm = 8 zs = 0 f = 5 IDAT size = 22354
zc = 9 zm = 8 zs = 1 f = 5 IDAT size = 21275
zc = 9 zm = 8 zs = 3 f = 5 IDAT size = 21120
Selecting parameters:
zc = 9 zm = 8 zs = 3 f = 5 IDAT size = 21120
Output IDAT size = 21120 bytes (2710 bytes decrease)
Output file size = 21374 bytes (2710 bytes = 11.25% decrease)