(57)【要約】【課題】自然かつ簡単な操作によって利用者による指示位置又は指示方向の判断精度を向上させることができる指示動作認識装置を提供する。【解決手段】ビデオカメラ２０Ａ、２０Ｂにより互いに異なる複数の方向から利用者を撮像する。制御部１６は、撮像画像に基づいて、利用者が特定の位置又は方向を指し示す動作を行っている際の指示位置又は指示方向の変化に応じて位置が変化する特徴点の３次元座標を認識し、この３次元座標に基づいて、利用者による指示位置又は指示方向を判断する。また、制御部１６は、特徴点の３次元座標のうち大画面ディスプレイ１４と平行な２次元平面における２次元座標に基づいて、特徴点が停止状態か否かを判定する。そして、２次元平面における移動量が所定閾値以下の場合には停止状態であると判定してクリックモードへ切り替え、停止状態でない場合にはポインティングモードへ切り替える。【選択図】        図１
2004246814.tif 000002
【特許請求の範囲】
【請求項１】
互いに異なる複数の方向から利用者を撮像する撮像手段と、
前記撮像手段の撮像によって得られた画像に基づいて、利用者が特定の位置又は方向を指し示す動作を行っている際の指示位置又は指示方向の変化に応じて位置が変化する特徴点の３次元座標を認識する認識手段と、
前記認識手段によって認識された特徴点の３次元座標に基づいて、前記利用者による指示位置又は指示方向を判断する判断手段と、
前記認識手段によって認識された特徴点の３次元座標に基づいて、前記特徴点が停止状態か否かを判定する停止状態判定手段と、
前記停止状態判定手段による判定結果に基づいて、少なくとも特定の位置又は方向を指し示す動作を行うためのポインティングモードと、指し示した特定の位置又は方向に存在する対象物を選択する動作を含むクリック動作を行うためのクリックモードとを切り替える切替手段と、
前記クリックモードのときに前記クリック動作が行われたか否かを判定するクリック判定手段と、
を含む指示動作認識装置。
【請求項２】
前記停止状態判定手段は、少なくとも前記利用者による指示方向と交差する予め定めた２次元平面における前記特徴点の移動量に基づいて、前記特徴点が停止状態か否かを判定することを特徴とする請求項１記載の指示動作認識装置。
【請求項３】
前記切替手段は、前記特徴点が停止状態であると判定された場合にクリックモードに切り替え、前記クリックモードにおいて前記クリック動作が行われた場合に前記ポインティングモードに切り替えることを特徴とする請求項１又は請求項２記載の指示動作認識装置。
【請求項４】
前記切替手段は、前記クリックモードにおいて前記特徴点が停止状態であると判定された場合にクリックモードに切り替え、前記クリックモードにおいて前記特徴点が停止状態でないと判定された場合に前記ポインティングモードに切り替えることを特徴とする請求項１乃至請求項３の何れか１項に記載の指示動作認識装置。
【請求項５】
前記クリック判定手段は、少なくとも前記利用者による指示方向と交差する予め定めた２次元平面と略直交する方向における前記特徴点の移動量に基づいて前記クリック動作の種類を判定することを特徴とする請求項１乃至請求項４の何れか１項に記載の指示動作認識装置。
【請求項６】
任意の情報を表示すると共に、前記判断手段により判断された前記利用者による指示位置又は指示方向をカーソルにより表示する表示手段と、
前記ポインティングモードの場合とクリックモードの場合とでカーソルが異なるように前記表示手段を制御する制御手段と、
をさらに備えたことを特徴とする請求項１乃至請求項５の何れか１項に記載の指示動作認識装置。
【請求項７】
前記制御手段は、前記クリックモードでの前記カーソルの移動率が、前記ポインティングモードの場合よりも小さくなるように前記表示手段を制御することを特徴とする請求項６記載の指示動作認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、指示動作認識装置に係り、特に、利用者による指示位置又は指示方向を判断するための指示動作認識装置に関する。
【０００２】
【従来の技術】
従来より、所定の情報を表示するディスプレイの近傍に到来した利用者がディスプレイ上の任意の位置を指等によって指し示した状況を撮像手段によって撮像し、撮像によって得られた画像に基づいて利用者を認識して利用者が指示したディスプレイ上の位置を判断し、ディスプレイ上の指示位置にカーソル等を表示するハンドポインティング装置が知られている。
【０００３】
上記のハンドポインティング装置によれば、利用者がキーボードやマウス等の入力機器に触れることなく、情報処理装置に対して各種の指示を与えたり、各種の情報を入力することが可能となるので、情報処理装置を利用するための操作の簡素化を実現できる。
【０００４】
このようなハンドポインティング装置の中で、指が所定時間停止したことを検出した場合に、その指が指し示す位置が選択された（クリックされた）と判断するものがある。
【０００５】
しかしながら、この場合、判断をためらって指を停止した場合でもその指が指し示す位置が選択されたと認識されてしまうため、利用者の判断と異なる操作結果になってしまう場合がある、という問題があった。
【０００６】
また、利用者の手の入力画像の画像処理結果に基づいて、ポインティングを行うモード、すなわちディスプレイ上に表示されたカーソルの移動を指示するモードと、それ以外のモード、例えばカーソル位置に表示されたアイコンの選択を指示するモードとを切り替えるものも提案されている（例えば特許文献１参照）。
【０００７】
【特許文献１】
特開平１０−２０７６１８号公報
【０００８】
【発明が解決しようとする課題】
しかしながら、上記特許文献１に記載された技術では、例えば利用者が親指と人差し指を伸ばした手の形状が認識された場合にポインティングを行うモードに切り替え、親指を閉じて人差し指を伸ばした手の形状が認識された場合にアイコンの選択を指示するモードに切り替えるといったように、手の形状の変化を認識してモードを切り替えるため、処理が複雑になる、という問題があった。
【０００９】
また、手の形状を様々な形に変更することにより各モードを切り替えるため、人間の感性に応じた自然な操作をするのが困難であると共に、利用者は各モードに対応した様々な手の形状を予め覚えておかなければならないため、スムーズにモードを切り替えるのが困難である、という問題もあった。
【００１０】
本発明は、上記問題を解決すべく成されたものであり、自然かつ簡単な操作によって利用者による指示位置又は指示方向の判断精度を向上させることができる指示動作認識装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記目的を達成するために、請求項１記載の発明は、互いに異なる複数の方向から利用者を撮像する撮像手段と、前記撮像手段の撮像によって得られた画像に基づいて、利用者が特定の位置又は方向を指し示す動作を行っている際の指示位置又は指示方向の変化に応じて位置が変化する特徴点の３次元座標を認識する認識手段と、前記認識手段によって認識された特徴点の３次元座標に基づいて、前記利用者による指示位置又は指示方向を判断する判断手段と、前記認識手段によって認識された特徴点の３次元座標に基づいて、前記特徴点が停止状態か否かを判定する停止状態判定手段と、前記停止状態判定手段による判定結果に基づいて、少なくとも特定の位置又は方向を指し示す動作を行うためのポインティングモードと、指し示した特定の位置又は方向に存在する対象物を選択する動作を含むクリック動作を行うためのクリックモードとを切り替える切替手段と、前記クリックモードのときに前記クリック動作が行われたか否かを判定するクリック判定手段と、を含むことを特徴とする。
【００１２】
この発明によれば、撮像手段により互いに異なる複数の方向から利用者が撮像され、認識手段は、撮像手段の撮像によって得られた画像に基づいて、利用者が特定の位置又は方向を指し示す動作を行っている際の指示位置又は指示方向の変化に応じて位置が変化する特徴点の３次元座標を認識する。
【００１３】
なお、特徴点としては、例えば利用者の手や指等の先端、或いは利用者が把持している指示器の先端等に相当する点を用いることができる。また、特徴点の３次元座標は、詳しくは、例えば複数の方向からの撮像によって得られた複数の画像上での特徴点の位置を各々求め、複数の画像上での特徴点の位置から認識することができる。
【００１４】
そして判断手段は、認識手段によって認識された特徴点の３次元座標に基づいて、利用者による指示位置又は指示方向を判断する。この指示位置や指示方向の判断は、例えば利用者の位置と特徴点の位置の３次元座標に基づいて行うことができる。
【００１５】
停止状態判定手段は、認識手段によって認識された特徴点の３次元座標に基づいて、特徴点が停止状態か否かを判定する。例えば、予め定めた所定時間内に認識された特徴点の３次元座標が何れも予め定めた範囲内であった場合や、特徴点の移動量又は移動速度が所定閾値以下になった場合を停止状態と判定することができる。すなわち、停止状態とは、完全に特徴点が停止している場合の他、特徴点が完全に停止しておらず、多少移動しているものの、ほぼ停止しているとみなすことができる場合を含む。
【００１６】
切替手段は、停止状態判定手段による判定結果に基づいて、少なくとも特定の位置又は方向を指し示す動作を行うためのポインティングモードと、指し示した特定の位置又は方向に存在する対象物を選択する動作を含むクリック動作を行うためのクリックモードとを切り替える。なお、対象物には、表示手段に表示された任意の情報の少なくとも一部の情報が表示された領域や、利用者が操作したい装置に設けられた操作ボタン等が含まれる。
【００１７】
切替手段は、例えば、ポインティングモードの状態で停止状態判定手段により特徴点が停止状態であると判定された場合にクリックモードに切り替える。
【００１８】
クリック判定手段は、クリックモードのときに前記クリック動作が行われたか否かを判定する。例えば、利用者が指し示す方向に特徴点が所定閾値以上の速度で移動した場合に、その指し示す位置を選択した、すなわちクリックしたと判定することができる。また、特徴点が予め定めた軌跡で移動した場合や利用者の手がクリック動作に応じた形状に変化した場合にクリックしたと判定するようにしてもよい。
【００１９】
このように、特徴点が停止状態になった場合に、すぐにクリック動作が行われたと認識するのではなく、クリックモードの状態においてのみクリック動作が行われたか否かを判定するため、利用者が判断をためらって指などが停止状態になった場合に、指し示した特定の位置又は方向に存在する対象物が選択されたと誤認識するのを防ぐことができる。このため、クリック動作の判断精度を向上させることができ、利用者の意図と異なる操作結果になるのを防ぐことができる。
【００２０】
また、人間の手の形状の認識結果に応じてモードを切替えるのではなく、特徴点の停止状態に応じてモードを切替えるため、処理が複雑になるのを防ぐことができると共に、利用者は各モードに対応した様々な手の形状を予め覚えておく必要がないため、自然かつ簡単な操作でスムーズにモードを切り替えることができる。
【００２１】
請求項２記載の発明は、前記停止状態判定手段は、少なくとも前記利用者による指示方向と交差する予め定めた２次元平面における前記利用者による指示方向と交差する２次元平面における前記特徴点の移動量に基づいて、前記特徴点が停止状態か否かを判定することを特徴とする。
【００２２】
この発明によれば、停止状態判定手段は、３次元空間内における特徴点の移動量に基づいて特徴点が停止状態か否かを判定するのではなく、少なくとも利用者による指示方向と交差する予め定めた２次元平面における特徴点の移動量に基づいて、特徴点が停止状態か否かを判定する。
【００２３】
２次元平面は、例えば利用者が平面的な表示手段を指し示すような状況の場合には、その表示手段と略平行な面に設定される。このような場合には、利用者による指示方向と設定された２次元平面とは略直交する関係になる場合が多いと考えられる。また、この場合、利用者によるクリック動作は、利用者が指し示す方向、すなわち２次元平面と略直交する方向に特徴点を移動させる動作を含むのが自然である。従って、停止状態判定手段は、２次元平面と略直交する方向における特徴点の移動を無視することとなる。
【００２４】
このように、停止状態判定手段は、クリック動作に必要となる方向の動作を無視し、ポインティング動作に必要な方向の移動量、すなわち２次元平面における移動量のみを考慮して特徴点が停止状態か否かを判定するので、簡単な処理で精度よく停止状態を判定することができる。
【００２５】
請求項３記載の発明は、前記切替手段は、前記特徴点が停止状態であると判定された場合にクリックモードに切り替え、前記クリックモードにおいて前記クリック動作が行われた場合に前記ポインティングモードに切り替えることを特徴とする。
【００２６】
この発明によれば、切替手段は、特徴点が停止状態であると判定された場合にクリックモードに切り替え、このクリックモードにおいてクリック動作が行われた場合にはポインティングモードに自動的に切り替えるため、クリック動作が行われた後にポインティングモードに移行するための特別な動作をする必要がなく、簡単且つ自然な動作で各モードを切り替えることができる。
【００２７】
請求項４記載の発明は、前記切替手段は、前記クリックモードにおいて前記特徴点が停止状態であると判定された場合にクリックモードに切り替え、前記クリックモードにおいて前記特徴点が停止状態でないと判定された場合に前記ポインティングモードに切り替えることを特徴とする。
【００２８】
この発明によれば、切替手段は、クリックモードにおいて特徴点が停止状態でないと判定された場合、例えば２次元平面における特徴点の移動量が所定以上の場合に自動的にポインティングモードに切り替える。このため、判断をためらって特徴点が停止状態になったが、クリック動作をせずにポインティング動作に移行したいような場合でも、ポインティングモードに移行するための特別な動作をする必要がなく、簡単かつ自然な動作でポインティングモードに切り替えることができる。
【００２９】
請求項５記載の発明は、前記クリック判定手段は、少なくとも前記利用者による指示方向と交差する予め定めた２次元平面と略直交する方向における前記特徴点の移動量に基づいて前記クリック動作の種類を判定することを特徴とする。
【００３０】
この発明によれば、２次元平面と略直交する方向における特徴点の移動量に基づいてクリック動作の種類を判定するので、利用者は、２次元平面と略直交する方向、すなわち自身が指し示す方向に向けて特徴点を移動させる自然かつ簡単な動作によってクリック動作を行うことができ、利便性を向上させることができる。
【００３１】
請求項６記載の発明は、任意の情報を表示すると共に、前記判断手段により判断された前記利用者による指示位置又は指示方向をカーソルにより表示する表示手段と、前記ポインティングモードの場合とクリックモードの場合とでカーソルが異なるように前記表示手段を制御する制御手段と、をさらに備えたことを特徴とする。
【００３２】
この発明によれば、表示手段は、任意の情報を表示すると共に、判断手段により判断された前記利用者による指示位置又は指示方向をカーソルにより表示し、制御手段は、ポインティングモードの場合とクリックモードの場合とでカーソルが異なるように表示手段を制御する。
【００３３】
制御手段は、ポインティングモードの場合とクリックモードの場合とで例えばカーソルの形状、大きさ、色、模様等のうち少なくとも１つを異ならせる。これにより、利用者は現在のモードがどのモードなのかを容易に認識することができる。
【００３４】
請求項７記載の発明は、前記制御手段は、前記クリックモードでの前記カーソルの移動率が、前記ポインティングモードの場合よりも小さくなるように前記表示手段を制御することを特徴とする。
【００３５】
この発明によれば、制御手段は、クリックモードでのカーソルの移動率、すなわち特徴点の移動量に対するカーソルの移動量の割合が、ポインティングモードの場合よりも小さくなるように表示手段を制御するので、利用者の腕がぶれたりすることにより、これに連動してカーソル位置が変動するのを防ぐことができる。
【００３６】
ところで、指示位置又は指示方向を変化させる動作は、一般に、利用者の任意の関節を中心として特徴点の位置を円弧状に回動させる動作となるため、利用者が上記の動作を行った場合の特徴点の位置は、前記任意の関節を中心とする仮想的な球面に略沿って移動することになる。なお、複数の関節を各々動かす動作の場合には、前記仮想的な球面の中心が特定の関節に一致するとは限らないが、何れにしても特徴点の位置は、指示位置又は指示方向を変化させる動作に伴い、略一定の位置を中心とする仮想的な球面に略沿って移動する。
【００３７】
そこで、前記特徴点が互いに異なる場所に位置している状況で前記認識手段によって各々認識された特徴点の３次元座標に基づいて、利用者が指示位置又は指示方向を変化させる動作を行った際の特徴点の位置変化の回転中心に相当する点の３次元座標を演算する演算手段をさらに設け、前記判断手段は、前記認識手段によって認識された特徴点の３次元座標と、前記演算手段によって演算された前記回転中心に相当する点の３次元座標とに基づいて、前記利用者による指示位置又は指示方向を判断するようにしてもよい。
【００３８】
これにより、指示動作として利用者が実際に行った動作における回転中心に相当する位置の３次元座標が演算されることになる。
【００３９】
なお、演算手段による回転中心に相当する点の３次元座標の演算は、詳しくは、例えば、利用者が指示位置又は指示方向を変化させる動作を行っている間に認識手段による認識が複数回行われることで得られた、特徴点の移動軌跡上の複数箇所における３次元座標に基づいて行うことができる。また、演算手段による演算には、例えば最小二乗法や他の公知の演算方法を利用することができる。
【００４０】
なお、指示位置又は指示方向の判断は、具体的には、例えば特徴点と前記回転中心に相当する点を結ぶ仮想線を結ぶ仮想線の延びる方向を求めるか、又は、前記回転中心に相当する点の３次元座標に基づいて基準点の３次元座標を求めた後に、特徴点と前記基準点を結ぶ仮想線の延びる方向を求めることができる（例えば、仮想線の延びる方向を指示方向と判断し、仮想線の延長線上に存在している物体と仮想線の交点を指示位置と判断する等）。
【００４１】
このように、利用者が指示位置又は指示方向を変化させる動作を行った際の特徴点の位置変化の回転中心に相当する点の座標を求めて利用者による指示位置又は指示方向を判断することにより、利用者が指示動作としてどのような動作を行うかに拘らず、利用者による指示位置又は指示方向の判断精度を向上させることができる。
【００４２】
また、特徴点の３次元座標から演算によって前記回転中心に相当する点の３次元座標を求めてることにより、前記回転中心に相当する点が撮像手段による撮像範囲内に入っていなくても前記回転中心に相当する点の３次元座標を演算可能であり、撮像手段による撮像範囲の設定の自由度も向上する。
【００４３】
なお、時間の経過に伴って利用者による指示動作自体が変化する（前記回転中心に相当する点の位置が変化する）可能性があることを考慮すると、認識手段及び演算手段は、特徴点の３次元座標の認識又は前記回転中心に相当する点の３次元座標の演算を繰り返し行うことが好ましい。
【００４４】
これにより、利用者の指示動作自体が変化した場合にも、変化した後の動作における特徴点の位置変化の回転中心に相当する点の３次元座標を得ることができ、利用者による指示動作自体の変化に拘らず、利用者による指示位置又は指示方向を精度良く判断することができる。
【００４５】
また、演算手段は、例えば認識手段によって認識された特徴点の３次元座標から、特徴点の位置変化の回転中心に相当する点の３次元座標を直接演算するように構成することができる。但し、この発明では、特徴点の３次元座標から前記回転中心に相当する点の３次元座標を直接演算するため、演算に用いる特徴点の３次元座標が、特徴点が３次元的に移動している期間に対応するデータである必要がある。従って、演算に用いるデータ量が多くなり易く、演算が複雑になるという欠点がある。
【００４６】
これを考慮すると、演算手段は、例えば認識手段によって認識された特徴点の３次元座標から求まる、互いに交差する複数の平面内における特徴点の２次元座標に基づいて、複数の平面内における前記回転中心に相当する点の２次元座標を各々演算し、複数の平面内における基準点の２次元座標から前記回転中心に相当する点の３次元座標を演算するように構成してもよい。
【００４７】
この発明では、互いに交差する複数（例えば２つ）の平面内における特徴点の２次元座標に基づいて複数の平面内における前記回転中心に相当する点の２次元座標を各々演算し、これらに基づいて前記回転中心に相当する点の３次元座標を演算するので、特徴点の位置が複数の平面内のうちの何れか１つの平面内でのみ変化している期間にも、この期間に認識された特徴点の３次元座標から求まる前記平面内における特徴点の２次元座標に基づいて、前記平面内における前記回転中心に相当する点の２次元座標を演算することができる。従って、前記回転中心に相当する点の個々の２次元座標の演算に用いるデータ量を少なくすることができるので、演算が簡単になる。
【００４８】
なお、この発明において、複数の平面内における前記回転中心に相当する点の２次元座標を各々演算することは、例えば認識手段によって認識された特徴点の３次元座標が複数の平面のうちの少なくとも１つの平面内で変化しているか否かを判定し、特徴点の３次元座標が特定の平面内で変化していると判定する毎に、特定の平面内における特徴点の２次元座標に基づいて、特定の平面内における前記回転中心に相当する点の２次元座標を演算することにより実現できる。
【００４９】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態の一例を詳細に説明する。
【００５０】
図１には、本発明に係る指示動作認識装置としての機能を備えた情報表示装置１０の概略構成が示されている。
【００５１】
情報表示装置１０はパーソナル・コンピュータ（ＰＣ）１２を備えている。ＰＣ１２は、ＣＰＵ、ＲＯＭ、ＲＡＭ、入出力ポート及びＨＤＤ（何れも図示省略）を含んで構成されている。ＰＣ１２には大画面ディスプレイ１４（以下、ディスプレイ１４という）と制御部１６が接続されている。なお、ＰＣ１２は本発明の制御手段に対応し、ディスプレイ１４は本発明の表示手段に対応している。
【００５２】
ディスプレイ１４は、ＬＣＤ又はプラズマディスプレイ又は有機ＥＬディスプレイから成り、壁部に取り付けられ、制御部１６からＰＣ１２に入力された情報に従い、ＰＣ１２によって種々の情報が表示されるようになっている。
【００５３】
制御部１６は、ＣＰＵ、ＲＯＭ、ＲＡＭ、及び入出力ポート（何れも図示省略）がバスを介して互いに接続されて構成されており、記憶部１８が接続されている。
【００５４】
記憶部１８は、各種のデータやプログラム等を記憶するものであり、記憶内容を書き替え可能な不揮発性の情報記憶媒体、例えばハードディスクやバックアップ電源に接続されたＲＡＭ等を含んで構成されていることが望ましい。
【００５５】
本実施形態において、利用者はディスプレイ１４の配設位置近傍（ディスプレイ１４前方の図２及び図３（Ｂ）に示した箇所）に到来し（図２及び図３（Ｂ）では利用者に「８０」の符号を付して示す）、ディスプレイ１４の表示画面上に設けられた対応する表示領域の任意の位置を指し示す指示動作（ポインティング動作）を行うと共に、指示動作を行っている状態から手を前方向（ディスプレイ１４に近づく方向）や後方向（ディスプレイ１４から離間する方向）、すなわちＸ方向（前方向を正とする）に移動させる動作等を含むクリック動作等を行うことにより、対応する表示領域に所望の情報を表示させる。なお、ディスプレイ１４には、利用者が指し示した位置を表すカーソルが表示される。このカーソルは、利用者が指し示す位置に対応して移動する。
【００５６】
また、制御部１６には、２台のビデオカメラ２０Ａ，２０Ｂが接続された撮像制御装置２２及び利用者検出センサ２４が各々接続されている。なお、ビデオカメラ２０Ａ，２０Ｂは本発明に係る撮像手段に対応している。
【００５７】
利用者検出センサ２４は、例えばロードセル等で構成されており、指示動作やクリック動作を行う際に利用者が留まる位置（ディスプレイ１４前方の所定位置）の床部に埋設されている。
【００５８】
ディスプレイ１４の前方の空間（情報入力空間）の上方には、図３（Ａ）に示すように、情報入力空間に到来した利用者を照明する照明装置２６Ａ，２６Ｂが配設されている。
【００５９】
なお、照明装置２６Ａ，２６Ｂから射出される照明光は可視光であっても近赤外光であってもよいが、照明光を近赤外光とする場合には、ビデオカメラ２０Ａ，２０Ｂとして、近赤外光に感度を有するＣＣＤ等から成るエリアセンサを内蔵し、入射光をエリアセンサの受光面に結像させる結像レンズの光入射側に、近赤外域の波長の光のみを透過するフィルタが設けられた構成のビデオカメラを用いればよい。
【００６０】
一方、情報入力空間の上方には、回転放物面の一部（詳しくは回転対称とならない部分）に相当する凹の反射面を有する凹面鏡２８が配置されている。ビデオカメラ２０Ａ，２０Ｂは、凹面鏡２８との位置関係が、オフセットパラボラアンテナにおける反射鏡と１次放射器の位置関係と略同等になる位置近傍でかつＸＺ平面に沿って互いに異なる位置に、凹面鏡２８を介して情報入力空間を略直上より撮像する向きで各々配置されている。
【００６１】
凹面鏡２８は、情報入力空間側から入射された平行光線束をビデオカメラ２０Ａ，２０Ｂ側へ収束光線束として反射する光学性能を備えているので、ビデオカメラ２０Ａ，２０Ｂの撮像範囲（図２及び図３（Ｂ）において、ビデオカメラ２０Ａの撮像範囲は一点鎖線を境界とする範囲、ビデオカメラ２０Ｂの撮像範囲は破線を境界とする範囲である）の水平方向に沿った幅は、鉛直方向（Ｚ方向）に亘って各々略一定とされている。
【００６２】
また、本実施形態では、ビデオカメラ２０Ａは情報入力空間を正確に直上より撮像するように（図に一点鎖線で示す撮像範囲の境界が鉛直方向に沿うように）配置位置が定められている。一方、ビデオカメラ２０Ａ，２０Ｂの配置位置はＸＺ平面に沿ってずれているので、ビデオカメラ２０Ｂによる撮像範囲は、ビデオカメラ２０Ａによる撮像範囲に対してＸ方向に偏倚しており（図６（Ａ）参照）、情報入力空間をやや斜め上方より撮像する（各図に破線で示す撮像範囲の境界が鉛直方向に対して若干傾く）範囲となる。
【００６３】
従って、本実施形態に係る情報表示装置１０において、利用者による動作（指示動作やポインティング動作）を認識可能な領域（認識領域）は、ビデオカメラ２０Ａによる撮像範囲とビデオカメラ２０Ｂによる撮像範囲とが重複している領域、すなわち図２及び図３に二点鎖線で囲んで示す領域（図２ではハッチングで示す領域）となり、認識領域の水平方向に沿った幅についても、鉛直方向に亘っておおよそ一定となる。
【００６４】
図３（Ｂ）からも明らかなように、本実施形態では、情報入力空間に到来した利用者自体は認識領域から外れ、利用者が指示動作やクリック動作を行った際に、利用者の手のみが認識領域内に入るように、ビデオカメラ２０Ａ，２０Ｂの撮像範囲（凹面鏡２８の形状・寸法や凹面鏡２８、ビデオカメラ２０Ａ，２０Ｂの位置関係等）が定められている。
【００６５】
なお、撮像手段（カメラ）として遠赤外線カメラを用い、人間（利用者）の体温による遠赤外線と、人間の体温と所定値以上離れた温度（体温よりも高い温度であっても低い温度であってもよい）に設定又は温度調整された床から放射される遠赤外光と、によって人間と背景とを弁別する方法を用いても良い。
【００６６】
次に本実施形態の作用を説明する。本実施形態では、利用者検出センサ２４が利用者の到来を検出する毎に、制御部１６で指示判断処理が実行される。
【００６７】
以下、この指示判断処理について図４のフローチャートを参照して説明する。なお、指示判断処理は、利用者検出センサ２４によって利用者の退去が検出されると実行が終了される。
【００６８】
ステップ２００ではポインティングモード設定処理を行う。具体的には、ディスプレイ１４に表示するカーソルに関する設定処理等を行う。
【００６９】
カーソルに関する設定処理では、カーソルの移動率、すなわち利用者の指先等の移動量に対するカーソルの移動量の割合や、カーソルの形状や大きさ、色等のデザインに関する情報を含むカーソル情報をＰＣ１２に通知する。なお、ＰＣ１２側でポインティングモードに対応したカーソルの移動率やカーソルのデザインに関する情報を予め記憶しておき、制御部１６からはポインティングモードである旨だけを通知するようにしてもよい。
【００７０】
次のステップ２０２では特徴点座標演算処理を行う。
【００７１】
以下、この特徴点座標演算処理について、図５のフローチャートを参照して説明する。
【００７２】
ステップ２３０ではビデオカメラ２０Ａから出力される画像Ａを表す画像データを取り込み、次のステップ２３２では取り込んだ画像データをＲＡＭ２２Ｃ等に記憶する。ステップ２３４では、前回の処理周期で画像Ａの画像データを取り込んで記憶しているか否か判定する。利用者が情報入力空間に到来して最初に特徴点座標演算処理を行ったときには、画像Ａの画像データが記憶されていないので、ステップ２３４の判定が否定されて特徴点座標演算処理を終了するが、２回目以降の前記処理実行時には、前回の処理周期で取り込んだ画像Ａの画像データが制御部１６のＲＡＭ等に記憶されているので、前記判定が肯定されてステップ２３６へ移行する。
【００７３】
ステップ２３６では、前回の処理周期で取り込んだ画像Ａの画像データ、及び今回取り込んだ画像Ａの画像データを用い、双方の画像データが表す画像の差分を画素毎に演算する。この演算により、ビデオカメラ２０Ａの撮像範囲内に存在している物体のうち、前回の処理周期から現在迄の間に動きが有った物体に相当する画素のみが「差分有り」になるので、「差分有り」の画素のみを抽出することにより、動きが有った物体に相当する画像領域が抽出される。
【００７４】
なお、利用者の手が認識領域内に位置している場合、利用者が手を前後に移動させる等のクリック動作を行ったときのみならず、利用者が特定個所を指し示す指示動作を行っているときであっても、手を空中で完全に静止させることは困難であるので、利用者の手に相当する領域は、殆どの場合、前回の処理周期から現在迄の間に動きが有った物体に相当する画像領域として抽出されることになる。
【００７５】
次のステップ２３８では、ステップ２３６の処理により、利用者の手に相当する画像領域（例えば図６（Ｂ）に太線で囲んで示す画像領域）が抽出されたか否か判定する。なお、認識領域内に存在している物体は照明装置２６Ａ，２６Ｂによって照明されるので、認識領域内に利用者の手が存在している場合、画像Ａ及び画像Ｂの中には、利用者の手に相当する画像領域が、高輝度の画素から成る所定値以上の面積の連続した領域として現れる。従って、認識領域内に利用者の手が存在していれば、その手に相当する画像領域を容易に抽出することができる。
【００７６】
ステップ２３６で動きが有った物体に相当する画像領域が抽出されなかった場合、及びステップ２３６で抽出された画像領域が利用者の手に相当する画像領域でないと判定した場合には、認識領域内に利用者の手は存在していないと判断できるので、ステップ２３８の判定が否定されて特徴点座標演算処理を終了する。
【００７７】
一方、ステップ２３８の判定が肯定された場合にはステップ２４０へ移行する。本実施形態では、利用者による指示動作やクリック動作を認識するための特徴点として利用者の手の指先を用いており、ステップ２４０では今回取り込んだ画像データが表す画像Ａ上での特徴点Ｐ（図６（Ｂ）に示す点ＰＡ参照）の位置（２次元座標）を演算する。
【００７８】
本実施形態において、ビデオカメラ２０Ａの配置位置は、情報入力空間がビデオカメラ２０Ａによって正確に直上より撮像されるように定められているので、特徴点が鉛直方向に沿って移動（Ｘ座標値及びＹ座標値が変化することなく移動）した場合には、特徴点に対応する画像Ａ上の点ＰＡの位置は殆ど変化しない。
【００７９】
このように、画像Ａ上での点ＰＡの位置はＸＹＺ座標系のＸＹ平面（水平面）内における特徴点の位置に略対応しているので、ステップ２４０の演算により水平面内の特徴点の２次元座標（ｘ，ｙ）が求まることになる。
【００８０】
ステップ２４４では、ビデオカメラ２０Ｂから出力される画像Ｂを表す画像データを取り込み、次のステップ２４６では取り込んだ画像データを制御部１６のＲＡＭ等に記憶する。
【００８１】
ステップ２４８では、前回の処理周期で取り込んだ画像Ｂの画像データ、及び今回取り込んだ画像Ｂの画像データを用い、双方の画像データが表す画像の差分を画素毎に演算し、「差分有り」の画素のみを抽出することで、動きが有った物体に相当する画像領域を抽出する。そしてステップ２５０では、今回取り込んだ画像データが表す画像Ｂ上での特徴点（図６（Ｂ）に示す点ＰＢ参照）の位置（２次元座標）を演算する。
【００８２】
図６（Ａ）にも示すように、ビデオカメラ２０Ｂによる撮像範囲は、ビデオカメラ２０Ａによる撮像範囲に対してＸ方向に偏倚しているので、画像Ａ上での特徴点の位置と画像Ｂ上での特徴点の位置は、例として図６（Ｂ）に点ＰＡ及び点ＰＢとして示すようにＸ方向に沿ってずれる（偏差ｄが生ずる）ことになる。
【００８３】
また、偏差ｄの大きさは特徴点の高さ位置（Ｚ方向位置）に応じて変化し、仮に特徴点が凹面鏡２８の反射面上に位置していたとすると偏差ｄは０になり、特徴点が情報入力空間の床面上に位置していたとすると偏差ｄは最大となる（偏差ｄの最大値は、情報入力空間の床面上におけるビデオカメラ２０Ａ，２０Ｂの撮像範囲のずれ量に一致する）。従って、偏差ｄと特徴点の高さ（手の高さ）Ｈとの間には図６（Ｃ）に示すような関係がある。本実施形態では、図６（Ｃ）に示すような偏差ｄと特徴点の高さＨとの関係を表すマップが記憶部１８に予め記憶されている。
【００８４】
上記に基づき、ステップ２５２では画像Ａ上での特徴点の位置と画像Ｂ上での特徴点の位置のＸ方向に沿った偏差ｄを演算し、次のステップ２５４では、記憶部１８に記憶されている偏差ｄと特徴点の高さＨとの関係を表すマップに基づいて、ステップ２５２で求めた偏差ｄに対応する特徴点の高さＨ、すなわちＸＹＺ座標系における特徴点の高さ（座標値ｚ）を求める。
【００８５】
そして、ステップ２５６では、特徴点の３次元座標（ｘ，ｙ，ｚ）を現在の時刻（演算時刻）と対応付けて記憶部１８等に記憶する。特徴点座標演算処理は繰り返し実行されるので、該処理によって演算される特徴点の３次元座標は、利用者の姿勢や動作の変化に応じて逐次更新される。
【００８６】
なお、求めた特徴点の高さＨが極端に高い、或いは極端に低い場合には、特徴点の誤認識等が生じている可能性が非常に高いので、例えば高さＨが、図２及び図３に示す認識領域の上側境界よりも高い、或いは下側境界よりも低い場合には、認識領域内に利用者の手は存在していないと判断する等の例外処理を行うようにしてもよい。
【００８７】
また、特徴点座標演算処理は、例えば周知のＤＬＴ（Ｄｉｒｅｃｔ  Ｌｉｎｅｒ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ）法やステレオ法を用いて行ってもよい。
【００８８】
特徴点座標演算処理が終了すると、指示判断処理（図４）のステップ２０４へ移行し、基準点の３次元座標を演算する基準点座標演算処理を行う。
【００８９】
以下、この基準点座標演算処理について、図７のフローチャートを参照して説明する。
【００９０】
ステップ２６０では、先に説明した特徴点座標演算処理（図５）によって演算されて記憶部１８に記憶された特徴点の３次元座標データ（ｘ，ｙ，ｚ）を参照し、現時点より所定時間前から現時点迄の期間内に演算された特徴点の３次元座標データが所定数（例えば特徴点の位置変化の回転中心に相当する座標を演算する処理（詳細は後述）の実行に十分な数：例えば１６個）以上有るか否か判定する。利用者が情報入力空間に到来した当初は、特徴点座標演算処理の実行回数が所定数に満たないため、上記の条件を満足する特徴点の３次元座標データの数が所定数に達せず、回転中心に相当する点の座標を高精度に演算することは非常に困難である。
【００９１】
このため、ステップ２６０の判定が否定された場合にはステップ２７４へ移行し、記憶部１８に記憶されている特徴点の３次元座標に基づいて、特徴点の位置変化の回転中心に相当する点の３次元座標を推定演算する。この推定演算は、例えば以下のようにして行うことができる。
【００９２】
すなわち、例として図８（Ａ）に示すように、利用者が、指示動作として、肘を直角又は直角に近い角度迄曲げ、手を比較的低い位置に維持した状態（ローポジション）で、肘より先の部分のみを動かすことで指示位置を変化させる動作を行っている場合は、おおよそ肘の関節を回転中心として特徴点の位置が変化することが多い。
【００９３】
また、例として図８（Ｃ）に示すように、利用者が、指示動作として、腕を比較的真っ直ぐに前方へ伸ばし、手を比較的高い位置に維持した状態（ハイポジション）で、腕全体を動かすことで指示位置を変化させる動作を行っている場合には、おおよそ肩の関節を回転中心として特徴点の位置が変化することが多い。
【００９４】
更に、例として図８（Ｂ）に示すように、利用者が、指示動作として、手をハイポジションとローポジションの中間的な位置に維持した状態（ミドルポジション）で指示位置を変化させる動作を行っている場合には、肘及び肩の関節が各々動かされることにより、肩の関節よりも若干後方の位置を回転中心として特徴点の位置が変化することが多い。
【００９５】
従って、ステップ２７４の推定演算は、例えば利用者の姿勢（状態）がローポジション／ミドルポジション／ハイポジションの何れであるかを判断し、特徴点の位置変化の回転中心に相当する３次元座標として、肘の関節に相当する位置の３次元座標、肩の関節に相当する位置の３次元座標、及び肩の関節よりも若干後方の位置の３次元座標の何れかを、利用者の姿勢（状態）に応じて選択的に演算することによって行うことができる。
【００９６】
なお、利用者の姿勢（状態）がローポジション／ミドルポジション／ハイポジションの何れであるかは、利用者の身長と特徴点の高さ（座標値ｚ）の比率から判断でき、利用者のおおよその身長は、先に説明した特徴点座標演算処理（図５）のステップ２５２，２５４と同様に、画像Ａ，Ｂ上での利用者の頭部の位置のＸ方向に沿った偏差ｄを演算し、偏差ｄと高さＨとの関係を表すマップを用いることで求めることができる。
【００９７】
特徴点の位置変化の回転中心に相当する３次元座標が推定演算されるとステップ２７６へ移行し、ディスプレイ１４までの距離及びディスプレイ１４の大きさに応じて回転中心に相当する点の３次元座標（Ｘ，Ｙ，Ｚ）を修正することで、基準点の３次元座標（Ｘ，Ｙ，Ｚ）を演算し、演算した基準点の３次元座標（Ｘ，Ｙ，Ｚ）を記憶部１８に記憶させて基準点座標演算処理を終了する。
【００９８】
一方、利用者が情報入力空間に到来して指示動作を開始してから若干の時間が経過すると、基準点座標演算処理において、現時点より所定時間前から現時点迄の期間内に演算された特徴点の３次元座標データが所定数以上になることでステップ２６０の判定が肯定される。ステップ２６０の判定が肯定されるとステップ２６２へ移行し、上記の条件に合致する特徴点の３次元座標データ群のうち、利用者によって後述するクリック動作が行われた期間に対応する特徴点の３次元座標データが有るか否か判定する。この判定は、例えば判定対象の特徴点の３次元座標データ群の各データを演算時刻順に時系列に並べ、各データの中に座標値ｘが急激に所定値以上変化しているデータが存在しているか否かを探索すること等によって、各クリック動作に相当するデータが存在するか否かを探索することで行うことができる。
【００９９】
利用者によってクリック動作が行われた期間に対応する特徴点の位置は、後述する特徴点の位置変化の回転中心に相当する点の座標の演算における演算精度低下の原因となるので、ステップ２６２の判定が肯定された場合はステップ２６４へ移行し、該当する特徴点の３次元座標データを、回転中心に相当する点の座標の演算における演算対象から除外する処理を行った後に、ステップ２６６へ移行する。なお、ステップ２６２の判定が否定された場合には、何ら処理を行うことなくステップ２６６へ移行する。
【０１００】
ステップ２６６では、演算対象の特徴点の３次元座標データ群に、水平面内（ＸＹ平面内）及び垂直面内（ＹＺ平面内）での座標の変化が有るか否か判定する。この判定が否定される場合は、例えば利用者が一定の位置を指示している状態を継続している等の場合であり、このような状態でのデータを用いて特徴点の位置変化の回転中心を演算することは、利用者による指示位置の判断精度の低下に繋がる。このため、ステップ２６６の判定が否定された場合にはステップ２７４へ移行し、前述の推定演算を行う。
【０１０１】
一方、ステップ２６６の判定が肯定された場合にはステップ２６８へ移行し、演算対象の特徴点の３次元座標データ群が表す特徴点の移動軌跡に基づいて、特徴点の位置変化の回転中心に相当する点の３次元座標（Ｘ，Ｙ，Ｚ）を演算する。
【０１０２】
以下、ステップ２６８における演算について詳述する。特徴点の位置は、空間内の特定の位置（この位置は利用者の動作によって相違する）を中心とする仮想的な球の表面に沿って移動すると見なすことができる。座標（Ｘ，Ｙ，Ｚ）を中心とする半径Ｒの球面は次の（１）式で表すことができる。
（ｘ−Ｘ）２＋（ｙ−Ｙ）２＋（ｘ−Ｘ）２＝Ｒ２  …（１）
なお、（１）式における座標（ｘ，ｙ，ｚ）は球面上の任意の点の座標である。特徴点のｎ個の３次元座標データを（ｘｉ，ｙｉ，ｚｉ）とし（ｉ＝１，２，…，ｎ）、これらを（１）式に代入して最小二乗法の極値を座標値Ｘ及び半径Ｒでとると、以下のようになる。
【０１０３】
【数１】
2004246814.tif 000003
【０１０４】
上記の結果より次の（３）式が得られる。
【０１０５】
【数２】
2004246814.tif 000004
【０１０６】
（３）式を（２）式に代入して整理すると、次の（４）式が得られる。
【０１０７】
【数３】
2004246814.tif 000005
【０１０８】
上記と同様に座標値Ｙ，Ｚについて解くと、次の（５），（６）式が得られる。
【０１０９】
【数４】
2004246814.tif 000006
【０１１０】
続いて、（４），（５），（６）式を連立させて座標値Ｘ，Ｙ，Ｚを解く。これらを行列式で表すと次の（７）式のようになる。
【０１１１】
【数５】
2004246814.tif 000007
【０１１２】
そして、（７）式の解は以下の（８）〜（１０）式のようになる。
【０１１３】
【数６】
2004246814.tif 000008
【０１１４】
従って、ステップ２６８は、演算対象の特徴点の３次元座標データ（ｘｉ，ｙｉ，ｚｉ）を（８）〜（１０）式に各々代入することで、回転中心に相当する点の３次元座標（Ｘ，Ｙ，Ｚ）を求めることができる。また半径Ｒは、演算対象の特徴点の３次元座標データ、及び（８）〜（１０）式の演算結果を（３）式に各々代入することで求めることができる。なお、ステップ２６８は演算手段に対応している。
【０１１５】
次のステップ２７０では、以前に（現在の利用者が情報入力空間に到来してから現在までの間に）特徴点の位置変化の回転中心に相当する点の３次元座標を演算したか否か判定する。判定が否定された場合には何ら処理を行うことなくステップ２７６へ移行するが、判定が肯定された場合にはステップ２７２へ移行し、以前に演算した回転中心に相当する点の３次元座標も考慮して（例えば加重平均値を演算する等により）、回転中心に相当する点の３次元座標（Ｘ，Ｙ，Ｚ）を最終決定する。
【０１１６】
そして次のステップ２７６では、ディスプレイ１４までの距離及びディスプレイ１４の大きさに基づいて回転中心に相当する点の３次元座標（Ｘ，Ｙ，Ｚ）が修正されることで基準点の３次元座標（Ｘ，Ｙ，Ｚ）が演算され、記憶部１８に記憶される。
【０１１７】
このように、本実施形態では、利用者が情報入力空間に到来して指示動作を開始してから若干の時間が経過した後（現時点より所定時間前から現時点迄の期間内に演算された特徴点の３次元座標データが所定数以上になった後）は、特徴点の移動軌跡に基づき、特徴点の位置変化の回転中心に相当する点の３次元座標を最小二乗法によって演算し、この回転中心に相当する点の３次元座標に基づいて設定した基準点の３次元座標を用いて利用者による指示位置を判断しているので、指示動作として利用者が図８（Ａ）〜（Ｃ）に示す各種動作（姿勢）の何れを行っている場合にも、また図９に示すように、利用者の体格が大きく相違している場合にも、これらの影響を受けることなく基準点を適切な位置に設定することができ、利用者による指示位置を精度良く判断することができる。
【０１１８】
また、基準点座標演算処理（及び特徴点座標演算処理）は繰り返し行われるので、例えば図１０（Ａ）、（Ｂ）に示すように利用者が指示動作に用いている腕が利用途中で変化した場合、或いは指示動作として利用者が行っている動作が利用途中で変化した場合（例えばハイポジションからミドルポジション又はローポジションに変化した等の場合）にも、この変化に追随して基準点を適切な位置に切り替えることができ、利用者による指示位置を常に精度良く判断することができる。
【０１１９】
基準点座標演算処理が終了すると、図４のフローチャートのステップ２０６へ移行し、ディスプレイ１４に表示すべきカーソルの座標を演算する。
【０１２０】
具体的には、先の特徴点座標演算処理で演算された特徴点の３次元座標（ｘ，ｙ，ｚ）と、基準点座標演算処理で演算された基準点の３次元座標（Ｘ，Ｙ，Ｚ）に基づき、利用者の指示動作による指示方向を表す線として、図１１に示すように、基準点Ｐ０と特徴点ＰＸとを結ぶ仮想線（図１１の仮想線５４参照）の延びる方向を求め、利用者が指し示している位置（指示位置）として、ディスプレイ１４の表示面を含む平面と、設定した仮想線の交点（図１１に示す点Ｓ参照）の座標（２次元座標）を演算する。
【０１２１】
そして、演算したカーソル位置の座標をＰＣ１２へ通知する。ＰＣ１２は、ステップ２００で設定されたカーソル情報に基づくカーソルを制御部１６から指定された座標に表示させる。これにより、利用者が指先等をディスプレイ１４に向けて指し示すだけで、その位置にカーソルが表示される。なお、ステップ２０６は、本発明の判断手段に対応している。
【０１２２】
次のステップ２０８では、特徴点座標演算処理で演算された特徴点の３次元座標（ｘ，ｙ，ｚ）に基づいて、特徴点が停止状態か否かを判定する。本実施形態では、特徴点のＸ方向の動きを無視し、２次元平面としてのＹＺ平面の動きのみに着目して特徴点が停止状態か否かを判定する。すなわち、２次元座標（ｙ，ｚ）に基づいて特徴点が停止状態か否かを判定する。なお、ステップ２０８は、本発明の停止状態判定手段及び切替手段に対応している。
【０１２３】
具体的には、現在から過去における所定時間内に演算した特徴点の２次元座標（ｙ，ｚ）に基づいて特徴点のＹＺ平面における所定時間内の移動量を算出し、この移動量に基づいて停止状態か否かを判定する。
【０１２４】
例えば、現在時刻（時刻ｔ）における特徴点のＹＺ成分ベクトルをｒ（ｙ，ｚ，ｔ）＝ｒ（ｔ）で表し、特徴点のサンプリング間隔（演算間隔）をΔｔとした場合、過去ｎ回（ｎは自然数）演算した特徴点のＹＺ成分ベクトルの各々と現在のＹＺ成分ベクトルとの差（距離）である｜ｒ（ｔ）−ｒ（ｔ−Δｔ）｜、｜ｒ（ｔ）−ｒ（ｔ−２Δｔ）｜、｜ｒ（ｔ）−ｒ（ｔ−３Δｔ）｜、…｜ｒ（ｔ）−ｒ（ｔ−ｎΔｔ）｜の各々が全て予め定めた所定閾値以下の場合には特徴点が停止状態であると判定し、これ以外の場合には特徴点が停止状態でないと判定することができる。
【０１２５】
また、現在時刻（時刻ｔ）における特徴点のＹＺ平面における移動速度をｖ（ｔ）＝｛ｒ（ｔ）−ｒ（ｔ−Δｔ）｝／Δｔで表し、過去ｎ回演算した特徴点のＹＺ平面における移動速度である｜ｖ（ｔ）｜、｜ｖ（ｔ−Δｔ）｜、｜ｖ（ｔ−２Δｔ）｜、…｜ｖ（ｔ−ｎΔｔ）｜の各々が全て予め定めた所定閾値以下の場合には特徴点が停止状態であると判定し、これ以外の場合には特徴点が停止状態でないと判定するようにしてもよい。なお、上記の所定閾値は、特徴点がＹＺ平面で多少移動してもほぼ停止状態であるとみなすことができる値に設定される。
【０１２６】
このように、Ｘ方向、すなわちクリック動作に必要となる方向の動作を無視し、ポインティング動作に必要なＹＺ平面における特徴点の移動量のみに基づいて特徴点が停止状態か否かを判定するため、簡単な処理で精度よく停止状態を判定することができる。
【０１２７】
ステップ２０８で停止状態でないと判定された場合には、ステップ２０２へ移行し、特徴点が停止状態であると判定されるまで上記と同様の処理、すなわちステップ２０２〜２０８の処理を繰り返す。この間、逐次カーソル位置の座標が演算されてＰＣ１２に通知され、ＰＣ１２では、設定された移動率でカーソルが移動するようにディスプレイ１４を制御する。
【０１２８】
一方、停止状態であると判定された場合にはステップ２１０へ移行する。ステップ２１０では、クリックモード設定処理を行う。具体的には、ステップ２００と同様に、ディスプレイ１４に表示するカーソルに関する設定処理等を行う。
【０１２９】
カーソルに関する設定処理では、カーソルの移動率をポインティングモードのｐ倍（０≦ｐ≦１）に設定する。ここで、ｐ＝１の場合はポインティングモードの場合と同一の移動率となり、ｐ＝０の場合はカーソルが全く移動しないこととなる。
【０１３０】
なお、クリックモードのときは、カーソルを移動させるのが主目的ではなく、指し示した位置をクリックするのが主目的であるため、正確にその位置をクリックできることが優先される場合が多い。従って、クリックモードのときは、ポインティングモードのときよりも移動率を低下させる、すなわちｐを１未満にすることが好ましい。これにより、利用者の腕がぶれたりすることにより、これに連動してカーソル位置が変動し、クリック位置がずれてしまうのを防ぐことができ、利便性を向上させることができる。
【０１３１】
また、カーソルのデザインは、ポインティングモードの場合と異なるデザインを設定する。例えばポインティングモードのときのカーソルのデザインを矢印又は十字のデザインとした場合、クリックモードでは、指の形状やボタンの形状等に設定する。なお、カーソルの色のみを異ならせるようにしてもよい。
【０１３２】
このようにポインティングモードとクリックモードとでカーソルを異ならせることにより、利用者は現在のモードがポインティングモードなのかクリックモードなのかを容易かつ的確に認識することができる。
【０１３３】
ステップ２１２では、ステップ２０２と同様に特徴点座標演算処理を行い、次のステップ２１４では、ステップ２０４と同様に基準点座標演算処理を行う。
【０１３４】
そして、ステップ２１６では、ステップ２０６と同様に、特徴点座標演算処理で演算された特徴点の３次元座標（ｘ，ｙ，ｚ）と、基準点座標演算処理で演算された基準点の３次元座標（Ｘ，Ｙ，Ｚ）と基づいてディスプレイ１４に表示すべきカーソル位置の座標を演算し、ＰＣ１２へ通知する。これにより、ディスプレイ１４には利用者が指し示した位置にクリックモードに対応した形状のカーソルが表示される。
【０１３５】
ところで、クリック動作として、種々の動作を採用することができるが、本実施形態では、利用者が手を前方に素早く移動させる動作（図１２（Ａ）参照、以下「前進クリック」という）や、利用者が手を後方に素早く移動させる動作（図１２（Ｂ）参照、以下「後進クリック」という）の他、利用者が手を後方に素早く移動させる動作を２回繰り返す動作（図１２（Ｃ）参照、以下「後進ダブルクリック」という）、利用者が手を後方に移動させた後、前方に手を移動させ、元の位置に戻す動作（図１２（Ｄ）参照、以下「後ストローク」という）をクリック動作としている。
【０１３６】
このクリック動作は、ディスプレイ１４の表示面上の特定の箇所を指し示して選択する動作等として極めて自然な動作であり、利用者は違和感を感ずることなくクリック動作を行うことができる。
【０１３７】
また、このようなクリック動作の初期動作では、利用者の手が前方向、すなわちディスプレイ１４に近づく方向に移動する動作又は利用者の手が後方向、すなわちディスプレイ１４から離間する方向に移動する動作が必ず含まれることとなる。
【０１３８】
そこで、次のステップ２１８では、特徴点のＸ座標に基づいて、特徴点のＸ方向における移動速度が所定閾値以上か否かを判定することにより、クリック動作における初期動作がなされたか否かを判定する。
【０１３９】
具体的には、特徴点のｔ時刻におけるＸ方向のＸ成分ベクトルをｘ（ｔ）で表すと共に、特徴点のＸ方向のｔ時点における移動速度をＶｘ（ｔ）＝｛ｘ（ｔ）−ｘ（ｔ−Δｔ）｝／Δｔで表した場合、移動速度Ｖｘ（ｔ）が予め定めた前クリック閾値以上又は後クリック閾値以上になったか否かを判定する。
【０１４０】
ここで、前クリック閾値は、特徴点が前方向に素早く移動した場合に前クリック閾値以上となるような値に設定される。同様に、後クリック閾値は、特徴点が後方向に素早く移動した場合に前クリック閾値以上となるような値に設定される。なお、前クリック閾値及び後クリック閾値の絶対値が同一の値となるように各々の閾値を設定してもよいし、異なる値となるようにしてもよい。
【０１４１】
移動速度Ｖｘ（ｔ）が前クリック閾値以上でもなく、後クリック閾値以上でもない場合、すなわちクリック動作の初期動作が行われていない場合には、ステップ２２０へ移行し、移動速度Ｖｘ（ｔ）が前クリック閾値以上又は後クリック閾値以上になった場合、すなわちクリック動作の初期動作が行われた場合には、ステップ２２２へ移行する。
【０１４２】
ステップ２２０では、ステップ２０８と同様に、特徴点座標演算処理で演算された特徴点の３次元座標（ｘ，ｙ，ｚ）、詳しくは２次元座標（ｙ，ｚ）に基づいて、特徴点が停止状態か否かを判定する。なお、ステップ２２０の処理は本発明の停止状態判定手段及び切替手段に対応している。
【０１４３】
このとき、閾値をステップ２０８で用いる所定閾値と異なる値に設定してもよく、ステップ２２０で用いる閾値をステップ２０８で用いる閾値よりも大きい値に設定することが好ましい。これにより、利用者の手がクリック動作をする直前に変動することによって特徴点がＹＺ平面で変動し、誤ってポインティングモードに移行してしまうのを防ぐことができる。
【０１４４】
このように、特徴点のＹＺ平面における移動量がポインティングモードのときよりも大きくならないとポインティングモードへ移行することができないため、利用者の使い勝手を向上させることができる。
【０１４５】
また、利用者が一旦手の動きを止めてクリック動作に入るべくクリックモードへ移行したものの、再度ポインティングモードに移行したい場合には、手をある程度大きくＹＺ平面で移動させるだけでよいので、ポインティングモードに移行するために手の形状を変化させたりするなどの特別な動作をする必要がなく、簡単かつ自然な動作でポインティングモードに切り替えることができる。
【０１４６】
一方、クリック動作の初期動作が行われたと判定された場合には、ステップ２２２において、特徴点の移動方向が前方か否かが判断される。これは、移動速度Ｖｘ（ｔ）が正か負かによって判断することができる。そして、特徴点の移動方向が前方の場合、すなわち移動速度Ｖｘ（ｔ）が正の値の場合にはステップ２２４へ移行し、移動方向が後方の場合、すなわち移動速度Ｖｘ（ｔ）が負の値である場合には、ステップ２２６へ移行する。
【０１４７】
ステップ２２４では、クリック種別を表すクリック種別変数に前進クリックを表す値（例えば‘１’）を代入し、記憶部１８へ記憶する。
【０１４８】
前進クリック動作は、図１２（Ａ）に示したように、特徴点としての利用者の指先が静止している状態を初期位置として、前方に指先を移動させたあと元の場所に戻る動作、すなわち一旦前方に指先を移動させた後、後方向に指先を移動させる動作が基本であるが、本実施形態では、特徴点が所定閾値以上の速度で前方に移動したことのみをもって前進クリック動作がなされたものとして扱う。
【０１４９】
これは、指先が後方向に移動したことを検出してから前進クリックであることを認識し、前進クリックに対応する処理を行ったのでは利用者にとって反応が鈍いと感じてしまう場合があるためである。このように、特徴点が所定閾値以上の速度で前方に移動したことのみをもって前進クリック動作がなされたものとすることにより、利用者は違和感を感じることなく操作することが可能となる。
【０１５０】
なお、反応性に問題がなければ、前方に指先を移動させたあと後方に指先を移動させたことを検出することにより前進クリックと認識するようにしてもよい。
【０１５１】
一方、移動方向が後方の場合には、ステップ２２６において、後進側クリック判定処理を行う。以下、この処理について図１３に示すフローチャートを参照して説明する。
【０１５２】
初期動作が後進側のクリック動作としては、図１２（Ｂ）〜（Ｄ）に示すように、後進クリック、後進ダブルクリック、後進ストローク等があるが、このようなクリック動作では、前進クリックに比べて処理の反応性よりも処理の確実性が要求されるため、初期動作後所定時間の間の特徴点のＸ方向における軌跡、すなわちＸ座標を求め、これに基づいて後進側のクリック動作を判別する。
【０１５３】
このため、図１３に示すように、ステップ２８０では、まずステップ２０８と同様の特徴点座標演算処理を行う。
【０１５４】
次のステップ２８２では、予め定めた所定時間経過したか否かを判定し、所定時間経過していなければステップ２８０へ戻って再び特徴点座標演算処理を行う。この処理はΔｔ時刻毎に行われる。なお、所定時間は、例えば後ストロークや後進ダブルクリック等のクリック動作に比較的時間を要する一連のクリック動作が終了するのに十分な時間に設定される。
【０１５５】
所定時間経過すると、ステップ２８４へ移行し、ステップ２８０で演算された特徴点の３次元座標（ｘ，ｙ，ｚ）のうちＸ座標のみを用いて、ステップ２１８と同様に各時刻の移動速度Ｖｘ（ｔ）を求める。
【０１５６】
次のステップ２８６では、所定時間内に前クリック閾値以上となった移動速度Ｖｘ（ｔ）が存在するか否かを判断し、所定時間内に前クリック閾値以上となった移動速度Ｖｘ（ｔ）が存在しない場合には、ステップ２８８へ移行する。
【０１５７】
ステップ２８８では、クリック種別を表すクリック種別変数に判別不能を表す値（例えば‘０’）を代入して記憶部１８へ記憶し、本ルーチンを終了する。すなわち、初期動作として後方に特徴点が移動し、その後特徴点が所定時間内に前方へ所定速度以上で移動していない場合には、図１２（Ｂ）〜（Ｄ）の何れの動作にも当てはまらないため、判別不能とする。
【０１５８】
一方、所定時間内に前クリック閾値以上となった移動速度Ｖｘ（ｔ）が存在する場合には、ステップ２９０へ移行し、所定時間内において前クリック閾値以上となった後に後クリック閾値以上となった移動速度Ｖｘ（ｔ）が存在するか否かを判断する。
【０１５９】
そして、所定時間内に後クリック閾値以上となった移動速度Ｖｘ（ｔ）が存在しない場合には、ステップ２９２へ移行する。
【０１６０】
ステップ２９２では、クリック種別を表すクリック種別変数に後進クリックを表す値（例えば‘２’）を代入して記憶部１８へ記憶し、本ルーチンを終了する。すなわち、図１４に示すように、初期動作として後方に特徴点が移動し、その後特徴点が前方へ前クリック閾値以上の速度で移動し、その後特徴点が後方へ後クリック閾値以上の速度で移動していない場合には、後進クリック動作がなされたと判断する（図１２（Ｂ）も参照）。
【０１６１】
また、前クリック閾値以上となった後に所定時間内において後クリック閾値以上になった移動速度Ｖｘ（ｔ）が存在する場合には、ステップ２９４へ移行し、前クリック閾値以上となった後に後クリック閾値以上となり、さらに前クリック閾値以上になった移動速度Ｖｘ（ｔ）が存在するか否かを判断する。
【０１６２】
そして、所定時間内において前クリック閾値以上となった後に後クリック閾値以上となり、さらに前クリック閾値以上になった移動速度Ｖｘ（ｔ）が存在しない場合には、ステップ２９６へ移行する。
【０１６３】
ステップ２９６では、クリック種別を表すクリック種別変数に後ストロークを表す値（例えば‘３’）を代入して記憶部１８へ記憶し、本ルーチンを終了する。すなわち、図１４に示すように、初期動作として後方に特徴点が移動し、その後特徴点が前方へ前クリック閾値以上の速度で移動し、その後特徴点が後方へ後クリック閾値以上の速度で移動し、その後特徴点が前方へ前クリック閾値以上の速度で移動していない場合には、後ストローク動作がなされたと判断する（図１２（Ｃ）も参照）。
【０１６４】
前クリック閾値以上となった後に後クリック閾値以上となり、さらに前クリック閾値以上になった移動速度Ｖｘ（ｔ）が存在する場合には、ステップ２９８へ移行し、クリック種別を表すクリック種別変数に後進ダブルクリックを表す値（例えば‘４’）を代入して記憶部１８へ記憶し、本ルーチンを終了する。すなわち、図１４に示すように、初期動作として後方に特徴点が移動し、その後特徴点が前方へ前クリック閾値以上の速度で移動し、その後特徴点が後方へ後クリック閾値以上の速度で移動し、その後特徴点が前方へ前クリック閾値以上の速度で移動した場合には、後進ダブルクリック動作がなされたと判断する（図１２（Ｄ）も参照）。なお、ステップ２１８、２２２、２２４、２２６の処理は本発明のクリック判定手段に対応している。
【０１６５】
このように、特徴点のＸ方向の移動のみを考慮することで後進クリック等の各種クリック動作の判別処理を簡便に行うことができる。
【０１６６】
なお、図１３では最初にステップ２８０〜２８４において一括して所定時間の特徴点の座標を演算すると共に移動速度を演算してからクリック動作の判別を行っているが、図１５に示すように制御してもよい。
【０１６７】
すなわち、ステップ３００において、図１３に示すステップ２８０と同様に特徴点座標演算処理を行い、次のステップ３０２において、その時刻における移動速度Ｖｘ（ｔ）を図１３に示すステップ２８４と同様に行う。そして、ステップ３０４で移動速度Ｖｘ（ｔ）が前クリック閾値以上か否かを判断し、前クリック閾値以上であればステップ３１０へ移行し、前クリック閾値以上でなければステップ３０６へ移行する。
【０１６８】
ステップ３０６では、予め定めた所定時間経過したか否かを判断し、所定時間経過した場合には、ステップ３０８で図１３に示すステップ２８８と同様の処理を行い、所定時間経過していない場合には、ステップ３００へ戻って上記と同様の処理を繰り返す。
【０１６９】
ステップ３１０では、ステップ３００と同様に特徴点座標演算処理を行い、次のステップ３１２において、その時刻における移動速度Ｖｘ（ｔ）をステップ３０２と同様に行う。そして、ステップ３１４で移動速度Ｖｘ（ｔ）が後クリック閾値以上か否かを判断し、後クリック閾値以上であればステップ３２０へ移行し、後クリック閾値以上でなければステップ３１６へ移行する。
【０１７０】
ステップ３１６では、ステップ３０６と同様に予め定めた所定時間経過したか否かを判断し、所定時間経過した場合には、ステップ３１８で図１３に示すステップ２９２と同様の処理を行い、所定時間経過していない場合には、ステップ３１０へ戻って上記と同様の処理を繰り返す。
【０１７１】
ステップ３２０では、ステップ３００と同様に特徴点座標演算処理を行い、次のステップ３２２において、その時刻における移動速度Ｖｘ（ｔ）をステップ３０２と同様に行う。そして、ステップ３２４で移動速度Ｖｘ（ｔ）が前クリック閾値以上か否かを判断し、前クリック閾値以上であればステップ３２６へ移行し、前クリック閾値以上でなければステップ３２６へ移行する。
【０１７２】
ステップ３２６では、ステップ３０６と同様に予め定めた所定時間経過したか否かを判断し、所定時間経過した場合には、ステップ３２８で図１３に示すステップ２９６と同様の処理を行い、所定時間経過していない場合には、ステップ３２０へ戻って上記と同様の処理を繰り返す。
【０１７３】
また、ステップ３３０では、図１３に示すステップ２９８と同様の処理を行う。
【０１７４】
なお、図１３の場合には、所定時間は、後ストローク等の比較的時間を要する一連のクリック動作が終了するのに十分な時間に設定する必要があるが、図１５の場合においては、一連のクリック動作が終了するのに十分な時間である必要はなく、クリック動作を構成する動作（例えば前進クリックや後進クリック）を行うのに十分な時間であればよい。このため、図１５における所定時間は図１３における所定時間よりも短い時間に設定することができる。
【０１７５】
後進側クリック判定処理が終了すると、図４のステップ２２７へ移行し、クリック種別が判別不能であるか否かを判断する。これは、記憶部１８に記憶されたクリック種別変数を参照することにより判断することができる。
【０１７６】
そして、クリック種別が判別不能だった場合には、ステップ２１２へ戻り、上記と同様の処理を繰り返し、クリック種別が判別不能でなかった場合、すなわち、クリック種別が前進クリック、後進クリック、後ストローク、後進クリックの何れかであった場合には、ステップ２２８へ移行する。
【０１７７】
ステップ２２８では、クリック種別をＰＣ１２に通知する。これにより、ＰＣ１２は、通知されたクリック種別に対応する処理を行い、処理結果などをディスプレイ１４に表示させる。
【０１７８】
なお、各クリック動作の機能としては、次に示すようなものが考えられる。例えば、前進クリックは入出力デバイスとしてのマウスの左ボタンのシングルクリックに相当する機能、後進クリックはマウスの右ボタンのシングルクリックに相当する機能、後進ダブルクリックはマウスの左ボタンのダブルクリックに相当する機能、後ストロークはマウスの左ボタンによるドラッグ開始又はドラッグ終了に相当する機能とすることができる。
【０１７９】
このように、Ｘ方向の移動のみによって各種クリック動作を認識するため、自然かつ簡単な動作で様々なクリック動作を行うことができる。
【０１８０】
クリック種別をＰＣ１２に通知した後は、ステップ２２９において、所定時間待機する待機処理を行い、ステップ２００へ戻り、ポインティングモードに移行する。
【０１８１】
このように、クリック動作を行った後に一定時間待機してカーソルの移動やクリック種別の判定を行わないようにすることにより、利用者の腕がぶれたりすることによって利用者の意図に反して前進クリックが連続して入力されてしまったりするのを防ぐことができる。
【０１８２】
また、クリック動作がなされた場合には、自動的にポインティングモードに移行するため、利用者はポインティングモードへ移行するための特別な動作をする必要がなく、利便性を向上させることができる。
【０１８３】
【発明の効果】
以上説明したように、本発明によれば、自然かつ簡単な操作によって利用者による指示位置又は指示方向の判断精度を向上させることができる、という効果を有する。
【図面の簡単な説明】
【図１】本実施形態に係る情報表示装置の概略構成を示すブロック図である。
【図２】カメラと凹面鏡の位置関係、及び各カメラの撮像範囲を示す情報入力空間の側面図である。
【図３】（Ａ）は情報入力空間の正面図、（Ｂ）は情報入力空間の側面図である。
【図４】指示判断処理の内容を示すフローチャートである。
【図５】特徴点座標演算処理の内容を示すフローチャートである。
【図６】（Ａ）は各カメラによる撮像範囲、（Ｂ）は各カメラによって得られた各画像の一例を各々示すイメージ図、（Ｃ）は各画像上での指先位置の差から手の高さを求めるためのマップの内容の一例を示す線図である。
【図７】第１実施形態に係る基準点座標演算処理の内容を示すフローチャートである。
【図８】利用者による各種の指示動作における特徴点の回転中心の一例を各々示すイメージ図である。
【図９】利用者の体格の相違が反映された基準点の位置を示すイメージ図である。
【図１０】利用者が指示動作に用いる腕を変えた場合の基準点の移動を示すイメージ図である。
【図１１】特徴点及び基準点から指示位置の座標を演算する処理を説明するための、（Ａ）は側面図、（Ｂ）及び（Ｃ）は平面図である。
【図１２】（Ａ）は前進クリック動作、（Ｂ）は後進クリック動作、（Ｃ）は後進ダブルクリック動作、（Ｄ）は後ストローク動作を説明するためのイメージ図である。
【図１３】後進側クリック処理の内容を示すフローチャートである。
【図１４】各種クリック動作における指先位置や移動速度について説明するための線図である。
【図１５】後進側クリック処理の内容の他の例を示すフローチャートである。
【符号の説明】
１０      情報表示装置
１２      ＰＣ
１４      大画面ディスプレイ
１６      制御部
１８      記憶部
２０Ａ、２０Ｂ              ビデオカメラ
２２      撮像制御装置
２４      利用者検出センサ
２８      凹面鏡
２６Ａ，２６Ｂ              照明装置
【図１】
2004246814.tif 000009
【図２】
2004246814.tif 000010
【図３】
2004246814.tif 000011
【図４】
2004246814.tif 000012
【図５】
2004246814.tif 000013
【図６】
2004246814.tif 000014
【図７】
2004246814.tif 000015
【図８】
2004246814.tif 000016
【図９】
2004246814.tif 000017
【図１０】
2004246814.tif 000018
【図１１】
2004246814.tif 000019
【図１２】
2004246814.tif 000020
【図１３】
2004246814.tif 000021
【図１４】
2004246814.tif 000022
【図１５】
2004246814.tif 000023