削除された内容 追加された内容
jpeg.orgのSVGロゴ
13行目:
| extendedto =
|icon=JPEG 2000 logo.svg}}
'''JPEG 2000'''(ジェイペグにせん)は静止画像[[データ圧縮|圧縮]]技術及び同技術を用いた[[画像]][[ファイルフォーマット|フォーマット]]の呼称である[[国際標準化機構|ISO]]と[[国際電気通信連合|ITU]]の共同組織である[[Joint Photographic Experts Group]]によって国際標準化が進められており[[国際標準化機構|ISO]]/[[国際電気標準会議|IEC]]の規格書15444およびITU-Tの勧告書Rec.T.800シリーズとして出版されている
 
JPEG2000と詰めて書かずに'''JPEG 2000'''と書くのが正式な表記である.JPEG。JPEG 2000では[[JPEG]]を上回る圧縮効率とスケーラビリティなどの機能を付加することを目的に規格策定作業が進められた<ref>{{Cite book|title=JPEG2000 : image compression fundamentals, standards, and practice|url=https://www.worldcat.org/oclc/47737760|publisher=Kluwer Academic Publishers|date=2002|location=Boston|isbn=079237519X|oclc=47737760|others=Marcellin, Michael W.|last=Taubman, David S.}}</ref><ref>{{Cite book|title=The JPEG 2000 suite|url=https://www.worldcat.org/oclc/441886987|publisher=J. Wiley|date=2009|location=Chichester, West Sussex, U.K.|isbn=9780470744635|oclc=441886987|others=Schelkens, Peter., Skodras, Athanassios., Ebrahimi, Touradj.}}</ref>なお国際標準の規格書/勧告書で規定されているのは,JPEG、JPEG 2000のコードストリームをデコードするための手順であるしたがってエンコーダの仕様については何も定められていないどのように実装されたとしてもエンコーダに要求されるのは標準によって規定された手順でデコードできるコードストリームを出力することである
 
== 技術の概要 ==
JPEG 2000では,JPEG、JPEGと同様入力画像に対して周波数変換を施しその変換係数に対して[[量子化]][[エントロピー符号化]]を適用することで画像の持つデータ量を圧縮する.JPEG。JPEGとの要素技術における主な相違点は
 
* 周波数変換に[[離散コサイン変換]]ではなく[[離散ウェーブレット変換]] (Discrete Wavelet Transform:DWT)を用いること
* エントロピー符号に[[ハフマン符号]]ではなく[[算術符号]]を用いること
* 可逆符号化(ロスレス)と非可逆(ロッシー)符号化を同一の方式にて実現可能であること
 
である.JPEG。JPEG 2000は一つの圧縮画像を様々な解像度やビットレート等で利用できるというスケーラビリティ機能を有しているがこれは特に量子化された変換係数から圧縮されたビットストリームを生成する役割を担うEBCOT(Embedded Block Coding with Optimized Truncation<ref>{{Cite journal|last=Taubman|first=D.|date=2000-7|title=High performance scalable image compression with EBCOT|url=http://ieeexplore.ieee.org/document/847830/|journal=IEEE Transactions on Image Processing|volume=9|issue=7|pages=1158–1170|doi=10.1109/83.847830}}</ref>)アルゴリズムの持つ高い符号化効率圧縮後のレート制御(Post Compression Rate Distortion Optimization:PCRD-opt)などの特長に依るところが大きい
== Part ==
2020年6月現在,JPEG、JPEG 2000はPart1からPart16までが標準化されている<ref>{{Cite web|title=JPEG - JPEG 2000|url=https://jpeg.org/jpeg2000/index.html|website=jpeg.org|accessdate=2019-08-12}}</ref>
 
ITU-T側で出版されている勧告書のうち無料で入手可能なものには参照を付した
{| class="wikitable"
|+JPEG 2000の各パートの名称と内容
48行目:
|-
|3
|Motion JPEG 2000,2000, 動画像向けファイルフォーマット .mj2
|15444-3
|T.802
55行目:
|適合性試験
|15444-4
|T.803<ref>{{Cite web|title=T.803  :  Information technology - JPEG 2000 image coding system: Conformance testing|url=https://www.itu.int/rec/T-REC-T.803|website=www.itu.int|accessdate=2019-09-06}}</ref>
|-
|5
|参照ソフトウェア
|15444-5
|T.804<ref>{{Cite web|title=T.804  :  Information technology - JPEG 2000 image coding system: Reference software|url=https://www.itu.int/rec/T-REC-T.804|website=www.itu.int|accessdate=2019-09-06}}</ref>
|-
|6
|複合画像(文字と写真等が混在した画像)向けファイルフォーマット .jpm
|15444-6
|T.805<ref>{{Cite web|title=T.805  :  Information technology - JPEG 2000 image coding system: Compound image file format|url=https://www.itu.int/rec/T-REC-T.805|website=www.itu.int|accessdate=2019-09-06}}</ref>
|-
|7
73行目:
|-
|8
|Secure JPEG 2000,JPEG2000, JPEG 2000画像のためのセキュリティサービス (JPSEC)
|15444-8
|T.807<ref>{{Cite web|title=T.807  :  Information technology - JPEG 2000 image coding system: Secure JPEG 2000|url=https://www.itu.int/rec/T-REC-T.807|website=www.itu.int|accessdate=2019-09-06}}</ref>
|-
|9
|双方向通信のためのツール,API, API, JPIPプロトコル
|15444-9
|T.808<ref>{{Cite web|title=T.808  :  Information technology - JPEG 2000 image coding system: Interactivity tools, APIs and protocols|url=https://www.itu.int/rec/T-REC-T.808|website=www.itu.int|accessdate=2019-09-06}}</ref>
|-
|10
|3次元画像データのための拡張
|15444-10
|T.809<ref>{{Cite web|title=T.809  :  Information technology - JPEG 2000 image coding system: Extensions for three-dimensional data|url=https://www.itu.int/rec/T-REC-T.809|website=www.itu.int|accessdate=2019-09-06}}</ref>
|-
|11
|ワイヤレス通信のための誤り検出・訂正符号化 (JPWL)
|15444-11
|T.810<ref>{{Cite web|title=T.810  :  Information technology - JPEG 2000 image coding system: Wireless|url=https://www.itu.int/rec/T-REC-T.810|website=www.itu.int|accessdate=2019-09-06}}</ref>
|-
|12
100行目:
|エントリレベルエンコーダ
|15444-13
|T.812<ref>{{Cite web|title=T.812  :  Information technology - JPEG 2000 image coding system: An entry level JPEG 2000 encoder|url=https://www.itu.int/rec/T-REC-T.812|website=www.itu.int|accessdate=2019-09-06}}</ref>
|-
|14
|XMLによるファイルフォーマットあるいはコードストリームの記述法 (JPXML)
|15444-14
|T.813<ref>{{Cite web|title=T.813  :  Information technology - JPEG 2000 image coding system: XML structural representation and reference|url=https://www.itu.int/rec/T-REC-T.813|website=www.itu.int|accessdate=2019-09-06}}</ref>
|-
|15
|高スループットブロック符号化,High, High Throughput JPEG 2000 (HTJ2K), .jph
|15444-15
|T.814
119行目:
 
== コードストリーム構造 ==
JPEG 2000のコードストリーム構造の例を以下の図に示す図内の用語のうちタイルパートレイヤ,DWT・DWTレベルコンポーネントプリシンクトパケットヘッダサブバンドについては後述する
[[ファイル:Structure_j2c.png|代替文=|中央|サムネイル|800x800ピクセル|JPEG 2000コードストリームの構造の例(LRCPプログレッション)]]
基本的には,SOC、SOC(Start of Codestream)マーカから始まるバイナリデータでありその終端はEOC(End of Codestream)である
 
SOCマーカの直後からメインヘッダが格納されており各種符号化パラメータに関する情報がここに記録されているメインヘッダの直後よりタイルパートが格納される各タイルパートはタイルパートヘッダから始まるタイルパートヘッダの直後よりそのタイルパートに含まれる圧縮データが格納される
 
この圧縮データはプログレッション順序に基づいて格納されるプログレッション順序とはレイヤ(ある画質あるいはビットレートに対応する圧縮データの集合),DWT)、DWTレベル(DWTの分解レベルに対応する圧縮データの集合),)、コンポーネント(色コンポーネント成分に対応する圧縮データの集合),)、プリシンクト(DWT係数内の部分空間に対応する圧縮データの集合)の4つの要素のうち優先的にデコードする要素の階層構造を意味するコードストリームが取り得るプログレッション順序については後述する
 
== 符号化手順 ==
下図は,JPEG、JPEG 2000 Part 1の符号化手順のブロック図であるなお本符号化手順は参考例であり規格化されたものではないことに注意されたい以下では,Part、Part 1エンコーダにおける各ブロックの処理内容について述べる以後ここでは非可逆符号化をロッシーモード可逆符号化をロスレスモードと呼ぶ
[[ファイル:Jpeg2000encoder.png|代替文=JPEG 2000 Part 1 符号化の手順|中央|サムネイル|800x800ピクセル|JPEG 2000 Part 1 符号化の手順]]
 
=== 入力画像 ===
規格上サポートされる入力画像のサイズビット深度色コンポーネント数などを以下にまとめる各値は実際にはエンコーダ・デコーダの実装上の制約を受ける
 
* サイズ:<math>1\times 1</math>〜<math>(2^{32}-1)\times (2^{32}-1)</math>
* ビット深度(1画素あたりのビット数):1〜38(符号付きデータの場合符号ビットも含む)
* 色コンポーネント数:1〜16384
 
=== タイル分割(オプション) ===
入力画像はタイルと呼ばれる任意サイズの矩形領域に分割可能であるタイル分割はエンコーダで利用できるメモリに制限がある場合などに有用である各タイルは完全に独立して符号化されるため分割数やビットレートによってJPEGで見られるような[[ブロックノイズ]]が現れる場合もあるタイルの符号化結果であるバイトストリームは上述のようなエンコーダの制約に応じて複数の部分集合(タイルパート)に分割することも可能である
 
=== DCレベルシフト(オプション) ===
入力画像が符号なしデータの場合後述するDWT後の画像の直流成分が0中心になることを期待してそのダイナミックレンジの1/2を入力画像から差し引く
 
入力画像を<math>I</math>入力画像の[[ビット深度]]を<math>bit</math>,DC、DCレベルシフト後の画像を<math>I'</math>とおくと
 
<math>I'=I-2^{bit-1}</math>
 
と表すことができる
 
=== 色空間変換(オプション) ===
入力画像が[[RGB]]色空間で定義されている場合各色コンポーネント間の冗長性を排除するために輝度-色差色空間([[YUV]])への変換を行う用いる色空間変換はICT(Irreversible Color Transform)とRCT(Reversible Color Transform)の2種類が規定されているロッシーモードではICTをロスレスモードではRCTを用いる以下では最初に,ICT,、ICT、続いてRCTについて述べる入力画像<math>I</math>の各色コンポーネントを<math>R, G, B</math>ととする.ICT。ICTおよびRCTは以下の式で表すことができる以下の式において変換後の輝度コンポーネントは<math>Y</math>または<math>Y'</math>色差コンポーネントは<math>C_b,C_r</math>または<math>C'_b,C'_r</math>である
 
==== ICT (Irreversible Color Transform) ====
176行目:
 
=== DWT ===
JPEG 2000では,2、2分割[[フィルタバンク]]に基づく分離型2次元DWTが採用されている分離型2次元DWTは,1、1次元に対する処理を水平・垂直方向に施すことによって2次元の変換係数を得る手法である.Part。Part 1ではロッシーモード用とロスレスモード用の2つのDWTが定義されているそれぞれのDWTはリフティングと呼ばれる構成法を取ることによって実現されるリフティング構成を取る理由は数学的に可逆な変換が変換係数の精度を有限(例えば整数)にしたとしても実現できることにある下図は,3、3レベルの2次元DWTの実行例である水平方向・垂直方向の各次元でローパスおよびハイパスフィルタがかけられるため,1、1レベルのDWTによって,4、4つのサブバンド(LL:水平垂直ローパス,HL、HL:水平ハイパス垂直ハイパス,LH、LH:水平ローパス垂直ハイパス,HH、HH:水平垂直ハイパス)が生成される各レベルでは,LL、LLサブバンドを次々に分解していくオクターブ分割が実行される.Part。Part 1で許されるDWTレベル数は0〜32と規定されている
[[ファイル:DWTexample.png|代替文=|サムネイル|800x800px|順方向2次元DWTの例|中央]]
各々のDWTレベルにおいて下図に示すようにプリシンクトと呼ばれる矩形領域が定義される
[[ファイル:Jpeg2000precinct.png|代替文=|中央|サムネイル|440x440ピクセル|JPEG 2000におけるプリシンクト]]
プリシンクトのサイズは2のべき乗の整数でなければならず最大で<math>2^{15}\times 2^{15}
</math>のサイズを取ることができる同一番号のプリシンクトは画像の部分領域を構成するDWT係数と考えることができ後述するパケットおよびプログレッション順序の構成要素となる
 
=== 量子化 ===
Part 1ではスカラー量子化のみがサポートされている.Part。Part 2ではTCQ(Trellis Coded Quantization<ref>{{Cite journal|last=Kasner|first=J.H.|last2=Marcellin|first2=M.W.|last3=Hunt|first3=B.R.|date=Dec./1999|title=Universal trellis coded quantization|url=http://ieeexplore.ieee.org/document/806615/|journal=IEEE Transactions on Image Processing|volume=8|issue=12|pages=1677–1687|doi=10.1109/83.806615}}</ref>)と呼ばれる量子化方法も使用可能である
 
サブバンド<math>b</math>のDWT変換係数を<math>x_b</math>ステップサイズを<math>\Delta_b</math>とおくとスカラー量子化後の変換係数<math>Q(x_b)</math>は次式で表される
 
<math id="scalarQ">Q(x_b) = sign(x_b)\left \lfloor \frac{|x_b|}{\Delta_b} \right \rfloor</math>
 
ロスレスモードでは量子化による情報の損失は許されないため<math>\Delta_b=1</math>で固定であるロッシーモードにおけるステップサイズは各DWTレベル各サブバンドごとに異なる値を指定できる
 
=== ROI(Region of Interest)(オプション) ===
画像中の特定の領域を興味領域(ROI)として他の領域(背景領域)と比べて符号化の優先度を高めるための処理である興味領域内のDWT係数をMAXSHIFT<ref>{{Cite journal|last=Christopoulos|first=C.|last2=Askelof|first2=J.|last3=Larsson|first3=M.|date=2000-9|title=Efficient methods for encoding regions of interest in the upcoming JPEG2000 still image coding standard|url=http://ieeexplore.ieee.org/document/863146/|journal=IEEE Signal Processing Letters|volume=7|issue=9|pages=247–249|doi=10.1109/97.863146|issn=1070-9908}}</ref>と呼ばれる方法でシフトアップすることで符号化の優先度を高めることができるサブバンド<math>b</math>のDWT係数のダイナミックレンジを<math>M_b</math>(bit)とすると,MAXSHIFT、MAXSHIFT法によるシフト量<math>s</math>は次式で表される
 
<math>s\geq\max(M_b)</math>
 
MAXSHIFT法によるROI機能では優先度の調節は不可能であるもののデコーダに際してROIの形状に関する情報が不要という特長がある
 
=== EBCOT ===
 
==== コードブロック分割 ====
下図に示すように,EBCOT、EBCOTでは各サブバンドはコードブロックと呼ばれる矩形領域に分割されるコードブロックはEBCOTにおける最小符号化単位であり各コードブロックはそれぞれ独立に符号化可能である
[[ファイル:Codeblock.png|代替文=|中央|サムネイル|344x344ピクセル|コードブロック分割の例]]
コードブロックのサイズは水平・垂直方向それぞれのサイズが4以上128以下面積が4096以下の条件を満たす2のべき乗の整数から自由に選ぶことができる一般に64x64や,32x32、32x32のサイズが用いられることが多いメインヘッダに記録されるコードブロックのサイズは一つであるが実際のコードブロックサイズは画像サイズやDWTレベル数プリシンクトサイズなどの様々なパラメータによって決定されかならずしも全てのコードブロックで同一とはならないコードブロック内の量子化されたDWT係数は符号絶対値表現([[符号付数値表現]])で表される2進数として表現され以後の処理は[[ビットプレーン]]ごとに進められる
[[File:Bitplanecoding.png|代替文=|中央|サムネイル|799x251ピクセル|EBCOTにおけるビットプレーン]]
上図は,EBCOT、EBCOTにおけるビットプレーンの概念を示しているなお図中の<math>K_{msb}</math>は各コードブロックごとに計測されたゼロビットプレーン数であるゼロビットプレーンとは符号ビットを除く振幅係数においてプレーン内の係数ビットがすべて0であるプレーンが最上位ビットから連続する数であるこのゼロビットプレーンに対する処理はスキップされその数のみが後述するパケットヘッダに記録される
 
==== ビットモデリング ====
各コードブロックはビットプレーンに分割される各ビットプレーンは最上位ビットに位置するプレーンから順に最下位ビットプレーン至るまで処理される各ビットプレーン内のDWT係数ビットは周辺係数ビットの状態に応じて最大3つの符号化パスに分割される各符号化パスは,Significance、Significance Propagation(SP),Magnitude, Magnitude Refinement(MR), Cleanup(CU)と呼ばれる各係数ビットは必ずこれらの符号化パスのいずれかに一度だけ属する
 
各ビットプレーンのスキャンパターンを下図に示すスキャンの際には<math>1\times 4</math>係数ビットからなるstripeという単位が存在し各stripe内は上から下へと順にスキャンされる
[[File:Ebcotstripescan.png|thumb|EBCOTにおける係数ビットのスキャンパターン|代替文=|中央|449x449ピクセル]]
最上位ビットプレーンをスキャンする際には上位のビットプレーンに関する情報が得られないため必ずCleanupパスとして処理される最上位のすぐ次のビットプレーンからは,SP→MR→CU、SP→MR→CUの順に属する符号化パスが決定される
 
符号化パスの決定には現在の係数ビットとその周辺8近傍の係数ビットの状態が用いられる係数ビットは"1"か"0"の値をとるがそれぞれ"有意"および"非有意"状態とみなされる
 
SPパスは自身が非有意かつ周辺にすでに有意となった係数ビット存在する係数ビットが属するこのとき現在の係数ビットは非有意から有意の状態へと更新される
 
MRパスは上位ビットプレーンですでに有意となっている係数ビットが属する
 
CUパスは,SP、SPパスにもMRパスにも属さない係数ビットが属する
 
なおそれぞれの符号化パスはさらにその周辺係数ビットの有意状態の情報にコンテクスト(CX)と呼ばれるラベルが付けられる規格で規定されたコンテクストの数は19である
 
==== MQ符号化 ====
 
===== 概要 =====
SP,MR,CUSP、MR、CUの各符号化パスに属する係数ビットはそのコンテクストCXの値と共に2値算術符号化器であるMQ-coderへと送られ算術符号化される.MQ。MQ-coderは各コンテクストごとに独立した確率遷移テーブルを持つこの確率遷移テーブルのエントリ数は46である
 
MQ-coderは係数ビットの正負を表す符号ビットと値ビットから計算されるディシジョンビットDと,CX、CXを入力として出力ビットを計算する符号ビットが入力されるのは初めて有意となる係数ビットが符号化されるときに限られる.MQ。MQ-coder内には5つのレジスタが存在しそのうちの出力ビットを蓄えているレジスタ上でバイト境界に達するとバイトストリームとして1バイトが新たに出力されるこの際デコーダにとって重要なマーカとなるFF90h〜の値がバイトストリーム内に出現するのを回避するため直前のバイト出力がFFhであった場合にはレジスタ内における次のバイト境界の先頭1ビットをスキップしデータを書き込まないようにする処理が追加されるこれはビットスタッフィングと呼ばれる
 
===== 終端処理 =====
コードブロック内の全ての係数ビットを符号化した後でも通常,MQ、MQ-coder内のレジスタにはバイト境界に満たない符号語が残っているため終端処理によって全ての係数ビットをデコードするのに必要な長さの符号語を出力する
 
===== 符号化モード =====
MQ-coderには符号化モードとして以下の6つのモードがオプションとして用意されている
 
* Selective arithmetic coding bypass:
** 最上位から数えて5つ目のビットプレーン以降のSPおよびMRパスに属する係数ビットをRAWデータのまま符号語とするモード.CU。CUパスは常に算術符号化される
* Reset context probabilities on coding pass boundaries
** 各符号化パスの符号化開始時に各コンテクストごとの確率遷移テーブルを初期状態にリセットするモード
* Termination on each coding pass
** 各符号化パスの符号化終了時に終端処理を呼び出すモード
* Vertically causal context
** コンテクストの値を求める際のウインドウがひとつ下のstripeにまたがれないように制約を与えるモード
* Predictable termination
** 終端処理を規定された方法で行うモード
* Segmentation symbol
** エラー耐性機能のために,CU、CUパス符号化終了時に特別なシンボルを挿入し符号語に加えるモード
 
==== レート制御(オプション) ====
 
===== レート歪み最適化(Rate-Distortion Optimization) =====
EBCOTでは,MQ、MQ符号化後のバイトストリームに対して符号化パスを最小単位として符号切り捨てを行うことで圧縮後のレート歪最適化(PCRD-opt)を行うことが可能であるレート制御についてはエンコーダにおける処理であるため規定された技術はないが一般的に以下の処理によって実現されることが多い
 
コードブロック<math>n</math>内の切り捨て点として符号化パス<math>z_n</math>を考える<math>z_n</math>までのデータ量を<math>L_n^{z_n}</math>そのパスでバイトストリームを切り捨てることで増加する歪みの推定量を<math>D(L_{n}^{z_n})</math>とおく所望のビットレートを<math>L_{max}</math>として<math>\sum {L_i^{z_i}} \leq L_{max}
</math>の条件のもと<math>\sum D(L_{i}^{z_i})</math>を最小化する<math>z_i
</math>を各コードブロックごとに決定するこの一連の手順はラグランジュの未定乗数法を用いることで実現できる
 
===== レイヤ(Layer)生成 =====
また上述のレート制御処理はコードストリームのプログレッション順序の構成要素の一つであるレイヤを形成するためにも用いられるレイヤとは,SNR、SNR(Signal-to-Noise Ratio,Ratio, [[SNR]])スケーラビリティを実現するための概念である
 
レイヤを用いたSNRスケーラビリティとは最上位レイヤから最下位レイヤにデコード処理が進むにしたがって段階的にデコード画像の画質が向上する(SNRが向上する)機能を意味するレート制御処理によって各コードブロックの符号化パスがどの程度画質に寄与するかが予測できるためこの情報を用いてレイヤを生成する具体的には各コードブロックにおいてどのレイヤに符号化パスがいくつ属するかをレート制御によって得られる情報をもとに決定するこのレイヤごとのパス数はパケットヘッダ生成アルゴリズムによってパケットヘッダに記録される
 
==== パケットヘッダ生成 ====
MQ-coderからの出力バイトストリームはプリシンクトを単位とした「パケット」として整列される各パケットにはパケットヘッダとして以下の情報が付加される
 
# emptyパケットフラグ(1bit)
274行目:
# バイトストリームの長さ
 
各パケットヘッダの先頭1bitはそのパケットのデータが空である場合には0,0、それ以外には1となるフラグである
 
2. 3.についてはタグツリーと呼ばれるデータ構造によって符号化される
 
生成されたパケットヘッダは各パケットの先頭あるいはメインヘッダ内あるいはタイルパートヘッダ内のいずれか一つの場所に格納される
 
=== パケット生成 ===
各パケットは指定されたプログレッション順序に応じて並べ替えられる指定可能なプログレッション順序は
 
* レイヤ,DWT、DWTレベル色コンポーネントプリシンクト(LRCP)
* DWTレベルレイヤ色コンポーネントプリシンクト(RLCP)
* DWTレベルプリシンクト色コンポーネントレイヤ(RPCL)
* プリシンクト色コンポーネント,DWT、DWTレベルレイヤ(PCRL)
* 色コンポーネントプリシンクト,DWT、DWTレベルレイヤ(CPRL)
 
の5つである
 
== 動向 ==
[[デジタルシネマ]]<ref>{{Cite web|title=Digital Cinema Initiatives (DCI) - DIGITAL CINEMA SYSTEM SPECIFICATION, VERSION 1.2|url=https://www.dcimovies.com/specification/index.html|website=www.dcimovies.com|accessdate=2019-08-12}}</ref>公文書や芸術作品のアーカイブ<ref>{{Cite web|title=国立公文書館 デジタルアーカイブ|url=https://www.digital.archives.go.jp/data/howto.html|website=www.digital.archives.go.jp|accessdate=2019-08-12}}</ref>医療用画像の圧縮<ref>{{Cite web|title=8.2.4  JPEG 2000 Image Compression|url=http://dicom.nema.org/medical/dicom/2017c/output/chtml/part05/sect_8.2.4.html|website=dicom.nema.org|accessdate=2019-08-12}}</ref>業務用途の画像配信システム[[監視カメラ]][[Portable Document Format|PDF]]ファイル内の画像フォーマットなどでは既に広く使われている高い圧縮効率や豊富な機能を備えていることから発表当初はコンシューマ向け分野でも急激に普及することが期待されたが,JPEG、JPEGと比較すると計算負荷が高くバッテリー消費が激しいことやまたスループットを稼げず連写速度の向上が難しいことからデジタルカメラ用途での採用は進んでいない
 
Part 15(High Throughput JPEG 2000)では,EBCOT、EBCOTの弱点であった計算負荷の高さとそれに起因する低スループットおよびバッテリー消費量の問題を解決するべく新しいブロック符号化アルゴリズムが標準化された若干の圧縮効率の低下と引き換えに,10、10倍以上のスループット向上が達成されているまた決して並列化向きのアルゴリズムではなかったEBCOTとは異なり,GPU、GPUなどによる並列化を強く意識したアルゴリズムとなっており並列化によるスループットのさらなる向上が期待できる
 
== 対応ソフトウェア ==