新聞電子化とJPEG 2000 その3

本日のお題画像


オリジナル画像提供:http://www.s-hoshino.com/f_photo/syoku/sy_012.html


引き続き、NDNP(全米電子新聞プロジェクト*1)におけるJPEG2000の詳細を見てみます。概要は、http://d.hatena.ne.jp/denshikA/20091007をご覧ください。


本日、最も重要なことは、項目9ですので、時間のない人は、こちらへすっ飛んでください。でも、それ以外の箇所に、おいしい情報が隠れてるかもしれないので、心配性の人は、全部読んでください。


7. The JPEG 2000 file's height and width will be the same as the TIFF master file.

というわけで、「マスターファイルとしては、TIFFを使ってください」と暗示されていて、なおかつ、「画像の高さと幅は変更しないでね」と注意がされています。


ここは補足が必要かと思います。マスターファイルというのは、「長期保存用の原本」というような意味です。その反対は、派生ファイル(Derived File)という言葉が一般的ですかね。(たくさん方言がありますので、あまり気にしないで、各自、自由に呼んでください。)


NDNPにおいて、JPEG2000は派生ファイルの扱いです。通常派生ファイルは、ファイルサイズを小さくするために、圧縮をしたり、サイズ変更をしたりするのが一般的です。


ところが、JPEG 2000の特徴のひとつに、さまざまなサイズの画像をリクエストに応じて作成できる「オーダーメイド方式」というものがあります。たとえば、他のファイルフォーマットですと、サムネイル画像とフルサイズ画像を別々に用意する必要があるのですが、JPEG 2000の場合、フルサイズの画像をひとつ用意しておくと、後で、サムネイルもサクサクっと作れます。*2


なので、この項目7の注意事項は、このことを念頭に書かれていると思われます。

8. The JPEG 2000 file's tile header will not contain coding style default, coding style component, quantization default, and quantization component marker segments.

というわけで、タイルヘッダーという部分があるのですが、そこに、ごちゃごちゃと入れるなよ、という指示です。細かい話なので、飛ばしましょう。


本日は、ここが重要です!

9. The JPEG 2000's progression order will be RLCP (resolution, layer, component,
position).

というわけで、プログレッション順序(progression order)は、RLCPにしてくださいね、ということです。


プログレッション順序とは何?と思われたでしょうから、プログレッション順序について、見てみましょう。


プログレッション順序は、JPEG2000における大きな特徴のひとつです。だけど、ちょっと難解かもしれません。


比較的簡単に言うと、「プログレッション(progression)」というのは、「画像を一気に表示するのではなくて、徐々に表示する」ことです。


冒頭の図を見てください。


「徐々に表示する」と言っても、いくつか種類があります。

  • 一番目は、小さな画像から、だんだんと大きくなって、本来の画像に辿りつく
  • 二番目は、ボケた画像から、だんだんとくっきりして、本来の画像に辿りつく
  • 三番目は、画像の上の方から、だんだんと表示をして、本来の画像に辿りつく
  • 四番目は、赤だけから、緑、青と色を追加していって、本来の画像に辿りつく*3


JPEG2000では、この「プログレッション(progression)」の種類を選択することができるんです。そして、選択肢として

  • RLCP
  • RPCL
  • LRCP
  • PCRL
  • CPRL

という5つがあります。


話を簡単にするために、先頭の1文字だけに注目すると、

  • RLCP
  • RPCL
  • LRCP
  • PCRL
  • CPRL

要は、RLPCですね。


Rが先頭に来る「プログレッション順序(progression order)」を選択すると、こういう感じになります。


Lが先頭に来る「プログレッション順序(progression order)」を選択すると、こういう感じになります。


Pが先頭に来る「プログレッション順序(progression order)」を選択すると、こういう感じになります。


Cが先頭に来る「プログレッション順序(progression order)」を選択すると、こういう感じになります。


というわけで、「プログレッション順序(progression order)」とは何なのか、なんとなくでもいいので、わかっていただけたと思います。ちなみに、先ほどのLRPCというのはそれぞれ、以下のような意味を持っていますので、C以外は後日、解説する予定です。

  • layer (レイヤー、次々回説明します)
  • resolution (解像度、次回説明します)
  • position (位置、そのうち説明します)
  • component (コンポーネント、前回説明しました)

*1:http://d.hatena.ne.jp/denshikA/20090827参照

*2:細かい話は、次回の「分解レベル(decomposition levels)」のところでやります。

*3:前回確認したコンポーネントを使って、こういう操作ができます