JPEG 2000
JPEG 2000のコードストリーム構造の例を以下の図に示す。図内の用語のうち、タイルパート・レイヤ・DWTレベル・コンポーネント・プリシンクト・パケットヘッダ・サブバンドについては後述する。
基本的には、SOC(Start of Codestream)マーカから始まるバイナリデータであり、その終端はEOC(End of Codestream)である。
SOCマーカの直後からメインヘッダが格納されており、各種符号化パラメータに関する情報がここに記録されている。メインヘッダの直後より、タイルパートが格納される。各タイルパートはタイルパートヘッダから始まる。タイルパートヘッダの直後より、そのタイルパートに含まれる圧縮データが格納される。
この圧縮データは、プログレッション順序に基づいて格納される。プログレッション順序とは、レイヤ(ある画質あるいはビットレートに対応する圧縮データの集合)、DWTレベル(DWTの分解レベルに対応する圧縮データの集合)、コンポーネント(色コンポーネント成分に対応する圧縮データの集合)、プリシンクト(DWT係数内の部分空間に対応する圧縮データの集合)の4つの要素のうち、優先的にデコードする要素の階層構造を意味する。コードストリームが取り得るプログレッション順序については後述する。
Y ′ = ⌊ R + 2 G + B 4 ⌋ C b ′ = B − G C r ′ = R − G {\displaystyle {\begin{matrix}Y'=&\left\lfloor {\frac {R+2G+B}{4}}\right\rfloor \\C'_{b}=&B-G\\C'_{r}=&R-G\\\end{matrix}}}
[ Y C b C r ] = [ 0.299 0.587 0.114 − 0.16875 − 0.331260 0.5 0.5 − 0.41869 − 0.08131 ] [ R G B ] {\displaystyle {\begin{bmatrix}Y\\C_{b}\\C_{r}\end{bmatrix}}={\begin{bmatrix}0.299&0.587&0.114\\-0.16875&-0.331260&0.5\\0.5&-0.41869&-0.08131\end{bmatrix}}{\begin{bmatrix}R\\G\\B\end{bmatrix}}}