PNG画像は夢の次世代画像
と喧伝されてきたにも拘らず、いまひとつ普及しておりません。
その最大の理由にしばしば挙げられるのがアニメーションに対応していない
と言うものですが、それだったら「アニメーションGIFは使ってはいるものの静止画に関しては全部PNG画像にしているサイト」が主流になっている筈です。
また、日本ではiモード端末が未だにPNG画像をサポートしないとは言え、基本的にiモードで見る事が出来ないPC向けサイトでPNG画像が使われない理由にはなりません。
結局別の理由があると思われます。
実は、PNG画像形式は意外に世間では誤解されているのです。
これらの誤解がPNG画像の普及を妨げている最大の理由かどうかは分かりませんが、理由の一つである事は間違い無いでしょう。
携帯電話での写真付きメールでしか画像を扱わない方に多い誤解のようです。
例えば、携帯電話での写真付きメール機能に関する記事で、こういう記述がまかり通るのです。
JPEG対応のA3012CAにもPNG画像が送信された。PNGのため、画質的には今ひとつだ。
つまり、この記事を書いた記者は、明らかにPNGはJPEGより画質が悪いと思っているのでしょう。
写真メールの添付機能においては、フルカラー可逆圧縮のPNG画像形式ではどうしてもJPEG画像程小さくならず、このためPNG画像形式で送るには256色以下に減色しなければならないようです。
減色されれば画質が落ちるのは当り前で、これはPNG画像形式のせいではありません。
実際には、減色せずに送信すれば、不可逆圧縮のJPEG画像より遙かに高画質となるのです。
蛇足ですが制作者が持っているディジタルカメラには、最高画質として無圧縮TIFFで保存するモードがあります(その他のモードではJPEG画像形式となります)。
この頃はTIFF画像の圧縮技術であるLZW圧縮アルゴリズムにライセンスが必要だったと言う事情があるのでしょうが、なぜか画質は同じで無圧縮TIFF形式より小さくなる筈のPNG形式を採用していないのです。
やはり誤解されているのでしょうか…。
画像作成ソフトとして最もシェアの高い某ブランドを用いている方に多い誤解です。
C言語でPNG画像の読書きをするソフトウェアを作る場合、わざわざ一から作らなくても「libpng」と呼ばれるライブラリを使えば簡単に出来ます。
しかしながら、あるブランドではPNG画像形式を独自のコードで処理しており、そのコーディングが非常に問題のあるものなのです。
何しろ制作者が書いたPerlスクリプトによるPNG画像よりも圧縮効率が悪いのです。
と言うより、GIFの数倍もの大きさになってしまって実用に堪えられないのです。
最大手の画像ソフトでこのザマでは、PNG画像は効率の悪い形式だと思い込む方が増えても致し方無いでしょう。
確かに、PNG画像形式は、GIF画像形式と違って、デフレート圧縮のコーディング如何によってファイルサイズは大きく変わってきます。
しかし、圧縮にZLIBライブラリを用いた場合は、多くの場合でGIF画像より小さくなります。
これはPNG画像が利用しているデフレート圧縮の方がLZW圧縮より多くのデータを圧縮出来る事によります。
PNG画像を静止GIF画像並みに表示できるPC向けブラウザは、端数を四捨五入すれば100%になっております。
ただ、夢の次世代画像
と呼べるような独自機能を遺憾無く発揮出来るブラウザは、シェアで言えばまだ二割もありません。
こうなると「アニメーションが使えないGIFの代用品」の域を越えられないのです。
携帯電話でPNG画像に対応している端末では、今のところ多くがアルファチャネルなどに対応していないようです。
特にWAP 1.0規格で用いられるPNG画像はWAP向けPNGとでも言うべき限定された仕様となっております。
また、ボーダフォンの在来機で表示出来るPNG画像も、機能が大きく制限されております。
これらの規格では、PNG画像は「ロイヤリティの支払いが不要なGIF画像の代用規格」として採用されたに過ぎないようです。
誤解2とも繋がりますが、これも誤解です。
実際には、GIFで扱えるインデックスドカラーではフィルタ処理は殆どの場合逆効果となるため、無処理フィルタにした方が良いのです。
つまり、フィルタを用いなくても充分GIF以上の効率となります。
フィルタはフルカラーの画像をより効率よく圧縮するためのものです。
可逆圧縮ではどうしても不可逆圧縮のJPEG画像ほど小さくならないため、せめて少しでも圧縮効率が高まるようにするために導入されたものと言えます。