歴史と発展
APNG仕様は、スロッバーなどのインターフェースに必要なアニメーションを保存できるようにするために、 2004年にMozilla CorporationのStuart ParmenterとVladimir Vukićevićによって作成されました。[ 1 ] [ 2 ] 2003年5月、Mozillaは、APNG機能の上位セットを提供するMNGアニメーションのサポートを廃止しました。これは、拡張されたMNGデコーダライブラリに必要な大きなファイルサイズ(300KB)に関する懸念によるものでした。[ 3 ] PNGデコーダをベースに構築されたAPNGデコーダは、はるかに小さなコンポーネントでした。
PNG および MNG フォーマットのユーザーや保守担当者の間では、APNG は冷ややかな反応しか得られませんでした。特に PNG は単一画像フォーマットとして構想されました。[ 4 ] APNG は後続のフレームを PNG 補助チャンクに隠蔽し、APNG を認識しないアプリケーションがそれらを無視するようにしますが、それ以外にソフトウェアがアニメーション画像と非アニメーション画像を区別できるようにフォーマットに変更はありません。このことから生じる主な懸念事項のいくつかは、アプリケーションが PNG と APNG のネゴシエーションができない、受信した PNG と APNG を区別できない、あるいはレガシーソフトウェアが追加のフレームがあることをユーザーに通知できないことでした。 Glenn Randers-Pehrson は、APNG のフォーマットの変更を推奨し、独自のMIME タイプ(例: video/png) の使用を提案することで、PNG 純粋主義者の立場と APNG 支持者の立場を調和させる取り組みを主導しましたが、APNG 支持者は異なる MIME タイプ (image/apng) [ 5 ]を追加しただけで、拡張子を.apngではなく.pngにすることを主張したため、フォーマットは PNG 開発グループによって承認されませんでした。[ 6 ]
PNG 開発グループは 2007 年 4 月 20 日に APNG を公式拡張機能として却下し[ 7 ]、その後、さまざまなアプローチを使用した PNG ベースのシンプルなアニメーション グラフィックス フォーマットの提案がいくつかありました[ 8 ] 。しかし、2021 年 9 月 14 日以降、PNG ワーキング グループは、 PNG 仕様の維持と開発のためにWorld Wide Web Consortium (W3C) から認可を受け、PNG 仕様の最初の公開作業ドラフト (第 3 版) が 2022 年 10 月 25 日に公開され、コア 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を組み立てる可能性のある方法を示す図Signal用のアニメーションステッカーは、いくつかの制限がある APNG です (ファイル サイズは 300kb に制限され、アニメーションの長さは 3 秒に制限され、視覚的には (この最後の点は不明確ですが)、解像度は 512x512 ピクセルである必要があります)。[ 16 ]
サポート
APNG画像を作成するための無料ソフトウェア、APNG Assemblerのロゴ。Mozilla Firefox は、 2007 年 3 月 23 日にバージョン 3 のtrunk ビルドで APNG のサポートを追加しました。 [ 17 ]しかし、libpng は PNG グループの公式仕様のリファレンス実装であるため、APNG のサポートは、グループによって承認されていなかったため、メインの libpng ディストリビューションのバージョン 1.8 より前には追加されませんでした。Iceweasel 3 は、Mozilla の非公式の libpng バリアントを使用することで APNG をサポートしています。[ 18 ]
2008年、WorldDMBはデジタルラジオのMOT SlideShowユーザーアプリケーションの一部としてアニメーションを可能にするための下位互換性のある拡張機能として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 ]
- ↑動画を読み込んだ後、「ファイル|エクスポート|アニメーションPNG」メニュー項目からAPNGファイルを作成できます。
キャンバスタグをサポートするがAPNGをサポートしないウェブブラウザでAPNGを表示できるようにするサーバーサイドライブラリが存在する。 [ 59 ]このようなブラウザの例としては、Microsoft Edge LegacyやInternet Explorer 9などがある。
参考文献
- 1 2 「Mozilla に APNG サポートを追加する」。Bugzilla。Mozilla Foundation。2004年 8 月 27 日。2024年4 月 23 日取得。
- ↑スチュアート・パーメンター。ウラジミール・ヴキチェヴィッチ(2004年9月2日)。「APNG 0.4 [ドラフト]」。ウラジーミル・ヴキチェビッチ。2004 年 11 月 19 日のオリジナルからアーカイブ。2024 年4 月 23 日に取得。
- ↑ martin (1999-11-11). "バグ 18574 - (mng) MNG アニメーション形式と JNG 画像形式のサポートを復元" . Mozilla . 2010-03-30に取得.
- ↑ "PNG (Portable Network Graphics) 仕様、バージョン 1.1#8.4. 複数画像拡張" . libpng . 2010-03-30に取得.
- ↑ 「APNG仕様、バージョン1.0#MIMEタイプ」。Mozilla 。 2017年12月10日取得。
- ↑ 「ImageMagick はアニメーション PNG を検出できません」。GitHub。2017-12-10に取得。
- ↑ "投票失敗: APNG 20070405a"。SourceForgeメーリングリスト。2007-04-20。
- ↑ 「シンプルな「アニメーション」PNG形式に関する議論」 。 2009年2月26日のオリジナルからアーカイブ済み。2011年7月12日取得。
- ↑ 「PNG第3版解説」。W3C GitHub。2023年5月24日。
- ↑ 「PNG仕様(第3版)、 APNG :フレームベースアニメーション」。w3.org 。2023年9月21日。
- ↑ 「APNG仕様 - MozillaWiki」
- ↑チャンク順序付けルール(PNG 1.2仕様)
- ↑ 「ポータブルネットワークグラフィックス(PNG)仕様(第2版)」
- ↑ 「APNGにおけるフレーム間最適化」 . littlesvr.ca . 2014年4月26日のオリジナルからアーカイブ済み。 2021年10月21日取得。
- ↑ "APNG アセンブラ" . apngasm.sourceforge.net . 2021年10月21日取得.
- ↑ 「ステッカー」 . Signal サポート. Signal . 2021 年12 月 28 日取得。
- ↑ 「グランパラディーゾ アルファ3 リリースノート」。Mozilla 。2007年3月23日。2009年12月26日のオリジナルからアーカイブ。2010年3月30日取得。
- 1 2 "Debian Bug #486827 Iceweasel は APNG 画像をレンダリングできません" . Debian . 2011-08-26 . 2011-09-18に取得.
- ↑ 「デジタルオーディオ放送(DAB); MOTスライドショー; ユーザーアプリケーション(pdf)仕様」(PDF)。ETSI 。 2013年1月30日取得。
- ↑ 「メッセージング - 拡張機能 - iOS ヒューマンインターフェイスガイドライン」。developer.apple.com。Apple , Inc. 2016年10月12日取得。
- ↑ "Anzwix / Chromium / アニメーションPNGのサポートを追加"。2017年3月16日にオリジナルからアーカイブ済み。2017年3月15日に取得。
- ↑ maxst (2017年11月15日). "APNGアセンブラ" . SourceForge .
- ↑ "cphktool APNG Anime Maker" . cphktool. 2010年2月9日にオリジナルからアーカイブ済み。2010年6月28日に取得。
- ↑ maxst. "APNG Disassembler" . SourceForge .
- ↑ maxst. "APNG Optimizer" . SourceForge .
- ↑ 「Chasys Draw IES のオンラインヘルプ: ファイル形式 - その他の画像ファイル」。
- ↑ 「Chasys Draw IES のオンラインヘルプ: 履歴」 。 2022年7月18日取得。
- ↑ 「CLIP STUDIO PAINT バージョン 1.6.7 リリースノート (2017/9/7)」。2024-04-22に取得。
- ↑ 「FFmpegフォーマットのドキュメント」。
- ↑ 「FFmpeg の GitHub 変更履歴」。GitHub。2016年 7 月 9 日に取得。
- ↑ 「FireAlpaca 更新履歴」 。 2021年9月4日取得。
- ↑ 「アニメーションPNG:アルファチャンネルを使用したシンプルなアニメーション」。Gamani 。 2009年8月25日取得。
- ↑ "GID (Generic Image Decoder)" . GitHub . 2023-12-09取得.
- ↑ 「GIMP 3.1.2: GIMP 3.2 に向けた最初の開発リリース」 。 2026年3月3日取得。
- ↑ 「Honeycam - バージョン履歴」。Bandisoft International Inc. 2022年1月9日取得。
- ↑ 「Honeyview - バージョン履歴」。Bandisoft International Inc. 2022年1月9日取得。
- ↑ 「 ImageJニュース」。ImageJ 。 2009年5月21日のオリジナルからアーカイブ済み。 2009年5月23日取得。
- ↑ 「ImageMagick - 変更履歴」 。 2021年4月25日取得。
- ↑ 「Imagine - What's new」。2011年10月8日にオリジナルからアーカイブ済み。2017年9月1日に取得。
- ↑ 「Konvertor - マルチメディア処理のためのソリューション」。2010年5月12日にオリジナルからアーカイブ済み。2010年5月19日に取得。
- ↑ "KSquirrel Codecs ChangeLog" . GitHub . 2021年10月15日。
- ↑ "「PNGアニメーションと画像」ファイルタイププラグイン(.PNG、.APNG)[最新版v1.4 2022-01-07 ] "。Paint.NETフォーラム。2022年1月7日。
- ↑ 「アニメーションPNGについてもっと詳しく - Vlastaのブログ」。www.rw -designer.com。
- ↑ "SourceForge.net: VirtualDub APNG Mod" . vdubapngmod.sourceforge.net .
- ↑ XnViewは複数のオペレーティングシステムで利用可能ですが、 APNGサポートが追加されてからはWindows版のみがリリースされています。
- ↑ 「APNGエクスポートサポート」 。 2021年8月16日取得。
- ↑ "APNG および WEBP アニメーションのエクスポート (dbe993da) · コミット · グラフィックス / Krita" . GitLab . 2021 年 2 月 22 日. 2021 年 8 月 16 日取得.
- ↑ 「アニメーションPNGグラフィック」。WebKit 。 2015年3月17日。 2015年3月17日取得。
- ↑ Parmenter, Stuart; Vladimir Vukicevic; Andrew Smith (2008年7月4日)。「アニメーションPNGグラフィックス」。Mozilla開発者センター。Mozilla 。 2008年12月4日のオリジナルからアーカイブ。 2009年5月23日取得。
- ↑ 「開発者向け Firefox 3」。Mozilla開発者センター。Mozilla。2008年10 月 1 日。2008 年 11 月 13 日のオリジナルからアーカイブ済み。2009年 5 月 23 日取得。
- 1 2 3 4 5 「アニメーション PNG (APNG)」。使用できますか... HTML5、CSS3 などのテーブルをサポートします。
- ↑ "7d2b8c45afc9c0230410011293cc2e1dbb8943a7 - chromium/src - Git at Google" . chromium.googlesource.com .
- ↑ 「デスクトップ版の安定版チャンネルアップデート」 . Chrome リリース. 2017-06-06取得.
- ↑ 「Microsoft EdgeにおけるAPNG画像フォーマットの現状」。Microsoft Edge開発。2017年7月29日取得。
- ↑ 「Opera 9.5 でサポートされている Web 仕様」。Opera Software。2009年 2 月 25 日にオリジナルからアーカイブ済み。2009年 5 月 23 日に取得。
- ↑ 「Opera 46が正式版となり、品質向上とOpera初のテレビCMが公開」。Opera Software。2017年6月22日。 2017年6月26日閲覧。
- ↑ 「APNG – 使用できますか…」 。 2026年3月3日取得。
- ↑ 「アニメーションPNGのフィルタインポートと再生のサポートを実装 -- APNG」。LibreOffice 。2026年3月3日取得。
- ↑ "APNG-canvasライブラリ" . GitHub . 2021年10月11日。
外部リンク
- PNG仕様書(第3版)に基づくAPNG
- mozilla.orgのWikiにあるAPNG仕様
- libpng用のAPNGパッチ
- MozillaのAPNGデモサイト
- APNGソフトウェアおよび開発者向けリソースのディレクトリ
- APNG 1.0をサポートするブラウザ向けのAPNGテスト
- AJAXの読み込みアニメーションをAPNG形式で表示
- Chromium開発グループにおけるAPNGの検討