JPEG 2000
JPEG 2000では、JPEGと同様、入力画像に対して周波数変換を施し、その変換係数に対して量子化、エントロピー符号化を適用することで画像の持つデータ量を圧縮する。JPEGとの要素技術における主な相違点は、以下の通り。
周波数変換に離散コサイン変換ではなく、離散ウェーブレット変換 (Discrete Wavelet Transform:DWT)を用いること
エントロピー符号にハフマン符号ではなく、算術符号を用いること
可逆符号化(ロスレス)と非可逆(ロッシー)符号化を同一の方式にて実現可能であること
JPEG 2000は、一つの圧縮画像を様々な解像度やビットレート等で利用できるというスケーラビリティ機能を有しているが、これは特に、量子化された変換係数から圧縮されたビットストリームを生成する役割を担うEBCOT(Embedded Block Coding with Optimized Truncation)アルゴリズムの持つ、高い符号化効率、圧縮後のレート制御(Post Compression Rate Distortion Optimization:PCRD-opt)などの特長に依るところが大きい。
符号化モード
MQ-coderには、符号化モードとして、以下の6つのモードがオプションとして用意されている。
Selective arithmetic coding bypass: 最上位から数えて5つ目のビットプレーン以降のSPおよびMRパスに属する係数ビットをRAWデータのまま符号語とするモード。CUパスは常に算術符号化される。
Reset context probabilities on coding pass boundaries 各符号化パスの符号化開始時に各コンテクストごとの確率遷移テーブルを初期状態にリセットするモード。
Termination on each coding pass 各符号化パスの符号化終了時に終端処理を呼び出すモード。
Vertically causal context コンテクストの値を求める際のウインドウが、ひとつ下のstripeにまたがれないように制約を与えるモード。
Predictable termination 終端処理を規定された方法で行うモード。
Segmentation symbol エラー耐性機能のために、CUパス符号化終了時に特別なシンボルを挿入し符号語に加えるモード。
最上位のすぐ次のビットプレーンからは、SP→MR→CUの順に属する符号化パスが決定される。
符号化パスの決定には、現在の係数ビットと、その周辺8近傍の係数ビットの状態が用いられる。係数ビットは"1"か"0"の値をとるが、それぞれ"有意"および"非有意"状態とみなされる。
SPパスは自身が非有意かつ周辺にすでに有意となった係数ビット存在する係数ビットが属する。このとき、現在の係数ビットは非有意から有意の状態へと更新される。
MRパスは、上位ビットプレーンですでに有意となっている係数ビットが属する。
CUパスは、SPパスにもMRパスにも属さない係数ビットが属する。
なお、それぞれの符号化パスは、さらにその周辺係数ビットの有意状態の情報に、コンテクスト(CX)と呼ばれるラベルが付けられる。規格で規定されたコンテクストの数は19である。