News | 2000年12月4日 10:20 PM 更新 |
インターネット,デジカメ……と現在使われている静止画の標準フォーマットは“JPEG”だ。しかし300万画素のデジカメが登場するに至って,ファイルサイズは巨大になり,かといって圧縮率を上げるとブロックノイズが目立つ。Webでの利用でも,画像転送サイズを帯域幅の違いによって変えられないなど,フレキシビリティに乏しい。そんなJPEGの問題を解決する静止画仕様が策定される。
|
ソニーインフォメーション&ネットワーク研究所,代田研究室の主任研究員である福原隆浩氏 |
JPEG-2000は,12月中にISO国際標準規格として採用される次世代の静止画圧縮技術だ。ソニーインフォメーション&ネットワーク研究所の主任研究員である福原隆浩氏は,1997年7月からJPEG-2000の策定にかかわってきた専門家だ。
福原氏によると,JPEG-2000の特徴の1つはJPEGよりも非常に圧縮率が高いことだという。同等の画質を実現するのに,JPEG-2000なら50〜70%のファイルサイズで足りる。逆にいうと,同じファイルサイズなら圧倒的にJPEG-2000は美しい。
|
現行JPEGで96分の1に圧縮した画像(上)と,JPEG-2000で96分の1に圧縮した画像(下)。(オリジナルをダウンロード:JPEG-2000画像は通常のブラウザなどで閲覧できるようBMP形式に変換してあります)ファイルサイズは同じながら,圧倒的な美しさだ。現行のJPEGは,輪郭領域や,のっぺりとした部分にノイズや歪が多いという(画像提供:ソニー) Windows用解凍ソフト:+Lhaca Mac OS用解凍ソフト:StuffIt Expander |
JPEG-2000が高圧縮を実現できた理由は,圧縮方式の違いにある。現行のJPEGがDCT(離散コサイン変換)を用いているのに対して,JPEG-2000ではウェーブレット(Wavelet)変換を用いている。ウェーブレット変換を使うと,画像の中の輪郭部分から生まれるノイズがほかに波及することなく,美しい画像となる。
もう1つ,現行のJPEGは圧縮率を高めた際にブロック歪が発生しやすい。これは,画像を複数のブロック(現行JPEGは8×8ピクセル)に分けてDCTを行うために発生する。ウェーブレット変換はブロック単位ではなく画面全体に対して処理するため,ブロック歪は生じない。「原理的にブロック歪は絶対おこらない」(福原氏)。
非常に魅力的なJPEG-2000だが,問題の1つは処理速度にある。現行のJPEGに比べて数倍の処理能力を必要とするのだ。「圧縮処理でJPEGの5〜6倍,伸張処理で3〜4倍」(福原氏)。
また,名前は同じ“JPEG”でも,現行のJPEGとJPEG-2000では圧縮に使う技術が全く違う。そのため従来のJPEGとは上位互換性がない。JPEG-2000とJPEGを両方扱いたいソフトウェアは,それぞれの処理ルーティンを別々に書かなくてはいけなくなる。
これまでのフォーマットと互換性がないというと,思い出すのが画像の可逆圧縮方式としてインターネット上の標準を狙ったPNGだ。多くのソフトウェアやほとんどのWebブラウザが対応したが,Web上で見かけるのは相変わらずGIF。JPEG-2000はPNGの二の舞にならないのだろうか?
JPEG-2000が象徴的なのは,フォーマットの策定にMicrosoftやApple,Adobeなどだけでなく,キヤノンや富士フイルムなどの画像機器のメーカーも関わっていることだ。福原氏は「(JPEG-2000をハードウェア的に処理する)LSIを外販して売ろうというメーカーもある」と言う。つまり,JPEG-2000は概念だけの規格ではなく,実際にJPEG-2000を利用する機器が予定されているということだ。「デジタルカメラを作って売ろうというメーカーもある」(福原氏)
デジタルカメラがJPEG-2000で画像を保存できたらどうなるか? 300万画素のデジカメでも150万画素相当のファイルサイズで大きく美しい画像を保存できる。メールに添付したりする画像も,これまでより遥かに美しくなるだろう。
JPEG-2000に対応したソフトウェアやハードウェアが登場するのは,2001年の夏以降になりそうだ。しかしデジカメがJPEG-2000を採用した時点で,次世代の画像フォーマットの標準は決まったといえそうだ。
少々難しい,ウェーブレット変換の話JPEGなどでは,2次元に広がる画素を周波数分解し,それを量子化,符号化して圧縮を行っている。現行のJPEGでは,周波数分解の手段としてDCT(フーリエ変換の1種)を使うのに対して,JPEG-2000はウェーブレット変換を利用する。ウェーブレットとは,さざなみの意味だ。 簡単に言えば,画像を波形と見立て,そのすべての波形を三角関数やウェーブレット関数で表そうとするのが周波数分解だ。 周波数分解に三角関数(sin,cos)を利用しているDCTでは,局所的に激しく変化する波形に対して振る舞いが悪いことが知られている。ウェーブレット関数を用いるウェーブレット変換なら,より効率よく波形を表すことが可能だ。
福原氏は「(cosなどは基底が定まっているのに対して,ウェーブレット変換は)基底が自由ということがポイント」という。DCTは,画像の高域成分も低域成分も同じ長さの基底で変換する。ウェーブレット変換は,画像の高域成分(画像が急激に変化する輪郭などの部分)では短い基底を用いて雑音を抑えることができる。 JPEGなどでは,このようにして変換を行った後,量子化を行い(この段階でデータが損失する),符号化して圧縮する。現行のJPEGではハフマン符号化を行うのに対して,JPEG-2000ではビットプレーンを単位としたエントロピー符号化(EBCOT:エブコット)を行う。 符号化処理は並列で実行されるため,マルチプロセッサなどを用いることで処理を高速化できる。しかし処理内容は条件分岐が多発し,SIMD系の処理(MMXやSSEなど)がものすごく使いにくい演算となる。 |
関連記事
JPEG 2000は今後の画像圧縮の主流となりうるか?
Copyright © ITmedia, Inc. All Rights Reserved.