1ピクセルあたり1バイトで表現すると、3バイトを使う24ビットカラーに比べてデータ量は3分の1になります。ただし使える色は256色に限られます。256色は予め決めておく場合と、画像が使っている色から選び出すやり方があります。
GIMPではこれをインデックスカラーと呼んでいます。パレットに使う色を用意しておいて番号で色を指定するのに似ています。したがって、色の一覧をデータとして持っている必要があります。パレットと呼ばれることがあります。
後者の方法で使っている色の数が256以内ならば全く遜色ありません。色数が多い場合は近い色に変えてしまったり、ディザなどの方法で点描のように近隣の色が混ざってその色に見えるようにします。この場合は、非可逆圧縮といってよいでしょう。
一般に写真では色数が足りません。
元の写真 | 256色のPNG |
データ量からいっても256色PNGは不利です。JPEGの方が画質がよくデータも小さくなります。
256色のPNGのファイルの大きさ |
拡大です。色数が少ない影響がわかります。
元の写真 | 256色のPNG |
この様な図は色数が少ないので256色でも十分な事が多いのです。タイトルバーやアイコンなどにグラデーションがあり256色より多くなっているようで、背景色はちょっと違う色になっています。それでもJPEGよりもずっと有利です。
元の写真 | 256色のPNG |
たまたま広い面積を占める色がずれているので影響がありますが、ここを調整できれば遜色ない画像になるはずです。JPEGではかえってデータ量が多くなってしまいます。
256色のPNGのファイルの大きさ |
拡大です。JPEGのような画質の劣化はありません。
元の写真 | 256色のPNG |