MNG
Multiple-image Network Graphics | |
---|---|
Тип формата | растровая графика |
Содержит | PNG, JNG |
MNG (англ. Multiple-image Network Graphics) — формат графических файлов. Поддерживает все возможности алгоритмов сжатия PNG и JPEG (в том числе полупрозрачность и гамма-коррекцию) для создания анимированных изображений. Поддерживается в браузере Konqueror, поддерживался в браузере Mozilla с 2000 до 2003 года.
MNG близко связан с PNG. Когда в 1995 началась разработка формата PNG, разработчики решили не включать поддержку анимации, так как в то время эта особенность использовалась редко. Тем не менее, началась работа над MNG — версией PNG с поддержкой анимации. Первая версия спецификации MNG вышла 31 января 2001.
В настоящий момент MNG не поддерживается популярными ПО и браузерами. Также существует формат APNG, который намного проще MNG.
Преимущества формата
Основные преимущества формата, по сравнению с GIF (поддерживает анимацию), JPEG (обеспечивает наименьший размер файла за счет потерь при сжатии) и PNG (сжатие без искажений).
- Анимация
- полноцветная анимация (по сравнению с палитерной 256-цветной GIF-анимацией)
- объектно- (спрайтно-) ориентированный подход к анимации с командами управления изображением вместо простой последовательности кадров, как в GIF
- вложенные циклы для сложной анимации
- Сжатие
- более эффективное чем в GIF
- сжатие с потерями (как в JPEG) и без (как в PNG), по выбору
- поддержка разностных кадров для увеличения сжатия
- Дополнительные возможности
- поддержка прозрачных JPEG кадров
- поддержка альфа-канала для всех объектов
- поддержка коррекции гаммы и цвета
- может включать произвольную текстовую и прочую информацию (допускает сжатие)
- несколько контрольных сумм для проверки целостности разных частей файла
- специальная строка идентификации, которая позволяет определить частые типы повреждения (в основном связанные с перекодировкой)
- определяет нескольких уровней (профилей) поддержки для упрощения реализации
- Прочее
- не имеет патентных ограничений (как для сжатия с потерями, так и без)
Технические детали
В целом структура файлов формата MNG такая же, как и у PNG, отличаясь только в метке идентификации (8A 4D 4E 47 0D 0A 1A 0A в шестнадцатеричном формате) и использовании гораздо большего числа разновидностей блоков (chunk). Кадры MNG сохраняются как PNG или JNG.
Формат MNG представляет собой упрощённый растровый аналог Adobe Flash: каждый кадр состоит из большого количества слоёв, которые можно двигать друг относительно друга, масштабировать и обрезать. Из-за этого поддержка формата MNG довольно сложна.
Также определены две упрощённые версии спецификации: MNG-LC (низкая сложность) и MNG-VLC (очень низкая сложность). Они позволяют реализовать частичную поддержку формата MNG, чтобы уменьшить сложность реализации программы. Это важно для устройств с очень ограниченными ресурсами: мобильные телефоны и т. п.
У MNG ещё нет зарегистрированного типа MIME, но можно использовать video/x-mng или image/x-mng.
Каждый из кадров может быть закодирован в MNG как с потерей информации (JPEG-компрессия), так и без потерь (компрессия LZ77, применяемая в PNG).
Соперники формата
На данное время главный соперник — GIF, в силу его полной поддержки. Другой альтернативой является APNG. Также может использоваться анимация SVG с внедрёнными PNG- или JPEG-кадрами.
Факты
Библиотеку libmng можно портировать при помощи Emscripten. При этом возможен рендеринг через HTML5 (canvas). Также возможна поддержка и динамических MNG.
См. также
Примечания
Ссылки
- Домашняя страница MNG (англ.)
- Список браузеров, поддерживающих MNG (англ.)
- MNGzilla (англ.) — Попытка создать вариант браузера Mozilla с поддержкой MNG
- Тестовые изображения MNG (англ.) — здесь можно проверить поддержу MNG своим браузером