新聞電子化とJPEG 2000 その2

本日のお題画像


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


では、さっそく行きまぁす。本日、最も重要なことは、項目5ですので、時間のない人は、こちらへすっ飛んでください。

1. The JPEG 2000 file will conform with JP2 file format as specified in ISO/IEC 15444-1:2000 (i.e., JPEG 2000, Part 1).

JPEG 2000という規格は、いくつかの種類があります。それをパート○という形でまとめています、今回は「Part 1」に準拠してください、ということです。

2. The JPEG 2000 file will be prepared after any image processing or clean-up is performed. The JPEG 2000 file will correspond with the image that is used for OCR.

どこの段階で、JPEG 2000に変換するのか、というタイミングの問題です。スキャンした画像は、普通、大きさを変えたり、色を調整したり、いろいろと手を加えます。今回は、いろいろと手を加えて、さぁ、これからOCRにかけるぞ、という段階の画像を、JPEG 2000に変換してください、という指示です。当たり前といえば、当たり前のように聞こえますが、このタイミングの問題は、たまにモメますので、このように明示しておくことは重要です。

3. The JPEG 2000 file's brand will be “jp2 ”, version will be “0” and compatibility will be “jp2 ”. (Note the space after jp2.)

というわけで、項目1とも連動しますが、ファイルの種類(拡張子)は何種類かありますが、今回はjp2というのにしてください、そして、バージョンは0にしてね、という指示です。

4. The JPEG 2000 file's image X origin, image Y origin, tile X origin, and tile Y origin will be 0.

というわけで、画像の「基点」というのがありまして、それを「普通」にしておいてね、という指示です。


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

5. The JPEG 2000 file will contain only one component.

というわけで、「コンポーネント(component)の数は1とする」ということです。コンポーネントというのは、カラー画像で説明すれば、なーんだ、そういうことね、と思うはずです。大したことないです。


さっそく、冒頭のお題画像を、もう一度見てみましょう、


これは、元の馬の画像から、赤成分、緑成分、青成分だけをとってきたものです。(ご存知かもしれませんが、)このように、カラー画像というのは、赤・緑・青の組み合わせで、出来上がっています*2。この各成分をコンポーネントという形で、分離して保存することができます。つまり、赤コンポーネント・緑コンポーネント・青コンポーネントとすれば、「コンポーネント(component)の数が3」ということになります。


そして、今回のNDNP指定のような「コンポーネントが1」というのは、色の分離がないこと(≒色がないこと)を意味しますので、次のようなグレースケールと呼ばれるモノクロ画像になります*3


ところで、コンポーネントに分割して保存できると、どんな良いことがあるのか、ということは、またの機会に書きますが、今日のところは、カラー画像ならコンポーネント3個で、モノクロ画像ならコンポーネント1個でやるのが、普通、と考えてください。


続いて、項目6、

6. The bit depth of that component will be 8.

というわけで、「各コンポーネントのビット深度は8とする」ということです。


難しい言い方してますが、要は、各コンポーネントで、「光の強さ」を256段階*4で調節してください、ということです。赤コンポーネントを例にすると、一番弱い0に設定しますと、真っ黒です。一番強い255に設定しますと、真っ赤です。以下に、0から255までを並べてみます。

ただし、最初の方は、全部、黒にしか見えないかもしれませんが、それでいいんです。決して、あなたの目がおかしいんじゃありません。私にも、1行目は全部、黒にしか見えません。


というわけで、本日は、「コンポーネント(component)」を中心に見てみました。いろいろとややこしいJPEG2000において、この「コンポーネント」は比較的分かりやすいほうです。軽いジャブだと受け止めてください。

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

*2:それ以外の組み合わせもありますが、ここでは、単純化して話を進めます。

*3:厳密に言うと、違いますが、おおまかな理解としては、これで十分です

*4:8ビットということで、2の8乗なので256です