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)
Ответ на: комментарий от kirill_rrr

Тогда зачем было изобретать собственный webP?

Это ещё что. Мало того что гугловцы пытались и до сих пор пытаются агрессивно навязать этот проигравший WebP, так они ещё лет 10 не включали в Blink поддержку формата APNG в попытке продвижения анимаций в WebP. Кстати патчи для поддержки запилил один пользователь LOR’а: Поддержка APNG будет добавлена в Chrome 59 (комментарий)

Так вот OpenSource со вкусом Google. Apple в своё время правильно их «нагнул» ограничив поддержку WebP в своих устройствах, но запилив APNG.

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

Use tridactyl, Luke!

А ведь есть еще всякие qutebrowser, luakit etc.

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

Есть подозрение, «на глаз», что дефолты можно раз в 10 разогнать.

Увы, никак. Ибо он использует zlib. Альтернативы две. Первое - использовать zlib-ng. Но это добавит где-то 30% скорости. Второе (нереалистичное) - пробовать lz4. Так то. То есть ты не получишь прирост скорости в 10 раз, вообще никак.

Потому что у него подозрительно жидкий результат, сильно похожий на RLE

Кто разбирался говорит что похоже на LZ4. Но только похоже, не более.

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

пиарили лютые профессионалы

выели вам мозг

транслируете этот тяжёлый бред

Интересно, на «Красную шапочку» вы так же нервно реагируете? Ну сказка и сказка. С намёками, да. Разве что на «Красной шапочке» не зарабатывают торговцы словом божьим, но мы ведь сейчас не о них.

Я о том, что не надо гнать на человека только на том основании, что он непрофессионал. Непрофессионалы вполне могут предложить что-то интересное.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 2)

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

Спросите любого как можно вычислить высоту двадцати пяти этажного дома стоя возле него БЕЗ МЕТРА.
И мало кто ответит, а ведь это элементарная тригонометрия.
Вспомним и о том как интегральное исчисление можно использовать В ОГОРОДЕ …

В вопросе «Новый формат изображений»

ВСЕ ТО ЖЕ САМОЕ ...
anonymous
()
Ответ на: комментарий от anonymous

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

В индустрии IT много ШЕСТЕРЕНОК и совсем мало ДВИГАТЕЛЕЙ …

ЗАДВИГАТЕЛЕЙ - МНОГО! ...
anonymous
()
Ответ на: комментарий от anonymous

БЕЗ МЕТРА

И что брать за единицу измерения? Косую сажень?

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

Этой любовью был Альберт Эйнштейн.

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

как это предполагается произносить каждый день…

«Кой»?

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

Трекпад, тачскрин весело и непринужденно обосновывают эти секунды

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

Следующий, для полного веселья и победы над всеми, будет называться qoi2s.

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

Глупо упрямый - упрямо глуп.

Я рад за тебя. И за все твои «знания».

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

мы ведь сейчас не о них.

Это кажимость.

Непрофессионалы вполне могут предложить что-то интересное.

Могут. Только ни титаник, ни ноев ковчег к этому тезису никакого отношения не имеют. И как обычно, придумки дилетантов попадают в серию, переработанные до полной неузнаваемости.

Кстати, было построено профессионалами три корабля - Титаник, Олимпик и Британник. Британник подорвался на мине во время первой мировой, а Олимпик до 1935 года ходил через Атлантику.

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

Кстати, было

А что взамен? От профессионалов? Хде все эти «радости жизни»?

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

Ускорять ручной тормоз это оксюморон.

ЛОР все больше и больше приводит к суждению о том, что в open source нет никакого community.

ОДНОЗНАЧНО! ...
anonymous
()
Ответ на: комментарий от anonymous

community

только в коммунистическом Китае!

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

ОДНОЗНАЧНО!

А из русских слов только последнее? Однако!

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

Можно было бы и BMP, например, если бы размер был всего на 10-50% больше, чем у PNG.

Проблема в том, что ВМР, на самом деле - это десяток различных форматов, и время будет тратиться хотя бы на то, чтобы понять, какой именно ВМР имеется в виду

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

Там пять версий штоле насколько я помню. И максимум из сжатия что он предлагает СВОЕГО - это RLE. Ну или он может тупо хранить PNG, что не имеет смысла для целей ускорения. Проще PNG тогда уж записывать.

former_anonymous ★★★
() автор топика
Последнее исправление: former_anonymous (всего исправлений: 1)
Ответ на: комментарий от tiinn

Какое нах время? Несколько if-ов по значениям из хедера?

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

Кстати, было построено профессионалами три корабля - Титаник, Олимпик и Британник.

И Гигантик. Это его после переименовали. Не помогло.

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

И что предлагаешь? Как ускорять то?

Таблицы стилей никак. А JS – отказом от него, как от стандарта в веб-разработке. Это омерзительный вендорлок.

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

Очень вероятно, что у меня среди пары сотен скринов и прочих картинок и архива фоток гигов на 20-30 нет ни одной такой.

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

как можно вычислить высоту двадцати пяти этажного дома стоя возле него БЕЗ МЕТРА.

Надо пролезть по стене до вершины, попутно измеряя его ысоту в локтях или саженях. Или более чётко сформулировать задачу.

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

Это уже больше похоже на графический редактор.

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

Увы, никак. Ибо он использует zlib. Альтернативы две. Первое - использовать zlib-ng. Но это добавит где-то 30% скорости. Второе (нереалистичное) - пробовать lz4. Так то. То есть ты не получишь прирост скорости в 10 раз, вообще никак.

Поверь, я слегка разбираюсь в zlib и в потрохах картинок. И примерно представляю как оценки строить. То что у тебя от подкручивания опций всего в 3 раза скорость улучшилась - очень подозрительно.

Там реально вымутить раз 5 на ухудшении компрессии и 2 на префильтрах. Но чтобы говорить точно - надо очень внимательно смотреть, что по дефолту в libpng.

Кто разбирался говорит что похоже на LZ4. Но только похоже, не более.

У него жидковат результат для LZ4. Есть вариант сделать кастомный «говно-deflate level1», похерив сжатие в пользу скорости еще сильнее, но чтобы стандартный декомпрессор продолжал справляться. Просто такой херней обычно никто не страдает, все за размер бьются.

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

Поверь, я слегка разбираюсь в zlib и в потрохах картинок. И примерно представляю как оценки строить.

Так и я вроде эксперт мирового уровня. Фиговый из тебя эксперт, если у тебя пригорело от разгромных бенчмарков, и ты начал топить за то, чтобы специально ТЮНИТЬ компрессию под бенчмарки, чем, ещё раз, не занимается никто в реальном мире.

То что у тебя от подкручивания опций всего в 3 раза скорость улучшилась - очень подозрительно.

Да, это не вписывается в твои глубоко теоретические рассуждения, что делать 😀

Есть вариант сделать кастомный «говно-deflate level1», похерив сжатие в пользу скорости еще сильнее

Ну так сделай, нет? А так трындеть каждый может, знаешь. И потом окажется, что твой deflate все равно в разы медленнее чем qoi, и ещё в размере начал проигрывать. Если в двух словах, то бесполезная поделка, как ты говорил.

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

ты начал топить за то, чтобы специально ТЮНИТЬ компрессию под бенчмарки, чем, ещё раз, не занимается никто в реальном мире

Так это же преимущество: важен размер? вот, поставьте «меньше» сжатие; важна скорость? можно и так.

fernandos ★★★
()
Последнее исправление: fernandos (всего исправлений: 1)
Ответ на: комментарий от quickquest

P.S. Аналогия: я не эксперт по коньякам многолетней выдержки, но могу предлОжить «быстрый коньяк»: «спирт + вода + пищевой краситель» :)

Нужна ещё ультразвуковая ванна для смешивания

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

А почему нет? Формат есть и уже работоспособен, более чем.

former_anonymous ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.