J2kとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > J2kの意味・解説 

JPEG 2000

(J2k から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/03/03 03:02 UTC 版)

JPEG 2000
オリジナルのJPEGフォーマットとJPEG 2000との比較
拡張子.jp2, .jpg2,.jpc,.jph,.j2c, .j2k, .jpf, .jpx, .jpm, .mj2,.jph
MIMEタイプimage/jp2, image/jp2, image/jpx, video/mj2, image/jpm,image/jph
開発者Joint Photographic Experts Group
種別画像ファイルフォーマット
国際標準ISO/IEC 15444
オープン
フォーマット
はい。

JPEG 2000(ジェイペグにせん)は、静止画像圧縮技術及び同技術を用いた画像フォーマットの呼称である。ISOITUの共同組織であるJoint Photographic Experts Groupによって、国際標準化が進められており、ISO/IECの規格書15444およびITU-Tの勧告書Rec.T.800シリーズとして出版されている。

JPEG2000と詰めて書かずに、JPEG 2000と書くのが正式な表記である。JPEG 2000では、JPEGを上回る圧縮効率とスケーラビリティなどの機能を付加することを目的に規格策定作業が進められた[1][2]。なお、国際標準の規格書/勧告書で規定されているのは、JPEG 2000のコードストリームをデコードするための手順である。したがって、エンコーダの仕様については何も定められていない。どのように実装されたとしても、エンコーダに要求されるのは、標準によって規定された手順でデコードできるコードストリームを出力することである。

技術の概要

JPEG 2000では、JPEGと同様、入力画像に対して周波数変換を施し、その変換係数に対して量子化エントロピー符号化を適用することで画像の持つデータ量を圧縮する。JPEGとの要素技術における主な相違点は、以下の通り。

JPEG 2000は、一つの圧縮画像を様々な解像度やビットレート等で利用できるというスケーラビリティ機能を有しているが、これは特に、量子化された変換係数から圧縮されたビットストリームを生成する役割を担うEBCOT(Embedded Block Coding with Optimized Truncation[3])アルゴリズムの持つ、高い符号化効率、圧縮後のレート制御(Post Compression Rate Distortion Optimization:PCRD-opt)などの特長に依るところが大きい。

Part

2020年6月現在、JPEG 2000はPart1からPart16までが標準化されている[4]

ITU-T側で出版されている勧告書のうち、無料で入手可能なものには参照を付した。

JPEG 2000の各パートの名称と内容
Part 内容 ISO/IEC IS ITU-

T Rec.

1 基本方式, 基本ファイルフォーマット .jp2 15444-1 T.800
2 拡張 15444-2 T.801
3 Motion JPEG 2000, 動画像向けファイルフォーマット .mj2 15444-3 T.802
4 適合性試験 15444-4 T.803[5]
5 参照ソフトウェア 15444-5 T.804[6]
6 複合画像(文字と写真等が混在した画像)向けファイルフォーマット .jpm 15444-6 T.805[7]
7
8 Secure JPEG 2000, JPEG 2000画像のためのセキュリティサービス (JPSEC) 15444-8 T.807[8]
9 双方向通信のためのツール, API, JPIPプロトコル 15444-9 T.808[9]
10 3次元画像データのための拡張 15444-10 T.809[10]
11 ワイヤレス通信のための誤り検出・訂正符号化 (JPWL) 15444-11 T.810[11]
12
13 エントリレベルエンコーダ 15444-13 T.812[12]
14 XMLによるファイルフォーマットあるいはコードストリームの記述法 (JPXML) 15444-14 T.813[13]
15 高スループットブロック符号化, High Throughput JPEG 2000 (HTJ2K), .jph 15444-15 T.814
16 JPEG 2000画像のHEIF(ISO/IEC 23008-12)へのカプセル化 15444-16 T.815

コードストリーム構造

JPEG 2000のコードストリーム構造の例を以下の図に示す。図内の用語のうち、タイルパート・レイヤ・DWTレベル・コンポーネント・プリシンクト・パケットヘッダ・サブバンドについては後述する。

JPEG 2000コードストリームの構造の例(LRCPプログレッション)

基本的には、SOC(Start of Codestream)マーカから始まるバイナリデータであり、その終端はEOC(End of Codestream)である。

SOCマーカの直後からメインヘッダが格納されており、各種符号化パラメータに関する情報がここに記録されている。メインヘッダの直後より、タイルパートが格納される。各タイルパートはタイルパートヘッダから始まる。タイルパートヘッダの直後より、そのタイルパートに含まれる圧縮データが格納される。

この圧縮データは、プログレッション順序に基づいて格納される。プログレッション順序とは、レイヤ(ある画質あるいはビットレートに対応する圧縮データの集合)、DWTレベル(DWTの分解レベルに対応する圧縮データの集合)、コンポーネント(色コンポーネント成分に対応する圧縮データの集合)、プリシンクト(DWT係数内の部分空間に対応する圧縮データの集合)の4つの要素のうち、優先的にデコードする要素の階層構造を意味する。コードストリームが取り得るプログレッション順序については後述する。

符号化手順

下図は、JPEG 2000 Part 1の符号化手順のブロック図である。なお、本符号化手順は参考例であり、規格化されたものではないことに注意されたい。以下では、Part 1エンコーダにおける各ブロックの処理内容について述べる。以後、ここでは非可逆符号化をロッシーモード、可逆符号化をロスレスモードと呼ぶ。

JPEG 2000 Part 1 符号化の手順

入力画像

規格上サポートされる入力画像のサイズ・ビット深度・色コンポーネント数などを以下にまとめる。各値は、実際にはエンコーダ・デコーダの実装上の制約を受ける。

  • サイズ:
    順方向2次元DWTの例

    各々のDWTレベルにおいて、下図に示すようにプリシンクトと呼ばれる矩形領域が定義される。

    JPEG 2000におけるプリシンクト

    プリシンクトのサイズは2のべき乗の整数でなければならず、最大で

    コードブロック分割の例

    コードブロックのサイズは、水平・垂直方向それぞれのサイズが4以上1024以下、面積が4096以下の条件を満たす2のべき乗の整数から自由に選ぶことができる。一般に64x64や、32x32のサイズが用いられることが多い。メインヘッダに記録されるコードブロックのサイズは一つであるが、実際のコードブロックサイズは画像サイズやDWTレベル数、プリシンクトサイズなどの様々なパラメータによって決定され、かならずしも全てのコードブロックで同一とはならない。コードブロック内の量子化されたDWT係数は、符号絶対値表現(符号付数値表現)で表される2進数として表現され、以後の処理はビットプレーンごとに進められる。

    EBCOTにおけるビットプレーン

    上図は、EBCOTにおけるビットプレーンの概念を示している。なお、図中の

    EBCOTにおける係数ビットのスキャンパターン

    最上位ビットプレーンをスキャンする際には、上位のビットプレーンに関する情報が得られないため、必ずCleanupパスとして処理される。最上位のすぐ次のビットプレーンからは、SP→MR→CUの順に属する符号化パスが決定される。

    符号化パスの決定には、現在の係数ビットと、その周辺8近傍の係数ビットの状態が用いられる。係数ビットは"1"か"0"の値をとるが、それぞれ"有意"および"非有意"状態とみなされる。

    SPパスは自身が非有意かつ周辺にすでに有意となった係数ビット存在する係数ビットが属する。このとき、現在の係数ビットは非有意から有意の状態へと更新される。

    MRパスは、上位ビットプレーンですでに有意となっている係数ビットが属する。

    CUパスは、SPパスにもMRパスにも属さない係数ビットが属する。

    なお、それぞれの符号化パスは、さらにその周辺係数ビットの有意状態の情報に、コンテクスト(CX)と呼ばれるラベルが付けられる。規格で規定されたコンテクストの数は19である。

    MQ符号化

    概要

    SP、MR、CUの各符号化パスに属する係数ビットは、そのコンテクストCXの値と共に2値算術符号化器であるMQ-coderへと送られ、算術符号化される。MQ-coderは、各コンテクストごとに独立した確率遷移テーブルを持つ。この確率遷移テーブルのエントリ数は46である。

    MQ-coderは、係数ビットの正負を表す符号ビットと、値ビットから計算されるディシジョンビットDと、CXを入力として、出力ビットを計算する。符号ビットが入力されるのは、初めて有意となる係数ビットが符号化されるときに限られる。MQ-coder内には5つのレジスタが存在し、そのうちの出力ビットを蓄えているレジスタ上でバイト境界に達すると、バイトストリームとして1バイトが新たに出力される。この際、デコーダにとって重要なマーカとなるFF90h〜の値がバイトストリーム内に出現するのを回避するため、直前のバイト出力がFFhであった場合には、レジスタ内における次のバイト境界の先頭1ビットをスキップし、データを書き込まないようにする処理が追加される。これはビットスタッフィングと呼ばれる。

    終端処理

    コードブロック内の全ての係数ビットを符号化した後でも、通常、MQ-coder内のレジスタにはバイト境界に満たない符号語が残っているため、終端処理によって全ての係数ビットをデコードするのに必要な長さの符号語を出力する。

    符号化モード

    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パス符号化終了時に特別なシンボルを挿入し符号語に加えるモード。

    レート制御(オプション)

    レート歪み最適化(Rate-Distortion Optimization)

    EBCOTでは、MQ符号化後のバイトストリームに対して、符号化パスを最小単位として符号切り捨てを行うことで圧縮後のレート歪最適化(PCRD-opt)を行うことが可能である。レート制御については、エンコーダにおける処理であるため規定された技術はないが、一般的に以下の処理によって実現されることが多い。

    コードブロック




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「J2k」の関連用語

J2kのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



J2kのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのJPEG 2000 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS