アニメーションPNG (.apng)

W3C 標準

Animated Portable Network Graphics (APNG) は、標準の PNG を拡張してマルチフレームアニメーションをサポートするフォーマットであり、完全な 24 ビットトゥルーカラーと 8 ビットアルファ透明度を備え、標準の PNG デコーダーとの下位互換性を持ちます。

APNG を GIF に変換

無料のブラウザ内 APNG から GIF へのコンバーター。お使いのデバイスでファイルを即座に変換します。

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで APNG ファイルを識別します:

ここにファイルを選択またはドロップ

100%プライベートなブラウザ内変換 - ファイルがデバイスから外部に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで APNG ファイルを識別します:

16進数シグネチャ (オフセット 0):

89 50 4E 47 0D 0A 1A 0A

ASCII表現: ‰PNG....

標準化: W3C Community Group Report (2021) / Mozilla Extension

技術仕様

コンテナアーキテクチャPNG chunk stream with acTL (animation control), fcTL (frame control), and fdAT (frame data) chunks
圧縮Deflate (zlib) sliding-window LZ77 with 2D adaptive filtering applied per-frame
バイトエンディアンBig-Endian (network byte order)
色空間sRGB, Display P3, Embedded ICC Profile (iCCP)
チャンネルと構造RGBA (8-bit or 16-bit per channel Truecolor + 8-bit alpha)
最大寸法2,147,483,647 x 2,147,483,647 pixels (PNG 31-bit limit)
透過性Full 8-bit alpha channel transparency (256 levels of smooth translucency)
ストリーミングとプログレッシブProgressive chunk streaming; renders first frame immediately on legacy non-animated PNG parsers

技術比較マトリックス: APNG 対 競合製品

技術属性APNG (現在)GIFWEBPAVIF
色深度24ビット RGB (16.7M 色)8ビットインデックス (256 色)24ビット RGB (16.7M 色)10ビット / 12ビット HDR
アルファ透明度8ビットスムーズアルファ (256 階調)1ビットオン/オフバイナリマスク8ビットスムーズアルファ8ビット / 10ビットスムーズアルファ
下位互換性レガシービューアでは静的 PNG として表示ユニバーサルレガシー GIFレガシービューアではなしレガシービューアではなし
圧縮効率Deflate (中程度)LZW (低)VP8 キー/差分フレーム (高)AV1 フレーム間 (超高)

一般的な破損モードと16進数リカバリガイド

アニメーションが最初のフレームしか再生されず、ループしたり進んだりしない。

根本原因: 最初の IDAT チャンクの前に配置されるべき「acTL」(Animation Control) チャンクが欠落しているか破損している。

復旧: apngasm または File2File Animation Converter を使用してフレームを再多重化し、有効なアニメーション制御チャンクを再構築します。

セキュリティ分析とパーサー攻撃ベクトル

APNG パーサーは繰り返し出現するフレーム制御チャンクを処理しますが、不正な寸法により整数オーバーフローやヒープ枯渇を引き起こす可能性があります。

既知の攻撃ベクター

  • フレームオフセット (x_offset / y_offset) 計算における整数オーバーフローにより、範囲外のフレーム合成を引き起こす。
  • フレーム幅/高さの不一致により、フレームブレンド中にバッファオーバーリードが発生する。
  • 無限アニメーション解凍ループにより、バックエンドのサムネイル生成サービスの CPU が枯渇する。

防御的ベストプラクティス:

歴史的背景とマイルストーン

2021W3C は公式に APNG 仕様を認知されたコミュニティ標準として登録。
2017Google Chrome (v59) がネイティブの APNG サポートを追加し、すべてのデスクトップおよびモバイルブラウザでの採用が完了。
2008Apple がアニメーション化された iOS ステッカーおよび Safari ブラウザのグラフィックスに APNG を採用。
2004Stuart Parmenter と Vladimir Vukicevic が Mozilla Firefox のネットワークステータスアニメーション用に APNG を仕様化。

主な利点とメリット

  • 完全な 24 ビット RGB カラーと 8 ビットアルファ透明度により、1 ビット GIF 透明度で見られるジャギーな輪郭のアーティファクトを完全に排除。
  • レガシーな PNG デコーダーと 100% の下位互換性 (最初のフォールバックフレームがシームレスに表示されます)。
  • すべてのモダンなデスクトップ、iOS、および Android ブラウザにおけるユニバーサルなネイティブハードウェアアクセラレーション再生。

技術的な制限とデメリット

  • WebM や MP4 などの最新の動画ベースのアニメーションフォーマットと比較してファイルサイズが大きい。
  • レガシーな GIF と比較して、生成時のエンコードの複雑さと CPU 使用率が高い。
  • 特殊なビデオコーデックにあるようなフレーム間動きベクトル予測の欠如。

興味深い技術トリビア

  • 公式の PNG Development Group は 2007 年に APNG を拒否し、最終的に普及しなかった別の MNG フォーマットを好みました。
  • Apple は iOS 10 Messages App Store のアニメーションステッカーに APNG を使用し、大規模なモバイルでの採用を推進しました。
  • 1990 年代の古い画像ビューアで APNG ファイルを開いた場合、クラッシュすることなく最初のフレームのみが表示されます。

よくある技術的な質問

APNG が GIF よりも優れているのはなぜですか?

APNG は 1,670 万色と 256 階調の滑らかなアルファ透明度をサポートしていますが、GIF は 256 色に制限され、ギザギザした 1 ビットの透明度しかサポートしていません。

すべてのブラウザが APNG をサポートしていますか?

はい。2017 年以降、すべてのモダンブラウザ(Chrome、Safari、Firefox、Edge)がネイティブで APNG をサポートしています。

APNG を標準の GIF や MP4 に変換できますか?

はい。File2File.app を使えば、ウェブブラウザ上で直接 APNG アニメーションを軽量な GIF、MP4、または WebM ファイルに変換できます。