【保存形式】PNG

XPPen・クリスタ情報

PNG (Portable Network Graphics) の概要

PNGは、ラスター画像フォーマットの一つであり、その名前が示す通り、ポータブル(携帯可能)であることを重視して設計されました。特に、Web上での画像表示や、透過性が必要なグラフィックデザインにおいて広く利用されています。

PNGの利点

可逆圧縮

PNGの最も重要な特徴の一つは、可逆圧縮を採用している点です。これは、画像を圧縮しても、画質の劣化が一切生じないことを意味します。JPEGのような非可逆圧縮フォーマットでは、圧縮率を高めると画質が低下しますが、PNGではオリジナルの画像情報を完全に保持できます。そのため、ロゴ、アイコン、スクリーンショット、テキストを含む画像など、シャープで鮮明な品質が求められる場合に最適です。

透過性(アルファチャンネル)

PNGは、アルファチャンネルと呼ばれる透明度情報をサポートしています。これにより、画像の一部を完全に透明にしたり、半透明にしたりすることが可能です。この機能は、Webデザインにおいて、背景色に影響されずに画像を自由に配置できるため、非常に重宝されます。例えば、Webサイトのヘッダーやナビゲーションに配置されるロゴは、PNG形式で保存されることが一般的です。

色深度の多様性

PNGは、1ピクセルあたり最大48ビットの色情報をサポートしており、非常に豊富な色を表現できます。これは、フルカラーの写真から、単純なアイコンまで、幅広い用途に対応できることを意味します。また、グレースケール画像や、インデックスカラー画像(パレットカラー)もサポートしており、用途に応じて最適な形式で保存できます。

アニメーション非対応

PNGは、単一の静止画フォーマットです。GIFのようにアニメーションを表現する機能は備わっていません。アニメーションが必要な場合は、GIFやAPNG (Animated Portable Network Graphics) などの他のフォーマットを使用する必要があります。

PNGのファイル構造

PNGファイルは、一連のチャンクと呼ばれるデータブロックで構成されています。各チャンクは、その種類を示すタイプコードと、それに続くデータから成り立っています。主要なチャンクには以下のようなものがあります。

IHDR (Image Header Chunk)

PNGファイルのヘッダー情報を含みます。画像の幅、高さ、ビット深度、カラータイプ、圧縮方法、フィルタリング方法、インターレース方法などが定義されます。

PLTE (Palette Chunk)

インデックスカラー画像で使用されるパレット情報を含みます。各ピクセルは、このパレット内の色のインデックス番号で参照されます。

IDAT (Image Data Chunk)

画像データそのものを含みます。このデータは、DEFLATEアルゴリズムによって圧縮されています。

IEND (Image End Chunk)

PNGファイルの終端を示すチャンクです。これ以降にデータは存在しません。

その他のチャンク

上記以外にも、コメント、テキスト情報、ガンマ補正情報、国際色空間情報など、様々な補助的な情報を格納するためのチャンクが存在します。これにより、PNGファイルは単なる画像データだけでなく、付加的なメタデータも保持することができます。

PNGのカラータイプ

PNGは、以下のカラータイプをサポートしています。

0: グレースケール (Grayscale)

白黒の画像を表します。各ピクセルは1つの輝度値で表現されます。

2: トゥルーカラー (Truecolor)

RGBカラーモデルで色を表現します。各ピクセルは赤、緑、青の3つの値で表現され、フルカラーの画像を扱えます。

3: インデックスカラー (Indexed-color)

パレットベースの色表現です。PLTEチャンクで定義されたパレットから色を選択し、各ピクセルはパレット内の色のインデックス番号で表現されます。

4: グレースケール+アルファ (Grayscale with alpha)

グレースケール画像に透明度情報(アルファチャンネル)を追加したものです。

6: トゥルーカラー+アルファ (Truecolor with alpha)

トゥルーカラー画像に透明度情報(アルファチャンネル)を追加したものです。最も汎用性の高いカラータイプであり、Webデザインなどで頻繁に利用されます。

PNGのフィルタリング

PNGは、画像データを圧縮する前に、フィルタリングという処理を行います。これは、隣接するピクセル間の差分を計算することで、データに含まれるエントロピー(予測不可能性)を減らし、圧縮効率を高めるための手法です。PNGでは、以下の5種類のフィルタリング方法が定義されています。

None

フィルタリングを行わない。

Sub

現在のピクセルの値を、左隣のピクセルの値から減算する。

Up

現在のピクセルの値を、上隣のピクセルの値から減算する。

Average

現在のピクセルの値を、左隣と上隣のピクセルの平均値から減算する。

Paeth

左隣、上隣、左上隣のピクセルの値に基づいて、最も予測しやすい値を計算し、その値から現在のピクセルの値を減算する。

エンコーダーは、各スキャンライン(画像の横方向のピクセル列)ごとに最適なフィルタリング方法を選択します。これにより、圧縮アルゴリズムがより効率的にデータを処理できるようになります。

PNGのインターレース

PNGは、Adam7アルゴリズムと呼ばれるインターレース方式をサポートしています。インターレースされた画像は、最初に粗い解像度で表示され、徐々に詳細が表示されていくため、低速なネットワーク環境でも、画像がおおよそどのようなものかを確認しやすくなります。

インターレースは、画像データを7つのパスに分割してエンコードします。これにより、画像全体を段階的に読み込むことができます。デフォルトではインターレースは無効になっており、必要に応じて有効にすることができます。

PNGと他の画像フォーマットとの比較

PNG vs JPEG

JPEGは、写真などの複雑な画像に適した非可逆圧縮フォーマットです。ファイルサイズを小さくできる反面、画質は劣化します。一方、PNGは可逆圧縮であり、画質劣化がありません。ロゴやイラスト、アイコンなど、シャープさが求められる画像に適していますが、写真のような複雑な画像ではファイルサイズが大きくなる傾向があります。

PNG vs GIF

GIFは、256色という色数制限がありますが、アニメーションや単純な透明度をサポートしています。PNGは、より多くの色数と高度な透明度(アルファチャンネル)をサポートしており、画質も優れています。アニメーションはサポートしていませんが、静止画像においてはGIFよりも優れた選択肢となります。

まとめ

PNGは、その可逆圧縮、高精度な透過性、そして豊富な色表現能力により、Webデザイン、グラフィックデザイン、アイコン作成など、様々な分野で不可欠な画像フォーマットとなっています。品質を最優先し、画質の劣化を避けたい場合に最適な選択肢と言えるでしょう。一方で、アニメーション機能がない点や、写真などではファイルサイズが大きくなる可能性も理解しておくことが重要です。