Comments 27
так оптимизаторы сжимают или подбирают параметры?
попробовали бы еще на CUDA
http://www.fastcompression.com/download/download.htm
попробовали бы еще на CUDA
http://www.fastcompression.com/download/download.htm
Все оптимизаторы в тесте выполняют оптимизацию файлов без потери качества. Размер уменьшается, но на качество самого файла не влияет. Насколько мне известно (могу ошибаться) для CUDA таких оптимизаторов нет.
Уточните пожалуйста, что значит «оптимизация файла без потери качества»? Речь идет о субъективном отсутствии видимых визуальных изменений или непосредственно изображение вообще не сжимается?
Просто я протестировал на Вашей страничке сжатие картинки и очень удивился уменьшению размера на 5%. Эти 5% стоят того, чтобы использовать подобную библиотеку? Например, на том же сервисе tinyjpg картинка уменьшилась в 2 раза также без видимых изменений.
Просто я протестировал на Вашей страничке сжатие картинки и очень удивился уменьшению размера на 5%. Эти 5% стоят того, чтобы использовать подобную библиотеку? Например, на том же сервисе tinyjpg картинка уменьшилась в 2 раза также без видимых изменений.
Это означает если вы попиксельно картинку сравните разницы не будет. Числа будут одинаковые в обоих случаях.
Если обсуждается «визуальное» качество, то это уже сжатие с потерями и в данном тесте программы для lossy сжатия не рассматривались.
Замечание.
Оптимизация JPEG происходит за счет построения оптимальной таблицы Хаффмана вместо таблицы по умолчанию, применяющейся большинством JPEG кодировщиками по известному алгоритму (типичный выигрыш ~20% объема) перед Хаффманом есть еще стадия RLE (run length encoding), которую теоретически можно немножко подстроить под последующий Хаффман и выиграть доли процентов на которые в общем-то и отличаются оптимизаторы.
А вовсе не за счет подбора параметров компрессии которая для JPEG это изменение коэффициентов таблицы квантования, любое уменьшение которых ведет к потере качества, либо никак не сказывается на размере картинки, если уменьшают коэффициент для отсутствующих частот после FDCT.
Оптимизация PNG происходит за счет более умного упаковщика LZ77 который по сути находит и кладет в словарь более длинные и более часто встречающиеся цепочки входных «символов».
Здесь действительно возможен вариант подбора настроек для DEFLATE (LZ77+Хаффман) алгоритма типа размера словаря и окна, но это дает слабый выигрыш.
Оптимизация JPEG происходит за счет построения оптимальной таблицы Хаффмана вместо таблицы по умолчанию, применяющейся большинством JPEG кодировщиками по известному алгоритму (типичный выигрыш ~20% объема) перед Хаффманом есть еще стадия RLE (run length encoding), которую теоретически можно немножко подстроить под последующий Хаффман и выиграть доли процентов на которые в общем-то и отличаются оптимизаторы.
А вовсе не за счет подбора параметров компрессии которая для JPEG это изменение коэффициентов таблицы квантования, любое уменьшение которых ведет к потере качества, либо никак не сказывается на размере картинки, если уменьшают коэффициент для отсутствующих частот после FDCT.
Оптимизация PNG происходит за счет более умного упаковщика LZ77 который по сути находит и кладет в словарь более длинные и более часто встречающиеся цепочки входных «символов».
Здесь действительно возможен вариант подбора настроек для DEFLATE (LZ77+Хаффман) алгоритма типа размера словаря и окна, но это дает слабый выигрыш.
Насколько мне известно, в JPEG не используется RLE.
В JPEG используется RLE для кодирования последовательности нулей.
Описание формата JPEG:
http://lib.mdp.ac.id/ebook/Karya%20Umum/Compressed-Image-File-Formats.pdf
глава 8
перед Хаффманом есть еще стадия RLE (run length encoding), которую теоретически можно немножко подстроить под последующий Хаффман
А как? Хаффманом кодируется последовательность байт, каждый из которых имеет вид (bit_count:4, skip_zero_before:4). Где skip_zero_before — количество нулевых элементов перед текущим коэффициентом, bit_count — разрядность последующего ненулевого элемента. При этом построение этой последовательности однозначно и не может быть изменено в угоду Хаффману.
Не то чтобы потеря качества, но неприятно вышло:
PNGOUT может снизить глубину цвета, если при этом не теряется информация. Он мне наделал PNG с палитрой, но и альфаканал сохранил. Пока я разобрался, что картинки не запороты, а просто «необычные», пока нашёл софт, который их может корректно открыть, пока попересохранял всё…
PNGOUT может снизить глубину цвета, если при этом не теряется информация. Он мне наделал PNG с палитрой, но и альфаканал сохранил. Пока я разобрался, что картинки не запороты, а просто «необычные», пока нашёл софт, который их может корректно открыть, пока попересохранял всё…
попробовал потестить pingo — валится с появлением виндового окна «Прекращена работы программы pingo.exe».
В чем может быть проблема?
P.S.
Win 7 x64
pingo v0.79f
При запуске без параметров не валится.
В чем может быть проблема?
P.S.
Win 7 x64
pingo v0.79f
При запуске без параметров не валится.
А где же Lepton для jpeg?
А как же знаменитый Guetzli, достигающий до 35% меньшего размера файла без потери качества?
https://research.googleblog.com/2017/03/announcing-guetzli-new-open-source-jpeg.html
https://research.googleblog.com/2017/03/announcing-guetzli-new-open-source-jpeg.html
leanify у меня сегфолтится на одном из файлов. Стоит попробовать этот файл на ваш сервис загрузить?
Лучше сюда в комменты скинуть.
Ну, если хабр не пережмёт в jpeg или что-нить подобное не сделает с ним…
поле для игры Адмирал (280k, 14166x11918 px)

Всё ок сконвертилось, правда ушло 7 минут на это:
Optimization complete. Download image (~233 KB) Reduction is 15.09 %
http://lossless-image-optimization.com/dl.php?f=20170411134309-a427f41f97
Проблема может быть с огромным разрешением файла.
Optimization complete. Download image (~233 KB) Reduction is 15.09 %
http://lossless-image-optimization.com/dl.php?f=20170411134309-a427f41f97
Проблема может быть с огромным разрешением файла.
Как насчёт сделать график на плоскости, с точками, соответствующими программам (ось x — скорость, ось y — сжатие)?
<зануда>
Неплохо было бы указывать ОС, на которой/ых тестировалось.
А если указаны ОС, на которых эти программы могут работать — вообще будет корректно.
Если «Default OS» — то в теги лучше добавить «Windows»
</зануда>
Неплохо было бы указывать ОС, на которой/ых тестировалось.
А если указаны ОС, на которых эти программы могут работать — вообще будет корректно.
Если «Default OS» — то в теги лучше добавить «Windows»
</зануда>
Sign up to leave a comment.
Тест Lossless-оптимизаторов изображений (PNG и JPG)