2010年1月5日火曜日

機種に依存しないアニメーション画像ファイルフォーマット

アニメーション画像ファイルフォーマットには、下記の4つがある。
・GIFファイルフォーマット
・MNGファイルフォーマット
・mPNGファイルフォーマット
・APNGファイルフォーマット

このうち、APNGというアニメーション画像ファイルフォーマットに注目した。

Animated Portable Network Graphics(Wikipedia)
http://ja.wikipedia.org/wiki/Animated_Portable_Network_Graphics

APNGファイルフォーマットは、Adobe Flashやsilverlightなどに依存しないアニメーション画像フォーマットであり、APNGに対応していなくても、1コマ目だけ表示される。PNG画像ファイルさえ表示できれば、とりあえず問題ない。タグもimgタグでいける。作成したのは、Mozillaチーム。

GIFファイルフォーマットには、同時に表示できる色数が256色という制限がある。InternetExplorerでも対応しているという大きな利点があるが、フルカラーに対応していないのが悩みで、自然画のアニメーションだとどうしても画像が劣化する。その代わり、画像サイズは小さくなる。作成したのは、CompuServeというアメリカのパソコン通信会社。

MNGファイルフォーマットというアニメーション画像の規格がある。PNG画像を作ったグループが決めた画像フォーマットである。しかし、あまりにも機能を盛り込みすぎて、2001年に規格が決まったのに、どのブラウザでも実装されていない。作成したのは、PNG画像を規格化したチーム。

mPNGファイルフォーマットは、APNGに対抗するために作成した画像の規格。縦にアニメーションする画像をくっつけて、順番に表示させるもの。ただし、対応していないブラウザで表示すると縦に長く表示されてしまう。作成したのは、PNG画像を規格化したチーム


PNG画像フォーマットの作成チームは何を考えているのか

PNG画像フォーマットは、GIFファイルで使用されている圧縮アルゴリズムLZWの特許問題が発覚してから開発されている。
時代のニーズは、明らかに「GIFファイルに替わるアニメーション画像ファイルフォーマット」を求めていた。なのに、フルカラー静止画可逆圧縮フォーマットを提供し、アニメーション画像は提供しなかった。
代わりに提案したのは、MNGファイルフォーマットだった。しかし、あまりに複雑すぎてブラウザ側が対応できず、サブセットのMNG-LCやMNG-VLCを用意しても普及しなかった。しかも、現場からAPNGファイルフォーマットが提案されてもそれを受け入れず、逆にブラウザ側の対応を要求するmPNGファイルフォーマットを提案した。開発・閲覧者両サイドに負担をかける態度を見ると、何を考えて提案しているのかわからなくなる。


APNGはすでに使える

APNGファイルフォーマットは、すでにOpera・Firefoxブラウザでアニメーションできるのを確認している。(2010年1月現在)
また、InternetExplorer8・Safari・Google Chromeなどのブラウザでも、静止画として問題なく表示するのを確認している。つまり、既にブラウザ側では問題なく表示できているのだ。画像データを提供する人にとって、アニメーションしないという問題はあるが、妥協できるレベルだ。今後ブラウザ側で徐々に対応して貰えば問題ない。
APNGの作成は、少なくともFirefoxのアドオンで「APNG Editor」の名前で提供されている。(2010年1月のFirefox3.5で確認)
作成も閲覧もできる。あとは普及するかだ。

Adobe Flashやsilver lightはアプリケーションに依存する以上、バージョンアップの度にセキュリティホールの危険がいつまでも発生する。また、プレーヤーが提供されなければ、アニメーションしない。
APNGは、ある程度高速化・バグフィックスが済んだら、セキュリティーホールが発生しない限り基本的に放置されていくだろうから、枯れていって信頼されていくだろう。そうなってくれれば、jpg・gifファイルのように、目新しくないけど、安心して使えるフォーマットになってくれると思う。そのことを私は望む。


P.S.
MicrosoftInternetExplorer開発チームのみなさん、webkitの開発チームのみなさん、APNGを実装してくれないだろうか。是非、お願いしたい。


追記

ニコニコ動画にAPNGを作成する動画があったのでリンクを張っておく。




YouTubeはこちら

0 件のコメント:

コメントを投稿