(57)【特許請求の範囲】
【請求項１】
画素毎に、最上位ビットおよび最下位ビットを含む複数ビットのビット列で現される階調値を有する複数の画素からなる原画像のデータを変換し、変換後のビット列の任意のビット位置に格納される複数の画素のビットが該ビット位置での画像の起伏を表現するビットプレーンを構成する変換画像データを生成する変換部と、
前記変換部により生成された前記変換画像データを記憶する記憶部と、
前記記憶部に記憶された変換画像データのビットプレーンを含む、時間的に前後する２個の変換画像データのビットプレーンを比較し、動きを推定する動き推定部と
を有し、
前記変換部は、
前記原画像を複数の画素を含む複数のブロックに分割する分割手段と、
分割された当該ブロック毎に、各ブロック内の各画素の原画像での階調値を加算し、各画素について既に演算した、演算に係るビット位置より上位のビットの値による変換後のビット列が示す階調値を減算し、さらに、当該演算に係るビット位置の前記原画像での階調値を減算することにより、各ブロック内の複数の画素の階調値を積算する積算手段と、
前記積算手段により演算された当該ブロック毎の前記積算値が、０以上であるか否かを判断し、前記積算値が０以上である場合には、前記演算に係るブロックに対応する１ビットの値として、前記積算値が０以上のプラスであることを意味する１ビットの値を得て、前記積算値が０より小さい場合には、前記演算に係るブロックに対応する１ビットの値として、前記積算値が０より小さいマイナスであることを意味する１ビットの値を得ることにより、当該積算値からブロック毎に１ビットの値を得る取得手段と
を有し、
前記分割手段、前記積算手段および前記取得手段により、前記変換後のビット列についての最上位ビットから順番に各ビット位置の１ビットの値を演算することにより、各ビット位置のビットプレーンを得る
情報処理装置。
【請求項２】
２個の前記変換画像データを比較する前記動き推定部は、
比較に係る一方の前記変換画像データのビットプレーンの画像から、この画像を所定の方向へずらしたビットプレーンの画像を生成し、
前記ずらした画像と比較に係る他方の前記変換画像データのビットプレーンの画像とを比較し、
画像が重なる場合に、前記ずらし方向への動きがあると推定する
請求項１記載の情報処理装置。
【請求項３】
前記変換部は、
前記原画像を複数の画素を含む複数のブロックに分割し、
前記ブロック毎のデータ変換処理により前記ブロック毎のデータを生成し、
前記ブロック毎のデータは、
前記ブロック内のすべての画素に共通し、該すべての画素の最上位ビットとして利用可能な、１個の１ビットのデータと、
前記ブロックを複数個に分割した各分割ブロック内のすべての画素に共通し、該各分割ブロック内のすべての画素の中位ビットとして利用可能な、分割数と同数の１ビットのデータと、
前記ブロック内の各画素に固有であり、各画素の最下位ビットとして利用可能な、前記ブロック内の画素数と同数の１ビットのデータとを含み、
前記最上位ビットのビットプレーンは、
前記原画像を分割するブロック数と同数のビットにより構成され、
前記中位ビットのビットプレーンは、前記ブロックによる原画像の分割数に、前記分割ブロックによる各前記ブロックの分割数を乗算した個数のビットにより構成され、
前記最下位ビットのビットプレーンは、前記原画像を分割するための複数の前記ブロックに含まれるすべての画素数と同数のビットにより構成される
請求項１または２記載の情報処理装置。
【請求項４】
前記記憶部に記憶される変換画像データは、
前記ブロック毎に集めて前記記憶部に記憶され、
各ブロック内の複数のビットデータは、
ビットプレーン毎に集めて、前記記憶部の正方形の記憶領域の対角線上に並べて記憶される
請求項３記載の情報処理装置。
【請求項５】
前記記憶部に記憶される変換画像データは、
前記ブロック毎に集めて前記記憶部に記憶され、
各ブロック内の複数のビットデータは、
対応する画素の配置に基づいて垂直方向および水平方向において４組に分けられ、
各組毎に集めて、前記記憶部の正方形の記憶領域の対角線上に並べて記憶され、
各ブロックの４組のビットデータは、
共通する１個の前記正方形の記憶領域において対称的に配置される
請求項３または４記載の情報処理装置。
【請求項６】
前記記憶部は、
各ブロックのデータを記憶する前記正方形の記憶領域に対して、
前記最上位ビットに対応するビットデータのアドレスに対して、所定の下位アドレスを追加することにより、下位のビットデータの読み出しが可能となるように、アドレスを割り当てる
請求項４または５記載の情報処理装置。
【請求項７】
画像データを記憶する記憶部と、前記記憶部が接続される制御部とを有する情報処理装置において前記制御部が実行する情報処理方法であって、
前記記憶部から、画素毎に、最上位ビットおよび最下位ビットを含む複数ビットのビット列で現される階調値を有する複数の画素からなる原画像のデータを読み込む読込ステップと、
読み込んだ前記原画像のデータを変換し、変換後のビット列の任意のビット位置に格納される複数の画素のビットが該ビット位置での画像の起伏を表現するビットプレーンを構成する変換画像データを生成する変換ステップと、
変換ステップにより生成された前記変換画像データを前記記憶部に記憶させる記憶ステップと、
前記記憶部に記憶された変換画像データのビットプレーンを含む、時間的に前後する２個の変換画像データのビットプレーンを比較し、動きを推定する動き推定ステップと
を有し、
前記変換ステップでは、
前記原画像を複数の画素を含む複数のブロックに分割する分割工程と、
分割された当該ブロック毎に、各ブロック内の各画素の原画像での階調値を加算し、各画素について既に演算した、演算に係るビット位置より上位のビットの値による変換後のビット列が示す階調値を減算し、さらに、当該演算に係るビット位置の前記原画像での階調値を減算することにより、各ブロック内の複数の画素の階調値を積算する積算工程と、
前記積算工程により演算された当該ブロック毎の前記積算値が、０以上であるか否かを判断し、前記積算値が０以上である場合には、前記演算に係るブロックに対応する１ビットの値として、前記積算値が０以上のプラスであることを意味する１ビットの値を得て、前記積算値が０より小さい場合には、前記演算に係るブロックに対応する１ビットの値として、前記積算値が０より小さいマイナスであることを意味する１ビットの値を得る取得工程と
を有し、
前記分割工程、前記積算工程および前記取得工程により、前記変換後のビット列についての最上位ビットから順番に各ビット位置の１ビットの値を演算することにより、各ビット位置のビットプレーンを得る
情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、たとえば、２個の画像の間での動きを推定する情報処理装置および情報処理方法に関するものである。
【０００２】
【従来の技術】
従来、一般的に、それぞれが画素値を有する画素で構成される画像データを処理する情報処理装置が知られている。
たとえば、一般的な情報処理装置では、画素値を２のべき乗で展開して２進数で記憶、および所定の処理を行う。この場合、画素の階調値は、後述する数式１に含まれるＮｐ，Ｎｐ−１，・・・，Ｎ０の複数のビットのビット列となる。また、Ｎｐ，は、ＭＳＢであり、Ｎ０は、ＬＳＢである。
【０００３】
【発明が解決しようとする課題】
従来の情報処理装置において、一般的な画像の符号化では、複数の画素の最上位ビット（ＭＳＢ：Most  Significant  Bit）の集まりにより構成されるビットプレーンは画像の大きな起伏を表現しているという点で物理的な意味を持つものの、その他のビット位置のビットの集まりであるビットプレーンに物理的意味を見出すことは困難であった。
【０００４】
また、従来の一般的な画像では、当該その他のビット位置のビットによるビットプレーン毎の画像の構造をつかんだり、当該その他のビット位置のビットによるビットプレーン毎の動きを推定したりすることは困難であった。
また、符号化された画像を復号化するときに、階層的に画像を出力したり、特定のビットプレーンの画像のみを出力したりすることが困難で、画像を効率よく利用することが難しかった。
【０００５】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、画像の任意のビット位置のビットにより画像の構造を識別可能で、任意のビット位置のビットによるビットプレーンにより動きを推定することが可能な情報処理装置および情報処理方法を提供することである。
【０００６】
【課題を解決するための手段】
前記目的を達成するために、本発明の第１の態様に係る情報処理装置は、画素毎に、最上位ビットおよび最下位ビットを含む複数ビットのビット列で現される階調値を有する複数の画素からなる原画像のデータを変換し、変換後のビット列の任意のビット位置に格納される複数の画素のビットが該ビット位置での画像の起伏を表現するビットプレーンを構成する変換画像データを生成する変換部と、前記変換部により生成された前記変換画像データを記憶する記憶部と、前記記憶部に記憶された変換画像データのビットプレーンを含む、時間的に前後する２個の変換画像データのビットプレーンを比較し、動きを推定する動き推定部とを有し、前記変換部は、前記原画像を複数の画素を含む複数のブロックに分割する分割手段と、分割された当該ブロック毎に、各ブロック内の各画素の原画像での階調値を加算し、各画素について既に演算した、演算に係るビット位置より上位のビットの値による変換後のビット列が示す階調値を減算し、さらに、当該演算に係るビット位置の前記原画像での階調値を減算することにより、各ブロック内の複数の画素の階調値を積算する積算手段と、前記積算手段により演算された当該ブロック毎の前記積算値が、０以上であるか否かを判断し、前記積算値が０以上である場合には、前記演算に係るブロックに対応する１ビットの値として、前記積算値が０以上のプラスであることを意味する１ビットの値を得て、前記積算値が０より小さい場合には、前記演算に係るブロックに対応する１ビットの値として、前記積算値が０より小さいマイナスであることを意味する１ビットの値を得ることにより、当該積算値からブロック毎に１ビットの値を得る取得手段とを有し、前記分割手段、前記積算手段および前記取得手段により、前記変換後のビット列についての最上位ビットから順番に各ビット位置の１ビットの値を演算することにより、各ビット位置のビットプレーンを得る。
【０００７】
第１の発明の情報処理装置によれば、変換部は、各画素の階調値のビット列の最下位ビット以外の各ビットの値を複数の画素に共通する値へ変換する。これにより、画像の各画素の階調値は、ビット列の任意のビット位置に格納される複数の画素のビットが該ビット位置のレベルでの画像の起伏を表現するビットプレーンを構成する。また、動き推定部は、変換された画像データの複数のビットプレーンから１のビットプレーンを選択して比較し、動きを推定する。
【０００９】
好適には、前記変換部は、前記原画像を複数の画素を含む複数のブロックに分割し、前記ブロック毎のデータ変換処理により前記ブロック毎のデータを生成し、前記ブロック毎のデータは、前記ブロック内のすべての画素に共通し、該すべての画素の最上位ビットとして利用可能な、１個の１ビットのデータと、前記ブロックを複数個に分割した各分割ブロック内のすべての画素に共通し、該各分割ブロック内のすべての画素の中位ビットとして利用可能な、分割数と同数の１ビットのデータと、前記ブロック内の各画素に固有であり、各画素の最下位ビットとして利用可能な、前記ブロック内の画素数と同数の１ビットのデータとを含み、前記最上位ビットのビットプレーンは、前記原画像を分割するブロック数と同数のビットにより構成され、前記中位ビットのビットプレーンは、前記ブロックによる原画像の分割数に、前記分割ブロックによる各前記ブロックの分割数を乗算した個数のビットにより構成され、前記最下位ビットのビットプレーンは、前記原画像を分割するための複数の前記ブロックに含まれるすべての画素数と同数のビットにより構成されてもよい。
【００１２】
好適には、２個の前記変換画像データを比較する前記動き推定部は、比較に係る一方の前記変換画像データのビットプレーンの画像から、この画像を所定の方向へずらしたビットプレーンの画像を生成し、前記ずらした画像と比較に係る他方の前記変換画像データのビットプレーンの画像とを比較し、画像が重なる場合に、前記ずらし方向への動きがあると推定してもよい。
【００１３】
好適には、前記記憶部に記憶される変換画像データは、前記ブロック毎に集めて前記記憶部に記憶され、各ブロック内の複数のビットデータは、ビットプレーン毎に集めて、前記記憶部の正方形の記憶領域の対角線上に並べて記憶されてもよい。
【００１４】
好適には、前記記憶部に記憶される変換画像データは、前記ブロック毎に集めて前記記憶部に記憶され、各ブロック内の複数のビットデータは、対応する画素の配置に基づいて垂直方向および水平方向において４組に分けられ、各組毎に集めて、前記記憶部の正方形の記憶領域の対角線上に並べて記憶され、各ブロックの４組のビットデータは、共通する１個の前記正方形の記憶領域において対称的に配置されてもよい。
【００１５】
好適には、前記記憶部は、各ブロックのデータを記憶する前記正方形の記憶領域に対して、前記最上位ビットに対応するビットデータのアドレスに対して、所定の下位アドレスを追加することにより、下位のビットデータの読み出しが可能となるように、アドレスを割り当ててもよい。
【００１６】
本発明の第２の態様に係る情報処理方法は、画像データを記憶する記憶部と、前記記憶部が接続される制御部とを有する情報処理装置において前記制御部が実行する情報処理方法であって、前記記憶部から、画素毎に、最上位ビットおよび最下位ビットを含む複数ビットのビット列で現される階調値を有する複数の画素からなる原画像のデータを読み込む読込ステップと、読み込んだ前記原画像のデータを変換し、変換後のビット列の任意のビット位置に格納される複数の画素のビットが該ビット位置での画像の起伏を表現するビットプレーンを構成する変換画像データを生成する変換ステップと、変換ステップにより生成された前記変換画像データを前記記憶部に記憶させる記憶ステップと、前記記憶部に記憶された変換画像データのビットプレーンを含む、時間的に前後する２個の変換画像データのビットプレーンを比較し、動きを推定する動き推定ステップとを有し、前記変換ステップでは、前記原画像を複数の画素を含む複数のブロックに分割する分割工程と、分割された当該ブロック毎に、各ブロック内の各画素の原画像での階調値を加算し、各画素について既に演算した、演算に係るビット位置より上位のビットの値による変換後のビット列が示す階調値を減算し、さらに、当該演算に係るビット位置の前記原画像での階調値を減算することにより、各ブロック内の複数の画素の階調値を積算する積算工程と、前記積算工程により演算された当該ブロック毎の前記積算値が、０以上であるか否かを判断し、前記積算値が０以上である場合には、前記演算に係るブロックに対応する１ビットの値として、前記積算値が０以上のプラスであることを意味する１ビットの値を得て、前記積算値が０より小さい場合には、前記演算に係るブロックに対応する１ビットの値として、前記積算値が０より小さいマイナスであることを意味する１ビットの値を得る取得工程とを有し、前記分割工程、前記積算工程および前記取得工程により、前記変換後のビット列についての最上位ビットから順番に各ビット位置の１ビットの値を演算することにより、各ビット位置のビットプレーンを得る。
【００１７】
【発明の実施の形態】
以下、本発明の好適な実施の形態を、図面に関連付けて説明する。
第１の実施の形態
図１は、本発明に係る情報処理装置の第１の実施の形態を示すブロック図である。
本実施の形態に係る情報処理装置１は、図１に示すように、原画像記憶部２、ビットプレーン記憶部３、および制御部４を有する。
原画像記憶部２およびビットプレーン記憶部３は、制御部４に接続されている。
【００１８】
原画像記憶部２は、たとえば、処理対象となる画像データ（単に画像とも言う）である原画像を記憶する。
ビットプレーン記憶部３は、たとえば、後述するように制御部４の所定の処理により、原画像に基づいて生成された、各階層のビットプレーンのデータを記憶する。
【００１９】
また、後述するように、各ビットプレーンは、異なる大きさのブロックで構成され、ＭＳＢに対応するビットプレーンに近いビットプレーンほど大きいブロックで構成される。
また、ＭＳＢに対応するビットプレーンに近いビットプレーンほど、ブロックのサイズが大きくなり、そのビットプレーンとしての情報量は小さくなる。
【００２０】
制御部４は、原画像に基づいて後述する所定の処理を行い、ビットプレーンを生成する。
制御部４は、生成されたビットプレーンに基づいて所定の処理、たとえば動き推定を行う。
制御部４は、生成したビットプレーンを、ビットプレーン記憶部３に記憶する。具体的には、制御部４は、ビットプレーンを、ビットプレーン記憶部３に、書き込みおよび読み出す。
【００２１】
図２（ａ）は、一般的な情報処理装置により処理される画像データに関するビットプレーンを模式的に示す図である。図２（ｂ）は、図１に示した情報処理装置により生成される画像データに関するビットプレーンを模式的に示す図である。
【００２２】
図２（ａ），（ｂ）では、横軸は画像の水平方向、縦軸は画像の垂直方向、高さ方向は画像の画素の、たとえば輝度の階調の方向（レベル方向とも言う）を示す。
【００２３】
画像データは、画素毎に、その画素値の２進数表示に対応して、２のべき乗の値（２n  ）を高さ（階調方向の大きさ）として持つブロックの積み重ねにより表現される。
画素値は、たとえば、一般的に数式（１）に示すように、２のべき乗の値で記述することができる。
【００２４】
【数１】
Ｎp ２p ＋Ｎp-1 ２p-1 ＋Ｎp-2 ２p-2 ＋ … ＋Ｎ2 ２2 ＋Ｎ1 ２1 ＋Ｎ0 ２0
…（１）
【００２５】
ここで、Ｎp  〜Ｎ0  それぞれは、０または１である。また、Ｎp  はＭＳＢ（Most  Significant  Bit）、Ｎp-1  はセカンドＭＳＢ、…、Ｎ0  はＬＳＢ（Least  Significant  Bit  ）と言う。また、各ビットに対応する重み付けは、２p  ，２p-1  ，２p-2  ，…，２2  ，２1  ，２0  である。
【００２６】
ビットプレーンについて、図２（ａ），（ｂ）に示すような階調で表現される画像データを参照しながら説明する。
【００２７】
この画像は、たとえば画素値（輝度とも言う）が８階調（＝３ビット）であり、図２（ａ）に示すように、第１のブロックｂ１、第２のブロックｂ２、第３のブロックｂ３により構成される。また、この場合には、画素値（輝度）は、数式（２）で示すように表現される。
【００２８】
【数２】
Ｎ2 ２2 ＋Ｎ1 ２1 ＋Ｎ0 ２0
…（２）
【００２９】
Ｎ2  ，Ｎ1  ，Ｎ0  それぞれは、０または１である。ここで、第１のブロックｂ１の、レベル方向の大きさは、４（＝２2  ）に相当し、第２のブロックｂ２の大きさは２（＝２1  ）に相当し、第３のブロックｂ３の大きさは１（＝２0  ）に相当する。
また、第１〜３のブロックは、面内において、水平方向、垂直方向、共に、１（単位）の大きさ（スケール）を持つ。つまり、１画素につき、ブロックｂ１，ｂ２，ｂ３がそれぞれ１つずつ対応している。
【００３０】
上述したように、この画像の画素値（輝度）のレベルは、数式（２）に示すように、Ｎ2  ，Ｎ1  ，およびＮ0  を用いて表現できる。この場合、Ｎ2  はＭＳＢ、Ｎ1  はセカンドＭＳＢ、Ｎ0  はＬＳＢと言う。
上述した場合には、ビットプレーンは、画素毎の画素値の、Ｎ2  ，Ｎ1，Ｎ0  それぞれで構成される。
【００３１】
一方、本実施の形態に係る情報処理装置１では、画像を、たとえば図２（ｂ）に示すように、所定の大きさのブロックの加算により表現する。
たとえば、このブロックは、レベル方向、ならびに、画素の面内の水平方向および垂直方向において、同じ大きさである。
【００３２】
より具体的には、このブロックは、レベル方向、ならびに、画素の面内の水平方向、および垂直方向に、２のべき乗の値（２n  ）の大きさである。
本実施の形態に係る情報処理装置１は、原画像を上述のブロックを加算することにより、所定の処理を行う。
【００３３】
画像は、一具体例として、図２（ｂ）に示すように、第１のブロックＢ１、第２のブロックＢ２、および第３のブロックＢ３で構成される。
【００３４】
この画像では、たとえば、第１のブロックＢ１は、レベル方向、水平方向、垂直方向、共に４（＝２2  ）の大きさ、第２のブロックＢ２は、レベル方向、水平方向、垂直方向、共に２（＝２1  ）の大きさ、第３のブロックＢ３は、レベル方向、水平方向、垂直方向、共に１（＝２0  ）の大きさである。
【００３５】
画像は、階調値を有する複数の画素により表現される。
また、図２（ｂ）に示すように、第１のブロックＢ１によりカバーされる４×４のスケールの１６画素については、この第１のブロックＢ１が共通のＭＳＢになっている。また、複数の第１のブロックＢ１により、ＭＳＢビットのビットプレーンが構成される。
【００３６】
また、第２のブロックＢ２によりカバーされる２×２のスケールの４画素については、この第２のブロックＢ２が共通のセカンドＭＳＢになっている。また、複数の第２のブロックＢ２により、セカンドＭＳＢビットのビットプレーンが構成される。
上述したように、本実施の形態に係る情報処理装置１では、所定のブロックの内の複数の画素のビットデータは、同じ値を有する。
【００３７】
また、ＭＳＢビットのブロックの大きさ（スケール）は、上述した形態に限られるものではない。たとえば、ＭＳＢビットのブロックの大きさ（スケール）は、原画像の階調の数に応じた大きさのブロックを設けてもよい。たとえば、原画像が８ビット（＝２５６）の階調の場合には、レベル方向、水平方向、垂直方向に大きさが、７ビット（＝１２８）となるＭＳＢビットのブロックを設けてもよい。
【００３８】
図３（ａ）は、階調レベル方向のビットの解釈の仕方、具体的にはプラス方式のビットの解釈の仕方のイメージを示す図である。図３（ｂ）は、階調レベル方向のビットの解釈の仕方のイメージ、具体的には、バランス方式のビットの解釈の仕方のイメージを示す図である。
図３（ａ），（ｂ）において、縦軸は階調方向（レベル方向とも言う）、横軸は水平方向または垂直方向（スケール方向）である。
【００３９】
各ビットブレーンのブロックを、レベル方向にどう解釈するかを図３（ａ），（ｂ）を参照しながら説明する。
プラス方式では、たとえば所定の画素値として、０１００１ｘｘｘという８ビットの階調値のビット列は、数式（３）に示すように表すことができる。プラス方式では、ビットデータの値が０は０、ビットデータ１は１に対応する。この場合、ビット列は、０から２５５の階調値を取り得る。階調値の範囲の中央値は、１２７である。
【００４０】
【数３】
value＝０×１２８＋１×６４＋０×３２＋０×１６＋１×８＋…
…（３）
【００４１】
一方、バランス方式では、たとえば所定の画素値として、０１００１ｘｘｘという８ビットの階調値のビット列は、数式（４）に示すように表すことができる。
【００４２】
【数４】
value＝１２７＋（−１）×６４＋１×３２＋（−１）×１６＋（−１）×８＋１×４＋…
…（４）
【００４３】
バランス方式では、ビットデータ０はマイナス（−１）、ビットデータ１はプラス（＋１）に対応する。
バランス方式では、たとえば上述したビット列は、各ビットプレーンのビットデータが０ならばマイナスを、ビットデータが１ならばプラスを各ビットプレーンに対応するレベル方向の大きさに乗じて、ビットプレーンに対応した値に順次、加算していく。
【００４４】
一般の画像に関する動き推定では、バランス方式の方が、複数の画素のビットが該ビット位置のレベルでの画像の起伏を表現するビットプレーンを構成するという意味で、プラス方式に比べて、有利である。
【００４５】
図４は、図１に示した情報処理装置の動作を説明するためのフローチャートである。情報処理装置１のエンコードの動作を、図４を参照しながら説明する。
まず、エンコード処理の概略を説明する。
【００４６】
制御部４は、原画像から、ＭＳＢに対応するビットプレーンを生成（分離とも言う）する。
次に、制御部４は、原画像から、ＭＳＢに対応するビットプレーンを分離（減算）した画像から、セカンドＭＳＢに対応するビットプレーンを分離する。
【００４７】
次に、制御部４は、原画像から、ＭＳＢに対応するビットプレーン、およびセカンドＭＳＢに対応するビットプレーンを分離した画像から、次のビットに対応するビットプレーンを分離する。
そして、制御部４は、同様な処理を順に再帰的に処理して、次のビットに対応するビットプレーンを分離する。
すなわち、制御部４は、ＭＳＢに対応するビットブレーンから順番に、ビットブレーン毎に、図４の処理を実行する。また、制御部４は、図２（ｂ）に示すように、ビットブレーン毎の処理が進む毎に、ブロックによる分割数を増やして、図４の処理を実行する。
【００４８】
制御部４の動作の一具体例を、図４に示すフローチャートを参照しながら説明する。ここでは、制御部４が、原画像からビットプレーンｉを生成（分離）する処理を説明する。
ビットプレーンｉは、処理対象のビットプレーンである（ＳＴ１１）。
【００４９】
ステップＳＴ１２において、制御部４は、原画像を、ビットプレーンｉに対応する所定の大きさ（スケール）のブロックに分割し、そのブロックを単位とした処理を行う。
具体的には、このブロックのサイズｓｂｌｏｃｋは、階調のレベル方向、水平方向、および垂直方向（スケール方向）それぞれが同じ大きさである。制御部４は、ビットプレーンｉに対応してブロックのサイズ（スケール）を、たとえば３２＞＞ｉ（つまり、３２×（１／２）i  ）の大きさ（スケール）となるように設定する。
【００５０】
ステップＳＴ１３において、制御部４は、ビットプレーンｉ内の、上述した所定の大きさのブロック毎に処理を行う。
ステップＳＴ１４において、制御部４は、処理対象のブロックの内の画素を、たとえばラスタ順に画素毎に処理を行う。
制御部４は、初期値として、処理対象のブロックの変数ＳＵＭを０に設定する。
【００５１】
ステップＳＴ１５において、制御部４は、変数ＳＵＭに、原画像での当該選択に係る画素の画素値を加算する。
【００５２】
ステップＳＴ１６において、制御部４は、変数ＳＵＭから、当該画素について既に演算した、演算に係るビットより上位のビットの値が示す変換後のビット列の階調値（上位のビットのみにより表される部分的な階調値）を減算し、さらに、当該演算に係るビットのビット位置が原画像において示す階調値を減算する。
ここで、図４の処理はＭＳＢに対応するビットプレーンから順番に演算している。
そのため、たとえばＭＳＢブロックの値を減算する場合、当該画素について既に演算した変換後のビット列の階調値は無い。よって、制御部４は、変数ＳＵＭから、８ビットの原画像の最上位ビットの階調値であるたとえば１２８を減算する。
また、たとえばセカンドＭＳＢに対応するビットプレーンの処理では、既に演算したＭＳＢに対応するビットプレーンの当該画素の値が存在する。よって、制御部４は、変数ＳＵＭから、当該変換後のＭＳＢが示す階調値を減算する。さらに、制御部４は、８ビットの原画像のセカンドＭＳＢの階調値であるたとえば６４を減算する。
【００５３】
ステップＳＴ１７において、制御部４は、処理対象のブロックの内の全ての画素についての積算処理が完了したか否かを判断し、処理が完了している場合には、ステップＳＴ１８の処理に進む。
一方、処理対象のブロックの内の画素について、処理を行っていない画素があると判別された場合には、次の画素に処理対象の画素を移し、ステップＳＴ１５の処理に進む。
【００５４】
ステップＳＴ１８において、制御部４は、変数ＳＵＭの値に応じて、ビットプレーンｉの対応するブロックのビットの値を生成する。
具体的には、上述した処理の結果の画像の平均の画素値（変数ＳＵＭの値）が、０以上の場合には、ビットプレーンｉの対応するブロックのビットの値を１に、変数ＳＵＭの値が０よりも小さい場合には、ビットプレーンｉの対応するブロックのビットの値を０にする。
【００５５】
ステップＳＴ１９において、制御部４は、ビットプレーンｉの内の全てのブロックについて、上述の処理を行った場合には、一連の処理を終了し、まだ処理していないブロックがある場合には、処理対象のブロックを次のブロックに設定し、ステップＳＴ１４の処理に進む。
【００５６】
図５（ａ）は、図１に示した情報処理装置が画像の画素値に応じてビットデータを生成する動作の一具体例を説明するための図である。図５（ｂ）は、図５（ａ）に示したビットデータを生成する動作を説明するための図である。図５（ｃ）は、図５（ａ）に示したビットデータを生成する動作を説明するための図である。
図５（ａ），（ｂ）において、縦軸は画素値、横軸は、たとえば水平方向または垂直方向の画素である。
【００５７】
原画像での画素の画素値が８ビット（０〜２５５）の場合に、各ビットプレーンのブロックのビットデータに関して説明する。
【００５８】
たとえば、図５（ａ）に示すように、所定の大きさのブロックの内の画素の画素値の平均値が、所定の大きさよりも大きい場合には、そのブロックのビットデータを１と設定する。
【００５９】
具体的には、たとえば最上位ビットのビットプレーンｉ＝１の場合、垂直方向×水平方向×高さの大きさが１２８×１２８×１２８のブロックを設定し、原画像についてのそのブロックの内の画素の画素値の平均値が、原画像の最上位ビットが示す階調値（ここではたとえば１２８）よりも大きい場合には、変換後のそのブロック内の各画素の最上位のビットデータを１と設定する。
【００６０】
次に、たとえば上位から２番目のビットプレーンｉ＝２の場合、図５（ｂ）に示すように、ブロックの大きさを垂直方向×水平方向×高さの大きさが６４×６４×６４のブロックを設定し、原画像についてのそのブロックの内の画素の画素値の平均値から、既に演算した変換後の最上位ビットの値による変換後のビット列の階調値（例えば０または１２８）を減算し、その減算処理後の値が、原画像での上位から２番目のビットの階調値（ここでは例えば６４）よりも小さい場合には０、当該階調値値よりも大きい場合には１を、変換後のそのブロック内の各画素の２番目のビットデータとする。
そして、同様な処理により、再帰的に下位のビットプレーンの各ブロックのビットデータを生成する。
【００６１】
上述したバランス方式により生成される各画素のビットデータを、図５（ｃ）示した２分木を用いて説明する。
すなわち、各画素の原画像での画素値が０〜２５５の階調を示す場合には、最上位ビットの値として、たとえば１２８を基準として所定の大きさのブロックの平均値が、１２８よりも小さい場合には０のビットデータを、１２８よりも大きい場合には１のビットデータを生成する。
【００６２】
そして、演算順において次となる下位のビットプレーンのブロックのビットデータは、ブロック内の複数の画素の階調値の平均値から、演算済みの変換後の上位のビットデータが示す部分的な階調値を引いた値が、所定の値よりも大きいか否かに応じて生成される。
そして、順にビットデータを生成していく。
【００６３】
図６は、図１に示した情報処理装置で生成される原画像および各ビットプレーンの一具体例を示す図である。
【００６４】
図６（ａ）は、原画像を示す図、図６（ｂ）は、レベル方向、垂直方向、および水平方向のブロックサイズが３２であるビットプレーンを示す図、図６（ｃ）は、ブロックサイズ１６であるビットプレーンを示す図、図６（ｄ）は、ブロックサイズが８であるビットプレーンを示す図である。
【００６５】
図７（ａ）は、レベル方向、垂直方向、および水平方向のブロックサイズが４であるビットプレーンを示す図、図７（ｂ）は、ブロックサイズが２であるビットプレーンを示す図、図７（ｃ）はブロックサイズが１であるビットプレーンを示す図である。
【００６６】
図６（ｂ）〜（ｄ）、図７（ａ）〜（ｃ）に示すように、ブロックのサイズが小さくなると、画像の細部が明確になる。たとえば、ワインの瓶の輪郭や、その他の物体の輪郭がより明確に表示される。
このように、ビットプレーンそれぞれは、そのブロックの大きさに応じた物理的な意味を有すると考えることができる。
【００６７】
上述したように、制御部４は、各画素毎に画素値を有する原画像に基づいて、画素の階調値のビット列のビット位置毎に、複数の画素の同じビット位置のビットデータで構成されるビットプレーンを生成する。この場合、制御部４は、原画像を所定の大きさのブロックに分割し、ブロック毎に、当該ブロック内の複数の画素の画素値に応じて１個のビットデータを生成し、ブロック毎に生成されたビットデータに基づいてビットプレーンを生成するので、画像を効率よく、圧縮することができる。たとえばＭＳＢビットのビットプレーンは、原画像では画素数と同数のビット数であっものが、この実施形態ではブロック数に減っている。
【００６８】
また、上述したように、制御部４では、たとえば原画像に基づいて、原画像の内の画素の画素値に基づいて、所定の大きさのブロック毎に１ビットのビットデータを生成する。この際、制御部４は、図２（ｂ）に示すように、最上位ビット（ＭＳＢ）に対応するブロックから、各ブロックまでの距離（Significance：ＭＳＢからどれだけ離れているか）に応じて、そのブロックが包括する画像領域中のスケール（包含する画素の範囲）を段階的に減らすようにブロックを生成するので、画像を効率よく利用することができる。
【００６９】
また、制御部４は、図２（ｂ）に示すように、水平方向、垂直方向、階調レベル方向に持つ大きさが全て同じになるようなブロックに基づいて、所定の処理を行い、ブロック毎に生成した１ビットのビットデータの集まりによりビットプレーンを生成するので、より効率よく画像を利用することができる。
【００７０】
また、制御部４は、バランス方式により、原画像に基づいて、複数のビットプレーンを生成することにより、ビットプレーン毎により効率よく画像を利用することができる。
【００７１】
図８は、図１に示した情報処理装置の動作を説明するためのフローチャートである。情報処理装置の動作、特にビットプレーンｉを合成する動作を図８を参照しながら説明する。
まず、合成処理の概要を説明する。
【００７２】
制御部４は、出力先となる画像領域に、ＭＳＢに対応するビットプレーンをコピーする。
制御部４は、この画像に、セカンドＭＳＢに対応するビットプレーンを加算する。
制御部４は、この画像に、次のビットに対応するビットプレーンを加算する。
制御部４は、順次、次のビットに対応するビットプレーンを加算する。
制御部４は、上述した処理を、再帰的に処理することにより、全てのビットプレーンを合成して原画像を生成（復元）する。
【００７３】
情報処理装置１の動作の一具体例を制御部４の動作を中心に、図８に示すフローチャートを参照しながら説明する。
ビットプレーンｉについて処理を行う（ＳＴ２１）。制御部４は、画素を、たとえばラスタ順に所定の処理を行う。
【００７４】
ステップＳＴ２２において、制御部４では、所定の処理の最初の画素において、まず、変数ＳＵＭ＝１２７が設定される。１２７は、式（４）に示すように、８ビットのビット列で現すことができる階調値の範囲の中央の値である。
【００７５】
ステップＳＴ２３において、制御部４は、各ビットプレーンｋ（ｋ＝０，１，２，…，ｉ−１）での画素値が、変数ＳＵＭに加算される。
具体的には、たとえば最上位のビットプレーンでは、６４を基準値として、基準値に各ビットプレーンの値（＋６４または−６４）を加算した値が変数ＳＵＭに加算される。このようにして、式（４）の演算処理が実行される。
【００７６】
ステップＳＴ２４において、制御部４では、処理対象のビットプレーンの内に、処理していない画素がある場合には、次の画素を処理対象の画素とし、ステップＳＴ２３の処理に戻る。
【００７７】
一方、ステップＳＴ２４において、制御部４では、処理していない画素がない場合には、一連の処理を終了する。
上述したように、制御部４は、画素それぞれの、上位のビットプレーン０〜ｉ−１のビットデータに基づいて合成し、デコードする。
【００７８】
次に、原画像に基づいて生成した各ビットプレーンを、合成（デコード）して、原画像を復元する動作を図を用いて説明する。
図９は、図１に示した情報処理装置で生成された各ビットプレーンに基づいて行ったデコード処理の一具体例を示す図である。図９（ａ）は、階調方向（レベル方向）、水平方向、垂直方向のブロックサイズが３２のビットプレーンを示す画像である。
【００７９】
図９（ｂ）は、図９（ａ）に示した画像に、ブロックサイズが１６のビットプレーンを加算した画像である。図９（ｃ）は、図９（ｂ）に示した画像にブロックサイズが８のビットプレーンを加算した画像である。図９（ｄ）は、図９（ｃ）に示した画像にブロックサイズが４のビットプレーンを加算した画像である。
図９（ａ）から図９（ｄ）に示すように、ブロックのサイズが大きいビットプレーンに、ブロックサイズが小さいビットプレーンを順に合成（デコード）すると、細部が明確な画像を生成することができる。
【００８０】
階調方向、水平方向、垂直方向のブロックサイズが小さいビットプレーンまで合成した場合には、原画像と比較して、一定の忠実度で表現することが可能である。
【００８１】
以上、説明したように、制御部４は、出力先となる画像領域に、ＭＳＢに対応するビットプレーンをコピーし、この画像にセカンドＭＳＢに対応するビットプレーンを加算し、この画像に次のビットに対応するビットプレーンを加算する。そして、順次、次のビットに対応するビットプレーンを加算し、上述した処理を、再帰的に処理することにより、全てのビットプレーンを合成して原画像を生成（復元）することができる。
【００８２】
情報処理装置１は、たとえば、原画像に基づいて生成されたビットプレーンに基づいて、所定の処理、たとえば画像内のオブジェクト等の動きを推定する。
たとえば、制御部４は、時刻ｔのフレームの画像、および時刻ｔ＋１のフレームの画像それぞれに基づいて、上述したようにビットプレーンを生成し、ビットプレーンに基づいて動きの推定を行う。
【００８３】
図１０は、図１に示した情報処理装置の動作、特に、動き推定ベクトルを説明するための図である。図１０（ａ）は時刻ｔのフレームを示す図、図１０（ｂ）は時刻ｔ＋１のフレームを示す図、図１０（ｃ）は図１０（ａ）に示したフレームから抽出した特定のビットプレーンを示す図である。図１０（ｄ）は図１０（ｂ）に示したフレームから抽出した特定のビットプレーンを示す図である。図１０（ｅ）は図１０（ｃ）に示した特定のビットプレーンの、ビットプレーン記憶部３における記憶状態を模式的に示す図である。図１０（ｆ）は図１０（ｄ）に示した特定のビットプレーンの、ビットプレーン記憶部３における記憶状態を模式的に示す図である。
【００８４】
情報処理装置１の動き推定を行う処理を、図１０（ａ）〜（ｆ）を参照しながら説明する。
制御部４は、比較したい２フレームの画像から、特定のビットプレーンを抽出し、抽出したビットプレーンを比較し、比較の結果に基づいて２フレーム間の動き推定を行う。
【００８５】
具体的には、制御部４は、たとえば図１０（ａ）に示すように時刻ｔのフレームの画像に応じたビットプレーン、および図１０（ｂ）に示すように時刻ｔ＋１のフレームの画像に応じたビットプレーンから、所定のビットプレーン、たとえば図１０（ｃ）および図１０（ｄ）に示すように、ブロックのサイズが２×２で構成されるビットプレーンを抽出する。
【００８６】
ここで、ビットプレーン記憶部３では、上述の２×２の大きさのブロックは、図１０（ｅ），（ｆ）に示すように、１×１のサイズのブロックとして記憶されている。
【００８７】
ビットプレーン記憶部３が、このブロックを表現するのに必要な情報量は１ビットであり、ビットの高さ方向にもサイズが１である。
ビットプレーン記憶部３では、内部空間において、このブロックの移動を「１アドレスの移動」、画素に相当する単位も「アドレス」と呼ぶ。
【００８８】
図１１は、図１に示した情報処理装置の動作、特に、動き推定の動作を説明するための図である。
ここでは、説明のため左右方向の動きのみを推定する。
【００８９】
図１１（ａ１）は、図１０（ｅ）に示したビットプレーン記憶部３に記憶されている時刻ｔの所定のビットプレーンを、仮想的に、向かって右方向に１アドレスずらした状態を模式的に示す図である。
【００９０】
図１１（ａ２）は、図１０（ｅ）に示したビットプレーン記憶部３に記憶されている時刻ｔの、所定のビットプレーンを模式的に示す図である。
図１１（ａ３）は、図１０（ｅ）に示したビットプレーン記憶部３に記憶されている時刻ｔの所定のビットプレーンを、仮想的に、向かって左方向に１アドレスずらした状態を模式的に示す図である。
【００９１】
図１１（ｂ）は、図１０（ｆ）に示したビットプレーン記憶部３に記憶されている時刻ｔ＋１の所定のビットプレーンを模式的に示す図である。
【００９２】
制御部４は、動き推定を行うために、たとえば図１１（ａ２）に示した時刻ｔの所定のビットプレーンの状態から、図１１（ａ１）に示すように向かって右方向に１アドレスずらした状態、および図１１（ａ３）に示すように向かって左方向に１アドレスずらした状態を仮想的に生成する。
【００９３】
そして、制御部４は、上述した時刻ｔの所定のビットプレーン、および、左右方向に１アドレスずらしたビットプレーンを、図１１（ｂ）に示した時刻ｔ＋１の所定のビットプレーンと比較する。
【００９４】
図１１（ａ１１）は、制御部が図１１（ａ１）に示したビットプレーンと、図１１（ｂ）に示した時刻ｔ＋１のビットプレーンとを比較した状態を模式的に示す図である。
図１１（ａ２１）は、制御部が図１１（ａ２）に示したビットプレーンと、図１１（ｂ）に示した時刻ｔ＋１のビットプレーンとを比較した状態を模式的に示す図ある。
図１１（ａ３１）は、制御部が図１１（ａ３）に示したビットプレーンと、図１１（ｂ）に示した時刻ｔ＋１のビットプレーンとを比較した状態を模式的に示す図である。
【００９５】
制御部４では、所定の方向に動きを推定するために、図１１（ａ１１），（ａ２１），（ａ３１）に示すように、仮想的な時刻ｔの所定のビットプレーンの状態と、図１１（ｂ）に示した時刻ｔ＋１のビットプレーンを比較する。
図１１（ａ１１），（ａ２１），（ａ３１）において、白抜きの矩形は、図１１（ｂ）に示した時刻ｔ＋１の状態を示す。
【００９６】
制御部４は、たとえばＸＯＲ（排他的論理和）の演算などを行い、上述の比較の処理を行う。
制御部４は、比較の結果、時刻ｔ＋１の所定のビットプレーンのブロックと、時刻ｔでの仮想的なビットプレーンのブロックとが、できるだけ重なるような状態を、時刻ｔ〜ｔ＋１への動きとして判別する。
【００９７】
図１１（ａ１２）は、制御部による、図１１（ａ１１）に示したビットプレーンと、図１１（ｂ）に示した時刻ｔ＋１のビットプレーンとの比較の結果を模式的に示す図である。
【００９８】
図１１（ａ２２）は、制御部による、図１１（ａ２１）に示したビットプレーンと、図１１（ｂ）に示した時刻ｔ＋１のビットプレーンとの比較の結果を模式的に示す図である。
図１１（ａ３２）は、制御部による、図１１（ａ３１）に示したビットプレーンと、図１１（ｂ）に示した時刻ｔ＋１のビットプレーンとの比較の結果を模式的に示す図である。
【００９９】
制御部４は、図１１（ａ１２），（ａ２２），（ａ３２）に示すように、時刻ｔの右に１アドレス動かした場合が、もっとも図１１（ｂ）と重ねた場合の誤差が小さいために、動きが右向きに１アドレスであると推定する。
【０１００】
制御部４は、ビットプレーン記憶部３の内で、ブロックの大きさが２であるために、左右に１アドレス分だけ動かして、比較することで、左右方向に２画素の動きを推定することができる。
【０１０１】
同様に、制御部４は、２のべき乗の動き推定ならば、ビットプレーン記憶部３の内の１アドレス分の移動だけで、ビットプレーンを比較し、比較の結果に応じて、動き推定を行うことができる。
【０１０２】
また、２フレームの間で、たとえば、オプティカルフローを求めるなど、動き推定をする際に、特定のビットプレーンのみを利用することが可能である。
また、制御部４は、画像の中に、複数の動きが存在する場合であっても、別々の動きとして捉えることが可能である。
また、上述したように、制御部４は、ビットプレーンがレベル方向の階層性と同時に、空間的な階層性をもっているため、ビットプレーン毎の画像の構造をつかんだり、ビットプレーン毎に動き推定をしたりすることができる。
【０１０３】
第２の実施の形態
図１２は、本発明に係る情報処理装置の第２の実施の形態を示すブロック図である。
【０１０４】
本実施の形態に係る情報処理装置１ａは、図１２に示すように、第１の実施の形態に係る情報処理装置とほぼ同様な構成をしている。相違点は、情報処理装置１ａのビットプレーン記憶部３ａが、後述するようにビットプレーンを具体的に記憶する構成を有する点である。
まず、ビットプレーンを効率よく記憶するための概略を図を参照しながら説明する。
【０１０５】
図１３は、図１２に示した情報処理装置の画像の記憶を説明するための図である。図１３（ａ）は、StandardＴＶのサイズの画像を格納する際に必要なメモリ空間（記憶領域）を示す図である。図１３（ｂ）は、図１３（ａ）に示したメモリの分割を模式的に示す図である。
【０１０６】
情報処理装置１ａは、画像の画素それぞれが、たとえば、８ビットすなわち２５６通りの階調の画素値を有する場合には、その半分の７ビットすなわち１２８×１２８画素の大きさ（スケール）のブロックを、最大ブロックとして記述する必要がある。
【０１０７】
このため、情報処理装置１ａは、画面上では、１２８ピクセル×１２８ピクセルの記憶領域を１つの最大サイズのブロックとして、所定の処理を行う。
たとえば、情報処理装置１ａは、図１３（ａ）に示すように、StandardＴＶ（７２０×５７６）サイズの画像を格納する場合には、この１２８ピクセル×１２８ピクセルの最大サイズのブロックの記憶領域が３０枚必要になる。
【０１０８】
情報処理装置１ａは、図１３（ｂ）に示すように、この３０枚を１画面分として、ビットプレーン記憶部３ａ（メモリ）を構成する。
【０１０９】
図１４（ａ）は、１個の最大ブロックについて生成される複数のビットプレーンを模式的に示す図である。図１４（ｂ）は、図１４（ａ）に示した複数のビットプレーンについての、情報処理装置の記憶領域に対するデータレイアウトを説明するための図である。
【０１１０】
本実施の形態に係る情報処理装置１ａにおいて、ビットプレーン記憶部３ａは以下の特徴を有する。なお、ここでは、一具体例として、上述したように８ビットの画素値データを表現するために、１２８×１２８の大きさ（スケール）のブロックを最大ブロックとして説明する。
【０１１１】
情報処理装置１ａは、たとえば、所定の原画像に基づいて、図１４（ａ）に示すように、所定の大きさのブロックで構成されるビットプレーンを生成する。
また、情報処理装置１ａは、図１４（ｂ）に示すように、ブロック内の８ビットのビット列の各ビット位置に対応する各ビットプレーンのデータを、対角的に展開する。
また、情報処理装置１ａは、非対角部分には、付加的な情報、たとえば対角成分に関する情報等を記憶させる。
【０１１２】
より具体的には、図１４（ａ），（ｂ）に示すように、１×１の大きさのブロックで構成されるＬＳＢのビットプレーンでは、１２８×１２８個のビットデータを有し、２×２の大きさのブロックで構成されるビットプレーンでは、６４×６４個のビットデータを有し、４×４の大きさのブロックで構成されるビットプレーンでは、３２×３２個のビットデータを有し、８×８の大きさのブロックで構成されるビットプレーンでは、１６×１６個のビットデータを有し、１６×１６の大きさのブロックで構成されるビットプレーンでは、８×８個のビットデータを有し、３２×３２の大きさのブロックで構成されるビットプレーンでは、４×４個のビットデータを有し、６４×６４の大きさのブロックで構成されるビットプレーンでは、２×２個のビットデータを有し、１２８×１２８の大きさのブロックで構成されるＭＳＢのビットプレーンでは、１×１個のビットデータを有する。
【０１１３】
そして、図１４（ｂ）に示すように、複数のビットプレーンのビットデータは、四角形の記憶領域の一組の対角線上に並べられ、１２８＋１２７ビット＝２５５ビットのメモリを構成する。
【０１１４】
データの格納
図１５（ａ）は、１個のブロックのデータを対称的に格納するためのデータの格納方法を説明するための図である。図１５（ｂ）は、図１５（ａ）で示した１個のブロックのデータを４分割して、対称に配置したデータの格納レイアウトを説明するための図である。
【０１１５】
たとえば、図１４（ｂ）で示したデータ格納形式では、図１４（ｂ）の正方形の記憶領域に対して非対称であるので、データを取り扱いにくい。このため、１ピクセル分の記憶領域を付加し、それぞれのビットプレーンをさらに分割、たとえば、４分割することにより、対称な形で扱うように格納する。
【０１１６】
簡単な説明のために、１５×１５サイズ（スケール）のブロックの場合を説明する。
たとえば、図１５（ａ）に示すように、メモリは、８×８個のビットデータＡ、４×４個のビットデータＢ、２×２個のビットデータＣを有し、非対角要素には、たとえば各ビットデータの付加情報が格納される。
付加情報は、たとえば、上述したビットプレーンそれぞれを合成して、元の原画像を生成する際に、正確に再現するために用いられるデータである。
【０１１７】
また、図１５（ａ）に示すように、１５×１５の大きさのデータの格納形式では、非対称であるために、データを取り扱いにくい。このため、１ピクセル分のアドレスを付加し、１６×１６の大きさのデータを格納する。
【０１１８】
そして、図１５（ａ）に示したビットデータＡ，Ｂ，Ｃを、図１５（ｂ）に示すように４分割して再構成する。
こうすることにより、全面をアクセスするアドレスを発生する必要がない。
【０１１９】
また、図１５（ａ），（ｂ）に示すように、非対角要素に、ブロックそれぞれの付加的な情報を記憶するために、２枚分の領域を使用することができる。
【０１２０】
アドレス構造
図１６は、図１５（ｂ）に示したデータの格納形式によるアドレス構造を説明するための図である。
ビットプレーンそれぞれのデータが、たとえば図１５（ａ）に示したように、４分割構造を有する。このため、アドレス構造は、図１６に示すように、１：４のツリー（Ｔｒｅｅ）構造になり、１つ前のアドレスを上位ビットとして、最下位ビットを追加して、アドレスを生成することができる。
【０１２１】
上述したメモリ構造において、たとえば、１画面は３０枚のメモリで構成され、各メモリは同一アドレスで、同一のビットプレーンにアクセスできる４つのブロックに分割される。
【０１２２】
また、上述したメモリ構造では、各ビットプレーンに対応付けられているアドレスは、上位のビットプレーンにアクセスするアドレスから、自動的に生成できるので、ビットプレーンの階層関係をそのまま読み出すことができる。
【０１２３】
上述した特徴を有するビットプレーン記憶部３ａの一具体例を、図を参照しながら説明する。
図１７は、図１２に示した情報処理装置１ａのビットプレーン記憶部３ａの一具体例を示すブロック図である。
【０１２４】
情報処理装置１ａのビットプレーン記憶部３ａは、階層アドレス発生回路３１、ビットプレーンアドレス発生回路３２、階層／ビットプレーンアクセス切替回路３３、小メモリ３４、出力メモリ切替／出力回路３５を有する。
【０１２５】
階層アドレス発生回路３１は、メモリの階層的なアクセスのための階層アドレスを生成して出力する。
階層アドレス発生回路３１の階層アドレスの生成に関して、図１６を参照しながら説明する。
【０１２６】
最大ブロックのデータは、ビットデータＣで示された（１１）、（２進法による表記、以下同様に記述する）にデータが格納されている。
【０１２７】
このビットデータＣに対応する上位階層のデータは、ビットデータＢで示された部分に格納されている４つのデータで、それぞれ、
（１０，１０），（１０，１１），（１１，１０），（１１，１１）
に格納されている。
【０１２８】
この４つのうち、たとえば（１１，１１）に着目すると、それは、ビットデータＡで示されるさらに上位の階層のデータの（１１０，１１０），（１１０，１１１），（１１１，１１０），（１１１，１１１）が対応する。
この系列を書き出すと、以下のようになる。
【０１２９】
１．第１の階層：（１，１）
２．第２の階層：（１１，１１）
３．第３の階層：（１１０，１１０），（１１０，１１１），（１１１，１１０），（１１１，１１１）
【０１３０】
他の第２の階層に関しても同様に、以下のようになる。
１．第１の階層：（１，１）
２．第２の階層：（１０，１０）
３．第３の階層：（１００，１００），（１００，１０１），（１０１，１００），（１０１，１０１）
【０１３１】
１．第１の階層：（１，１）
２．第２の階層：（１０，１１）
３．第３の階層：（１００，１１０），（１００，１１１），（１０１，１１０），（１０１，１１１）
【０１３２】
１．第１の階層：（１，１）
２．第２の階層：（１１，１０）
３．第３の階層：（１１０，１００），（１１０，１０１），（１１１，１００），（１１１，１０１）
【０１３３】
階層的に関連するデータへのアクセスは、１つ前の階層のアドレスに、最下位ビットを付け加えることにより、規則的に、容易に生成させることができる。
たとえば、６４×６４サイズまでのアクセスが必要なので、７階層が必要である。
階層アドレス発生回路３１は、上述した性質を利用して、階層アドレスを生成する。
【０１３４】
ビットプレーンアドレス発生回路３２は、プレーン単位でアクセスするためのアドレスを生成する回路である。
同様にビットプレーンに対応するアドレスは、同様に
１．第１の階層：１ビット
２．第２の階層：２ビット
３．第３の階層：３ビット
という形式でデータを生成することができる。
【０１３５】
階層／ビットプレーンアクセス切替回路３３は、アクセスの目的に応じ、上記２つのアドレスを切り替えて、小メモリ３４に入力する。
【０１３６】
小メモリ３４は、メモリ３４００〜メモリ３４２９の３０個のメモリを有する。
メモリ３４００〜メモリ３４２９それぞれは、上述したように、同一のアドレスで、必要な部分に共通にアクセスできるように、４分割されている。
小メモリ３４は、階層／ビットプレーンアクセス切替回路３３から入力されたアドレスに応じて、所定のデータにアクセスし、書き込みまたは読み出しを行う。
【０１３７】
切替／出力回路３５は、アクセスされた小メモリ３４からの出力を順次、あるいは選択的に切り替えて、出力する。
【０１３８】
情報処理装置１ａは、上述した構成に限られるものではない。たとえば、ビットプレーン記憶部３ａは、階層アドレス発生回路３１、ビットプレーンアドレス発生回路３２、階層／ビットプレーンアクセス切替回路３３、出力メモリ切替／出力回路３５は、制御部３ａに含まれていてもよい。
【０１３９】
以上説明した構成の情報処理装置１ａの動作を簡単に説明する。
たとえば、制御部４ａにより、所定のビットプレーンのデータが生成され、小メモリ３４の所定のメモリ３４００〜３４２９に書き込む場合を説明する。
【０１４０】
階層アドレス発生回路３１、およびビットプレーンアドレス発生回路３２では、制御部４ａから出力されたデータに応じて、階層アドレスおよびビットプレーンアドレスが生成され、階層／ビットプレーンアクセス切替回路３３に入力される。
【０１４１】
階層／ビットプレーンアクセス切替回路３３では、入力された階層アドレスおよびビットプレーンアドレスに応じて、所定の小メモリ３４のメモリ３４００〜３４２９が選択される。
制御部４ｂでは、選択されたメモリ３４００〜３４２９に、ビットプレーンのデータを書き込む。
【０１４２】
次に、制御部３ａにより、小メモリ３４の所定のメモリ３４００〜３４２９から、所定のデータを読み出す場合を説明する。
【０１４３】
階層アドレス発生回路３１、およびビットプレーンアドレス発生回路３２では、制御部４ａから出力されたデータに応じて、階層アドレスおよびビットプレーンアドレスが生成され、階層／ビットプレーンアクセス切替回路３３に入力される。
【０１４４】
階層／ビットプレーンアクセス切替回路３３では、入力された階層アドレスおよびビットプレーンアドレスに応じて、所定の小メモリ３４のメモリ３４００〜３４２９が選択される。
小メモリ３４では、選択されたメモリ３４００〜３４２９から、所定のデータを読み出し、たとえば制御部４ａに出力する。
【０１４５】
以上説明したように、階層的なアクセスを行うための階層アドレス発生回路３１と、ビットプレーン単位でアクセスするためのビットプレーンアドレス発生回路３２と、目的に応じて、上記階層アドレスと、ビットプレーンアドレスと切替える階層／ビットプレーンアクセス切替回路３３と、内部に各４つの内部メモリブロックを含む小メモリ３４と、アクセスしたメモリからの出力を順次切替えて出力する出力メモリ切替／出力回路３５とを設けたので、ビットプレーン毎の選択的にアクセスを行うことができる。また、ビットプレーンの階層構造を追跡するアクセスを行うことができる。
また、階層的に画像を出力したり、特定のビットプレーンのみ出力することができる。
【０１４６】
第３の実施の形態
図１８は、本発明に係る情報処理装置の第３の実施の形態を示すブロック図である。
本実施の形態に係る情報処理装置１ｂは、図１８に示すように、原画像記憶部２、ビットプレーン記憶部３ｂ、および制御部４ｂを有する。
情報処理装置１ｂと、第２の実施の形態に係る情報処理装置１ａとの相違点は、ビットプレーン記憶部３ｂの構成である。
【０１４７】
図１９は、図１８に示した情報処理装置のビットプレーン記憶部３ｂの一具体例を示すブロック図である。
本実施の形態に係るビットプレーン記憶部３ｂは、図１９に示すように、画素値−ビットプレーン変換部３１１、メモリブロック選択回路３１２、ビットプレーン毎アドレス生成回路３１３、ビットプレーンアドレス発生回路３２ｂ、階層アクセスメモリ選択回路３１４、階層アドレス発生回路３１ｂ、および階層／ビットプレーンアクセス切替回路３３ｂ、および小メモリ３４を有する。
相違点のみ説明する。
【０１４８】
たとえば、画素値−ビットプレーン変換部３１１、メモリブロック選択回路３１２、およびビットプレーン毎アドレス生成回路３１３は、書き込み系である。
また、ビットプレーンアドレス発生回路３２ｂ、階層アクセスメモリ選択回路３１４、階層アドレス発生回路３１ｂ、および階層／ビットプレーンアクセス切替回路３３ｂは、読み出し系である。
【０１４９】
画素値−ビットプレーン変換部３１１は、たとえば、入力された画像の画素値に応じて、ビットプレーンを生成し、ビットプレーン毎アドレス生成回路３１３から出力されたアドレスに基づいて、所定の小メモリ３４の内のメモリ３４００〜３４２９に、生成したビットプレーンのデータを出力する。
【０１５０】
メモリブロック選択回路３１２は、たとえば、制御部４ｂから入力された、ラスタ入力アドレスに基づいて、小メモリ３４の内のメモリ３４００〜３４２９（メモリブロックとも言う）を選択するデータを生成し、小メモリ３４およびビットプレーン毎アドレス生成回路３１３に出力する。
【０１５１】
ビットプレーン毎アドレス生成回路３１３は、メモリブロック選択回路３１２から出力されたメモリブロックを選択するデータに基づいて、画素値−ビットプレーン変換部３１１から出力されるデータの、出力先のアドレスを、画素値−ビットプレーン変換部３１１に出力する。
【０１５２】
ビットプレーンアドレス発生回路３２ｂは、たとえば、階層／ビットプレーンアクセス切替回路３３ｂから出力された、読み出しアドレスに基づいて、第２の実施の形態で上述したように、小メモリ３４の所定のメモリ３４００〜３４２９に対応するアドレスを生成する。
【０１５３】
階層アクセスメモリ選択回路３１４は、たとえば、制御部４ｂから出力された読み出しアドレスに基づいて、小メモリ３４の階層アドレスを選択させるデータを生成し、小メモリ３４、および階層アドレス発生回路３１ｂに出力する。
階層アドレス発生回路３１ｂは、階層アクセスメモリ選択回路３１４から出力されたデータに基づいて、第２の実施の形態で上述したように、小メモリ３４の階層アドレスを生成し、小メモリ３４に出力する。
【０１５４】
階層／ビットプレーンアクセス切替回路３３ｂは、たとえば、制御部４ｂから出力された、読み出しアドレスに基づいて、ビットプレーンアドレス発生回路３２ｂ、または階層アクセスメモリ選択回路３１４を選択し、選択の結果、ビットプレーンアドレス発生回路３２ｂを選択した場合には、読み出しアドレスをビットプレーンアドレス発生回路３２ｂに出力する。
【０１５５】
小メモリ３４は、画素値−ビットプレーン変換部３１１から出力されたビットデータを、メモリブロック選択回路３１２により選択されたメモリに、書き込む。
【０１５６】
また、小メモリ３４は、ビットプレーンアドレス発生回路３２ｂ、階層アクセスメモリ選択回路３１４、および階層アドレス発生回路３１ｂから出力されたデータに基づいて、所定のメモリ３４００〜３４２９から所定のデータを読み出して、たとえば制御部４ｂに出力する。
【０１５７】
情報処理装置１ｂは、上述した構成に限られるものではない。たとえば、画素値−ビットプレーン変換部３１１は、制御部３ｂに含まれていてもよい。また、メモリブロック選択回路３１２、ビットプレーン毎アドレス生成回路３１３、ビットプレーンアドレス発生回路３２ｂ、階層アクセスメモリ選択回路３１４、階層アドレス発生回路３１ｂ、および階層／ビットプレーンアクセス切替回路３３ｂも、制御部３ｂに含まれていてもよい。
【０１５８】
以上説明した構成の情報処理装置１ｂの動作を簡単に説明する。
まず、画像を小メモリ３４に書き込む動作を説明する。
【０１５９】
メモリブロック選択回路３１２では、たとえば、制御部４ｂから入力された、ラスタ入力アドレスに基づいて、小メモリ３４の内のメモリ３４００〜３４２９（メモリブロックとも言う）を選択するデータが生成され、小メモリ３４およびビットプレーン毎アドレス生成回路３１３に出力される。
【０１６０】
ビットプレーン毎アドレス生成回路３１３では、メモリブロック選択回路３１２から出力されたメモリブロックを選択するデータに基づいて、画素値−ビットプレーン変換部３１１から出力されるデータの出力先のアドレスが、画素値−ビットプレーン変換部３１１に出力される。
【０１６１】
画素値−ビットプレーン変換部３１１では、たとえば、入力された画像の画素値に応じて、ビットプレーンが生成され、ビットプレーン毎アドレス生成回路３１３から出力されたアドレスに基づいて、所定の小メモリ３４の内のメモリ３４００〜３４２９に、生成したビットプレーンのデータが出力される。
【０１６２】
小メモリ３４では、画素値−ビットプレーン変換部３１１から出力されたビットデータを、メモリブロック選択回路３１２により選択されたメモリに、書き込む。
【０１６３】
次に、所定のデータの読み出し動作を説明する。
階層／ビットプレーンアクセス切替回路３３ｂでは、たとえば、制御部４ｂから出力された、読み出しアドレスに基づいて、ビットプレーンアドレス発生回路３２ｂ、または階層アクセスメモリ選択回路３１４が選択され、選択の結果、ビットプレーンアドレス発生回路３２ｂが選択された場合には、読み出しアドレスがビットプレーンアドレス発生回路３２ｂに出力される。
【０１６４】
ビットプレーンアドレス発生回路３２ｂでは、たとえば、階層／ビットプレーンアクセス切替回路３３ｂから出力された、読み出しアドレスに基づいて、小メモリ３４の所定のメモリ３４００〜３４２９に対応するアドレスが生成され、小メモリ３４に出力される。
【０１６５】
階層アクセスメモリ選択回路３１４では、たとえば、制御部４ｂから出力された読み出しアドレスに基づいて、小メモリ３４の階層アドレスを選択させるデータが生成され、小メモリ３４、および階層アドレス発生回路３１ｂに出力される。
階層アドレス発生回路３１ｂでは、階層アクセスメモリ選択回路３１４から出力されたデータに基づいて、小メモリ３４の階層アドレスが生成され、小メモリ３４に出力される。
【０１６６】
小メモリ３４では、ビットプレーンアドレス発生回路３２ｂ、階層アクセスメモリ選択回路３１４、および階層アドレス発生回路３１ｂから出力されたデータに基づいて、所定のメモリ３４００〜３４２９から所定のデータが読み出され、たとえば制御部４ｂに出力される。
【０１６７】
以上説明したように、第３の実施の形態に係る情報処理装置１ｂでは、画素値からビットプレーンに変換する画素値−ビットプレーン変換部３１１と、小メモリ３４を選択するメモリブロック選択回路３１２と、ビットプレーン毎のアドレスを生成するビットプレーン毎アドレス生成回路３１３とを設けたので、ビットプレーンを、ビットプレーン毎に、小メモリの所定のメモリ３４００〜３４２９に書き込むことができる。
【０１６８】
また、読み出しアドレスに応じてビットプレーンアドレス発生回路３２ｂ、または階層アクセスメモリ選択回路３１４を選択する階層／ビットプレーンアクセス切替回路３３ｂと、ビットプレーンアドレスを生成するビットプレーンアドレス発生回路３２ｂと、メモリ３４００〜３４２９を選択する階層アクセスメモリ選択回路３１４と、階層アドレスを生成する階層アドレス発生回路３１ｂとを設けたので、小メモリ３４の所定のメモリ３４００〜３４２９から所定のデータを読み出すことができる。
【０１６９】
なお、本発明は本実施の形態に限られるものではなく、任意好適な種々の改変が可能である。
実施の形態では、原画像が原画像記憶部２に記憶されていたが、この形態に限られるものではない。たとえば、制御部は、不図示の入力部から入力された原画像に基づいて、所定の処理を行ってもよい。
実施の形態では、画素値を８ビットとして説明したがこの形態に限られるものではない。１６ビットでもよい。また、カラー画像の場合にはたとえば赤、緑、青それぞれに分けて、所定の処理を行ってもよい。
【０１７０】
【発明の効果】
本発明によれば、画像の任意のビット位置のビットにより画像の構造を識別可能で、任意のビット位置のビットによるビットプレーンにより動きを推定することが可能な情報処理装置および情報処理方法を提供することができる。
【図面の簡単な説明】
【図１】  本発明に係る情報処理装置の第１の実施の形態を示すブロック図である。
【図２】  （ａ）は、一般的な情報処理装置により処理される画像データに関するビットプレーンを模式的に示す図である。（ｂ）は、図１に示した情報処理装置により生成される画像データに関するビットプレーンを模式的に示す図である。
【図３】  （ａ）は、レベル方向のビットの解釈の仕方、具体的にはプラス方式のビットの解釈の仕方を示す図である。（ｂ）は、レベル方向のビットの解釈の仕方、具体的には、バランス方式のビットの解釈の仕方を示す図である。
【図４】  図１に示した情報処理装置の動作を説明するためのフローチャートである。
【図５】  （ａ）は、図１に示した情報処理装置が画像の画素値に応じてビットデータを生成する動作の一具体例を説明するための図である。（ｂ）は、（ａ）に示した情報処理装置がビットデータを生成する動作を説明するための図である。（ｃ）は、（ａ）に示した情報処理装置がビットデータを生成する動作を説明するための図である。
【図６】  図１に示した情報処理装置で生成される原画像および各ビットプレーンの一具体例を示す図である。
（ａ）は原画像を示す図、（ｂ）はレベル方向、垂直方向、および水平方向のブロックサイズが３２であるビットプレーンを示す図、（ｃ）はブロックサイズ１６であるビットプレーンを示す図、（ｄ）はブロックサイズが８であるビットプレーンを示す図である。
【図７】  （ａ）は、レベル方向、垂直方向、および水平方向のブロックサイズが４であるビットプレーンを示す図、（ｂ）は、ブロックサイズが２であるビットプレーンを示す図、（ｃ）はブロックサイズが１であるビットプレーンを示す図である。
【図８】  図１に示した情報処理装置の動作を説明するためのフローチャートである。
【図９】  図１に示した情報処理装置で生成された各ビットプレーンに基づいて行ったエンコード処理の一具体例を示す図である。（ａ）は、階調方向（レベル方向）、水平方向、垂直方向のブロックサイズが３２のビットプレーンを示す画像である。（ｂ）は、（ａ）に示した画像に、ブロックサイズが１６のビットプレーンを加算した画像である。（ｃ）は、（ｂ）に示した画像にブロックサイズが８のビットプレーンを加算した画像である。（ｄ）は、（ｃ）に示した画像にブロックサイズが４のビットプレーンを加算した画像である。
【図１０】  図１に示した情報処理装置の動作、特に、動き推定ベクトルを説明するための図である。（ａ）は時刻ｔのフレームを示す図、（ｂ）は時刻ｔ＋１のフレームを示す図、（ｃ）は（ａ）に示したフレームから抽出した特定のビットプレーンを示す図である。（ｄ）は（ｂ）に示したフレームから抽出した特定のビットプレーンを示す図である。（ｅ）は（ｃ）に示した特定のビットプレーンの、ビットプレーン記憶部３における記憶状態を模式的に示す図である。（ｆ）は（ｄ）に示した特定のビットプレーンの、ビットプレーン記憶部３における記憶状態を模式的に示す図である。
【図１１】  図１に示した情報処理装置の動作、特に、動き推定の動作を説明するための図である。（ａ１）は、図１０（ｅ）に示したビットプレーン記憶部３に記憶されている時刻ｔの所定のビットプレーンを、仮想的に、向かって右方向に１アドレスずらした状態を模式的に示す図である。（ａ２）は、図１０（ｅ）に示したビットプレーン記憶部３に記憶されている時刻ｔの、所定のビットプレーンを模式的に示す図である。（ａ３）は、図１０（ｅ）に示したビットプレーン記憶部３に記憶されている時刻ｔの所定のビットプレーンを、仮想的に、向かって左方向に１アドレスずらした状態を模式的に示す図である。（ｂ）は、図１０（ｆ）に示したビットプレーン記憶部３に記憶されている時刻ｔ＋１の所定のビットプレーンを模式的に示す図である。（ａ１１）は、制御部が（ａ１）に示したビットプレーンと、（ｂ）に示した時刻ｔ＋１のビットプレーンとを比較した状態を模式的に示す図である。（ａ２１）は、制御部が（ａ２）に示したビットプレーンと、（ｂ）に示した時刻ｔ＋１のビットプレーンとを比較した状態を模式的に示す図ある。（ａ３１）は、制御部が（ａ３）に示したビットプレーンと、（ｂ）に示した時刻ｔ＋１のビットプレーンとを比較した状態を模式的に示す図である。（ａ１２）は、制御部による、（ａ１１）に示したビットプレーンと、（ｂ）に示した時刻ｔ＋１のビットプレーンとの比較の結果を模式的に示す図である。（ａ２２）は、制御部による、（ａ２１）に示したビットプレーンと、（ｂ）に示した時刻ｔ＋１のビットプレーンとの比較の結果を模式的に示す図である。（ａ３２）は、制御部による、（ａ３１）に示したビットプレーンと、（ｂ）に示した時刻ｔ＋１のビットプレーンとの比較の結果を模式的に示す図である。
【図１２】  本発明に係る情報処理装置の第２の実施の形態を示すブロック図である。
【図１３】  図１２に示した情報処理装置の画像の記憶を説明するための図である。（ａ）は、StandardＴＶのサイズの画像を格納する際に必要なメモリ空間を示す図である。（ｂ）は、（ａ）に示したメモリの分割を模式的に示す図である。
【図１４】  （ａ）は、図１２に示した情報処理装置で生成されるビットプレーンを模式的に示す図である。（ｂ）は、（ａ）に示したビットプレーンを説明するための図である。
【図１５】  （ａ）は、対称的なデータの格納を行うためのデータの格納を説明するための図である。（ｂ）は、（ａ）で示したデータを４分割して、対称に配置したデータの格納を説明するための図である。
【図１６】  図１５（ｂ）に示したデータの格納形式によるアドレス構造を説明するための図である。
【図１７】  図１２に示した情報処理装置１ａのビットプレーン記憶部３ａの一具体例を示すブロック図である。
【図１８】  本発明に係る情報処理装置の第３の実施の形態を示すブロック図である。
【図１９】  図１８に示した情報処理装置１ｂのビットプレーン記憶部３ｂの一具体例を示すブロック図である。
【符号の説明】
１ａ…情報処理装置、２…原画像記憶部、３，３ａ，３ｂ…ビットプレーン記憶部、４，４ａ，４ｂ…制御部、３１…階層アドレス発生回路、３２…ビットプレーンアドレス発生回路、３３…階層／ビットプレーンアクセス切替回路、３４…小メモリ、３５…出力メモリ切替／出力回路、３１１…ビットプレーン変換部、３１２…メモリブロック選択回路、３１３…ビットプレーン毎アドレス生成回路、３１４…階層アクセスメモリ選択回路。
【図１】
0004449281.tif 000002
【図２】
0004449281.tif 000003
【図３】
0004449281.tif 000004
【図４】
0004449281.tif 000005
【図５】
0004449281.tif 000006
【図６】
0004449281.tif 000007
【図７】
0004449281.tif 000008
【図８】
0004449281.tif 000009
【図９】
0004449281.tif 000010
【図１０】
0004449281.tif 000011
【図１１】
0004449281.tif 000012
【図１２】
0004449281.tif 000013
【図１３】
0004449281.tif 000014
【図１４】
0004449281.tif 000015
【図１５】
0004449281.tif 000016
【図１６】
0004449281.tif 000017
【図１７】
0004449281.tif 000018
【図１８】
0004449281.tif 000019
【図１９】
0004449281.tif 000020