JPEG 2000
出典: フリー百科事典『ウィキペディア(Wikipedia)』
オリジナルのJPEGフォーマットとJPEG 2000との比較
|
|
| 拡張子 | .jp2, .j2c |
|---|---|
| MIME Type | image/jp2 |
| 開発者 | Joint Photographic Experts Group |
| 種別 | 画像ファイルフォーマット |
JPEG 2000(ジェイペグにせん)は、静止画圧縮技術及び同技術を用いた画像フォーマットのことである。
ISO と ITU の共同組織である Joint Photographic Experts Group において JPEG の後継として規格化された。"JPEG2000"と詰めて書かずに、JPEG 2000と書くのが正式な表記である。JPEG は、処理負荷の少ないように作られていたが、JPEG 2000では画質と圧縮率の向上を優先している。また JPEG で直面した様々な問題を抜本的に解決する試みも行われており、ISO/IEC 15444-1:2000などにおいて国際規格制定がなされている。
目次 |
[編集] 技術の詳細
JPEG 2000 も JPEG と同様、ある画素の状態(明るさや色)は周囲の状態との類似性が高いという画像の性質を利用して圧縮するため、一度画像を空間領域から周波数領域(波の状態)に変換する。この周波数変換する手法としてJPEGでは離散コサイン変換(DCT: Discrete Cosine Transform)を用いたが、JPEG 2000では離散ウェーブレット変換 (DWT: Discrete Wavelet Transform) を用いる。ウェーブレットとはさざなみのことである。
DCT の定常波(余弦波)の代わりに、 DWT では空間的局在性のある孤立波(さざなみ)を用い、さらに波のセットとしても高周波成分に比較的多くの波を割り当てることによって、ゆったりとした変化だけでなく急激な変化にも柔軟に対応が出来る。そのためJPEGではエッジなどの急峻な変化の周囲で発生していたもやもやしたノイズ(モスキートノイズ)を防ぐことができる。DWTでは、完全に周波数領域に変換するのではなく、空間領域の位置関係もある程度保ちながら変換を行うため、色や明るさが位置によって徐々に変化するようなグラデーションにも強い。また、JPEGでは8×8固定であった周波数変換を行う単位(この単位をJPEGではブロック、JPEG 2000ではタイルと呼ぶ)のサイズをJPEG 2000では大きくできる(例えば256×256)ため、JPEGにおいてブロックの境界で生じていた段差(ブロックノイズ)が目立たない。特にブロックサイズ(タイルサイズ)を画面全体とした場合にはブロックノイズが全く生じない。これらの技術により、単に機械的な画質の指標である PSNR (Peak Signal to Noise Ratio) の数値が大きく向上しているだけでなく、その数値以上に見た目の画質(主観評価画質)が改善している。また、DCTは有限の演算精度においては非可逆変換であるのに対し、DWTはリフティング構成をとることによって、有限精度においても可逆な変換を行うことが可能である。JPEG 2000ではリフティング構成されたDWTを採用しているため、非可逆符号化と可逆符号化を同一の符号化方式で実現可能となっている。
周波数領域に変換後のデータは JPEG と同様、量子化してからエントロピー符号化を行う。このエントロピー符号化の方式は、 EBCOT (Embedded Block Coding with Optimized Truncation) と呼ばれる。EBCOTでは、DWT変換係数上に定義された矩形領域であるコードブロック単位で符号化が行われる。各コードブロックはビットプレーンに分解され、係数ビットモデリング処理によって、高々3つの符号化パス(サブビットプレーン)に分類される。それぞれのサブビットプレーンに属する係数ビットは、2値画像圧縮方式のJBIG2 (Joint Bilevel Image Group) でも利用されているMQ-Coderと呼ばれる算術符号化器を用いて圧縮される。MQ-coderはマルチコンテクストの算術符号化器であり、注目係数の周囲状態に合わせて効率良くデータ圧縮が可能である。JPEGで用いたハフマン符号に比べ、算術符号は圧縮効率が高い一方、その実行には一般に乗算器を必要とするため演算量が増加することが知られている。MQ-coderではこの乗算を加減算で近似することによって、この問題を回避している。 EBCOTでは、MQ-coderによって圧縮された各符号化パスを単位としてビット切捨て(Bit truncation)を行う。この操作は、各々の符号化パスを切り捨てた場合に増加する復号画像の歪みを予め計測しておき、与えられた圧縮率で最も高画質になるように切り捨てるパスをラグランジュの未定乗数法などの最適化手法を用いることで実現される。
なお、中程度の圧縮率では JPEG においても JPEG 2000 とそれほど遜色ない画質で圧縮できるが、高圧縮のときには画質の差は顕著になる。実際、 JPEG では100分の1未満に圧縮した場合には、有り得ない色や模様になるなど酷い劣化が生じるが、JPEG 2000では確かに画質は劣化しているものの自然である。また、JPEG 2000では可逆圧縮にも対応しているので、低圧縮の場合においては全く画像を劣化させることなく圧縮が可能である。
また、 JPEG 2000 は単に圧縮率を高めるだけではなく、 ROI (Region of Interest) という技術で特定の領域(注目領域)の画像を向上させる技術や、電子透かしなどの著作権保護技術、端末やネットワーク状況によって適切なデータ量を転送する技術が採用されるなど非常に多機能である。
[編集] 動向
発表当初は、急激に普及すると思われたものの、近年のハードディスクドライブ、光ディスクドライブ、フラッシュメモリなどのストレージの急激な価格低下、計算コストの割にはサイズがあまり小さくならないなどの要因により普及はあまり進んでいない。その中でもWindowsなどのオペレーティングシステムが標準でサポートしていないことは、普及にとって致命的となっている。またQuickTimeの機能を活用するSafariを除き、Webブラウザでの対応は遅れているため、Webページで使用したくても使用できないのが現状である。デジタルカメラでもサポートしている機種は現状では一台もない。なお、JPEG 2000はQuickTimeの機能にもとづきMac OS Xでは標準サポートされている。WindowsでもQuickTimeをインストールすればJPEG 2000の取り扱いが可能になる。
Adobe PhotoshopがJPEG 2000プラグインを標準で添付するほか、一応ウェブブラウザ用のプラグインも出来上がっているが、処理が遅く実用的とは言い難い。デジタルカメラ・携帯電話メーカーはJPEG 2000の実装に消極的であり、OS及びウェブブラウザでトップシェアを持つマイクロソフトが自社ソフトウェアへのJPEG 2000の実装を避けていることが、その普及を阻んでいる。ちなみに現在MozillaではJPEG 2000機能を拡張機能として搭載する試みが、またFirefoxにも水面下で搭載しようとする動きがある。
対抗規格として、マイクロソフトのHD Photoが存在し、JPEG XRとして標準化が検討されている。
[編集] 対応ソフトウェア
[編集] Part
JPEG 2000 はいくつかのPartに分かれる。それは以下の通り。
- Part1(ISO-15444-1/ITU-T Rec.800) … 基本的な JPEG 2000 の機能で従来JPEGに相当する部分
- Part2(ISO-15444-2/ITU-T Rec.801) … Part1 の拡張
- Part3(ISO-15444-3/ITU-T Rec.802) … 動画、 Motion JPEG 2000
- Part4(ISO-15444-4/ITU-T Rec.803) … 妥当性
- Part5(ISO-15444-5/ITU-T Rec.804) … 検証ソフトウェア
- Part6(ISO-15444-6) … JPM、複合画像
- Part7 … (没規格)互換性
- Part8(ISO-15444-8/ITU-T Rec.807) … JPSEC、セキュリティ、著作権保護
- Part9(ISO-15444-9/ITU-T Rec.808) … JPIP 、 JPEG 2000 の転送プロトコル
- Part10(ISO-15444-10/ITU-T Rec.809) … 3次元画像、(浮動小数点画像(流体シミュレーション画像)は策定対象外となった)
- Part11(ISO-15444-11/ITU-T Rec.810) … JPWL、携帯電話・無線機器
- Part12(ISO-15444-12) … ISOベースメディアファイルフォーマット: MPEG-4(ISO/IEC 14496) Part 12 と同一の内容で、 Part 3 のファイルフォーマットに派生
- Part13(ISO-15444-13) … 符号化標準(Part1の符号器の標準)
- Part14(ISO-15444-14) … JPXML、XMLを用いたファイルフォーマットの構造化表現と参照方式
[編集] 外部リンク
- The JPEG committee home page
- Everything you always wanted to know about JPEG 2000 - published by intoPIX in 2008 (PDF)(英語)
- The Jasper Project Homepage C言語によるJPEG 2000の実装(Part-5の一部)
- JJ2000 Public Homepage JavaによるJPEG 2000の実装(Part-5の一部)
- OpenJPEG Homepage オープンソース(BSDライセンス)のJPEG 2000の実装
- Kakadu JPEG 2000 SDK Home Page C++言語によるJPEG 2000の実装
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

