目次一覧
状態:-
閲覧数:1,487
投稿日:2019-07-07
更新日:2019-07-10
PNG / PNGとは? / GIF画像の特許問題
PNG画像形式の特徴 / PNG画像の仕様上のイメージタイプ / チャンク
tRNSチャンク / PNG画像の問題 / PNG8とは?
PNG24とは? / Link
PNG画像形式の特徴 / PNG画像の仕様上のイメージタイプ / チャンク
tRNSチャンク / PNG画像の問題 / PNG8とは?
PNG24とは? / Link
PNG / PNGとは? / GIF画像の特許問題
PNG
英語表記
Portable Network Graphics
PNGとは?
可逆圧縮を用いたオープンで拡張可能な画像フォーマット
An Open, Extensible Image Format with Lossless Compression
・GIF画像に特許問題が発生したため、代替目的のために開発された規格・西暦1996年(平成 8年)に策定された
GIF画像の特許問題
GIF画像の基幹技術であるLZW圧縮アルゴリズムに特許問題が発生した
LZW圧縮アルゴリズムは、GIF画像だけではなくTIFF画像形式(Webでは使用されないが、印刷用などオフライン向けの画像ではよく利用されている)でも使用されている
LZW圧縮アルゴリズムの特許問題とは?
・1995年の初め、米ユニシスは、GIFに使われていた圧縮アルゴリズムLZWの特許を保有していると主張
・GIFを使ったソフトウェアに特許権を行使すると発表した
※LZW圧縮の特許は既に失効している
PNG画像形式の特徴 / PNG画像の仕様上のイメージタイプ / チャンク
PNG画像形式の特徴
可逆圧縮
圧縮による画質の劣化のない可逆圧縮の画像ファイルフォーマット
下記何れかを利用可能
・最大16ビットのグレースケール
・24ビットと 48ビットのRGB
・8ビット(256色)までのインデックスカラーモード(パレットカラー)
透過のみならず、半透明も可能
・特にフルカラー及びグレイスケールではアルファチャネルと呼ばれる、ピクセルごとに透明度を指定する機能も利用出来る
・アルファチャネルは全ピクセルにそれぞれ指定する必要があるため、画像データは肥大化する
特許問題の心配がない
特許無問題のDeflate圧縮(LZ77圧縮…GZIPやZIPなども採用)を採用している
PNG画像の仕様上のイメージタイプ
一覧表
PNG image type | 日本語表記 | Colour type | 許容ビット深度 | アルファチャンネル | 内容 | 備考 |
---|---|---|---|---|---|---|
Greyscale | グレースケール | 0 | 1, 2, 4, 8, 16 | × | 各ピクセルはグレースケールサンプルで構成されている | - |
Truecolour | Trueカラー | 2 | 8, 16 | × | 各ピクセルはR、G、B値により構成されている。RBG | - |
Indexed-colour | インデックスカラー | 3 | 1, 2, 4, 8 | × | 各ピクセルはパレットインデックスで構成さてれいる。パレット方式。PLTE チャンク が必須る | - |
Greyscale with alpha | グレースケール(透過アリ) | 4 | 8, 16 | 〇 | 各ピクセルは、グレースケールサンプルとそれに続くアルファ値で構成されている | - |
Truecolour with alpha | Trueカラー(透過アリ) | 6 | 8, 16 | 〇 | 各ピクセルはR、G、Bのトリプルで、その後にアルファ値が続く。RBGA | - |
チャンク
直訳
塊
PNG画像では?
データブロックのこと
・PNG フォーマットは、先頭にシグネチャがあり、そこからチャンクと呼ばれるデータが連続する形で構成されています
・PNGファイルは、ファイル種別識別用の冒頭部のヘッダを除くと、いくつかのチャンク(データブロック)に分かれています
・決定的ブロック(Critical chunk)
・イメージヘッダ(Image header、IHDR)。個数:必ず1個設置。複数の設置は不可
・カラータイプは5種類あり、これは0(グレースケール)、1(パレット使用)、2(Trueカラー)、4(透過)の組み合わせの合計値になります。それぞれのカラーについて許可されるビット深度が異なってきます
tRNSチャンク / PNG画像の問題 / PNG8とは?
tRNSチャンク
使われ方
任意チャンク
用途
・透明色を示したデータを格納する
・透過に関する情報を与えまるが、インデックスドカラーと他の形式では扱いが異なる
インデックスドカラーの場合
・インデックスドカラーでのtRNSチャンクはパレット毎の透明度を指定するチャンクである
・特定のパレットコードに特定の透明度を設定したい場合(GIFの透過機能に対応する機能を実現する場合など)は、アルファチャネルの代りにtRNSチャンクで透明度を指定する方が効率が良い
・各パレットコートに対して、 1オクテットのデータが与えられる
・データは0にすると完全透明、255だと不透明となる。
グレイスケール及びフルカラーでの場合
・tRNSチャンクは透明色を一色だけ指定する
・透過扱いとなるピクセル値を定義する
・tRNSチャンクは透明度を指定するチャンクです。カラーモードによって動作が異なります。また、アルファチャンネルを持つカラーモードには使用できません
PNG画像の問題
PNG-8、PNG-24名称がオフィシャルではない
仕様書にこの記載はない。※公式サイトでは記載されている
PNGには5つのイメージタイプがあるが、各ソフトウェアではこの通り実装されていない
これらのイメージタイプがPhotoshopでは3つのタイプになってしまっている
・Grayscale / グレースケール
・Truecolor / Trueカラー
・Indexed-color / インデックスカラー
・Grayscale with alpha / グレースケール(透過アリ)
・Truecolor with alpha / Trueカラー(透過アリ)
・Truecolor / Trueカラー
・Indexed-color / インデックスカラー
・Grayscale with alpha / グレースケール(透過アリ)
・Truecolor with alpha / Trueカラー(透過アリ)
・PNG画像をより美しく、より軽量に最適化するテクニック
PNG8とは?
「8ビットPNG」の省略形
・より一般的には1、2、4、8ビットピクセルのパレットベース(カラーマップ)PNG画像を指す
・画像自体の各ピクセル値は8(またはそれ以下)ビットの深さであり、パレットの特定の24ビットRGBカラー値に対するインデックスとして機能する
・1ビットカラーマップ画像は、2色以下の色を参照できる
・2ビット画像は4つ以下にすることができる
・4ビット画像は16個以下にすることができる
・8ビット画像は最大256色まで指定できる
PNG24とは? / Link
PNG24とは?
「24ビットPNG」の省略形
・トゥルーカラーまたはRGB(赤/緑/青)の画像を表す
・そのような画像の各ピクセルは24ビット(3バイト)の深さであり、色のルックアップテーブル(すなわちパレット)へのインデックスとして作用する代わりに直接色を指定する
・これらの画像は最大1680万色(正確には16,777,216色)を含むことができるが、典型的なものは50,000程度以下しか使用しない傾向がある
※8bit=1Byte(バイト)
・PNG Frequently Asked Questions
Link
公式サイト
PNG (Portable Network Graphics) Home Site
仕様書
・Portable Network Graphics (PNG) 仕様(第2版)
・Version 1.2 日本語
無料オンラインツール
・PNGにtRNSチャンクを追加する