(57)【特許請求の範囲】
【請求項１】
ＪＰＥＧ２０００の復号装置であって、
エントロピ復号処理過程において符号化パスの処理前に残サブビットプレーン数が１以上かつ設定値以下であるか否か判定する判定手段を有し、
前記判定手段により残サブビットプレーン数が１以上かつ設定値以下であると判定されたことを、符号化パスの処理後にリコンストラクション値の加算処理を行うための必要条件とし、
前記設定値を３に設定したことを特徴とする復号装置。
【請求項２】
ＪＰＥＧ２０００の復号装置であって、
エントロピ復号処理過程において符号化パスの処理前に残サブビットプレーン数が１以上かつ設定値以下であるか否か判定する判定手段を有し、
前記判定手段により残サブビットプレーン数が１以上かつ設定値以下であると判定されたことを、符号化パスの処理後にリコンストラクション値の加算処理を行うための必要条件とし、
前記設定値を、Magnitude  Refinementパス及びCleanupパスについては３に設定し、Significant  Propagationパスについては４に設定したことを特徴とする復号装置。
【請求項３】
残サブビットプレーン数が０となった場合に、リコンストラクション値の加算処理の要否を判定する手段をさらに有し、該手段によりリコンストラクション値の加算処理が必要と判定されたときにリコンストラクション値の加算処理を行うことを特徴とする請求項１に記載の復号装置。
【請求項４】
ＪＰＥＧ２０００の復号方法であって、
エントロピ復号処理過程において符号化パスの処理前に残サブビットプレーン数が１以上かつ設定値以下であるか判定する判定工程を有し、
前記判定工程により残サブビットプレーン数が１以上かつ設定値以下であると判定されたことを、符号化パスの処理後にリコンストラクション値の加算処理を行うための必要条件とし、
前記設定値を３に設定したことを特徴とする復号方法。
【請求項５】
ＪＰＥＧ２０００の復号方法であって、
エントロピ復号処理過程において符号化パスの処理前に残サブビットプレーン数が１以上かつ設定値以下であるか判定する判定工程を有し、
前記判定工程により残サブビットプレーン数が１以上かつ設定値以下であると判定されたことを、符号化パスの処理後にリコンストラクション値の加算処理を行うための必要条件とし、
前記設定値を、Magnitude  Refinementパス及びCleanupパスについては３に設定し、Significant  Propagationパスについては４に設定したことを特徴とする復号方法。
【請求項６】
残サブビットプレーン数が０となった場合に、リコンストラクション値の加算処理の要否を判定する工程をさらに有し、該工程によりリコンストラクション値の加算処理が必要と判定されたときにリコンストラクション値の加算処理を行うことを特徴とする請求項４に記載の復号方法。
【請求項７】
請求項１乃至３のいずれか１項に記載の復号装置としてコンピュータを機能させるプログラム。
【請求項８】
請求項１乃至３のいずれか１項に記載の復号装置としてコンピュータを機能させるプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＪＰＥＧ２０００の復号装置及び復号方法に係り、特に、リコンストラクション値の加算処理の制御に関する。
【背景技術】
【０００２】
画像データの次世代の高能率符号化方式として、ＩＳＯ（国際標準化機構）やＩＴＵ−Ｔ（国際電気通信連合電気通信標準化部門）によって、ＪＰＥＧ２０００が策定されている。ＪＰＥＧ２０００は、現在主流のＪＰＥＧと比べて優れた機能を有する。
ＪＰＥＧ２０００  Ｐａｒｔ  Ｉ（ISO/IEC15444-1）では、復号処理において、量子化された各ウェーブレット係数について、その値が「０」でなければ、最下位に任意のｒ（０≦ｒ＜１）をリコンストラクション値として加算すると規定されている。これは、符号化手順中の量子化において、ウェーブレット係数の絶対値が小さくなるように丸められた影響を緩和するためのものである。
【０００３】
さて、従来は、ビットプレーン単位での切り捨てポイントを判断してリコンストラクション値の加算処理を行っている（例えば特許文献１参照）。しかし、符号化パス単位で切り捨てポイントであった場合、切り捨てポイントのビットプレーンを正確に判断することができず、多少の画質劣化を生じるという問題がある。
【０００４】
なお、特許文献１では、量子化された注目係数の属するサブバンドと、その注目係数の近傍の係数とに基づいて、注目係数に対応して加算すべきパラメータｒの値を決定し、その決定した値を量子化された各ウェーブレット係数に加える。
【０００５】
【特許文献１】特開２００３−１８９１０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上に述べたように、ビットプレーン単位での切り捨てポイントを判断してリコンストラクション値の加算処理を行う方法では、切り捨てポイントが符号化パス単位であった場合、切り捨てポイントとなるビットプレーンを正確に判断することができず、多少の画質劣化を生じるという問題がある。
【０００７】
この問題を解決する方法として、復号対象のサブビットプレーンについて復号してｒを加算し、復号対象のサブビットプレーンが次のサブビットプレーンに移ったときに、先に加算したｒを減算してから復号し、再びｒを加算するというように、全てのサブビットプレーンに対しリコンストラクション値加算処理を行う方法が考えられる。しかし、この方法では、リコンストラクション値の加算と減算を繰り返すことになり、処理速度が低下するという別の問題がある。
【０００８】
よって、本発明の目的は、ＪＰＥＧ２０００の復号装置もしくは方法において、リコンストラクション値の加算処理の実行を的確に制御し、画質劣化の抑制と高速処理を可能にすることにある。
【課題を解決するための手段】
【０００９】
請求項１の発明は、ＪＰＥＧ２０００の復号装置であって、エントロピ復号処理過程において符号化パスの処理前に残サブビットプレーン数が１以上かつ設定値以下であるか否か判定する判定手段を備え、前記判定手段により残サブビットプレーン数が１以上かつ設定値以下であると判定されたことを、符号化パスの処理後にリコンストラクション値の加算処理を行うための必要条件とし、前記設定値を３に設定したことを特徴とする復号装置である。
【００１０】
請求項２の発明は、ＪＰＥＧ２０００の復号装置であって、エントロピ復号処理過程において符号化パスの処理前に残サブビットプレーン数が１以上かつ設定値以下であるか否か判定する判定手段を備え、前記判定手段により残サブビットプレーン数が１以上かつ設定値以下であると判定されたことを、符号化パスの処理後にリコンストラクション値の加算処理を行うための必要条件とし、前記設定値を、Magnitude  Refinementパス及びCleanupパスについては３に設定し、Significant  Propagationパスについては４に設定したことを特徴とする復号装置である。
【００１２】
請求項３の発明は、請求項１の発明の復号装置において、残サブビットプレーン数が０となった場合に、リコンストラクション値の加算処理の要否を判定する手段をさらに有し、該手段によりリコンストラクション値の加算処理が必要と判定されたときにリコンストラクション値の加算処理を行うことを特徴とする。
【００１３】
請求項４の発明は、ＪＰＥＧ２０００の復号方法であって、エントロピ復号処理過程において符号化パスの処理前に残サブビットプレーン数が１以上かつ設定値以下であるか判定する判定工程を有し、前記判定工程により残サブビットプレーン数が１以上かつ設定値以下であると判定されたことを、符号化パスの処理後にリコンストラクション値の加算処理を行うための必要条件とし、前記設定値を３に設定したことを特徴とする復号方法である。
【００１５】
請求項５の発明は、ＪＰＥＧ２０００の復号方法であって、エントロピ復号処理過程において符号化パスの処理前に残サブビットプレーン数が１以上かつ設定値以下であるか判定する判定工程を有し、前記判定工程により残サブビットプレーン数が１以上かつ設定値以下であると判定されたことを、符号化パスの処理後にリコンストラクション値の加算処理を行うための必要条件とし、前記設定値を、Magnitude  Refinementパス及びCleanupパスについては３に設定し、Significant  Propagationパスについては４に設定したことを特徴とする復号方法である。
【００１６】
請求項６の発明は、請求項４の発明の復号方法において、残サブビットプレーン数が０となった場合に、リコンストラクション値の加算処理の要否を判定する工程をさらに有し、該工程によりリコンストラクション値の加算処理が必要と判定されたときにリコンストラクション値の加算処理を行うことを特徴とする。
【００１７】
請求項７の発明は、請求項１乃至３のいずれか１項の発明の復号装置としてコンピュータを機能させるプログラムである。
【００１８】
請求項８の発明は、請求項１乃至３のいずれか１項の発明の復号装置としてコンピュータを機能させるプログラムが記録された記録媒体である。
【発明の効果】
【００１９】
本発明の復号装置又は復号方法によれば、処理速度の低下を招く無駄な処理を極力減らしつつ、必要なリコンストラクション値の加算処理を実行して画質劣化を抑制することができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照し、本発明の実施形態について詳細に説明する。
【００２１】
図１は、ＪＰＥＧ２０００の復号装置の構成を示すブロック図である。この復号装置は、符号データ入力手段１、ヘッダ解析手段２、エントロピ復号化手段３、スカラ逆量子化手段４、逆ウェーブレット変換手段５、カラー変換手段６、ＤＣレベルシフト手段７及び画像データ出力手段８を備えている。なお、これらのうち、スカラ逆量子化手段４、カラー変換手段６及びＤＣレベルシフト手段７はオプションであり、省くことも可能である。
【００２２】
この復号装置の全体的動作につてい説明する。まず、ＪＰＥＧ２０００の規格にしたがって圧縮符号化された画像の符号データは、ファイルシステムやネットワーク手段を利用し符号データ入力手段１により入力される。この符号データには、メインヘッダ、タイルヘッダが付加されており、ヘッダ解析手段２はこれらのヘッダを読み込み解析する。
【００２３】
ここで、メインヘッダには、画像の大きさ、タイルの大きさ、画像位置のオフセット、タイル位置のオフセット、１画素あたりのサンプルビット数、ＲＧＢなどのコンポーネント数等についての情報が格納されている。また、タイルヘッダには、タイル番号、タイルの大きさ等が格納され、符号化スタイルや量子化スタイルなどを指定することができる。
【００２４】
エントロピ復号化手段３は、ヘッダ解析手段２の解析結果を用いて、符号データのエントロピ復号を行い、出力されるビット列からスカラ量子化した係数列を作成する。スカラ逆量子化手段４は、ヘッダ解析手段２で解析されたメインヘッダ及びタイルヘッダにより指定された量子化スタイルに基づき、エントロピ復号化手段３で作成された係数列をＪＰＥＧ２０００の規格にある所定の計算式で逆量子化し、ウェーブレット係数を生成する。なお、符号化時にはウェーブレット変換により生成されたウェーブレット係数は必ずしも量子化されるとは限らず、その場合にはスカラ逆量子化手段４による逆量子化は行われないことになる。
【００２５】
逆ウェーブレット変換手段５は、スカラ逆量子化手段４で得られたウェーブレット係数を、メインヘッダ又はタイルヘッダで指定された符号化スタイルの分解数に基づき逆ウェーブレット変換を行い、ＹＵＶカラー空間の画像データを作成する。カラー変換手段６は、逆ウェーブレット変換手段５で得られた画像データを、ヘッダ解析手段２の解析結果にしたがってＹＵＶ成分からＲＧＢ成分へカラー変換する。ただし、モノクロ画像の符号データの場合や符号化時にカラー変換を行わなかった場合には、カラー変換手段６は動作しない。
【００２６】
ＤＣレベルシフト手段７は、カラー変換手段６で得られたＲＧＢ成分のＤＣレベルをシフトする。ＤＣレベルシフトとは、符号化時にダイナミックレンジが値０を中心とするようにシフトすることであり、復号化時にはそれを元に戻すことである。例えば、或る入力画像データが８ビットで表されているとすると、このデータは０〜２５５のうちのいずれかの値となるが、ＤＣレベルシフトすることにより、このデータの値を０を中心として−１２８〜１２７の値にすることができる。このように、ＤＣレベルシフトを行う理由は、周波数変換後の係数は正負の符号と絶対値とに分けられて符号化されるため、ゼロ値を基準としてデータ配置されている方が符号化効率が高くなるからである。画像データ出力手段８は、ＤＣレベルシフト手段７で得られた画像を出力する手段である。
【００２７】
なお、ＪＰＥＧ２０００では、符号化時に、係数ビットモデリングされた後のデータに対して「ポスト量子化」（トランケーション）と呼ばれるデータ切り捨て処理が行われる（常に行われるわけではない）。
【００２８】
図２は、このポスト量子化についての説明図である。この図に示されているのは、ある１つのコードブロックに含まれている一部のビットプレーン化されたウェーブレット係数である。この例では、ビットプレーン化された「１６，６４，８８，３２，０，０，０，１１２」のウェーブレット係数が示されており、係数のビット数は９、０ビットプレーン数は２である。符号化パスとしては、Ｓｉｇｎｉｆｉｃａｎｔ  Ｐｒｏｐａｇａｔｉｏｎパス（Ｓパスと略記）、Ｍａｇｎｉｔｕｄｅ  Ｒｅｆｉｎｅｍｅｎｔパス（Ｒパスと略記）、Ｃｌｅａｎｕｐパス（Ｃパスと略記）があり、各符号化パスの境界が切り捨てポイントとなる。ビットプレーンを３つのパスで分割されたものがサブビットプレーンと呼ばれる。そして、切り捨てポイントより下位の全てのビットデータの値は「０」となっており、実質的に切り捨てられたのと同じ扱いの処理となっている。ＪＰＥＧ２０００では、このような切り捨て処理により効率的な圧縮符号化を企図している。係数のビット数、ゼロビットプレーン数、符号化パス数等のデータはパケットヘッダ情報と呼ばれるヘッダ情報に格納されている。
【００２９】
このように、ポスト量子化が行われると、切り捨てポイントより下位ビットデータは全て一律に０値となってしまうため、これをそのまま復号して再生すると再生画像に違和感や不明瞭さのある部分が含まれ、画質劣化となることがある。そこで、切り捨てポイントよりも下位ビットデータへのリコンストラクション値の加算を行うことにより、画質劣化を抑制する。
【００３０】
先に述べたように、従来は、リコンストラクション値の加算は、ビットプレーン単位での切り捨てポイントによって行われている。しかし、切り捨てポイントが各パス単位であった場合、切り捨てポイントとなるビットプレーンの判断ができない。
【００３１】
本発明は、そのような場合においても切り捨てポイントとなるビットプレーンを正確に判断し、必要なリコンストラクション値の加算処理を行って復号画像の画質劣化を抑制し、かつ、無駄な処理を減らして処理を高速化しようとするものである。
【００３２】
ここで、エントロピ復号化手段３に関連した動作をより詳細に説明する。ヘッダ解析手段２は、ＣＯＤマーカの解読により、パケットデータの先頭アドレスを特定する。特定されたパケットデータの先頭アドレスをもとに、最初の符号化パスの符号データＣＤを取り出し、Ｓパス、Ｒパス、Ｃパスのストリームを順次、エントロピ復号化手段３に入力する。エントロピ復号化手段３は、符号データＣＤとコンテクストラベルＣＸを入力として受け取り、入力されてくる符号化パスの順に順次復号処理する。エントロピ復号化手段３から出力されるデシジョンＤをスカラ逆量子化手段４に出力する。
【００３３】
コンテクストラベルＣＸは、ＪＰＥＧ２０００における復号時の係数ビットモデリング処理により決定するものである。復号時の係数ビットモデリング処理は、エントロピ復号化手段３による復号結果を利用して周辺情報を更新しながら、算術復号の際に必要となるコンテクストを決定する処理である。以下、図３〜図１０を参照して、復号時の係数ビットモデリング処理を説明する。
【００３４】
ヘッダ解析手段２により符号ストリームから抽出されたサブバンド画像はコードブロックと呼ばれる小領域に分割され、コードブロックが復号処理単位となる。サブバンド画像は、原画像のｘ、ｙの両方向において低周波成分を有するＬＬサブバンド、ｘ、ｙのいずれかひとつの方向において低周波成分を有し、かつ、もう一方の方向において高周波成分を有するＨＬおよびＬＨサブバンド、ｘ、ｙの両方向において高周波成分を有するＨＨサブバンドのいずれかである。コードブロックのサイズは、高さと幅が２２〜２１０の範囲にある２のべき乗の整数値であり、高さと幅の指数の和は１２以下であることが規格において定められている。
【００３５】
図３は、コードブロックをビット毎にスライスして形成されたビットプレーンを説明する図である。コードブロックのビットプレーンは、ウェーブレット変換係数の量子化値の正負の符号を格納したＳｉｇｎプレーンと、ウェーブレット変換係数の量子化値の絶対値を与えるＭＳＢからＬＳＢまでの複数のプレーンとから構成される。エントロピ復号化手段３は、上位ビットから順にビットプレーンを選択し、ビットプレーン単位でビットプレーン上で各係数の復号処理を行う。
【００３６】
図４は、ビットプレーン上の係数を復号する際の走査順序を説明する図である。ビットプレーンは、縦４ピクセルのストライプに分割され、ストライプ単位で走査されて復号される。各ストライプの横幅はコードブロックの横幅であり、本例では３２ピクセルである。ストライプの本数は、合計で８本となる。
【００３７】
各ストライプにおいて、矢印で示すように最初の列の縦４ピクセルを上から順に走査して１ピクセルずつ復号処理を進め、次に２番目の列の縦４ピクセルを同じ向きに走査し、これを最後の列まで繰り返す。ストライプの終端まで復号処理が終わると、次のストライプの先頭の係数から同じように走査して復号処理を進め、コードブロックの最後の行まで繰り返す。なお、係数の正負符号を格納したＳｉｇｎプレーンの復号は、係数の絶対値部分に相当するプレーンを復号する際に適宜行われる。
【００３８】
コードブロック内の各係数は、有意であるか、有意でないかの２つの状態で識別される。有意である場合は１、有意でない場合は０を割り当て、各係数の有意性状態を２値で識別する。復号開始時は、コードブロック内のすべての係数は有意でない。
【００３９】
ここで、係数が有意であるとは、着目しているウェーブレット変換係数の量子化値が、これまでの復号処理の結果から’０’ではないとわかっている状態をいう。言い換えれば、上位ビットプレーンから順次ストライプ単位で走査しながら復号していく中で、’１’であるビットが発見されているウェーブレット変換係数の状態をいう。また、係数が有意でないとは、着目しているウェーブレット変換係数の量子化値が’０’であるか、あるいは’０’である可能性が残っている状態をいう。言い換えれば、上位ビットプレーンから順次復号していく中で、’１’であるビットが未だ発見されていないウェーブレット変換係数の状態をいう。
【００４０】
係数ビットモデリング処理では、ビットプレーン上の注目した係数の周囲にある係数の有意性状態に基づいて係数ビット毎にコンテクストが決定される。図５は、ビットプレーン上の復号対象の係数Ｘ（以下、現係数Ｘという）の周囲に隣接する８個の近傍係数を説明する図である。８個の近傍係数は、現係数Ｘに対して水平方向に隣接する２つの係数ｈ０、ｈ１と、垂直方向に隣接する２つの係数ｖ０、ｖ１と、斜め方向に隣接する４つの係数ｄ０〜ｄ３とからなる。
【００４１】
図５の８個の近傍係数はそれぞれ有意であるか、有意でないかの２つの状態をとりうるため、現係数Ｘに対して、組み合わせとしては２５６個のコンテクストがありうるが、ＪＰＥＧ２０００では、対称性などを利用して１９種類のコンテクストに集約されており、これらのコンテクストは０〜１８のラベルをつけて識別される。なお、いずれかの近傍係数が処理中のコードブロックの外部に位置する場合は、その近傍係数は有意でないとみなして処理される。
【００４２】
ビットプレーン内の各係数ビットは、Ｓパス（significance  propagation  pass）、Ｒパス（magnitude  refinement  pass）、Ｃパス（cleanup  pass）の３種類の符号化パスのうちのいずれかに基づいて復号される。１つのビットプレーンは３種類の符号化パスとして３つのサブビットプレーンに分割されている。Ｓパスでは有意である係数が周囲に存在する有意でない係数の復号が行われ、Ｒパスでは有意である係数の復号が行われ、Ｃパスでは残りの係数の復号が行われる。
【００４３】
Ｓパス、Ｒパス、Ｃパスの各符号化パスは、この順に画像の画質への寄与度が大きい。各符号化パスはこの順に実行され、各係数のコンテクストが近傍係数の情報を考慮して決定される。以下、各符号化パスにおける具体的な処理手順を説明する。
【００４４】
最初にＳパス処理を説明する。ビットプレーンの各ストライプにおける走査において、現係数Ｘが有意でない状態であり、かつ、その現係数Ｘに隣接する８個の近傍係数の内、少なくとも１つの近傍係数が有意である場合、現係数ＸはＳパスの処理対象として選ばれる。それ以外の場合は、Ｓパスの処理対象とはならない。Ｓパスで復号対象となる係数は、そのビットプレーンにおいて最も有意になる可能性が高い係数である。
【００４５】
係数ビットモデリング処理では、現係数Ｘに対して、水平方向の２つの近傍係数ｈ０，ｈ１の内の有意である係数の数を与えるΣｈｉ（＝ｈ０＋ｈ１）と、垂直方向の２つの近傍係数ｖ０，ｖ１の内の有意である係数の数を与えるΣｖｉ（＝ｖ１＋ｖ２）と、斜め方向の４つの近傍係数ｄ０，ｄ１，ｄ２，ｄ３の内の有意である係数の数を与えるΣｄｉ（＝ｄ１＋ｄ２＋ｄ３＋ｄ４）とを求める。
【００４６】
図６は、Ｓパスにおけるコンテクストの分類テーブルを説明する図である。このコンテクストテーブルは、処理中のコードブロックが、ＬＨ／ＬＬサブバンド、ＨＬサブバンド、ＨＨサブバンドのいずれに属しているかによって、水平、垂直、斜め方向の有意である近傍係数の数Σｈｉ，Σｖｉ，Σｄｉの組み合わせと、０〜８のラベルで識別される９種類のコンテクストラベルＣＸとを対応づけたものである。このコンテクストの分類テーブルを参照し、サブバンドの周波数成分の方向性と有意である近傍係数の数Σｈｉ，Σｖｉ，Σｄｉの組み合わせにしたがって、Ｓパスで処理する係数を９種類のコンテクストのいずれかに分類し、該当するコンテクストラベルＣＸが決定される（コンテクスト推定）。
【００４７】
また、Ｓパスでは、現係数Ｘのビットの値が’１’であった場合、現係数Ｘの有意性状態を「有意でない」から「有意である」に変更する。現係数Ｘが有意になった場合、引き続き、その現係数Ｘの正負を示す極性ビットを復号する。
【００４８】
極性ビットに対するコンテクストは、垂直方向の２つの近傍係数ｖ０，ｖ１、水平方向の２つの近傍係数ｈ０，ｈ１の有意性状態および正負の極性値に基づいて、次に述べるように２つの段階を踏んで決定される。
【００４９】
図７は、極性ビットのコンテクスト決定のための垂直指標および水平指標テーブルを説明する図である。コンテクスト推定のために、まず、２つの垂直方向の近傍係数ｖ０、ｖ１のそれぞれが正の有意である係数であるか、負の有意である係数であるか、有意でない係数であるかを判定し、図７のテーブルを参照して、垂直指標ｖに’０’、’１’、’−１’のいずれかの値を割り当てる。同様にして、水平方向の近傍係数ｈ０、ｈ１に対しても図７のテーブルを参照して、水平指標ｈに’０’、’１’、’−１’のいずれかの値を割り当てる。
【００５０】
図８は、水平指標ｈと垂直指標ｖの組み合わせと、９〜１３のラベルで識別される５種類の極性ビットに対するコンテクストラベルＣＸとを対応づけたテーブルである。係数ビットモデリング処理では、図８のテーブルを参照して、求めた水平指標ｈと垂直指標ｖの値の組み合わせによって極性ビットを５種類のコンテクストのいずれかに分類し、該当するコンテクストラベルＣＸが決定される。
【００５１】
次に、Ｒパス処理を説明する。現係数Ｘがすでに有意であると判定されている場合、現係数Ｘは処理中のビットプレーンにおいてＲパスの処理対象となる。ただし、そのビットプレーンにおいて、直前のＳパスで有意である状態に変化した係数は処理対象としない。Ｒパスの復号処理は、Ｓパスで復号された係数の精度を上げる役割をもつ。
【００５２】
図９は、Ｒパスにおけるコンテクストの分類テーブルを示す図である。Ｒパスでは、現係数Ｘに対する８つの近傍係数により、有意である係数の数を示すΣｈｉ＋Σｖｉ＋Σｄｉの値を求め、さらに、現係数Ｘが１つ上のビットプレーンで有意になったかどうか、言い換えれば、当該Ｒパスは、現係数Ｘが有意でない状態から有意である状態に変化した後の最初のパスであるかどうかを判定し、これらの結果にもとづいて、図９に示すように、１４〜１６のラベルで識別される３種類のコンテクストに分類し、該当するコンテクストラベルＣＸが決定される。
【００５３】
最後にＣパス処理を説明する。Ｃパスは、現係数ＸがＳパス、Ｒパスのいずれの処理対象にも該当しない場合に用いられる。Ｃパスでは、ランレングス復号か、Ｓパスのように８つの近傍係数の値を参照した復号処理を行う。Ｃパスでは、ランレングス復号を行うかどうかを判断しながら処理を進める。
【００５４】
図１０は、Ｃパスにおけるコンテクストの分類テーブルを示す図である。Ｃパスでは、垂直方向に連続する４つの係数が全て有意でない、すなわちストライプ内の縦１列がすべてＣパスに属しており、かつ、その４つのすべての係数に対する８個の近傍係数にも有意である係数が存在しないという条件の正否を判断する。この条件に該当する場合、ランレングスモードで復号処理を行い、コンテクストラベルＣＸは１７である。この条件に該当しない場合、垂直方向に連続する４つの係数値の中に少なくとも１つの有意である係数が存在するため、最初に有意になる係数の位置はＵＮＩＦＯＲＭコンテクストを用い、このときのコンテクストラベルＣＸは１８である。残りのすべての係数に対してはＳパスと同様の処理を行う。
【００５５】
以上述べたように、係数ビットモデリング処理において、Ｓパス，Ｒパス，Ｃパスのいずれかの符号化パスを用いて、ビットプレーン上の各係数のコンテクストラベルＣＸが決定される。
【００５６】
さて、本発明によれば、エントロピ復号化手段３に、エントロピ復号処理過程において符号化パスの処理前に残サブビットプレーン数が１以上かつ設定値以下であるか否か判定する判定手段が設けられ、この判定手段により残サブビットプレーン数が１以上かつ設定値以下であると判定されたことを、符号化パスの処理後にリコンストラクション値の加算処理を行うための必要条件とする。本発明の一つの態様によれば、前記設定値はＳ，Ｒ，Ｃパスについて３に設定される。もう一つの態様によれば、前記設定値は、Ｒパス及びＣパスについては３に設定され、Ｓパスについては４に設定される。また、もう一つの態様によれば、前記設定値はＳ，Ｒ，Ｃパスについて３に設定されるとともに、残サブビットプレーン数＝０の場合にリコンストラクション値の加算処理が必要か否かを判定するための手段がさらに設けられ、該手段により必要と判定されたときにリコンストラクション値の加算処理を行う。
【００５７】
以下、これらの各態様の実施例について詳細に説明する。
【実施例１】
【００５８】
残サブビットプレーン数と比較される設定値が、Ｓ，Ｒ，Ｃパスについて３に設定される態様の一実施例について説明する。
【００５９】
図１１は、エントロピ復号化手段３において、符号化データの復号処理の流れを説明するためのフローチャートである。ここでは、図１４に示す符号データを例に、図１１のフローチャート沿って処理内容を説明する。
【００６０】
なお、図１１において、ステップＳ１７０１，Ｓ１７１６はＣパスについての残サブビットプレーン数の判定手段（工程）に相当し、ステップＳ１７０６はＳパスについての残サブビットプレーン数の判定手段（工程）に相当し、ステップＳ１７１１はＲパスについての残サブビットプレーン数の判定手段（工程）に相当する。ただし、ステップ１７０１では残サブビットプレーン数は１以上であることは明らかであり、また、ステップＳ１７０４，Ｓ１７０９，Ｓ１７１４で残サブビットプレーン数が１以上であることがチェツクされているため、実質的に、ステップＳ１７０１，Ｓ１７０６，Ｓ１７１１，Ｓ１７１６では残サブビットプレーン数が１以上かつ３（設定値）以下であるかの判定をしている。
【００６１】
図１４には、符号データがサブビットプレーン分割された状態を示している。この例では、０３→１５→２４・・・の符号データが順次並び、サブビットプレーンは９枚切り捨てられ、残サブビットプレーン数が４の状態である。ここで、残サブビットプレーン数とは、符号化パスによって復号処理対象となる残りのサブビットプレーン数のことである。
【００６２】
０３→１５→２４・・・のように順に符号データにおける符号化パスが入力され、以下に説明する流れで処理される。例えば、「０３」はＣパス、Ｃパス、「１５」はＣパス、Ｓパス、「２４」はＣパス、Ｒパスの順に符号化パスが入力されてくる。
【００６３】
符号データ「０３」について説明する。まず、残サブビットプレーン数≦３であるかの判定をする（Ｓ１７０１）。残サブビットプレーン数≦３であるならば（Ｓ１７０１，Ｙ）、Ｃパスの復号処理をし、ｒ値を加算する（Ｓ１７０２）。
【００６４】
ここでは、残サブビットプレーン数＝４であるので（Ｓ１７０１，Ｎ）、Ｃパスの復号処理をし、ｒ値の加算はしない（Ｓ１７０３）。残サブビットプレーン数は３となった。
【００６５】
次に、残サブビットプレーン数＞０の判定をする（Ｓ１７０４）。ここでは、残サブビットプレーン数＝３＞０であるので、次の符号化パスがＳパスであるかの判定をする（Ｓ１７０５）。
【００６６】
ここでは、Ｓパスでない。残サブビットプレーン数は２となった。残サブビットプレーン数＞０であるかの判定をする（Ｓ１７０９）ここでは、残サブビットプレーン数＝２＞０であるため、次の符号化パスがＲパスであるかの判定をする（Ｓ１７１０）。ここでは、Ｒパスでない。残サブビットプレーン数は１となった。
【００６７】
次に残サブビットプレーン数＞０であるかの判定をする（Ｓ１７１４）。ここでは、残サブビットプレーン数＞０（残サブビットプレーン数＝１）であるため、次の符号化パスがＣパスであるかの判定をする（Ｓ１７１５）。
【００６８】
ここではＣパスであるため、残サブビットプレーン数≦３であるかの判定をする（Ｓ１７１６）。ここではＣパスであり（Ｓ１７１５，Ｙ）、残サブビットプレーン数≦３の判定をする（Ｓ１７１６）。残サブビットプレーン数＝１≦３であるため、Ｃパスの復号処理をし、ｒ値を加算する（Ｓ１７１７）。
【００６９】
ここで、ｒ値の加算方法に次の通りである。ｒは0≦r<1であり、処理対象である最下位ビットプレーンに
ｒ・2＾(ビットプレーン数‐復号化されたビットプレーン数)
を加算する。ｒを3/8とした場合、下記の値を加算することになる。
加算値＝ｒ・2＾(ビットプレーン数‐復号化されたビットプレーン数)
＝3/8・2^(5-2)
＝3
なお、復号値が０のときは、加算しないものとする。ここでは、復号値が０なので加算しない。
【００７０】
ステップＳ１７１７の処理を行ったため、残サブビットプレーン数は０となった。残サブビットプレーン数＞０であるかを判定するが（Ｓ１７０４）、残サブビットプレーン数＝０であるため終了する。
【００７１】
このようにして、最初の符号データ「０３」が終了したので、次の符号データ（「１５」）の処理を上記同様に行う。初めの残サブビットプレーン数は４である。
【００７２】
まず、残サブビットプレーン数≦３であるかの判定をする（Ｓ１７０１）。ここでは、残サブビットプレーン数＝４であるため、Ｃパスの復号処理をし、ｒ値の加算はしない（Ｓ１７０３）。これで、残サブビットプレーン数は３となった。
【００７３】
次に、残サブビットプレーン数＞０であるかを判定する（Ｓ１７０４）。ここでは、残サブビットプレーン数＞０（残サブビットプレーン数＝３）であるため、Ｓパスであるかの判定をする（Ｓ１７０５）。ここでは、Ｓパスであるため、残サブビットプレーン数≦３であるかの判定をする（Ｓ１７０６）。
【００７４】
ここでは、残サブビットプレーン数≦３であるため、Ｓパスの復号処理し、ｒ値を加算する（Ｓ１７０７）。残サブビットプレーン数は２となった。
【００７５】
ここでのｒ値の加算方法は次の通りである。ｒは0≦r<1であり、処理対象である最下位ビットプレーンに
ｒ・2＾(ビットプレーン数‐復号化されたビットプレーン数)
を加算する。ｒを3/8とした場合、下記の値を加算することになる。
加算値＝ｒ・2＾(ビットプレーン数‐復号化されたビットプレーン数)
＝3/8・2^(5-2)
＝3
なお、復号値が０のときは、加算しないものとする。加算する前に、最下位ビットプレーンより下のビットプレーンにビットが存在するかの判定をし、存在しているときには、そのビットを減算した後に上記加算値を加算する。ここでは、０１０００であり、最下位ビットプレーンより下のビットプレーンにビットが存在しない（０００である）ので、減算をせず、そのまま加算することになる。よって、加算後は０１０１１となる。
【００７６】
次に、残サブビットプレーン数＞０であるかを判定する（Ｓ１７０９）。ここでは、残サブビットプレーン数＞０（残サブビットプレーン数＝２）であるため、次の符号化パスがＲパスであるかの判定をする（Ｓ１７１０）。
【００７７】
ここでは、Ｒパスでない。残サブビットプレーン数は１となった。残サブビットプレーン数＞０であるかの判定をする（Ｓ１７１４）。残サブビットプレーン数＞０（残サブビットプレーン数＝１）であるため、次の符号化パスがＣパスであるかの判定をする（Ｓ１７１５）。
【００７８】
ここでは、Ｃパスでない。残サブビットプレーン数は０となった。残サブビットプレーン数＞０であるかの判定をする（Ｓ１７０４）。残サブビットプレーン数＞０でないので、終了する（Ｓ１７１９）。
【００７９】
２番目の符号データ「１５」が終了した。次の符号データ「２４」の処理を上記同様に行う。入力対象となる全符号化データが終了するまで同様の処理を行う。
【００８０】
ここで、ステップＳ１７０１，Ｓ１７０６，Ｓ１７１１，Ｓ１７１６では、符号化パスの処理後のリコンストラクション値の加算処理を行うための必要条件である、残サブビットプリレーン数が１以上かつ３以下であることを判定している。各々の符号データはＳ，Ｒ，Ｃパスのいずれかに存在するので、残サブビットプレーン数が１以上かつ３以下であることを、リコンストラクション値の加算処理を行う必要条件とすることにより、最下位サブビットプレーンから上３つのサブビットプレーンに対してのみリコンストラクション値の加算処理を行い、無駄な処理を減らして画質劣化を確実に抑制するとともに処理の高速化を達成することができる。
【００８１】
さて、図１４の例では切り捨てポイントがビットプレーン単位の場合であった。次に、図１６に示すような切り捨てポイントが符号化パス単位（サビビットプレーン単位）の場合について、図１１のフローチャートに沿って説明する。図１６の例では、切り捨てポイントから下のサブビットプレーンが７枚切り捨てられ、残サブビットプレーン数＝６となっている。
【００８２】
最初、符号データ「０３」の残ビットプレーン数は６であるため（Ｓ１７０１，Ｎ）、Ｃパスの復号処理をする（Ｓ１７０３）。これで残サブビットプレーン数は５となった。
【００８３】
残サブビットプレーン数＞０であり（Ｓ１７０４，Ｙ）、次の符号化パスはＳパスではない（Ｓ１７０５，Ｎ）。残サブビットプレーン数は４となった。
【００８４】
残サブビットプレーン数＞０であり（Ｓ１７０９，Ｙ）、次の符号化パスはＲパスではない（Ｓ１７１０，Ｎ）。ここで、残サブビットプレーン数は３となった。
【００８５】
残サブビットプレーン数＞０であり（Ｓ１７１４，Ｙ）、次の符号化パスはＣパスである（Ｓ１７１５，Ｙ）。残サブビットプレーン数≦３であるので（Ｓ１７１６，Ｙ）、Ｃパスの復号処理をし、ｒ値を加算する（Ｓ１７１７）。
【００８６】
ここでのｒ値の加算方法は次の通りである。ｒは任意0≦r<1であり、処理対象である最下位ビットプレーンに
ｒ・2＾(ビットプレーン数‐復号化されたビットプレーン数)
を加算する。ｒを3/8とした場合、下記の値を加算することになる。
加算値＝ｒ・2＾(ビットプレーン数‐復号化されたビットプレーン数)
＝3/8・2^(5-2)
＝3
なお、復号値が０のときは、加算しないものとする。ここでは、復号値が０なので加算しない。
【００８７】
残サブビットプレーン数＞０であるかを判定する（Ｓ１７０４）。ここでは残サブビットプレーン数＝２であるため、次の符号化パスがＳパスであるかの判定をする（Ｓ１７０６）。ここでは、Ｓパスであるため、残サブビットプレーン数≦３であるかの判定をする（Ｓ１７０６）。
【００８８】
ここでは、残サブビットプレーン数≦３であるかので、Ｓパスの復号処理し、ｒ値を加算する（Ｓ１７０７）。残サブビットプレーン数は１となった。ここでのｒ値の加算方法は上記記述のとおりであり、復号値が０なので加算しない。
【００８９】
次に、残サブビットプレーン数＞０であるかを判定する（Ｓ１７０９）。ここでは、残サブビットプレーン数＞０（残サブビットプレーン数＝１）であるため、次の符号化パスがＲパスであるかの判定をする（Ｓ１７１０）。ここでは、Ｒパスでない。残サブビットプレーン数は０となった。
【００９０】
次に残サブビットプレーン数＞０であるかの判定し（Ｓ１７１４）、残サブビットプレーン数＞０（残サブビットプレーン数＝０）でないため、終了する（Ｓ１７１９）。
【００９１】
次の符号データ「１５」の処理を同様に行う。初めの残サブビットプレーン数は６であり、残サブビットプレーン数≦３でないため（Ｓ１７０１，Ｎ）、Ｃパスの復号処理をし、ｒ値の加算はしない（Ｓ１７０３）。残サブビットプレーン数は５となった。
【００９２】
残サブビットプレーン数＞０であるので（Ｓ１７０４，Ｙ）、次の符号化パスがＳパスであるかの判定をする（Ｓ１７０５）。
【００９３】
ここではＳパスであるため（Ｓ１７０５，Ｙ）、残サブビットプレーン数≦３であるかの判定をする（Ｓ１７０６）。ここでは、残サブビットプレーン数≦３でないため、Ｓパスの復号処理をし、ｒ値の加算はしない（Ｓ１７０８）。残サブビットプレーン数は４となった。
【００９４】
残サブビットプレーン数＞０であるので（Ｓ１７０９，Ｙ）、次の符号化パスがＲパスであるかの判定をする（Ｓ１７１０）。ここでは、Ｒパスでない。残サブビットプレーン数は３となった。
【００９５】
残サブビットプレーン数＞０であるので（Ｓ１７１４，Ｙ）、次の符号化パスがＣパスであるかの判定をする（Ｓ１７１５）。ここでは、Ｃパスでない。ここで、残サブビットプレーン数は２となった。
【００９６】
次に、残サブビットプレーン数＞０であるかを判定する（Ｓ１７０４）。ここでは、残サブビットプレーン数＞０でないため、次の符号化パスがＳパスであるかの判定をする（Ｓ１７０５）。ここでは、Ｓパスでない。残サブビットプレーン数は１となった。
【００９７】
残サブビットプレーン数＞０であるので（Ｓ１７０９，Ｙ）、次の符号化パスがＲパスであるかの判定をする（Ｓ１７１０）。ここでは、Ｒパスであるため、残サブビットプレーン数≦３であるかの判定をする（Ｓ１７１１）。ここでは、残サブビットプレーン数≦３であるため、Ｒパスの復号処理し、ｒ値を加算する（Ｓ１７１２）。残サブビットプレーン数は０となった。
【００９８】
ここでのｒ値の加算方法は次の通りである。ｒは0≦r<1であり、処理対象である最下位ビットプレーンに
ｒ・2＾(ビットプレーン数‐復号化されたビットプレーン数)
を加算する。r=3/8とした場合、次の加算値が加算されることになる。
加算値＝3.8・2^(5-3)
＝１
なお、復号値が０のときは、加算しないものとする。加算する前に、最下位ビットプレーンより下のビットプレーンにビットが存在するかの判定をし、存在しているときには、そのビットを減算した後に上記加算値を加算する。ここでは、０１１００であり、最下位ビットプレーンより下のビットプレーンにビットが存在しない（００である）ので、減算をせず、そのまま加算することになる。よって、加算後は０１１０１となる。
【００９９】
次に、残サブビットプレーン数＞０であるかを判定する（Ｓ１７１４）。ここでは、残サブビットプレーン数＝０であるため、終了する（Ｓ１７１９）
３番目以降の符号データについても同様に処理する。
【０１００】
以上の通り、図１６の例のように切り捨てポイントが符号化パス（サブビットプレーン）単位の場合であっても、残サブビットプレーン数≦３をリコンストラクション値の加算処理を行うための必要条件とすることにより、最下位サブビットプレーンから上３つのサブビットプレーンに対しのみリコンストラクション値加算処理を行って、画質劣化を確実に抑制し、かつ、無駄な処理を減らして処理を高速化することができる。
【実施例２】
【０１０１】
残サブビットプレーン数と比較される設定値が、ＣパスとＲパスについては３に設定され、Ｓパスについては４に設定される態様の一実施例について説明する。
【０１０２】
図１２は、エントロピ復号化手段３における処理を説明するためのフローチャートである。ここでは、図１５に示す符号データを例に、図１２のフローチャート沿って処理内容を説明する。
【０１０３】
なお、図１２において、ステップＳ１１０１，Ｓ１１１６はＣパスについての残サブビットプレーン数の判定手段（工程）に相当し、ステップＳ１１０６はＳパスについての残サブビットプレーン数の判定手段（工程）に相当し、ステップＳ１１１１はＲパスについての残サブビットプレーン数の判定手段（工程）に相当する。ただし、ステップ１１０１では残サブビットプレーン数は１以上であることは明らかであり、また、ステップＳ１１０４，Ｓ１１０９，Ｓ１１１４で残サブビットプレーン数が１以上であることがチェツクされているため、実質的に、ステップＳ１１０１，Ｓ１１１１，Ｓ１１１６では残サブビットプレーン数が１以上かつ３以下であるかの判定をし、ステップＳ１１０６では残サブビットプレーン数が１以上かつ４以下であるかの判定をしている。
【０１０４】
図１５は、符号データがサブビットプレーン分割された状態を示している。この例では、０３→１５→２４・・・の符号データが順次並び、切り捨てポイントからサブビットプレーンは８枚切り捨てられ、残サブビットプレーン数が５の状態である。符号データ「０３」についてはＣパス、Ｃパス、Ｓパスの順に、符号データ「１５」ではＣパス、Ｓパスの順に、符号データ「２４」ではＣパス、Ｒパスの順に符号化パスが入力される。
【０１０５】
最初の符号データ「０３」の処理において、まず残サブビットプレーン数≦３であるかの判定をする（Ｓ１１０１）。ここでは残サブビットプレーン数≦３（残サブビットプレーン数＝５）でないため、Ｃパスの復号処理をする（Ｓ１１０３）。残サブビットプレーン数は４となった。
【０１０６】
次に、残サブビットプレーン数＞０であるかを判定する（Ｓ１１０４）。ここでは、残サブビットプレーン数＞０（残サブビットプレーン数＝４）であるため、次の符号化パスがＳパスであるかの判定をする（Ｓ１１０５）。
【０１０７】
ここではＳパスでない。残サブビットプレーン数は３となった。残サブビットプレーン数＞０であるかの判定をする（Ｓ１１０９）。ここでは、残サブビットプレーン数＞０（残サブビットプレーン数＝３）であるため、次の符号化パスがＲパスであるかの判定をする（Ｓ１１１０）。
【０１０８】
ここではＲパスでない。残サブビットプレーン数は２となった。残サブビットプレーン数＞０であるかの判定をする（Ｓ１１１４）。ここでは、残サブビットプレーン数＞０（残サブビットプレーン数＝２）であるため、次の符号化パスがＣパスであるかの判定をする（Ｓ１１１５）。
【０１０９】
ここではＣパスであるため、残サブビットプレーン数≦３であるかの判定をする（Ｓ１１１６）。残サブビットプレーン数≦３（残サブビットプレーン数＝２）であるため、Ｃパスの復号処理をし、ｒ値を加算する（Ｓ１１１７）。残サブビットプレーン数は１となった。
【０１１０】
ここでのｒ値の加算方法であるが、加算値ｒは任意0≦r<1であり、ｒを3/8とした場合、処理対象である最下位ビットプレーンに
ｒ・2＾(ビットプレーン数‐復号化されたビットプレーン数)
＝ｒ・2＾(ビットプレーン数‐復号化されたビットプレーン数)
＝3/8・2^(5-2)
＝3
を加算する。なお、復号値が０のときは、加算しないものとする。ここでは、復号値が０なので加算しない。
【０１１１】
次に、残サブビットプレーン数＞０であるかを判定する（Ｓ１１０４）。ここでは、残サブビットプレーン数＞０（残サブビットプレーン数＝１）であるため、次の符号化パスがＳパスであるかの判定をする（Ｓ１１０５）。
【０１１２】
ここではＳパスであるため、残サブビットプレーン数≦４であるかの判定をする（Ｓ１１０６）。残サブビットプレーン数≦４であるため、Ｓパスの復号処理し、ｒ値を加算する（Ｓ１１０７）。残サブビットプレーン数は０となった。
【０１１３】
ｒ値の加算方法であるが、加算値ｒは任意0≦r<1である。ｒを3/8とした場合、処理対象である最下位ビットプレーンに
ｒ・2＾(ビットプレーン数‐復号化されたビットプレーン数)
＝ｒ・2＾(ビットプレーン数‐復号化されたビットプレーン数)
＝3/8・2^(5-3)
＝1
を加算する。なお、復号値が０のときは、加算しないものとする。ここでは、復号値が０なので加算しない。
【０１１４】
次に、残サブビットプレーン数＞０であるかを判定する（Ｓ１１０９）。ここでは残サブビットプレーン数＝０であるため、終了する（Ｓ１１１９）。
【０１１５】
次の符号データ「１５」について同様に処理する。初めの残サブビットプレーン数は５であるので（Ｓ１１０１，Ｎ）、Ｃパスの復号処理をする（Ｓ１１０３）。残サブビットプレーン数は４となった。
【０１１６】
残サブビットプレーン数＞０であるので（Ｓ１１０，Ｙ）、次の符号化パスがＳパスであるかの判定をする（Ｓ１１０５）。ここではＳパスであるので、残サブビットプレーン数≦４であるかの判定をする（Ｓ１１０６）。
【０１１７】
ここでは、残サブビットプレーン数≦４であるため、Ｓパスの復号処理し、ｒ値を加算する（Ｓ１１０７）。残サブビットプレーン数は３となった。
【０１１８】
ここでのｒ値の加算方法であるが、ｒを3/8とした場合、処理対象である最下位ビットプレーンに
ｒ・2＾(ビットプレーン数‐復号化されたビットプレーン数)
＝ｒ・2＾(ビットプレーン数‐復号化されたビットプレーン数)
＝3/8・2^(5-2)
＝3
を加算する。なお、復号値が０のときは、加算しないものとする。加算する前に、最下位ビットプレーンより下のビットプレーンにビットが存在するかの判定をし、存在しているときには、そのビットを減算した後に上記加算値を加算する。ここでは、０１０００であり、最下位ビットプレーンより下のビットプレーンにビットが存在しない（０００である）ので、減算をせず、そのまま加算することになる。加算後は０１０１１となる。
【０１１９】
次に、残サブビットプレーン数＞０であるかを判定する（Ｓ１１０９）。残サブビットプレーン数＞０（残サブビットプレーン数＝３）であるため、次の符号化パスがＲパスであるかの判定をする（Ｓ１１１０）。ここではＲパスでない。残サブビットプレーン数は２となった。
【０１２０】
残サブビットプレーン数＞０であるかを判定する（Ｓ１１１４）。残サブビットプレーン数＞０（残サブビットプレーン数＝２）であるため、次の符号化パスがＣパスであるかの判定をする（Ｓ１１１５）。ここでは、Ｃパスでない。残サブビットプレーン数は１となった。
【０１２１】
次に、残サブビットプレーン数＞０であるかを判定する（Ｓ１１０４）。残サブビットプレーン数＞０（残サブビットプレーン数＝１）でないため、次の符号化がＳパスであるかの判定をする（Ｓ１１０５）。ここではＳパスでない。残サブビットプレーン数は０となった。残サブビットプレーン数＞０ではないため（Ｓ１１０９，Ｎ）、２番目の符号データの処理を終了する（Ｓ１１１９）。
【０１２２】
３番目以降の符号データについても同様に処理する。
【０１２３】
ここで、Ｃ，Ｒパスについては残サブビットプレーン数が１以上かつ３以上であることをリコンストラクション値の加算処理の必要条件としているのに対し、Ｓパスについては残サブビットプレーン数が１以上かつ４以下であることをリコンストラクション値の加算処理を行うための必要条件としている理由について説明する。各々の符号データはＳ，Ｒ，Ｃパスのいずれかに存在するので、最下位サブビットプレーンから上３つのサブビットプレーンを加算処理の対象とすれば、最小限の加算処理で画質劣化を抑制できるはずである。しかし、サブビットプレーンの切り捨てポイントによっては、符号データがＳ，Ｒ，Ｃパスのいずれかに存在しない場合がある。図１５のようにＳパスで切り捨てられている場合である。２番目の符号データ「１５」の場合、最下位サブビットプレーンから上３つ（ＲＣＳの順）のいずれのパスにもパスが存在しない。これは、Ｓパスの場合、次に出てくるパスはＳパスかＲパスであるため、最下位サブビットプレーンから上４つ目のＳパスのように、次に出てくるパスがＲパスであった場合、加算処理がされないことになる。そこで、Ｓパスについては最下位サブビットプレーンから上４つ（ＳＲＣＳの順）のサブビットプレーンも加算処理の対象とすることにより、図１５の例のような場合においても確実に必要な加算処理を行って画質劣化を抑制できるようにしている。
【実施例３】
【０１２４】
残サブビットプレーン数と比較される設定値がＳ，Ｒ，Ｃパスともに３に設定され、残サビビットプレーン数＝０の場合にリコンストラクション値の加算処理の要否を判定する態様の一実施例について説明する。
【０１２５】
図１３は、エントロピ復号化手段３の処理を説明するためのフローチャートである。ここでは、図１５に示す符号データを例に、図１３のフローチャート沿って処理内容を説明する。
【０１２６】
なお、図１３において、ステップＳ１２０１，Ｓ１２１６はＣパスについての残サブビットプレーン数の判定手段（工程）に相当し、ステップＳ１２０６はＳパスについての残サブビットプレーン数の判定手段（工程）に相当し、ステップＳ１２１１はＲパスについての残サブビットプレーン数の判定手段（工程）に相当し、ステップＳ１２１９は残サブビットプレーン＝０の場合にリコンストラクション値の加算処理の要否を判定する手段（工程）に相当する。ただし、ステップ１２０１では残サブビットプレーン数は１以上であることは明らかであり、また、ステップＳ１２０４，Ｓ１２０９，Ｓ１２１４で残サブビットプレーン数が１以上であることがチェツクされているため、実質的に、ステップＳ１２０１，Ｓ１２０６，Ｓ１２１１，Ｓ１２１６では残サブビットプレーン数が１以上かつ３（設定値）以下であるかの判定をしている。
【０１２７】
最初の符号データ「０３」では、まず残サブビットプレーン数≦３であるかの判定をする（Ｓ１２０１）。ここでは残サブビットプレーン数≦３（残サブビットプレーン数＝５）でないため、Ｃパスの復号処理をする（Ｓ１２０３）。残サブビットプレーン数は４となった。
【０１２８】
残サブビットプレーン数＞０であるため（Ｓ１２０４，Ｙ）、次の符号化パスがＳパスであるかの判定をする（Ｓ１２０５）。ここでは、Ｓパスでない。残サブビットプレーン数は３となった。
【０１２９】
残サブビットプレーン数＞０であるかを判定する（Ｓ１２０９）。ここでは、残サブビットプレーン数＞０（残サブビットプレーン数＝３）であるため、次の符号化パスがＲパスであるかの判定をする（Ｓ１２１０）。ここではＲパスでない。残サブビットプレーン数は２となった。
【０１３０】
残サブビットプレーン数＞０であるかを判定する（Ｓ１２１４）。ここでは、残サブビットプレーン数＞０（残サブビットプレーン数＝２）であるため、次の符号化パスＣパスであるかの判定をする（Ｓ１２１５）。
【０１３１】
ここではＣパスであるため、残サブビットプレーン数≦３であるかの判定をする（Ｓ１２１６）。残サブビットプレーン数≦３（残サブビットプレーン数＝２）であるため、Ｃパスの復号処理をし、ｒ値を加算する（Ｓ１２１７）。残サブビットプレーン数は１となった。
【０１３２】
ここでのｒ値の加算方法であるが、処理対象である最下位ビットプレーンに
ｒ・2＾(ビットプレーン数‐復号化されたビットプレーン数)
を加算する。ｒを3/8とした場合、実際は下記の値を加算することになる。
加算値＝ｒ・2＾(ビットプレーン数‐復号化されたビットプレーン数)
＝3/8・2^(5-2)
＝3
なお、復号値が０のときは、加算しないものとする。ここでは、復号値が０なので加算しない。
【０１３３】
次に、残サブビットプレーン数＞０であるかを判定する（Ｓ１２０４）。ここでは、残サブビットプレーン数＞０（残サブビットプレーン数＝１）であるため、次の符号化パスがＳパスであるかの判定をする（Ｓ１２０５）。
【０１３４】
ここではＳパスであるため、残サブビットプレーン数≦３であるかの判定をする（Ｓ１２０６）。残サブビットプレーン数≦３であるため、Ｓパスの復号処理しｒ値を加算する（Ｓ１２０７）。残サブビットプレーン数は０となった。
【０１３５】
次に、残サブビットプレーン数＞０であるかを判定する（Ｓ１２０９）。ここでは、残サブビットプレーン数＞０でないため、ｒ値を加算するかの判定をし（Ｓ１２１９）、加算すると判定したときにはｒ値を加算する（Ｓ１２２０）。
【０１３６】
このｒ値を加算するか否かの判定は、例えば最下位ビットプレーンにｒ値が加算されているかどうかで判定できる。ｒ値が加算されているかどうかの判定は、最下位ビットプレーンよりも下のビットプレーンにビットが存在するかどうかで判定できる。ビットが存在していれば、すでにｒ値が加算されているものと判断できるので、そのまま終了する（Ｓ１２２１）。ビットが存在していなければ、ｒ値が加算されていないと判断できるので、「復号されたビットプレーン数（ここでは、3である）-1」のビットプレーンに加算する（Ｓ１２２０）。ここでの加算値は、
加算値＝ｒ・2＾(ビットプレーン数‐(復号化されたビットプレーン数-1))
＝3/8・2^(5-(3-1))
＝3
となる。なお、復号値が０のときは、加算しないものとする。この例では、復号値が０なので加算しないと判定され、終了する（Ｓ１２２１）。ただし、ステップＳ１２１９での判定方法は上記方法に限られるものではない。
【０１３７】
以上により最初の符号データ「０３」の処理を終了した。
【０１３８】
次の符号化データ「１５」について同様に処理する。まず、残サブビットプレーン数≦３であるかの判定をする（Ｓ１２０１）。ここでは、残サブビットプレーン数≦３（残サブビットプレーン数＝５）でないため、Ｃパスの復号処理をする（Ｓ１２０３）。残サブビットプレーン数は４となった。
【０１３９】
次に残サブビットプレーン数＞０であるかを判定する（Ｓ１２０４）。ここでは、残サブビットプレーン数＞０（残サブビットプレーン数＝４）であるため、次の符号化パスがＳパスであるかの判定をする（Ｓ１２０５）。
【０１４０】
ここではＳパスであるため、残サブビットプレーン数≦３であるかの判定をする（Ｓ１２０６）。ここでは、残サブビットプレーン数≦３でないため、Ｓパスの復号処理する（Ｓ１２０８）。残サブビットプレーン数は３となった。
【０１４１】
次に、残サブビットプレーン数＞０であるかを判定する（Ｓ１２０９）。ここでは、残サブビットプレーン数＞０（残サブビットプレーン数＝３）であるため、次の符号化パスがＲパスであるかの判定をする（Ｓ１２１０）。ここでは、Ｒパスでない。残サブビットプレーン数は２となった。
【０１４２】
次に、残サブビットプレーン数＞０であるかを判定する（Ｓ１２１４）。ここでは、残サブビットプレーン数＞０（残サブビットプレーン数＝２）であるため、次の符号化パスがＣパスであるかの判定をする（Ｓ１２１５）。
【０１４３】
ここでは、Ｃパスでない。残サブビットプレーン数は１となった。次に、残サブビットプレーン数＞０であるかを判定する（Ｓ１２０４）。
【０１４４】
ここでは、残サブビットプレーン数＞０（残サブビットプレーン数＝１）であるため、次の符号化パスがＳパスであるかの判定をする（Ｓ１２０５）。ここでは、Ｓパスでない。残サブビットプレーン数は０となった。
【０１４５】
残サブビットプレーン数＞０であるため、ｒ値を加算するかの判定をする（Ｓ１２１９）。ｒ値を加算するかの判定方法は、上記に記述してある方法と同様に行う。ｒ＝３／８とすると、
加算値＝ｒ・2＾(ビットプレーン数‐(復号化されたビットプレーン数-1))
＝3/8・2^(5-(3-1))
＝3
を加算することになる。ここでの復号値は０１０００となっていて、最下位ビットプレーン（３番目）よりも下のビットプレーンにビットが存在していないため、加算すると判定される。上記加算値を復号値に加算し（Ｓ１２２０）、終了する（Ｓ１２２１）。よって、加算後は０１０１１となる。
【０１４６】
このように、本実施例によれば、Ｓ，Ｒ，Ｃパスともに設定値＝３としているが、Ｓパスについて設定値＝４とした前記実施例２の場合と同様の処理結果を得ることができる。これについて説明する。
【０１４７】
符号データはＳ，Ｒ，Ｃパスのいずれかに存在する。そのため、最下位サブビットプレーンから上３つのサブビットプレーンに対して、加算処理することにより、最小限の加算処理となる。しかし、サブビットプレーンの切り捨てポイントによって、各々の符号化データがＳ，Ｒ，Ｃパスのいずれかに存在しない場合がある。図１５のようにＳパスで切り捨てられている場合である。２番目の符号データ「１５」の場合、最下位サブビットプレーンから上３つ（ＲＣＳの順）のいずれのパスにも符号化パスが存在しない。これは、Ｓパスの場合、次に出てくる符号化パスはＳパスかＲパスであるため、最下位サブビットプレーンから上４つ目のＳパスのように、次に出てくる符号化パスがＲパスであった場合、加算処理がされないことになる。そこで、ステップＳ１２１９で加算処理を行うかの判断し、加算処理を行うと判断された場合、加算処理を行うようにすることで、画質劣化の抑制を達成することができるようになる。
【０１４８】
以上、本発明に係る復号装置について実施形態を詳細に説明したが、これは本発明に係る復号方法の説明でもあることは明らかである。
【０１４９】
また、ＣＰＵ、メインメモリ、ハードディスク装置等を備える一般的なコンピュータを、本発明の復号装置として機能させることも可能であることは明らかである。そのためのプログラムは、例えばハードディスク装置や外部記憶媒体からメインメモリに読み込まれ、ＣＰＵにより実行されることになる。この場合、ＪＰＥＧ２０００の符号データは例えばハードディスク装置や外部機器よりメインメモリに読み込まれて処理され、メインメモリ上に得られる処理結果は、ディスプレイに表示されたり、ハードディスク装置に保存されたりすることになろう。このようなプログラム、及び、それが記録された半導体記憶素子、磁気ディスク、光ディスク、光磁気ディスク等のコンピュータが読み取り可能な各種の記録（記憶）媒体も本発明に包含される。
【図面の簡単な説明】
【０１５０】
【図１】本発明の復号装置のブロック図である。
【図２】ポスト量子化の説明のための図である。
【図３】ビットプレーンの説明図である。
【図４】ビットプレーン上の係数を復号する際の走査順序を説明する図である。
【図５】復号対象の係数と近傍係数を説明する図である。
【図６】Ｓパスにおけるコンテクストの分類テーブルを示す図である。
【図７】極性ビットのコンテクスト決定のための垂直・水平指標テーブルを示す図である。
【図８】水平・垂直指標と極性ビットのコンテクストとを対応づけたテーブルを示す図である。
【図９】Ｒパスにおけるコンテクストの分類テーブルを示す図である。
【図１０】Ｃパスにおけるコンテクストの分類テーブルを示す図である。
【図１１】実施例１を説明するためのフローチャートである。
【図１２】実施例２を説明するためのフローチャートである。
【図１３】実施例３を説明するためのフローチャートである。
【図１４】復号処理の説明のための符号データの例を示す図である。
【図１５】復号処理の説明のための符号データの例を示す図である。
【図１６】復号処理の説明のための符号データの例を示す図である。
【符号の説明】
【０１５１】
１  符号データ入力手段
２  ヘッダ開設手段
３  エントロピ復号化手段
４  スカラ逆量子化手段
５  逆ウェーブレット変換手段、
６  カラー変換手段
７  ＤＣレベルシフト手段
８  画像データ出力手段
【図１】
0004986906.tif 000002
【図２】
0004986906.tif 000003
【図３】
0004986906.tif 000004
【図４】
0004986906.tif 000005
【図５】
0004986906.tif 000006
【図６】
0004986906.tif 000007
【図７】
0004986906.tif 000008
【図８】
0004986906.tif 000009
【図９】
0004986906.tif 000010
【図１０】
0004986906.tif 000011
【図１１】
0004986906.tif 000012
【図１２】
0004986906.tif 000013
【図１３】
0004986906.tif 000014
【図１４】
0004986906.tif 000015
【図１５】
0004986906.tif 000016
【図１６】
0004986906.tif 000017