LINUX.ORG.RU

Новый формат изображений быстрее PNG в десятки раз

 , , , qoi

Новый формат изображений быстрее PNG в десятки раз

6

3

Доминик Саблевски представил новый и невероятно простой в реализации формат изображений QOI (Quite OK Image). По представленным тестам, при сжатии изображений QOI производительнее PNG в 20–30 раз, а при распаковке — в 3–4 раза.

Доминик признаётся, что не является экспертом в области сжатия изображений. Идея создать новый простой и эффективный формат изображений пришла к нему во времена работы с MPEG-1. Его целью была скорость и простота.

Файлы QOI больше по размеру, чем PNG на 10–50 % в зависимости от картинки, поэтому QOI стоит применять, когда необходима скорость.

Исходный код на C, состоящий из одного универсального файла, доступен на GitHub.

В данный момент формат проходит обсуждение финальной спецификации с заинтересованными пользователями.

Также доступны реализации на Zig, Rust, Go, TypeScript, Python, C#. Поддержка QOI добавлена в библиотеку SAIL.

Для пользователей Arch Linux в AUR доступен пакет qoi-git.

>>> Замеры скорости и размеров изображений

>>> Подробности

★★★

Проверено: Shaman007 ()
Последнее исправление: sudopacman (всего исправлений: 2)
Ответ на: комментарий от Vit

Мне просто интересно понять, реально ли улучшить результат в разы. На 10-20% не интересно.

В разы только сжатие по словарю даст. Там хоть побитово, хоть полубайтово.

anonymous
()

Команда WebP подключилась к обсуждению спецификации

https://github.com/phoboslab/qoi/issues/48#issuecomment-994904273

Hi, I'm Yannis from the WebP team. First of all, good job on researching and developing this interesting QOI format! While working on WebP2, research was done on a generic container specification. The goal is to have a small, simple and safe header. Based on that, we thought we could give some suggestions on the design of the QOI container.
...

former_anonymous ★★★
() автор топика
Ответ на: комментарий от former_anonymous

Что-то его приняли там не очень приветливо. Все идеи слили его.

xmikex ★★★★
()
Ответ на: комментарий от anonymous

farbfeld

$ time png2ff < djvul.x4.1.png | lz4 >djvul.x4.1.ff.lz4

real    0m0,419s
user    0m0,372s
sys     0m0,061s
$ ls -s1
30020 djvul.x4.1.ff.lz4
 6600 djvul.x4.1.png
anonymous
()
Ответ на: комментарий от anonymous

Напоминает дрочерство вимеров на «скорость» с которой они набирают текст, экономя микросекунды нажатий на кнопку мыши или кнопку со стрелкой.

Ты ничего не понял в КВН-е – иди и думай! )

pihter ★★★★★
()
Ответ на: комментарий от MKuznetsov

ждём новость про следующий формат, который ещё толще, зато быстрее

битмап!

pihter ★★★★★
()
Ответ на: комментарий от anonymous

fpng

$ ./fpng_test djvul.x4.1.png 
Filename: djvul.x4.1.png
Dimensions: 6152x2048, Has Alpha: 0, Total Pixels: 12599296, bytes: 37797888 (36.046875 MB)
FPNG: 0.121137 secs, 7367498 bytes, 7.026194 MB
lodepng: 2.326157 secs, 6103065 bytes, 5.820336 MB
stbi: 1.278215 secs, 8677956 bytes, 8.275944 MB
qoi: 0.064591 secs, 8589563 bytes, 8.191646 MB
anonymous
()
Ответ на: комментарий от anonymous

fpng

https://github.com/catid/Zpng

$ ./zpng -c djvul.x4.1.png djvul.x4.1.zpng 
Compressing djvul.x4.1.png to djvul.x4.1.zpng
Loaded djvul.x4.1.png in 274.317 msec
Compressed ZPNG in 103.651 msec
ZPNG compression size: 6359487 bytes
$ ls -s1
6600 djvul.x4.1.png
6212 djvul.x4.1.zpng
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.