(57)【特許請求の範囲】
【請求項１】
画像センサにより二次元画像を撮影する画像入力部、
前記二次元画像を複数の部分領域に分けこの複数の部分領域毎の複数の二次元動きベクトルを算出する部分動き算出部、
前記複数の部分領域毎に並進成分の動き量と回転成分の動き量と奥行き成分の動き量を算出し、該算出した複数の部分領域毎の各成分の動き量を、成分毎に全ての部分領域にわたって総和してその絶対値を計算することで並進成分の動き量の絶対値と回転成分の動き量の絶対値と奥行き成分の動き量の絶対値を算出し、該算出した並進成分の動き量の絶対値と回転成分の動き量の絶対値と奥行き成分の動き量の絶対値とを比較し、並進成分の動き量の絶対値が最も大の場合に前記二次元画像中に含まれる空間的動きは並進運動と判定し、回転成分の動き量の絶対値が最も大の場合に前記二次元画像中に含まれる空間的動きは回転運動と判定し、奥行き成分の動き量の絶対値が最も大の場合に前記二次元画像中に含まれる空間的動きは奥行き運動と判定することで前記二次元画像中に含まれる空間的動きを検知する全体動き検知部、
とを備えることを特徴とする動き情報検知装置。
【請求項２】
前記部分動き算出部は、前記二次元画像の複数の部分領域毎に複数の射影方向に対する一次元射影データを計算し、前記一次元射影データを構成する画素データ毎に一次元動きベクトルを計算し、前記一次元動きベクトルの総和で前記射影方向毎に一次元動きベクトルを計算し、前記一次元動きベクトルの組合せで前記複数の部分領域毎の前記二次元動きベクトルを得る
ことを特徴とする請求項１に記載の動き情報検知装置。
【請求項３】
画像センサから二次元画像を取得する手順と、
前記二次元画像を複数の部分領域に分ける手順と、
前記複数の部分領域毎の複数の二次元動きベクトルを算出する手順と、
前記複数の部分領域毎に並進成分の動き量と回転成分の動き量と奥行き成分の動き量を算出し、該算出した複数の部分領域毎の各成分の動き量を、成分毎に全ての部分領域にわたって総和してその絶対値を計算することで並進成分の動き量の絶対値と回転成分の動き量の絶対値と奥行き成分の動き量の絶対値を算出する手順と、
算出された前記並進成分の動き量の絶対値と前記回転成分の動き量の絶対値と前記奥行き成分の動き量の絶対値とを比較する手順と、
並進成分の動き量の絶対値が最も大の場合に前記二次元画像中に含まれる空間的動きは並進運動と判定する手順と、
回転成分の動き量の絶対値が最も大の場合に前記二次元画像中に含まれる空間的動きは回転運動と判定する手順と、
奥行き成分の動き量の絶対値が最も大の場合に前記二次元画像中に含まれる空間的動きは奥行き運動と判定する手順と、
前記並進成分の動き量の絶対値と前記回転成分の動き量の絶対値と前記奥行き成分の動き量の絶対値のなかの最大値を求めて前記二次元画像中に含まれる空間的動きを検知する手順、
とを含む動き情報検知方法。
【請求項４】
前記二次元画像の複数の部分領域毎に複数の射影方向に対する一次元射影データを計算し、前記一次元射影データを構成する画素データ毎に一次元動きベクトルを計算し、前記一次元動きベクトルの総和で前記射影方向毎に一次元動きベクトルを計算し、前記一次元動きベクトルの組合せで前記複数の部分領域毎の前記二次元動きベクトルを得る
ことを特徴とする請求項３に記載の動き情報検知方法。
【請求項５】
画像センサから二次元画像を取得する手順と、
前記二次元画像を複数の部分領域に分ける手順と、
前記複数の部分領域毎の複数の二次元動きベクトルを算出する手順と、
前記複数の部分領域毎に並進成分の動き量と回転成分の動き量と奥行き成分の動き量を算出し、該算出した複数の部分領域毎の各成分の動き量を、成分毎に全ての部分領域にわたって総和してその絶対値を計算することで並進成分の動き量の絶対値と回転成分の動き量の絶対値と奥行き成分の動き量の絶対値を算出する手順と、
算出された前記並進成分の動き量の絶対値と前記回転成分の動き量の絶対値と前記奥行き成分の動き量の絶対値とを比較する手順と、
並進成分の動き量の絶対値が最も大の場合に前記二次元画像中に含まれる空間的動きは並進運動と判定する手順と、
回転成分の動き量の絶対値が最も大の場合に前記二次元画像中に含まれる空間的動きは回転運動と判定する手順と、
奥行き成分の動き量の絶対値が最も大の場合に前記二次元画像中に含まれる空間的動きは奥行き運動と判定する手順と、
前記並進成分の動き量の絶対値と前記回転成分の動き量の絶対値と前記奥行き成分の動き量の絶対値のなかの最大値を求めて前記二次元画像中に含まれる空間的動きを検知する手順
のプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像センサにより撮影された二次元画像から動き情報を得る動き情報検知装置に関し、さらに詳しくは、二次元平面的な並進運動だけでなく、回転運動、奥行き運動等の空間的な動きに関する情報を得ることを目的とした動き情報検知装置、及び動き情報検知方法、及び動き情報検知プログラムを記録した記録媒体に関するものである。
【０００２】
【従来の技術】
人間がコンピュータを操作する際に必要な入力情報としては、マウス等のポインティングデバイスの画面上のカーソル位置を更新するための二次元平面上の動きに加え、並進運動以外の操作、例えば回転等の操作がマンマシン・インターフェースとして必要になる場合がある。これはコンピュータゲーム機、例えば、カーレース等のコンピュータゲームの場合において、ゲームユーザーがゲーム専用インターフェースを介してハンドルの回転操作等をゲームに反映させようとする場合などにおいて特に顕著である。このような機能を実現させる従来技術の例として、特開平７-３０２１５７号公報におけるゲームインターフェースのように、回転操作を機械的に検出する例がある。しかし、この方式によれば、機械的に検出することができる回転操作は特定の平面上の回転にのみ限られ、また同時に並進的な操作や奥行き方向の操作の検出は困難であった。さらに、カーレースゲームに限らず、最近他のコンピュータゲームにおいて、回転操作以外の操作も検出する必要性が高まってきており、そのような分野においては、上記の従来技術では対応することができなかった。すなわち、回転操作を含む様々な操作の検出を実現するには、上記の機械的センシング手段に加えて別の手段が必要となるため、全体として複数のセンサを用意する必要があり、従って部品点数が増えるのでコスト高となり、また、小型化・軽量化が困難となりマンマシンインターフェイスとして実用性に欠けるものとなるという問題点があった。
【０００３】
【発明が解決しようとする課題】
本発明は上記の問題点を解決するためになされたもので、人間の操作対象となるインターフェースとして、簡便な構造で小型化、軽量化が容易なインターフエースを提供することを目的とする。また、このインターフェースを動作させるための方法を提供することを目的とする。また、このインターフェースを動作させるためのプログラムを記録した記録媒体を提供することを目的とする。
【０００４】
【課題を解決するための手段】
本発明に係る第一の発明は、画像センサにより二次元画像を撮影する画像入力部、この二次元画像を複数の部分領域に分けこの複数の部分領域毎の複数の二次元動きベクトルを算出する部分動き算出部、複数の二次元動きベクトルを統合することで二次元画像中に含まれる空間的動きを検知する全体動き検知部、とを備えるものである。
【０００５】
本発明に係る第二の発明は、全体動き検知部は、並進成分和と回転成分和と奥行き成分和として複数の二次元動きベクトルを統合し、並進成分和が最も大の場合、空間的動きは並進運動と検知するものである。
【０００６】
本発明に係る第三の発明は、全体動き検知部は、並進成分和と回転成分和と奥行き成分和として複数の二次元動きベクトルを統合し、回転成分和が最も大の場合、空間的動きは回転運動と検知するものである。
【０００７】
本発明に係る第四の発明は、全体動き検知部は、並進成分和と回転成分和と奥行き成分和をとして複数の二次元動きベクトルを統合し、奥行き成分和が最も大の場合、空間的動きは奥行き運動と検知するものである。
【０００８】
本発明に係る第五の発明は、部分動き算出部は、複数の部分領域毎に射影データを計算し、この射影データを用いて複数の部分領域毎の二次元動きベクトルを得るものである。
【０００９】
本発明に係る第六の発明は、画像センサにより二次元画像を撮影する手順と、二次元画像を複数の部分領域に分ける手順と、複数の部分領域毎の二次元動きベクトルを算出する手順と、二次元動きベクトルを統合することにより二次元画像中に含まれる空間的動きを検知する手順、とを含む検知方法に関するものである。
【００１０】
本発明に係る第七の発明は、空間的動きは並進運動である検知方法に関するものである。
【００１１】
本発明に係る第八の発明は、空間的動きは回転運動である検知方法に関するものである。
【００１２】
本発明に係る第九の発明は、空間的動きは奥行き運動である検知方法に関するものである。
【００１３】
本発明に係る第十の発明は、複数の部分領域毎に射影データを計算し、この射影データを用いて複数の部分領域毎の二次元動きベクトルを得る検知方法に関するものものである。
【００１４】
本発明に係る第十一の発明は、画像センサにより二次元画像を撮影する手順と、二次元画像を複数の部分領域に分ける手順と、複数の部分領域毎の二次元動きベクトルを得る手順と、二次元動きベクトルを統合することにより空間的動きを検知する手順のプログラムを記録した記録媒体に関するものである。
【００１５】
【発明の実施の形態】
実施の形態１．
以下、本発明の実施の形態１について、図面を参照しながら説明する。図１はこの発明の実施の形態１による動き情報検知装置の構成を示すブロック図であり、画像入力部１、部分動き算出部２、全体動き検知部３の三部分からなる。
【００１６】
画像センサを含む画像入力部１は二次元画像を撮影する。部分動き算出部２は画像入力部１によって撮影された二次元画像を複数の部分領域に分け、部分領域毎の二次元動きベクトルを算出する。全体動き検知部３は部分動き算出部２で算出された各部分領域の二次元動きベクトルを統合することで画像に含まれる回転・奥行き・並進運動に相当する空間的動きを検知する。
【００１７】
次に部分動き算出部２と全体動き検知部３の動作を説明する。図２は、画像入力部１の撮影画像を縦横各々二分割して、並進運動、回転運動、奥行き運動を検出する例を説明する図である。列（Ａ）、（Ｂ）、（Ｃ）は検出する対象となる動きが並進運動（この例においては左右運動を示す）・回転運動・奥行き運動である場合を示す。行（ａ）は画像入力部１によって撮影された立方体を含む画像と、各場合において画像に含まれると想定される部分領域毎の大域的な動き（ベクトル表示）を示す。
【００１８】
行（ｂ）は画像の動きを局所的な動きベクトル（オプティカルフロー）として示したものである。なお、このような画像からオプティカルフローを計算するには、例えば特開平４-２４１０７７号公報における方式を用いればよいが、もちろんその他の方式を用いてもよい。
【００１９】
行（ｃ）は、４個の部分領域それぞれについて、行（ｂ）の計算結果である動きベクトルの総和もしくは平均を取り、表示したものである。以上の行（ｂ）と行（ｃ）の処理は部分動き算出部２により行われる。
【００２０】
次に、全体動き検知部３は行（ｃ）の情報を用いて並進運動、回転運動、奥行き運動に相当する空間的動きを検知する。行（ｃ）の各場合における点線は、各動きベクトルから領域毎に並進成分、回転成分、奥行き成分を抽出するための基準線である。（Ａ）、（Ｂ）、（Ｃ）いずれの場合も動きベクトルの基準線に垂直な成分が寄与分となる。これを元に全体動き検知部３は、各動きベクトルの寄与分の総和で並進運動、回転運動、奥行き運動の量を計算し、結果として行（ｄ）のような並進運動（方向は上下左右の４方向）、回転運動（方向は時計回り、反時計回り）、奥行き運動（方向は前進、後退）の判定を行う。
【００２１】
次に上記で述べた並進運動、回転運動、奥行き運動のベクトル寄与分の総和から行（ｄ）のような全体の動きとして判定する方法をさらに詳細に説明する。
図３は本願の動き情報検知方法における全体の動きの判定方法を示したフローチャートである。図３において、まず画像入力部１により二次元画像が入力される。次に部分動き算出部２により入力された画像が適当な部分領域に分割され、それぞれの部分領域毎に二次元動きベクトルが計算される。
【００２２】
次に、各部分領域において、それぞれの二次元動きベクトルについて基準線に対する垂直成分が計算される。
ここで、基準線の決め方を説明する。まず並進運動（左右方向）の場合、図４に示すように各部分領域の中心Ｂを通り、画像全体に対し垂直な線分を基準線とする。従って部分領域における動きベクトルをＶとした場合、垂直成分はｖとなる。
また、並進運動（上下方向）の場合、図５に示すように各部分領域の中心Ｂを通り、画像全体に対し水平な線分を基準線とする。従って部分領域における動きベクトルをＶとした場合、垂直成分はｖとなる。
また、回転運動の場合、図６に示すように各部分領域の中心Ｂと画像全体の中心Ａとを結ぶ線分を基準線とする。従って部分領域における動きベクトルをＶとした場合、垂直成分はｖとなる。
また、奥行き運動の場合、図７に示すように各部分領域の中心Ｂと画像全体の中心Ａとを結ぶ線分に対し、Ｂを通る垂直な線分を基準線とする。従って部分領域における動きベクトルをＶとした場合、垂直成分はｖとなる。
【００２３】
図３に戻って、各部分領域毎の基準線に対する垂直成分が計算されると、今度は全ての部分領域の総和が計算される。すなわち、各部分領域の並進運動（左右方向）基準線の垂直成分の総和および並進運動（上下方向）基準線の垂直成分の総和が合成され並進成分和ΣＦＰが算出される。また、各部分領域の回転運動の基準線の垂直成分の総和が合成され回転成分和ΣＲＴが算出される。また、各部分領域の奥行き運動の基準線の垂直成分の総和が合成され奥行き成分和ΣＤＴが算出される。
【００２４】
図８に列Ａ、Ｂ、Ｃに代表される並進、回転、奥行き運動のそれぞれのケースにおいて、並進成分和ΣＦＰおよび回転成分和ΣＲＴおよび奥行き成分和ΣＤＴをそれぞれ計算して求めた例を示す。
ここで、並進成分和ΣＦＰと回転成分和ΣＲＴと奥行き成分和ΣＤＴの絶対値が比較され、並進成分和ΣＦＰの絶対値である｜ΣＦＰ｜が最大となる場合は、並進運動と判定され、｜ΣＦＰ｜の平均値をその並進運動の大きさとすることができる。さらに、回転成分和ΣＲＴの絶対値である｜ΣＲＰ｜が最大となる場合は、回転運動と判定され、｜ΣＲＰ｜の平均値をその回転運動の大きさとすることができる。さらに、奥行き成分和ΣＤＴの絶対値である｜ΣＤＰ｜が最大となる場合は、奥行き運動と判定され、｜ΣＤＰ｜の平均値をその奥行き運動の大きさとすることができる。
【００２５】
以上述べたような撮影画像からの動き情報検知演算は、図３に示すそれぞれのステップについて動き情報検知用プログラムとしてコンピータにて動作可能な形にプログラム化され、このプログラムは記録媒体にして記録した形で保存され、必要なときに読み出すことにより使用される。
【００２６】
なお、本実施の形態では画像全体を縦横二つに等分割して４個の部分領域に分ける例で示したが、図９（ａ）のように縦横三個に等分割する場合や、もしくは図９（ｂ）のように縦横三分割で、縦横いずれも中央の幅を周辺よりも狭くする場合でも同様の回転運動、奥行き運動、並進運動に相当する空間的動きを検知することが可能である。さらには縦横いずれも三分割以上の分割数でもよい。
また、本実施の形態では画像全体を動き検出の処理対象範囲としたが、図９（ｃ）や（ｄ）のように丸印を付けた部分領域だけを対象として、計算量を削減するようにしてもよい。
【００２７】
このように、本実施の形態によれば、撮影される二次元画像を複数の部分領域に分け、領域毎に二次元動きベクトルを検知し、さらにこれらを統合して画像全体に含まれる回転運動、奥行き運動、並進運動を検知するので、一個の画像センサだけで空間的動きが検知でき、その結果システムの部品点数削減による低コスト化や小型化、軽量化が可能となる。
【００２８】
実施の形態２．
以下、本発明の実施の形態２について説明する。本実施の形態では部分動き算出部２は、部分領域毎に列方向および行方向の二方向に関する画素値の総和（以下、それぞれ列射影、行射影と呼ぶ）を計算し、この二つの射影データを用いて部分領域毎の二次元動きベクトルを計算する場合を説明する。
【００２９】
図１０はある部分領域の射影データの例であり、二次元画像４から得られる列射影データ５と行射影データ６を示す。この図１０から明らかなように、連続した二フレーム分の射影データから抽出される動きはそれぞれ二次元動きベクトルの水平（Ｘ）成分と垂直（Ｙ）成分に相当する。これらを合成すれば、各部分領域の射影データから領域毎に含まれる動きベクトルを計算することができる。
【００３０】
次に射影データを用いた一次元オプティカルフローの計算過程を図１１〜図１４を用いて説明する。なお、列射影と行射影については同じアルゴリズムが適用されるので、以下の説明ではこれらの射影を区別しない。
【００３１】
図１１は射影データの各要素を画像における画素値と見なし、隣接する三つの画素値により作られるコントラスト（以下明暗エッジ）が左右に動く４通りの場合を示し、一次元オプティカルフローを計算するための基本的な概念となるものである。図１１の「射影の動き」で示される行は、（ａ）〜（ｄ）の４通りの場合について、明暗エッジ（明るい方の画素値を５０、暗い方を１０とし、細線は前時刻、太線は現時刻を示す）が図中矢印の方向に動く場合を示し、「射影値の変化」で示される行は各場合の画素値の変化を示す。
【００３２】
図１１より、射影値（画素値）の変化と射影の動きを考慮して、ある画素位置における動き方向検知に関して次のような三つの法則（以下動き検知法則）が仮定される。
（１）ある画素位置において画素値の変化が０のときか、あるいは画素値の変化があっても前時刻における隣接二画素が同じ画素値を持つときは、動き方向は０（動きなし）と検知される。
（２）ある画素位置において画素値の変化が正の値のとき、動き方向は前時刻における隣接二画素のうち画素値の小さい方向と検知される。
（３）ある画素位置において画素値の変化が負の値のとき、動き方向は前時刻における隣接二画素のうち画素値の大きい方向と検知される。
【００３３】
上記の法則を利用して、前時刻と現時刻の射影値の変化からどのように一次元オプティカルフローが得られるかを図１２を用いて簡単な例について説明する。
図１２（ａ）、（ｂ）は８個の要素からなる射影値の例であり、それぞれ前時刻と現時刻における射影値を示す。簡単のために各要素は１０〜５０の値を取るとする。図１２（ｃ）は既に述べた動き検知法則が各射影の配列要素毎にどのように適用されるかを具体的に説明するための表である。
【００３４】
まず、要素＃１に関しては、前時刻と現時刻の差分が０であることから、法則（１）を適用して検知方向は０である。要素＃２に関しては差分値が負の値であることから法則（３）を適用して検知方向は＃２→＃３の向きである（＃３と＃４も同様）。要素＃５に関しては差分値は正の値であるが、前時刻射影において＃４と＃６が同じ値であることから法則（１）を適用して検知方向は０である（＃８も同様）。要素＃６に関しては差分値は正の値であることから法則（２）を適用して検知方向は＃６→＃７の向きである（＃７も同様）。
【００３５】
このように、動き検知法則を前時刻射影と差分射影の値を利用することで射影の一次元的な動きベクトル（オプティカル・フロー）が計算できる。これを基本とした部分動き算出部２の動作を図１３のフローチャートを用いて説明する。
【００３６】
まず、部分領域毎に計算された射影データを取得し、配列ｃｕｒｒ＿ｐｒｏｊへ現時刻射影として格納する（ステップ＃１）。次に配列ｃｕｒｒ＿ｐｒｏｊと前時刻射影が格納されているｐｒｅｖ＿ｐｒｏｊの差分を計算し、結果を配列ｄｉｆｆ＿ｐｒｏｊへ格納する（ステップ＃２）。次に配列ｄｉｆｆ＿ｐｒｏｊ，ｐｒｅｖ＿ｐｒｏｊを用いて要素毎に一次元オプティカルフロー計算を行い、結果を配列ｖｅｃｔ＿ｐｒｏｊに格納する（ステップ＃３）。次に配列ｐｒｅｖ＿ｐｒｏｊへ配列ｃｕｒｒ＿ｐｒｏｊを前時刻射影データとして格納する（ステップ＃４）。最後にステップ＃３で得られたオプティカルフローのノイズを削減するために配列ｖｅｃｔ＿ｐｒｏｊを平滑化して出力する（ステップ＃５）。
【００３７】
上記のステップ＃３における射影要素毎のオプティカルフロー計算は前記の動き検知法則に基づいている。射影配列インデックスｋ毎の計算過程を図１４のフローチャートを用いて説明する。まず、ｐｒｅｖ＿ｐｒｏｊ［ｋ−１］とｐｒｅｖ＿ｐｒｏｊ［ｋ＋１］の大小比較を行う（ステップ＃１）。この値が等しいときはｖｅｃｔ＿ｐｒｏｊ［ｋ］に０を代入して（ステップ＃２）、計算は終了する。等しくないときは配列インデックスｋ，ｋ＋１のうちｐｒｅｖ＿ｐｒｏｊの値が小さい方をＬ、大きい方をＧとする（ステップ＃３）。次にｄｉｆｆ＿ｐｒｏｊ［ｋ］の符号を調べ、０であればｖｅｃｔ＿ｐｒｏｊ［ｋ］に０を代入して（ステップ＃２）計算は終了し、負の値であれば方向ｋ→Ｇを選択（ステップ＃４）、正の値であれば方向ｋ→Ｌを選択（ステップ＃５）する。ステップ＃４と＃５の場合、Ｇ（またはＬ）がｋ−１であればｖｅｃｔ＿ｐｒｏｊ［ｋ］に−１を代入、Ｇ（またはＬ）がｋ＋１であればｖｅｃｔ＿ｐｒｏｊ［ｋ］に１を代入する。さらにｖｅｃｔ＿ｐｒｏｊ［ｋ］の値をｄｉｆｆ＿ｐｒｏｊ［ｋ］の絶対値で重み付けして（ステップ＃６）、計算を終了する。
【００３８】
次に、部分動き算出部２によって計算される部分領域毎の二次元動きベクトル計算の過程を、図１５のフローチャートを用いて説明する。まず、列射影および行射影の一次元オプティカルフローを取得する（ステップ＃１）。次に、それぞれのオプティカルフローから代表ベクトルを計算し、列射影および行射影に対応する代表ベクトルをそれぞれＸベクトルとＹベクトルとする（ステップ＃２）。この代表ベクトルは、オプティカルフローを構成する動きベクトルの平均で計算するが、別の方法としては構成する動きベクトルのうち最大のノルムを持つものを代表ベクトルとしてもよい。最後に、上記ＸベクトルとＹベクトルを合成して部分領域毎の二次元的動きに関する検知ベクトルを求める。
この部分領域毎の検知ベクトルは、実施の形態１で説明した方法により、画像入力部１により入力された二次元画像の並進運動、回転運動、奥行き運動の判定がなされる。
【００３９】
以上述べたような撮影画像からの動き情報検知演算は、図１３〜図１５に示すそれぞれのステップについて動き情報検知用プログラムとしてコンピータにて動作可能な形にプログラム化され、このプログラムは記録媒体にして記録した形で保存され、必要なときに読み出すことにより使用される。
【００４０】
また、上記のような部分動き算出部２の部分領域毎の射影計算に関しては、これが直接出力されるような画像センサを用いれば、処理の高速化が可能である。このような画像センサの例として、例えば雑誌「Ｎａｔｕｒｅ，  ”Ａｒｔｉｆｉｃｉａｌ  Ｒｅｔｉｎａｓ  −  Ｆａｓｔ，  Ｖｅｒｓａｔｉｌｅ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒｓ”」（ｖｏｌ．３７２，  Ｎｏ．６５０２，  ｐｐ１９７−１９８，  １９９４）、および特開平８−２４２２６５号公報に記載された人工網膜ＬＳＩを用いれば、入力画像から直接列射影と行射影を出力でき、かつ部分領域毎の射影計算が可能なので、実施の形態１で実現されるシステムの動作をさらに高速化することが可能であり、さらに上記ＬＳＩを利用することで後段の処理に必要なプロセッサを安価なもので置き換えられるので、システム全体としてのコストダウンが可能になる。
【００４１】
このように、本実施の形態によれば、分割された二次元画像の各部分領域における動きベクトルの計算を、直接二次元画像から計算するのではなく、一旦射影データに変換してから二次元動きベクトルを計算するので、二次元画像をそのままもちいるよりも必要な計算量と記憶容量が削減される。さらにこのような部分領域毎の射影データが直接出力されるような画像センサを用いることで処理をより高速化することが可能である。
【００４２】
【発明の効果】
以上のように、第一〜第四の発明に係る動き情報検知装置によれば、画像センサにより二次元画像を撮影する画像入力部、この二次元画像を複数の部分領域に分け、部分領域毎の二次元動きベクトルを算出する部分動き算出部、上記各部分領域の二次元動きベクトルを統合することで画像全体に含まれる回転運動、奥行き運動、並進運動に相当する空間的動きを検知する全体動き検知部を備えているので、一個の画像センサで並進運動だけでなく、回転や奥行き等の動きが検出可能であり、その結果従来方式では複数のセンサが必要であったシステムが単一のセンサで構成できるので、小規模かつ低コストで、人間の様々な空間操作をコンピュータに反映させることが可能なユーザインタフェースの機能が実現できる。
【００４３】
また、第五の発明に係る動き情報検知装置において、部分動き算出部は、撮影された二次元画像の複数の部分領域毎に射影データを計算し、この射影データを用いて部分領域毎に二次元動きベクトルを計算することが可能なので、二次元画像から動きベクトルを計算するよりも計算量を削減でき、かつこのような画像の部分領域毎の射影データを出力するような画像センサを用いることで、後段のプロセッサにかかる処理を軽減することができる。
【００４４】
第六〜第九の発明に係る動き情報検知方法によれば、画像センサにより二次元画像を撮影する手順と、この二次元画像を複数の部分領域に分ける手順と、複数の部分領域毎の二次元動きベクトルを算出する手順と、上記各部分領域の二次元動きベクトルを統合することで二次元画像全体に含まれる回転運動、奥行き運動、並進運動に相当する空間的動きを検知する手順とを含んでいるので、一個の画像センサで並進運動だけでなく、回転や奥行き等の動きが検出可能であり、その結果従来方法では複数のセンサが必要であったのが単一のセンサで達成できるので、小規模かつ低コストで、人間の様々な空間操作をコンピュータに反映させることが可能なユーザインタフェースの方法が実現できる。
【００４５】
また、第十の発明に係る動き情報検知方法において、撮影された二次元画像の複数の部分領域毎に射影データを計算し、この射影データを用いて部分領域毎に二次元動きベクトルを計算することが可能なので、二次元画像から動きベクトルを計算するよりも計算量を削減でき、かつこのような画像の部分領域毎の射影データを出力するような画像センサを用いることで、後段のプロセッサにかかる処理を軽減することができる。
【００４６】
また、第十一の発明に係る動き情報検知プログラムを記録した記録媒体によれば、撮影画像の複数の部分領域毎の二次元動きベクトルを計算する手順と、上記二次元動きベクトルを統合することにより、回転運動、奥行き運動、並進運動に相当する空間的動きを検知する手順とをコンピュータに実行させるようにしたので、単一画像センサを用いて撮影された画像に含まれる回転運動、奥行き運動、並進運動に相当する空間的動きを検知することが可能になる。
【００４７】
また、本発明による動き情報検知装置および動き情報検知方法および動き情報検知プログラムを記録した記録媒体によれば、パソコンで使用するマウスや会議や講演などで使用するポインティングデバイスへの応用だけでなく、ビデオゲーム等のジョイスティック等、既存のインタフェースに代わるゲームインタフェースを提供することが可能である。
【図面の簡単な説明】
【図１】  本発明の実施の形態１による動き情報検知装置の構成を示すブロック図である。
【図２】  本発明の実施の形態１に係る部分動き算出部と全体動き検知部の動作を説明するための図である。
【図３】  本発明の実施の形態１に係る空間的動きを判定するためのフローチャートである。
【図４】  本発明の実施の形態１に係る並進運動（左右方向）の基準線および垂直成分を説明した図である。
【図５】  本発明の実施の形態１に係る並進運動（上下方向）の基準線および垂直成分を説明した図である。
【図６】  本発明の実施の形態１に係る回転運動の基準線および垂直成分を説明した図である。
【図７】  本発明の実施の形態１に係る奥行き運動の基準線および垂直成分を説明した図である。
【図８】  本発明の実施の形態１に係る並進運動、回転運動、奥行き運動の判定のためのアルゴリズムを説明した図である。
【図９】  本発明の実施の形態１に係る部分動き算出部の画像の部分領域分割に関する例を示す図である。
【図１０】  本発明の実施の形態２における部分領域画像の例および列射影と行射影の計算結果を示す図である。
【図１１】  本発明の実施の形態２に係る部分動き算出部の動作原理を説明するための図である。
【図１２】  本発明の実施の形態２に係る部分動き算出部の動作例を説明するための図である。
【図１３】  本発明の実施の形態２に係る部分動き算出部のオプティカルフロー計算の全体の処理の流れを説明するためのフローチャートである。
【図１４】  本発明の実施の形態２に係る部分動き算出部のオプティカルフロー計算の具体的手続きを説明するためのフローチャートである。
【図１５】  本発明の実施の形態２に係る部分動き算出部の二次元動きベクトル計算を説明するためのフローチャートである。
【符号の説明】
１  画像入力部、２  部分動き算出部、３  全体動き検知部、４  入力画像の例、５  列射影の計算例、６  行射影の計算例。
【図１】
0004652536.tif 000002
【図２】
0004652536.tif 000003
【図３】
0004652536.tif 000004
【図４】
0004652536.tif 000005
【図５】
0004652536.tif 000006
【図６】
0004652536.tif 000007
【図７】
0004652536.tif 000008
【図８】
0004652536.tif 000009
【図９】
0004652536.tif 000010
【図１０】
0004652536.tif 000011
【図１１】
0004652536.tif 000012
【図１２】
0004652536.tif 000013
【図１３】
0004652536.tif 000014
【図１４】
0004652536.tif 000015
【図１５】
0004652536.tif 000016