新聞電子化とJPEG 2000 その4
本日のお題画像
引き続き、NDNP(全米電子新聞プロジェクト*1)におけるJPEG2000の詳細を見てみます。概要は、http://d.hatena.ne.jp/denshikA/20091007をご覧ください。
本日、説明するのは、項目10だけですので、時間のない人もすっ飛ばずに読んでくださいね。
項目10ですが、
10.The JPEG 2000 will have 6 decomposition levels.
というわけで、「分解レベル(decomposition levels)は6でお願いします」ということです。
今からちょっと遠回りしますが、最後には、ちゃんと「分解レベル(decomposition levels)」の話に戻ってきますので、しばしお付き合いを。
まず、次の二つの画像を見比べてください。
右の画像が、ボケっとしてますね。ところが、右の画像を、ちょびっと小さくしてみると、どうでしょう?
二つの画像は、同じくらい、くっきりしてませんか?
つまり、「多少ボケた画像でも、小さくすると、ボケてんのかどうか、わからない」という法則です。
先ほどの同じ大きさの画像に戻って、左の画像から、右の画像を引き算してみましょう。
− =
一番右の画像は、一番左の画像がちょっとボケて真ん中の画像になった時に、消えていった情報ということになります。分かりにくいかもしれませんので、一番右の画像だけ、大きくしておくと、
という感じで、よく見ていただくと、りんごの輪郭らしきもんがうっすらと現れています。この白く出ている部分が、消えていった情報です。
ここで真ん中の画像を小さくしたものと取り換えてみましょう。
− =
これは冒頭のお題画像ですが、日本語に翻訳しますと、「元の画像(左)を、長さ半分*2の画像(真ん中)に縮小するとき、多少の情報(右)を省略しちゃっても見た目変わりません」ということです。また、
= +
とすれば、「小さくしちゃった画像(真ん中)にさっき省略しちゃった「多少の情報(右)」をつけたしてやれば、元の画像(左)に戻ります」ということです。
さて、「多少ボケた画像でも、小さくすると、ボケてんのかどうか、わからない」法則が分かったところで、そろそろ、「分解レベル(decomposition levels)」の話に戻っていきましょう。
今、2048(縦)x2048(横)の画像があったとします。長さ半分にすると、1024x1024ですね。そして、先ほどの法則を適用しますと、
(1) 2048x2048画像 = 1024x1024画像 + 「省略しても良い多少の情報パート1」
となります。これが「分解レベル1」ということです*3。続いて、
1024x1024画像 = 512x512画像 + 「省略しても良い多少の情報パート2」なので、
先ほどの(1)に代入してあげれば、
(2) 2048x2048画像 = 512x512画像
+ 「省略しても良い多少の情報パート2」
+ 「省略しても良い多少の情報パート1」
ということになります。これが「分解レベル2」ということです。同様に、今回のNDNPが指定している「分解レベル6」というのは、
(6) 2048x2048画像 = 32x32画像*4
+ 「省略しても良い多少の情報パート6」
+ 「省略しても良い多少の情報パート5」
+ 「省略しても良い多少の情報パート4」
+ 「省略しても良い多少の情報パート3」
+ 「省略しても良い多少の情報パート2」
+ 「省略しても良い多少の情報パート1」
という感じになるのが、ご理解いただけたのではないでしょうか。つまり、「分解レベル6」というのは、「元の画像に対して、長さ1/64の画像と、「省略しても良い多少の情報」を6つ作ること」なのです。
さて、これまでのキーワードと有機的に結びつけていきますので、ここで、前々回の「プログレッション(progression)」を思い出してください。http://d.hatena.ne.jp/denshikA/20091009
Rが先頭に来る「プログレッション順序(progression order)」を選択すると、こういう感じになります。
と書きました。
この上図が、「分解レベル2」のものだと考えてください。
JPEG2000の画像ファイルとしては、次のような順序で記録されています。
左の小さい画像+「省略しても良い多少の情報パート2」+「省略しても良い多少の情報パート1」
画像ファイルを表示させようとすると、まず、
左の小さい画像 +「省略しても良い多少の情報パート2」+「省略しても良い多少の情報パート1」
の部分が表示されて、先ほどの一番左の小さな画像となり、続いて、
左の小さい画像 +「省略しても良い多少の情報パート2」+「省略しても良い多少の情報パート1」
の部分までが表示されて、先ほどの真ん中の中くらい画像となり、最後に、
左の小さい画像 +「省略しても良い多少の情報パート2」+「省略しても良い多少の情報パート1」
という感じで全部が表示されて、先ほどの右の大きい画像となるわけです。
というわけで、「プログレッション順序(progression order)」のところで出てきた「解像度(resolution)」というのは、「分解レベル(decomposition levels)」における画像のサイズのことである、ということがご理解いただけたかと思います。
ちょっと長かったですが、この「分解レベル(decomposition levels)」というのは、JPEG2000にとって、本丸に該当する要所です。なので、しっかりマークしておいてください。まだ少し時間がある方は、補足へとお進みください。
(補足)スーパーマニアのためのJPEG2000実習
マニアの中のマニア、スーパーマニアのために、JPEG2000に関する情報です。
続きは、こちらをご覧ください。http://denshika.cc/faq/faq7s.php
*1:http://d.hatena.ne.jp/denshikA/20090827参照
*2:面積だと1/4ですね
*3:文字通り、分解してますよね。
*4:元の長さの1/64(1/[2の6乗])になります