Представлен формат анимированных изображений XNG, совместимый с существующими браузерами

17 октября 2014 года

Джаспер Пьер ( Jasper St. Pierre), участвующий в работе над проектами GNOME и Wayland, рассказал о создании нового формата изображений XNG, позиционируемого как улучшенная альтернатива GIF для распространения анимации в Web. По мнению Джаспера GIF является отличным форматом для анимации, но он не лишён недостатков, таких как применение старого алгоритма сжатия LZW, ограниченная цветовая палитра и проблемы с использованием старых изображений в новых местах. Конкурирующие с GIF форматы APNG и MNG имеют проблемы с повсеместным распространением их поддержки.

Для решения этих проблем разработан формат XNG, который из коробки уже поддерживается современными web-браузерами (проверено в Firefox и Chrome), при том, что специально поддержку нового формата в браузеры никто не добавлял. Достаточно вставить на страницу тег "img src=myanimation.xng" и анимированное изображение будет показано, как при указании обычного GIF. На первый взгляд в подобной поддержке усматривается подвох. Но если загрузить один из таких файлов и посмотреть его начинку становится всё понятно.

Файл XNG представляет собой HTML-код, сжатый при помощи gzip. При обнаружении gzip-архива браузер автоматически его распаковывает и разбирает содержимое. Внутри файла представлен SVG-блок, состоящий из набора изображений в формате JPEG, каждое из которых соответствует одному кадру в анимации. Данные каждого изображения упакованы "inline" с указанием данных внутри тега image в кодировке base64 (image A:href="data:image/jpeg;base64,...."). По умолчанию все блоки с изображениями указаны с флагом "visibility=hidden", т.е. не показываются. Отображение кадров производится через набор тегов "set" с установкой межкадровой задержки через атрибут "dur" и поочерёдной смены атрибутов "visible" и "hidden".

Таким образом в XNG по сути является эмуляцией через SVG анимированного JPEG (общее упоминание подобного было добавлено в Википедию ещё в 2006 году) и может работать в большинстве браузеров без необходимости установки плагинов или подключения JavaScript-библиотек. Потери из-за использования кодировки base64 хорошо компенсируются благодаря применению сжатия gzip. В частности, потери от base64 составляют в среднем 33%, после сжатия файл уменьшается примерно на 34% за счёт дополнительного сжатия обилия html-тегов (распакованный файл занимает 7536 Кб, а после сжатия gzip - 4986 Кб).

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Представлен формат анимированных изображений XNG, совместимый с существующими браузерами», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.