- 紙の本+PDF発送開始予定日: 2026年11月24日あんしんBOOTHパックで配送予定物販商品(自宅から発送)¥ 1,500
- PDFダウンロード商品¥ 1,500








スクリーンショットを保存するとき、ロゴを書き出すとき、私たちは何気なくPNGを選びます。 写真はJPEG、それ以外はPNG。 では、PNGはなぜ1ピクセルも変えずにファイルを圧縮できるのでしょうか。 PNGは1995年、GIFの特許問題への抗議から、わずか2か月の議論で設計されました。 その圧縮の中身を開けてみると、ZIPやgzipと同じDeflateが入っています。 PNGは画像の性質を利用してデータを偏らせ、汎用の圧縮方式に渡します。 本書では、PNGの誕生の経緯から、チャンクと呼ばれるファイル構造、フィルターとDeflateによる圧縮の仕組み、そして2025年のPNG仕様第3版で正式になったアニメーションPNGまでを解説します。 PNGにひそむZIPの技術を、一緒に解き明かしていきましょう。 読み終えるころには、見慣れたPNGファイルが少し違って見えてくるはずです。
目次
第1章 PNG誕生 - PNGの誕生 - ZIPとの縁 - LZW特許とgzip - Info-ZIPとPNG - zlibの誕生 - PNGの規格 - PNG 1.0 - PNG 1.1と1.2 - 第2版 - 第3版 第2章 PNGの内部構造 - PNGのシグネチャー - PNGのチャンク - チャンクタイプの大文字と小文字 - 必須チャンク - 補助チャンク 第3章 データを圧縮する仕組み - デジタル画像の圧縮 - データの冗長性 - 冗長性を省く三つの手法 - ランレングス符号化(RLE) - 辞書式圧縮 - ハフマン符号化 - PNGにおける圧縮の組み合わせ PNGにひそむZIPの技術 第4章 PNG圧縮アルゴリズム - PNG圧縮の考え方 - 予測して差分だけを記録 - 圧縮処理の流れ - インターレース - フィルタリング - 参照する近傍 - 5種類のフィルター - 差分から元の値を復元 - フィルターごとの予測の違い - フィルターの選び方 - 予測によって生まれる偏り - 圧縮サイズへの効果 - 上の行の参照をLZ77に任せられない理由 - Deflate圧縮 - zlib形式 - zlib、gzip、ZIPの違い - ブロック構造 - LZ77による分解 - 長さと距離の表現 - ハフマン符号化 - マッチとリテラルの損得 - 全体の計算過程 - 写真に近い例 - 図形やイラストに近い例 - フィルターを使わない場合 - カラータイプによるサイズの違い - エンコーダーパラメーター - フィルターの候補 - zlibの圧縮レベル - zlibの戦略 - レベルと戦略によるサイズの違い - LZ77のウィンドウサイズ 第5章 アニメーションPNG - アニメーションPNGとは - 三つのチャンク - acTL(アニメーション制御) - fcTL(フレーム制御) - fdAT(フレームデータ) - 1フレーム目とIDAT - フレームの合成規則 - blend_op(合成方法) - dispose_op(後始末) - GIFやWebPのアニメーションとの違い







