JPEG 2000
規格上サポートされる入力画像のサイズ・ビット深度・色コンポーネント数などを以下にまとめる。各値は、実際にはエンコーダ・デコーダの実装上の制約を受ける。
サイズ: 1 × 1 {\displaystyle 1\times 1} 〜 ( 2 32 − 1 ) × ( 2 32 − 1 ) {\displaystyle (2^{32}-1)\times (2^{32}-1)}
ビット深度(1画素あたりのビット数):1〜38(符号付きデータの場合、符号ビットも含む)
色コンポーネント数:1〜16384
下図に示すように、EBCOTでは、各サブバンドは、コードブロックと呼ばれる矩形領域に分割される。コードブロックはEBCOTにおける最小符号化単位であり、各コードブロックはそれぞれ独立に符号化可能である。
コードブロックのサイズは、水平・垂直方向それぞれのサイズが4以上1024以下、面積が4096以下の条件を満たす2のべき乗の整数から自由に選ぶことができる。一般に64x64や、32x32のサイズが用いられることが多い。メインヘッダに記録されるコードブロックのサイズは一つであるが、実際のコードブロックサイズは画像サイズやDWTレベル数、プリシンクトサイズなどの様々なパラメータによって決定され、かならずしも全てのコードブロックで同一とはならない。コードブロック内の量子化されたDWT係数は、符号絶対値表現(符号付数値表現)で表される2進数として表現され、以後の処理はビットプレーンごとに進められる。
上図は、EBCOTにおけるビットプレーンの概念を示している。なお、図中の K m s b {\displaystyle K_{msb}} は、各コードブロックごとに計測されたゼロビットプレーン数である。ゼロビットプレーンとは、符号ビットを除く振幅係数において、プレーン内の係数ビットがすべて0であるプレーンが最上位ビットから連続する数である。このゼロビットプレーンに対する処理はスキップされ、その数のみが後述するパケットヘッダに記録される。