PNG(Portable Network Graphics)とは?意味をわかりやすく簡単に解説

PNG(Portable Network Graphics)とは?意味をわかりやすく簡単に解説

PNG(Portable Network Graphics)とは

PNG(Portable Network Graphics)は、画像データを圧縮して保存するためのファイル形式の一つです。JPEG形式と並び、Webサイトで利用される代表的な画像形式として広く普及しています。PNGは可逆圧縮という技術を用いており、圧縮・展開を繰り返しても画質が劣化しない点が大きな特徴です。

PNG形式は、GIF形式の代替として開発された経緯があります。GIF形式が特許の問題を抱えていたことや、表現できる色数が256色に限定されていたことなどが、PNG開発の背景にあります。PNGはGIFの持つ透過処理の機能を引き継ぎつつ、より多くの色を扱えるように設計されました。

PNG形式には、PNG-8とPNG-24という2つの主要な種類が存在します。PNG-8は256色までの画像を扱うことができ、GIF形式と同様にインデックスカラーを使用します。PNG-24は約1670万色を表現でき、より高画質な画像を扱いたい場合に適しています。用途に応じて適切な種類を選択することが重要です。

PNGの構造と圧縮方式

「PNGの構造と圧縮方式」に関して、以下を解説していきます。

  • PNGのファイル構造
  • PNGの圧縮技術(可逆圧縮)

PNGのファイル構造

PNGファイルは、ヘッダ、複数のチャンク、そして終端シグネチャで構成されています。ヘッダには、ファイルがPNG形式であることを示す情報や、画像の基本的な情報が含まれます。チャンクは、画像データやメタデータなどを格納するための単位です。PNGファイルは、これらのチャンクが連なって構成されています。

チャンクには、必須のIHDRチャンク(画像ヘッダ)、IDATチャンク(画像データ)、IENDチャンク(画像終端)などがあります。IHDRチャンクには、画像の幅、高さ、色深度、圧縮方法などの情報が格納されます。IDATチャンクには、圧縮された画像データが格納されます。これらのチャンクを解析することで、PNG画像を表示したり編集したりできます。

チャンク名内容詳細必須/任意
IHDR画像の基本情報を記述必須
IDAT圧縮された画像データを格納必須
IENDPNGファイルの終端を示す必須
PLTEパレットカラー情報を格納任意
tRNS透過色情報を格納任意

PNGの圧縮技術(可逆圧縮)

PNGは、可逆圧縮アルゴリズムであるDeflateを使用しています。Deflateは、LZ77とハフマン符号化という2つの技術を組み合わせたものです。LZ77は、過去に出現した文字列を再利用することでデータ量を削減します。ハフマン符号化は、出現頻度の高いデータに短い符号を割り当てることで、データ量を削減します。

可逆圧縮では、圧縮前のデータと展開後のデータが完全に一致します。そのため、PNG形式で画像を保存した場合、画質の劣化を心配する必要はありません。JPEG形式などの非可逆圧縮形式と比較して、高画質を維持できる点が大きなメリットです。ただし、一般的に可逆圧縮は非可逆圧縮よりも圧縮率が低くなる傾向があります。

圧縮技術特徴説明メリット
LZ77過去の文字列を再利用データ削減に貢献
ハフマン符号化頻出データに短い符号を付与圧縮率の向上
可逆圧縮画質劣化なし高画質を維持可能
非可逆圧縮データ削減率が高いファイルサイズを小さくできる