傷ついたら、どーなんの?
前に、電子画像データのファイル・フォーマットについて、あれこれと騒いでたの、覚えてる?今日はその続き。(大分の話じゃないから、頭ん中、入れ替えてよ)
このあたりでも見て、思い出してー。
http://www.myopenarchive.org/documents/view/76 | |
http://hotdocs.jp/file/54640 | |
http://hotdocs.jp/file/54641 |
要するに、
書籍電子化において、長い間、TIFFってのが使われてんの。でも、最近の書籍電子化ってのは、規模がやたらと大きくなってきたので、データ容量ってもんが気になってる。ストレージ(要はデータ入れておく装置)のコストも下がってきてるんだからいいじゃん?って言ってる人がいるんだけど、そんなこたーねぇ。データ容量が大きくなってくると、ストレージのコストうんぬんじゃないんだ。その扱いコストだとか、データ送信コストだとか、いろいろと厄介なんや。そんな中、誰かさんの陰謀で、JPEG 2000が密かに脚光を浴びてる。みんなで使おう、JPEG 2000!
ってな感じ。
さて、今日は、そんな状況下、一般人がよーく使ってるJPEGってのと、書籍電子化でよく使われてるTIFFってのと、最近頭角を現しつつあるJPEG 2000について、その特徴を見やすくしてみましたーって実験をご紹介。
A Format for Digital Preservation of Images
- A Study on JPEG 2000 File Robustness -
http://www.dlib.org/dlib/july08/buonora/07buonora.html
この論文を書いたイタリア人、パオロとフランコは何をしたのか?
音楽CDにたとえて、ちょー簡単に説明しましょ。音楽CDとかの表面に傷がついたり、汚れがついてたりすると、音が飛んだり、繰り返したりするでしょ?*1それと一緒な感じで、画像ファイルに、もし傷がついたら、その画像はどーなっちまうの?ってことをやってみたの。
その結果、
みんなのJPEGは、こんな感じ。傷ついた部分から下が全て真っ黒。 出所:http://www.dlib.org/dlib/july08/buonora/Jpeg1.20.png |
|
書籍電子化のTIFFは、こんな感じ。傷ついた部分に、横にブワーっと線が入る(ことがある)。 出所:http://www.dlib.org/dlib/july08/buonora/Tiff.png |
|
最後に新星JPEG 2000は、こんな感じ。どこに傷ができたんだか、よーわからん。(ってことは、音とびしないCDと一緒で、すばらしい!ってことだ。) 出所:http://www.dlib.org/dlib/july08/buonora/0.01.png |
さて、なんでこんなことになんのか?(ここから、ちょいとマニアな領域。)
JPEG can use DCT to break up an image to its spatial frequency components, and it compresses the low-frequency component first. This important - but optional - feature is called progressive encoding. Unfortunately, JPEG is generally used in a sequential mode, rather than in a progressive mode, so when data is corrupted, the encoding/decoding process fails and the rest of the image is lost.
ってなわけで、「画像ファイルってのは、その方式として、大きくわけて二つあるわけ。プログレッシブ・モードとシーケンシャル・モード。途中に問題が発生すると、そこで立ち往生しちゃうのがシーケンシャル・モード。傷つきやすいタイプなの。それに比べて、ツラの皮が厚くて、多少の問題は気にしないタイプなのが、プログレッシブ・モード。あなたの性格はどっちのモード?(おっと脱線。)そんでJPEGってのは、ホントはね、プログレッシブ・モードをオプションとして選択できんだけど、一般のピープルが使ってるやつだと、シーケンシャルなんだ。だから、途中で傷があると、それ以降は真っ黒になってしまうってわけ」ってことらしい。
JPEGを使ったことある人は多いと思うので、もしかしたら、途中から真っ黒画像に遭遇したこともあったでしょう。これで、謎は解明されたでしょ。
ところが、TIFFのヨコシマは、意外と知られていない。っていうか、普通に画像ファイルを扱ってれば、あんまし、傷ついちゃうなんてこと起きないし、わざわざこんな傷つける実験する人いないしぃ。そのヨコシマな原因は、
The TIFF format has an end-line dedicated byte; therefore, removing or corrupting this value can damage a strip. In other cases, it is not possible to open the files if 0.1% errors are introduced (7 have failed: 30% tested image, see Table 1) and 1% errors occur (24 have failed: 100% tested image) .
ってなわけで、「TIFFには、各行の終わりだよってのをお知らせする部分がある。もし、その部分が傷ついちゃうと、1行全部がおかしなことになっちゃうか、たまに、ぜーんぶの画像がおかしくなっちゃうんだよ。傷の量が、全体の1%に達すると、100%の確率で画像が開かなくなっちゃったんだよ」ってことらしい。
そんで、JPEG 2000はなんで傷ついても立ち直りが早いかっていうと、
JPEG 2000, however, uses markers, headers and dedicated coding to prevent coding errors or transmission errors.
ってなわけで、「JPEG 2000には、自然治癒力が備わっておって、多少の傷なら、もとに戻るんじゃい」ってことらしい。そりゃ便利だ。
というわけで、結局何が言いたいのかって言うと、「ファイル・フォーマットの違いについて覚える語呂合わせ(本日公開のセックス・アンド・ ザ・シティ編*2)。失恋したら、
- もう人生終わりだと、塞ぎ込んじゃうJPEG (シャーロット)
- 大きな傷を残しながらも、強く生きていこうとするTIFF (キャリー、ミランダ)
- 何もなかったかのように振舞うJPEG 2000 (サマンサ)
さぁ、最後の夏を振り絞って、映画館で「セックス・アンド・ ザ・シティ」見て、ファイル・フォーマットへの造詣を深めましょ」ってこと。