PNG (Portable Network Graphics, 1996)(ピング)
GIF の特許問題 (LZW Unisys 特許) を回避するために 1996 年に策定された可逆圧縮画像フォーマット。Deflate (LZ77 + Huffman) 圧縮・アルファ透過 (8/16bit)・最大 16.7M 色を実現、Web 画像の現代標準として君臨する重要規格。RFC 2083 (1997)・ISO/IEC 15948 (2003) 標準化。
概要
PNG (Portable Network Graphics) は、GIF の特許問題 (Unisys 社の LZW 特許、1985-2004) を回避するために 1996 年に PNG Working Group が策定した可逆圧縮画像フォーマットで、Deflate (LZ77 + Huffman) 圧縮・アルファ透過 (8/16bit per channel)・最大 16.7M 色 (24bit RGB) を実現し、Web 画像の現代標準として君臨する重要規格です。RFC 2083 (1997) として IETF 公認、ISO/IEC 15948 (2003) として国際標準化され、2026 年現在も Web 画像 (img タグ)・スクリーンショット・ロゴ・線画・GitHub README 画像など、写真以外の画像用途で事実上の世界標準となっています。GIF の主な制約 (256 色制限・1色透過のみ・LZW 特許問題) をすべて解消し、特許フリー・高画質・アルファ透過対応で 1996-2000 年代に Web で爆発的に普及しました。
主な特徴・仕組み
- 策定: 1996 年 PNG Working Group
- 標準化: 1997 年 RFC 2083、2003 年 ISO/IEC 15948
- 圧縮方式: Deflate (LZ77 + Huffman)、可逆圧縮
- 色深度: 8/16 bit per channel、24bit RGB・48bit RGB
- チャネル: Grayscale・Grayscale+α・RGB・RGB+α・Indexed (パレット)
- アルファ透過: 8/16bit、GIF の 1 色透過から大幅改善
- gamma 補正: sRGB 標準対応、色管理
- ChromaSubsampling: なし、24bit RGB 完全保持
- メタデータ: tEXt・iTXt (UTF-8)・tIME (タイムスタンプ) チャンク
- ファイルサイズ: 24bit RGB 1920×1080 で 0.5-2MB (圧縮率 60-70%)
スペック比較表
| フォーマット | 圧縮率 | 色数 | アルファ | アニメ | 用途 |
|---|---|---|---|---|---|
| PNG | 60-70% | 16.7M | 8bit | × (APNG で○) | Web 線画 |
| GIF | 50-60% | 256 | 1 色 | ○ | アニメ・線画 |
| JPEG | 90-95% | 16.7M | × | × | 写真 |
| WebP | 75-85% | 16.7M | 8bit | ○ | Web 次世代 |
| AVIF | 80-90% | HDR | 10bit+ | ○ | Web 次世代 |
具体例・対応技術
- Web 画像 (1996-): img タグの主要形式、ロゴ・スクリーンショット
- Adobe Photoshop PNG: レイヤー保存・ダミー透過対応
- GitHub README 画像: スクリーンショット・図解で標準
- アプリアイコン: macOS・iOS・Android のアプリアイコンで使用
- APNG (2008): PNG アニメ拡張、Firefox・Safari・Chrome 対応
自作PCでの選び方・注意点
PNG は 2026 年現在も以下の用途で標準的選択肢: (1) Web ロゴ・線画・スクリーンショット (透明背景必須)・(2) GitHub/GitLab README 画像 (スクリーンショット・図解)・(3) UI モックアップ・デザインカンプ・(4) 画像処理スクリプトの中間ファイル (品質劣化回避)。最適化には pngquant (pngquant --quality=65-85 input.png) でパレット化により 50-70% サイズ削減可能、oxipng・OptiPNG で更に圧縮、ImageMagick (magick input.png -strip out.png) でメタデータ削除も効果的。Web 配信向けは WebP・AVIF への変換 (Sharp・Squoosh で簡単) で 30-50% 軽量化可能ですが、互換性のため PNG フォールバック (<picture> タグ) 推奨。Pillow (Python) で Image.save('out.png', optimize=True, compress_level=9) で最大圧縮、pngquant out.png で更にパレット化が可能です。
関連用語との違い
- GIF: 256 色制限・1 色透過、PNG の直接的前身
- JPEG: 非可逆、写真向け、PNG は線画・透過向け
- WebP/AVIF: 次世代、PNG より高圧縮率
よくある質問(FAQ)
Q1: PNG と JPEG の使い分けは? A: 写真・自然画像なら JPEG (90% 圧縮)、線画・ロゴ・スクリーンショット・透明背景なら PNG (可逆)。用途で明確に分かれる。
Q2: PNG はなぜファイルサイズ大? A: 可逆圧縮で品質保持、写真のような自然画像は Deflate でも圧縮効きにくい。線画・パレット画像で効果発揮、写真は JPEG が圧倒的に有利。
Q3: APNG とは? A: PNG のアニメーション拡張、2008 年策定。Firefox・Safari・Chrome 対応、GIF より高画質・アルファ透過対応のアニメが可能。
まとめ
- PNG = 1996 年策定、GIF 特許問題回避の可逆画像フォーマット
- Deflate 圧縮 + 16.7M 色 + 8bit アルファ透過
- RFC 2083/ISO 15948 標準、Web 線画・スクリーンショットの標準
- WebP/AVIF が後継候補、PNG は互換性で主流継続