Представлен формат быстрого сжатия изображений без потерь Quite OK Image

Изображение: Dominic Szablewski, @phoboslab
Тест производительности алгоритмов сжатия изображений
Тест производительности алгоритмов сжатия изображений

Легковесный и быстрый формат сжатия изображений без потери качества Quite OK Image (QOI) представлен программистом Домиником Саблевским. 24 ноября реализация формата на языке C опубликована в хранилище программных проектов GitHub.

QOI позволяет сжимать изображения в цветовых пространствах RGB и RGBA. Формат сравним с Portable Network Graphics (PNG) по степени сжатия, но сжатие и декомпрессия происходят намного быстрее.

Сжатие исходного изображения производится в 20–50 раз быстрее, чем при использовании программной библиотеки, реализующей формат PNG — libpng. Декодирование производится в 3–4 раза быстрее.

При работе алгоритма не используются инструкции процессора, реализующие параллелизм на уровне данных — SIMD подобные. Сжатие и декомпрессия производятся в однопоточном режиме.

Базовая реализация библиотеки формата QOI на языке программирования C укладывается чуть менее, чем в 350 строк исходного кода. Другими разработчиками также подготовлены варианты библиотеки на языках Go, Rust и Zig.

Сжатие и декомпрессия изображения не зависит от его особенностей. Сложность алгоритма является линейной (O(n)). Формат и его реализации распространяются под полностью свободной лицензией MIT.