(57)【特許請求の範囲】
【請求項１】
画像撮像部を内在する座標指示装置と、前記画像撮像部が撮像した撮像画像の動きベクトルに基づいて前記座標指示装置の操作に応答する指示座標位置を制御する座標位置制御装置とを有する座標位置制御システムにおいて、
前記座標位置制御装置は、
前記画像撮像部が撮像した撮像画像の動きベクトルを算定する算定手段と、
前記算定手段が算定した動きベクトルを所定のしきい値と比較して、この比較結果に基づいて前記動きベクトルの有効性を判定する判定手段と、
前記判定手段が有効であると判定した動きベクトルに基づいて前記座標指示装置の操作に応答する指示座標位置を更新する更新手段と
を備え、
前記判定手段は、前記算定手段が算定した動きベクトルの大きさを所定のしきい値と比較して、該動きベクトルの大きさが所定のしきい値よりも小さな場合には、当該動きベクトルを有効ではないと判定するものであり、前記所定のしきい値よりも小さな動きベクトルを順次加算した累積加算ベクトルを算定し、該累積加算ベクトルの大きさが前記所定のしきい値を越えた場合に、この累積加算ベクトルを有効であると判定することを特徴とする座標位置制御システム。
【請求項２】
前記判定手段は、前記累積加算ベクトルを所定の減衰定数に基づいて時間の経過に応じて減衰させることを特徴とする請求項１に記載の座標位置制御システム。
【請求項３】
画像撮像部を内在する座標指示装置と、前記画像撮像部が撮像した撮像画像の動きベクトルに基づいて前記座標指示装置の操作に応答する指示座標位置を制御する座標位置制御装置とを有する座標位置制御システムにおいて、
前記座標位置制御装置は、
前記画像撮像部が撮像した撮像画像の動きベクトルを算定する算定手段と、
前記算定手段が算定した動きベクトルを所定のしきい値と比較して、この比較結果に基づいて前記動きベクトルの有効性を判定する判定手段と、
前記判定手段が有効であると判定した動きベクトルに基づいて前記座標指示装置の操作に応答する指示座標位置を更新する更新手段と
を備え、
前記判定手段は、前記算定手段が算定した判定対象となる動きベクトルと直前に有効であると判定した動きベクトルとのなす角を所定の角度範囲と比較して、両動きベクトルのなす角が該所定の角度範囲内でない場合には、当該動きベクトルを有効ではないと判定することを特徴とする座標位置制御システム。
【請求項４】
座標指示装置に内在された画像撮像部で撮像した撮像画像の動きベクトルに基づいて前記座標指示装置の操作に応答する指示座標位置を制御する座標位置制御方法において、
前記画像撮像部が撮像した撮像画像の動きベクトルを算定する算定工程と、
前記算定工程で算定した動きベクトルを所定のしきい値と比較して、この比較結果に基づいて前記動きベクトルの有効性を判定する判定工程と、
前記判定工程で有効であると判定した動きベクトルに基づいて前記座標指示装置の操作に応答する指示座標位置を更新する更新工程と
を含み、
前記判定工程は、前記算定工程で算定した動きベクトルの大きさを所定のしきい値と比較して、該動きベクトルの大きさが所定のしきい値よりも小さな場合には、当該動きベクトルを有効ではないと判定するとともに、前記所定のしきい値よりも小さな動きベクトルを順次加算した累積加算ベクトルを算定し、該累積加算ベクトルの大きさが前記所定のしきい値を越えた場合に、この累積加算ベクトルを有効であると判定することを特徴とすることを特徴とする座標位置制御方法。
【請求項５】
前記判定工程は、前記累積加算ベクトルを所定の減衰定数に基づいて時間の経過に応じて減衰させることを特徴とする請求項４に記載の座標位置制御方法。
【請求項６】
座標指示装置に内在された画像撮像部で撮像した撮像画像の動きベクトルに基づいて前記座標指示装置の操作に応答する指示座標位置を制御する座標位置制御方法において、
前記画像撮像部が撮像した撮像画像の動きベクトルを算定する算定工程と、
前記算定工程で算定した動きベクトルを所定のしきい値と比較して、この比較結果に基づいて前記動きベクトルの有効性を判定する判定工程と、
前記判定工程で有効であると判定した動きベクトルに基づいて前記座標指示装置の操作に応答する指示座標位置を更新する更新工程と
を含み、
前記判定工程は、前記算定工程で算定した有効性の判定対象となる動きベクトルと直前に有効であると判定した動きベクトルとのなす角を所定の角度範囲と比較して、両動きベクトルのなす角が該所定の角度範囲内でない場合には、当該動きベクトルを有効ではないと判定することを特徴とする座標位置制御方法。
【請求項７】
前記請求項４〜６のいずれか一つに記載された方法をコンピュータに実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、画像センサによって撮像された画像から動きベクトルを計算し、この動きベクトルに基づいてスクリーンやディスプレイ上に表示されるカーソルやアイコンなどの表示物の座標位置を更新する座標位置制御システム、座標位置制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
従来、パソコンなどの情報端末機器で用いられるポインティングデバイスとしてはマウスが広く普及しており、特に、このマウス内部にボールを設け、このボールの回転に応じて２次元的にマウスカーソルを移動制御する機械式マウスがその主流となっている。
【０００３】
ところが、かかる従来の機械式マウスでは、机上での２次元的なカーソルの移動制御しかできないため、最近では、ポインティングデバイス内部に画像センサを設け、この画像センサで撮像した画像の動きベクトルを用いて、３次元的なカーソル移動を可能とする座標位置制御技術が知られている。
【０００４】
たとえば、特開平９−１３４２５０号公報には、３２×３２画素の画像に含まれる動きベクトルを相関演算によって計算することにより、ビデオディスプレイのカーソル位置を制御する技術が開示されている。また、特開平４−２４１０７７号公報には、相関演算ではなくオプティカルフローを用いて動きベクトルを算定する技術が開示されている。
【０００５】
したがって、これらの従来技術を用いると、画像センサが撮像した画像の相関演算またはオプティカルフローを介して動きベクトルを算定し、この動きベクトルに基づいて３次元的にカーソルを移動制御することができる。
【０００６】
【発明が解決しようとする課題】
しかしながら、これらの先行技術を用いて画像センサで撮像した画像から算定した動きベクトルを用いてカーソル位置を更新することとすると、照明条件が急激に変化したような場合には、カーソルが実際に描く軌跡がユーザの意図した軌跡と異なる場合が生じるという問題がある。
【０００７】
すなわち、画像センサの撮像範囲内の照明条件が急激に変化すると、算出された動きベクトルは、直前に算出された動きベクトルに比べて極めて大きなものとなるので、結果的にカーソルが描く軌跡にずれが生じる。
【０００８】
また、利用者がポインティングデバイスを極めてゆっくりと動かすような場合には、算出される動きベクトルの各成分は、通常整数値である座標が小数点以下の値となる場合があり、結果的にカーソル位置が動きベクトルによって正しく更新されずに停滞するという問題がある。
【０００９】
これらのことから、画像から計算される動きベクトルによってカーソル位置を更新する場合に、照明条件の急激な変化によるカーソル軌跡の逸脱や低速移動時のカーソル位置の停滞などをいかに効率良く解決するかが極めて重要な課題となっている。
【００１０】
本発明は、上記問題（課題）に鑑みてなされたものであって、画像センサなどで撮像した画像の動きベクトルを用いてカーソルなどの表示物の座標位置を制御する場合に、照明条件が急激に変化した場合やカーソルを低速で移動する場合であっても、円滑かつ柔軟にカーソルの位置座標を変移することができる座標位置制御システム、座標位置制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記目的を達成するために、この発明に係る座標位置制御システムは、画像撮像部を内在する座標指示装置と、前記画像撮像部が撮像した撮像画像の動きベクトルに基づいて前記座標指示装置の操作に応答する指示座標位置を制御する座標位置制御装置とを有する座標位置制御システムにおいて、前記座標位置制御装置は、前記画像撮像部が撮像した撮像画像の動きベクトルを算定する算定手段と、前記算定手段が算定した動きベクトルを所定のしきい値と比較して、この比較結果に基づいて前記動きベクトルの有効性を判定する判定手段と、前記判定手段が有効であると判定した動きベクトルに基づいて前記座標指示装置の操作に応答する指示座標位置を更新する更新手段とを備えたことを特徴とする。
【００１２】
この発明では、座標指示装置の画像撮像部が撮像した撮像画像の動きベクトルを算定し、算定した動きベクトルを所定のしきい値と比較して、この比較結果に基づいて動きベクトルの有効性を判定し、有効であると判定した動きベクトルに基づいて座標指示装置の操作に応答する指示座標位置を更新することとしたので、指示座標位置を円滑に更新することができる。
【００１３】
つぎの発明に係わる座標位置制御システムは、前記判定手段は、前記算定手段が算定した動きベクトルの大きさを所定のしきい値と比較して、該動きベクトルの大きさが所定のしきい値よりも大きな場合には、当該動きベクトルを有効ではないと判定することを特徴とする。
【００１４】
この発明では、算定した動きベクトルの大きさを所定のしきい値と比較して、該動きベクトルの大きさが所定のしきい値よりも大きな場合には、当該動きベクトルを有効ではないと判定することとしたので、照明条件などによって急激に変化した動きベクトルを除外して座標位置を制御することができる。
【００１５】
つぎの発明に係わる座標位置制御システムは、前記判定手段は、前記算定手段が算定した動きベクトルの大きさを所定のしきい値と比較して、該動きベクトルの大きさが所定のしきい値よりも小さな場合には、当該動きベクトルを有効ではないと判定することを特徴とする。
【００１６】
この発明では、算定した動きベクトルの大きさを所定のしきい値と比較して、該動きベクトルの大きさが所定のしきい値よりも小さな場合には、当該動きベクトルを有効ではないと判定することとしたので、照明条件などによって微少に変化する動きベクトルを除外して座標位置を制御することができる。
【００１７】
つぎの発明に係わる座標位置制御システムは、前記判定手段は、前記所定のしきい値よりも小さな動きベクトルを順次加算した累積加算ベクトルを算定し、該累積加算ベクトルの大きさが前記所定のしきい値を越えた場合に、この累積加算ベクトルを有効であると判定することを特徴とする。
【００１８】
この発明では、所定のしきい値よりも小さな動きベクトルを順次加算した累積加算ベクトルを算定し、該累積加算ベクトルの大きさが所定のしきい値を越えた場合に、この累積加算ベクトルを有効であると判定することとしたので、撮像画像が低速に変化する場合の各動きベクトルを１つの累積加算ベクトルとしてまとめることができる。
【００１９】
つぎの発明に係わる座標位置制御システムは、前記判定手段は、前記累積加算ベクトルを所定の減衰定数に基づいて時間の経過に応じて減衰させることを特徴とする。
【００２０】
この発明では、累積加算ベクトルを所定の減衰定数に基づいて時間の経過に応じて減衰させることとしたので、不安定な照明条件下の動きベクトルのノイズが累積加算された場合に生ずるカーソル位置の揺らぎを低減することができる。
【００２１】
つぎの発明に係わる座標位置制御システムは、記判定手段は、前記算定手段が算定した判定対象となる動きベクトルと直前に有効であると判定された動きベクトルとのなす角を所定の角度範囲と比較して、両動きベクトルのなす角が該所定の角度範囲内でない場合には、当該動きベクトルを有効ではないと判定することを特徴とする。
【００２２】
この発明では、判定対象となる動きベクトルと直前に有効であると判定された動きベクトルとのなす角を所定の角度範囲と比較して、両動きベクトルのなす角が該所定の角度範囲内でない場合には、当該動きベクトルを有効ではないと判定することとしたので、急激に角度が変化するような動きベクトルを除外することができる。
【００２３】
つぎの発明に係わる座標位置制御方法は、座標指示装置に内在された画像撮像部で撮像した撮像画像の動きベクトルに基づいて前記座標指示装置の操作に応答する指示座標位置を制御する座標位置制御方法において、前記画像撮像部が撮像した撮像画像の動きベクトルを算定する算定工程と、前記算定工程で算定した動きベクトルを所定のしきい値と比較して、この比較結果に基づいて前記動きベクトルの有効性を判定する判定工程と、前記判定工程で有効であると判定した動きベクトルに基づいて前記座標指示装置の操作に応答する指示座標位置を更新する更新工程とを含んだことを特徴とする。
【００２４】
この発明では、座標指示装置の画像撮像部が撮像した撮像画像の動きベクトルを算定し、算定した動きベクトルを所定のしきい値と比較して、この比較結果に基づいて動きベクトルの有効性を判定し、有効であると判定した動きベクトルに基づいて座標指示装置の操作に応答する指示座標位置を更新することとしたので、指示座標位置を円滑に更新することができる。
【００２５】
つぎの発明に係わる座標位置制御方法は、前記判定工程は、前記算定工程で算定した動きベクトルの大きさを所定のしきい値と比較して、該動きベクトルの大きさが所定のしきい値よりも大きな場合には、当該動きベクトルを有効ではないと判定することを特徴とする。
【００２６】
この発明では、算定した動きベクトルの大きさを所定のしきい値と比較して、該動きベクトルの大きさが所定のしきい値よりも大きな場合には、当該動きベクトルを有効ではないと判定することとしたので、照明条件などによって急激に変化した動きベクトルを除外することができる。
【００２７】
つぎの発明に係わる座標位置制御方法は、前記判定工程は、前記算定工程で算定した動きベクトルの大きさを所定のしきい値と比較して、該動きベクトルの大きさが所定のしきい値よりも小さな場合には、当該動きベクトルを有効ではないと判定することを特徴とする。
【００２８】
この発明では、算定した動きベクトルの大きさを所定のしきい値と比較して、該動きベクトルの大きさが所定のしきい値よりも小さな場合には、当該動きベクトルを有効ではないと判定することとしたので、照明条件などによって微少に変化する動きベクトルを除外することができる。
【００２９】
つぎの発明に係わる座標位置制御方法は、前記判定工程は、前記所定のしきい値よりも小さな動きベクトルを順次加算した累積加算ベクトルを算定し、該累積加算ベクトルの大きさが前記所定のしきい値を越えた場合に、この累積加算ベクトルを有効であると判定することを特徴とする。
【００３０】
この発明では、所定のしきい値よりも小さな動きベクトルを順次加算した累積加算ベクトルを算定し、該累積加算ベクトルの大きさが所定のしきい値を越えた場合に、この累積加算ベクトルを有効であると判定することとしたので、撮像画像が低速に変化する場合の各動きベクトルを１つの累積加算ベクトルとしてまとめることができる。
【００３１】
つぎの発明に係わる座標位置制御方法は、前記判定工程は、前記累積加算ベクトルを所定の減衰定数に基づいて時間の経過に応じて減衰させることを特徴とする。
【００３２】
この発明では、累積加算ベクトルを時間の経過に応じて減衰させることとしたので、不安定な照明条件下の動きベクトルのノイズが累積加算させた場合に生ずるカーソル位置の揺らぎを低減することができる。
【００３３】
つぎの発明に係わる座標位置制御方法は、前記判定工程は、前記算定工程で算定した判定対象となる動きベクトルと直前に有効であると判定した動きベクトルとのなす角を所定の角度範囲と比較して、両動きベクトルのなす角が該所定の角度範囲内でない場合には、当該動きベクトルを有効ではないと判定することを特徴とする。
【００３４】
この発明では、判定対象となる動きベクトルと直前に有効であると判定した動きベクトルとのなす角を所定の角度範囲と比較して、両動きベクトルのなす角が該所定の角度範囲内でない場合には、当該動きベクトルを有効ではないと判定することとしたので、急激に角度が変化するような動きベクトルを除外することができる。
【００３５】
また、つぎの発明に係わる記録媒体は、前記請求項７〜１２のいずれか一つに記載された方法をコンピュータに実行させるプログラムを記録したことで、そのプログラムが機械読み取り可能となり、これによって、請求項７〜１２の動作をコンピュータによって実現することができる。
【００３６】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係る座標位置制御システム、座標位置制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体の好適な実施の形態を詳細に説明する。
【００３７】
実施の形態１．
図１は、実施の形態１に係わる座標位置制御システムのシステム構成を示す機能ブロック図である。同図に示すように、この座標位置制御システムは、ポインティングデバイス１０、画像処理装置１１および表示部１２からなる。ポインティングデバイス１０は、画像を撮像する画像センサ１０ａと、この画像センサ１０ａが撮像した画像データを画像処理装置１１に送信する画像データ送信部１０ｂとを有し、利用者がこのポインティングデバイス１０を操作すると、このポインティングデバイス１０に内蔵した画像センサ１０ａによって画像が順次取り込まれ、画像データ送信部１０ｂにより有線または無線通信で画像処理装置１１に送信される。
【００３８】
画像処理装置１１は、方向計算部１１ａ、方向補正部１１ｂ、座標更新部１１ｃおよび表示制御部１１ｄを有し、ポインティングデバイス１０から撮像画像を受け取ると、方向計算部１１ａがこの撮像画像から動きベクトルを計算し、方向補正部１１ｂがこの動きベクトルと所定のしきい値とを比較して、動きベクトルを補正並びに有効性の判断をおこなう。
【００３９】
具体的には、この方向計算部１１ａは、オプティカルフローを計算することによって動きベクトルを取得する。ここで、このオプティカルフローとは、動く物体の各点の近傍の速度ベクトルが滑らかに変化すると仮定した拘束条件を表す汎関数を用いて平衡状態に収束するまで繰り返し計算をおこなった計算結果として得られるものであり、たとえば特開平４−２４１０７７号公報などにその内容が開示されている。
【００４０】
また、方向補正部１１ｂは、動きベクトルの大きさをしきい値処理して、動きベクトルの大きさがしきい値よりも大きな場合には、この動きベクトルを有効ではないと判定して、かかる動きベクトルを座標更新部１１ｃに出力せず、動きベクトルの大きさがしきい値よりも小さな場合に動きベクトルを有効であると判定して座標更新部１１ｃに出力する。
【００４１】
この方向補正部１１ｂを設けた理由は、照明条件などで動きベクトルが大きく変動した場合に、かかる変動がもたらすカーソル表示への影響を低減し、円滑なカーソル表示を実現するためである。
【００４２】
座標更新部１１ｃは、方向補正部１１ｂから受け取った有効な動きベクトルに基づいて座標位置を更新する処理部であり、表示制御部１１ｄは、座標更新部１１ｃが更新した表示部１２上の該当する座標位置にカーソルを表示制御するデバイスコントローラである。
【００４３】
表示部１２は、各種データのみならずカーソルを指示された位置に表示するディスプレイやスクリーンからなる表示デバイスであり、この表示部１２上のカーソルは表示制御部１１ｄによって表示制御される。なお、ここでは説明の便宜上、カーソル以外の表示についての説明を省略するが、画像処理装置１１または他の装置を用いて各種データを表示部１２上に表示できる。
【００４４】
次に、図１に示す座標位置制御システムの使用環境の一例について説明する。図２は、図１に示す座標位置制御システムの使用環境の一例を示す図である。同図（ａ）は、操作者２４がポインティングデバイス２１を方向２５に動かす操作をおこなった状況を示しており、この場合には、ポインティングデバイス２１に組み込まれた画像センサ２２によって撮像範囲２３の画像が撮像され、その画像に含まれる動きベクトルが画像処理装置２７に送信される。
【００４５】
同図（ｂ）は、ポインティングデバイス２１から送信された画像を画像処理装置２７が受信し、受信した画像に基づいて動きベクトルを算定し、この動きベクトルの有効性を判定し、有効であると判定された動きベクトルに基づいてスクリーン２８上のカーソルの座標位置２８ｂを方向２８ａ上の座標位置２８ｃに更新し、スクリーン２８上の座標位置２８ｃに投光機２６でカーソルを表示した状況を示している。
【００４６】
図３は、図１に示す方向計算部１１ａが計算するオプティカルフローおよび動きベクトルの一例を示す図であり、同図（ａ）は、ポインティングデバイス２１の撮像範囲２３内に含まれる動きを示すオプティカルフローであり、同図（ｂ）は、このオプティカルフローを形成する各動きベクトルの平均（平均ベクトル３０）を求めたものである。なお、本実施の形態では、オプティカルフローから動きベクトルを求めることとしたが、画像の相関演算から動きベクトルを求めることもできる。
【００４７】
次に、図１に示す方向補正部１１ｂがおこなう有効性の判定に係わる概念について説明する。なお、図４（ａ）は本発明に係わるしきい値処理をおこなわない場合のカーソル位置の軌跡を示し、同図（ｂ）は、本発明に係わるしきい値処理をおこなった場合のカーソル位置を示す図である。
【００４８】
図４（ａ）は、ポインティングデバイス１０の画像センサ１０ａの撮像範囲内の照明条件の急激な変化に伴って、方向計算部１１ａが新たな動きベクトル４３を算定することにより、元の動きベクトルの列４１とその後の動きベクトル４２とが大きく離隔した状況を示している。
【００４９】
このように、画像センサ１０ａの撮像範囲内の照明条件が急激に変化すると、カーソルの描く軌跡が大きく乱れてしまい、ポインティングデバイス１０の操作性が問題となる。このため、図１に示す方向補正部１１ｂでは、図４（ａ）中に円４４として示したような動きベクトルの大きさに関するしきい値を設け、この動きベクトルの大きさがしきい値４４を超える場合には、動きベクトルを有効ではないものと判定することにより、図４（ａ）に示すような軌跡の逸脱を防止し、同図（ｂ）に示すような連続的な軌跡を得ることとしている。
【００５０】
次に、図１に示す方向補正部１１ｂによる動きベクトルの有効性の判定手順について説明する。図５は、図１に示す方向補正部１１ｂによる動きベクトルの有効性の判定手順を示すフローチャートである。同図に示すように、ポインティングデバイス１０の画像センサ１０ａが撮像した画像に基づいて方向計算部１１ａが動きベクトルを算定すると、方向補正部１１ｂでは、この動きベクトルの大きさを求める（ステップＳ１００）。
【００５１】
その後、算定した動きベクトルの大きさを図４（ａ）の円４４に示したような所定のしきい値と比較して（ステップＳ１０１）、この動きベクトルの大きさがしきい値よりも小さな場合には（ステップＳ１０２否定）、この動きベクトルを有効であると判定して座標更新部１１ｃに出力し、座標更新部１１ｃによりカーソルの座標が更新される（ステップＳ１０３）。
【００５２】
これに対して、この動きベクトルの大きさがしきい値よりも大きな場合には（ステップＳ１０２肯定）、この動きベクトルを有効ではないと判定し、座標更新部１１ｃには出力しない。このため、かかる場合には座標更新部１１ｃによる座標位置の更新はおこなわれない。
【００５３】
上述してきたように、本実施の形態１では、方向計算部１１ａが画像センサ１０ａが撮像した画像から動きベクトルを計算し、方向補正部１１ｂは、この動きベクトルが所定のしきい値よりも大きな場合には、照明条件などが急激に変化したものとしてこれを有効ではないと判定するよう構成したので、照明条件などが突然変化した場合であってもカーソル軌跡の逸脱を防ぎ、ポインティングデバイスとしての操作性を向上させることができる。
【００５４】
なお、本実施の形態では画像からの動きベクトルを算出する際にオプティカルフローを用いる場合について説明したが、本発明はこれに限定されるものではなく、他の方式を用いて動きベクトルを計算することもできる。たとえば、画像を水平・垂直方向の射影データに変換したのち、これに対してフレーム間で相関演算を適用することにより、垂直方向および水平方向の動きベクトルが計算することできる。また、上記射影データから一次元的なオプティカルフローを計算し、これらの平均ベクトルで垂直方向および水平方向の動きベクトルを計算することもできる。
【００５５】
また、この方向補正部１１ｂでは、算定した動きベクトルの大きさが所定のしきい値（たとえばｔｈ１）よりも大きな場合に、この動きベクトルを有効ではないものとして座標更新部１１ｃに出力しないこととしたが、この動きベクトルの大きさが所定のしきい値（たとえばｔｈ２）よりも小さな場合に、この動きベクトルを座標更新部１１ｃに出力しないよう構成することもできる。
【００５６】
すなわち、利用者がポインティングデバイス１０を全く操作していない場合であっても、照明条件が変動すると小さな動きベクトルが多発し、この動きベクトルによってカーソル位置が微少変動する状況が考えられる。このため、この動きベクトルの大きさが所定のしきい値（ｔｈ２）よりも小さな場合には、これを有効ではないとして座標更新部１１ｃに出力しないことにより、利用者の意図しないカーソル変動を抑制することができる。
【００５７】
実施の形態２．
本実施の形態では、利用者がポインティングデバイス１０を極めてゆっくりと操作した場合に、順次画像データから算出される小さな動きベクトルを累積加算し、この累積加算した動きベクトルに基づいて座標位置を更新することにより、円滑にカーソルを移動できるようにした実施の形態を示している。
【００５８】
なお、この場合においても、座標位置制御システムのシステム構成は、図１に示す構成と同様のものになるので、ここではその説明を省略し、方向補正部１１ｂによる有効性の判定処理を中心に説明することとする。
【００５９】
この実施の形態で用いる方向補正部１１ｂは、上記実施の形態１と同様に動きベクトルの大きさを所定のしきい値と比較するしきい値処理をおこなうが、この動きベクトルの大きさが所定のしきい値よりも小さな場合には、その動きベクトルをメモリに保持しつつ順次加算して累積加算ベクトルを求め、この累積加算ベクトルの大きさがしきい値を超えた際に、累積加算した動きベクトルを有効であると判定して座標更新部１１ｃに出力する。
【００６０】
図６は、本実施の形態２に係わる方向補正部１１ｂの処理概念を説明するための説明図である。同図（ａ）は、しきい値処理を考慮しない場合のカーソルの軌跡を示しており、実線の矢印はその大きさがしきい値６１を超える動きベクトルを示し、また点線の矢印はその大きさがしきい値６１以下の動きベクトルを示している。
【００６１】
このように、動きベクトルの大きさが所定のしきい値以下であるにもかかわらず、その動きベクトルを全て座標更新部１１ｃに出力したのでは、カーソルの動きが複雑化する。
【００６２】
これに対し、図６（ｂ）は、動きベクトルの大きさを所定のしきい値（円６１）と比較して、しきい値以下の動きベクトルを有効ではないとした場合の処理結果を示す図である。この場合には、最終的なカーソル位置が本来端点６２に所在すべきであるにもかかわらず、しきい値処理の結果として端点６３にとどまるため、点線６４に示す差異が生じてしまう。
【００６３】
このため、本実施の形態に係わる方向補正部１１ｂでは、上記点線６４で示す差異を補うために、しきい値処理により有効でないとして切り捨てた動きベクトルをメモリに保持しつつ順次加算して累積加算ベクトルを求め、この累積加算ベクトルの大きさがしきい値を超えた場合に、この累積加算ベクトルを有効なものと判定して座標更新部１１ｃに出力することとしている。
【００６４】
図５（ｃ）は、本実施の形態に係わる補正処理をおこなった処理結果の一例を示す図であり、この場合には、しきい値処理で生じた実際のカーソル移動とのずれ６４を補うために、カーソルが端点６３の位置に更新された後に有効でないとして切り捨てられた動きベクトルを加算し、加算した累積加算ベクトルの大きさがしきい値６１を超えたときにこの累積加算ベクトルで更新する。このため、有効ではないとして切り捨てられたカーソル位置更新分を補うことができる。
【００６５】
特に、ポインティングデバイス１０を常にゆっくりとした速さで動かすような場合には、単に所定のしきい値以下の動きベクトルを切り捨てたとしても、上記カーソルのずれが生ずるため、しきい値以下の動きベクトルを累積加算する本実施の形態が有効である。
【００６６】
次に、本実施の形態２で用いる方向補正部１１ｂの処理手順について説明する。図７は、実施の形態２で用いる方向補正部１１ｂの処理手順を示すフローチャートである。同図に示すように、ポインティングデバイス１０の画像センサ１０ａが撮像した画像に基づいて方向計算部１１ａが動きベクトルを算定すると、方向補正部１１ｂでは、この動きベクトルの大きさを算定する（ステップＳ２０１）。
【００６７】
その後、算定した動きベクトルの大きさを所定のしきい値と比較して（ステップＳ２０２）、この動きベクトルの大きさがしきい値よりも大きな場合には（ステップＳ２０３否定）、方向補正部１１ｂはこの動きベクトルを有効であると判定して座標更新部１１ｃに動きベクトルを出力し、座標更新部１１ｃによってカーソルの座標位置が更新され（ステップＳ２０４）、方向補正部１１ｂが累積加算ベクトルを記憶するメモリをクリアする（ステップＳ２０５）。
【００６８】
これに対して、この動きベクトルの大きさがしきい値よりも小さな場合には（ステップＳ２０３肯定）、この動きベクトルを有効ではないとしてメモリに保持した動きベクトルと加算し（ステップＳ２０６）、累積加算した動きベクトルの大きさをしきい値と比較する（ステップＳ２０７）。
【００６９】
その結果、累積加算した動きベクトルの大きさがしきい値よりも小さければ（ステップＳ２０８否定）、該累積加算したベクトルをメモリに保持し（ステップＳ２０９）、累積加算した動きベクトルの大きさがしきい値を越えれば（ステップＳ２０８肯定）、方向補正部１１ｂは座標更新部１１ｃに動きベクトルを出力して、この座標更新部１１ｃによりカーソルの座標が更新され（ステップＳ２０４）、方向補正部１１ｂが用いる累積加算ベクトル記憶用のメモリがクリアされる（ステップＳ２０５）。
【００７０】
上述してきたように、本実施の形態では、画像から計算される動きベクトルに関してしきい値処理を施した結果切り捨てられるベクトルを累積加算してカーソル位置の更新に反映させるよう構成したので、かなりゆっくりとしたポインティングデバイスの動きも拾うことができ、ポインティングデバイスとしての操作性を向上させることができる。
【００７１】
なお、本実施の形態２で用いる方向補正部と上記実施の形態１で用いる方向補正部をそれぞれ設け、実施の形態１と同様に所定のしきい値（ｔｈ１）よりも大きな動きベクトルを排除しつつ、このしきい値（ｔｈ１）とは別のしきい値（ｔｈ２）を用いて上記処理をおこなうこともできる。
【００７２】
実施の形態３．
ところで、上記実施の形態２では、方向補正部１１ｂがその大きさが所定のしきい値よりも小さい動きベクトルを累積加算することとしたが、各フレームごとに得られる累積加算したベクトルの大きさを減衰することもできる。このため、本実施の形態では、かかる累積加算したベクトルの大きさを時間とともに減衰させる実施の形態を示すこととする。
【００７３】
照明条件などが不安定な場合には、利用者が実際にポインティングデバイス１０を操作していなくても、照明条件の変化を動きベクトルとして計算してしまう場合があり、このような場合にも累積加算ベクトルが生ずるので、上記実施の形態２で述べた動きベクトルのしきい値処理の累積加算ベクトルを常にカーソル位置の更新に反映させることとすると、カーソルに頻繁に揺らぎが生ずる。
【００７４】
このため、本実施の形態では、かかる状況に対処するために、累積加算ベクトルの大きさを時間経過とともに減衰させ、照明条件の変化に伴うカーソル位置の揺らぎを回避している。
【００７５】
なお、かかる累積加算ベクトルの減衰をおこなう場合のシステム構成は、図１に示す構成と同様のものとなり、方向補正部１１ｂが累積加算ベクトルの減衰処理をおこなう点のみが異なる。
【００７６】
そこで、本実施の形態に係わる方向補正部１１ｂが累積加算ベクトルの減衰処理をおこなう際に用いる減衰定数についてまず最初に説明する。図８は、実施の形態３に係わる方向補正部１１ｂが採用する減衰定数の一例を示す図である。この方向補正部１１ｂは、同図（ａ）に示すように時間の経過にしたがって一次曲線的にベクトルの大きさを減衰する減衰定数や、同図（ｂ）に示すように時間の経過にしたがって二次曲線的にベクトルの大きさを減衰する減衰定数を用いて、累積加算ベクトルを減衰処理することができる。
【００７７】
次に、この実施の形態３に係わる方向補正部１１ｂの処理手順について説明する。図９は、実施の形態３に係わる方向補正部１１ｂの処理手順を示すフローチャートである。同図に示すように、この方向補正部１１ｂでは、方向計算部１１ａが動きベクトルを算定すると、この動きベクトルの大きさを算定する（ステップＳ３０１）。
【００７８】
その後、算定した動きベクトルの大きさを所定のしきい値と比較して（ステップＳ３０２）、この動きベクトルの大きさがしきい値よりも大きな場合には（ステップＳ３０３否定）、この動きベクトルを有効なものとして座標更新部１１ｃに動きベクトルを出力し、この座標更新部１１ｃによってカーソルの座標位置が更新され（ステップＳ３０４）、方向補正部１１ｂに設けられた累積加算ベクトル用のメモリをクリアする（ステップＳ３０５）。
【００７９】
これに対して、この動きベクトルの大きさがしきい値よりも小さな場合には（ステップＳ３０３肯定）、この動きベクトルをメモリに保持した累積加算ベクトルと加算し（ステップＳ３０６）、加算した累積加算ベクトルの大きさをしきい値と比較する（ステップＳ３０７）。
【００８０】
その結果、累積加算ベクトルの大きさがしきい値よりも小さければ（ステップＳ３０８否定）、累積加算した動きベクトルを上記一次曲線または二次曲線状に減衰する減衰定数を用いて減衰させ（ステップＳ３０９）、減衰させた累積加算ベクトルをメモリに保持する（ステップＳ３１０）。
【００８１】
これに対して、累積加算ベクトルの大きさがしきい値を越えれば（ステップＳ３０８肯定）、方向補正部１１ｂは座標更新部１１ｃに動きベクトルを出力して、この座標更新部１１ｃがカーソルの座標を更新するとともに（ステップＳ３０４）、方向補正部１１ｂに設けられたメモリをクリアする（ステップＳ３０５）。
【００８２】
このように、本実施の形態に係わる方向補正部１１ｂでは、実施の形態２で説明した方向補正部１１ｂの処理に、ステップＳ３０９に示す累積加算ベクトルの減衰処理を加えた処理をおこなっている。
【００８３】
上述してきたように、本実施の形態では、上記実施の形態２で説明した累積加算ベクトルの大きさを減衰させるよう構成したので、照明条件が不安定な場合にも安定したカーソル位置更新をおこなう行うことができ、ポインティングデバイスとしての操作性を向上させることができる。
【００８４】
実施の形態４．
ところで、上記実施の形態１〜３では、動きベクトルの大きさに基づいて動きベクトルの有効性を判定する場合を示したが、この動きベクトルの方向に基づいて動きベクトルの有効性を判定することもできる。このため、本実施の形態４では、動きベクトルの方向に基づいて動きベクトルの有効性を判定する場合を示すこととする。
【００８５】
なお、この場合のシステム構成は、図１に示す構成と同様のものとなり、方向補正部１１ｂの処理内容のみが異なるため、以下ではこの方向補正部１１ｂの処理概念および処理手順について説明する。
【００８６】
図１０は、実施の形態４に係わる方向補正部１１ｂの処理概念を説明するための説明図であり、この方向補正部１１ｂは、直前の動きベクトルと現時点の動きベクトルとのなす角を所定のしきい値（角度範囲）と比較し、両ベクトルのなす角がこの角度範囲に収まる場合にのみ現時点の動きベクトルを有効とする処理をおこなっている。
【００８７】
具体的には、図１０（ａ）に示すように、かかる角度を用いたしきい値をおこなわない場合には、図中点線で示したような動きベクトル７１及び７２を排除することができないため、ポインティングデバイス１０を実際の操作と逸脱するカーソル移動がなされる場合が生じ、カーソルの移動軌跡が不安定になる。
【００８８】
これに対して、図１０（ｂ）に示すように、本実施の形態に係わる角度を用いたしきい値処理をおこなうと、直前の動きベクトル７３を基準とした現時点の動きベクトルとのなす角が角度範囲７４に収まる場合には、現時点の動きベクトルを有効とし、また角度範囲７４に収まらない場合には、現時点の動きベクトルを無効とする。
【００８９】
たとえば、図中に点線で示すベクトル７５が現時点の動きベクトルである場合には、直前の動きベクトル７３とこの動きベクトル７５とのなす角が角度範囲７４に収まらないので、この動きベクトル７５は無効とされる。逆に、図中のベクトル７６が現時点での動きベクトルである場合には、直前の動きベクトル７３とこの動きベクトル７６とのなす角が角度範囲７４に収まるので、この動きベクトル７６は有効なものとなる。なおここでは、しきい値の役割を果たすこの角度範囲７４を−９０度〜＋９０度とした場合を示している。
【００９０】
なお、図１０（ｃ）には、同図（ａ）のものに角度を用いたしきい値処理を施した場合の処理結果を示しており、同図（ａ）に点線で示す動きベクトル７１および７２が無効とされるので、結果的に動きベクトル７７〜７９が有効なものとされ、カーソルの移動軌跡を滑らかなものとすることができる。
【００９１】
次に、実施の形態４に係わる方向補正部１１ｂの処理手順について説明する。図１１は、実施の形態４に係わる方向補正部１１ｂの処理手順を示すフローチャートである。同図に示すように、この方向補正部１１ｂでは、方向計算部１１ａが動きベクトルを算定すると（ステップＳ４０１）、この動きベクトルの方向とメモリに保持した直前の動きベクトルとのなす角を算定し（ステップＳ４０２）、算定した角度をしきい値となる角度範囲と比較する（ステップＳ４０３）。
【００９２】
そして、算定した角度がしきい値よりも小さく所定の角度範囲に収まる場合には（ステップＳ４０４否定）、現時点の動きベクトルを有効なものとして、この動きベクトルを座標更新部１１ｃに出力し、座標更新部１１ｃがこの動きベクトルに基づいて座標位置を更新した後（ステップＳ４０５）、この動きベクトルを次回の動きベクトルの有効性の判断材料としてメモリに保持する（ステップＳ４０６）。
【００９３】
これに対して、算定した角度がしきい値よりも大きく所定の角度範囲に収まらない場合には（ステップＳ４０４肯定）、現時点の動きベクトルを無効なものとして、この動きベクトルを座標更新部１１ｃに出力しない。
【００９４】
上述してきたように、本実施の形態では、直前の動きベクトルに対する現時点の動きベクトルのなす角についてしきい値（角度範囲）を設け、この角度範囲外の動きベクトルを無効なものとして切り捨てるよう構成したので、カーソルの軌跡によって円などの曲線を滑らかに描くことが可能になる。
【００９５】
なお、本実施の形態では、上記の両ベクトルがなす角のしきい値として−９０度〜＋９０度までの１８０度の範囲としたが、本発明はこれに限定されるものではなく、これよりも狭い角度範囲や広い角度範囲を用いることもできる。
【００９６】
【発明の効果】
以上説明したように、この発明によれば、座標指示装置の画像撮像部が撮像した撮像画像の動きベクトルを算定し、算定した動きベクトルを所定のしきい値と比較して、この比較結果に基づいて動きベクトルの有効性を判定し、有効であると判定した動きベクトルに基づいて座標指示装置の操作に応答する指示座標位置を更新するよう構成したので、指示座標位置を円滑に更新することができ、もってカーソル位置制御をおこなう際の軌跡の乱れを低減し、座標指示装置の操作性を高めることができるという効果を奏する。
【００９７】
また、この発明によれば、算定した動きベクトルの大きさを所定のしきい値と比較して、該動きベクトルの大きさが所定のしきい値よりも大きな場合には、当該動きベクトルを有効ではないと判定するよう構成したので、照明条件などによって急激に変化した動きベクトルを除外し、照明条件などが急激に変化した場合であってもカーソルの軌跡の乱れを低減し、座標指示装置の操作性を高めることができるという効果を奏する。
【００９８】
また  この発明によれば、算定した動きベクトルの大きさを所定のしきい値と比較して、該動きベクトルの大きさが所定のしきい値よりも小さな場合には、当該動きベクトルを有効ではないと判定するよう構成したので、照明条件などによって微少に変化する動きベクトルを除外し、操作者が意図しない照明条件によるカーソル位置の変動を抑制することができるという効果を奏する。
【００９９】
また、この発明によれば、所定のしきい値よりも小さな動きベクトルを順次加算した累積加算ベクトルを算定し、該累積加算ベクトルの大きさが所定のしきい値を越えた場合に、この累積加算ベクトルを有効であると判定するよう構成したので、撮像画像が低速に変化する場合の各動きベクトルを１つの加算ベクトルとしてまとめ、座標指示装置を極めてゆっくり操作した場合であっても、かかる操作を上記照明条件に基づく変動と区別して、一連の操作に応答するカーソル位置の移動を滑らかに変化させることができるという効果を奏する。
【０１００】
また、この発明によれば、累積加算ベクトルを所定の減衰定数に基づいて時間の経過に応じて減衰させるよう構成したので、不安定な照明条件下の動きベクトルのノイズが累積加算させた場合に生ずるカーソル位置の揺らぎを低減し、座標指示装置の操作性をより高めることができるという効果を奏する。
【０１０１】
また、この発明によれば、判定対象となる動きベクトルと直前に有効であると判定した動きベクトルとのなす角を所定の角度範囲と比較して、両動きベクトルのなす角が該所定の角度範囲内でない場合には、当該動きベクトルを有効ではないと判定するよう構成したので、急激に角度が変化するような動きベクトルを除外し、もって円などの曲線を滑らかに描くことができるという効果を奏する。
【図面の簡単な説明】
【図１】  実施の形態１に係わる座標位置制御システムのシステム構成を示す機能ブロック図である。
【図２】  図１に示す座標位置制御システムの実際の使用環境の一例を示す図である。
【図３】  図１に示す座標位置制御システムが算定するオプティカルフローおよび動きベクトルの一例を示す図である。
【図４】  図１に示す方向補正部による処理概念を説明するための説明図である。
【図５】  図１に示す方向補正部の処理手順を示すフローチャートである。
【図６】  実施の形態２に係わる方向補正部の概念を説明するための説明図である。
【図７】  実施の形態２で用いる方向補正部の処理手順を示すフローチャートである。
【図８】  実施の形態３に係わる方向補正部が採用する減衰定数の一例を示す図である。
【図９】  実施の形態３に係わる方向補正部の処理手順を示すフローチャートである。
【図１０】  実施の形態４に係わる方向補正部の処理概念を説明するための説明図である。
【図１１】  実施の形態４に係わる方向補正部の処理手順を示すフローチャートである。
【符号の説明】
１０  ポインティングデバイス、１０ａ  画像センサ、１０ｂ  画像データ送信部、１１  画像処理装置、１１ａ  方向計算部、１１ｂ  方向補正部、１１ｃ座標更新部、１１ｄ  表示制御部、１２  表示部、２１  ポインティングデバイス、２２  画像センサ、２３  画像センサの撮像範囲、２４  利用者、２５  ポインティングデバイスの操作方向、２６  投影機、２７  画像処理装置、２８スクリーン、２８ａ  スクリーン上のカーソル位置更新ベクトル、２８ｂ  更新前のカーソル位置、２８ｃ  更新後のカーソル位置、３０  平均ベクトル、４１，４２  動きベクトルによるカーソル更新系列、４３  照明条件の急激な変化時の動きベクトル、４４，６１  ベクトルの大きさに関するしきい値、６２  しきい値処理をおこなわない場合のカーソル更新位置、６３  しきい値処理をおこなった場合のカーソル更新位置、６４  カーソル更新位置のずれ、６５  しきい値処理により無効とされた累積加算ベクトル、７４  しきい値をなす角度範囲、７１，７２，７３，７５，７７，７８，７９  動きベクトル。
【図１】
0004176230.tif 000002
【図２】
0004176230.tif 000003
【図３】
0004176230.tif 000004
【図４】
0004176230.tif 000005
【図５】
0004176230.tif 000006
【図６】
0004176230.tif 000007
【図７】
0004176230.tif 000008
【図８】
0004176230.tif 000009
【図９】
0004176230.tif 000010
【図１０】
0004176230.tif 000011
【図１１】
0004176230.tif 000012