APNG (Animated Portable Network Graphics) — формат зображень побудований на форматі PNG, передбачує можливість зберігання анімації аналогічно до тієї, котра використовується в форматі GIF, а також кольорів прозорості (прозорість 8 біт на противагу одному прозорому кольору в GIF-зображенні).

Animated Portable Network Graphics
Розширення файлу: .png .apng
MIME-тип: image/apng[1] і image/png
Рік випуску: 4 серпня 2008
Тип формату: растрова графіка
Розширений з: PNG

Історія ред.

Специфікація APNG була розроблена Стюартом Парментером та Владимиром Вукичевичем з Mozilla Corporation для збереження елементів інтерфейсу, таких, як анімація завантаження. Раніше Mozilla відмовилась від MNG (більш потужного формату, який підтримує всі можливості APNG) через немалий розмір MNG-бібліотеки;[2] декодер APNG, побудований безпосередньо на бібліотеці PNG, був набагато меншим.

APNG був погано зустрінутий людьми, які супроводжують специфікації PNG та MNG, вони підкреслювали, що «PNG — це формат для нерухомих зображень».[3] APNG зберігає всі кадри, окрім першого, в додаткових блоках PNG-файлу, отож люди, які працюють з PNG програмами будуть ігнорувати їх. В числі заперечень — неможливо домовитися з сервером про те, що видавати, PNG чи APNG, важко відрізнити один від другого, а стара програма навіть не попередить, що присутні додаткові кадри. Таким чином, в Mozilla повторили ту ж помилку, котру зробили розробники GIF 15 років тому. Гленн Рендерс-Персон запропонував дати APNG новий MIME тип на кшталт video/png, але Mozilla відмовилась від таких пропозицій на користь повної зворотної сумісності.

20 квітня 2007 року група PNG офіційно відмовилась визнати APNG.[4] Було ще декілька пропозицій простішого анімаційного формату, основаного на PNG, але і вони не пройшли.[5]

В Mozilla Firefox APNG з'явився в версії 3, 23 березня 2007 року.[6] Але, оскільки libpng підтримується все тією ж групою PNG, підтримки формату APNG, швидше за все, в ній ніколи не буде. Браузер Iceweasel в Debian довго не підтримував APNG, але і він в 2011 році перейшов з офіційної бібліотеки на модифікацію Mozilla.[7]

Роль Mozilla в просуванні формату APNG порівнюється з роллю Netscape в просуванні анімаційного GIF.

Також APNG використовується для слайд-шоу в багатьох форматах інтернет-радіо.

Технічні особливості ред.

APNG — це розширений файл PNG. Перший кадр PNG анімації зберігається як звичайний потік PNG. Декодери, які не підтримують APNG, просто відобразять цей кадр. Всі кадри, крім першого, зберігаються в додаткових блоках (chunks) APNG. Додатковий блок зберігає інформацію про кількість кадрів і повторень анімації.

Щоб зменшити розмір, APNG використовує проміжний буфер (специфікація називає його кадровим буфером). Кожен кадр має свій режим роботи з кадровим буфером:

  1. None — зберігати кадр в кадровий буфер.
  2. Background — очищати кадровий буфер.
  3. Previous — не зберігати кадр в кадровий буфер.

Підтримка браузерами ред.

Підтримують ред.

Дата Програма/версія
14 вересня 2007 Opera 9.5 (пост-альфа)[8]
12 червня 2008 Opera 9.5 (остаточна) та Opera Mobile (не підтримує з 15.0)
17 червня 2008 Mozilla Firefox 3.0 (а також інше ПО, ґрунтоване на Gecko, наприклад, SeaMonkey)

Не підтримують ред.

Модулі ред.

Порівняння APNG і MNG ред.

MNG APNG
Є окремим форматом. Надбудова формату PNG: якщо декодер не підтримує APNG, він виведе зображення за замовчуванням (наприклад, перший кадр).
Кожен кадр складається з декількох шарів, що накладаються один на одного; з шарами проводяться складні операції на зразок масштабування та обрізки. Кожен кадр лише зберігає відмінності від попереднього (як GIF). APNG розроблений з метою зайняти «екологічну нішу» анімаційного GIF і в той же час позбутися деяких його обмежень.
Складний в реалізації — обсяг специфікації 350 кілобайт. Простий в реалізації — обсяг специфікації 30 кілобайт.
Якщо потрібно закодувати чоловічка, що йде, в 4 кадри, MNG може використати той факт, що 1-й і 3-й кадри збігаються. Не здатний на таку оптимізацію.
Щоб всі переваги формату проявилися, необхідно використовувати об'єктно-орієнтований редактор анімацій або інтелектуальний кодер. Без цього виграш перед APNG незначний. Формату APNG байдужа внутрішня структура кадрів і спосіб підготовки анімації.

Як створити APNG ред.

Доповнення до Mozilla Firefox:

Розширення Opera:

Програми:

Плагіни APNG:

Інструменти командної строки:

Онлайн створення APNG:

Див. також ред.

Примітки ред.

  1. https://www.w3.org/TR/png/#image-apngW3C.
  2. martin (11 листопада 1999). Bug 18574 - (mng) restore support for MNG animation format and JNG image format. Mozilla. Архів оригіналу за 17 березня 2021. Процитовано 30 березня 2010.
  3. PNG (Portable Network Graphics) Specification, Version 1.1#8.4. Multiple-image extension. libpng. Архів оригіналу за 4 червня 2012. Процитовано 30 березня 2010.
  4. VOTE FAILED: APNG 20070405a. SourceForge mailing list. 20 квітня 2007. Архів оригіналу за 4 червня 2012. Процитовано 24 травня 2014.
  5. Discussion for a simple "animated" PNG format. Архів оригіналу за 26 лютого 2009. Процитовано 12 липня 2011.
  6. Gran Paradiso Alpha 3 release notes. Mozilla. 23 березня 2007. Архів оригіналу за 9 травня 2010. Процитовано 30 березня 2010.
  7. Debian Bug #486827 Iceweasel cannot render APNG image. Debian. 26 серпня 2011. Архів оригіналу за 4 червня 2012. Процитовано 18 вересня 2011.
  8. Opera Desktop Team: Post-Alpha Opera 9.5 Release. Архів оригіналу за 12 березня 2012. Процитовано 24 травня 2014.