АПНГ

Формат файла
Анимированный PNG
Анимированное PNG или APNG изображение прыгающего мяча (в некоторых веб-браузерах отображается как статическое изображение )
Расширение имени файла
.png,.apng
Тип интернет-СМИ
image/png, image/apng,image/vnd.mozilla.apng
РазработаноMozilla Foundation (принято W3C )
Первоначальный выпуск27 августа 2004 г .; 20 лет назад [1] ( 2004-08-27 )
Тип форматаанимированное растровое изображение без потерь
Расширенный отPNG
Открытый формат ?да

Анимированная портативная сетевая графика ( APNG ) — это формат файла , который расширяет спецификацию портативной сетевой графики (PNG), позволяя использовать анимированные изображения, которые работают аналогично анимированным файлам GIF , поддерживая 24- или 48-битные изображения и полную альфа-прозрачность, недоступную для GIF. Он также сохраняет обратную совместимость с неанимированными файлами PNG.

Первый кадр файла APNG хранится как обычный поток PNG, поэтому большинство стандартных декодеров PNG могут отображать первый кадр файла APNG. Данные о скорости кадров и дополнительные кадры анимации хранятся в дополнительных фрагментах (как предусмотрено оригинальной спецификацией PNG). APNG конкурировал с Multiple-image Network Graphics (MNG), всеобъемлющим форматом для растровой анимации, который был создан той же командой, что и PNG, и является устаревшим. Преимуществом APNG был меньший размер библиотеки и совместимость со старыми реализациями PNG.

История и развитие

Спецификация APNG была создана в 2004 году Стюартом Парментером и Владимиром Вукичевичем из Mozilla Corporation для хранения анимаций, необходимых для таких интерфейсов, как throbbers . [1] [2] В мае 2003 года Mozilla отказалась от поддержки анимаций MNG , которые предоставляют расширенный набор функциональных возможностей APNG, сославшись на опасения по поводу большого размера файла, необходимого для обширной библиотеки декодера MNG (300 КБ); [3] декодер APNG, созданный на основе декодера PNG, был гораздо меньшим компонентом.

Среди пользователей и разработчиков форматов PNG и MNG APNG встретили прохладно. В частности, PNG был задуман как формат одного изображения. [4] APNG скрывает последующие кадры во вспомогательных фрагментах PNG таким образом, что приложения, не поддерживающие APNG, будут их игнорировать, но в остальном в формат не внесено никаких изменений, позволяющих программному обеспечению различать анимированные и неанимированные изображения. Некоторые из основных проблем, возникающих в связи с этим, заключались в неспособности приложений согласовывать форматы PNG и APNG или различать PNG и APNG после получения, или в том, что устаревшее программное обеспечение даже не информировало пользователей о наличии дополнительных кадров. Гленн Рандерс-Персон возглавил усилия по примирению позиции сторонников PNG со сторонниками APNG, рекомендовав внести изменения в формат APNG и предложив использовать уникальный тип MIME (например, video/png), но сторонники APNG лишь добавили другой тип MIME (image/apng) [5], настаивая на использовании расширения .png вместо .apng , что привело к тому, что формат не был одобрен Группой разработки PNG. [6]

Группа разработки PNG отклонила APNG как официальное расширение 20 апреля 2007 года [7] , и было несколько последующих предложений по простому формату анимированной графики на основе PNG с использованием нескольких различных подходов. [8] Однако с 14 сентября 2021 года рабочая группа PNG была учреждена Консорциумом Всемирной паутины (W3C) для поддержки и разработки спецификации PNG, а первый публичный рабочий проект спецификации PNG (третье издание) был опубликован 25 октября 2022 года, добавив расширения APNG к основной спецификации PNG. [9] Рекомендация-кандидат была опубликована 21 сентября 2023 года. [10]

Формат файла

Спецификация APNG соответствует формату файла PNG , вводя три новых вспомогательных фрагмента: [11]

  • Блок управления анимацией (acTL) предшествует IDAT(ам) изображения по умолчанию и является своего рода «маркером» того, что это анимированный PNG-файл. Он также содержит количество кадров и количество повторений анимации (0 означает бесконечность).
  • Блок управления кадром (fcTL) предшествует каждому кадру и содержит его метаданные: размеры; положение (относительно изображения по умолчанию); длительность; если он очищен до черного цвета, заменен предыдущим кадром или перекрыт следующим кадром; и применяется ли его прозрачность.
  • Фрагмент данных кадра (fdAT), хранящий содержимое кадра. Он начинается с порядкового номера, затем имеет ту же структуру, что и фрагмент(ы) IDAT изображения по умолчанию.

Порядковые номера применяются как к элементам управления кадром, так и к фрагментам данных кадра, которые вместе следуют общей последовательности, что позволяет восстановить порядок и синхронизацию кадров, если редактор PNG, не поддерживающий APNG, изменит их порядок, как разрешено правилами упорядочивания фрагментов PNG. [12]

Кадры используют ту же битовую глубину, тип цвета, метод сжатия, метод фильтрации, метод чересстрочной развертки и палитру (если таковая имеется), что и изображение по умолчанию.

Приложение, считывающее файл PNG, должно игнорировать любые фрагменты, которые оно не понимает, [13] делая APNG обратно совместимым . Приложения без поддержки расширения APNG показывают только первый кадр, игнорируя дополнительные кадры анимации.

Диаграмма, иллюстрирующая возможный способ сборки анимированного PNG-файла из трех отдельных PNG-файлов

Сжатие и оптимизация

Ряд методов оптимизации делают файлы APNG настолько маленькими, насколько это возможно: межкадровая оптимизация [14] с использованием операций альфа-смешивания и альфа-распределения, меньшие, чем полноразмерные подкадры, грязная прозрачность, оптимизация типа цвета и цветовой палитры , а также различные параметры сжатия: zlib , 7-Zip , Zopfli . [15]

Производные форматы

Анимированные стикеры для Signal — это APNG с некоторыми ограничениями (размер файла ограничен 300 Кб, длина анимации ограничена 3 секундами и, видимо (последний пункт неясен), разрешение должно быть 512x512 пикселей). [ какие? ] [16]

Поддерживать

Логотип APNG Assembler, бесплатного программного обеспечения для создания изображений APNG

Mozilla Firefox добавил поддержку APNG в сборках 3-й версии 23 марта 2007 года. [17] Однако, поскольку libpng является эталонной реализацией официальной спецификации PNG Group , поддержка APNG никогда не может быть реализована в основном дистрибутиве libpng, пока он не будет ратифицирован Группой. Iceweasel 3 поддерживает APNG, используя неофициальный вариант libpng от Mozilla. [18]

В 2008 году WorldDMB принял APNG в качестве обратно совместимого расширения для включения анимации как части пользовательского приложения MOT SlideShow для цифрового радио. «APNG 1.0 Specification — Animated Portable Network Graphics» включена в качестве нормативного приложения A в стандарт ETSI TS 101 499 V2.2.1. [19] В 2016 году Apple приняла формат APNG в качестве предпочтительного формата для анимированных стикеров в приложениях iOS 10 iMessage . [20] 15 марта 2017 года поддержка APNG была добавлена ​​в Chromium . [21]

Список компьютерных программ и их поддержка APNG, а также номера их версий и даты выпуска
ПолеПрограммное обеспечениеПоддерживает?С

Обработка изображений
Ассемблер APNGДат. 1 [22]
cphktool APNG Аниме MakerДат. 1 (9 июня 2009 г.) [23]
Дизассемблер APNGДат. 1 [24]
Оптимизатор APNGДаv. 1.0 (28 марта 2011 г.) [25]
Chasys Жеребьевка IESДа [26]т. 5.17.05 [27]
Клип Студия КраскаДаверсия 1.6.7 (7 сентября 2017 г.) [28]
FFmpegДа [29]т. 2.7 [30]
FireAlpaca  [я]Дат. 2.3.13 [31]
Gamani GIF-кинотеатрДат. 4.2 (март 2008 г.) [32]
ГИДТолько для чтеният. 11 (декабрь 2023 г.) [33]
GIMPНужен плагин [34]
HoneycamДат. 3.48 (29 ноября 2021 г.) [35]
ХанивьюДат. 5.10 (17 февраля 2015 г.) [36]
ИзображениеJДат. 1.41g (3 июля 2008 г.) [37]
ImageMagickДат. 7.0.10-31 (20 сентября 2020 г.) [38]
Представлять себеДаv. 1.0.2 (4 мая 2008 г.) [39]
IrfanПросмотрТолько для чтеният. 4.40 (31 июля 2015 г.)
КонверторДат. 4.02 (май 2010 г.) [40]
Белка (позже ПАРУС)Только для чтенияверсия 0.7.2 (3 октября 2007 г.) [41]
Paint.NETНужен плагин [42]
ФотоЛайнДаv19.5 (11 марта 2016 г.)
Краска RealWorldДаверсия 2011.1 (декабрь 2011 г.) [43]
VirtualDubНужен плагин [44] [a]
XnViewТолько для чтенияверсия 1.97.4 (30 апреля 2010 г.) [45]
Движки пользовательского интерфейса Sciter и HTMLayoutТолько для чтенияс 2008 года
КритаДа [46]Krita Nightly 5.0.0 пре-альфа (с 22 февраля 2021 г.) [47]
qПросмотрТолько для чтенияверсия 4.0 (31 октября 2020 г.)
Браузерные
движки
ВебкитДа(17 марта 2015 г.) [48]
МоргнутьДаИюнь 2017 г.
Веб
-браузеры
Mozilla Firefox
( движок компоновки Gecko )
Дат. 3 (17 июня 2008 г.) [49] [50]
SeaMonkey
( движок компоновки Gecko )
Дат. 2
Iceweasel и другие ребрендинговые версии Debian
( движок компоновки Gecko )
Дат. 4.0~б12 [18]
Safari
( движок компоновки WebKit )
Дат. 8.0 [51]
Google Chrome и Chromium
( движок компоновки Blink )
Дат. 59 (5 июня 2017 г.) [52] [53]
Internet Explorer
( движок компоновки Trident )
Нет [51]
Microsoft Edge [Legacy]
( движок макета EdgeHTML )
Нет [51] [54]
Microsoft Edge
( движок компоновки Blink )
Дат. 79
Opera v12 и более ранние версии
( движок компоновки Presto )
Дат. 9.5 (12 июня 2008 г.) [55]
Opera 15 и более поздние версии
( движок компоновки Blink )
Дат. 46.0 (22 июня 2017 г.) [56]
Pale Moon ( движок компоновки Goanna )Дат. 27
Мобильные
браузеры
iOS- сафариДа [51]версия 8.0
Firefox для AndroidДа [51]?
Samsung Интернет для AndroidДаверсия 7.0
Опера МобайлДа [ требуется ссылка ]?

Программное обеспечение для повышения производительности
LibreOfficeДа [57]Планируется
  1. ^ После загрузки видео можно создать файл APNG с помощью пункта меню «Файл|Экспорт|Анимированный PNG».

Существует серверная библиотека, которая позволяет веб-браузерам, поддерживающим тег canvas , но не поддерживающим APNG, отображать APNG. [58] Примерами таких браузеров являются Microsoft Edge Legacy и Internet Explorer 9.

Смотрите также

Ссылки

  1. ^ ab "Добавить поддержку APNG для Mozilla". Bugzilla . Mozilla Foundation. 27 августа 2004 г. Получено 23 апреля 2024 г.
  2. ^ Стюарт Парментер; Владимир Вукичевич (2 сентября 2004 г.). «APNG 0.4 [ПРОЕКТ]». Владимир Вукичевич. Архивировано из оригинала 19 ноября 2004 года . Проверено 23 апреля 2024 г.
  3. ^ martin (11.11.1999). "Ошибка 18574 - (mng) восстановить поддержку формата анимации MNG и формата изображений JNG". Mozilla . Получено 30.03.2010 .
  4. ^ "Спецификация PNG (переносимая сетевая графика), версия 1.1#8.4. Расширение для нескольких изображений". libpng . Получено 2010-03-30 .
  5. ^ "Спецификация APNG, версия 1.0#MIME-тип". Mozilla . Получено 10.12.2017 .
  6. ^ "ImageMagick не может обнаружить анимированный PNG". GitHub . Получено 2017-12-10 .
  7. ^ "ГОЛОСОВАНИЕ НЕ ПРОШЛО: APNG 20070405a". Список рассылки SourceForge . 2007-04-20.
  8. ^ "Обсуждение простого "анимированного" формата PNG". Архивировано из оригинала 2009-02-26 . Получено 2011-07-12 .
  9. ^ "PNG Третье издание, пояснения". W3C GitHub . 2023-05-24.
  10. ^ «Спецификация PNG (третье издание), APNG: покадровая анимация». w3.org . 2023-09-21.
  11. ^ «Спецификация APNG — MozillaWiki».
  12. ^ Правила упорядочивания фрагментов (спецификация PNG 1.2)
  13. ^ «Спецификация переносимой сетевой графики (PNG) (второе издание)».
  14. ^ "Межкадровая оптимизация в APNG". littlesvr.ca . Архивировано из оригинала 2014-04-26 . Получено 2021-10-21 .
  15. ^ "APNG Assembler". apngasm.sourceforge.net . Получено 21.10.2021 .
  16. ^ "Наклейки". Поддержка Signal . Signal . Получено 28 декабря 2021 г. .
  17. ^ "Gran Paradiso Alpha 3 release notes". Mozilla . 2007-03-23. Архивировано из оригинала 26 декабря 2009. Получено 2010-03-30 .
  18. ^ ab "Debian Bug #486827 Iceweasel не может отрисовать изображение APNG". Debian . 2011-08-26 . Получено 2011-09-18 .
  19. ^ "Цифровое аудиовещание (DAB); MOT SlideShow; Пользовательское приложение (pdf) Спецификация" (PDF) . ETSI . Получено 30 января 2013 г. .
  20. ^ "Сообщения - Расширения - Руководство по интерфейсу iOS Human Interface". developer.apple.com . Apple, Inc . Получено 12 октября 2016 г. .
  21. ^ "Anzwix / Chromium / Добавить поддержку анимированных PNG" . Получено 2017-03-15 .
  22. ^ maxst (15 ноября 2017 г.). "APNG Assembler". SourceForge .
  23. ^ "cphktool APNG Anime Maker". cphktool. Архивировано из оригинала 2010-02-09 . Получено 2010-06-28 .
  24. ^ maxst. "Дизассемблер APNG". SourceForge .
  25. ^ maxst. "Оптимизатор APNG". SourceForge .
  26. ^ «Онлайн-справка по Chasys Draw IES: Форматы файлов — Другие файлы изображений».
  27. ^ "Онлайн-справка по Chasys Draw IES: История" . Получено 2022-07-18 .
  28. ^ "Заметки о выпуске CLIP STUDIO PAINT версии 1.6.7 (07.09.2017)" . Получено 22.04.2024 .
  29. ^ «Документация по форматам FFmpeg».
  30. ^ "GitHub changelog of FFmpeg". GitHub . Получено 2016-07-09 .
  31. ^ "История обновлений FireAlpaca" . Получено 2021-09-04 .
  32. ^ "Анимированный PNG: Простая анимация с альфа-каналом". Gamani . Получено 25-08-2009 .
  33. ^ "GID (Generic Image Decoder)". GitHub . Получено 2023-12-09 .
  34. ^ "APNG Plug-In". Архивировано из оригинала 2014-05-25 . Получено 2010-05-28 .
  35. ^ "Honeycam - История версий". Bandisoft International Inc. Получено 2022-01-09 .
  36. ^ "Honeyview - История версий". Bandisoft International Inc. Получено 2022-01-09 .
  37. ^ "ImageJ News". ImageJ . Архивировано из оригинала 21 мая 2009 . Получено 2009-05-23 .
  38. ^ "ImageMagick - Changelog" . Получено 2021-04-25 .
  39. ^ "Imagine - What's new". Архивировано из оригинала 8 октября 2011 г. Получено 01.09.2017 .
  40. ^ "Konvertor - Решения для обработки мультимедиа". Архивировано из оригинала 2010-05-12 . Получено 2010-05-19 .
  41. ^ "KSquirrel Codecs ChangeLog". GitHub . 15 октября 2021 г.
  42. ^ "Анимированное изображение 2.4 - AGIF и APNG". Форум Paint.NET . 10 января 2009 г.
  43. ^ "Подробнее об анимированном PNG - блог Власты". www.rw-designer.com .
  44. ^ "SourceForge.net: VirtualDub APNG Mod". vdubapngmod.sourceforge.net .
  45. ^ Хотя XnView доступен для нескольких операционных систем, с момента добавления поддержки APNG были выпущены только версии для Windows .
  46. ^ "Поддержка экспорта APNG" . Получено 2021-08-16 .
  47. ^ "Экспорт анимации APNG и WEBP (dbe993da) · Коммиты · Графика / Krita". GitLab . 22 февраля 2021 г. . Получено 16 августа 2021 г. .
  48. ^ "Анимированная графика PNG". WebKit . 17 марта 2015 г. Получено 17 марта 2015 г.
  49. ^ Парментер, Стюарт; Владимир Вукичевич; Эндрю Смит (4 июля 2008 г.). "Анимированная графика PNG". Центр разработчиков Mozilla . Mozilla . Архивировано из оригинала 2008-12-04 . Получено 2009-05-23 .
  50. ^ "Firefox 3 для разработчиков". Mozilla Developer Center . Mozilla . 1 октября 2008 г. Архивировано из оригинала 2008-11-13 . Получено 2009-05-23 .
  51. ^ abcde "Анимированный PNG (APNG)". Могу ли я использовать... Таблицы поддержки для HTML5, CSS3 и т. д .
  52. ^ "7d2b8c45afc9c0230410011293cc2e1dbb8943a7 - chromium/src - Git в Google". chromium.googlesource.com .
  53. ^ "Обновление стабильного канала для настольных компьютеров". Релизы Chrome . Получено 2017-06-06 .
  54. ^ "Статус формата изображения APNG в Microsoft Edge". Разработка Microsoft Edge . Получено 29 июля 2017 г.
  55. ^ "Web-спецификации, поддерживаемые в Opera 9.5". Opera Software . Архивировано из оригинала 2009-02-25 . Получено 2009-05-23 .
  56. ^ "Opera 46 выходит в финал, больше качества и первая телевизионная реклама Opera". Opera Software . 22 июня 2017 г. Получено 26 июня 2017 г.
  57. ^ "Проекты, выбранные для LibreOffice на Google Summer of Code 2023: добавление поддержки импорта/экспорта APNG". LibreOffice . 29 мая 2023 г. Получено 29 мая 2023 г.
  58. ^ "Библиотека APNG-canvas". GitHub . 11 октября 2021 г.
  • APNG из спецификации PNG (3-е издание)
  • Спецификация APNG на вики- сайте mozilla.org
  • APNG патч для libpng
  • Демонстрационный сайт APNG от Mozilla
  • Каталог ресурсов APNG Software и разработчиков
  • Тесты APNG для браузеров, поддерживающих APNG 1.0
  • Загрузка анимации AJAX в APNG
  • Рассмотрение APNG в группе разработчиков Chromium
Взято с "https://en.wikipedia.org/w/index.php?title=APNG&oldid=1267842873"