<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wikippe.e-do-match.com/index.php?action=history&amp;feed=atom&amp;title=Portable_Network_Graphics</id>
	<title>Portable Network Graphics - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wikippe.e-do-match.com/index.php?action=history&amp;feed=atom&amp;title=Portable_Network_Graphics"/>
	<link rel="alternate" type="text/html" href="https://wikippe.e-do-match.com/index.php?title=Portable_Network_Graphics&amp;action=history"/>
	<updated>2026-08-16T15:21:34Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wikippe.e-do-match.com/index.php?title=Portable_Network_Graphics&amp;diff=2413&amp;oldid=prev</id>
		<title>2014年7月9日 (水) 01:30に61.124.61.95による</title>
		<link rel="alternate" type="text/html" href="https://wikippe.e-do-match.com/index.php?title=Portable_Network_Graphics&amp;diff=2413&amp;oldid=prev"/>
		<updated>2014-07-09T01:30:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox file format&lt;br /&gt;
| name = Portable Network Graphics&lt;br /&gt;
| icon = &lt;br /&gt;
| screenshot =[[ファイル:PNG transparency demonstration 1.png|200px]]&amp;lt;br /&amp;gt;[[ファイル:PNG transparency demonstration 2.png|200px]]&lt;br /&gt;
| caption = 上は、8ビット透明チャネルを含むPNG画像。下は、同じ画像を[[市松模様]]の背景の上に重ねたもの。市松模様は透明であることを示すために[[グラフィックエディタ]]などでよく用いられる。&lt;br /&gt;
| extension = .png&lt;br /&gt;
| mime = image/png&lt;br /&gt;
| typecode = &amp;lt;code&amp;gt;PNGf&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;PNG &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
| magic = \x89PNG\x0d\x0a\x1a\x0a&lt;br /&gt;
| uniform type = public.png&lt;br /&gt;
| genre = [[可逆圧縮]][[ビットマップ画像|ビットマップ]][[画像]]&lt;br /&gt;
| containerfor = [[画像]]、[[テキスト]]&lt;br /&gt;
| containedby = &lt;br /&gt;
| owner = [[World Wide Web Consortium|W3C]]&lt;br /&gt;
| extendedfrom = &lt;br /&gt;
| extendedto = [[Animated Portable Network Graphics|APNG]]、[[JPEG Network Graphics|JNG]]、[[Multiple-image Network Graphics|MNG]]&lt;br /&gt;
| standard = [[International Organization for Standardization|ISO]] 15948、[[Internet Engineering Task Force|IETF]] RFC 2083&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Portable Network Graphics&amp;#039;&amp;#039;&amp;#039;（ポータブル・ネットワーク・グラフィックス、&amp;#039;&amp;#039;&amp;#039;PNG&amp;#039;&amp;#039;&amp;#039;）は[[コンピュータ]]で[[ビットマップ画像]]を扱う[[ファイルフォーマット]]である。[[圧縮アルゴリズム]]として[[Deflate]]を採用している、圧縮による画質の劣化のない[[可逆圧縮]]の[[画像ファイルフォーマット]]である。&lt;br /&gt;
&lt;br /&gt;
1996年に登場し、可逆圧縮の画像フォーマットとして既に普及していた [[Graphics Interchange Format|GIF]] に対しネットワーク経由での使用を想定した機能や透過処理など、多くの機能をサポートした。[[ウェブブラウザ]]や[[グラフィックソフト]]でのサポートも進み、インターネットを中心に普及した。&lt;br /&gt;
&lt;br /&gt;
英語で{{IPA2|/pɪŋ/}}と発音されることから&amp;lt;ref&amp;gt;[http://www.libpng.org/pub/png/pngintro.html Intro to PNG Features]&amp;lt;/ref&amp;gt;、「&amp;#039;&amp;#039;&amp;#039;ピング&amp;#039;&amp;#039;&amp;#039;」や「&amp;#039;&amp;#039;&amp;#039;ピン&amp;#039;&amp;#039;&amp;#039;」と多く読まれる。&lt;br /&gt;
&lt;br /&gt;
== 概説 ==&lt;br /&gt;
画像の[[色モデル]]として、最大 16 ビットの[[グレイスケール]]、24 ビットと 48 ビットの [[RGB]]、または 8 ビットまでのインデックスカラーモード（[[パレットカラー]]) を利用することができる。透過についてはクロマキーによる透過指定、および 8 ビットから 16 ビットの[[アルファチャンネル]]をサポートする。また、画像に付属するテキストなどの[[メタデータ]]や[[ビットマップ画像#ガンマ補正|ガンマ値]]なども画像ごとに記録できる。&lt;br /&gt;
&lt;br /&gt;
GIFと異なり、PNGには[[アニメーション]]機能はない。ただし、PNGはチャンク(データのブロック)で自由に拡張できるようになっていて、1ファイルに複数の画像を含めることができる。これを使ってアニメーション機能を追加した [[Multiple-image Network Graphics|MNG]] と [[Animated Portable Network Graphics|APNG]] が別のフォーマットとして開発されている。他の拡張として、立体視用にステレオPNG (PNS) フォーマット&amp;lt;ref&amp;gt;{{cite web|url=http://www.nvidia.co.jp/object/3d-vision-3d-pictures-jp-old.html|title=nvidia.com 製品情報 3D 画像|accessdate=2012-08-09}}&amp;lt;/ref&amp;gt;がある。&amp;lt;!-- 仕様書はないようです [http://sourceforge.net/mailarchive/forum.php?forum_name=png-mng-misc&amp;amp;max_rows=25&amp;amp;style=nested&amp;amp;viewmonth=200603 SourceForge.net フォーラム (2006年3月)]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 歴史 ==&lt;br /&gt;
PNG が開発された動機は、1995年の初めに、GIFに使われていた圧縮アルゴリズム [[LZW]] について米[[ユニシス]]社が特許を保有しているとし、GIFを使ったソフトウェアに特許権を行使すると発表したことによる。実際、PNG の頭文字は非公式に &amp;quot;&amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039;NG is &amp;#039;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;#039;ot &amp;#039;&amp;#039;&amp;#039;G&amp;#039;&amp;#039;&amp;#039;IF&amp;quot; という意味が込められている&amp;lt;ref name=&amp;quot;pnghist&amp;quot;&amp;gt;{{cite web|url=http://www.libpng.org/pub/png/#history |title=History of PNG|author=Greg Roelofs |publisher=Libpng.org |date=2012-05-29 |accessdate=2012-08-09}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://web-building.crispen.org/formats/png.html|title=GIF,JPEG OR PNG?|accessdate=2012年8月8日}}&amp;lt;/ref&amp;gt;。また、当時256色以上表示可能なコンピュータが主流になってきたため、GIF フォーマットにある 256 色までという制限を解消する必要もあった。[[1999年]]8月、ユニシス社が非商用ソフトについても特許使用料を請求することを決めると、PNG はさらに注目を集めるようになった。&lt;br /&gt;
&lt;br /&gt;
*[[1996年]]10月1日 - PNG Version 1.0 の仕様リリース。後に [[Request for Comments|RFC]] 2083 として承認。同日、[[World Wide Web Consortium|W3C]] による勧告。&lt;br /&gt;
*[[1998年]]12月31日 - Version 1.1 リリース。小規模な変更と三種類の新しいチャンクを追加。&lt;br /&gt;
*[[1999年]]8月11日 - Version 1.2 リリース。一種類の追加チャンク。&lt;br /&gt;
*[[2003年]]11月10日 - 国際標準化 ([[国際標準化機構|ISO]]/[[国際電気標準会議|IEC]] 15948:2003) 。このバージョンは 1.2 とわずかな差異あり。新規追加チャンクはなし。&lt;br /&gt;
*[[2004年]]3月3日 - 国際標準化 (ISO/IEC 15948:2004) &amp;lt;ref name=&amp;quot;iso&amp;quot; group=&amp;quot;spec&amp;quot;&amp;gt;{{cite book|title=ISO/IEC 15948:2004|year=2004|publisher=ISO|url=http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=29581&amp;amp;scopelist=PROGRAMME}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 技術詳細 ==&lt;br /&gt;
詳しくは、仕様書&amp;lt;ref name=&amp;quot;iso&amp;quot; group=&amp;quot;spec&amp;quot;/&amp;gt;&amp;lt;ref group=&amp;quot;spec&amp;quot;&amp;gt;{{cite web|url=http://tech.millto.net/~pngnews/kndh/PngSpec1.2/PNGcontents.html|title=PNG 1.2 仕様書 日本語訳|accessdate=2005-06-24}} (リンク切れ - [http://web.archive.org/web/20050624081635/http://tech.millto.net/~pngnews/kndh/PngSpec1.2/PNGcontents.html Web Archiveによる過去の版])&amp;lt;/ref&amp;gt;&amp;lt;ref group=&amp;quot;spec&amp;quot;&amp;gt;{{cite web|url=http://www.libpng.org/pub/png/spec/|title=PNGの仕様書の一覧|accessdate=2012-08-09}}（英語）&amp;lt;/ref&amp;gt;を参照。&lt;br /&gt;
=== ファイルヘッダ ===&lt;br /&gt;
PNG ファイルはヘッダに 8 バイトのシグネチャ（[[マジックナンバー (フォーマット識別子)|マジックナンバー]]）を持つ。16 進数の値は 89 50 4E 47 0D 0A 1A 0A となる（制御文字で表すと HTJ &amp;quot;PNG&amp;quot; CR LF SUB LF）。各値の意味は次の通り。&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!|値&lt;br /&gt;
!style=&amp;quot;text-align:left&amp;quot;|説明&lt;br /&gt;
|-&lt;br /&gt;
|89&lt;br /&gt;
|8 ビットデータをサポートしない転送システムを検知するためのハイビット値。また、テキストファイルが誤って PNG と認識されるのを防ぐ。&lt;br /&gt;
|-&lt;br /&gt;
|50&amp;amp;nbsp;4E&amp;amp;nbsp;47&lt;br /&gt;
|[[ASCII|アスキー]]文字で &amp;#039;&amp;#039;&amp;#039;PNG&amp;#039;&amp;#039;&amp;#039; を表す。テキストエディタで開いた場合などに、フォーマットをわかりやすくするため。&lt;br /&gt;
|-&lt;br /&gt;
|0D&amp;amp;nbsp;0A&lt;br /&gt;
|[[MS-DOS|DOS]] スタイルの改行 (CR+LF)。DOS → UNIX での行末データ変換が行われていないかを検知する。&lt;br /&gt;
|-&lt;br /&gt;
|1A&lt;br /&gt;
|DOS で TYPE コマンドを使ってファイル表示をさせた場合、SUB (EOF) として表示を停止させるバイト。&lt;br /&gt;
|-&lt;br /&gt;
|0A&lt;br /&gt;
|UNIX スタイルの行末 (LF) 。UNIX → DOS での行末変換が行われていないかを検知する。&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
ファイルヘッダの後には IHDR が必ず来るので、その次の 8 バイトも 00 00 00 0D 49 48 44 52 で固定されている。&lt;br /&gt;
&lt;br /&gt;
=== チャンク ===&lt;br /&gt;
ファイルヘッダに続いて、チャンクと呼ばれる複数のデータブロックが続く。各チャンクは画像についての様々な情報を保持するもので、&amp;#039;&amp;#039;&amp;#039;必須&amp;#039;&amp;#039;&amp;#039;チャンクと&amp;#039;&amp;#039;&amp;#039;補助&amp;#039;&amp;#039;&amp;#039;チャンクに分けられる。補助チャンクは任意的なもので、処理プログラム側によっては必ずしも処理されない。このチャンク構造により、PNG フォーマットは拡張性と前方互換性を両立する。&lt;br /&gt;
&lt;br /&gt;
チャンクの構造は、&lt;br /&gt;
#チャンクサイズ。ビッグ[[エンディアン]] (4バイト)&lt;br /&gt;
#チャンクの種類 (4バイト)&lt;br /&gt;
#実際のデータ&lt;br /&gt;
#データの [[巡回冗長検査|CRC-32]] (4バイト)&lt;br /&gt;
の順番で配置される。&lt;br /&gt;
&lt;br /&gt;
チャンクの種類は、大文字と小文字が区別されるアルファベット 4 文字で表される。&lt;br /&gt;
*1 文字目が大文字のときは、必須チャンクに分類される。必須チャンクには、その画像ファイルを読み込むために必要な情報が含まれ、デコーダが解析不可能な必須チャンクに遭遇した場合、エラーとなる。&lt;br /&gt;
*2 文字目の大文字小文字は、そのチャンクがパブリックかプライベートかを示す。大文字がパブリック。パブリックチャンクはその仕様が公開、定義されたもので、公開チャンクともいう。&lt;br /&gt;
*3 文字目は将来的な拡張のためにリザーブされている。現在は常に大文字にしなければいけない。&lt;br /&gt;
*4 文字目の大小は、そのチャンクがそのままコピーできるかどうかを示す。小文字の場合、ファイルへの変更内容に関わらず、そのチャンクをコピーして継続的に使用できる。大文字の場合、他の必須チャンクへの変更の影響を受けることを表す。&lt;br /&gt;
&lt;br /&gt;
==== 必須チャンク ====&lt;br /&gt;
PNG ファイルの読み込みと表示に必要なチャンクで、デコーダが適切に処理する必要がある。&lt;br /&gt;
&lt;br /&gt;
* IHDR - 最も先頭に配置されるチャンクで、以下の順番で 13 バイトの情報が含まれる。&lt;br /&gt;
**画像の幅 (4バイト)&lt;br /&gt;
**画像の高さ (4バイト)&lt;br /&gt;
**[[色深度]] (1バイト)&lt;br /&gt;
**カラータイプ (1バイト)&lt;br /&gt;
**圧縮形式 (1バイト)&lt;br /&gt;
**フィルタ形式 (1バイト)&lt;br /&gt;
**[[インターレース]]形式 (1バイト)&lt;br /&gt;
* PLTE - カラーパレット定義。&lt;br /&gt;
* IDAT - zlibにより圧縮されたイメージデータ。複数の IDAT チャンクに分割することもできる。この場合ファイルサイズは若干増えるが、PNG をストリームとして生成することができるようになる。&lt;br /&gt;
* IEND - イメージの終端を示す。&lt;br /&gt;
&lt;br /&gt;
PLTE チャンクはカラータイプ 3 （[[インデックスカラー]]）を使用するときに必須となる。カラータイプ 2 と 6 （トゥルーカラー及び、アルファ情報付きトゥルーカラー）の場合は任意、さらにカラータイプ 0 と 4 （[[グレースケール]]及び、アルファ情報付きグレースケール）の場合は存在してはいけない。&lt;br /&gt;
&lt;br /&gt;
==== 補助チャンク ====&lt;br /&gt;
イメージについての付加情報を保持するための任意チャンク。&lt;br /&gt;
&lt;br /&gt;
* acTL - アニメーテッドPNG である事を示し、総フレーム数やループ回数を保持する。&lt;br /&gt;
* bKGD - デフォルトの背景色を指定する。これは、単独のイメージビューアで表示するときなど、背景色が特に定まらない場合を想定している。ただし、Internet Explorer 6 以前はアルファ値による透過表示をサポートせず、この値を背景色として使用する。&lt;br /&gt;
* cHRM - [[ホワイトバランス]]を指定する。&lt;br /&gt;
* fcTL - アニメーテッドPNG のフレーム制御情報を保持する。&lt;br /&gt;
* fdAT - アニメーテッドPNG のフレーム画像データを保持する。&lt;br /&gt;
* gAMA - [[ガンマ補正]]値を指定する。&lt;br /&gt;
* hIST - [[ヒストグラム]]、またはイメージ内で使用されている各色の総量を保持する。&lt;br /&gt;
* iCCP - [[ICCプロファイル|ICCカラープロファイル]]を保持する。&lt;br /&gt;
* iTXt - [[UTF-8]] フォーマットのテキストを保持する。圧縮・非圧縮、[[IETF言語タグ]]を伴うことができる。&lt;br /&gt;
* pHYs - ピクセルの物理サイズ、またはイメージの[[アスペクト比]]を指定する。&lt;br /&gt;
* sBIT - 元データの有効なビット数を示す。&lt;br /&gt;
* sPLT - イメージが使用する色を全てカバーできない時に、代替となるパレットを提示する。&lt;br /&gt;
* sRGB - 標準的な[[色空間|sRGB]] の色空間が使われていることを示す。&lt;br /&gt;
* tEXt - [[ISO/IEC 8859-1|ISO 8859-1]] 形式のテキストを保持する。キーワードと対になるチャンクを複数持つことができる。テキストの圧縮は行われない。&lt;br /&gt;
* tIME - イメージの最終更新日時を保持する。&lt;br /&gt;
* tRNS - 透過色情報を保持する。ピクセル単位のアルファ値指定が必要ない場合に使用する。インデックスカラーのイメージについてはインデックスに結びつけるアルファ値、トゥルーカラーやグレースケールのイメージについては、完全に透過とみなす色を指定する。&lt;br /&gt;
* zTXt - tEXtチャンクと同じ制限の圧縮テキスト。&lt;br /&gt;
&lt;br /&gt;
=== フィルタ処理 ===&lt;br /&gt;
PNG のイメージデータはzlibにより圧縮されるが、画像の特徴を利用して圧縮の効率を良くするために、フィルタで事前に処理を行えるようになっている。（展開時には、逆のフィルタがかかる)&lt;br /&gt;
&lt;br /&gt;
例えば、ピクセルの値が次のように並んでいたとする。&lt;br /&gt;
&lt;br /&gt;
 100,101,102,103,104,105&lt;br /&gt;
&lt;br /&gt;
このデータには冗長な値が無く、このままDeflate圧縮を行っても効果は得られない。しかし例えば「左の値との差」をとると、データは以下のようになる。&lt;br /&gt;
&lt;br /&gt;
 100,1,1,1,1,1&lt;br /&gt;
&lt;br /&gt;
この状態で圧縮すれば、最初の状態よりも高い効果が得られる。上記は極端な例であるが、このように事前に簡単な演算を行うことは、データによっては圧縮率の改善に役立つ。&lt;br /&gt;
&lt;br /&gt;
PNG では5種類のフィルタを定義している。&lt;br /&gt;
&lt;br /&gt;
;Sub&lt;br /&gt;
:左隣のピクセル値との差をとる（上記）。&lt;br /&gt;
;Up&lt;br /&gt;
:真上のピクセル値との差をとる。&lt;br /&gt;
;Average&lt;br /&gt;
:左隣と真上のピクセルの平均値との差をとる。&lt;br /&gt;
;Paeth&lt;br /&gt;
:左隣、真上、左上の3つのピクセルからPaeth値を計算し、その値との差をとる。&lt;br /&gt;
;None&lt;br /&gt;
:何もしない。&lt;br /&gt;
&lt;br /&gt;
このフィルタは横一ライン毎に変更できる。どのフィルタをどこに使うかは使用する圧縮プログラムが選択できるため、プログラムによって同じ画像でも異なるサイズになりうる。&lt;br /&gt;
&lt;br /&gt;
=== 圧縮 ===&lt;br /&gt;
圧縮アルゴリズムは [[Deflate]] (RFC 1951) を使用し、フォーマットは [[zlib]] 形式 (RFC 1950) と定められている。Deflate のアルゴリズムそのものは PNG の仕様書には書かれていない。圧縮後のデータは、そのまま IDAT チャンクに格納される。&lt;br /&gt;
&lt;br /&gt;
なお PNG は Deflate 以外の圧縮形式もサポート出来るように設計されており、IHDR チャンクや iTXt チャンクには、使用する圧縮形式を明示する Compression method フィールドがある。ただし Ver1.2 時点では、Compression method フィールドで使える値は Deflate を示す一種類だけである。&lt;br /&gt;
&lt;br /&gt;
=== 開発者向けのツール ===&lt;br /&gt;
{{Main|libpng}}&lt;br /&gt;
PNGを処理するための開発者向けライブラリとして[[libpng]]がある。これはPNG公式のライブラリであり、最も広く利用されている。C言語で開発されており、多くのプラットフォームで動作する。ライセンスはGPLよりも制限が緩やかである。&lt;br /&gt;
&lt;br /&gt;
== 他のフォーマットとの比較 ==&lt;br /&gt;
[[ファイル:Glasses 800 edit.png|thumb|right|[[POV-Ray]]で作られたPNGの画像]]&lt;br /&gt;
=== GIF との比較 ===&lt;br /&gt;
GIF の代替物として開発された経緯があるため、GIF と比較されることが多い。主な差異は以下の通り。&lt;br /&gt;
* ほとんどの画像で PNG は GIF より圧縮率が高い。&lt;br /&gt;
* GIF は1色透過だが、PNG はアルファチャンネルを持ち半透明の表現が可能。&lt;br /&gt;
* PNG はフルカラーが可能なため256色の GIF より精細な色表現が可能。&lt;br /&gt;
* GIF はアニメーションをサポートしているが、PNG はサポートしていない（アニメーションには PNG の発展フォーマットである MNG/APNG 形式を用いる）。&lt;br /&gt;
* GIF と比較すると圧縮・展開に多少時間が掛かる（ただし前述の通り容量は GIF より小さいため、転送時間の短縮を加味すれば劣点とはならない。[[Webサーバ|サーバ]]側のプログラムが動的に画像を生成するような使用法では注意を要する）。&lt;br /&gt;
* インターレースGIF とインターレースPNG を比較すると、インターレースPNG の方が圧縮率が低い。&lt;br /&gt;
* インターレース形式のアルゴリズムが異なり、GIF よりも早い段階で全体像が見える。&lt;br /&gt;
&lt;br /&gt;
=== JPEGとの比較 ===&lt;br /&gt;
[[ファイル:Comparison of JPEG and PNG.png|thumb|200px|right|JPEG と PNG との比較: JPEG では均一な背景にノイズが出る]]&lt;br /&gt;
&lt;br /&gt;
[[JPEG]]は、主に写真的なイメージデータを[[非可逆圧縮]]することでPNGよりも小さなファイルサイズに収めることができる。そのため、高画質に設定したJPEGと比較すると、ファイルサイズはJPEGの数倍（大抵は5〜10倍程度）になる。&lt;br /&gt;
&lt;br /&gt;
PNGは、テキストや線画など色の境界がはっきりしたイメージに適している。線画と写真が混在している場合では、目的に応じてシャープな部分を重視する場合はPNG、ファイルサイズを重視する場合はJPEGを選ぶことができる。&lt;br /&gt;
&lt;br /&gt;
JPEGは、[[ジェネレーションロス]]が生じるため、編集中の一時データの保存には向かない。PNGはその可逆性を生かして、編集やレタッチイメージの一時保存に利用し、最終イメージのみをJPEGで出力すれば、ジェネレーションロスは1世代にとどめることができる。その一方で、PNGはデジタルカメラなどで利用されている[[Exchangeable image file format|Exif]]情報をサポートしていない。[[Tagged Image File Format|TIFF]]はロスレスでExifをサポートしているが、ファイルサイズではPNGに利点がある。&lt;br /&gt;
&lt;br /&gt;
== ブラウザの対応 ==&lt;br /&gt;
前述の特許権問題によりGIF排斥運動が起こったが、GIFは依然として広く使われている。それは主に以下の理由からである。&lt;br /&gt;
&lt;br /&gt;
* 当時の[[ウェブブラウザ|Webブラウザ]]でPNGに正しく対応していないものがあった。&lt;br /&gt;
* [[広告]]（[[バナー]]）には当時、[[GIFアニメ]]がよく用いられたが、PNGの仕様そのものにはアニメーション機能が含まれていないため、代替することができない（MNGは多くのブラウザで未対応である）。&lt;br /&gt;
* PNGの機能はweb上でフルに使われていない。例えば[[Internet Explorer]] 6及びそれ以前のバージョンは複数のアルファチャンネルに対応していない。&lt;br /&gt;
* GIFで間にあった。&lt;br /&gt;
&lt;br /&gt;
Internet Explorerはバージョン6までアルファチャンネルを持つPNG画像を正しく描画できない。2006年11月にリリースされたバージョン7で、正確に描画できるようになった。（ただし[[Adobe Photoshop|Photoshop]]で生成したPNG画像の場合、gAMAチャンクへの不適切な記述のため正常に表示されないことがある）&lt;br /&gt;
&lt;br /&gt;
PNGはGIFと同様な1色透過も扱え、こちらはInternet Explorer 5でも対応している。なお、IE5.5はアルファチャンネル付きPNGを正しく表示できる[[ActiveX]]プラグイン（AlphaImageLoader）を搭載しているため、この機能を使うようHTMLファイルに記述すれば表示できる。ただしIEの設定によってはアルファチャンネルとして機能せず、また他ブラウザとの互換を考えると、わざわざこの機能を利用する価値はほとんど無い。&lt;br /&gt;
&lt;br /&gt;
UNISYS社の主張するLZW圧縮アルゴリズムに関する特許は、米国時間2003年6月20日をもって無効（期限切れ）になった。PNGはLZW圧縮アルゴリズム特許の有効期間内で全てのGIFファイルを代替するには至らなかった。特許問題が事実上消失したため、「&amp;#039;&amp;#039;&amp;#039;特許に抵触しない&amp;#039;&amp;#039;&amp;#039;GIFを代替可能なフォーマットのひとつ」としての存在意義は消失した。現在、PNGは「GIFを代替可能なフォーマットのひとつ」という見方ができる。&lt;br /&gt;
&amp;lt;!--古い情報であり、部分的な実装やバグなどよくある&lt;br /&gt;
== Javaライブラリでの対応 ==&lt;br /&gt;
Oracle の [[Java]] では、JDK 1.3&amp;lt;ref&amp;gt;[http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4101708 Add PNG image file format support to JDK]&amp;lt;/ref&amp;gt; から対応している。しかし、多数のバグが存在していて、古いバージョンでは正常に読み込めないことが多かった。&lt;br /&gt;
* [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4307550 Bug 4307550] より、JDK 1.3, 1.4 では透過色が扱えなかった。&lt;br /&gt;
* [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5098176 Bug 5098176] より、JDK 1.4, 5.0 では、イメージパレットの長さが 2 ビットより短い場合、ImageIO クラスで読み込めなかった。&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
== ファイルサイズ ==&lt;br /&gt;
正しくエンコード処理を行ってメタデータを含まないように作成したPNG画像は、同じように処理して作成したGIF画像より小さくなるはずである。しかしPNGはGIFより機能が多いため、大きなサイズになってしまうことがある。&lt;br /&gt;
&lt;br /&gt;
GIFは256色に制限されているため、多くのソフトはフォーマットの変換を行うとき自動的に256色に減色して保存する。そのためフルカラーの画像をPNGとGIFに保存した場合、GIFの方がサイズが小さくなる（かわりに画質は落ちている）。GIF同様256色のPNGを作ればGIFよりサイズが小さくなるにも関わらず、PNGは256色より多い色数を利用できるため変換時に自動で減色されない場合がある。その結果同じ画像をGIFにした場合よりサイズが大きくなってしまう。&lt;br /&gt;
&lt;br /&gt;
[[インターレース|インターレースPNG]]は[[インターレース|インターレースGIF]]に比べ、圧縮率が低くファイルサイズが大きくなる場合が多い。また、インターレースPNGは通常のPNGより、ファイルサイズが大きくなりがちである。&lt;br /&gt;
&lt;br /&gt;
ソフトウェアによっては、出力されるPNGファイルのサイズは必ずしも最適化されないため、ファイルサイズを減らすためにはPNG最適化ソフトウェアなどでPNGファイルを最適化するとよい。最適化のためのソフトウェアとしては、 [http://optipng.sourceforge.net/ OptiPNG]、[http://advsys.net/ken/utils.htm PNGOUT]、[http://entropymine.com/jason/pngrewrite/ pngrewrite]、[http://pmt.sourceforge.net/pngcrush/ Pngcrush]などがある。また、Windows用ながらも[http://omoikane.my-sv.net/BlastPNG.htm BlastPNG]のような複数の最適化ソフトウェアを一度に扱えるフロントエンドなどもある。&lt;br /&gt;
&lt;br /&gt;
PNGは[[JPEG]]に取って代わるものではない。JPEGは[[写真]]の圧縮に適した非可逆圧縮方式であり、写真画像に限ってはJPEGのほうがファイルサイズが小さくなる。一方で、文字や線画などの保存はJPEGだと圧縮ノイズが目立ってしまうのでPNGのほうが適している上、ファイルサイズもかなり小さくなる。また、加工を繰り返す予定のある画像はJPEGでは劣化が進んでしまうのでPNG保存が望ましい。&lt;br /&gt;
&lt;br /&gt;
== 出典 ==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
===仕様書===&lt;br /&gt;
{{reflist|group=&amp;quot;spec&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
== 関連項目 ==&lt;br /&gt;
*[[Multiple-image Network Graphics|MNG]]&lt;br /&gt;
*[[Animated Portable Network Graphics|APNG]]&lt;br /&gt;
*[[libpng]]&lt;br /&gt;
*[[ICO (ファイルフォーマット)]]&lt;br /&gt;
&lt;br /&gt;
== 外部リンク ==&lt;br /&gt;
* [http://www.libpng.org/pub/png/ PNGの公式サイト]&lt;br /&gt;
* [http://www.gnu.org/philosophy/gif.ja.html GNU のウェブページに GIF ファイルが一つも無い理由]（GNUプロジェクト）&lt;br /&gt;
&lt;br /&gt;
{{圧縮フォーマット}}&lt;br /&gt;
&lt;br /&gt;
[[Category:画像ファイルフォーマット]]&lt;br /&gt;
[[Category:RFC|1766]]&lt;br /&gt;
[[Category:ISO]]&lt;/div&gt;</summary>
		<author><name>61.124.61.95</name></author>
	</entry>
</feed>