(57)【特許請求の範囲】
【請求項１】
互いに異なる複数の方向から認識対象者を撮像する撮像手段と、
認識対象者が３次元空間内の特定箇所を指し示している状況を前記撮像手段が複数の方向から撮像することで得られた複数の画像から前記認識対象者に相当する画像部を抽出し、認識対象者が腕を屈曲又は伸長させることで位置が変化する特徴点及び認識対象者が腕を屈曲及び伸長させても位置が変化しない基準点の３次元座標を求める演算手段と、
前記基準点から前記特徴点に向かう方向に基づいて前記３次元空間内の前記特定箇所が存在している方向を判断すると共に、前記基準点と前記特徴点との距離を所定の変換条件に従って認識対象者と前記特定箇所との距離に変換することにより、前記基準点から前記特徴点に向かう方向に沿った前記３次元空間内の前記特定箇所の位置を判断し、前記３次元空間内の前記特定箇所の３次元座標を判断する判断手段と、
を含むハンドポインティング装置。
【請求項２】
腕を屈曲及び伸長させる動作を行うよう認識対象者に要請し、認識対象者が腕を屈曲及び伸長させる動作を行ったときの前記基準点と前記特徴点との距離の変化幅に基づいて、前記基準点と前記特徴点との距離を認識対象者と前記特定箇所との距離に変換する変換条件を予め設定する変換条件設定手段を更に備えたことを特徴とする請求項１記載のハンドポインティング装置。
【請求項３】
互いに異なる複数の方向から認識対象者を撮像する撮像手段と、
認識対象者が３次元空間内の特定箇所を指し示している状況を前記撮像手段が複数の方向から撮像することで得られた複数の画像から前記認識対象者に相当する画像部を抽出し、認識対象者が腕を屈曲又は伸長させることで位置が変化する特徴点及び認識対象者が腕を屈曲及び伸長させても位置が変化しない基準点の３次元座標を求める演算手段と、
前記基準点から前記特徴点に向かう方向に基づいて前記３次元空間内の前記特定箇所が存在している方向を判断すると共に、前記基準点と前記特徴点との距離に基づいて前記基準点から前記特徴点に向かう方向に沿った前記３次元空間内の前記特定箇所の位置を判断し、前記３次元空間内の前記特定箇所の３次元座標を判断する判断手段と、
前記基準点と前記特徴点との距離の変化速度を検出し、前記基準点と前記特徴点との距離が前記閾値以上の変化速度で増加した場合には第１の所定の処理を行い、前記基準点と前記特徴点との距離が前記閾値以上の変化速度で減少した場合には前記第１の所定の処理と異なる第２の所定の処理を行う処理手段と、
を含むハンドポインティング装置。
【請求項４】
互いに異なる複数の方向から認識対象者を撮像する撮像手段と、
認識対象者が３次元空間内の特定箇所を指し示している状況を前記撮像手段が複数の方向から撮像することで得られた複数の画像から前記認識対象者に相当する画像部を抽出し、認識対象者が腕を屈曲又は伸長させることで位置が変化する特徴点及び認識対象者が腕を屈曲及び伸長させても位置が変化しない基準点の３次元座標を求める演算手段と、
前記基準点から前記特徴点に向かう方向に基づいて前記３次元空間内の前記特定箇所が存在している方向を判断すると共に、前記基準点と前記特徴点との距離に基づいて前記基準点から前記特徴点に向かう方向に沿った前記３次元空間内の前記特定箇所の位置を判断し、前記３次元空間内の前記特定箇所の３次元座標を判断する判断手段と、
前記基準点と前記特徴点との距離の変化速度を検出し、検出した前記基準点と前記特徴点との距離の変化速度が閾値以上の場合に所定の処理を行う処理手段と、
前記処理手段に所定の処理を行わせるために腕を屈曲又は伸長させる動作を行うよう認識対象者に要請し、認識対象者が腕を屈曲又は伸長させる動作を行ったときの前記基準点と前記特徴点との距離の変化速度に基づいて前記閾値を予め設定する閾値設定手段と、
を含むハンドポインティング装置。
【請求項５】
３次元的画像を表示するための表示手段と、
前記表示手段に３次元的画像を表示させる表示制御手段と、
認識対象者の手が特定の形になったか否かを判定する判定手段と、
を更に備え、
認識対象者は、前記表示手段に表示された３次元的画像が表す仮想的な３次元空間内の特定箇所を指し示し、
前記表示制御手段は、前記判定手段によって認識対象者の手が前記特定の形になっていると判定されている状態で、前記基準点と前記特徴点との距離が変化した場合には、前記表示手段に表示されている３次元的画像が前記基準点と前記特徴点との距離の変化に応じて拡大又は縮小表示されるように前記表示手段を制御する
ことを特徴とする請求項１、請求項３及び請求項４の何れか１項記載のハンドポインティング装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はハンドポインティング装置に係り、特に、互いに異なる複数の方向から認識対象者を撮像し、認識対象者が指し示している特定箇所の座標を判断するハンドポインティング装置に関する。
【０００２】
【従来の技術】
従来より、所定の情報を表示するディスプレイ、ディスプレイの近傍に到来した情報入力者を照明する照明装置、到来した情報入力者を互いに異なる方向から撮像する複数の撮像手段を備え、到来した情報入力者がディスプレイ上の任意の位置を指等によって指し示した状況を複数の撮像手段によって撮像し、撮像によって得られた複数の画像に基づいて情報入力者を認識し、情報入力者が指示したディスプレイ上の位置を判断し、ディスプレイ上の指示位置にカーソル等を表示すると共に、情報入力者が親指を上げるクリック動作を行ったことを検出すると、ディスプレイ上の指示位置がクリックされたと認識して所定の処理を行うハンドポインティング入力装置が知られている（例えば特開平4-271423号公報、特開平 5-19957号公報、特開平5-324181号公報等参照）。
【０００３】
上記のハンドポインティング入力装置によれば、情報入力者がキーボードやマウス等の入力機器に触れることなく、情報処理装置に対して各種の指示を与えたり、各種の情報を入力することが可能となるので、情報処理装置を利用するための操作の簡素化を実現できる。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記のハンドポインティング入力装置は、情報入力者がディスプレイの表示面上の何れの位置を指示しているのかは判断できるものの、ディスプレイに表示されている画像が擬似的に３次元空間を表す画像であった場合に、前記画像が表す仮想的な３次元空間内の何れの箇所を情報入力者が指示しているのか（指示している箇所の３次元座標）を判断することは不可能であった。擬似的に３次元空間を表す画像の表示に関しては、一点透視法や二点透視法に則った画像を平面ディスプレイに表示する以外にも、液晶シャッタやレンチキュラーレンズを利用した３次元ディスプレイに画像を表示したり、ホログラフィー技術を適用して立体画像を表示する等のように種々の手法があり（以下、これらの画像を３次元的画像と総称する）、情報入力者の指示対象として上記のような３次元的画像を用いることができない、という欠点があった。
【０００５】
また、上記の欠点は情報入力者による指示対象が、３次元的画像が表す仮想的な３次元空間である場合に限定されるものではなく、情報入力者による指示対象が現実の３次元空間内である場合にも、３次元空間内の何れの箇所を情報入力者が指示しているのかを判断することは不可能であった。
【０００６】
本発明は上記事実を考慮して成されたもので、情報入力者が３次元空間内の任意の箇所を指し示す場合にも、指し示された箇所の３次元座標を判断することができるハンドポインティング装置を得ることが目的である。
【０００７】
【課題を解決するための手段】
上記目的を達成するために請求項１記載の発明に係るハンドポインティング装置は、互いに異なる複数の方向から認識対象者を撮像する撮像手段と、認識対象者が３次元空間内の特定箇所を指し示している状況を前記撮像手段が複数の方向から撮像することで得られた複数の画像から前記認識対象者に相当する画像部を抽出し、認識対象者が腕を屈曲又は伸長させることで位置が変化する特徴点及び認識対象者が腕を屈曲及び伸長させても位置が変化しない基準点の３次元座標を求める演算手段と、前記基準点から前記特徴点に向かう方向に基づいて前記３次元空間内の前記特定箇所が存在している方向を判断すると共に、前記基準点と前記特徴点との距離を所定の変換条件に従って認識対象者と前記特定箇所との距離に変換することにより、前記基準点から前記特徴点に向かう方向に沿った前記３次元空間内の前記特定箇所の位置を判断し、前記３次元空間内の前記特定箇所の３次元座標を判断する判断手段と、を含んで構成している。
【０００８】
請求項１記載の発明では、撮像手段によって互いに異なる複数の方向から認識対象者（情報入力者）を撮像する。この撮像手段は、ビデオカメラ等から成る複数の撮像装置によって認識対象者を複数の方向から撮像するよう構成してもよいし、平面ミラー等の光反射手段を設け、単一の撮像装置により認識対象者を直接撮像すると共に平面ミラーに映っている認識対象者の虚像を撮像することで、認識対象者を複数の方向から撮像するよう構成することも可能である。
【０００９】
また演算手段は、認識対象者が３次元空間内の特定箇所を指し示している状況を撮像手段が複数の方向から撮像することで得られた複数の画像から認識対象者に相当する画像部を抽出し、認識対象者が腕を屈曲又は伸長させることで位置が変化する特徴点及び認識対象者が腕を屈曲及び伸長させても位置が変化しない基準点の３次元座標を求める。なお特徴点としては、例えば認識対象者の手や指等の先端、或いは認識対象者が把持している指示器の先端等に相当する点を用いることができ、基準点としては、例えば認識対象者の胴体部（例えば胸部や腕の付け根等）に相当する点を用いることができる。また３次元空間は、平面ディスプレイに表示した一点透視法や二点透視法に則った画像、液晶シャッタやレンチキュラーレンズを利用した３次元ディスプレイに表示した画像、ホログラフィー技術を適用して表示した立体画像等の３次元的画像が表す仮想的な３次元空間であってもよいし、実際の３次元空間であってもよい。
【００１０】
そして判断手段は、基準点から特徴点に向かう方向に基づいて、３次元空間内の特定箇所が存在している方向を判断すると共に、基準点と特徴点との距離を所定の変換条件に従って認識対象者と特定箇所との距離に変換することにより、基準点から特徴点に向かう方向に沿った３次元空間内の特定箇所の位置を判断し、３次元空間内の特定箇所の３次元座標を判断する。なお、上記の変換条件は、基準点と特徴点との距離の変化に対し、認識対象者と特定箇所との距離が線形に変化する変換特性であってもよいし、非線形に変化する変換特性であってもよい。
【００１１】
これにより、基準点から特徴点に向かう方向が認識対象者から見て指示対象としての特定箇所が存在している方向に対応するように、基準点に対する特徴点の方向を調節する動作（手や指、或いは指示器の先端等を特定箇所に向ける動作）を認識対象者が行うと共に、認識対象者から見た特定箇所との距離（特定箇所がどの程度手前側又は奥側に位置しているか）に応じて、基準点と特徴点との距離を調節する動作（腕を屈曲又は伸長させる動作）を認識対象者が行うことで、３次元空間内の特定箇所が存在している方向が判断されると共に、基準点から特徴点に向かう方向に沿った３次元空間内の特定箇所の位置が判断され、３次元空間内の特定箇所が存在している方向及び基準点から特徴点に向かう方向に沿った３次元空間内の位置の判断結果から、３次元空間内における特定箇所の３次元座標が判断されることになる。
【００１２】
従って請求項１の発明によれば、情報入力者（認識対象者）が３次元空間内の任意の箇所を指し示す場合にも、指し示された箇所の３次元座標を判断することができる。また、認識対象者から見て特定箇所が存在している方向に手や指、或いは指示器の先端等を向け、認識対象者から見た特定箇所との距離に応じて腕を屈曲又は伸長させる動作は、３次元空間内の特定箇所を指し示す動作として極めて自然な動作であるので、情報入力者（認識対象者）が違和感を感ずることなく上記動作を行うことができる。
【００１３】
また、請求項１の発明では、基準点と特徴点との距離を所定の変換条件に従って認識対象者と前記特定箇所との距離に変換することで、基準点から特徴点に向かう方向に沿った３次元空間内の特定箇所の位置を判断しているので、特に認識対象者が指し示す対象としての３次元空間が非常に奥行きのある空間である場合（例えば宇宙空間を表す３次元的画像を表示手段に表示した場合等）にも、変換条件の変換特性を非線形（例えば基準点と特徴点との距離の変化のｎ乗（ｎ≧２）に比例して認識対象者と特定箇所との距離を変化させる変換特性等）とすることで、認識対象者が腕を無理に伸ばす等の極端な動作を行うことなく、認識対象者から見て３次元空間内の極めて遠方に位置している箇所を指し示すことも可能となり、３次元空間内の任意の箇所を指し示すために認識対象者に負担がかかることを防止することができる。
【００１５】
また、認識対象者の体格（特に腕の長さ）は一定ではないので、認識対象者が腕を屈曲・伸長させたときの特徴点の移動幅にも個人差があり、認識対象者の基準点と特徴点との距離を、一定の変換条件に従って認識対象者と特定箇所との距離に変換したとすると、個々の認識対象者の腕の長さ等のばらつきにより、認識対象者が指し示している特定箇所の基準点から特徴点に向かう方向に沿った位置を正確に判断できないことも考えられる。
【００１６】
このため請求項２記載の発明は、請求項１の発明において、腕を屈曲及び伸長させる動作を行うよう認識対象者に要請し、認識対象者が腕を屈曲及び伸長させる動作を行ったときの基準点と特徴点との距離の変化幅に基づいて、基準点と特徴点との距離を認識対象者と前記特定箇所との距離に変換する変換条件を予め設定する変換条件設定手段を更に備えたことを特徴としている。
【００１７】
請求項２の発明では、認識対象者が腕を屈曲及び伸長させる動作を行ったときの基準点と特徴点との距離の変化幅（この距離の変化幅は、個々の認識対象者の腕の長さ等のばらつきにより変化する）に基づいて、基準点と特徴点との距離を認識対象者と特定箇所との距離に変換する変換条件を予め設定するので、個々の認識対象者の体格に応じた変換条件を得ることができる。そして、この変換条件を用いて前述の変換を行うことにより、個々の認識対象者の体格のばらつきに拘らず認識対象者が指し示した特定箇所の基準点から特徴点に向かう方向に沿った位置を正確に判断することができる。また、例えば３次元空間内の極めて遠方に位置している箇所を指し示していることを認識させるために、特に体格の小さな認識対象者が無理に腕を伸ばす等の極端な動作を行う必要もなくなる。
【００１８】
なお、請求項２の発明において、基準点から特徴点に向かう方向に沿って３次元空間内の中間部に位置している単一の箇所、或いは基準点から特徴点に向かう方向に沿った３次元空間内の位置が互いに異なる複数箇所（但し、基準点から特徴点に向かう方向に沿った各箇所の位置は既知）を認識対象者に指し示させ、このときの基準点と特徴点との距離に基づいて、変換条件（変換曲線の形状）を設定するようにしてもよい。
【００１９】
請求項３記載の発明に係るハンドポインティング装置は、互いに異なる複数の方向から認識対象者を撮像する撮像手段と、認識対象者が３次元空間内の特定箇所を指し示している状況を前記撮像手段が複数の方向から撮像することで得られた複数の画像から前記認識対象者に相当する画像部を抽出し、認識対象者が腕を屈曲又は伸長させることで位置が変化する特徴点及び認識対象者が腕を屈曲及び伸長させても位置が変化しない基準点の３次元座標を求める演算手段と、前記基準点から前記特徴点に向かう方向に基づいて前記３次元空間内の前記特定箇所が存在している方向を判断すると共に、前記基準点と前記特徴点との距離に基づいて前記基準点から前記特徴点に向かう方向に沿った前記３次元空間内の前記特定箇所の位置を判断し、前記３次元空間内の前記特定箇所の３次元座標を判断する判断手段と、前記基準点と前記特徴点との距離の変化速度を検出し、前記基準点と前記特徴点との距離が前記閾値以上の変化速度で増加した場合には第１の所定の処理を行い、前記基準点と前記特徴点との距離が前記閾値以上の変化速度で減少した場合には前記第１の所定の処理と異なる第２の所定の処理を行う処理手段と、を含んで構成している。
【００２０】
請求項３記載の発明は、請求項１の発明と同様の撮像手段、演算手段及び判断手段を備えており、認識対象者が指し示した３次元空間内の特定箇所の３次元座標が判断される。ところで、上記のように認識対象者が指し示した３次元空間内の特定箇所の３次元座標を判断する構成においても、認識対象者が特定の動作（所謂クリック動作）を行うことで所定の処理の実行を指示できるようにすることが好ましい。しかし、クリック動作として従来提案されている親指を上げる動作は、撮像手段による撮像方向によっては検出できない場合がある。また、親指を上げる動作は動作としての自由度が低く、マウスにおける左クリックと右クリックのように、複数種の意味を持たせクリック動作によって実行される処理を選択可能とすることも困難である。
【００２１】
このため、請求項３の発明には、基準点と特徴点との距離の変化速度を検出し、基準点と特徴点との距離が前記閾値以上の変化速度で増加した場合には第１の所定の処理を行い、基準点と特徴点との距離が閾値以上の変化速度で減少した場合には第１の所定の処理と異なる第２の所定の処理を行う処理手段が設けられている。なお、第１の所定の処理及び第２の所定の処理としては、例えば基準点と特徴点との距離が閾値以上の変化速度で変化したときに認識対象者が指し示していた特定箇所に関連する処理を行うことができる。
【００２２】
本発明は基準点及び特徴点の位置関係から認識対象者が指し示した特定箇所の３次元座標を判断しているが、請求項３の発明に係る処理手段も基準点及び特徴点の位置（の変化）から第１の所定の処理又は第２の所定の処理の実行が指示されたかを判断するので、撮像手段による撮像方向を、指の上げ下げ等の動作を考慮することなく、基準点及び特徴点が確実に検出できるように定めることができる。従って、請求項３の発明によれば、認識対象者による第１の所定の処理又は第２の所定の処理の実行を指示する動作（腕を素早く屈曲又は伸長させる動作）を確実に検出することができる。
【００２３】
そして請求項３の発明では、認識対象者が腕を素早く伸長させる動作（この場合、基準点と特徴点との距離は閾値以上の変化速度で増加する）を行うと第１の所定の処理が行われ、認識対象者が腕を素早く屈曲させる動作（この場合、基準点と特徴点との距離は閾値以上の変化速度で減少する）を行うと第２の所定の処理が行われるので、マウスの左クリックと右クリックのように、第１の所定の処理及び第２の所定の処理のうち実行させるべき処理を認識対象者が選択することが可能となる。そして、認識対象者が上記の何れかの動作を行うことにより、第１の所定の処理及び第２の所定の処理のうち認識対象者によって選択された処理を確実に実行することができる。
【００２４】
請求項４記載の発明に係るハンドポインティング装置は、互いに異なる複数の方向から認識対象者を撮像する撮像手段と、認識対象者が３次元空間内の特定箇所を指し示している状況を前記撮像手段が複数の方向から撮像することで得られた複数の画像から前記認識対象者に相当する画像部を抽出し、認識対象者が腕を屈曲又は伸長させることで位置が変化する特徴点及び認識対象者が腕を屈曲及び伸長させても位置が変化しない基準点の３次元座標を求める演算手段と、前記基準点から前記特徴点に向かう方向に基づいて前記３次元空間内の前記特定箇所が存在している方向を判断すると共に、前記基準点と前記特徴点との距離に基づいて前記基準点から前記特徴点に向かう方向に沿った前記３次元空間内の前記特定箇所の位置を判断し、前記３次元空間内の前記特定箇所の３次元座標を判断する判断手段と、前記基準点と前記特徴点との距離の変化速度を検出し、検出した前記基準点と前記特徴点との距離の変化速度が閾値以上の場合に所定の処理を行う処理手段と、前記処理手段に所定の処理を行わせるために腕を屈曲又は伸長させる動作を行うよう認識対象者に要請し、認識対象者が腕を屈曲又は伸長させる動作を行ったときの前記基準点と前記特徴点との距離の変化速度に基づいて前記閾値を予め設定する閾値設定手段と、を含んで構成している。
【００２５】
請求項４記載の発明は、請求項１の発明と同様の撮像手段、演算手段及び判断手段を備えており、認識対象者が指し示した３次元空間内の特定箇所の３次元座標が判断される。また、請求項４の発明には、基準点と特徴点との距離の変化速度を検出し、検出した基準点と特徴点との距離の変化速度が閾値以上の場合に所定の処理を行う処理手段が設けられており、認識対象者によって腕を素早く屈曲又は伸長させる動作が行われると、処理手段に所定の処理が行われる。
【００２６】
但し、前述のように認識対象者の体格は一定ではないと共に、認識対象者の筋力等も一定ではないので、処理手段に所定の処理を行わせるために認識対象者が腕を素早く屈曲又は伸長させる動作を行ったとしても、基準点と特徴点との距離の変化速度は個々の認識対象者毎にばらつきがある。従って、所定の処理を行わせるために認識対象者が腕を素早く屈曲又は伸長させる動作を行ったとしても検知できなかったり、逆に認識対象者が前記動作を行っていないにも拘らず前記動作を誤検知することも考えられる。
【００２７】
このため請求項４の発明は、処理手段に所定の処理を行わせるために腕を屈曲又は伸長させる動作を行うよう認識対象者に要請し、認識対象者が腕を屈曲又は伸長させる動作を行ったときの基準点と特徴点との距離の変化速度に基づいて前記閾値を予め設定する閾値設定手段が設けられている。請求項４の発明では、処理手段に所定の処理を行わせるために認識対象者が腕を屈曲又は伸長させる動作（腕を素早く屈曲又は伸長させる動作）を行ったときの基準点と特徴点との距離の変化速度に基づいて、処理手段が所定の処理を行うか否かの閾値を予め設定するので、個々の認識対象者の体格や筋力等に応じた閾値を得ることができる。そして、この閾値を用いて所定の処理の実行が指示されたか否かを判断することにより、個々の認識対象者の体格や筋力等のばらつきに拘らず、認識対象者による所定の処理の実行を指示する動作を確実に検知して所定の処理を実行することができる。
【００２８】
請求項５記載の発明は、請求項１、請求項３及び請求項４の何れかの発明において、３次元的画像を表示するための表示手段と、前記表示手段に３次元的画像を表示させる表示制御手段と、認識対象者の手が特定の形になったか否かを判定する判定手段と、を更に備え、認識対象者は、前記表示手段に表示された３次元的画像が表す仮想的な３次元空間内の特定箇所を指し示し、前記表示制御手段は、前記判定手段によって認識対象者の手が前記特定の形になっていると判定されている状態で、前記基準点と前記特徴点との距離が変化した場合には、前記表示手段に表示されている３次元的画像が前記距離の変化に応じて拡大又は縮小表示されるように前記表示手段を制御することを特徴としている。
【００２９】
請求項５の発明は、表示手段に３次元的画像を表示させ、認識対象者は、表示手段に表示された３次元的画像が表す仮想的な３次元空間内の特定箇所を指し示すように構成されている。なお、表示手段としては、一点透視法や二点透視法に則った画像を表示するための平面ディスプレイ、液晶シャッタやレンチキュラーレンズを利用した３次元ディスプレイ、ホログラフィー技術を適用して立体画像を表示する表示装置等を適用することができる。ところで、上記のように表示手段に３次元的画像を表示させる場合には表示倍率を任意に設定可能であるので、認識対象者からの指示に応じて前記表示倍率を変更できるようにすることが好ましい。しかし、認識対象者が表示倍率の変更を指示する動作を、認識対象者が３次元空間内の特定箇所を指し示す動作と明確に区別して認識する必要がある。
【００３０】
これに対し請求項５の発明では、認識対象者の手が特定の形になったか否かを判定する判定手段を設け、表示制御手段は、判定手段によって認識対象者の手が前記特定の形になっていると判定されている状態で基準点と特徴点との距離が変化した場合には、表示手段に表示されている３次元的画像が前記距離の変化に応じて拡大又は縮小表示されるように表示手段を制御する。なお、前記特定の形とは判定が容易な形であることが望ましく、例えば指を延ばして手を広げた状態での手の形等を採用することができる。
【００３１】
これにより、認識対象者が自身の手を特定の形とした状態（例えば指を延ばして手を広げた状態）で、基準点と特徴点との距離を変化させる動作（腕を屈曲又は伸長させる動作）を行えば、この動作が特定箇所を指し示す動作とは明確に区別され、表示手段に表示されている３次元的画像の表示倍率が基準点と特徴点との距離の変化に応じて変更され、拡大又は縮小表示されることになる。従って請求項５の発明によれば、認識対象者による３次元的画像の表示倍率の変更指示に応じて、表示手段に表示する３次元的画像の表示倍率を確実に変更することができる。
【００３２】
なお、上記の表示倍率についても、基準点と特徴点との距離の変化に対し、表示倍率を線形に変化させるようにしてもよいし、非線形に変化させるようにしてもよい。
【００３３】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図１に示すように、本発明に係る認識対象者としての情報入力者１０が到来する箇所の壁面には、請求項５に記載の表示手段に対応する大画面ディスプレイ１２が埋め込まれている。
【００３４】
なお、ディスプレイ１２は一点透視法や二点透視法に則って仮想的に３次元空間を表す３次元的画像を表示するためのものであり、液晶ディスプレイ（ＬＣＤ）やプラズマディスプレイ、ブラウン管、光ファイバディスプレイ等の周知の表示装置を適用することができる。また、上記のディスプレイ１２に代えて、液晶シャッタやレンチキュラーレンズを利用した３次元ディスプレイや、ホログラフィー技術を適用して立体画像を表示する表示装置を適用してもよいし、更に液晶ゴーグル等を適用することも可能である。
【００３５】
ディスプレイ１２はパーソナルコンピュータ等から成る情報処理装置１４に接続されており（図２参照）、情報処理装置１４により、３次元的画像が表示面上に表示されると共に、メッセージ等の他の情報も前記３次元的画像に重ねて表示面上に表示される。本実施形態において、情報入力者１０は、ディスプレイ１２の前方の図１に示した空間（情報入力空間）に到来し、ディスプレイ１２に表示されている３次元的画像が表す仮想的な３次元空間内の任意の箇所を指し示すと共に、クリック動作（詳細は後述）を行うことにより、情報処理装置１４に対して各種の指示を与えたり各種の処理を実行させる。
【００３６】
図２に示すように、情報処理装置１４には、本実施形態に係るハンドポインティング入力装置２０のコントローラ２２が接続されている。コントローラ２２は、ＣＰＵ２２Ａ、ＲＯＭ２２Ｂ、ＲＡＭ２２Ｃ、入出力インタフェース２２Ｄを備えており、これらがバスを介して互いに接続されて構成されている。入出力インタフェース２２Ｄには情報処理装置１４が接続されていると共に、記憶内容を書換え可能な不揮発性の記憶装置２４、各種の情報を表示するためのディスプレイ２６、オペレータが各種の指示やデータを入力するためのキーボード２８、照明制御装置３０、撮像制御装置３４、及びマーク板駆動装置３８が各々接続されている。
【００３７】
なお、ディスプレイ１２に表示される３次元的画像は予め多数用意されており、記憶装置２４には前記各種３次元的画像を表す多数の画像データが記憶されている。また記憶装置２４には、各画像データに対応して、各３次元的画像が表す仮想３次元空間内の各箇所の３次元座標と、前記各箇所の３次元的画像上での位置（２次元座標）と、の関係を表す座標データも記憶されている。なお、座標データに代えて関数式（画像の表示倍率もパラメータとして含んでいることが好ましい）等の形態で前記関係を記憶しておくようにしてもよい。
【００３８】
また照明制御装置３０には、近赤外域の波長の光をビーム状に射出する複数の近赤外光照明装置３２Ａ、３２Ｂが接続されている。図１に示すように、近赤外光照明装置３２Ａ、３２Ｂは、情報入力空間の上方の互いに異なる箇所に配設されており、情報入力空間に到来した情報入力者１０を、互いに異なる方向から照明するように照射範囲が調整されている。照明制御装置３０は照明装置３２Ａ、３２Ｂの点灯・消灯を制御する。
【００３９】
撮像制御装置３４には、情報入力空間の上方の互いに異なる箇所に配設された（図１参照）複数のビデオカメラ３６Ａ、３６Ｂが接続されている。ビデオカメラ３６Ａ、３６Ｂは、図示は省略するが、近赤外光に感度を有するＣＣＤ等から成るエリアセンサを備えていると共に、入射光をエリアセンサの受光面に結像させる結像レンズの光入射側に、近赤外域の波長の光のみを透過するフィルタが設けられている。
【００４０】
図３に示すように、ビデオカメラ３６Ａ、３６Ｂは情報入力空間に到来した情報入力者１０を互いに異なる方向から撮像するように向きが調整されている。また、ビデオカメラ３６Ａは、情報入力空間に到来した情報入力者１０が撮像範囲内に入り、かつ照明装置３２Ａから射出された光が結像レンズに直接入射せず、かつ撮像範囲の中心が、情報入力空間内において照明装置３２Ａによる照明範囲の中心と床面から所定高さで交差するように（照明装置３２Ａによる床面上の照明範囲が撮像範囲から外れるように）、向き（撮像範囲）が調整されている。同様にビデオカメラ３６Ｂは、情報入力空間に到来した情報入力者１０が撮像範囲内に入り、かつ照明装置３２Ｂから射出された光が結像レンズに直接入射せず、かつ撮像範囲の中心が、情報入力空間内において照明装置３２Ｂによる照明範囲の中心と床面から所定高さで交差するように（照明装置３２Ａによる床面上の照明範囲が撮像範囲から外れるように）、向き（撮像範囲）が調整されている。
【００４１】
また図４に示すように、ハンドポインティング入力装置２０は、情報入力空間の近傍に配設されたマーク板４０を備えている。マーク板４０は、透明な平板に多数のマーク４０Ａがマトリクス状に等間隔で記録されて構成されており、マーク４０Ａの配列方向に直交する方向（図４の矢印Ａ方向）に沿って情報入力空間を横切るように移動可能とされている。なおマーク４０Ａは、画像上での認識が容易な色（例えば赤色）に着色されている。入出力インタフェース２２Ｄに接続されたマーク板駆動装置３８は、コントローラ２２からの指示に応じてマーク板４０を図４の矢印Ａ方向に沿って移動させる。
【００４２】
次に本実施形態の作用として、まず、ハンドポインティング入力装置２０が設置された際にコントローラ２２によって実行される格子点位置情報初期設定処理について、図５のフローチャートを参照して説明する。
【００４３】
ステップ１００では、マーク板駆動装置３８により、マーク板４０を所定位置（マーク板４０の移動範囲の端部に相当する位置）に移動させる。次のステップ１０２では、現在のマーク板４０の位置において、マーク板４０に記録されている多数のマーク４０Ａの情報入力空間内での３次元座標（ｘ，ｙ，ｚ）を各々演算する。ステップ１０４では撮像制御装置３４を介し、ビデオカメラ３６Ａ、３６Ｂによって情報入力空間を撮像させ、次のステップ１０６では、ビデオカメラ３６Ａが情報入力空間を撮像することによって得られた画像（以下画像Ａと称する）を撮像制御装置３４を介して取り込む。
【００４４】
ステップ１０８では、ステップ１０６で取り込んだ画像Ａ中に存在するマーク４０Ａの認識（抽出）を行い、次のステップ１１０では認識した全てのマーク４０Ａについて、画像Ａ上での位置（ＸA ，ＹA ）を演算する。そしてステップ１１２では、画像Ａ中に存在する全てのマーク４０Ａについて、情報入力空間内での３次元座標（ｘ，ｙ，ｚ）と、画像Ａ上での位置（ＸA ，ＹA ）とを対応させ、ビデオカメラ３６Ａの格子点位置情報として記憶装置２４に記憶させる。
【００４５】
次のステップ１１４〜１２０では、上記のステップ１０６〜１１２と同様にしてビデオカメラ３６Ｂに対する処理を行う。すなわち、ステップ１１４ではビデオカメラ３６Ｂが情報入力空間を撮像することによって得られた画像（以下画像Ｂと称する）を撮像制御装置３４を介して取り込み、ステップ１１６ではステップ１１４で取り込んだ画像Ｂ中に存在するマーク４０Ａの認識（抽出）を行い、次のステップ１１８では認識した全てのマーク４０Ａについて、画像Ｂ上での位置（ＸB ，ＹB ）を演算する。そしてステップ１２０では、画像Ｂ中に存在する全てのマーク４０Ａについて、情報入力空間内での３次元座標（ｘ，ｙ，ｚ）と、画像Ｂ上での位置（ＸB ，ＹB ）とを対応させ、ビデオカメラ３６Ｂの格子点位置情報として記憶装置２４に記憶させる。
【００４６】
次のステップ１２２では、マーク板４０が最終位置（マーク板４０の移動範囲のうちステップ１００における所定位置と反対側の端部に相当する位置）迄移動したか否か判定する。ステップ１２２の判定が否定された場合にはステップ１２４へ移行し、マーク板駆動装置３８により、マーク板４０を所定方向に一定距離（詳しくは、マーク板４０上におけるマーク４０Ａの間隔に一致する距離）だけ移動させた後にステップ１０２に戻る。
【００４７】
上記のように、マーク板４０が最終位置に移動する迄、ステップ１０２〜１２４が繰り返されることにより、マーク板４０に記録されている多数のマーク４０Ａは、情報入力空間内に一定間隔で格子状に並ぶ多数の格子点に対応する位置へ移動され、ビデオカメラ３６Ａの格子点位置情報として、各格子点の情報入力空間内での３次元座標と画像Ａ上での位置とが対応されて記憶装置２４に記憶されると共に、ビデオカメラ３６Ｂの格子点位置情報として、各格子点の情報入力空間内での３次元座標と画像Ｂ上での位置とが対応されて記憶装置２４に記憶されることになる。
【００４８】
なお、マーク板４０及びマーク板駆動装置３８は、上記の格子点位置情報初期設定処理においてのみ用いられ、後述する処理では用いないので、上記の処理を実行した後に、マーク板４０及びマーク板駆動装置３８を撤去するようにしてもよい。
【００４９】
またマーク４０Ａが記録されたマーク板４０に代えて、透明な平板にＬＥＤ等の多数の発光素子がマトリクス状に配設されたマーク板を用い、マーク板を一定距離ずつステップ移動させると共に、ステップ移動における各位置で多数の発光素子を順に点灯させることを繰り返すことによって上記の処理を行うようにしてもよい。また発光素子が取付けられたハンドを備え、該ハンドを情報入力空間内の任意の位置に移動可能とされたロボットアーム装置を用い、ロボットアーム装置によって各格子点に対応する各位置に発光素子を移動させて点灯させることを繰り返すことによって上記処理を行うことも可能である。
【００５０】
次に図６のフローチャートを参照し、上記の格子点位置情報初期設定処理が行われた後にコントローラ２２で定常的に実行される指示判断処理について説明する。なお、この指示判断処理は情報入力空間に到来した情報入力者１０からの指示の判断等を行うものである。
【００５１】
ステップ１５０では、ビデオカメラ３６Ａから出力される画像Ａを表す画像データ、及びビデオカメラ３６Ｂから出力される画像Ｂを表す画像データを各々取り込み、取り込んだ画像Ａ及び画像Ｂの画像データに基づいて、情報入力空間内に情報入力者１０が到来したか（存在しているか）否か判定する。
【００５２】
コントローラ２２が指示判断処理を実行しているときには、図１０に示すように、照明制御装置３０は照明装置３２Ａ、３２Ｂを交互に点灯させ、撮像制御装置３４は、ビデオカメラ３６Ａによる情報入力空間の撮像が照明装置３２Ａが点灯しているときに行われ、ビデオカメラ３６Ｂによる情報入力空間の撮像が照明装置３２Ｂが点灯しているときに行われるように制御する。
【００５３】
ビデオカメラ３６Ａの撮像範囲は照明装置３２Ａによる床面上の照明範囲が撮像範囲から外れるように調整されているので、照明装置３２Ａによる床面上の照明範囲内に情報入力者１０の荷物やゴミ等の非認識対象物５０Ａ（図３参照）が存在していたとしても、この非認識対象物５０Ａがビデオカメラ３６Ａの撮像範囲に入ることはない。また、床面上のビデオカメラ３６Ａによって撮像される範囲内に非認識対象物５０Ｂ（図３参照）が存在していたとしても、非認識対象物５０Ｂは照明装置３２Ａによる照明範囲から外れているので、画像Ａ中に存在する非認識対象物５０Ｂに相当する画像部の輝度は非常に低くなる。
【００５４】
同様に、ビデオカメラ３６Ｂの撮像範囲は照明装置３２Ｂによる床面上の照明範囲が撮像範囲から外れるように調整されているので、照明装置３２Ｂによって照明される床面上に非認識対象物５０Ｂが存在していたとしても、この非認識対象物５０Ｂがビデオカメラ３６Ｂの撮像範囲に入ることはない。また、床面上のビデオカメラ３６Ｂによって撮像される範囲内に非認識対象物５０Ａが存在していたとしても、画像Ｂ中に存在する非認識対象物５０Ｂに相当する画像部の輝度は非常に低くなる。
【００５５】
従って、先のステップ１５０の判定は、例えば画像Ａ及び画像Ｂ中に、高輝度でかつ所定値以上の面積の画像部が存在しているか否か等の極めて簡単な判断処理で済む。ステップ１５０の判定が否定された場合には、判定が肯定される迄待機する。
【００５６】
情報入力空間に情報入力者１０が到来すると、ステップ１５０の判定が肯定されてステップ１５２へ移行し、基準点・特徴点座標演算処理を起動する。この処理は本発明の演算手段に対応する処理であり、コントローラ２２において、指示判断処理と並行して実行される。以下、この基準点・特徴点座標演算処理について、図７のフローチャートを参照して説明する。
【００５７】
ステップ２１０ではビデオカメラ３６Ａ、３６Ｂから画像Ａ及び画像Ｂのデータを各々取り込み、次のステップ２１２では取り込んだ画像Ａ及び画像Ｂから、情報入力者１０の全体像に相当する画像部を各々抽出する。この情報入力者１０の全体像に相当する画像部についても、高輝度の画素から成る所定値以上の面積の連続した領域を判断することで容易に抽出することができる。
【００５８】
ステップ２１４では、情報入力者１０の全体像に相当する画像部に基づき、情報入力者１０の身長を求める。図１１に示すように、点Ｏに位置しているビデオカメラ３６の結像レンズの焦点距離をｆ、点Ｏを通る鉛直線と情報入力空間の床面との交点Ｑと点Ｏとの距離をＨ、点Ｑと情報入力者１０が立っている床面上の点Ｐとの距離をＲ、情報入力者１０の頭頂部に相当する点Ｐ’と点Ｐとの距離ｈを情報入力者１０の身長とする。また、点ＰＯＱの成す角度をθ、点Ｐ’ＯＱの成す角度をθ’、ビデオカメラ３６のエリアセンサの受光面に結像される情報入力者１０の像の長さをｈ’、点Ｐに対応する受光面上の結像点を点ｐ、点Ｐ’に対応する受光面上の結像点を点ｐ’、受光面の中心ｏと点ｐとの距離をｒ、受光面の中心ｏと点ｐ’との距離をｒ’とすると、角度θ、θ’、距離ｒ、ｒ’は次の（１）〜（４）式から求めることができる。
【００５９】
θ  ＝ｔａｎ-1（Ｒ／Ｈ）                                …（１）
θ’＝ｔａｎ-1｛Ｒ／（Ｈ−ｈ）｝                        …（２）
ｒ  ＝ｆθ                                              …（３）
ｒ’＝ｆθ’                                            …（４）
従って、情報入力者１０の身長ｈ及び距離Ｒは次の（５）式及び（６）式によって求めることができる。
【００６０】
ｈ＝Ｈ｛１−ｔａｎ（ｒ／ｆ）／ｔａｎ（ｒ’／ｆ）｝      …（５）
Ｒ＝Ｈｔａｎ（ｒ／ｆ）                                  …（６）
距離Ｈ及び焦点距離ｆは既知であるので、ステップ２１４ではビデオカメラ３６Ａ、３６Ｂの撮像によって得られた画像Ａ及び画像Ｂの何れかから距離ｒ、ｒ’を求め、これを（５）式に代入することにより情報入力者１０の身長ｈを求めることができる。また、ステップ２１４では、画像Ａ及び画像Ｂの各々から距離ｒを求め、これを（６）式に各々代入して距離Ｒを各々求めることにより、情報入力者１０の床面上の位置（２次元座標）を求める。
【００６１】
次のステップ２１６では、ステップ２１４で求めた情報入力者１０の身長ｈ及び情報入力者１０の床面上の位置に基づき、情報入力者１０の基準点Ｐ0 の３次元座標（ｘ0 ，ｙ0 ，ｚ0 ）を決定する。なお基準点Ｐ0 としては、例えば情報入力者１０の背中に相当する点（図１７に示す点Ｐ0 ）を用いることができる。この場合、情報入力者１０の身長ｈに基づいて情報入力者１０の背中に相当する基準点Ｐ0 の床面からの高さ（例えばｚ0 の値）を割り出し、情報入力者１０の床面上の位置（平面座標）を基準点Ｐ0 の平面座標（例えばｘ0 、ｙ0 の値）として設定することにより、基準点Ｐ0 の３次元座標を決定することができる。なお、情報入力者１０の背中に相当する点に代えて、情報入力者１０の胸部に相当する点や、情報入力者１０の腕の付け根に相当する点等を用いてもよい。
【００６２】
ステップ２１８では、画像Ａ及び画像Ｂ上での情報入力者１０の全体像に相当する画像部の形状に基づいて、情報入力者１０が指等によりディスプレイ１２側を指し示す動作（指示動作）を行っているか否か判定する。情報入力者１０から見たディスプレイ１２の方向は既知であるので、ステップ２１８の判定は、例えば情報入力者１０の全体像に相当する画像部において、情報入力者１０の手に相当すると判断できる高さ位置に、情報入力者１０から見たディスプレイ１２の方向に向かって突出している部分が有るか否かを判断することで実現できる。
【００６３】
これにより、情報入力者１０が、図１２（Ａ）に示す直立状態から、図１２（Ｂ）又は（Ｃ）に示すように腕を上げて手をディスプレイ１２側に向ければ、情報入力者１０が指示動作を行っていると判定されることになる。ステップ２１８の判定が否定された場合には、特徴点の３次元座標の演算（詳細は後述）を行うことなくステップ２１０に戻り、情報入力者１０が指示動作を行う迄ステップ２１０〜２１８を繰り返す。
【００６４】
情報入力者１０が指示動作を行うと、ステップ２１８の判定が肯定され、ステップ２２０へ移行する。ステップ２２０では、ビデオカメラ３６Ａから取り込んだ画像Ａを表す画像データに基づいて、画像Ａ中に存在する情報入力者１０の特徴点Ｐx を抽出し、画像Ａ上での特徴点Ｐx の位置（ＸA ，ＹA ）を演算する。情報入力者１０の特徴点Ｐx としては、ディスプレイ１２側を指し示す動作を行っている指の先端に相当する点等を用いることができる。この場合、情報入力者１０の全体像を表す画像部のうち、情報入力者１０の手に相当すると判断できる高さ位置に、ディスプレイ１２の方向に向かって突出している部分の先端の位置を、特徴点Ｐx の位置として演算することができる。
【００６５】
これにより、ビデオカメラ３６Ａによって情報入力者１０の手が図１３（Ａ）に示すように撮像された場合、特徴点Ｐx の位置として、図１３（Ｂ）に示す特徴点Ｐx の座標（ＸA ，ＹA ）が演算されることになる。
【００６６】
ステップ２２２では、記憶装置２４に記憶されているビデオカメラ３６Ａの格子点位置情報に基づき、画像Ａ上での位置が（ＸA ±ｄＸ，ＹA ±ｄＹ）の範囲（図１３（Ｂ）にハッチングで囲んだ範囲を参照）に入る格子点を全て検索する。なお、このｄＸ及びｄＹの大きさは、格子点の間隔（マーク４０Ａの間隔）に基づき、少なくとも１個以上の格子点が抽出されるように定められている。
【００６７】
また、本実施形態ではビデオカメラの結像レンズとして広角レンズを用いており、仮にｄＸ及びｄＹを一定とすると、ビデオカメラと格子点との距離が大きくなるに従って多くの格子点が（ＸA ±ｄＸ，ＹA ±ｄＹ）の範囲に入り、後述する特徴点Ｐx の３次元座標の演算の精度の低下に繋がる。このため、ｄＸ及びｄＹは、３次元座標上でのビデオカメラからの距離が離れるに従って値が小さくなるように設定される。従って、３次元座標上での（ＸA ±ｄＸ，ＹA ±ｄＹ）に相当する範囲は、底面がビデオカメラ側に位置している円錐状（又は楕円錐状）となる。
【００６８】
ステップ２２４では、先のステップ２２０と同様に、ビデオカメラ３６Ｂから取り込んだ画像Ｂを表す画像データに基づいて、画像Ｂ中に存在する情報入力者１０の特徴点Ｐx を抽出し、画像Ｂ上での特徴点Ｐx の位置（ＸB ，ＹB ）を演算する。ステップ２２６では、先のステップ２２２と同様に、記憶装置２４に記憶されているビデオカメラ３６Ｂの格子点位置情報に基づき、画像Ｂ上での位置が（ＸB ±ｄＸ，ＹB ±ｄＹ）の範囲に入る格子点を全て検索する。
【００６９】
次のステップ２２８では、画像Ａ及び画像Ｂから共通に抽出した格子点を判定する。これにより、情報入力空間内で特徴点Ｐx に近接した位置に存在している格子点のみが複数抽出されることになる。ステップ２３０では、画像Ａ及び画像Ｂから共通に抽出した格子点の３次元座標を、格子点位置情報から取り込む。
【００７０】
本実施形態では、後述するように特徴点Ｐx の３次元座標を情報入力空間内で特徴点に近接した位置に存在している複数の格子点の３次元座標から内挿によって演算する（具体的には、前記複数の格子点の３次元座標の座標値の重み付き平均により特徴点の３次元座標の座標値を求める）。このため、特徴点Ｐx の３次元座標の演算に先立ち、次のステップ２３２では、画像Ａ及び画像Ｂから共通に抽出した各格子点の画像Ａ及び画像Ｂ上での位置、画像Ａ上での特徴点Ｐx の位置（ＸA ，ＹA ）、画像Ｂ上での特徴点Ｐx の位置（ＸB ，ＹB ）に基づいて、画像Ａ及び画像Ｂから共通に抽出した各格子点の３次元座標からの内挿の割合（各格子点の３次元座標の座標値に対する重み）を決定する。この内挿の割合は、例えば画像Ａ及び画像Ｂ上で特徴点と近接した位置に存在している格子点の３次元座標の座標値の重みが大きくなるように決定することができる。
【００７１】
そしてステップ２３４では、画像Ａ及び画像Ｂから共通に抽出した格子点の３次元座標、及びステップ２３２で決定した内挿の割合に基づいて、特徴点Ｐx の３次元座標（Ｘx ，Ｙx ，Ｚx ）を演算する。
【００７２】
上記のようにして特徴点Ｐx の３次元座標を演算するとステップ２１０へ戻り、ステップ２１０以降の処理を繰り返す。このように、基準点・特徴点座標演算処理では画像Ａ及び画像Ｂから情報入力者１０の基準点Ｐ0 及び特徴点Ｐx （但し、情報入力者１０が指示動作を行っている場合）の３次元座標を繰り返し演算するので、基準点・特徴点座標演算処理によって演算される基準点Ｐ0 及び特徴点Ｐx の３次元座標の値は、情報入力者１０の姿勢や動作の変化に応じて値が逐次更新されることになる。
【００７３】
またコントローラ２２は、指示判断処理（図６）のステップ１５２で基準点・特徴点座標演算処理を起動すると、上述した基準点・特徴点座標演算処理と並行して指示判断処理のステップ１５４以降の処理を実行する。すなわち、ステップ１５４では距離変換条件設定処理を行う。この距離変換条件設定処理について、図８のフローチャートを参照して説明する。なお、距離変換条件設定処理は請求項２に記載の変換条件設定手段に対応している。
【００７４】
ステップ２５０では、ディスプレイ１２に表示している３次元的画像が表す仮想３次元空間において、情報入力者１０から見て奥行方向の略中間部（ニュートラルポイントという）に相当する箇所の３次元座標を、記憶装置２４に記憶されている座標データ等に基づいて求め（関数式を用いて演算により求めてもよい）、ディスプレイ１２の表示面上における前記ニュートラルポイントの位置（ニュートラルポイントの表示位置）を演算し、ディスプレイ１２の表示面上の前記演算した表示位置にマーカを表示するよう情報処理装置１４に指示する。
【００７５】
これにより、情報処理装置１４はディスプレイ１２の表示面上の前記表示位置にマーカを表示し、表示されたマーカは、仮想３次元空間内のニュートラルポイントに位置しているように情報入力者１０に視認されることになる。なお、マーカとしては、例えば図１８に示す円形のカーソル５２等を用いることができるが、情報入力者１０が容易に認識できるものであればよく、任意の形状のマーカを採用することができる。
【００７６】
次のステップ２５２では、ディスプレイ１２に表示したマーカを指し示す動作の実行を情報入力者１０に要請するメッセージをディスプレイ１２に表示するよう情報処理装置１４に指示する。これにより、情報処理装置１４はディスプレイ１４に前記メッセージを表示し、情報入力者１０は表示されたメッセージに従って、図１２（Ａ）に示す直立状態から、図１２（Ｃ）に示すように腕を上げて手をディスプレイ１２側に向け、ディスプレイ１２に表示されている３次元的画像が表す仮想３次元空間内のマーカが存在している方向に手を向けると共に、仮想３次元空間におけるマーカ迄の距離に応じて腕を屈曲又は伸長させる。
【００７７】
情報入力者１０は、仮想３次元空間において遠方に位置していると認識した物体を指し示すときには腕を伸長させ（図１４（Ａ）参照）、仮想３次元空間において近辺に位置していると認識した物体を指し示すときには腕を屈曲させる（図１４（Ｃ）参照）。前述のように、マーカは仮想３次元空間内のニュートラルポイントに位置しているように視認されるので、このマーカを指し示す動作では、情報入力者１０の腕は図１４（Ｂ）に示すように半ば屈曲された状態となる。
【００７８】
次のステップ２５４では、基準点・特徴点座標演算処理による処理結果（基準点Ｐ0 及び特徴点Ｐx の３次元座標）を取り込み、ステップ２５６では情報入力者がディスプレイ１２の表示面を指し示す指示動作を行っているか否か判定する。基準点・特徴点座標演算処理では、情報入力者１０が指示動作を行っている場合（ステップ２１８の判定が肯定された場合）にのみ特徴点Ｐx の３次元座標を演算するので、ステップ２５４の判定は、特徴点Ｐx の３次元座標が演算されたか否かを判断することで行うことができる。
【００７９】
ステップ２５４の判定が否定された場合にはステップ２５４に戻り、情報入力者１０が指示動作を行う迄ステップ２５４、２５６を繰り返す。ステップ２５６の判定が肯定されるとステップ２５８へ移行し、ステップ２５４で取り込んだ基準点Ｐ0 及び特徴点Ｐx の３次元座標から基準点Ｐ0 と特徴点Ｐx との距離ｋを演算し、演算結果を距離ｋmid として、情報入力者１０を含む仮想３次元空間における情報入力者１０とニュートラルポイントとの距離Ｌmid （仮想距離）と対応させて記憶する。
【００８０】
次のステップ２６０では、腕を全ストローク分屈曲及び伸長させる動作の実行を情報入力者１０に要請するメッセージをディスプレイ１２に表示するよう情報処理装置１４に指示する。これにより、情報処理装置１４はディスプレイに前記メッセージを表示し、情報入力者１０は表示されたメッセージに従って、腕を伸長させて図１４（Ａ）に示すように腕を真っ直ぐに伸ばした状態にし、続いて腕を屈曲させて図１４（Ｃ）に示すように腕を折り畳んだ状態にする動作を繰り返す。
【００８１】
次のステップ２６２では、基準点・特徴点座標演算処理による処理結果を取り込み、ステップ２６４では情報入力者１０がディスプレイ１２の表示面を指し示す動作を行っているか否か判定する。ステップ２６４の判定が否定された場合にはステップ２６２に戻り、情報入力者１０が指示動作を行う迄ステップ２６２、２６４を繰り返す。ステップ２６４の判定が肯定されるとステップ２６６へ移行する。
【００８２】
ステップ２６６では、ステップ２６２で取り込んだ基準点Ｐ0 及び特徴点Ｐx の３次元座標から基準点Ｐ0 と特徴点Ｐx との距離ｋを演算・記憶すると共に、距離ｋの変化方向が変化（増加方向から減少方向に変化、或いは減少方向から増加方向に変化）したか否か判定する。この判定は、ステップ２６６を１回目及び２回目に実行するときには無条件で否定されるが、２回目以降の実行時には、今回演算した距離ｋの値を前回演算した距離ｋの値と比較して距離ｋの変化方向を判断し、３回目以降の実行時には、今回判断した距離ｋの変化方向を前回判断した距離ｋの変化方向と比較することで前記判定が行われる。
【００８３】
上記判定が否定された場合にはステップ２６２に戻り、ステップ２６２〜２６６を繰り返す。一方、距離ｋの変化方向が変化したときは、腕を真っ直ぐに伸ばした状態（図１４（Ａ）参照）か、又は腕を折り畳んだ状態（図１４（Ｃ）参照）に近い状態であるので、ステップ２６６の判定が肯定されてステップ２６８へ移行し、このときの基準点Ｐ0 と特徴点Ｐx との距離ｋ（距離ｋは、腕を真っ直ぐに伸ばした状態で最大、腕を折り畳んだ状態で最小となる）を記憶する。次のステップ２７０では距離ｋの最大値ｋmax 及び最小値ｋmin を各々取得したか否か判定する。判定が否定された場合にはステップ２６２に戻り、ステップ２６２〜２７０を繰り返す。
【００８４】
最大値ｋmax 及び最小値ｋmin を各々取得するとステップ２７２へ移行し、情報入力者１０の基準点Ｐ0 と特徴点Ｐx との距離ｋを、情報入力者１０と情報入力者１０が指し示した箇所との距離Ｌ（仮想距離）に変換するための距離変換条件を設定する。この距離変換条件は、３次元的画像が表す仮想３次元空間において、情報入力者１０から見て最も手前側の箇所と情報入力者１０との距離（仮想距離）をＬmin 、情報入力者１０から見て最も奥側の箇所と情報入力者１０との距離（仮想距離）をＬmax 、ニュートラルポイントと情報入力者１０との距離（仮想距離）をＬmid としたときに、例として図１５に示すように、距離ｋmin が距離Ｌmin に、距離ｋmax が距離Ｌmax に、距離ｋmid が距離Ｌmid に各々変換されるように、最小自乗法等を適用して定めることができる。
【００８５】
情報入力者１０の腕の長さ等には個人差があり、腕を屈曲・伸長させたときの距離ｋの変化幅（ｋmax −ｋmin ）にも個人差があるが、上述した距離変換条件設定処理は情報入力空間に情報入力者１０が到来する毎に実行され、情報入力者１０の基準点Ｐ0 と特徴点Ｐx の距離ｋの最大値及び最小値を求め、距離ｋの変化幅（ｋmax −ｋmin ）が、仮想３次元空間内の各箇所と情報入力者１０との距離Ｌの変化幅（Ｌmax −Ｌmin ）に対応するように距離変換条件を定めているので、情報入力空間に新たな情報入力者１０が到来すると、距離変換条件として、到来した情報入力者１０の腕の長さ等に応じた適切な変換条件を得ることができる。
【００８６】
また、上記の距離変換条件は、情報入力者１０がニュートラルポイントを指し示す動作を行ったときの基準点Ｐ0 と特徴点Ｐx との距離ｋも考慮して変換特性を定めているので、情報入力者１０の感覚に合致した変換特性となり、情報入力者１０によって指し示された箇所と情報入力者１０との距離Ｌを正確に判断することができる。
【００８７】
上記のようにして距離変換条件設定処理を行うと、次のステップ１５６（図６参照）ではクリック動作速度設定処理を行う。このクリック動作速度設定処理について、図９のフローチャートを参照して説明する。なお、クリック動作速度設定処理は請求項４に記載の閾値設定手段に対応している。
【００８８】
ステップ２９０では、クリック動作の実行を情報入力者１０に要請するメッセージをディスプレイ１２に表示するよう情報処理装置１４に指示し、情報処理装置１４はディスプレイ１２に前記メッセージを表示させる。本実施形態では、情報入力者１０が前方に手を素早く移動させる動作（図１６（Ａ）参照、以下「前進クリック」という）、及び情報入力者１０が後方に手を素早く移動させる動作（図１６（Ｂ）参照、以下「後進クリック」という）をクリック動作として定めている。ディスプレイ１２に前記メッセージが表示されると、情報入力者１０は腕を屈曲又は伸長させ、前進クリック動作又は後進クリック動作を繰り返し行う。
【００８９】
次のステップ２９２では、基準点・特徴点座標演算処理による処理結果（基準点Ｐ0 及び特徴点Ｐx の３次元座標）を取り込み、ステップ２９４では情報入力者１０がディスプレイ１２を指し示す指示動作を行っているか否か判定する。ステップ２９４の判定が否定された場合にはステップ２９２に戻り、情報入力者１０が指示動作を行う迄ステップ２９２、２９４を繰り返す。ステップ２９４の判定が肯定されるとステップ２９６へ移行する。
【００９０】
ステップ２９６では、ステップ２９２で取り込んだ基準点Ｐ0 及び特徴点Ｐx の３次元座標から基準点Ｐ0 と特徴点Ｐx との距離ｋを演算する。また、ステップ２９６は繰り返し実行されるが、２回目以降の実行時には、今回演算した距離ｋの値と前回演算した距離ｋの値との差に基づいて距離ｋの変化速度Ｖ（基準点Ｐ0 に対する特徴点Ｐx の位置の移動速度）を演算し、演算結果を記憶する。
【００９１】
次のステップ２９８では、クリック動作の実行を要請するメッセージをディスプレイ１２に表示してから所定時間が経過したか否か判定する。判定が否定された場合にはステップ２９２に戻り、ステップ２９２〜２９８を繰り返す。従って、クリック動作の実行を要請するメッセージを表示してから所定時間が経過する迄の間は、基準点Ｐ0 と特徴点Ｐx との距離ｋの変化速度Ｖが繰り返し演算・記憶されることになる。
【００９２】
ステップ２９８の判定が肯定されるとステップ３００へ移行し、先に演算・記憶した変化速度Ｖを取り込み、情報入力者１０が１回のクリック動作を行っている間の変化速度Ｖの推移に基づいてクリック動作速度Ｖ0 （請求項３，４に記載の閾値に対応）を設定・記憶する。このクリック動作速度Ｖ0 は、後述する処理において、情報入力者１０がクリック動作を行ったか否かを判定するための閾値として用いる。このため、情報入力者１０がクリック動作を行ったことを確実に判定するために、クリック動作速度Ｖ0 としては、例えば情報入力者１０の１回のクリック動作における変化速度Ｖの平均値よりも若干低い値を設定することができる。また、情報入力者１０の１回のクリック動作における変化速度Ｖの最小値をクリック動作速度Ｖ0 として設定するようにしてもよい。
【００９３】
情報入力者１０が腕を屈曲又は伸長させてクリック動作を行ったときの特徴点Ｐx の移動速度（変化速度Ｖ）は情報入力者１０毎にばらつきがあるが、上記のクリック動作速度設定処理は情報入力空間に情報入力者１０が到来する毎に実行されるので、情報入力空間に新たな情報入力者１０が到来すると、クリック動作速度Ｖ0 として到来した情報入力者１０の体格や筋力等に応じた適切な値が新たに設定されることになる。
【００９４】
上述したクリック動作速度設定処理を終了すると、指示判断処理（図６参照）のステップ１５８へ移行し、ステップ１５８以降で情報入力者１０からの指示を判断する判断処理を行う。すなわち、ステップ１５８では基準点・特徴点座標演算処理による処理結果（基準点Ｐ0 及び特徴点Ｐx の３次元座標）を取り込み、ステップ１６０では情報入力者１０が指示動作を行っているか否か判定する。
【００９５】
ステップ１６０の判定が否定された場合にはステップ１９４へ移行し、情報入力空間から情報入力者１０が退去したか否か判定する。この判定についても、先に説明したステップ１５０と同様に、画像Ａ及び画像Ｂから高輝度でかつ所定値以上の面積の画像部が無くなったか否か等の極めて簡単な判断処理で済む。上記判定が否定された場合にはステップ１５８に戻り、情報入力者１０が指示動作を行う迄ステップ１５８、１６０、１９４を繰り返す。
【００９６】
また、ステップ１６０の判定が肯定されるとステップ１６２へ移行し、先のステップ１５８で取り込んだ基準点Ｐ0 及び特徴点Ｐx の３次元座標に基づき、上記の基準点と特徴点とを結ぶ仮想線（図１７の仮想線５４参照）と、ディスプレイ１２の表示面を含む平面と、の交点（図１７の点Ｓ参照）の座標（平面座標）を演算する。そして次のステップ１６４では、ステップ１６２で求めた交点Ｓの座標に基づいて、情報入力者１０がディスプレイ１２の表示面上を指し示しているか否か判定する。この判定が否定された場合にはステップ１９４へ移行し、ステップ１５８〜１６４、ステップ１９４を繰り返す。
【００９７】
一方、ステップ１６４の判定が肯定された場合は、ディスプレイ１２に表示されている３次元的画像が表す仮想３次元空間内の特定箇所を情報入力者１０が指し示していると判断できる。このためステップ１６６へ移行し、先に取り込んだ基準点Ｐ0 及び特徴点Ｐx の３次元座標に基づき、情報入力者１０が指し示している箇所（指示箇所）が存在している方向として、基準点Ｐ0 と特徴点Ｐx とを結ぶ仮想線の延びる方向（基準点Ｐ0 から特徴点Ｐx に向かう方向）を演算する。
【００９８】
ステップ１６８では、先に取り込んだ基準点Ｐ0 及び特徴点Ｐx の３次元座標に基づいて基準点Ｐ0 と特徴点Ｐx の距離ｋを演算し、前述の距離変換条件設定処理（図８参照）で設定した距離変換条件（図１５参照）に従って、図１８にも示すように、基準点Ｐ0 と特徴点Ｐx の距離ｋを情報入力者１０と前記指示箇所との距離Ｌ（仮想距離）に変換する。ステップ１７０では、情報入力者１０による指示箇所は、情報入力者１０を含む仮想３次元空間において、基準点Ｐ0 からステップ１６６で演算した方向にステップ１６８で求めた距離Ｌだけ隔てた箇所であるとみなして、仮想３次元空間における情報入力者１０による指示箇所の３次元座標値を演算する。
【００９９】
これにより、ディスプレイ１２に表示されている３次元的画像が表す仮想３次元空間内の任意の箇所を情報入力者１０が指し示したとしても、指し示された箇所の３次元座標を判断することができる。なお、上記のステップ１６６〜１７０は本発明の判断手段に対応している。
【０１００】
ステップ１７２では、ステップ１７０で演算した指示箇所の３次元座標を、記憶装置２４に記憶されている座標データに従って、ディスプレイ１２の表示面上における指示箇所の位置（２次元座標）に変換し（関数式を用いて演算により求めてもよい）、前記位置にカーソル５２が表示されるように情報処理装置１４に指示する（図１８参照）。なお、ディスプレイ１２に表示するカーソル５２の大きさを、ステップ１６８で求めた距離Ｌの大きさが大きくなるに従って小さくするようにしてもよい。
【０１０１】
ところで本実施形態では、情報入力者１０がディスプレイ１２への３次元的画像の表示倍率の変更（ズームイン又はズームアウト）を指示することも可能とされており、情報入力者１０による仮想３次元空間内の特定箇所を指し示している動作と、情報入力者１０による３次元的画像のディスプレイ１２への表示倍率の変更を指示する動作と、を区別するために、一例として情報入力者１０が指示動作を行うときには、情報入力者１０が手の形を人指し指以外の指を折り曲げた形（図１９（Ａ）参照）とし、情報入力者１０が表示倍率の変更を指示するときには、情報入力者１０が手の形を親指以外の指を伸ばした形（図１９（Ｂ）参照）とすることを予め定めている。
【０１０２】
次のステップ１７４では、情報入力者１０の手が特定の形（親指以外の指を伸ばした形）になっているか否か、すなわち情報入力者１０が３次元的画像の表示倍率の変更を指示しているか否か判定する。なお、このステップ１７４は、請求項５に記載の判定手段に対応している。
【０１０３】
ステップ１７４の判定が否定された場合には、情報入力者１０は３次元的画像の表示倍率の変更を指示する動作を行っていないと判断してステップ１７６へ移行し、先のステップ１６８で演算された距離ｋの変化が有ったか否か判定する。なお、ステップ１６８は情報入力者１０がディスプレイ１２の表示面を指し示す動作を行っている間（ステップ１６４の判定が肯定されている間）繰り返し実行されるが、ステップ１６８で最初に距離ｋが演算されたときには、距離ｋの変化の有無を判定できないのでステップ１７６の判定は無条件に否定される。
【０１０４】
ステップ１７６の判定が肯定された場合にはステップ１７８へ移行し、距離ｋの変化速度Ｖを演算し、演算した変化速度Ｖが閾値（クリック動作速度設定処理によって設定されたクリック動作速度Ｖ0 ）以上か否か判定する。なお、ステップ１７８についても、ステップ１６８で最初に距離ｋが演算されたときには、距離ｋの変化速度Ｖを演算することができないので判定は無条件に否定される。ステップ１７６又はステップ１７８の判定が否定された場合には、情報入力者１０はクリック動作を行っていないと判断し、ステップ１９４へ移行する。
【０１０５】
また、ステップ１７６、１７８の判定が各々肯定された場合には情報入力者１０がクリック動作を行ったと判断し、ステップ１８０において距離ｋの変化方向を判定し、判定結果に応じて分岐する。距離ｋが増加方向に変化していた場合には、情報入力者１０が腕を素早く伸長させる前進クリック動作を行ったと判断できるので、ステップ１８２へ移行し、前進クリックが有ったことを表す情報を情報処理装置１４に出力し、ステップ１９４へ移行する。また、距離ｋが減少方向に変化していた場合には、情報入力者１０が腕を素早く屈曲させる後進クリック動作を行ったと判断できるので、ステップ１８４へ移行し、後進クリックが有ったことを表す情報を情報処理装置１４に出力し、ステップ１９４へ移行する。
【０１０６】
情報処理装置１４では、前進クリックが有ったことを表す情報又は後進クリックが有ったことを表す情報が入力されると、情報入力者１０による現在の指示箇所がクリックされたと判断し、前進クリックが有った場合には現在の指示箇所に対応する第１の処理を、後進クリックが有った場合には現在の指示箇所に対応する第２の処理（第１の処理と異なる処理）を行う。なお、この第１の処理、第２の処理は、請求項４に記載の所定の処理（より詳しくは、請求項３に記載の第１の所定の処理、第２の所定の処理）に対応しており、例えば仮想３次元空間内の指示箇所に関連する処理（指示箇所に位置している物体に関連する処理）を行うことができる（具体例は後述）。
【０１０７】
このように、ステップ１７８〜１８４は、実際に第１の処理、第２の処理を行う情報処理装置１４と共に請求項３，４に記載の処理手段に対応している。
【０１０８】
一方、ステップ１７４の判定が肯定された場合にはステップ１８６へ移行し、先のステップ１６８で演算された距離ｋの変化が有るか否か判定する。なお、このステップ１８６についても、ステップ１６８で最初に距離ｋが演算されたときには、距離ｋの変化の有無を判定できないので判定は無条件に否定される。ステップ１８６の判定が否定された場合には、情報入力者１０の手の形は３次元的画像の表示倍率の変更を指示するときの形になっているものの、表示倍率をどの程度変更するかが指示されていないとみなしてステップ１９４へ移行する。
【０１０９】
一方、ステップ１８６の判定が肯定された場合にはステップ１８８へ移行し、距離ｋの変化量を演算し、所定の変換条件に従って距離ｋの変化量を３次元的画像の表示倍率の変更量に変換する。ステップ１９０では、ステップ１８８で演算した表示倍率の変更量に応じてディスプレイ１２への３次元的画像の表示倍率が変更され、かつ情報入力者１０による現在の指示箇所（ステップ１７０で演算した３次元座標に対応する箇所）がディスプレイ１２の表示面上の略中心に位置するように、ディスプレイ１２に３次元的画像を再表示するよう情報処理装置１４に指示する。
【０１１０】
これにより、例として図２０（Ａ）に示すように、宇宙空間を表す３次元的画像をディスプレイ１２に表示し、情報入力者１０が前記３次元的画像中のスペースシャトル５４を指し示している状態で、情報入力者１０によって３次元的画像の拡大表示（ズームイン）が指示された場合には、図２０（Ｂ）に示すように、ディスプレイ１２の表示面の中心にスペースシャトル５４が位置し、かつ指示された表示倍率の変更量に応じて３次元的画像が拡大表示されるように３次元的画像が再表示されることになる。
【０１１１】
また、前記状態で３次元的画像の縮小表示（ズームアウト）が指示された場合には、図２０（Ｃ）に示すように、ディスプレイ１２の表示面の中心にスペースシャトル５４が位置し、かつ指示された表示倍率の変更量に応じて３次元的画像が縮小表示されるように３次元的画像が再表示されることになる。
【０１１２】
このように、ステップ１８６〜１９０の処理は、実際に３次元的画像の表示を制御する情報処理装置１４と共に、請求項５に記載の表示制御手段に対応している。なお、上記の表示倍率の変更に伴って、仮想３次元空間内の各箇所と情報入力者１０との仮想距離も変化するので、前述のステップ１９０では仮想距離の変化に応じた距離変換条件の修正も行う。次のステップ１９２では、再表示した３次元的画像に応じてカーソル５２を再表示し、ステップ１９４へ移行する。
【０１１３】
上記処理により、情報入力空間に到来した情報入力者１０が、ディスプレイ１２に表示されている３次元的画像が表す仮想３次元空間内の任意の箇所を指し示す動作を行うと、ディスプレイ１２の表示面上の指し示した箇所に対応する位置にカーソル５２が表示され、前記情報入力者１０が前進クリック動作又は後進クリック動作を行うと、所望の処理（例えば指し示した箇所に関連する処理）が実行されることになる。
【０１１４】
また、前記情報入力者１０が、手の形を親指以外の指を伸ばした形とし、ディスプレイ１２に表示されている３次元的画像の表示倍率が所望の倍率となるように腕を屈曲又は伸長させれば、ディスプレイ１２に表示されている３次元的画像の表示倍率が所望の倍率に変更され、指し示している箇所を中心として３次元的画像が再表示されることになる。なお、腕を大きく屈曲又は伸長させても３次元的画像の表示倍率の変化が不足していた場合には、一旦、手の形を人指し指以外の指を折り曲げた形として腕の屈曲・伸長度合いを戻した後に、再度表示倍率の変更を指示する動作を行うようにしてもよい。
【０１１５】
なお、情報入力空間から情報入力者１０が退去するとステップ１９４の判定が肯定され、ステップ１９６で基準点・特徴点座標演算処理（図７）の実行を停止させた後にステップ１５０に戻り、情報入力空間に情報入力者１０が再度到来する迄待機する。そして、情報入力空間に情報入力者１０が再度到来すると、ステップ１５２以降の処理が繰り返される。
【０１１６】
ハンドポインティング入力装置２０のコントローラ２２において、上記の指示判断処理を実行することにより、情報入力者１０によるディスプレイ１２上の表示面上の指示位置及びクリック動作の有無をリアルタイムで判断することができるので、情報処理処理装置１４で実行される処理と組み合わせることで、以下で説明するように種々の利用形態での利用が可能となる。
【０１１７】
例えば多数の船舶が並んでいる状況を俯瞰撮影した３次元的画像をディスプレイ１２に表示し、３次元的画像が表す仮想３次元空間内の特定の船舶を利用者（情報入力者）が指し示している状態で、特定の指示（例えば前進クリック）が有った場合には、例えば前記船舶の諸元を表示し、他の特定の指示（例えば後進クリック）が有った場合には、例えば前記船舶と関連のある船舶を他の船舶と区別して表示し、拡大表示が指示された場合には前記船舶を中心として拡大表示させる等により、船舶データベース検索用のインタフェースとして利用することができる。なお、船舶に代えて、自動車や航空機、自転車、電気製品、機械部品等の各種データベースの検索に利用することも可能であることは言うまでもない。
【０１１８】
また、例えばビルディングを設計する過程で作成されたＣＡＤデータに基づいて、鉄骨が組み上がった状況での前記ビルディング内部を撮像したに相当する３次元的画像の画像データを生成し、前記３次元的画像をディスプレイ１２に表示すると共に、利用者からの指示に応じて視点が前記ビルディング内を移動しているかのように３次元的画像の表示を切り換え、３次元的画像が表す仮想３次元空間内の特定箇所を設計者（情報入力者）が指し示している状態で、特定の指示（例えば前進クリック）が有った場合には、例えば指示箇所を設備配管の配設位置の始点又は終点として記憶し、他の特定の指示（例えば後進クリック）が有った場合には、例えば各種設備配管を一覧表示して設備配管の種類を選択させ、選択されると前記始点から終点の間に前記選択された設備配管を配設した状況を３次元的画像に重ねて表示する等により、設備配管の配設状況を立体的に確認することを可能とし、ビルディング等の建設物内部の設備配管等の設計を支援する設計支援システムに利用することができる。
【０１１９】
更に、例えばクレーンの遠隔操作室にディスプレイ１２を配設し、クレーンに取付けた複数台のビデオカメラが作業状況を撮像することで得られる３次元的画像をディスプレイ１２に表示し、３次元的画像が表す仮想３次元空間内の特定箇所を操作者（情報入力者）が指し示している状態で、特定の指示（例えば前進クリック）が有った場合には例えば指示箇所に向けてクレーンのアームを回転移動させ、他の特定の指示（例えば後進クリック）が有った場合には例えば指示箇所に向けてクレーンのアームを上下移動させる等により、高所に行くことなくクレーンの操作が可能な立体操作システムに利用することができる。
【０１２０】
また、例えば車両が位置している状況を表す３次元的画像をディスプレイ１２に表示し、利用者（情報入力者）が例えば車両のボンネットを指し示している状態で特定の指示（例えば前進クリック）が有った場合には車両のボンネットが開くように３次元的画像を切り換え、更に、利用者が例えば車両のエンジンを指し示している状態で特定の指示（例えば前進クリック）が有った場合にはエンジンの性能等を３次元的画像に重ねて表示し、他の特定の指示（例えば後進クリック）が有った場合には指示の取り消しが指示されたと判定してエンジンの性能等の表示を消去する等により、車両の仮想ショールームに利用することもできる。この場合、例えば先に説明した表示倍率の変更を指示する動作を車両の向きを変える動作として用い、例えば利用者が車両の前方側を指し示している状態でズームイン又はズームアウトに相当する動作が行われた場合に、車両全体を時計回り又は反時計回りに回転させるようにしてもよい。
【０１２１】
更に、例えばディスプレイ１２、ハンドポインティング入力装置２０及び情報処理装置１４をアミューズメント施設の３次元シミュレーションゲームを行うゲーム機として動作させることも可能である。
【０１２２】
なお、上記では２台のビデオカメラ３６Ａ、３６Ｂを設けた例を説明したが、これに限定されるものではなく、より多数のビデオカメラによって情報入力空間を各々撮像し、情報入力者１０からの指示を判断するようにしてもよい。
【０１２３】
また、上記では距離変換条件設定処理において、情報入力者１０がニュートラルポイントを指し示したときの基準点Ｐ0 と特徴点Ｐx の距離ｋも考慮して距離変換条件を設定するようにしていたが、これに限定されるものではなく、距離ｋの最大値ｋmax 及び最小値ｋmin のみに基づいて距離変換条件を設定するようにしてもよい。この場合、距離変換条件の変換特性は線形（例えば距離ｋに比例して距離Ｌが変化する変換特性）であってもよいが、特に３次元的画像が表す仮想３次元空間が非常に奥行きのある空間である場合（例えば宇宙空間を表す３次元的画像を表示手段に表示した場合等）には、変換特性を非線形（例えば基準点と特徴点との距離の変化のｎ乗（ｎ≧２）に比例して認識対象者と特定箇所との距離を変化させる変換特性等）とすることが好ましい。
【０１２４】
また、上記では情報入力者１０がディスプレイ１２に表示された３次元的画像が表す仮想３次元空間内の任意の箇所を態様を例に説明したが、情報入力者が指し示す対象は仮想的な３次元空間に限定されるものではなく、本発明は、情報入力者が実際の３次元空間内の任意の箇所を指し示す場合にも適用可能である。情報入力者が実際の３次元空間内の任意の箇所を指し示す利用形態としては、例えば劇場等において、スポットライトの照射方向や、アレイ状に配置された多数のスピーカによって形成される音響ビームの方向を、オペレータ（情報入力者）が指し示した方向に向ける場合等が挙げられる。
【０１２５】
【発明の効果】
以上説明したように請求項１記載の発明は、認識対象者が３次元空間内の特定箇所を指し示している状況を複数の方向から撮像して得られた複数の画像から認識対象者に相当する画像部を抽出し、認識対象者が腕を屈曲又は伸長させることで位置が変化する特徴点及び腕を屈曲及び伸長させても位置が変化しない基準点の３次元座標を求め、基準点から特徴点に向かう方向に基づき特定箇所が存在している方向を判断すると共に、基準点と特徴点との距離を所定の変換条件に従って認識対象者と特定箇所との距離に変換することにより、基準点から特徴点に向かう方向に沿った特定箇所の位置を判断し、特定箇所の３次元座標を判断するので、情報入力者が３次元空間内の任意の箇所を指し示す場合にも、指し示された箇所の３次元座標を判断でき、認識対象者が腕を無理に伸ばす等の極端な動作を行うことなく、認識対象者から見て３次元空間内の極めて遠方に位置している箇所を指し示すことも可能となる、という優れた効果を有する。
【０１２６】
請求項２記載の発明は、請求項１の発明において、認識対象者が腕を屈曲及び伸長させる動作を行ったときの基準点と特徴点との距離の変化幅に基づいて、基準点と特徴点との距離を認識対象者と特定箇所との距離に変換する変換条件の変換特性を設定するので、個々の認識対象者の体格に応じた変換特性を得ることができ、個々の認識対象者の体格のばらつきに拘らず認識対象者が指し示した特定箇所の奥行方向に沿った位置を正確に判断できる、という効果を有する。
【０１２７】
請求項３記載の発明は、認識対象者が３次元空間内の特定箇所を指し示している状況を複数の方向から撮像して得られた複数の画像から認識対象者に相当する画像部を抽出し、認識対象者が腕を屈曲又は伸長させることで位置が変化する特徴点及び腕を屈曲及び伸長させても位置が変化しない基準点の３次元座標を求め、基準点から特徴点に向かう方向に基づき特定箇所が存在している方向を判断すると共に、基準点と特徴点との距離に基づいて基準点から特徴点に向かう方向に沿った特定箇所の位置を判断し、特定箇所の３次元座標を判断すると共に、基準点と特徴点との距離が閾値以上の変化速度で増加した場合には第１の所定の処理を行い、基準点と特徴点との距離が閾値以上の変化速度で減少した場合には第２の所定の処理を行うので、情報入力者が３次元空間内の任意の箇所を指し示す場合にも、指し示された箇所の３次元座標を判断できると共に、認識対象者による第１の所定の処理又は第２の所定の処理の実行を指示する動作を確実に検出することができ、第１の所定処理及び第２の所定の処理のうち認識対象者によって選択された処理を確実に実行することができる、という優れた効果を有する。
【０１２８】
請求項４記載の発明は、認識対象者が３次元空間内の特定箇所を指し示している状況を複数の方向から撮像して得られた複数の画像から認識対象者に相当する画像部を抽出し、認識対象者が腕を屈曲又は伸長させることで位置が変化する特徴点及び腕を屈曲及び伸長させても位置が変化しない基準点の３次元座標を求め、基準点から特徴点に向かう方向に基づき特定箇所が存在している方向を判断すると共に、基準点と特徴点との距離に基づいて基準点から特徴点に向かう方向に沿った特定箇所の位置を判断し、特定箇所の３次元座標を判断すると共に、基準点と特徴点との距離の変化速度が閾値以上の場合に所定の処理を行い、かつ、認識対象者が腕を屈曲又は伸長させる動作を行ったときの基準点と特徴点との距離の変化速度に基づいて前記閾値を予め設定するので、情報入力者が３次元空間内の任意の箇所を指し示す場合にも、指し示された箇所の３次元座標を判断できると共に、個々の認識対象者の体格や筋力等のばらつきに拘らず、認識対象者による所定の処理の実行を指示する動作を確実に検知して所定の処理を実行することができる、という優れた効果を有する。
【０１２９】
請求項５記載の発明は、請求項１、請求項３及び請求項４の何れかの発明において、認識対象者の手が前記特定の形になっている状態で、基準点と特徴点との距離が変化した場合には、表示手段に表示されている３次元的画像が前記距離の変化に応じて拡大又は縮小表示されるように制御するので、上記効果に加え、認識対象者による３次元的画像の表示倍率の変更指示に応じて、表示手段に表示する３次元的画像の表示倍率を確実に変更することができる、という効果を有する。
【図面の簡単な説明】
【図１】情報入力空間の周辺を示す斜視図である。
【図２】本実施形態に係るハンドポインティング入力装置の概略構成を示すブロック図である。
【図３】照明装置の照明範囲とビデオカメラの撮像範囲との関係の一例を示す概略図である。
【図４】マーク板の一例を示す情報入力空間の斜視図である。
【図５】格子点位置情報初期設定処理を示すフローチャートである。
【図６】指示判断処理を示すフローチャートである。
【図７】基準点・特徴点座標演算処理を示すフローチャートである。
【図８】距離変換条件設定処理を示すフローチャートである。
【図９】クリック動作速度設定処理を示すフローチャートである。
【図１０】照明装置Ａ、Ｂの点灯・消灯、ビデオカメラの撮像によって得られる画像の出力（取り込み）のタイミングを示すタイミングチャートである。
【図１１】情報入力者の身長及び床面上の位置の演算を説明するための、情報入力空間の側面図である。
【図１２】（Ａ）乃至（Ｃ）は情報入力者の動作の一例を示すイメージ図である。
【図１３】（Ａ）はビデオカメラにより撮像された情報入力者の手を示すイメージ図、（Ｂ）は特徴点の座標及び特徴点の３次元座標を求めるための格子点の検索範囲を示す概念図である。
【図１４】（Ａ）は指示箇所が遠方に位置している場合、（Ｂ）は指示箇所が中間的な距離に位置している場合、（Ｃ）は指示箇所が近辺に位置している場合の、情報入力者の動作を各々を示すイメージ図である。
【図１５】情報入力者の基準点と特徴点との距離ｋを、情報入力者と情報入力者が指示した箇所との距離Ｌ（仮想距離）に変換するための距離変換条件の一例を示す線図である。
【図１６】（Ａ）は前進クリック動作、（Ｂ）は後進クリック動作を説明するためのイメージ図である。
【図１７】情報入力者が指し示しているディスプレイ上の位置の判定を説明するための、（Ａ）は情報入力空間の平面図、（Ｂ）は情報入力空間の側面図である。
【図１８】情報入力者の基準点と特徴点との距離ｋの、情報入力者と情報入力者が指示した箇所との距離Ｌ（仮想距離）への変換を説明するための概念図である。
【図１９】（Ａ）は特定の箇所を指し示す動作を行うとき、（Ｂ）は３次元的画像の表示倍率の変更を指示するときの手の形の一例を各々示すイメージ図である。
【図２０】（Ａ）は表示倍率変更前の３次元的画像の一例、（Ｂ）は指示に応じて拡大表示した３次元的画像の一例、（Ｃ）は指示に応じて縮小表示した３次元的画像の一例を各々示すイメージ図である。
【符号の説明】
１０    情報入力者
１２    ディスプレイ
１４    情報処理装置
２０    ハンドポインティング入力装置
２２    コントローラ
３６    ビデオカメラ
【図１】
0003795647.tif 000002
【図２】
0003795647.tif 000003
【図３】
0003795647.tif 000004
【図４】
0003795647.tif 000005
【図５】
0003795647.tif 000006
【図６】
0003795647.tif 000007
【図７】
0003795647.tif 000008
【図８】
0003795647.tif 000009
【図９】
0003795647.tif 000010
【図１０】
0003795647.tif 000011
【図１１】
0003795647.tif 000012
【図１２】
0003795647.tif 000013
【図１３】
0003795647.tif 000014
【図１４】
0003795647.tif 000015
【図１５】
0003795647.tif 000016
【図１６】
0003795647.tif 000017
【図１７】
0003795647.tif 000018
【図１８】
0003795647.tif 000019
【図１９】
0003795647.tif 000020
【図２０】
0003795647.tif 000021