[OFFICIAL] [EXIT] [SEOPARTS] [KANAPEDIA]

Portable Network Graphics

*しゅってん:フリーひゃっかじてん『ウィキペディア(Wikipedia)』*

Portable Network Graphics
Image:PNG transparency demonstration 1.png
Image:PNG transparency demonstration 2.png
*うえは、8ビットとうめいチャネルをふくむPNGがぞう。したは、おなじがぞうを**いちまつもよう**のはいけいのうえにかさねたもの。いちまつもようはとうめいであることをしめすためにグラフィックエディタなどでよくもちいられる。*
*かくちょうこ*: .png
MIME Type: image/png
*タイプコード*: PNGf
PNG
UTI: public.png
*かいはつしゃ:* W3C
*しゅべつ:* *かぎゃくあっしゅく**ビットマップ**がぞう*
*ほうがんぶつ:* *がぞう**、**テキスト*
*かくちょう:* APNG*、*JNG*、*MNG
*こくさいひょうじゅん*: ISO*15948、*IETF RFC 2083

Portable Network Graphics*(ポータブル・ネットワーク・グラフィックス)は**コンピュータ**うえであつかわれる**がぞう**をかくのうするための**ファイルフォーマット**のひとつ。*PNG*のよみかたは「**ピング**、**ピン* *[/p?ŋ/]**」(*ping*とおなじはつおん)*[1]*。*

*もくじ*

[*へんしゅう*] *がいせつ*

Deflate*をりようした**かぎゃくあっしゅく**の**がぞうファイルフォーマット**。きそんの*GIF*のきのうをかくちょう、さらにネットワークけいゆでのしようをそうていしたきのうきょうかがはかられている。**ブラウザ**やグラフィックソフトでのサポートもすすみ、インターネットをちゅうしんにりようがひろがっている。*

*さいだい16ビットのグレイスケール、24ビットと48ビットのRGBフルカラー、8ビット、または16ビットのアルファチャンネル、さらにさいだい8ビットのインデックスカラーモードをサポートする。がぞうにふぞくするテキストなどのメタデータや**ガンマち**などをこべつにきろくできる。*

*アニメーション**きのうはていぎされていない。PNGをかくちょうしてアニメーションきのうをもたせた*MNG*と*APNG*がべつにかいはつされている。*

[*へんしゅう*] *れきし*

*PNGフォーマットのかいはつは**1995ねん**のしょとうからはじめられた。これは、べい*UNISYS*しゃがGIFフォーマットにつかわれているあっしゅくアルゴリズム*LZW*のとっきょこうしをはっぴょうしたのちのことであり、PNGのかしらもじには、ひこうしきには「*PNG is Not G*IF」といういみがこめられている*[1]*。これいがいにも、とうじ256しょくいじょうひょうじかのうなコンピュータがしゅりゅうになってきていたため、GIFフォーマットの256しょくというせいげんかいしょうももくてきとされた。**1999ねん**8つき、UNISYSしゃはひしょうようソフトについてもとっきょしようりょうをせいきゅうすることをきめると、PNGはさらにちゅうもくをあつめることになった。*

  • *1996ねん**10つき1にち-PNGVersion1.0のしようリリース。ごに*RFC*2083としてしょうにん。どうじつ、*W3C*によるかんこく。*
  • *1998ねん**12つき31にち-Version1.1リリース。しょうきぼなへんこうと、3しゅるいのあたらしいチャンクをついか。*
  • *1999ねん**8つき11にち-Version1.2リリース。1しゅるいのついかチャンク。*
  • *2003ねん**11つき10にち-こくさいひょうじゅんか(*ISO/IEC*15948:2003)。このバージョンは1.2とわずかなさいあり。しんきついかチャンクはなし。*
  • *2004ねん**3つき3にち-こくさいひょうじゅんか(ISO/IEC15948:2004)*[2]

[*へんしゅう*] *ぎじゅつしょうさい*

[*へんしゅう*] *ファイルヘッダ*

*PNGファイルはヘッダに8バイトのシグネチャをもつ。16しんすうのねは89504E470D0A1A0Aとなる(せいぎょもじであらわすとHTJ"PNG"CRLFSUBLF)。かくねのいみはつぎのとおり。*

*ね* *せつめい*
89 *8ビットデータをサポートしないてんそうシステムをけんちするためのハイビットち。また、テキストファイルがあやまってPNGとにんしきされるのをふせぐ。*
*50 4E 47* *アスキー**もじで*PNG*をあらわす。テキストエディタでひらいたばあいなどに、フォーマットをわかりやすくするため。*
*0D 0A* DOS*スタイルのかいぎょう(CR+LF)。DOS→UNIXでのぎょうまつデータへんかんがおこなわれていないかをけんちする。*
1A *DOSでTYPEコマンドをつかってファイルひょうじをさせたばあい、SUB(EOF)としてひょうじをていしさせるバイト。*
0A *UNIXスタイルのゆくすえ(LF)。UNIX→DOSでのぎょうまつへんかんがおこなわれていないかをけんちする。*

[*へんしゅう*] *チャンク*

*ファイルヘッダにつづいて、チャンクとよばれるふくすうのデータブロックがつづく。かくチャンクはがぞうについてのさまざまなじょうほうをほじするもので、**ひっす**チャンクと**ほじょ**チャンクにわけられる。ほじょチャンクはにんいてきなもので、しょりプログラムがわによってはかならずしもしょりされない。このチャンクこうぞうにより、PNGフォーマットはかくちょうせいとかいごかんせいをりょうりつする。*

*チャンクのこうぞうは、そのチャンクサイズとしゅるいをしていするヘッダ、つづいてじっさいのデータ、さいごにデータの*CRC*がはいちされる。チャンクのしゅるいは、だいもんじとこもじがくべつされるアルファベット4もじであらわされ、せんとうの1もじがだいもんじのときは、ひっすチャンクにぶんるいされる。ひっすチャンクには、そのがぞうファイルをよみこむためにひつようなじょうほうがふくまれ、デコーダがかいせきふかのうなひっすチャンクにそうぐうしたばあい、エラーとなる。*

*2もじめのだいもんじこもじは、そのチャンクが**パブリック**か**プライベート**かをしめす。だいもんじがパブリック。パブリックチャンクはそのしようがこうかい、ていぎされたもので、**こうかいチャンク**ともいう。*

*3もじめはしょうらいてきなかくちょうのためにリザーブされている。げんざいはつねにだいもんじにしなければいけない。*

*4もじめのだいしょうは、そのチャンクがそのままコピーできるかどうかをしめす。こもじのばあい、ファイルへのへんこうないようにかかわらず、そのチャンクをコピーしてけいぞくてきにしようできる。だいもんじのばあい、たのひっすチャンクへのへんこうのえいきょうをうけることをあらわす。*

[*へんしゅう*] *ひっすチャンク*

*PNGファイルのよみこみとひょうじにひつようなチャンクで、デコーダがてきせつにしょりするひつようがある。*

  • *IHDR-もっともせんとうにはいちされるチャンクで、ヘッダをこうせいする。*
  • *PLTE-カラーパレットていぎ。*
  • *IDAT-イメージデータ。ふくすうのIDATチャンクにぶんかつすることもできる。このばあいファイルサイズはじゃっかんふえるが、PNGをストリームとしてせいせいすることができるようになる。*
  • *IEND-イメージのしゅうたんをしめす。*

*PLTEチャンクはカラータイプ3(インデックスカラー)をしようするときにひっすとなる。カラータイプ2と6(トゥルーカラーおよび、アルファじょうほうつきトゥルーカラー)のばあいはにんい、さらにカラータイプ0と4(グレースケールおよび、アルファじょうほうつきグレースケール)のばあいはそんざいしてはいけない。*

[*へんしゅう*] *ほじょチャンク*

*イメージについてのふかじょうほうをほじするためのにんいチャンク。*

  • *acTL-アニメーテッドPNGであることをしめし、そうフレームすうやループかいすうをほじする。*
  • *bKGD-デフォルトのはいけいしょくをしていする。これは、たんどくのイメージビューアでひょうじするときなど、はいけいしょくがとくにさだまらないばあいをそうていしている。ただし、InternetExplorer6いぜんはアルファちによるとうかひょうじをサポートせず、このねをはいけいしょくとしてしようする。*
  • cHRM - *ホワイトバランス**をしていする。*
  • *fcTL-アニメーテッドPNGのフレームせいぎょじょうほうをほじする。*
  • *fdAT-アニメーテッドPNGのフレームがぞうデータをほじする。*
  • gAMA - *ガンマほせい**ねをしていする。*
  • hIST - *ヒストグラム**、またはイメージないでしようされているかくいろのそうりょうをほじする。*
  • *iCCP-ICCカラープロファイルをほじする。*
  • iTXt - UTF-8*フォーマットのテキストをほじする。あっしゅく・ひあっしゅく、**IETFげんごタグ**をともなうことができる。*
  • *pHYs-ピクセルのぶつりサイズ、またはイメージの**アスペクトひ**をしていする。*
  • *sBIT-もとデータのゆうこうなビットすうをしめす。*
  • *sPLT-イメージがしようするいろをすべてカバーできないときに、だいたいとなるパレットをていじする。*
  • *sRGB-ひょうじゅんてきな*sRGB*のいろくうかんがつかわれていることをしめす。*
  • tEXt - ISO 8859-1*けいしきのテキストをほじする。キーワードとたいになるチャンクをふくすうもつことができる。*
  • *tIME-イメージのさいしゅうこうしんにちじをほじする。*
  • *tRNS-とうかしょくじょうほうをほじする。インデックスカラーのイメージについては、1ついじょうのアルファち、トゥルーカラーやグレースケールのイメージについては、かんぜんにとうかとみなすいろをしていする。*
  • *zTXt-tEXtチャンクとおなじせいげんのあっしゅくテキスト。*

[*へんしゅう*] *たのフォーマットとのひかく*

POV-Ray*でつくられたPNGのがぞう*

[*へんしゅう*] *GIFとのひかく*

*GIFのだいたいぶつとしてかいはつされたけいいがあるため、GIFとひかくされることがおおい。おもなさいはいかのとおり。*

  • *ほとんどのがぞうでPNGはGIFよりあっしゅくりつがたかい。*
  • *GIFは1しょくとうかだが、PNGはアルファチャンネルをもちはんとうめいのひょうげんがかのう。*
  • *PNGはフルカラーがかのうなため256しょくのGIFよりせいさいないろひょうげんがかのう。*
  • *GIFはアニメーションをサポートしているが、PNGはサポートしていない(アニメーションにはPNGのはってんフォーマットであるMNGけいしき/APNGけいしきをもちいる)。*
  • *GIFとひかくするとあっしゅく・てんかいにたしょうじかんがかかる(ただしぜんじゅつのとおりようりょうはGIFよりちいさいため、てんそうじかんのたんしゅくをかみすればれつてんとはならない。**サーバ**がわのプログラムがどうてきにがぞうをせいせいするようなしようほうではちゅういをようする)。*
  • *インターレースGIFとインターレースPNGをひかくすると、インターレースPNGのほうがあっしゅくりつがひくい。*

[*へんしゅう*] *JPEGとのひかく*

*JPEGとPNGとのひかく:JPEGではきんいつなはいけいにノイズがでる*

JPEG*は、おもにしゃしんてきなイメージデータを**ひかぎゃくあっしゅく**することでPNGよりもちいさなファイルサイズにおさめることができる。そのためPNGで、こうがしつにせっていしたJPEGとどうていどのひんしつをえようとすると、ファイルサイズはJPEGのすうばい(たいていは5?10ばいていど)になる。*

*PNGは、テキストやせんがなどいろのきょうかいがはっきりしたイメージにてきしている。せんがとしゃしんがこんざいしているばあいでは、もくてきにおうじてシャープなぶぶんをじゅうしするばあいはPNG、ファイルサイズをじゅうしするばあいはJPEGをえらぶことができる。*

*JPEGは、**ジェネレーションロス**がしょうじるため、へんしゅうちゅうのいちじデータのほぞんにはむかない。PNGはそのかぎゃくせいをいかして、へんしゅうやレタッチイメージのいちじほぞんにりようし、さいしゅうイメージのみをJPEGでしゅつりょくすれば、ジェネレーションロスは1せだいにとどめることができる。そのいっぽうで、PNGはデジタルカメラなどでりようされている*Exif*じょうほうをサポートしていない。*TIFF*はロスレスでExifをサポートしているが、ファイルサイズではPNGにりてんがある。*

[*へんしゅう*] *ブラウザのたいおう*

*ぜんじゅつのとっきょけんもんだいによりGIFはいせきうんどうがおこったが、GIFはいぜんとしてひろくつかわれている。それはおもにいかのりゆうからである。*

  • *とうじの**Webブラウザ**でPNGにただしくたいおうしていないものがあった。*
  • *こうこく**(**バナー**)にはとうじ、GIFアニメがよくもちいられたが、PNGのしようそのものにはアニメーションきのうがふくまれていないため、だいたいすることができない(MNGはおおくのブラウザでみたいおうである)。*
  • *PNGのきのうはwebじょうでフルにつかわれていない。たとえば*Internet Explorer*6およびそれいぜんのバージョンはふくすうのアルファチャンネルにたいおうしていない。*
  • *GIFでまにあった。*

*InternetExplorerはバージョン6までアルファチャンネルをもつPNGがぞうをただしくびょうができない。2006ねん11つきにリリースされたバージョン7で、せいかくにびょうができるようになった。(ただし*Photoshop*でせいせいしたPNGがぞうのばあい、gAMAチャンクへのふてきせつなきじゅつのためせいじょうにひょうじされないことがある)*

*PNGはGIFとどうような1しょくとうかもあつかえ、こちらはInternetExplorer5でもたいおうしている。なお、IE5.5はアルファチャンネルつきPNGをただしくひょうじできる*ActiveX*プラグイン(AlphaImageLoader)をとうさいしているため、このきのうをつかうようHTMLファイルにきじゅつすればひょうじできる。ただしIEのせっていによってはアルファチャンネルとしてきのうせず、またたブラウザとのごかんをかんがえると、わざわざこのきのうをりようするかちはほとんどない。*

*UNISYSしゃのしゅちょうするLZWあっしゅくアルゴリズムにかんするとっきょは、べいこくじかん2003ねん6つき20にちをもってむこう(きげんぎれ)になった。PNGはLZWあっしゅくアルゴリズムとっきょのゆうこうきかんないですべてのGIFファイルをだいたいするにはいたらなかった。とっきょもんだいがじじつじょうしょうしつしたため、「**とっきょにていしょくしない**GIFをだいたいかのうなフォーマットのひとつ」としてのそんざいいぎはしょうしつした。げんざい、PNGは「GIFをだいたいかのうなフォーマットのひとつ」というみかたができる。*

[*へんしゅう*] *ファイルサイズ*

*まさしくエンコードしょりをおこなってメタデータをふくまないようにさくせいしたPNGがぞうは、おなじようにしょりしてさくせいしたGIFがぞうよりちいさくなるはずである。しかしPNGはGIFよりきのうがおおいため、むだにおおきなサイズになってしまわないようきをつけるひつようがある。*

*GIFは256しょくにせいげんされているため、おおくのソフトはフォーマットのへんかんをおこなうときじどうてきに256しょくにげんしょくしてほぞんする。そのためフルカラーのがぞうをPNGとGIFにほぞんしたばあい、GIFのほうがサイズがちいさくなる(かわりにがしつはおちている)。GIFどうよう256しょくのPNGをつくればGIFよりサイズがちいさくなるにもかかわらず、PNGは256しょくよりおおいいろすうをりようできるためへんかんじにじどうでげんしょくされないばあいがある。けっかおなじがぞうをGIFにしたばあいよりサイズがおおきくなってしまい、これによりPNGはGIFよりもサイズがおおきくなるのだとごかいしてしまうひとがおおい。*

*AdobePhotoshopはバージョンによってはむだにおおきいPNGファイルをしゅつりょくするばあいがある。*

*インターレースPNGはインターレースGIFにくらべ、あっしゅくりつがひくくファイルサイズがおおきくなるばあいがおおい。また、インターレースPNGはつうじょうのPNGより、ファイルサイズがおおきくなりがちであり、ちゅういがひつようである。*

*PNGのファイルサイズをへらすにはPNGさいてきかソフトウェアなどでPNGファイルをさいてきかするとよい。さいてきかのためのソフトウェアとしては、*OptiPNG*、*PNGOUT*、*pngrewrite*、*Pngcrush*などがある。また、Windowsようながらも*BlastPNG*のようなふくすうのさいてきかソフトウェアをいちどにあつかえるフロントエンドなどもある。*

*PNGは*JPEG*にとってかわるものではない。JPEGは**しゃしん**のあっしゅくにてきしたひかぎゃくあっしゅくほうしきであり、しゃしんがぞうにかぎってはJPEGのほうがファイルサイズがちいさくなる。いっぽうで、もじやせんがなどのほぞんはJPEGだとあっしゅくノイズがめだってしまうのでPNGのほうがてきしているうえ、ファイルサイズもかなりちいさくなる。また、かこうをくりかえすよていのあるがぞうはJPEGではれっかがすすんでしまうのでPNGほぞんがのぞましい。*

[*へんしゅう*] *しゅってん*

  1. ^ Intro to PNG Features

[*へんしゅう*] *がいぶリンク*