(57)【特許請求の範囲】
【請求項１】
絶対値成分がｎビット（ｎは自然数）で表現された複数のデータから構成されるデータ群を、複数のブロックに分割し、分割したブロック単位でのビットプレーン符号化を行うビットプレーン符号化装置において、
上記データ群に含まれている各ブロックに対する、値が有効とされたビット（有効ビット）が含まれるビットプレーンのうちの最上位のビットプレーンを、検索するビットプレーン検索手段を備え、
上記ビットプレーン検索手段は、
ｎビットの複数のビット位置データを上記データ群内の各ブロックに対応させて格納する格納部と、
上記格納部内の複数のビット位置データのうちから１つのビット位置データを選択する選択制御部と、
上記データ群を構成する各データの絶対値成分が１つずつ順次に入力され、入力された１つの絶対値成分と上記選択部により選択された１つのビット位置データとのビット論理和を演算するビット論理和演算部とを有し、
上記選択制御部は、
上記ビット論理和演算部に１つの絶対値成分が入力されると、その絶対値成分がいずれのブロックに所属するかを判断し、その判断結果に基づき上記ビット論理和演算部に入力された絶対値成分が所属するブロックのビット位置データを上記格納部から読み出し、そのビット位置データと入力された絶対値成分とのビット論理和を上記論理和演算部に演算させ、その演算結果を当該ブロックの新たなビット位置データとして格納部に格納し、
上記データ群内の全データが入力された後、上記データ群に含まれている各ブロックに対する値が有効とされたビット（有効ビット）が含まれるビットプレーンのうちの最上位のビットプレーンを、上記格納部に格納されているビット位置データに基づき算出すること
を特徴とするビットプレーン符号化装置。
【請求項２】
絶対値成分がｎビット（ｎは自然数）で表現された複数のデータから構成されるデータ群を、複数のブロックに分割し、分割したブロック単位でのビットプレーン符号化を行うビットプレーン符号化装置において、
上記データ群に含まれている各ブロックに対する、値が有効とされたビット（有効ビット）が含まれるビットプレーンのうちの最上位のビットプレーンを、検索するビットプレーン検索手段を備え、
上記ビットプレーン検索手段は、
ｎビット内の或る一つのビット位置を特定する複数のビット位置特定情報を、上記データ群内の各ブロックに対応させて格納する格納部と、
上記データ群を構成する各データの絶対値成分が１つずつ順次に入力され、１つの絶対値成分が入力される毎に、上記格納部に格納されている複数のビット位置特定情報のうちの１つのビット位置特定情報を更新する更新制御部とを有し、
上記更新制御部は、１つの絶対値成分が入力されると、その絶対値成分がいずれのブロックに所属するかを判断し、その判断結果に基づき入力された絶対値成分が所属するブロックのビット位置特定情報を上記格納部から読み出し、そのビット位置特定情報に示されたビット位置と入力された絶対値成分の最上位の有効ビットのビット位置とを比較して上位のビット位置を選択し、上記格納部内の当該ブロックのビット位置特定情報を選択したビット位置を特定する内容に更新し、
上記格納部は、上記データ群を構成する全データの絶対値成分に対する更新終了後の各ビット位置特定情報を、上記データ群に含まれている各ブロックに対する有効ビットが含まれるビットプレーンのうちの最上位のビットプレーンとして出力すること
を特徴とするビットプレーン符号化装置。
【請求項３】
上記更新制御部は、
上記格納部内のビット位置特定情報を入出力制御する入出力制御部と、
上記格納部内のビット位置特定情報が入力され、入力されたビット位置特定情報で特定されているビット位置のビット値が有効とされ、そのビット位置よりも上位のビット値が無効とされたｎビットの変換データを出力する第１のデータ変換部と、
上記絶対値成分と上記変換データとが入力され、入力された絶対値成分と上記変換データとのビット論理和を演算し、ｎビットの論理和データを出力するビット論理和演算部と、
上記論理和データが入力され、入力された論理和データの最上位の有効ビットのビット位置を特定するビット位置特定情報を生成する第２のデータ変換部とを有し、
上記入出力制御部は、
上記ビット論理和演算部に入力された絶対値成分が所属するブロックのビット位置特定情報を上記格納部から読み出して、上記第１のデータ変換部に入力し、上記第２のデータ変換部から出力されたビット位置特定情報を、上記ビット論理和演算部に入力された絶対値成分が所属するブロックの新たなビット位置特定情報として、上記格納部に格納すること
を特徴とする請求項２記載のビットプレーン符号化装置。
【請求項４】
上記更新制御部は、
上記格納部内のビット位置特定情報を入出力制御する入出力制御部と、
上記絶対値成分が入力され、入力された絶対値成分の最上位の有効ビットのビット位置を特定するビット位置特定情報を生成する第３のデータ変換部と、
上記第４のデータ変換部と上記格納部内のビット位置特定情報とが入力され、入力された２つのビット位置特定情報を比較し、上位のビットを示す一方のビット位置特定情報を出力する比較部とを備え、
上記入出力制御部は、
上記第３のデータ変換部に入力された絶対値成分が所属するブロックのビット位置特定情報を上記格納部から読み出して、上記比較部に入力し、
上記比較部から出力されたビット位置特定情報を、上記第３のデータ変換部に入力された絶対値成分が所属するブロックの新たなビット位置特定情報として、上記格納部に格納すること
を特徴とする請求項２記載のビットプレーン符号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、エントロピ符号化方法の一つであるＥＢＣＯＴ（Embedded Block Coding with Optimized Truncation）等に適用されるビットプレーン符号化装置に関するものである。
【０００２】
【従来の技術】
近年、ＪＰＥＧ２０００（IS0/IEC JTC 1/SC 29/WG1）と呼ばれる離散ウェーブレット変換を利用した静止画像圧縮方式が提案されている。
【０００３】
ＪＰＥＧ２０００では、離散ウェーブレット変換の特性を生かすため、エントロピ符号化処理にＥＢＣＯＴ（Embedded Block Coding with 0ptimized Truncation）と称する符号化方法が用いられている。
【０００４】
ＥＢＣＯＴでは、ビットモデリング処理及び算術符号化処理の２つの処理を行うことによって、多値データ系列を２値の符号化系列に変換する。このＥＢＣＯＴをＪＰＥＧ２０００の符号化アルゴリズムに適用した場合、ビットモデリング処理では、離散ウェーブレット変換により生成された多値ウェーブレット係数から算術符号化用の２値のシンボルとその符号化方式を示すコンテキストを生成する処理が行われ、算術符号化処理では、生成されたシンボル系列の出現確率に応じて確率直線を区間分割し、分割された区間内の位置を示す２進小数値をその符号系列に対する符号に割り当てる処理が行われる。
【０００５】
ここで、ＪＰＥＧ２０００の符号化アルゴリズムでは、ウェーブレット変換を行った領域（ウェーブレット変換領域）を複数の２次元の矩形領域に分割して、その分割単位毎にＥＢＣＯＴ符号化処理が行われる。このＥＢＣＯＴを行う矩形領域のことを、コードブロックと呼ぶ。
【０００６】
コードブロック分割処理
以下、このコードブロックについて説明をする。
【０００７】
ＪＰＥＧ２０００では、２次元の画像データに対して、２次元のウェーブレット変換を行う。２次元のウェーブレット変換では、ウェーブレット変換領域に対して垂直方向、水平方向の順でフィルタリングを行い、それぞれ低域成分及び高域成分のサブバンドに分割する。従って、ウェーブレット変換が行われた後のウェーブレット変換領域は、水平方向低域成分−垂直方向低域成分の係数（ＬＬ係数）が含まれているサブバンド、水平方向高域成分−垂直方向低域成分（ＨＬ係数）が含まれているサブバンド、水平方向高域成分−垂直方向低域成分の係数（ＬＨ係数）が含まれているサブバンド、水平方向高域成分−垂直方向高域成分（ＨＨ係数）が含まれているサブバンドに分割される。各サブバンドは、変換前のウェーブレット変換領域に対して、垂直、水平ともに１／２の解像度になる。
【０００８】
また、ＪＰＥＧ２０００では、ＬＬ係数に対して再度ウェーブレット変換を施すことによって、２次元の画像データを再帰的に帯域分割することが可能である。そのため、ＬＬ係数内が、さらに、ＬＬ係数のサブバンド、ＨＬ係数のサブバンド、ＬＨ係数のサブバンド及びＨＨ係数のサブバンドに分割される。この再帰分割回数のことを、解像度レベルと呼ぶ。解像度レベル１は、ウェーブレット変換領域に対して１回のウェーブレット変換を行うことをいい、解像度レベル２は、ウェーブレット変換領域に対して２回のウェーブレット変換を行うことをいう。
【０００９】
図９及び図１０に、水平方向が１７６ピクセル、垂直方向が１４４ピクセルの解像度の４：２：２フォーマットの画像データに対して、解像度レベル２のウェーブレット変換をした場合のウェーブレット変換領域の状態を示す。図９は、輝度成分（Ｙ）のウェーブレット変換領域を示し、図１０は、色差成分（Ｃｂ，Ｃｒ）のウェーブレット変換領域を示す。
【００１０】
図９及び図１０に示すように、ウェーブレット変換後のウェーブレット変換領域には、ＨＬ係数のサブバンド（１ＨＬ）、ＬＨ係数のサブバンド（１ＬＨ）、ＨＨ係数のサブバンド（１ＨＨ）が形成されている。これらのサブバンドは、元の４：２：２フォーマット画像に対して１回目のウェーブレット変換を行うことによって形成される。すなわち、１ＨＬ、１ＬＨ及び１ＨＨの各サブバンドの解像度は、輝度成分が水平８８ピクセル×垂直７２ピクセルとなり、色差成分が水平４４ピクセル×垂直３６ピクセルとなる。
【００１１】
さらに、ウェーブレット変換後のウェーブレット変換領域には、ＬＬ係数のサブバンド（２ＬＬ）、ＨＬ係数のサブバンド（２ＨＬ）、ＬＨ係数のサブバンド（２ＬＨ）及びＨＨ係数のサブバンド（２ＨＨ）が形成されている。これらのサブバンドは、１回目のウェーブレット変換により形成されたＬＬ係数のサブバンド（１ＬＬ）に対して、２回目のウェーブレット変換を行うことによって形成される。２ＬＬ、２ＨＬ、２ＬＨ及び２ＨＨの各サブバンドは、元の４：２：２フォーマット画像に対して１／４の解像度となる。すなわち、２ＬＬ、２ＨＬ、２ＬＨ及び２ＨＨの各サブバンドの解像度は、輝度成分が水平４４ピクセル×垂直３６ピクセルとなり、色差成分が水平２２ピクセル×垂直１８ピクセルとなる。
【００１２】
ＪＰＥＧ２０００においてＥＢＣＯＴを行う場合、このような各サブバンドをさらにコードブロックに分割する。ＪＰＥＧ２０００におけるコードブロックの分割ルールは以下のとおりである。
【００１３】
１つのコードブロックは、必ず１つのサブバンド内で閉じている。すなわち、１つのコードブロック内には、２つ以上のサブバンドが含まれない。
【００１４】
基本のコードブロックの大きさは、サブバンドの大きさに関わらず一定である。基本のコードブロックのサイズは、例えば、６４×６４ピクセルである。
【００１５】
ただし、基本コードブロックのサイズが、サブバンドのサイズよりも大きい場合には、サブバンドのサイズがそのままコードブロックのサイズとなる。例えば、サブバンドのサイズが、６４×６４よりも小さい場合には、サブバンドの範囲がそのままコードブロックとなる。
【００１６】
反対に、コードブロックのサイズが、サブバンドのサイズよりも小さい場合には、１つのサブバンド内に複数のコードブロックが設定される。この場合、１つのサブバンド内に上記の基本コードブロックを１以上設定し、さらに、余剰部分に対して、上記基本のコードブロックのサイズより小さいサイズのコードブロックを設定する。余剰部分に設定されるコードブロックは、一辺のピクセル数が、基本のコードブロックのサイズ（例えば、６４×６４）以下とされる。
【００１７】
図１１及び図１２に、上記図９及び図１０に示したウェーブレット変換領域に対して設定したコードブロックの具体例を示す。
【００１８】
輝度成分（Ｙ）の２ＬＬ，２ＨＬ，２ＬＨ及び２ＨＨのサブバンドは、そのサイズ（４４×３６）が基本のコードブロックのサイズ（６４×６４）よりも小さい。そのため、輝度成分（Ｙ）の２ＬＬ，２ＨＬ，２ＬＨ及び２ＨＨのサブバンドには、それぞれ自分のサイズと同一サイズの１つのコードブロックが設定される。つまり、輝度成分（Ｙ）の２ＬＬ，２ＨＬ，２ＬＨ及び２ＨＨのサブバンドは、コードブロックと一致している。
【００１９】
輝度成分（Ｙ）の１ＨＬ、１ＬＨ、１ＨＨのサブバンドは、そのサイズ（８８×７２）が基本のコードブロックサイズよりも大きい。従って、輝度成分（Ｙ）の１ＨＬ、１ＬＨ、１ＨＨのサブバンドには複数のコードブロックが設定される。具体的には、輝度成分（Ｙ）の１ＨＬ、１ＬＨ、１ＨＨのサブバンドには、６４×６４ピクセルの１つのコードブロックと、２４×６４ピクセルの１つのコードブロックと、６４×８ピクセルの１つのコードブロックと、２４×８ピクセルの１つのコードブロックが設定される。
【００２０】
色差成分（Ｃｒ，Ｃｂ）の全てのサブバンドは、そのサイズが基本のコードブロックのサイズ（６４×６４）よりも小さい。そのため、色差成分（Ｃｒ，Ｃｂ）の全てのサブバンドには、それぞれの自分のサイズと同一のサイズの１つのコードブロックが設定される。
【００２１】
このように図９及び図１０に示したウェーブレット変換領域には、輝度成分（Ｙ）に１６個のサブバンドが設定され、２つの色差成分（Ｃｒ，Ｃｂ）にそれぞれ７個のサブバンドが設定される。
【００２２】
ビットモデリングの前処理
つぎに、ＥＢＣＯＴにおけるビットモデリング処理について詳細に説明をする。
【００２３】
ビットモデリング処理では、上述したように、多値ウェーブレット係数から後段の算術符号化用の２値のシンボルとその符号化方式を示すコンテキストを生成する処理である。換言すると、ビットモデリング処理は、算術符号化の符号化方式を決定する処理である。
【００２４】
ビットモデリング処理での符号化単位は、上記のコードブロックである。さらに、ビットモデリング処理では、このコードブロックをビット毎（１桁毎）にスライスして形成したビットプレーンと呼ばれる単位で符号化処理をする。
【００２５】
また、ＥＢＣＯＴの符号化対象となる多値ウェーブレット係数は、正負の符号をもった整数（あるいは実数表現された整数）である。ビットモデリング処理は、多値で表されたウェーブレット係数を、正負の符号と絶対値とに分離して符号化を行う。絶対値部分は、上位ビットから下位ビットヘ順番にビットプレーンが選択され、そのビットプレーン上の各ビットを所定の順序で走査しながら、１ビットごとに符号化がされていく。
【００２６】
符号化対象となるビットプレーン内の各ビットは、次の３種類の処理パスのうちのいずれかの処理パスに基づき、符号化がされる。
【００２７】
・Significance propagation pass（“有意である”係数が周囲に存在している“有意でない”係数の符号化を行うパス）
・Magnitude refinement pass（“有意である”係数の符号化を行うパス）
・Cleanup pass（残りの係数の符号化を行うパス）
各処理パスで実行される符号化方法には、Zero coding、Sign coding、Magnitude refinement coding、Run‐Length codingの４種類がある。
【００２８】
なお、係数が“有意である”又は“有意でない”でないとは以下のような意味である。
【００２９】
“有意である”とは、着目している多値ウェーブレット係数の値が、これまでの符号化処理の結果から‘０’ではないとわかっている状態のこという。言い換えれば、上位ビットのビットプレーンから走査しながら符号化を行っていった手順上で、‘１’であるビットが発見されている多値ウェーブレット係数の状態のことをいう。
【００３０】
“有意でない”とは、着目している多値ウェーブレット係数の値が、‘０’であるか、或いは、‘０’である可能性が残っている状態のことをいう。言い換えれば、上位ビットのビットプレーンから順次走査しながら符号化を行っていった手順上で、‘１’であるビットが発見されていない多値ウェーブレット係数の状態のことをいう。
【００３１】
ここで、ビットモデリング処理では、上記の３つの処理パスを行う際、前処理として、初期ビットプレーン検索処理が行われる。
【００３２】
初期ビットプレーン検索処理は、各コードブロック内の‘初期ビットプレーン’を検出する処理である。初期ビットプレーンとは、値が有効とされたビット（つまり、正論理の場合、値が‘１’のビット）が含まれているビットプレーンのうち、最上位桁のビットプレーンのことをいう。
【００３３】
具体的な処理手順は以下のとおりである。
【００３４】
ウェーブレット係数の絶対値成分を抽出し、その絶対値成分の最上位桁のビットプレーン（即ち、ＭＳＢのビットプレーン）から下位桁に向かい１つずつビットプレーンを選択し、選択したビットプレーン内の全てのビット値を検索していく。そのとき、ビットプレーン中に“有意である”係数（‘０’でないビットが含まれている係数）が存在するかを判定する。その結果、“有意である”係数が登場したビットプレーンが存在すると、つまり、最初に値が‘１’となっているビットが含まれたビットプレーンを見付けると、そのビットプレーンを初期ビットプレーンとする。
【００３５】
ビットモデリング処理では、この初期ビットプレーンから、上記の３つの処理パスが実行される。ビットモデリング処理では、全て有意でないビットで構成されるビットプレーン、つまり、全て‘０’であるビットから構成されるビットプレーンがＭＳＢから連続してある場合には、そのビットプレーン数を符号化ストリームのパケットヘッダに記述する。この値は復号時に利用され、すべて‘０’のビットプレーンを形成するために使われるとともに、多値ウェーブレット係数のダイナミックレンジを復元するために用いられることとなる。
【００３６】
【発明が解決しようとする課題】
本発明は、例えばＥＢＣＯＴ等のビットプレーン単位での符号化処理を行う際に行われる初期ビットプレーン検索処理を、簡易な回路構成で行うことができるビットプレーン符号化装置を提供することを目的とする。
【００３７】
【課題を解決するための手段】
本発明にかかるビットプレーン符号化装置は、絶対値成分がｎビット（ｎは自然数）で表現された複数のデータから構成されるデータ群を、複数のブロックに分割し、分割したブロック単位でのビットプレーン符号化を行うビットプレーン符号化装置である。
【００３８】
本発明にかかるビットプレーン符号化装置では、上記データ群に含まれている各ブロックに対する、値が有効とされたビット（有効ビット）が含まれるビットプレーンのうちの最上位のビットプレーンを、検索するビットプレーン検索手段を備えている。
【００３９】
このビットプレーン検索手段は、ｎビットの複数のビット位置データを上記データ群内の各ブロックに対応させて格納する格納部と、上記格納部内の複数のビット位置データのうちから１つのビット位置データを選択する選択制御部と、上記データ群を構成する各データの絶対値成分が１つずつ順次に入力され、入力された１つの絶対値成分と上記選択部により選択された１つのビット位置データとのビット論理和を演算するビット論理和演算部とを有している。
【００４０】
そして、上記選択制御部では、上記ビット論理和演算部に１つの絶対値成分が入力されると、その絶対値成分がいずれのブロックに所属するかを判断し、その判断結果に基づき上記ビット論理和演算部に入力された絶対値成分が所属するブロックのビット位置データを上記格納部から読み出し、そのビット位置データと入力された絶対値成分とのビット論理和を上記論理和演算部に演算させ、その演算結果を当該ブロックの新たなビット位置データとして格納部に格納し、上記データ群内の全データが入力された後、上記データ群に含まれている各ブロックに対する値が有効とされたビット（有効ビット）が含まれるビットプレーンのうちの最上位のビットプレーンを、上記格納部に格納されているビット位置データに基づき算出する。
【００４１】
以上の本発明のビットプレーン符号化装置では、ブロック毎に識別されたビット位置データを保持し、各入力されたデータのブロックを識別しながら、入力データとビット位置データとの論理和を演算する。本発明のビットプレーン符号化装置では、その演算結果を、新たなビット位置データとして保持する。本発明のビットプレーン符号化装置では、以上の論理和演算を、符号化対象となるデータ群内の全データに対して行い、最終的に得られたビット位置データに基づき、各ブロック毎に値が有効とされたビットが含まれるビットプレーンのうちの最上位のビットプレーンを求める。
【００４２】
また、本発明にかかるビットプレーン符号化装置では、次のような構成のビットプレーン検索手段を備えてもよい。
【００４３】
このビットプレーン検索手段は、ｎビット内の或る一つのビット位置を特定する複数のビット位置特定情報を、上記データ群内の各ブロックに対応させて格納する格納部と、上記データ群を構成する各データの絶対値成分が１つずつ順次に入力され、１つの絶対値成分が入力される毎に、上記格納部に格納されている複数のビット位置特定情報のうちの１つのビット位置特定情報を更新する更新制御部とを有する。
【００４４】
上記更新制御部は、１つの絶対値成分が入力されると、その絶対値成分がいずれのブロックに所属するかを判断し、その判断結果に基づき入力された絶対値成分が所属するブロックのビット位置特定情報を上記格納部から読み出し、そのビット位置特定情報に示されたビット位置と入力された絶対値成分の最上位の有効ビットのビット位置とを比較して上位のビット位置を選択し、上記格納部内の当該ブロックのビット位置特定情報を選択したビット位置を特定する内容に更新し、上記格納部は、上記データ群を構成する全データの絶対値成分に対する更新終了後の各ビット位置特定情報を、上記データ群に含まれている各ブロックに対する有効ビットが含まれるビットプレーンのうちの最上位のビットプレーンとして出力する。
【００４５】
以上の本発明のビットプレーン符号化装置では、ブロック毎に識別されたビット位置特定情報を保持する。このビット位置特定情報は、ｎビット内の或る一つのビット位置を特定する情報である。本発明のビットプレーン符号化装置では、各入力されたデータのブロックを識別しながら、そのビット位置特定情報に示されたビット位置と入力された絶対値成分の最上位の有効ビットのビット位置とを比較して上位のビット位置を選択し、当該ブロックのビット位置特定情報を選択したビット位置を特定する内容に更新する。そして、最終的に得られたビット位置特定情報に基づき、各ブロック毎に値が有効とされたビットが含まれるビットプレーンのうちの最上位のビットプレーンを求める。
【００４６】
【発明の実施の形態】
以下、本発明の実施の形態として、本発明を適用したＪＰＥＧ２０００符号化装置について説明をする。
【００４７】
図１に、本発明の実施の形態のＪＰＥＧ２０００符号化装置のブロック構成図を示す。
【００４８】
ＪＰＥＧ２０００符号化装置１は、図１に示すように、ウェーブレット変換部２と、ＥＢＣＯＴ符号化部３とを備えて構成される。
【００４９】
ウェーブレット変換部２は、入力された画像データに対して、２次元の離散ウェーブレット変換を行う。２次元のウェーブレット変換は、水平方向及び垂直方向に２次元配列された所定の変換領域（ウェーブレット変換領域）に対して行われる。２次元のウェーブレット変換がされたのちのウェーブレット変換領域は、図９に示したように、複数のサブバンドに分割される。
【００５０】
ウェーブレット変換部２からは、ウェーブレット変換領域単位で、ウェーブレット係数が出力される。ウェーブレット係数は、符号値と絶対値とから構成される多値データである。
【００５１】
ＥＢＣＯＴ符号化部３は、ウェーブレット変換部２から出力されたウェーブレット係数に対してＥＢＣＯＴ方式におけるビットモデリング処理並びにＥＢＣＯＴ方式における算術符号化処理を行い、符号データを生成し、外部に出力する。
【００５２】
ＥＢＣＯＴ符号化部３は、ビットモデリング部５と、算術符号化部６と、初期ビットプレーン検索部７とを備えて構成される。
【００５３】
ビットモデリング部５は、入力されたウェーブレット係数に対して、ＥＢＣＯＴ方式におけるビットモデリング処理を行う。すなわち、ビットモデリング部５は、ウェーブレット係数から算術符号化用のシンボル及びコンテキストを生成する。ビットモデリング部５は、生成したシンボル及びコンテキストを、算術符号化部６へ出力する。
【００５４】
算術符号化部６は、入力されたシンボル及びコンテキストに基づき算術符号化処理を行い、符号データを生成する。算術符号化とは、シンボル系列の出現確率に応じて確率直線を区間分割し、分割された区間内の位置を示す２進小数値をその符号系列に対する符号に割り当てる符号化処理である。算術符号化部６は、生成した符号データを外部へ出力する。
【００５５】
初期ビットプレーン検索部７には、ウェーブレット変換部２から入力されたウェーブレット係数の絶対値成分が入力される。ウェーブレット係数の絶対値成分を、以下絶対値データと呼ぶ。初期ビットプレーン検索部７は、入力された絶対値データをコードブロック毎に識別し、各コードブロック毎にビットモデリング処理の前処理となる初期ビットプレーン検索処理を行う。初期ビットプレーン検索処理は、コードブロック内の‘初期ビットプレーン’を検出する処理である。初期ビットプレーンとは、値が有効とされたビット（つまり、正論理の場合であれば値が‘１’のビット）が含まれているビットプレーンのうち、最上位桁のビットプレーンのことをいう。
【００５６】
つぎに、初期ビットプレーン検索部７の具体的な３つの構成例について説明をする。なお、ウェーブレット変換部２から初期ビットプレーン検索部７へは、ウェーブレット係数の絶対値成分である絶対値データが入力されるが、以下の説明では、この絶対値データのビット幅は１１ビットであり、各ビット値は正論理で表されているものとする。
【００５７】
（第１の構成例）
まず、初期ビットプレーン検索部７の第１の構成例について、図２を参照して説明する。
【００５８】
第１の構成例の初期ビットプレーン検索部７は、図２に示すように、格納部２１と、ビットＯＲ回路２２と、制御部２３とを備えて構成される。
【００５９】
格納部２１は、内部に、複数のレジスタを有している。格納部２１内の各レジスタは、１つのウェーブレット変換領域内に生成されるコードブロックの数だけ設けられており、各レジスタは、それぞれ特定のコードブロックに対応している。例えば、図１１及び図１２に示したウェーブレット変換領域に対して処理を行うのであれば、輝度成分（Ｙ）内の各コードブロックに対応した１６個のレジスタ（Ｙ０レジスタ、Ｙ１レジスタ・・・Ｙ１５レジスタ）と、色差成分（Ｃｒ，Ｃｂ）内の各コードブロックに対応した１４個のレジスタ（Ｃｂ０レジスタ、Ｃｂ１レジスタ・・・Ｃｂ６レジスタ、Ｃｒ０レジスタ・・・Ｃｒ６レジスタ）とが、格納部２１内に備えられることとなる。
【００６０】
これらの各レジスタには、ビット位置データが格納される。ビット位置データは、当該初期ビットプレーン検索部７に入力される絶対値データと同一のビット幅のデータである。つまり、ここでは、ビット位置データは、１１ビット幅のデータとなる。
【００６１】
制御部２３は、格納部２１内の複数のレジスタのうち１つのレジスタを選択し、そのレジスタに対してビット位置データの書き込み及び読み出しの制御をする。また、制御部２３は、１つのウェーブレット変換領域内のウェーブレット係数の絶対値データが全て入力され、これらに対する処理を全て終了した後に、各レジスタに格納されているビット位置データに基づき、各コードブロックの初期ビットプレーンを算出する。
【００６２】
ビットＯＲ回路２２には、ウェーブレット変換部２から供給された１１ビットの絶対値データと、格納部２１内に格納されている１１ビットのビット位置データとが入力される。格納部２１内にはビット位置データが複数格納されているが、そのうちの１つのビット位置データのみが入力される。入力されるビット位置データは、制御部２３により選択される。ビットＯＲ回路２２は、絶対値データとビット位置データとのビット論理和を演算する。ビット論理和の演算とは、１１ビットの２つのデータを各桁ごとに論理和算出し、その演算結果を１１ビットデータで出力する演算である。ビット論理和の演算結果データは、制御部２３が選択したレジスタに格納される。
【００６３】
つぎに、この第１の構成例の初期ビットプレーン検索部７の動作について説明する。
【００６４】
初期ビットプレーン検索部７には、絶対値データが、ウェーブレット変換部２から入力される。初期ビットプレーン検索部７には、１つのウェーブレット変換領域内の全ウェーブレット係数が、１データずつ順次入力される。入力されたウェーブレット係数の絶対値データは、ビットＯＲ回路２２へ入力される。
【００６５】
制御部２３は、１つの絶対値データが入力されると、その絶対値データが、ウェーブレット変換領域内のいずれのコードブロックに属しているかを判断する。すなわち、その絶対値データが、輝度成分であるのか、Ｃｒ成分であるのか、Ｃｂ成分であるのかを判断し、さらに、その中の何番目のコードブロックに属しているのかを判断する。制御部２３は、入力された絶対値データが属するコードブロックを判断すると、そのコードブロックに対応するレジスタを選択する。制御部２３は、選択したレジスタから、ビット位置データを読み出し、ビットＯＲ回路２２に供給する。なお、各レジスタ内に格納されているビット位置データは、ウェーブレット変換領域内の最初のデータが入力されたときに、その値が０（000_0000_0000）に初期化される。ビットＯＲ回路２２は、入力された１つの絶対値データと、選択された１つのビット位置データとのビット論理和を演算する。制御部２３は、ビットＯＲ回路２２の演算結果データを、選択したレジスタ、つまり、入力された絶対値データが属するコードブロックに対応したレジスタに格納する。従って、ビットＯＲ回路２２の演算結果データが、そのコードブロックの新たなビット位置データとなる。
【００６６】
制御部２３は、続いて入力される各絶対値データに対して、１回ずつ以上の処理を行う。
【００６７】
初期ビットプレーン検索部７では、１つのウェーブレット変換領域内の全係数に対して以上の処理を行うことによって、全絶対値データをコードブロック毎にビット論理和演算し、そのビット論理和演算結果を各コードブロックに対応したレジスタに保存したこととなる。
【００６８】
制御部２３は、１つのウェーブレット変換領域内の全データに対して処理が終了すると、各レジスタ内のビット位置データを参照して、各コードブロックの初期ビットプレーンを算出する。
【００６９】
ビット位置データは、コードブロック内の全データをビット論理和演算した結果である。従って、ビット位置データは、有意であるビットが含まれているビットプレーン（つまり、値が‘１’となっているビットが含まれているビットプレーン）に対応した桁のビット値が必ず‘１’となっている。反対に、ビット位置データは、有意でないビットのみで構成されているビットプレーン（つまり、値が‘０’のビットだけで構成されているビットプレーン）に対応した桁のビット値が必ず‘０’となっている。従って、最終的に得られたビット位置データを、ＭＳＢ側から検索し、最初に‘１’が登場した桁が、初期ビットプレーンの位置を示していることとなる。
【００７０】
制御部２３は、各コードブロックの初期ビットプレーンの位置情報を、ビットモデリング部５に供給し、続いて、次のウェーブレット変換領域に対する処理を行う。
【００７１】
（第２の構成例）
つぎに、初期ビットプレーン検索部７の第２の構成例について図３を参照して説明する。
【００７２】
第２の構成例の初期ビットプレーン検索部７は、図３に示すように、格納部３１と、ビットＯＲ回路３２と、第１の変換器３３と、第２の変換器３４と、制御部３５とを備えて構成される。
【００７３】
格納部３１は、内部に、複数のレジスタを有している。このレジスタの数は、上記第１の構成例の格納部２１と同一である。すなわち、格納部３１内の各レジスタは、１つのウェーブレット変換領域内に生成されるコードブロックの数だけ設けられており、各レジスタは、それぞれ特定のコードブロックに対応している。例えば、図１０に示したウェーブレット変換領域に対して処理を行うのであれば、輝度成分（Ｙ）内の各コードブロックに対応した１６個のレジスタと、色差成分（Ｃｒ，Ｃｂ）内の各コードブロックに対応した１４個のレジスタとが、格納部３１内に備えられる。
【００７４】
格納部３１は、内部に、複数のレジスタを有している。格納部３１内の各レジスタは、１つのウェーブレット変換領域内に生成されるコードブロックの数だけ設けられており、各レジスタは、それぞれ特定のコードブロックに対応している。例えば、図１１及び図１２に示したウェーブレット変換領域に対して処理を行うのであれば、輝度成分（Ｙ）内の各コードブロックに対応した１６個のレジスタ（Ｙ０レジスタ、Ｙ１レジスタ・・・Ｙ１５レジスタ）と、色差成分（Ｃｒ，Ｃｂ）内の各コードブロックに対応した１４個のレジスタ（Ｃｂ０レジスタ、Ｃｂ１レジスタ・・・Ｃｂ６レジスタ、Ｃｒ０レジスタ・・・Ｃｒ６レジスタ）とが、格納部３１内に備えられることとなる。
【００７５】
これら各レジスタには、ビット位置特定情報が格納される。ビット位置特定情報は、当該初期ビットプレーン検索部７に入力される絶対値データの或る１つのビット位置を特定する情報である。例えば、絶対値データのビット幅がｎビットであれば、ビット位置特定情報は、ｎビット内の任意の１つの桁を特定する。従って、ビット位置特定情報のデータ幅は、少なくとも  Ｒａｉｓｅ（Ｌｏｇ２ｎ）あればよい。なお、Ｒａｉｓｅ（ｘ）は、ｘの小数点以下を切り上げることを意味する。本例では、ウェーブレット変換係数の絶対値データが１１ビットで表現されているため、ビット位置特定情報のビット幅は、４ビット以上あればよい。従って、レジスタのデータ幅も、上述の第１の構成例と比較して、７ビット分も減少し、回路規模を小さくすることができる。
【００７６】
制御部３５は、格納部３１内の複数のレジスタのうち１つのレジスタを選択し、そのレジスタに対してビット位置特定情報の書き込み及び読み出しの制御をする。また、制御部３５は、１つのウェーブレット変換領域内のウェーブレット係数の絶対値データが全て入力され、これらに対する処理を全て終了した後に、各レジスタに格納されているビット位置特定情報に基づき、各コードブロックの初期ビットプレーンを算出する。
【００７７】
ビットＯＲ回路３２には、ウェーブレット変換部２から供給された１１ビットの絶対値データと、第２の変換器３４から出力された１１ビットのビット位置データとが入力される。第２の変換器３４から出力されるビット位置データは、格納部３１に格納されているビット位置特定情報に基づき生成される。格納部３１内にはビット位置特定情報が複数格納されているが、第２の変換器３４から出力されるビット位置データは、制御部３５により選択された１つのビット位置特定情報のみに基づき生成される。ビットＯＲ回路３２は、絶対値データとビット位置データとのビット論理和を演算する。ビット論理和の演算結果データは、第１の変換器３３に入力される。
【００７８】
第１の変換器３３は、ビットＯＲ回路３２から出力された１１ビットの演算結果データを、４ビットのビット位置特定情報に変換する処理を行う。第１の変換器１１は、１１ビットの演算結果データをＭＳＢから検索していき、最初に‘１’が発生したビット位置を検出し、検出したビット位置を特定するビット位置特定情報を生成する。
【００７９】
具体的には、第１の変換器３３は、図４に示すような、テーブルで記述することができる。なお、この図４で示しているプログラム記述言語は、ＬＳＩの開発で用いられるハードウェア記述言語（ＨＤＬ）により記述したものである。
【００８０】
“wire[10:0]  IN1;”では、入力データのデータ幅が１１ビットであること、入力データ名が“IN1”であることを定義している。“IN1”は、ビットＯＲ回路３２から出力される１１ビットの演算結果データである。
【００８１】
“reg[3:0]  OUT1;”では、出力データのデータ幅が４ビットであること、出力データ名が“OUT1”であることを定義している。“OUT1”は、格納部３１内のレジスタに格納される４ビットのビット位置特定情報である。
【００８２】
“casez(IN1)”から“endcasez”までは、１１ビットの入力データ（IN1）のデータ内容を条件とし、その条件に合致した４ビット出力データ（OUT1）を選択して出力する、いわゆるケース文である。
【００８３】
“casez(IN1)”から“endcasez”までで定義されている具体的な入出力関係は、以下のとおりである。
【００８４】
入力データ(IN1)     出力データ(OUT1)
000_0000_0000          1111
1??_????_????          1010
01?_????_????          1001
001_????_????          1000
000_1???_????          0111
000_01??_????          0110
000_001?_????          0101
000_0001_????          0100
000_0000_1???          0011
000_0000_01??          0010
000_0000_001?          0001
000_0000_0001          0000
なお、‘?’で示されているビットの値は、“１”であっても、“０”であってもよい。このケース文では、先頭の“１”の値が発生するビット位置のみが必要であり、それ以下のビット値は関係がないためである。
【００８５】
第２の変換器３４は、格納部３１内のレジスタから出力されたビット位置特定情報を、ビットＯＲ回路３２に入力するためのビット位置データに変換する処理を行う。この第２の変換器３４では、ビット位置特定情報で示されているビット位置のみが“１”とされ、その他のビットが“０”とされたビット位置データを生成する。ここで、生成されるビット位置データは、絶対値データと同一のビット数のデータである。すなわち、１１ビットのデータである。
【００８６】
具体的には、第２の変換器３４は、図５に示すような、テーブルで記述することができる。なお、この図５で示しているプログラム記述言語も、ＨＤＬにより記述されたものである。
【００８７】
“wire[3:0]  IN2;”では、入力データのデータ幅が３ビットであること、入力データ名が“IN2”であることを定義している。“IN2”は、格納部３１のレジスタから出力される４ビットのビット位置特定情報である。
【００８８】
“reg[10:0]  OUT2;”では、出力データのデータ幅が１１ビットであること、出力データ名が“OUT2”であることを定義している。“OUT2”は、ビットＯＲ回路３２に入力される１１ビットのビット位置データである。
【００８９】
“case(IN2)”から“endcase”までは、４ビットの入力データ（IN2）のデータ内容を条件とし、その条件に合致した１１ビット出力データ（OUT2）を選択して出力する、いわゆるケース文である。
【００９０】
“case(IN2)”から“endcase”までで定義されている具体的な入出力関係は、以下のとおりである。
【００９１】
入力データ(IN1)     出力データ(OUT1)
0000               000_0000_0001
0001               000_0000_0010
0010               000_0000_0100
0011               000_0000_1000
0100               000_0001_0000
0101               000_0010_0000
0110               000_0100_0000
0111               000_1000_0000
1000               001_0000_0000
1001               010_0000_0000
1010               100_0000_0000
1111               000_0000_0000     。
【００９２】
つぎに、この第２の構成例の初期ビットプレーン検索部７の動作について説明する。
【００９３】
初期ビットプレーン検索部７には、絶対値データが、ウェーブレット変換部２から入力される。初期ビットプレーン検索部７には、１つのウェーブレット変換領域内の全ウェーブレット係数が、１データずつ順次入力される。入力されたウェーブレット係数の絶対値データは、ビットＯＲ回路３２へ入力される。
【００９４】
制御部３５は、１つの絶対値データが入力されると、その絶対値データが、ウェーブレット変換領域内のいずれのコードブロックに属しているかを判断する。すなわち、その絶対値データが、輝度成分であるのか、Ｃｒ成分であるのか、Ｃｂ成分であるのかを判断し、さらに、その中の何番目のコードブロックに属しているのかを判断する。制御部３５は、入力された絶対データが属するコードブロックを判断すると、そのコードブロックに対応するレジスタを選択する。制御部３５は、選択したレジスタから、ビット位置特定情報を読み出し、第２の変換器３４に供給する。なお、各レジスタ内に格納されているビット位置特定情報は、ウェーブレット変換領域内の最初のデータが入力されたときに、その値が“1111”に初期化される。第２の変換器３４は、入力された４ビットのビット位置特定情報を、図５に示したテーブルに従い、１１ビットのビット位置データに変換する。変換されたビット位置データは、ビットＯＲ回路３２に供給される。
【００９５】
ビットＯＲ回路３２は、入力された１つの絶対値データと、第２の変換器３４から出力された１つのビット位置データとのビット論理和を演算する。ビット論理和の１１ビットの演算結果データは、第１の変換器３３に供給される。第１の変換器３３は、入力された１１ビットの演算結果データを、図４に示したテーブルに従い、４ビットのビット位置特定情報に変換する。
【００９６】
制御部３５は、第１の変換器３３の出力を、選択したレジスタ、つまり、入力された絶対値データが属するコードブロックに対応したレジスタに格納する。従って、ビット論理和演算した結果に基づき生成されたビット位置特定情報が、新たなビット位置特定情報となる。
【００９７】
制御部３５は、続いて入力される絶対値データに対しても、１回ずつ以上の処理を行う。
【００９８】
初期ビットプレーン検索部７では、１つのウェーブレット変換領域内の全係数に対して以上の処理を行うことによって、全絶対値データをコードブロック毎にビット論理和演算し、その演算結果に基づきビット位置特定情報が生成されたこととなる。すなわち、最終的にレジスタに格納されているビット位置特定情報が、各コードブロックの初期ビットプレーンを示すこととなる。
【００９９】
制御部３５は、１つのウェーブレット変換領域内の全データに対して処理が終了すると、各レジスタ内のビット位置特定情報を参照して、各コードブロックの初期ビットプレーンを算出する。
【０１００】
制御部３５は、算出した各コードブロックの初期ビットプレーンの位置情報を、ビットモデリング部５に供給し、続くウェーブレット変換領域に対する処理を行う。
【０１０１】
（第３の構成例）
つぎに、初期ビットプレーン検索部７の第３の構成例について図６を参照して説明する。
【０１０２】
第３の構成例の初期ビットプレーン検索部７は、図６に示すように、格納部４１と、第３の変換器４２と、比較器４３と、制御部４４とを備えて構成される。
【０１０３】
格納部４１は、上述した第２の構成例の格納部３１と同一の構成である。
【０１０４】
制御部４４は、格納部４１内の複数のレジスタのうち１つのレジスタを選択し、そのレジスタに対してビット位置特定情報の書き込み及び読み出しの制御をする。また、制御部４４は、１つのウェーブレット変換領域内のウェーブレット係数の絶対値データが全て入力され、これらに対する処理を全て終了した後に、各レジスタに格納されているビット位置特定情報に基づき、各コードブロックの初期ビットプレーンを算出する。
【０１０５】
第３の変換器４２は、入力された１１ビットの絶対値データを、４ビットのビット位置特定情報に変換する処理を行う。第３の変換器４２は、１１ビットの演算結果データをＭＳＢから検索していき、最初に‘１’が発生したビット位置を検出し、検出したビット位置を特定するビット位置特定情報を生成する。
【０１０６】
具体的には、第３の変換器４２は、図７に示すような、テーブルで記述することができる。なお、この図７で示しているプログラム記述言語は、ＬＳＩの開発で用いられるハードウェア記述言語（ＨＤＬ）により記述されたものである。
【０１０７】
“wire[10:0]  IN3;”では、入力データのデータ幅が１１ビットであること、入力データ名が“IN3”であることを定義している。“IN3”は、入力された１１ビットの絶対値データである。
【０１０８】
“reg[3:0]  OUT3;”では、出力データのデータ幅が４ビットであること、出力データ名が“OUT3”であることを定義している。“OUT3”は、比較器４３に入力される４ビットのビット位置特定情報である。
【０１０９】
“casez(IN3)”から“endcasez”までは、１１ビットの入力データ（IN3）のデータ内容を条件とし、その条件に合致した４ビット出力データ（OUT3）を選択して出力する、いわゆるケース文である。
【０１１０】
“casez(IN3)”から“endcasez”までで定義されている具体的な入出力関係は、以下のとおりである。
【０１１１】
入力データ(IN3)     出力データ(OUT3)
000_0000_0000          0000
1??_????_????          1011
01?_????_????          1010
001_????_????          1001
000_1???_????          1000
000_01??_????          0111
000_001?_????          0110
000_0001_????          0101
000_0000_1???          0100
000_0000_01??          0011
000_0000_001?          0010
000_0000_0001          0001
なお、‘?’で示されているビットの値は、“１”であっても、“０”であってもよい。このケース文では、先頭の“１”の値が発生するビット位置のみが必要であり、それ以下のビット値は関係がないためである。
【０１１２】
比較器４３には、第３の変換器４２から出力されたビット位置特定情報と、レジスタに格納されていたビット位置特定情報とが入力される。比較器４３は、入力された２つの情報のうち、いずれか一方の値が大きい方を選択して出力する。選択された一方のビット位置特定情報は、制御部４３が選択したレジスタに対して、つまり、入力された絶対値データが属するコードブロックのレジスタに対して、新たなビット位置特定情報として格納される。
【０１１３】
具体的には、比較器４３は、図８に示すような、比較演算プログラムで記述することができる。なお、この図８で示しているプログラム記述言語は、ＨＤＬにより記述されたものである。
【０１１４】
“wire[10:0]  OUT3,IN4;”では、入力データが２つあり、両者の入力データのデータ幅が４ビットであること、入力データ名が“OUT3”と“IN4”であることを定義している。“OUT3”は、第３の変換器４２から出力されたビット位置特定情報である。“IN4”は、制御部４４が選択したレジスタに格納されているビット位置特定情報である。
【０１１５】
“reg[3:0]  OUT4;”では、出力データのデータ幅が４ビットであること、出力データ名が“OUT4”であることを定義している。“OUT4”は、制御部４４が選択したレジスタに入力される４ビットのビット位置特定情報である。
【０１１６】
“OUT4 = (OUT3>IN4)?OUT3:IN4”は、OUT3>IN4の条件が合致するならば“OUT3”を出力し、それ以外であれば“IN4”を出力することを示している。
【０１１７】
つぎに、この第３の構成例の初期ビットプレーン検索部７の動作について説明する。
【０１１８】
初期ビットプレーン検索部７には、絶対値データが、ウェーブレット変換部２から入力される。初期ビットプレーン検索部７には、１つのウェーブレット変換領域内の全ウェーブレット係数が、１データずつ順次入力される。入力されたウェーブレット係数の絶対値データは、第３の変換器４２へ入力される。第３の変換器４２は、入力された１１ビットの絶対値データを、図７に示したテーブルに従い、４ビットのビット位置特定情報に変換する。
【０１１９】
制御部４４は、１つの絶対値データが入力されると、その絶対値データが、ウェーブレット変換領域内のいずれのコードブロックに属しているかを判断する。すなわち、その絶対値データが、輝度成分であるのか、Ｃｒ成分であるのか、Ｃｂ成分であるのかを判断し、さらに、その中の何番目のコードブロックに属しているのかを判断する。制御部４４は、入力された絶対値データが属するコードブロックを判断すると、そのコードブロックに対応するレジスタを選択する。制御部４４は、選択したレジスタから、ビット位置特定情報を読み出し、比較器４３に供給する。なお、各レジスタ内に格納されているビット位置特定情報は、ウェーブレット変換領域内の最初のデータが入力されたときに、その値が“0000”に初期化される。
【０１２０】
比較器４３は、第３の変換器４２から入力された１つのビット位置特定情報と、レジスタから出力された１つのビット位置特定情報とを、図８に示すプログラムに従い比較をし、値の大きいいずれか一方のビット位置特定情報を出力する。
【０１２１】
制御部４４は、比較器４３の出力を、選択したレジスタに格納する。すなわち、比較した結果、値が大きい方のビット位置特定情報が、新たなビット位置特定情報としてレジスタに格納される。
【０１２２】
制御部４４は、続く絶対値データに対しても以上の処理を行っていき、ウェーブレット変換領域内の全係数に対して以上の処理を行う。
【０１２３】
初期ビットプレーン検索部７では、以上のような処理を行うことによって、全絶対値データのうちもっとも値が大きいビット位置特定情報が、コードブロック毎にレジスタに格納されることとなる。すなわち、最終的にレジスタに格納されているビット位置特定情報が、各コードブロックの初期ビットプレーンを示すこととなる。
【０１２４】
制御部４４は、１つのウェーブレット変換領域内の全データに対して処理が終了すると、各レジスタ内のビット位置特定情報を参照して、各コードブロックの初期ビットプレーンを算出する。
【０１２５】
制御部４４は、算出した各コードブロックの初期ビットプレーンの位置情報を、ビットモデリング部５に供給し、続くウェーブレット変換領域に対する処理を行う。
【０１２６】
【発明の効果】
本発明のビットプレーン符号化装置では、ブロック毎に識別されたビット位置データを保持し、各入力されたデータのブロックを識別しながら、入力データとビット位置データとの論理和を演算する。本発明のビットプレーン符号化装置では、その演算結果を、新たなビット位置データとして保持する。本発明のビットプレーン符号化装置では、以上の論理和演算を、符号化対象となるデータ群内の全データに対して行い、最終的に得られたビット位置データに基づき、各ブロック毎に値が有効とされたビットが含まれるビットプレーンのうちの最上位のビットプレーンを求める。
【０１２７】
このことから、本発明のビットプレーン符号化装置では、簡易な構成で、有意である係数が最初に登場するビットプレーンの検索処理を行うことができる。
【０１２８】
また、本発明のビットプレーン符号化装置では、ブロック毎に識別されたビット位置特定情報を保持する。このビット位置特定情報は、ｎビット内の或る一つのビット位置を特定する情報である。本発明のビットプレーン符号化装置では、各入力されたデータのブロックを識別しながら、そのビット位置特定情報に示されたビット位置と入力された絶対値成分の最上位の有効ビットのビット位置とを比較して上位のビット位置を選択し、当該ブロックのビット位置特定情報を選択したビット位置を特定する内容に更新する。そして、最終的に得られたビット位置特定情報に基づき、各ブロック毎に値が有効とされたビットが含まれるビットプレーンのうちの最上位のビットプレーンを求める。
【０１２９】
このことから、本発明のビットプレーン符号化装置では、簡易な構成で、有意である係数が最初に登場するビットプレーンの検索処理を行うことができる。
【図面の簡単な説明】
【図１】本発明を適用したＪＰＥＧ２０００の符号化装置のブロック構成図である。
【図２】初期ビットプレーン検索部の第１の構成例を示すブロック構成図である。
【図３】初期ビットプレーン検索部の第２の構成例を示すブロック構成図である。
【図４】第１の変換器のＨＤＬの記述例を説明するための図である。
【図５】第２の変換器のＨＤＬの記述例を説明するための図である。
【図６】初期ビットプレーン検索部の第３の構成例を示すブロック構成図である。
【図７】第３の変換器のＨＤＬの記述例を説明するための図である。
【図８】比較器のＨＤＬの記述例を説明するための図である。
【図９】水平方向が１７６ピクセル、垂直方向が１４４ピクセルの解像度の４：２：２フォーマットの画像データに対して、解像度レベル２のウェーブレット変換をした場合の輝度成分のサブバンドを示す図である。
【図１０】水平方向が１７６ピクセル、垂直方向が１４４ピクセルの解像度の４：２：２フォーマットの画像データに対して、解像度レベル２のウェーブレット変換をした場合の色差成分のサブバンドを示す図である。
【図１１】図９に示した各サブバンドをコードブロックに分割する場合について説明する図である。
【図１２】図１０に示した各サブバンドをコードブロックに分割する場合について説明する図である。
【符号の説明】
１  ＪＰＥＧ２０００符号化装置、７  初期ビットプレーン検索部
【図１】
0003700670.tif 000002
【図２】
0003700670.tif 000003
【図３】
0003700670.tif 000004
【図４】
0003700670.tif 000005
【図５】
0003700670.tif 000006
【図６】
0003700670.tif 000007
【図７】
0003700670.tif 000008
【図８】
0003700670.tif 000009
【図９】
0003700670.tif 000010
【図１０】
0003700670.tif 000011
【図１１】
0003700670.tif 000012
【図１２】
0003700670.tif 000013