Формат BPG может заменить анимированный GIF и не только его
BPG (Better Portable Graphics) — новый графический формат, цель которого заменить JPEG там, где качество или размер файла имеют значение. Именно так описывает BPG создатель этого формата — гениальный программист Фабрис Беллар, автор таких программ как LZEXE, FFmpeg, QEMU и др.
Основные преимущества BPG
- Высокая степень сжатия. Файлы гораздо меньше, чем JPEG при таком же качестве.
- Поддержка большинством веб-браузеров через маленький Javascript-декодер (56 КБ в gzip).
- Основан на подмножестве открытого стандарта видеосжатия HEVC.
- Поддержка тех же форматов цветности, что и в JPEG (grayscale, YCbCr 4:2:0, 4:2:2, 4:4:4) для снижения потерь во время конвертации. Альфа-канал поддерживается. Цветовые пространства RGB, YCgCo и CMYK тоже поддерживаются.
- Нативная поддержка от 8 до 14 бит на канал для расширения динамического диапазона.
- Возможно сжатие без потерь.
- Различные метаданные (такие как EXIF, профили ICC, XMP) можно внедрить в файл.
- Поддержка анимации.
Именно последний пункт даёт возможность предположить, что BPG заменит в интернете анимированный GIF. В самом деле, он лучше по всем параметрам.
Следующий архив содержит исходный код утилит командной строки bpgenc, bpgdec и bpgview (под Linux) и соответствующей библиотеки libbpg. Там же исходный код Javascript-декодера.
libbpg-0.9.6.tar.gz
Бинарник под Windows (64 бит): bpg-0.9.6-win64.zip
Неофициальное зеркало Github.
При сжатии анимаций BPG показывает MP4-качество, при этом файлы имеют меньший размер, чем оригинальные файлы MP4.
Вот пример видеофрагмента mp4 и bpg на 25 fps.
mp4, 927 КБ
bpg, 518 КБ (на веб-странице)
Видео совершенно не отличается по качеству. GIF-анимация такого же качества будет иметь размер 33,8 МБ.
Очевидно, что GIF-анимация устарела. Даже Imgur, который славился хостингом GIF-анимаций, использует конвертер GIFV для конвертации GIF в нормальное видео WebM или MP4.
На форуме Bugzilla десятки участников проголосовали за поддержку BPG в браузере Firefox, но разработчики пока воздерживаются от этого, потому что стандарт HEVC не совсем патентно чист.
Подробнее сравнение WebP и BPG см. в статьях на Хабре: 1, 2.