(57)【特許請求の範囲】
【請求項１】
指示対象となる指示平面に対する指示を行う指示媒体と、
直交する２つの制御軸を有し、前記制御軸を中心とした回転角を成分とする指示ベクトルにしたがって、前記指示媒体の指示方向を制御する指示機構と、
前記制御軸の交点を原点とする３次元直交座標系に対して、法線同士が互いに直交しない仮想的な射影指示平面と、前記指示平面との間において、前記原点を介した前記指示平面上の指示位置とこれに対応する前記射影指示平面上の位置との中心射影変換に基づいて、前記指示ベクトルを演算する指示演算部と、
を有することを特徴とするポインティングシステム。
【請求項２】
前記指示演算部は、
前記指示平面における異なる４点を頂点とする校正枠を設定する校正枠設定部と、
前記射影指示平面に、前記校正枠の４点に前記中心射影変換に基づいて対応する点を頂点とする射影校正枠を設定する射影校正枠設定部と、
２次元平面上での平行でない２直線の交点を求める交点関数を用いて、前記指示平面上の指示位置と前記校正枠のいずれかの頂点を通る直線と前記校正枠の対角線との交点若しくは前記指示位置に対応する射影指示平面上の位置と前記射影校正枠のいずれかの頂点を通る直線と前記射影校正枠の対角線との交点を求める交点演算部と、
前記原点を通らない２平面上で相互に対応する２直線上の任意の点の間の、前記原点を介した中心射影変換を行う透視関数を用いて、前記指示平面上の指示位置と前記校正枠のいずれかの頂点を通る直線と前記校正枠の対角線との交点と、前記指示位置に対応する射影指示平面上の位置と前記射影校正枠のいずれかの頂点を通る直線と前記射影校正枠の対角線との交点とを相互に変換可能な透視演算部と、
前記射影校正枠の頂点及び前記透視演算部により変換した交点に基づき、前記指示位置に対応する前記射影指示平面上の位置を演算する指示位置演算部と、
前記指示位置演算部によって演算した指示位置に対応する前記射影指示平面上の位置に基づいて、前記指示ベクトルを演算する指示ベクトル演算部と、
を有することを特徴とする請求項１記載のポインティングシステム。
【請求項３】
前記指示平面上の指示位置として、指示位置ベクトルを入力する入力装置と、
前記指示位置ベクトルを、前記指示演算部に出力する指示情報出力装置と、
を有することを特徴とする請求項１又は請求項２記載のポインティングシステム。
【請求項４】
前記校正枠設定部及び前記射影校正枠設定部を有し、運用前若しくは要求に応じて、前記校正枠及び前記射影校正枠の設定を行うキャリブレーション部を有することを特徴とする請求項１〜３のいずれか１項に記載のポインティングシステム。
【請求項５】
前記指示機構は、前記指示媒体の基本指示方向若しくは前記指示機構の姿勢を変更可能な可動筐体に設けられていることを特徴とする請求項１〜４のいずれか１項に記載のポインティングシステム。
【請求項６】
前記指示機構は、除震手段を備えた設置機構に設けられていることを特徴とする請求項１〜５のいずれか１項に記載のポインティングシステム。
【請求項７】
前記指示演算部及び前記指示機構との間で、情報の入出力が可能なユーザインタフェースを備えることを特徴とする請求項１〜６のいずれか１項に記載のポインティングシステム。
【請求項８】
前記指示平面及び前記指示機構の一方若しくは双方が複数であることを特徴とする請求項１〜７のいずれか１項に記載のポインティングシステム。
【請求項９】
前記入力装置、前記指示情報出力装置及び前記指示機構のうち、少なくともいずれかが複数であることを特徴とする請求項３記載のポインティングシステム。
【請求項１０】
直交する２つの制御軸を有し、指示対象となる指示平面に対する指示を行う指示媒体の指示方向を制御する指示機構を、コンピュータが、前記制御軸を中心とした回転角を成分とする指示ベクトルにしたがって制御することにより、前記指示平面に対する指示を行わせるポインティング方法において、
前記コンピュータは、校正枠設定部、射影校正枠設定部、交点演算部、透視演算部、指示位置演算部及び指示ベクトル演算部を有し、
前記校正枠設定部が、前記指示平面における異なる４点を頂点とする校正枠を設定し、
前記射影校正枠設定部が、前記制御軸の交点を原点とする３次元直交座標系に対して、前記指示平面と法線同士が互いに直交しない仮想的な射影指示平面に、前記校正枠の４点に前記中心射影変換に基づいて対応する点を頂点とする射影校正枠を設定し、
前記交点演算部が、２次元平面上での平行でない２直線の交点を求める交点関数を用いて、前記指示平面上の指示位置と前記校正枠のいずれかの頂点を通る直線と前記校正枠の対角線との交点若しくは前記指示位置に対応する射影指示平面上の位置と前記射影校正枠のいずれかの頂点を通る直線と前記射影校正枠の対角線との交点を求め、
前記透視演算部が、前記原点を通らない２平面上で相互に対応する２直線上の任意の点の間の、前記原点を介した中心射影変換を行う透視関数を用いて、前記指示平面上の指示位置と前記校正枠のいずれかの頂点を通る直線と前記校正枠の対角線との交点と、前記指示位置に対応する射影指示平面上の位置と前記射影校正枠のいずれかの頂点を通る直線と前記射影校正枠の対角線との交点とについて、いずれか一方から他方へ変換し、
前記指示位置演算部が、前記射影校正枠の頂点及び変換した前記交点に基づき、前記指示位置に対応する前記射影指示平面上の位置を演算し、
前記指示ベクトル演算部が、演算した指示位置に基づいて、前記指示ベクトルを演算する、
ことを特徴とするポインティング方法。
【請求項１１】
直交する２つの制御軸を有し、指示対象となる指示平面に対する指示を行う指示媒体の指示方向を制御する指示機構を、コンピュータに、前記制御軸を中心とした回転角を成分とする指示ベクトルにしたがって制御させることにより、前記指示平面に対する指示を行わせるポインティングプログラムにおいて、
前記コンピュータに、
前記指示平面における異なる４点を頂点とする校正枠を設定する処理と、
前記制御軸の交点を原点とする３次元直交座標系に対して前記指示平面と法線同士が互いに直交しない仮想的な射影指示平面に、前記校正枠の４点に前記中心射影変換に基づいて対応する点を頂点とする射影校正枠を設定する処理と、
２次元平面上での平行でない２直線の交点を求める交点関数を用いて、前記指示平面上の指示位置と前記校正枠のいずれかの頂点を通る直線と前記校正枠の対角線との交点若しくは前記指示位置に対応する射影指示平面上の位置と前記射影校正枠のいずれかの頂点を通る直線と前記射影校正枠の対角線との交点を求める処理と、
前記原点を通らない２平面上で相互に対応する２直線上の任意の点の間の、前記原点を介した中心射影変換を行う透視関数を用いて、前記指示平面上の指示位置と前記校正枠のいずれかの頂点を通る直線と前記校正枠の対角線との交点と、前記指示位置に対応する射影指示平面上の位置と前記射影校正枠のいずれかの頂点を通る直線と前記射影校正枠の対角線との交点とについて、いずれか一方から他方へと変換する処理と、
前記射影校正枠の頂点及び変換した前記交点に基づき、前記指示位置に対応する前記射影指示平面上の位置を演算する処理と、
演算した指示位置に対応する前記射影指示平面上の位置に基づいて、前記指示ベクトルを演算する処理と、
を実行させることを特徴とするポインティングプログラム。
【請求項１２】
直交する２つの制御軸を有し、前記指示媒体の指示方向を制御する指示機構を制御するために、前記制御軸を中心とした回転角を成分とする指示ベクトルを求める指示ベクトル演算装置において、
前記制御軸の交点を原点とする３次元直交座標系に対して、法線同士が互いに直交しない仮想的な射影指示平面と、前記指示平面との間において、前記原点を介した前記指示平面上の指示位置とこれに対応する前記射影指示平面上の位置との中心射影変換により、前記指示ベクトルを演算する指示演算部を有することを特徴とする指示ベクトル演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、スクリーンなどの指示平面に対して、レーザ光などの指示媒体によって特定の位置を指示するためのポインティングシステム、ポインティング方法、ポインティングプログラム及び指示ベクトル演算装置に関する。
【背景技術】
【０００２】
従来から、スクリーン等の指示平面に表示されたプレゼンテーション用の情報に対して、指示者が所望の位置を指し示すために、指示棒やレーザポインタ等の指示媒体が用いられている。指示棒の場合には、指示者が指示平面を指示可能な距離が短く、観衆が指示位置を判別することが難しい。このため、指示平面が大型で、指示平面と指示者との間の距離が長い場合には、可視レーザ光によって指示するレーザポインタが用いられることが多い。
【０００３】
しかしながら、レーザポインタであっても、指示者の手振れにより指示位置が揺れると、観衆は指示位置を判別し難く、却って目障りになる場合がある。また、指示者が誤って指示平面外を指示してしまった場合には、可視レーザ光が観衆や設備等に照射され、これらに悪影響を及ぼす可能性がある。さらに、壇上等におけるプレゼンテーションでは、指示者が、指示平面と観衆との間で、視線や姿勢を頻繁に交代させる必要が生じるため、指示者に高度な表現能力が要求される。
【０００４】
これに対処するため、指示者の指示位置に応じて、可視レーザ光の発光の有無、発光の形状等を変化させる技術が、特許文献１〜４に開示されている。また、指令センタからの指示に応じて、遠隔地にある端末において、レーザポインタが指示を行う技術が、特許文献５〜７に開示されている。
【特許文献１】特開２００１−３５０１１９号公報
【特許文献２】特開２００２−０４１２３８号公報
【特許文献３】特開２００２−１１６８７８号公報
【特許文献４】特開２００３−１０８３０９号公報
【特許文献５】特開２０００−１２５０２４号公報
【特許文献６】特開２００３−３７８４０号公報
【特許文献７】特開平９−４６７７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のような従来技術においては、指示平面をカメラで撮影することにより、指示者によるレーザポインタの照射位置を発見し、追跡し続ける処理が必要となる。このため、装置構成及び処理が複雑化する。また、指示平面と指示媒体との位置関係が変動すると、指示平面に対する指示位置の正確さを担保することが困難となる。
【０００６】
本発明は、上記のような従来技術の問題点を解決するために提案されたものであり、その目的は、簡易な構成と簡単な処理で、正確に所望の位置を指示することができるとともに、指示媒体と指示平面との位置関係の変動にも容易に対応できるポインティングシステム、ポインティング方法、ポインティングプログラム及び指示ベクトル演算装置を提供することである。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、請求項１のポインティングシステムは、指示対象となる指示平面に対する指示を行う指示媒体と、直交する２つの制御軸を有し、前記制御軸を中心とした回転角を成分とする指示ベクトルにしたがって、前記指示媒体の指示方向を制御する指示機構と、前記制御軸の交点を原点とする３次元直交座標系に対して、法線同士が互いに直交しない仮想的な射影指示平面と、前記指示平面との間において、前記原点を介した中心射影変換に基づいて、前記指示ベクトルを演算する指示演算部と、を有することを特徴とする。
【０００８】
請求項２の発明は、請求項１のポインティングシステムにおいて、前記指示演算部は、前記指示平面における異なる４点を頂点とする校正枠を設定する校正枠設定部と、前記射影指示平面に、前記校正枠の４点に前記中心射影変換に基づいて対応する点を頂点とする射影校正枠を設定する射影校正枠設定部と、２次元平面上での平行でない２直線の交点を求める交点関数を用いて、前記指示平面上の指示位置と前記校正枠のいずれかの頂点を通る直線と前記校正枠の対角線との交点若しくは前記指示位置に対応する射影指示平面上の位置と前記射影校正枠のいずれかの頂点を通る直線と前記射影校正枠の対角線との交点を求める交点演算部と、前記原点を通らない２平面上で相互に対応する２直線上の任意の点の間の、前記原点を介した中心射影変換を行う透視関数を用いて、前記指示平面上の指示位置と前記校正枠のいずれかの頂点を通る直線と前記校正枠の対角線との交点と、前記指示位置に対応する射影指示平面上の位置と前記射影校正枠のいずれかの頂点を通る直線と前記射影校正枠の対角線との交点とを相互に変換可能な透視演算部と、前記射影校正枠の頂点及び前記透視演算部により変換した交点に基づき、前記指示位置に対応する前記射影指示平面上の位置を演算する指示位置演算部と、前記指示位置演算部によって演算した指示位置に対応する前記射影平面上の位置に基づいて、前記指示ベクトルを演算する指示ベクトル演算部と、を有することを特徴とする。
【０００９】
また、請求項１０のポインティング方法は、請求項１の発明を方法の観点から捉えたものであり、請求項１１のポインティングプログラムは、請求項１の発明をコンピュータプログラムの観点から捉えたものである。請求項１２の指示ベクトル演算装置は、請求項１の発明の一部を構成する装置の観点から捉えたものである。
【００１０】
以上のような請求項１、２、１０〜１２の発明では、カメラによる撮影処理を不要として、仮想的な射影指示平面を導入することにより、指示位置に対応する指示ベクトルを正確に求めることができ、指示媒体による指示を、正確に行うことができる。
【００１１】
請求項３の発明は、請求項１又は請求項２のポインティングシステムにおいて、前記指示平面上の指示位置として、指示位置ベクトルを入力する入力装置と、前記指示位置ベクトルを、前記指示演算部に出力する指示情報出力装置と、を有することを特徴とする。
【００１２】
以上のような請求項３の発明では、指示者は、入力装置によって所望の指示位置ベクトルを入力するという簡単な操作で、指示機構が指示媒体を正確な方向に制御して、所望の位置を指示させることができる。
【００１３】
請求項４の発明は、請求項１〜３のいずれか１項のポインティングシステムにおいて、前記校正枠設定部及び前記射影校正枠設定部を有し、運用前若しくは要求に応じて、前記校正枠及び前記射影校正枠の設定を行うキャリブレーション部を有することを特徴とする。
【００１４】
以上のような請求項４の発明では、指示媒体と指示平面の位置関係が変わっても、キャリブレーション部による設定を行うことによって、指示媒体の指示平面への正確な指示を担保することができる。
【００１５】
請求項５の発明は、請求項１〜４のいずれか１項のポインティングシステムにおいて、前記指示媒体の基本指示方向若しくは前記指示機構の姿勢を変更可能な可動筐体に設けられていることを特徴とする。
【００１６】
以上のような請求項５の発明では、指示媒体の基本指示方向が、指示対象領域の中央近辺を指示するように、設置者が手動等により指示機構の姿勢設定を行うことにより、指示媒体が指示対象領域の全域を指示可能となる。
【００１７】
請求項６の発明は、請求項１〜５のいずれか１項のポインティングシステムにおいて、前記指示機構は、除震手段を備えた設置機構に設けられていることを特徴とする。
【００１８】
以上のような請求項６の発明では、外部環境からの振動が加わっても、その影響を除震手段によって排除できるので、指示媒体による正確な指示動作を維持できる。
【００１９】
請求項７の発明は、請求項１〜６のいずれか１項のポインティングシステムにおいて、前記指示演算部及び前記指示機構との間で、情報の入出力が可能なユーザインタフェースを備えることを特徴とする。
【００２０】
以上のような請求項７の発明では、ユーザインタフェースを介して、指示演算部や指示機構の内部状態の入出力が可能となる。
【００２１】
請求項８の発明は、請求項１〜７のいずれか１項のポインティングシステムにおいて、前記指示平面及び前記指示機構の一方若しくは双方が複数であることを特徴とする。
【００２２】
以上のような請求項８の発明では、１つの指示平面若しくは指示機構ではカバーしきれない規模の会場での発表や、空間的に離れた複数拠点における発表に対応させることができる。
【００２３】
請求項９の発明は、請求項３のポインティングシステムにおいて、前記入力装置、前記指示情報出力装置及び前記指示機構のうち、少なくともいずれかが複数であることを特徴とする。
【００２４】
以上のような請求項９の発明では、複数の指示者による発表にも対応できる。
【発明の効果】
【００２５】
以上説明したように、本発明によれば、簡易な構成と簡単な作業で、正確に所望の位置を指示することができ、指示媒体と指示平面との位置関係の変動にも容易に対応できるポインティングシステム、ポインティング方法、ポインティングプログラム及び指示ベクトル演算装置を提供することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明のポインティングシステムの一実施形態を、図面を参照して説明する。
［Ａ．指示動作モデル］
まず、本実施形態が導入する指示動作モデルを、図１を参照して説明する。この指示動作モデルは、３次元空間において、指示者が指示媒体を用いて、指示対象となる平面上の目標位置を指し示す動作をモデル化したものである。指示媒体としては、例えば、レーザポインタの可視レーザ光、指示棒などを用いることを想定する。指示対象とする平面を、指示平面Ｔと呼ぶ。
【００２７】
まず、可視レーザ光若しくは指示棒などの指示媒体が形成する軌跡が、一直線上に存在するものとして考える。このような仮想的な直線と指示平面Ｔとの交点が、目標とする指示位置ｐである。以下、この直線を指示直線Ｌと呼ぶ。
【００２８】
指示位置ｐを指し示すことができる指示直線Ｌは、無数に存在する。すなわち、指示者は、指示平面Ｔ上以外のいかなる位置からも、指示位置ｐを指し示すことができる。なお、実際には、指示媒体が指示平面Ｔに到達可能な距離は有限である。このため、指示可能な距離は有限といえる。しかし、本モデルにおいては、便宜的に、指示媒体は自由に伸縮可能なものとして考える。
【００２９】
ここで、前記３次元空間に球座標系ΣＳを導入する。指示平面Ｔは、ΣＳにおいて不変であり、ΣＳの原点を通らないものとする。そして、原点Ｏを中心として、指示媒体が、指示平面Ｔ上を自由に指示する動作を考える。このとき、指示直線Ｌ上の一点は、原点Ｏに特定することができる。
【００３０】
このように、指示直線Ｌ上の一点が原点Ｏに特定されると、指示直線Ｌに対して方向ベクトルｄを与えることにより、指示平面ＴがΣＳにおいて不変であるため、目標とする指示位置ｐを決定できる。
【００３１】
前記球座標系ΣＳを導入しているため、目標とする指示位置ｐは、１つの動径ｒ、２つの偏角θ，φによって、ｐ＝（ｒ，θ，φ）Ｔと表現することができる。このとき、方向ベクトルｄは、ｐの成分のうち、２つの偏角θ，φのみから構成される２次元ベクトルによって、ｄ＝（θ，φ）Ｔと表現することができる。なお、ＭＴは、行列Ｍの転置行列を表す。
【００３２】
上記の方向ベクトルｄを指示ベクトルと呼ぶ。導入された球座標系ΣＳにおける指示動作は、この指示ベクトルｄを決定することに相当する。
【００３３】
［Ｂ．実施形態の構成］
［１．全体構成］
本実施形態のポインティングシステムの構成を、図２及び図３を参照して説明する。なお、図２は、本実施形態の外観及び使用例を示す説明図である。図３は、本実施形態の構成を示す機能ブロック図である。すなわち、ポインティングシステム１００は、指示平面Ｔ、入力装置２００、指示情報出力装置３００及び指示装置４００等により構成されている。
【００３４】
［２．指示平面］
指示平面Ｔは、指示装置４００が指示対象とする平面である。この指示平面Ｔは、例えば、多数の観衆向けの大型の表示装置若しくは投影スクリーン等によって構成することが考えられる。指示装置４００による指示位置は、指示平面Ｔ上のいずれかに存在する。
【００３５】
指示平面Ｔには、例えば、コンピュータ画面上の画素を成分とする座標系を導入することができる。この座標系は、コンピュータによる演算においては、指示動作に適した２次元座標系として定義される。そして、目標とする指示位置は、当該２次元座標系における２次元ベクトルによって表現できる。この２次元ベクトルを指示位置ベクトルと呼ぶ。
【００３６】
指示情報出力装置３００は、入力装置２００から入力された座標情報に応じて、指示位置ベクトルを指示装置４００に出力する。指示装置４００は、入力された指示位置ベクトルに基づいて、指示ベクトルを演算して、指示動作を行う。このため、任意の指示位置ベクトルと実際の指示平面Ｔ上の位置とは、容易に対応付けられる構造となっている。
【００３７】
［３．入力装置］
入力装置２００は、指示者Ａが、指示平面Ｔ上の所望の指示位置を入力する手段である。この入力装置２００としては、例えば、マウス、キーボート、リモコン、スイッチ、ディスプレイ（タッチパネル）等、周知のあらゆる入力手段を使用することができる。
【００３８】
入力装置２００による入力方法としては、例えば、指示者Ａが入力装置２００を用いて、ディスプレイに表示されたカーソルを移動させ、カーソルが所望の位置に来た時に、決定操作をすることにより、入力する方法がある。決定操作としては、例えば、クリック、決定ボタンを押す等がある。また、指示者Ａが、ディスプレイに構成されたタッチパネル上の所望の位置を、指やペンで触れて指定することにより、入力する方法もある。
【００３９】
このディスプレイは、後述する指示情報出力装置３００のディスプレイと兼用であってもよいし、入力装置２００が独自のディスプレイを備えていてもよい。入力装置２００によって入力できる情報は、指定された位置情報には限定されない。例えば、スイッチのＯＮ／ＯＦＦなどの内部状態に関する情報、指示装置４００を制御するための情報等も含めることができる。
【００４０】
［４．指示情報出力装置］
指示情報出力装置３００は、入力装置２００から入力された座標情報に基づいて、指示位置ベクトルを算出し、この指示位置ベクトルを指示装置４００に出力する装置である。指示情報出力装置３００は、例えば、所定のオペレーティングシステム及びアプリケーションプログラムによって動作するコンピュータによって実現することができる。
【００４１】
かかるコンピュータにおいては、プレゼンテーション用の情報が、ハードディスク、メモリ、光ディスク等の記憶媒体に記憶されており、この情報がアプリケーションプログラムによって呼び出されて、ディスプレイ等の表示手段に表示される。なお、指示情報出力装置３００のコンピュータ用のマウス、キーボード、リモコン、スイッチ、ディスプレイ（タッチパネル）等の入力手段は、入力装置２００と兼用でもよいし、入力装置２００とは別でもよい。
【００４２】
指示平面Ｔが、表示装置により構成される場合には、指示情報出力装置３００と指示平面Ｔの表示装置とが接続され、指示情報出力装置３００のディスプレイに表示される情報が、指示平面Ｔにも表示される。また、指示平面Ｔが、投影スクリーンにより構成される場合には、指示情報出力装置３００とプロジェクタとが接続され、指示情報出力装置３００のディスプレイに表示される情報が、指示平面Ｔにも投影される。なお、指示情報出力装置３００にプロジェクタを備えることも可能である。
【００４３】
このような指示情報出力装置３００は、上記のオペレーティングシステム、アプリケーションプログラム等のプログラムの働きにより、図３に示すように、入力部３１０、決定部３２０、出力部３３０としての機能を有している。
【００４４】
入力部３１０は、入力装置２００等の外部からの情報の入力を受け付けるインタフェースである。決定部３２０は、入力装置２００によって入力された情報（例えば、ディスプレイの座標情報）に基づいて、指示平面Ｔに対する指示位置ベクトルを決定する手段である。このような座標情報と指示位置ベクトルとの変換は、所定の指示位置決定アルゴリズムによって行われるが、一般的な技術であるため、説明を省略する。
【００４５】
出力部３３０は、決定部３２０によって決定された指示位置ベクトルを、指示装置４００に出力するインタフェースである。出力部３３０から出力する情報は、指示位置ベクトルに加えて、上記のように、指示装置４００の動作を制御するための種々の情報を含めることができる。さらに、プレゼンテーション用の情報も、出力部３３０から指示平面Ｔ（表示装置、プロジェクタ等）へ出力される。
【００４６】
［５．指示装置］
指示装置４００は、図３に示すように、指示媒体４１０、指示機構４２０、指示演算部４３０、指示情報インタフェース４４０、可動筐体４５０、設置機構４６０及びユーザインタフェース４７０等を有している。
【００４７】
［５−１．指示媒体］
指示媒体４１０は、指示平面Ｔを指示するための媒体である。指示媒体４１０の例としては、可視レーザ光の光源及び光学部材から成るレーザポインタや指示棒（固定長のもの、伸縮可能なものを含む）などが挙げられる。なお、指示媒体４１０としては、指示棒以外の直線状の構造物、レーザ光以外の光源及びこれを集光する光学部材、その他の電磁波や超音波の発振器等を使用することもできる。つまり、指示媒体４１０は、指示方向が特定できる程度の指向性を有する媒体であれば、用途に適したものを自由に選択することができる。
【００４８】
指示媒体４１０の伸縮長、到達距離若しくは出力レベル、発光色、投影光の形状、投影光の大きさ等は、指示装置４００の外部（例えば、指示情報出力装置３００）から入力される制御情報、ユーザインタフェース４７０を介して入力される制御情報若しくは指示装置４００にあらかじめ設定された内部条件等に基づいて制御される。
【００４９】
［５−２．指示機構］
指示機構４２０は、２つの制御軸を備え、入力された指示ベクトルにしたがって、指示媒体４１０の指示方向を制御する機構である。この指示機構４２０としては、例えば、モータ駆動によってレーザポインタ若しくは指示棒の方向を変える２軸制御装置を用いることが考えられる。
【００５０】
指示ベクトルは、基本的には、指示演算部４３０により演算されたものが入力される。但し、入力装置２００から直接指示ベクトルを入力して、指示機構４２０を動作させることもできる。また、後述するユーザインタフェース４７０から、直接的に指示媒体４１０の指示方向を制御するイベント（指示位置ベクトル若しくは指示ベクトル等を含む）を入力できるように構成してもよい。
【００５１】
指示機構４２０においては、現在の指示媒体４１０の姿勢に対応する指示ベクトルが、指示方向制御パラメータとして、常にメモリ等の記憶部に記憶されている。指示ベクトルが外部から入力された場合には、それが記憶部に記憶され、これに従って指示機構４２０が動作する。
【００５２】
手動等により指示媒体４１０の姿勢を変更した場合にも、これに対応する指示ベクトルが記憶部に記憶され、その時点での指示媒体４１０の姿勢に対応する指示ベクトルとして利用可能となる。後述するキャリブレーションにおいては、（ii)第２の方法 (a)〜(c)で説明した操作の際の指示ベクトルが利用される。
【００５３】
なお、指示ベクトルと指示方向の制御結果とに生じる誤差をキャンセルするために、実際の指示方向を検出し、フィードバック制御を行わせるように構成することもできる。
【００５４】
［５−３．指示演算部］
指示演算部４３０は、要求判定部４３１、キャリブレーション部４３２、交点演算部４３３、透視演算部４３４、指示位置演算部４３５、指示ベクトル演算部４３６等を有している。要求判定部４３１は、外部からのキャリブレーション要求の有無、指示位置の更新要求の有無を判定する手段である。
【００５５】
キャリブレーション部４３２は、本システム運用前若しくは指示装置４００の位置姿勢の変更後のキャリブレーションを行う手段である。キャリブレーション部４３２は、校正枠設定部４３２ａ、射影校正枠設定部４３２ｂ、校正値演算部４３２ｃを有している。校正枠設定部４３２ａは、指示平面Ｔ上の校正枠を設定する手段である。射影校正枠設定部４３２ｂは、後述する射影指示平面Ｐ上の射影校正枠を設定する手段である。校正値演算部４３２ｃは、校正枠及び射影校正枠に基づいて、校正値を算出する手段である。これらのキャリブレーションの詳細については、後述する。
【００５６】
交点演算部４３３は、校正枠若しくは射影校正枠における２頂点と任意の点とを結ぶ２直線と、校正枠若しくは射影校正枠における対角線との２つの交点についての交点係数ベクトルを求める手段である。透視演算部４３４は、校正値及び交点係数ベクトルに基づいて、２つの交点に対応する指示平面Ｔ上の射影点若しくは射影指示平面Ｐ上の射影点を求める手段である。
【００５７】
指示位置演算部４３５は、交点演算部４３３及び透視演算部４３４の演算結果に基づいて、射影校正枠における上記２頂点と２つの射影点を結ぶ直線の交点について、交点係数ベクトルを求める手段である。指示ベクトル演算部４３６は、指示位置演算部４３５によって求めた交点係数ベクトルに基づいて、指示ベクトルを求める手段である。
【００５８】
このような指示演算部４３０による演算の詳細については、後述する。また、上記の演算を制御するイベントを、指示情報出力装置３００以外（例えば、後述するユーザインタフェース４７０等）から、入力できるように構成してもよい。
【００５９】
なお、指示演算部４３０は、所定のプログラムによって、上記の各部の機能を実現できるコンピュータによって構成することができる。例えば、各部の機能を実現するＡＳＩＣやＣＰＵ等のＩＣチップやその他の周辺回路によって構成したり、複数の機能を集約したシステムＬＳＩによって構成する等、種々考えられるものであり、特定のものには限定されない。
【００６０】
［５−４．指示情報インタフェース］
指示情報インタフェース４４０は、指示演算部４３０と外部（指示情報出力装置３００など）との間のインタフェースである。指示情報インタフェース４４０には、指示情報出力装置３００の出力部３３０が接続される。この指示情報インタフェース４４０は、指示情報出力装置３００からの情報の入力を受け付けて、指示演算部４３０へ指示情報を出力する。なお、指示情報インタフェース４４０は、指示装置４００の内部状態を、外部へ出力することもできる。
【００６１】
［５−５．可動筐体］
可動筐体４５０は、手動若しくはアクチュエータ制御により、その姿勢を変更できる筐体である。この可動筐体４５０は、内部に指示機構４２０を有している。このため、指示機構４２０の姿勢（指示媒体４１０の基準となる指示方向）は、可動筐体４５０の可動範囲内で、任意に設定できる。
【００６２】
［５−６．設置機構］
設置機構４６０は、指示装置４００の構成要素を支持し、運用環境内に固定するための構造物である。設置機構４６０として、どのような機構を採用するかは自由である。例えば、設置機構４６０を、構成要素を据え置くための台座、構成要素を吊り下げるためのフック、構成要素を設置面に吸着させるための吸盤や磁石などにより構成することができる。
【００６３】
ただし、指示装置４００が正確な指示動作を行うためには、外部環境からの振動の影響を受けないようにすることが望ましい。したがって、設置機構４６０に、除震機能を備えてもよい。例えば、バネ、スプリング、ダンパ等の弾性体による支持部材を備えることが考えられる。
【００６４】
［５−７．ユーザインタフェース］
ユーザインタフェース４７０は、指示情報インタフェース４４０を介さずに、情報の入出力を行う手段である。このユーザインタフェース４７０には、上記の入力装置２００と同様の入力手段や、ディスプレイ、プリンタ等の出力手段を接続することが考えられる。指示者Ａは、入力手段を介して、指示媒体４１０の指示方向を制御するイベント、指示演算部４３０による演算を制御するイベント等を、直接入力することができる。
【００６５】
また、出力手段に指示装置４００の内部状態を出力若しくは表示することにより、指示者Ａが、キャリブレーション進行状況等の内部状態を確認できる。ただし、ユーザインタフェース４７０の実装は必須ではなく、必要に応じて実装すればよい。入力可能な情報についても、自由である。
【００６６】
なお、上記の指示情報出力装置３００及び指示装置４００において、入出力される情報、演算値、演算結果等、各種の処理に必要な情報は、コンピュータが備えるレジスタ、メモリ、ハードディスク等の記憶媒体に確保された記憶領域に記憶され、適宜利用される。各記憶領域が、各情報の記憶部を構成するものとなるが、これは、周知の技術により構成可能なため、説明は省略する。記憶部として、どのような種類、容量の記憶媒体を使用するかは自由である。情報の記憶形式として、どのようなものを採用するか等についても自由である。
【００６７】
［Ｃ．指示動作原理］
上記のような指示動作モデル及び装置構成を前提として行う指示動作の原理を、図４〜９を参照して説明する。
［１．球座標系及び３次元直交座標系の導入］
まず、指示媒体４１０の方向を決定するための指示機構４２０の２つの制御軸は、理論的には直交し一点で交わる。そこで、図４に示すように、この交点上に原点を有する球座標系ΣＳを導入する。球座標系ΣＳにおける任意の座標は、１つの動径ｒと、２つの偏角θ，φを成分として表すことができる。なお、ｒ≧０，−π／２≦θ≦π／２, −π≦φ＜πである。
【００６８】
球座標系ΣＳにおいて、２つの偏角θ，φのみを成分とする２次元ベクトルｄ＝（θ，φ）Ｔは、ΣＳにおいて、一意に定まる指示直線Ｌｄを表す。この２次元ベクトルｄが、上記の指示ベクトルｄである。上記の２つの指示方向制御軸は、指示ベクトルｄの両成分に対応する。したがって、指示媒体４１０の姿勢である指示方向は、指示ベクトルｄにより制御できる。
【００６９】
球座標系ΣＳにおいて、θ＝０，φ＝０となる指示媒体４１０の姿勢を、指示媒体４１０の基本指示方向とする。指示媒体４１０の姿勢が、基本指示方向となるときの指示ベクトルｄＯ＝（０，０）Ｔを、基本指示ベクトルと呼ぶ。
【００７０】
また、同時に、任意の座標が、ｘ，ｙ，ｚを成分として表され、次の条件を満足する３次元直交座標系ΣＣを導入する。
(a)ΣＳのθ成分の回転軸とｘ軸とが一致する。
(b)ΣＳのφ成分の回転軸とｙ軸とが一致する。
(c)基本指示ベクトルに対応する指示直線ＬｄＯ上に、正のｚ軸が存在する。
【００７１】
このとき、ΣＳ，ΣＣは、双方の原点が一致する。そして、ｒ＞０，−π／２＜θ＜π／２である場合、ΣＳの任意の座標に一意に対応するΣＣの座標が存在する。同様に、ΣＣの任意の座標に一意に対応するΣＳの座標が存在する。
【００７２】
指示平面Ｔ上の指示対象領域の全域を指示するためには、指示媒体４１０の基本指示ベクトルｄＯが、指示対象領域の中央近辺を指示するように、設置者が、設置機構４６０の設置及び可動筐体４５０の姿勢設定を行うことが望ましい。
【００７３】
なお、指示平面Ｔは、図４に示すように、ΣＳ，ΣＣの原点を通らない任意の位置に配置されているものとする。また、指示平面Ｔの法線は、ΣＣのｘ，ｙ成分の軸のいずれとも一致しないものとする。
【００７４】
［２．２次元線形座標系の導入］
ここで、指示平面Ｔ上の指示位置を特定するため、指示平面Ｔ上に指示動作に適した任意の２次元線形座標系ΣＴを導入する。ΣＣにおいて指示平面Ｔが不変であるとき、指示平面Ｔ上の指示位置Ｃｐは、ΣＴにおける指示位置Ｔｐと、一意に対応する。このため、任意の指示ベクトルｄが、Ｃｐを指示することは、Ｔｐを指示することと同義である。このＴｐは、上述の指示位置ベクトルである。このため、任意の指示位置ベクトルＴｐに一意に対応する指示ベクトルｄが存在すると言える。
【００７５】
上記の指示装置４００と指示平面Ｔのモデルに基づいて、ΣＴの任意の座標を、これに対応するΣＳの座標に変換する関数を同定する。この関数を同定することで、本実施形態による指示動作が可能となる。
【００７６】
従来の手法では、この関数の同定には、指示環境の位置姿勢に関する情報が必要であった。この情報とは、例えば、ΣＣにおけるΣＴの原点位置や指示平面Ｔの法線ベクトルなどである。
【００７７】
もし、指示装置４００及び指示平面Ｔの位置姿勢が固定されていて、指示環境の位置姿勢に関する情報が既知であれば、関数の同定に問題はない。しかし、指示装置４００若しくは指示平面Ｔは、可搬であることが便利である。また、指示者Ａが、指示装置４００若しくは指示平面Ｔを自由に所望の位置に設置し、容易に指示動作を行えることが望ましい。このような指示動作の利便性を考慮すると、指示動作のための位置姿勢に関する情報は不要とし、位置姿勢の制約、位置姿勢の正確な設計、装置の正確な配置、正確な測量などは、極力排除すべきである。
【００７８】
［３．射影指示平面の導入］
これに対処するために、本実施形態においては、図５に示すように、ΣＣにおけるｚ＝１となる仮想的な平面Ｐを導入する。さらに、この平面Ｐに対して、２次元直交座標系ΣＰを導入する。ΣＰは、ΣＣを、そのｚ軸に沿って、平面Ｐへ正射影した座標系である。このとき、ΣＰにおける任意の点Ｐｐは、適切な座標変換により、ΣＣにおける点Ｃｐに一意に対応付けられる。
【００７９】
任意の指示ベクトルｄにより指示平面Ｔ上の点Ｃｕを指示したとき、ΣＣの原点ＣＯとＣｕを結ぶ線分は、平面Ｐと交点Ｃｖで交わる。指示ベクトルｄとＣｕが一意に対応することと同様に、指示ベクトルｄとＣｖも一意に対応する。このことから、ＣｕとＣｖとが、一意に対応することが導かれる。
【００８０】
このＣｕとＣｖとの関係は、ΣＣの原点ＣＯを介した指示平面Ｔと平面Ｐとの相互的な中心射影変換を意味する。この平面Ｐを射影指示平面と呼ぶ。
【００８１】
任意の指示ベクトルｄについて、射影指示平面Ｐ上のΣＰにおける指示点Ｐｖは、一意に対応付けられる。よって、ΣＣに対して所定の位置に固定されている射影指示平面Ｐにおいて、指示点Ｐｖは、指示ベクトルｄの別形式の表現と言える。このＰｖを、射影指示位置ベクトルと呼ぶ。
【００８２】
ｄ＝（θ，φ）Ｔ，Ｐｖ＝（ｘ，ｙ）Ｔとしたとき、ｄとＰｖとの関係は式（１），（２）のとおり表される。
【数１】
0005291389.tif 000002
【数２】
0005291389.tif 000003
【００８３】
上記の中心射影変換においては、指示平面Ｔの法線と射影指示平面Ｐの法線とが一致しているときに限り、両平面の位置姿勢に関する情報を用いることなく、適切な線形変換により、指示平面Ｔ上の点Ｃｕと射影指示平面Ｐ上の点Ｃｖとの相互変換ができる。しかし、多くの場合には、両平面の法線は一致しないため、非線形変換となってしまう。このため、従来手法においては、点Ｃｕと点Ｃｖとを相互変換させるには、両平面の位置姿勢に関する情報が必要となっていた。また、かかる情報がない場合には、線形変換による近似解を求めるにとどまっていた。
【００８４】
［４．交点関数の導入］
この問題を解決するために、本実施形態においては、新たな中心射影変換の同定方法を用いる。このために、交点関数及び透視関数と呼ぶ２つの重要な関数を導入する。
【００８５】
まず、交点関数について述べる。すなわち、ある２次元平面上で、平行でない２つの直線Ｓ，Ｔを考える。直線Ｓ，Ｔ上の異なる２点の組をそれぞれ｛ｓ０，ｓ１｝，｛ｔ０，ｔ１｝としたとき、両直線の交点ｃが、式（３）のとおりに表されるとする。
【数３】
0005291389.tif 000004
【００８６】
このとき、係数ｓ，ｔは、Ｉ（Ｓ，Ｔ）なる関数により、式（４）のとおり求めることができる。
【数４】
0005291389.tif 000005
ただし、ｄｅｔ［ａ  ｂ］は、ａ，ｂを小行列とする行列の行列式を表す。
【００８７】
このベクトル関数Ｉ（Ｓ，Ｔ）を、交点関数と呼ぶ。また、Ｉ（Ｓ，Ｔ）により求められた解ベクトル（ｓ，ｔ）Ｔを、交点係数ベクトルと呼ぶ。
【００８８】
［５．透視関数の導入］
続いて、任意の３次元直交座標系において、その原点を通らない２つの平面上で相互に対応する直線同士の、前記原点を介した中心射影変換を考える。平面Ｕ上の直線ＵＬに乗る２点｛ｕ０，ｕ１｝が、この中心射影変換により、それぞれ平面Ｖ上の直線ＶＬに乗る２点｛ｖ０, ｖ１｝に射影されるとする。同様に、ＵＬ上の別の点ｕ＝（１−Ｍ）ｕ０＋Ｍｕ１が、ＶＬ上の点ｖ＝（１−ＭＩ）ｖ０＋ＭＩｖ１へ射影されるとする。このとき、Ｍ，ＭＩは既知とする。
【００８９】
同様に、ＵＬ上の別の点ｕ’＝（１−Ｎ）ｕ０＋Ｎｕ１が、ＶＬ上の点ｖ’＝（１−ｎＩ）ｖ０＋ｎＩｖ１へ射影されるとする。Ｎは既知であるとすれば、このｎＩは、関数Ｐ（Ｍ，ＭＩ，Ｎ）により、既知の係数Ｍ，ＭＩ，Ｎのみを用いて、式（５）のとおり求めることができる。
【数５】
0005291389.tif 000006
なお、式（５）の証明は、後述する。この関数Ｐ（Ｍ，ＭＩ，Ｎ）を透視関数と呼ぶ。
【００９０】
［６．平面間の中心射影変換］
この透視関数Ｐ（Ｍ，ＭＩ，Ｎ）により２つの直線上で対応する任意の点の間の中心射影変換を同定できた。そこで、これを拡張して、２つの平面（ここでは指示平面Ｔ，射影指示平面Ｐとする）上で対応する任意の点の間の中心射影変換を同定することを考える。この問題を解決するためには、次の４つのプロセスを実行すればよい。
【００９１】
［６−１．第１のプロセス］
指示平面Ｔ上の任意の四角形ＴＲを考える。四角形ＴＲの２つの対角線ＴＤ２０，ＴＤ３１が、それぞれ端点の組｛Ｔｖ０，Ｔｖ２｝，｛Ｔｖ１，Ｔｖ３｝を有しているとする。そして、この対角線同士の交点ＴｃＲが、式（６）で表されるとする。
【数６】
0005291389.tif 000007
【００９２】
ここで、問題の中心射影変換により、四角形ＴＲが射影指示平面Ｐ上の四角形ＰＲへ射影されたと考える。ＰＲの２つの対角線ＰＤ２０,ＰＤ３１が、それぞれ端点の組｛Ｐｖ０，Ｐｖ２｝，｛Ｐｖ１，Ｐｖ３｝で表されるとする。そして、この対角線同士の交点ＰｃＲが、式（７）で表されるとする。
【数７】
0005291389.tif 000008
ＴｖｎとＰｖｎで表される各点同士は、図６に示すとおり、この中心射影変換における対応点である。
【００９３】
まず、これら２種類の対角線同士の交点ＴｃＲ，ＰｃＲに関する交点係数ベクトルを、上記の交点関数を用いて式（８），（９）のとおり求める。
【数８】
0005291389.tif 000009
【数９】
0005291389.tif 000010
【００９４】
［６−２．第２のプロセス］
次に、図７に示すとおり、指示平面Ｔ上の任意の点Ｔｐを導入する。この点Ｔｐと対角線ＴＤ３１のいずれかの端点Ｔｖａとを端点の組｛Ｔｐ，Ｔｖａ｝とする線分ＴＳａを考える。この線分ＴＳａと対角線ＴＤ２０との交点Ｔｃ２０が、式（１０）で表されるとする。
【数１０】
0005291389.tif 000011
【００９５】
同様に、Ｔｐと対角線ＴＤ２０のいずれかの端点Ｔｖｂとを端点の組｛Ｔｐ，Ｔｖｂ｝とする線分ＴＳｂを考える。この線分ＴＳｂと対角線ＴＤ３１との交点Ｔｃ３１が、式（１１）で表されるとする。
【数１１】
0005291389.tif 000012
【００９６】
このとき、交点Ｔｃ２０，Ｔｃ３１に関する交点係数ベクトルを、式（１２），（１３）のとおり求める。
【数１２】
0005291389.tif 000013
【数１３】
0005291389.tif 000014
【００９７】
ただし、Ｔｖａは、次のような基準で選択する。すなわち、線分ＴＳａが、その線分上で対角線ＴＤ２０と交点を結ぶように、Ｔｖａとして、Ｔｖ１またはＴｖ３を選択する。もし、ＴｐがＴＤ３１上にある場合は、Ｔｖ１，Ｔｖ３のどちらを選択してもよい。ただし、ＴｐがＴｖ１上にある場合はＴｖ３を選択する。一方、ＴｐがＴｖ３上にある場合は、Ｔｖ１を選択する。
【００９８】
同様に、Ｔｖｂは、次のような基準で選択する。すなわち、線分ＴＳｂが、その線分上で対角線ＴＤ３１と交点を結ぶように、Ｔｖｂとして、Ｔｖ０またはＴｖ２を選択する。もし、ＴｐがＴＤ２０上にある場合は、Ｔｖ０，Ｔｖ２のどちらを選択してもよい。ただし、ＴｐがＴｖ０上にある場合は、Ｔｖ２を選択する。一方、ＴｐがＴｖ２上にある場合は、Ｔｖ０を選択する。
【００９９】
［６−３．第３のプロセス］
図８に示すとおり、上記の中心射影変換により、指示平面Ｔ上の点Ｔｃ２０が、射影指示平面Ｐにおける対角線ＰＤ２０上の点Ｐｃ２０へ射影されたときを考える。このとき、点Ｐｃ２０が、式（１４）のとおり表されるとする。式（１４）中の係数Ｐｎ２０は、前プロセスまでに求めておいた係数Ｔｍ２０, Ｐｍ２０，Ｔｎ２０を用いて、透視関数によって求めることができる。具体的には、式（１５）のとおりである。
【０１００】
【数１４】
0005291389.tif 000015
【数１５】
0005291389.tif 000016
【０１０１】
同様に、指示平面Ｔ上の点Ｔｃ３１が、射影指示平面Ｐにおける対角線ＰＤ３１上の点Ｐｃ３１へ射影されたときを考える。このとき、点Ｐｃ３１が、式（１６）のとおり表されるとする。式（１６）中の係数Ｐｎ３１は、前プロセスまでに求めておいた係数Ｔｍ３１，Ｐｍ３１，Ｔｎ３１を用いて、透視関数によって求めることができる。具体的には、式（１７）のとおりである。
【数１６】
0005291389.tif 000017
【数１７】
0005291389.tif 000018
【０１０２】
［６−４．第４のプロセス］
図９に示すとおり、指示平面Ｔ上の線分ＴＳａ，ＴＳｂにおけるＴｐ以外の端点が、上記の中心射影変換により、それぞれ射影指示平面Ｐ上の点Ｐｖａ，Ｐｖｂへ射影されたとする。ここで、２点｛Ｐｖａ，Ｐｃ２０｝が乗る直線ＰＬｐａと、２点｛Ｐｖｂ，Ｐｃ３１｝が乗る直線ＰＬｐｂとの交点Ｐｐは、式（１８）のとおり表される。このとき、式（１９）のとおり、交点Ｐｐに関する交点係数ベクトルを求めることができる。
【０１０３】
【数１８】
0005291389.tif 000019
【数１９】
0005291389.tif 000020
【０１０４】
上記のプロセスによって、問題の中心射影変換を同定することができた。これは、２つの平面の位置姿勢によらず、両平面上の対応する既知の四角形に関する情報のみを用いている。したがって、ある指示環境下における任意の指示ベクトルｄによる指示位置について、指示平面Ｔと射影指示平面Ｐとの間の中心射影変換を考えれば、上記第１〜４のプロセスを実行することで、一方の平面上の指示位置が決定すれば、他方の平面上の指示位置を求められ、相互に変換可能であることがわかる。上記のプロセスを、透視プロセスと呼ぶ。
【０１０５】
透視プロセスにおいて、係数Ｔｎ２０，Ｔｎ３１は、指示ベクトルｄが更新される毎に、式（１０）〜（１３）から求めなければならない。しかし、係数Ｔｍ２０，Ｔｍ３１，Ｐｍ２０，Ｐｍ３１については、本システムの運用に先立って、一度だけ求めておけばよい。若しくは、運用中に何らかの理由でポインタの位置姿勢など指示環境が変化した際に、一度だけ求め直せばよい。
【０１０６】
すなわち、係数Ｔｍ２０，Ｔｍ３１，Ｐｍ２０，Ｐｍ３１は、運用前のキャリブレーションにより得られる係数である。これらの係数に関係する透視プロセスにおいて、四角形ＴＲを校正枠と呼ぶ。また、四角形ＰＲを、射影校正枠と呼ぶ。さらに、このキャリブレーションにより得られた係数を校正値と呼ぶ。
【０１０７】
本システムにおいては、指示動作の準備として、指示平面Ｔ上の任意の校正枠とそれに対応する射影指示平面Ｐ上の射影校正枠について、指示ベクトルを用いてそれらの４つの頂点を指示することにより、校正値を求めておく。これにより、指示平面Ｔ上の任意の指示位置Ｔｕに対応する射影指示平面Ｐ上の指示位置Ｐｖを正確に求めることができる。さらに、このＰｖから、式（２）により、対応する指示ベクトルｄを求められるため、目標とする指示位置Ｔｕを正確に指示することができる。
【０１０８】
［６−５．式（５）の証明］
以上が、本システムにおける指示動作の原理である。なお、上記の説明で省略した式（５）の証明を、以下に述べる。まず、ｘ，ｙ，ｚを成分とする任意の３次元直交座標系ΣＣを考える。この３次元直交座標系ΣＣに対して、平面Ｖと平面Ｕがあるとする。平面Ｖは、ｚ＝１なる平面である。平面Ｕは、平面Ｖとその法線同士が直交しない平面である。ここで、一般性を欠くことなく、平面Ｖ上の直線とこれに対応する平面Ｕ上の直線について、ΣＣの原点を中心とする中心射影変換を考える。
【０１０９】
平面Ｕ上の異なる２点ｕ０, ｕ１が、この中心射影変換により、平面Ｖ上の２点ｖ０，ｖ１へ射影されるとする。このとき、ΣＣ上の単位ベクトルｅｚ＝（０，０，１）Ｔを用いることにより、式（２０）の関係が言える。ただし、ａ・ｂは、ベクトルａとｂの内積を表す。
【数２０】
0005291389.tif 000021
【０１１０】
ここで、ｕ０，ｕ１が乗る直線ＵＬ上の任意の点ｕは、式（２１）のとおり表されるとする。そして、この任意の点ｕが、同中心射影変換により、式（２２）のとおり、ｖ０，ｖ１が乗る直線ＶＬ上の点ｖへ射影されたとする。
【数２１】
0005291389.tif 000022
【数２２】
0005291389.tif 000023
【０１１１】
このｕとｖには、式（２０）と同様に、式（２３）の関係が言える。
【数２３】
0005291389.tif 000024
【０１１２】
そして、式（２３）に式（２０），（２１）を代入し、式（２４）のとおり整理する。
【数２４】
0005291389.tif 000025
式（２２），（２４）から、式（２５）が言える。
【数２５】
0005291389.tif 000026
【０１１３】
さらに、ｕとは異なる直線ＵＬ上の点ｕ’が、同中心射影変換により直線ＶＬ上の点ｖ’に射影されるとする。このｕ’は、式（２６）のとおり表される。ｖ’は式（２７）のとおり表される。
【数２６】
0005291389.tif 000027
【数２７】
0005291389.tif 000028
【０１１４】
このとき、上記と同様に、式（２８），（２９）なる関係が言える。
【数２８】
0005291389.tif 000029
【数２９】
0005291389.tif 000030
【０１１５】
この中心射影変換を同定するにあたり、対象とする平面の位置姿勢に関する情報を排除する。そのため、式（２５）をｕ０・ｅｚについて整理すると、式（３０）が得られる。
【数３０】
0005291389.tif 000031
【０１１６】
最後に、式（２９）に式（３０）を代入し、整理すると、式（３１）を得ることができる。
【数３１】
0005291389.tif 000032
【０１１７】
［Ｄ．実施形態の作用］
本システムの動作手順の詳細を、図１０のフローチャートを参照して説明する。本システムの動作は、主として、１．初期設定、２．キャリブレーション、３．キャリブレーション要求判定、４．指示位置更新要求判定、５．指示ベクトル演算、６．指示動作等の手順を含んでいる。
【０１１８】
［１．初期設定…ステップ１００１］
まず、指示者Ａは、本システムを設置する。例えば、あらかじめ背景に指示平面Ｔが設置された壇上に、指示情報出力装置３００、指示装置４００等を配置する。但し、これらを必ずしも壇上へ配置する必要はない。つまり、この設置作業においては、指示平面Ｔ及び指示装置４００を、指示ベクトルｄの設定範囲内で、指示媒体４１０が指示平面Ｔの指示対象領域全域を指示可能となるように設置すればよい。その際、上記のように、基本指示ベクトルｄＯが、指示対象領域の中心あたりを指示するように、設置機構４６０及び可動筐体４５０の姿勢を設定する。
【０１１９】
そして、指示情報出力装置３００を指示装置４００に接続する。これにより、指示情報出力装置３００からの指示情報が、指示装置４００に与えられるようにする。指示者Ａは、指示情報出力装置３００に接続された入力装置２００を操作することにより、指示平面Ｔ上の目標とする指示位置ベクトルＴｐ、その他の指示情報等を入力することができる。
【０１２０】
なお、指示平面Ｔが投影スクリーンの場合には、プロジェクタを指示平面Ｔに向ける。また、指示平面Ｔが表示装置の場合には、指示情報出力装置３００と指示平面Ｔとを接続し、表示装置に表示すべき情報（指示情報等を含む）を与えることで、指示情報出力装置３００のディスプレイと指示平面Ｔに、共通の情報が表示されるようにする。
【０１２１】
上記の設定により、指示平面Ｔ上には、プレゼンテーション資料等の情報を表示することができる。また、指示者Ａが、入力装置２００を介してカーソル位置座標を更新する場合などには、カーソル位置を明示する画像も表示される。
【０１２２】
［２．キャリブレーション…ステップ１００２〜１００５］
キャリブレーションは、校正枠設定部４３２ａによる校正枠の設定（ステップ１００３）、射影校正枠設定部４３２ｂによる射影校正枠の設定（ステップ１００４）、校正値演算部４３２ｃによる校正値の算出（ステップ１００５）を行う処理である。校正枠及び射影校正枠は、上記のように、ポインティングシステム１００において、中心射影変換を同定するために必要となる。したがって、キャリブレーションは、設置されたポインティングシステム１００の運用に先立って若しくはキャリブレーション要求の入力があった場合に行う。
【０１２３】
キャリブレーションは、上記の動作原理のとおり実行される。このとき、プログラムがキャリブレーション状態に遷移し、指示平面Ｔ及び指示情報出力装置３００におけるディスプレイには、キャリブレーション画面が表示される。
【０１２４】
［２−１．校正枠の設定…ステップ１００３］
まず、校正枠設定の際には、校正枠の４つの頂点に相当する指示位置ベクトルと、同頂点を指示する指示ベクトルとを対応付ける。かかる対応付け並びに校正枠の設定には、次の２通りの方法が考えられる。
【０１２５】
(i)第１の方法
第１の方法は、あらかじめ設定（メモリ等の記憶部に記憶）された指示ベクトルによって、指示平面Ｔを指示する方法である。例えば、図１１に示すように、（θ０±θ，φ０±φ）Ｔと表される４つの指示ベクトルｄａ〜ｄｄにより、指示平面Ｔを順次指示する。指示者Ａは、これらの指示ベクトルｄａ〜ｄｄに基づいて指示された位置（例えば、レーザ光の照射位置）へカーソルを合わせることにより、指示装置４００に対して指示位置ベクトルと位置決定のイベントを与える。校正枠設定部４３２ａは、各指示ベクトルｄａ〜ｄｄに、指示位置ベクトルＴｐａ〜Ｔｐｄを対応付ける。
【０１２６】
この方法であれば、指示者Ａは、指示平面Ｔ上の４箇所にカーソル位置を合わせて、その位置決定のイベントを指示情報出力装置３００に与えることによって、順次キャリブレーションを進めることができる。なお、４頂点分の指示ベクトルが指示平面Ｔ内に収まらない場合には、指示者Ａの入力操作により修正指令を与えるが、指示ベクトルは指示装置４００において再計算される。
【０１２７】
(ii)第２の方法
一方、第２の方法は、例えば、図１２に示すように、（Ｘ０±Ｘ，Ｙ０±Ｙ）Ｔと表される４つの指示位置ベクトルを定める方法である。これは、指示者Ａが、各指示位置ベクトルＴｐａ〜Ｔｐｄに対応する指示平面Ｔ上の位置を、指示装置４００の指示媒体４１０が指示するように操作する。校正枠設定部４３２ａは、各指示位置ベクトルＴｐａ〜Ｔｐｄに対して、これらを指示した時の指示ベクトルｄａ〜ｄｄを対応付ける。指示者Ａによる指示媒体４１０の操作方法には、次のいずれかの方法がある。
【０１２８】
(a)入力装置２００から、指示機構４２０を制御する情報を入力し、指示情報出力装置３００経由により、指示媒体４１０の姿勢を操作する。
(b)指示装置４００のユーザインタフェース４７０から、指示機構４２０を制御する情報を入力し、指示媒体４１０の姿勢を操作する。
(c)指示媒体４１０の姿勢を手動にて操作する。
【０１２９】
(b)及び(c)の方法は、後述する遠隔プレゼンテーションにおいて、個体識別機能を追加せずにキャリブレーションを行う場合に有効である。すなわち、指示装置４００上のユーザインタフェース４７０を用いて、直接、指示機構４２０を操作し、あらかじめ上記のように指示位置ベクトルが決められた指示平面Ｔ上の４点（例えば、画像表示領域の４隅、画像表示領域に表された４箇所の識別マーク等）に、順次可視レーザ光を照射していくことで、キャリブレーションを進めることができる。この方法によれば、遠隔地にある指示情報出力装置３００や指示者Ａとは独立して、各地の指示装置４００と指示平面Ｔとのキャリブレーションを行うことができる。
【０１３０】
なお、上記の第１の方法及び第２の方法ともに、設定される４つの指示ベクトルは、すべて異なっていて、いずれか３つの指示ベクトルによる指示位置が同一直線上に無ければよい。このため、上記の例のような指示ベクトルに限定する必要はない。
【０１３１】
［２−２．射影校正枠の設定…ステップ１００４］
射影校正枠設定部４３２ｂは、上記のように、４つの指示位置ベクトルＴｐａ〜Ｔｐｄに対応付けられた４つの指示ベクトルｄａ〜ｄｄから、式（１）により、射影指示平面Ｐ上の対応する４つの射影指示位置ベクトルを求める。
【０１３２】
［２−３．校正値の算出…ステップ１００５］
上記のように設定された校正枠および射影校正枠に基づいて、式（６）〜式（９）により、校正値を求める。これにより、キャリブレーションが完了する。
【０１３３】
［３．キャリブレーション要求判定…ステップ１００６］
要求判定部４３１は、キャリブレーション要求イベントの有無を判定して、キャリブレーション部４３２のフロー制御を行う。例えば、指示装置４００と指示平面Ｔとの相対的な位置姿勢など、指示環境が運用中に変化してしまった場合に、校正値の更新が必要になる。
【０１３４】
このとき、指示者Ａが、入力装置２００若しくはユーザインタフェース４７０を介して、キャリブレーション要求イベントを入力する。要求判定部４３１は、入力されたキャリブレーション要求イベントを検出した場合、キャリブレーション部４３２にキャリブレーションを開始させる。
【０１３５】
［４．指示位置更新要求判定…ステップ１００７］
指示者Ａは、プレゼンテーション中に、指示情報出力装置３００若しくは指示平面Ｔ上に表示された内容を確認しながら、カーソル位置を所望の位置に移動させる。これにより、指示情報出力装置３００から指示位置ベクトル等の指示情報が出力される。
【０１３６】
指示者Ａが、入力装置２００を用いて、目標とする指示位置を更新した場合には、指示情報出力装置３００から出力される指示位置ベクトル等の指示情報が変化する。このような指示位置ベクトルの入力若しくは変化の有無を、要求判定部４３１が判定して、指示演算部４３０のフロー制御を行う。
【０１３７】
なお、新たな指示位置ベクトルの入力や指示ベクトルの変化がない場合には、指示ベクトルの更新を行わなくてもよい。また、指示者Ａの手振れやノイズなど、指示情報の急峻な変化を減衰させるフィルタを実装することにより、指示位置の不要な変動による不快な動作を抑制する機能を持たせてもよい。
【０１３８】
［５．指示ベクトル演算…ステップ１００８〜１０１２］
指示演算部４３０の交点演算部４３３は、式（１０）〜（１３）により、新たな指示位置ベクトルが示す指示点及び既に求められている校正枠における２頂点の間をそれぞれ結ぶ２直線と、当該校正枠における対角線との２つの交点についての交点係数ベクトルを求める（ステップ１００９）。
【０１３９】
透視演算部４３４は、式（１４）〜（１７）により、既に求められている校正値、交点係数ベクトル及び指示平面Ｔ上の２つの交点に基づいて、当該２つの交点に対応する射影指示平面Ｐの２つの射影点を求める（ステップ１０１０）。なお、上記の説明では、指示平面Ｔ上の２点から、射影指示平面Ｐ上の２つの射影点を求めていたが、両者は相互に変換可能である。
【０１４０】
さらに、指示位置演算部４３５は、式（１８）（１９）により、既に求められている２つの射影点及び射影校正枠の２頂点を結ぶ２直線の交点についての交点係数ベクトルを求める（ステップ１０１１）。
【０１４１】
指示ベクトル演算部４３６は、ステップ１０１１で求めた交点係数ベクトルに基づいて、式（２）により、指示ベクトルを求める（ステップ１０１２）。なお、指示方向制御軸のずれなどの、指示装置４００における指示機構４２０の実装精度により、指示ベクトルの補正が必要となる場合を考慮して、適切な指示ベクトル補正機能を実装し、求められた指示ベクトルを補正してもよい。
【０１４２】
［６．指示動作…ステップ１０１３〜１０１５］
上記のように求められた指示ベクトルによって、指示機構４２０は、指示媒体４１０の指示方向制御パラメータを更新する（ステップ１０１３）。この指示方向制御パラメータにしたがって、指示機構４２０が動作するので、指示媒体４１０が、指示平面Ｔ上の目標とする指示位置を指示する（ステップ１０１４）。そして、プレゼンテーション等を継続する場合には、ステップ１００６に戻る（ステップ１０１５）。
【０１４３】
［Ｅ．実施形態の効果］
以上のような本実施形態によれば、カメラで指示平面Ｔを撮影することによる照射位置の発見及び追跡を行わなくても、正確な位置を指示することができるので、装置構成及び処理が簡素化できる。
【０１４４】
指示者Ａは、指示情報出力装置３００のディスプレイに、指示平面Ｔと同内容のプレゼンテーション資料等が表示されているならば、ディスプレイを見ながら、入力装置２００を介して指示位置を入力すればよい。このため、指示者Ａは、指示平面Ｔと観衆との間で、頻繁に視線や姿勢を交代させる必要がなくなり、高度な表現能力を必要とせずに、観衆を見据えた発表を行うことができる。
【０１４５】
指示平面Ｔに対する実際の指示は、指示者Ａによる入力装置２００からの入力に応じて、指示装置４００が行う。このため、指示媒体４１０の指示平面Ｔからの逸脱や指示者の手振れを抑制でき、安全な指示動作を安定して行うことができる。
【０１４６】
特に、指示位置は、指示平面Ｔ内に制限することができるので、指示平面Ｔと指示装置４００との間に観衆が存在しない場合には、指示媒体４１０が観衆に向けられることはない。また、指示情報の急峻な変化を減衰させるフィルタを用いることにより、不要な変動による不快な動作を抑制できる。
【０１４７】
指示平面Ｔと指示装置４００との相対的な位置姿勢が変動しても、キャリブレーションを行うことにより、正確な指示動作を維持できる。このため、指示装置４００及び指示平面Ｔを持ち運び可能な利便性の高いものとすることができる。また、設置の自由度が高まるので、様々な設置場所に本システムを設置することができる。
【０１４８】
［Ｆ．他の実施形態］
本発明は、上記の実施形態に限定されるものではない。図２に示した機能ブロック図は、概念的なものであり、これらの機能を実現する具体的な回路は種々考えられ、特定のものには限定されない。なお、本発明は、上記の処理に対応してコンピュータ及び周辺回路を動作させるポインティング方法、ポインティングプログラムとしても把握できる。ハードウェア処理によって実現する範囲とソフトウェア処理によって実現する範囲も自由である。上記の指示演算部を実現するコンピュータを、独立した指示ベクトル演算装置として構成することも可能である。
【０１４９】
上記の各装置の接続方法は、自由である。例えば、携帯可能な小型軽量の指示装置４００を、指示情報出力装置３００のコンピュータに接続する場合に、ＵＳＢのバス給電により駆動するように構成することもできる。
【０１５０】
さらに、入力装置２００と指示情報出力装置３００とを接続する媒体若しくは指示情報出力装置３００と指示装置４００とを接続する媒体を、有線若しくは無線の通信ネットワークを介して実現してもよい。これにより、遠隔地に設置された指示平面Ｔ及び指示装置４００を、入力装置２００及び指示情報出力装置３００によって操作することができる。
【０１５１】
また、指示平面Ｔ（表示装置若しくはプロジェクターの制御部）は、指示情報出力装置３００の出力部３３０から受信した情報に応じて、所定の情報を出力することができる。そして、指示平面Ｔから発せられた情報（例えば、実際の指示位置）を指示者Ａが認識して、フィードバックする（所望の位置へカーソルを移動する）ことで、次の指示動作を決定してもよい。上記の実施形態では、入力装置２００若しくは指示情報出力装置３００が、指示平面Ｔとは別に、指示者用のディスプレイを有していたが、さらに、独立の指示者向け表示装置を備えてもよい。
【０１５２】
また、指示装置４００の一部を、指示情報出力装置３００に構成することもできる。例えば、指示演算部４３０を、指示情報出力装置３００に設けてもよい。キャリブレーション部４３２のみを、指示情報出力装置３００に設けてもよい。さらに、入力装置２００及び指示情報出力装置３００の一方若しくは双方を、指示装置４００と一体に構成することもできる。
【０１５３】
また、上記の基本的なシステムでは、指示者Ａが１人、指示平面Ｔが１面の１：１のシステムであった。しかし、両者の関係は、必ずしも１：１である必要はない。ｎ、ｍを２以上の整数として、１：ｎ、ｎ：１、ｍ：ｎの関係を有するシステムを構成することもできる。
【０１５４】
例えば、指示平面Ｔが複数あり、各面に同一の指示動作を行う１：ｎのプレゼンテーションシステムとして構成することもできる。このシステムは、１つの指示平面Ｔだけではカバーしきれない規模の発表会場や、空間的に離れた複数拠点へ同一内容を発表する遠隔プレゼンテーションへの要求に応えることができる。
【０１５５】
この場合、指示平面Ｔと同数の指示装置４００を、指示情報出力装置３００に接続する必要がある。各指示装置４００のキャリブレーションは、各々が指示する指示平面Ｔに対して行わなければならないため、各指示装置４００に個体識別機能（識別手段）を追加してもよい。指示装置４００が、自らに向けたキャリブレーション要求等のキャリブレーション関連情報を受信した場合（自らの識別情報と一致する情報を受信した場合）のみ、キャリブレーションを行うなどの機能も考えられる。
【０１５６】
また、遠隔プレゼンテーションの場合は、指示者（発表者）Ａの拠点のみから、すべてのキャリブレーションを行うことは困難である。このため、表示画面の座標系が同一であれば、キャリブレーション時のみ、各指示装置４００に対応して設けられた別の指示情報出力装置３００に接続を切り替えて、キャリブレーションを行うこともできる。例えば、各指示情報出力装置３００の入力手段を用いて、直接、指示機構４２０を操作し、あらかじめ指示位置ベクトルが決められた指示平面Ｔ上の４点に、順次可視レーザ光を照射していくことによって、それぞれキャリブレーションを行うことができる。
【０１５７】
１：ｎのプレゼンテーションシステムとは逆に、指示者Ａおよび指示者Ａに属する指示装置４００が複数あり、指示平面Ｔが１面のみのｎ：１のプレゼンテーションシステムへの応用も可能である。指示情報出力装置３００が１つの場合には、指示者Ａとこれに属する指示装置４００の個体識別機能（識別手段）が必要となる。いずれにしても、単一の指示平面Ｔに指示者Ａと同数のカーソル位置制御およびその表示を行うための集約制御を担当する装置が必要となる。さらに、１：ｎおよびｎ：１のプレゼンテーションシステムを拡張して、ｍ：ｎのプレゼンテーションシステムへの応用も可能である。
【０１５８】
本システムでは、キャリブレーション時に、指示位置ベクトルと指示ベクトルとの対応付けさえ行えるならば、一般的な指示媒体による指示動作への応用に限る必要はない。たとえば、カメラの視線制御にも応用できる。これにより、平面もしくは仮想的な平面を監視するカメラの視線制御を、同平面上の指示位置ベクトルを与えることで容易に行うことができる。つまり、本発明の指示媒体は、肉眼で識別できる媒体には限らず、カメラの視線のように、いわば仮想的な指示を行うものも含まれる。
【図面の簡単な説明】
【０１５９】
【図１】本発明の指示動作モデルを示す説明図である。
【図２】本発明の一実施形態を示す全体構成図である。
【図３】図２に示す実施形態の機能ブロック図である。
【図４】本発明の指示動作原理における球座標系、３次元直交座標系及び２次元線形座標系を示す説明図である。
【図５】本発明の指示動作原理における射影指示平面を示す説明図である。
【図６】本発明の指示動作原理における指示平面上の校正枠と射影指示平面上の射影校正枠の頂点及び対角線の交点の射影変換を示す説明図である。
【図７】本発明の指示動作原理における射影指示平面上の指示点と四角形の対角線との交点を示す説明図である。
【図８】図７の交点の指示平面への射影変換を示す説明である。
【図９】図８の射影点から求める指示点を示す説明図である。
【図１０】図２に示す実施形態の処理手順を示すフローチャートである。
【図１１】本発明のキャリブレーション手法の一例を示す説明図である。
【図１２】本発明のキャリブレーション手法の他の一例を示す説明図である。
【符号の説明】
【０１６０】
１００…ポインティングシステム
２００…入力装置
３００…指示情報出力装置
３１０…入力部
３２０…決定部
３３０…出力部
４００…指示装置
４１０…指示媒体
４２０…指示機構
４３０…指示演算部
４３１…要求判定部
４３２…キャリブレーション部
４３２ａ…校正枠設定部
４３２ｂ…射影校正枠設定部
４３２ｃ…校正値演算部
４３３…交点演算部
４３４…透視演算部
４３５…指示位置演算部
４３６…指示ベクトル演算部
４４０…指示情報インタフェース
４５０…可動筐体
４６０…設置機構
４７０…ユーザインタフェース
【図１】
0005291389.tif 000033
【図２】
0005291389.tif 000034
【図３】
0005291389.tif 000035
【図４】
0005291389.tif 000036
【図５】
0005291389.tif 000037
【図６】
0005291389.tif 000038
【図７】
0005291389.tif 000039
【図８】
0005291389.tif 000040
【図９】
0005291389.tif 000041
【図１０】
0005291389.tif 000042
【図１１】
0005291389.tif 000043
【図１２】
0005291389.tif 000044