新聞電子化とJPEG 2000 その6(最終回)

本日のお題画像

 


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


本日は、ズバッと項目15を見て行きます。


項目15は、

15. The JPEG 2000 will use 1024x1024 tiles.

ということで、「タイルのサイズを1024x1024にしてください」ということです。


大きな画像をそのままJPEG2000変換すると、効率が悪いので、分割して変換していく場合があります。そのとき、分割していく単位となるのが、タイルです。タイル設定を大きくしすぎると、効率が悪くなるのですが、小さくしすぎると、画像にモザイクが現れます。


さっそく見てみましょう。

 

左の画像が、タイルを64x64に設定して、右の画像が128x128に設定したものです。


想像していただければ分かると思いますが、タイルをどんどん大きくすれば、

このようにモザイクが消えます。


どうしてこんなことが起きるのかというと、タイル設定をすると、それぞれのタイルを、あたかも個別の画像であるかのように、JPEG2000変換していくからです。なので、隣のタイルどうしがうまくつながらない可能性があるわけです。


しかし、よっぽど大きな画像*1JPEG2000変換する場合を除いて、タイルを設定しないほうが良いでしょう。ちなみに、「タイルを設定しない」ことを

タイル構成を、単一構成とする

と言ってみたり、

タイルのサイズを、画像のサイズと同じにする

と言ってみたりすることがあるので、言葉に惑わされず、単に「モザイクがイヤなのね」と考えましょう。


これでほぼ役者が揃ったので、最後に、http://d.hatena.ne.jp/denshikA/20091007で提示した

kdu_compress -i YOURINPUT.pgm -o YOUROUTPUT.jp2 -rate 1,0.84,0.7,0.6,0.5,0.4,0.35,0.3,0.25,0.21,0.18,0.15,0.125,0.1,0.088,0.075,0.0625,0.05,0.0 4419,0.03716,0.03125,0.025,0.0221,0.01858,0.015625 Clevels=6 Stiles={1024,1024} Corder=RLCP -jp2_box YOURMETADATA.xml

という「NDNP推奨の変換コマンド」について、確認してみましょう。非常にマニア度が高いですが、これまでのシリーズを読んでいただいた方には、ご理解いただける範囲であると思います。

kdu_compress -i YOURINPUT.pgm -o YOUROUTPUT.jp2

は、kakaduというプログラムの呼び出しです。YOURINPUT.pgmが変換前のファイルで、YOUROUTPUT.jp2が変換後のファイル名です。
以降が、各設定になりますが、

 -rate 1,0.84,0.7,0.6,0.5,0.4,0.35,0.3,0.25,0.21,0.18,0.15,0.125,0.1,0.088,0.075,0.0625,0.05,0.0 4419,0.03716,0.03125,0.025,0.0221,0.01858,0.015625

は、http://d.hatena.ne.jp/denshikA/20091014で見たレイヤー設定です。
続いて、

Clevels=6

は、http://d.hatena.ne.jp/denshikA/20091013で見た分解レベル設定です。
続いて、

Stiles={1024,1024}

は、今回登場のタイルです。
続いて、

Corder=RLCP

は、http://d.hatena.ne.jp/denshikA/20091009で見たプログレッション設定です。
続いて、

 -jp2_box YOURMETADATA.xml

は、初登場ですが、メタデータの埋め込みです*2JPEG2000というのは、画像に関する情報(メタデータ)を、画像ファイルの中に埋め込んでおくことができます。


というわけで、いかがでしょうか?


10月7日の「その1」の段階で、

kdu_compress -i YOURINPUT.pgm -o YOUROUTPUT.jp2 -rate 1,0.84,0.7,0.6,0.5,0.4,0.35,0.3,0.25,0.21,0.18,0.15,0.125,0.1,0.088,0.075,0.0625,0.05,0.0 4419,0.03716,0.03125,0.025,0.0221,0.01858,0.015625 Clevels=6 Stiles={1024,1024} Corder=RLCP -jp2_box YOURMETADATA.xml

を見たときとは違って、少しは意味ある文字に見えてきましたか?


これで、JPEG2000シリーズは、とりあえず終わりですが、またチャンスをうかがって、チョコチョコと話題にしていきたいと思います。

*1:たとえば、新聞や地図など

*2:メタデータについては、そのうち、集中的に扱いますので、その時まで待っててください。