APNG

アニメーションPNG
跳ねるビーチボールのアニメーション PNG (APNG) (一部の Web ブラウザでは静止画像として表示されます)
ファイル名拡張子
.png.apng
インターネットメディアの種類
image/png、、image/apngimage/vnd.mozilla.apng
開発者Mozilla Foundation ( W3Cが採用)
初回リリース2004年8月27日[ 1 ] (2004年8月27日
フォーマットの種類アニメーション化されたロスレスビットマップ画像
延長からPNG
オープンフォーマット?はい

アニメーションポータブルネットワークグラフィックスAPNG)は、ポータブルネットワークグラフィックス(PNG)仕様を拡張したファイル形式です。アニメーションGIFファイルと同様に動作するアニメーション画像の作成を可能にしながら、GIFでは実現できない高色深度完全なアルファ透過性を持つ画像をサポートしています。また、アニメーション化されていないPNGファイルとの下位互換性も維持されています。2004年にMozilla Foundationによって開発されました。

APNGファイルの最初のフレームは通常のPNGストリームとして保存されるため、ほとんどの標準的なPNGデコーダーはAPNGファイルの最初のフレームを表示できます。フレーム速度データと後続のすべてのフレームは、(元のPNG仕様に従って)追加のチャンクに保存されます。

APNGは、ビットマップアニメーション用の包括的なフォーマットであるMultiple-image Network Graphics (MNG)と競合していました。MNGは、現在では廃止されているPNGと同じチームによって2001年に開発されました。APNGがMNGに対して優れている点は、ライブラリサイズが小さいことと、古いPNG実装との互換性があることです。

歴史と発展

APNG仕様は、スロバーなどのインターフェースに必要なアニメーションを保存できるようにするために、 2004年にMozilla CorporationのStuart ParmenterとVladimir Vukićevićによって作成されました。[ 1 ] [ 2 ] 2003年5月、Mozillaは、拡張性の高いMNGデコーダーライブラリ(300KB)に必要なファイルサイズが大きいことを懸念して、APNG機能のスーパーセットを提供するMNGアニメーションのサポートを廃止しました。 [ 3 ] PNGデコーダーに基づいて構築されたAPNGデコーダーは、はるかに小さなコンポーネントでした。

PNGおよびMNG形式のユーザーおよび管理者の間では、APNGは冷ややかな反応しか得られませんでした。特に、PNGは単一画像形式として考えられていました。[ 4 ] APNGは後続のフレームをPNG補助チャンクに隠すため、APNGを認識しないアプリケーションはそれらを無視しますが、それ以外にはソフトウェアがアニメーション画像と非アニメーション画像を区別できるようにするための形式への変更はありません。このことから生じる主な懸念のいくつかは、アプリケーションがPNGとAPNGをネゴシエートできないこと、受信したPNGとAPNGを区別できないこと、またはレガシーソフトウェアが追加フレームがあることをユーザーに通知できないことでした。 Glenn Randers-Pehrsonは、PNG純粋主義者の立場とAPNG支持者の立場を調和させる取り組みの先頭に立って、APNGのフォーマットの変更を推奨し、独自のMIMEタイプ(:video/png)の使用を提案したが、APNG支持者は異なるMIMEタイプ(image/apng)を追加しただけで、.apngではなく.png拡張子使用を主張したため、このフォーマットはPNG開発グループによって承認されなかった。[ 6 ]

PNG開発グループは2007年4月20日にAPNGを公式の拡張機能として拒否しました[ 7 ]。その後、PNGをベースにしたシンプルなアニメーショングラフィックフォーマットの提案がいくつか出てきましたが、いくつかの異なるアプローチが用いられています[ 8 ] 。しかし、2021年9月14日以降、PNGワーキンググループはワールドワイドウェブコンソーシアム(W3C)によってPNG仕様の維持と開発の任務を委任され、2022年10月25日にはPNG仕様(第3版)の最初の公開ワーキングドラフトが公開され、コアPNG仕様にAPNG拡張機能が追加されました[ 9 ] 。候補勧告は2023年9月21日に公開されました[ 10 ]。

2025 年 6 月 24 日に、最終的に W3C によって最終勧告のステータスに昇格されました。

ファイル形式

APNG仕様はPNGファイル形式に準拠しており、3つの新しい補助チャンクを導入している。[ 11 ]

  • アニメーション制御チャンク(acTL)は、デフォルト画像のIDATの前にあり、これがアニメーションPNGファイルであることを示す一種の「マーカー」です。また、フレーム数とアニメーションのループ回数(0は無限ループを意味します)も含まれています。
  • フレーム制御チャンク (fcTL) は各フレームの前にあり、そのメタデータ (寸法、位置 (デフォルト画像に対する相対位置)、継続時間、フレームが終わると黒にクリアされるか、前のフレームに置き換えられるか、次のフレームに上書きされるか、透明度が適用されるかどうか) が含まれます。
  • フレームの内容を格納するフレームデータチャンク(fdAT)。シーケンス番号で始まり、デフォルトイメージのIDATチャンクと同じ構造を持ちます。

シーケンス番号はフレーム制御チャンクとフレームデータチャンクの両方に適用され、共通のシーケンスに従うため、APNGを認識しないPNGエディタがPNGチャンク順序付けルールに従ってフレームを並べ替えた場合でも、フレームの順序とタイミングを復元できます。[ 12 ]

フレームは、デフォルトの画像と同じビット深度、カラー タイプ、圧縮方法、フィルター方法、インターレース方法、およびパレット (存在する場合) を使用します。

PNGファイルを読み取るアプリケーションは、理解できないチャンクを無視するように設計されており、[ 13 ] APNGは後方互換性を持っています。APNG拡張機能をサポートしていないアプリケーションは、最初のフレームのみを表示し、残りのフレームは無視します。

3 つの個別の PNG ファイルからアニメーション PNG を組み立てる方法を示す図

圧縮と最適化

APNGファイルを可能な限り小さくするためには、フレーム間最適化[ 14 ]、アルファブレンドとアルファ破棄操作の利用、フルサイズのサブフレームより小さいサイズ、ダーティ透明度、カラータイプとカラーパレットの最適化、そしてさまざまな圧縮オプション(zlib7-ZipZopfli)など、さまざまな最適化技術が用いられます。 [ 15 ]

派生形式

シグナルのアニメーションステッカーはAPNG形式ですが、いくつかの制限があります(ファイルサイズは300kbまで、アニメーションの長さは3秒まで、そして、明らかに(この最後の点は不明ですが)、解像度は512x512ピクセルである必要があります)。[ 16 ]

サポート

APNG画像を作成するための無料ソフトウェア、APNG Assemblerのロゴ

Mozilla Firefoxは、 2007年3月23日にバージョン3のトランクビルドでAPNGのサポートを追加しました。[ 17 ]しかし、libpngはPNGグループの公式仕様のリファレンス実装であるため、グループによって承認されていなかったため、メインのlibpngディストリビューションのバージョン1.8より前にはAPNGのサポートは追加されませんでした。Iceweasel 3は、Mozillaの非公式なlibpngを使用してAPNGをサポートしています。[ 18 ]

2008年、WorldDMBはデジタルラジオのMOTスライドショーユーザーアプリケーションの一部としてアニメーションを可能にするための下位互換性のある拡張機能としてAPNGを採用しました。「APNG 1.0仕様 - アニメーションポータブルネットワークグラフィックス」は、ETSI標準TS 101 499 V2.2.1の規範的な付録Aに含まれています。[ 19 ] 2016年、AppleはiOS 10 iMessageアプリのアニメーションステッカーの推奨フォーマットとしてAPNGフォーマットを採用しました。[ 20 ] 2017年3月15日、ChromiumにAPNGのサポートが追加されました。[ 21 ]

APNGをサポートするコンピュータプログラムの一覧(バージョン番号とリリース日付き)
分野ソフトウェアサポートしますか?以来
画像処理APNGアセンブラ はい 2.91節[ 22 ]
cphktool APNGアニメメーカー はい 第1巻(2009年6月9日)[ 23 ]
APNG逆アセンブラ はい 第1巻[ 24 ]
APNGオプティマイザー はい バージョン1.0(2011年3月28日)[ 25 ]
チャシス ドロー IESはい[ 26 ]5.17.05巻[ 27 ]
クリップスタジオペイントはい v. 1.6.7 (2017 年 9 月 7 日) [ 28 ]
FFmpegはい[ 29 ]2.7節[ 30 ]
ファイアアルパカはい 2.3.13節[ 31 ]
ガマニGIFムービーギア はい v. 4.2(2008年3月)[ 32 ]
性同一性障害 読み取り専用 第11巻(2023年12月)[ 33 ]
ギンプはい[ 34 ]計画済み
ハニーカムはい v. 3.48 (2021 年 11 月 29 日) [ 35 ]
ハニービューはい v. 5.10(2015年2月17日)[ 36 ]
イメージJはい v. 1.41g(2008年7月3日)[ 37 ]
イメージマジックはい v. 7.0.10-31 (2020 年 9 月 20 日) [ 38 ]
想像する はい バージョン1.0.2(2008年5月4日)[ 39 ]
イルファンビュー読み取り専用 v. 4.40 (2015年7月31日)
コンバーター はい v. 4.02(2010年5月)[ 40 ]
KSquirrel(後にSAIL) 読み取り専用 v. 0.7.2 (2007 年 10 月 3 日) [ 41 ]
ペイント.NETプラグインが必要[ 42 ]該当なし
フォトラインはい v19.5(2016年3月11日)
リアルワールドペイント はい v. 2011.1 (2011 年 12 月) [ 43 ]
バーチャルダブプラグインが必要[ 44 ] [ a ]該当なし
XnView読み取り専用 v. 1.97.4 (2010 年 4 月 30 日) [ 45 ]
SciterとHTMLayout UIエンジン 読み取り専用 2008年以来
クリタはい[ 46 ]Krita Nightly 5.0.0 プレアルファ版(2021年2月22日以降)[ 47 ]
qビュー読み取り専用 バージョン4.0(2020年10月31日)
ブラウザエンジンウェブキットはい (2015年3月17日)[ 48 ]
瞬きはい 2017年6月
ウェブブラウザMozilla Firefox ( Gecko レイアウト エンジン)はい v. 3 (2008 年 6 月 17 日) [ 49 ] [ 50 ]
SeaMonkey ( Gecko レイアウト エンジン)はい 2巻
Iceweasel およびその他の Debian のブランド変更( Gecko レイアウト エンジン)はい v. 4.0~b12 [ 18 ]
Safari ( WebKitレイアウトエンジン)はい v. 8.0 [ 51 ]
Google ChromeChromium ( Blink レイアウト エンジン)はい v. 59 (2017 年 6 月 5 日) [ 52 ] [ 53 ]
Internet Explorer ( Trident レイアウト エンジン)いいえ[ 51 ]該当なし
Microsoft Edge [レガシー] ( EdgeHTML レイアウト エンジン)いいえ[ 51 ] [ 54 ]該当なし
Microsoft Edge ( Blinkレイアウトエンジン)はい 79節
Opera v12 以前( Presto レイアウト エンジン)はい v. 9.5(2008年6月12日)[ 55 ]
Opera 15以降Blinkレイアウトエンジンはい v. 46.0(2017年6月22日)[ 56 ]
Pale Moon ( Goanna レイアウト エンジン)はい 27節
モバイルブラウザiOSサファリはい[ 51 ]バージョン8.0
Android版Firefoxはい[ 51 ]?
Android向けSamsungインターネットはい バージョン7.0
Operaモバイルはい ?
生産性ソフトウェアリブレオフィスはい[ 57 ]計画済み
  1. ^ビデオを読み込んだ後、「ファイル | エクスポート | アニメーション PNG」メニュー項目から APNG ファイルを作成できます。

キャンバスタグをサポートしているがAPNGをサポートしていないウェブブラウザでAPNGを表示できるようにするサーバサイドライブラリが存在します。 [ 58 ]このようなブラウザの例としては、Microsoft Edge LegacyやInternet Explorer 9などがあります。

参照

参考文献

  1. ^ a b「MozillaにAPNGサポートを追加」 Bugzilla Mozilla Foundation、2004年8月27日。 2024年4月23日閲覧
  2. ^スチュアート・パーメンター;ウラジミール・ヴキチェヴィッチ(2004年9月2日)。「APNG 0.4 [ドラフト]」。ウラジーミル・ヴキチェビッチ。2004 年 11 月 19 日のオリジナルからアーカイブ2024 年4 月 23 日に取得
  3. ^ martin (1999-11-11). 「バグ 18574 - (mng) MNGアニメーション形式とJNG画像形式のサポートを復元」 . Mozilla . 2010年3月30日閲覧
  4. ^ 「PNG(Portable Network Graphics)仕様、バージョン1.1#8.4。複数画像拡張」。libpng 2010年3月30日閲覧
  5. ^ 「APNG仕様、バージョン1.0#MIMEタイプ」。Mozilla 2017年12月10日閲覧。
  6. ^ 「ImageMagickはアニメーションPNGを検出できません」。GitHub 2017年12月10日閲覧
  7. ^ 「投票失敗: APNG 20070405a」。SourceForgeメーリングリスト。2007年4月20日。
  8. ^ 「シンプルな「アニメーション」PNG形式に関する議論」 。 2009年2月26日時点のオリジナルよりアーカイブ2011年7月12日閲覧。
  9. ^ 「PNG第3版の説明」 W3C GitHub 2023年5月24日
  10. ^ 「PNG仕様(第3版)、 APNG :フレームベースのアニメーション」。w3.org 。2023年9月21日。
  11. ^ 「APNG 仕様 - MozillaWiki」
  12. ^チャンク順序付けルール(PNG 1.2仕様)
  13. ^ 「ポータブル ネットワーク グラフィックス (PNG) 仕様 (第 2 版)」
  14. ^ 「APNGにおけるフレーム間最適化」littlesvr.ca . 2014年4月26時点のオリジナルよりアーカイブ2021年10月21日閲覧。
  15. ^ 「APNGアセンブラ」 . apngasm.sourceforge.net . 2021年10月21日閲覧
  16. ^ 「ステッカー」 . Signal サポート. Signal . 2021年12月28日閲覧
  17. ^ 「Gran Paradiso Alpha 3 リリースノート」Mozilla 2007年3月23日。2009年12月26日時点のオリジナルよりアーカイブ。 2010年3月30日閲覧
  18. ^ a b「Debian Bug #486827 Iceweasel が APNG 画像をレンダリングできない」 Debian 2011年8月26日2011年9月18日閲覧
  19. ^ 「デジタルオーディオ放送(DAB)MOTスライドショーユーザーアプリケーション仕様」(PDF) ETSI 2013年1月30日閲覧
  20. ^ 「メッセージング - 拡張機能 - iOS ヒューマンインターフェースガイドライン」 . developer.apple.com . Apple, Inc. 2016年10月12日閲覧
  21. ^ 「Anzwix / Chromium / アニメーションPNGのサポートを追加」 。 2017年3月16日時点のオリジナルよりアーカイブ2017年3月15日閲覧。
  22. ^ maxst (2017年11月15日). 「APNGアセンブラ」 . SourceForge .
  23. ^ "cphktool APNGアニメメーカー" . cphktool. 2010年2月9日時点のオリジナルよりアーカイブ2010年6月28日閲覧。
  24. ^ maxst. 「APNG逆アセンブラー」 . SourceForge .
  25. ^ maxst. 「APNGオプティマイザー」 . SourceForge .
  26. ^ 「Chasys Draw IES のオンライン ヘルプ: ファイル形式 - その他の画像ファイル」
  27. ^ 「Chasys Draw IESのオンラインヘルプ:履歴」 。 2022年7月18日閲覧
  28. ^ 「CLIP STUDIO PAINT バージョン1.6.7 リリースノート(2017年9月7日)」 。 2024年4月22日閲覧
  29. ^ 「FFmpeg 形式のドキュメント」
  30. ^ 「FFmpegのGitHub変更ログ」 . GitHub . 2016年7月9日閲覧。
  31. ^ 「FireAlpacaアップデート履歴」 。 2021年9月4日閲覧
  32. ^ 「アニメーションPNG:アルファチャンネルを使ったシンプルなアニメーション」 Gamani . 2009年8月25日閲覧
  33. ^ 「GID (Generic Image Decoder)」 . GitHub . 2023年12月9日閲覧
  34. ^ 「問題#1278: 初期APNGロードサポート」 。 2025年6月10日閲覧
  35. ^ 「Honeycam - バージョン履歴」 . Bandisoft International Inc. 2022年1月9日閲覧
  36. ^ 「Honeyview - バージョン履歴」 . Bandisoft International Inc. 2022年1月9日閲覧
  37. ^ "ImageJ News" . ImageJ . 2009年5月21日時点のオリジナルよりアーカイブ。 2009年5月23日閲覧
  38. ^ 「ImageMagick - 変更ログ」 。 2021年4月25日閲覧
  39. ^ “Imagine - What's new” . 2011年10月8日時点のオリジナルよりアーカイブ2017年9月1日閲覧。
  40. ^ 「Konvertor - マルチメディア処理ソリューション」 2010年5月12日時点のオリジナルよりアーカイブ。 2010年5月19日閲覧
  41. ^ 「KSquirrel Codecs ChangeLog」 . GitHub . 2021年10月15日.
  42. ^ "「『PNGアニメーションと画像』ファイルタイププラグイン(.PNG、.APNG)[最新v1.4 2022-01-07]」Paint.NETフォーラム。2022年1月7日。
  43. ^ 「アニメーション PNGの詳細 - Vlasta のブログ」www.rw-designer.com
  44. ^ 「SourceForge.net: VirtualDub APNG Mod」 . vdubapngmod.sourceforge.net .
  45. ^ XnView は複数のオペレーティング システムで使用できますが、 APNG サポートが追加されて以降はWindows用のバージョンのみがリリースされています。
  46. ^ 「APNGエクスポートのサポート」 。 2021年8月16日閲覧
  47. ^ 「APNG および WEBP アニメーションエクスポート (dbe993da) · コミット · Graphics / Krita」 . GitLab . 2021年2月22日. 2021年8月16日閲覧
  48. ^ 「アニメーションPNGグラフィック」 . WebKit . 2015年3月17日. 2015年3月17日閲覧
  49. ^ Parmenter, Stuart; Vladimir Vukicevic; Andrew Smith (2008年7月4日). 「アニメーションPNGグラフィック」 . Mozilla Developer Center . Mozilla . 2008年12月4日時点のオリジナルよりアーカイブ2009年5月23日閲覧。
  50. ^ 「Firefox 3 for developers」 . Mozilla Developer Center . Mozilla . 2008年10月1日. 2008年11月13日時点のオリジナルよりアーカイブ。 2009年5月23日閲覧
  51. ^ a b c d e「アニメーションPNG(APNG)」HTML5、CSS3などのテーブルをサポートしています
  52. ^ "7d2b8c45afc9c0230410011293cc2e1dbb8943a7 - chromium/src - Google の Git" . chromium.googlesource.com .
  53. ^ 「デスクトップ版Stableチャンネルアップデート」。Chromeリリース2017年6月6日閲覧。
  54. ^ 「Microsoft EdgeにおけるAPNG画像形式の現状」。Microsoft Edge開発。 2017年7月29日閲覧
  55. ^ 「Opera 9.5でサポートされるWeb仕様」。Opera Software 。 2009年2月25日時点のオリジナルよりアーカイブ2009年5月23日閲覧。
  56. ^ 「Opera 46が最終版へ、品質向上とOpera初のテレビ広告」 Opera Software、2017年6月22日。 2017年6月26日閲覧
  57. ^ 「Google Summer of Code 2023でLibreOfficeに選ばれたプロジェクト:APNGのインポート/エクスポートサポートを追加」 LibreOffice 2023年5月29日。 2023年5月29日閲覧
  58. ^ 「APNG-canvasライブラリ」 . GitHub . 2021年10月11日.