(57)【要約】【課題】  ポインティングデバイスの３次元位置及び回転角を、絶対座標と相対座標の両方で求めることが可能で、コンパクトで使い易い３次元位置入力装置を提供する。【解決手段】  円錐状の光を発するポインティングデバイス５の発する光が投影部６上に作る楕円または円の平面投影像を撮像機器７で撮影し、その画像から算出される前記平面投影像の楕円の中心座標と焦点の座標と長軸の長さと短軸の長さと傾き、または円の中心座標と半径などの特徴量に基づいてポインティングデバイス５の３次元位置及び回転角を算出する。【選択図】  図１３
2006190212.tif 000002
【特許請求の範囲】
【請求項１】
先端部分に光源を持つポインティングデバイスと、
前記ポインティングデバイスの発する光が作る楕円または円の平面投影像を映す平面状の投影部と、
前記平面投影像を撮影する撮像機器と、
前記撮像機器により撮影された画像から前記平面投影像の特徴量を算出する特徴量算出手段と、
前記特徴量から前記ポインティングデバイスの３次元位置及び回転角を算出する位置算出手段と
を具備することを特徴とする３次元位置入力装置。
【請求項２】
前記ポインティングデバイスは、光源の光軸を中心に円錐状の光線を発することを特徴とする請求項１に記載の３次元位置入力装置。
【請求項３】
前記ポインティングデバイスは、光源の光軸を通る光線を発生することを特徴とする請求項１または２に記載の３次元位置入力装置。
【請求項４】
前記ポインティングデバイスの発する平面投影像は、1箇所、欠けを生じることを特徴とする請求項１乃至３のいずれか１項に記載の３次元位置入力装置。
【請求項５】
前記ポインティングデバイスは、楕円の周上または円周上に複数の光の点を発生することを特徴とする請求項１に記載の３次元位置入力装置。
【請求項６】
前記撮像機器は、前記特徴量算出手段と前記位置算出手段とを具備することを特徴とする請求項１乃至５のいずれか１項に記載の３次元位置入力装置。
【請求項７】
前記平面状の投影部は、光を感知する機能を具備し、前記ポインティングデバイスの発する前記平面投影像もしくは前記複数の光の点の位置情報を読み取る平面状の光感知器であって、
この光感知器により読み取った前記平面投影像の特徴量もしくは前記複数の光の点の特徴量を算出する特徴量算出手段と、
前記特徴量から前記ポインティングデバイスの３次元位置及び回転角を算出する位置算出手段とを具備することを特徴とする請求項1乃至５のいずれか１項に記載の３次元位置入力装置。
【請求項８】
前記ポインティングデバイスは光の消滅、出現を切り替える手段を有し、前記光の消滅、出現をＯＮ／ＯＦＦ情報として時間的に羅列するシグナルパターンに基づいて複数の入力処理を識別する手段を具備することを特徴とする請求項１乃至７のいずれか１項に記載の３次元位置入力装置。
【請求項９】
前記特徴量は、楕円の中心座標と焦点の座標と長軸の長さと短軸の長さと傾き、または円の中心座標と半径であることを特徴とする請求項１乃至８のいずれか１項に記載の３次元位置入力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子黒板あるいはコンピュータ等に３次元位置情報を入力あるいは表示するための３次元位置入力装置に関する。
【背景技術】
【０００２】
現在普及しているコンピュータ及び電子機器等への入力装置としては、マウス及びタブレット等の２次元の位置情報入力装置が一般的に使われているが、情報処理を行う上で、ある特殊な専門的分野を除いては、３次元位置入力装置は特に必要に迫られることはなかった。
【０００３】
しかし、処理速度が向上するに従って、３次元コンピュータグラフィクスを扱ったり、機械を遠隔操作したりする際に、直接３次元の座標値を入力することにより、作業効率が上がったり、より的確に対象物を扱うことが可能となってきている。
【０００４】
３次元位置入力装置としては、例えば特許文献１に開示されたものがある。この３次元位置入力装置では、指の圧力による光の反射面の変化で相対変化を求めている。可動部分に外から圧力を加えることで変形する反射面に、発光素子から発生した光が当たり、反射した光が受光素子に当たる。可動部分に指などで圧力を加えると、反射面の法線ベクトルが変化し光の軌道も変化するため、受光素子に当たる光も変化する。この変化を読み取ることで可動部分の変位を算出し、指の移動量、移動方向を算出する。
【０００５】
また、他の３次元位置入力装置としては、例えば特許文献２に開示されたものがある。この３次元位置入力装置は、ポインティングデバイスから発せられた電波を三点測量の要領で最低３つのセンサで受信するものである。複数のセンサで受信した電波は、発信源の位置によってセンサに到達する時間にずれが生じる。このずれを求めることで３次元位置を求める。また、ポインティングデバイスに２つのセンサを用いることで、ポインティングデバイスの指している方向を得る。
【０００６】
また、他の３次元位置入力装置としては、ジョイスティック（前後左右方向の位置操作を行うレバーと上下方向の位置操作を行うボタンとを有する）とトラックボールとを用いて３つの回転を表現するものがある。
【特許文献１】特開平９−１６３２５号公報
【特許文献２】特開平１０−１７１５９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
３次元空間を扱う分野は製図やコンピュータグラフィクス等の３次元画像を扱う分野の他にロボットの分野もあり、ロボットやロボットの腕を制御する場合は、一般的に空間上の位置と回転の計６つの自由度が必要となるが、上記特許文献１に開示された３次元位置入力装置は、位置が固定されたデバイスを操作するため空間的自由度が３のデバイスであり、自由度の要件を満たしていないという問題があった。また、相対位置を入力することは可能であるが、絶対座標の入力は不可能であり、また、指圧で常に同じ湾曲面を作ることは難しく、ポインタの制御を正確に行うことが困難であるという問題があった。
【０００８】
また、上記特許文献２に開示された３次元位置入力装置は、ポインティングデバイス自身の回転情報は得ることができないので、空間的自由度が５のデバイスである。また、電波を発信する部分と受信する部分は複数必要であり、構造が複雑になるという問題があった。
【０００９】
また、ジョイスティックとトラックボールを用いた３次元位置入力装置は、絶対座標を表現できず、また、装置に取り付けられたセンサが５個もあり、ポイントを動かすために指を頻繁に動かさなければならないという問題があった。
【００１０】
上述のように、ポインティングデバイスの３次元位置及び回転角を、絶対座標と相対座標の両方で求めることができる３次元位置入力装置は存在しなかった。
【００１１】
そこで本発明は、ポインティングデバイスの３次元位置及び回転角を、絶対座標と相対座標の両方で求めることが可能で、コンパクトで使い易い３次元位置入力装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の３次元位置入力装置は、先端部分に光源を持つポインティングデバイスと、前記ポインティングデバイスの発する光が作る楕円または円の平面投影像を映す平面状の投影部と、前記平面投影像を撮影する撮像機器と、前記撮像機器により撮影された画像から前記平面投影像の特徴量を算出する特徴量算出手段と、前記特徴量から前記ポインティングデバイスの３次元位置及び回転角を算出する位置算出手段とを具備することを特徴とする。
【００１３】
また、本発明の３次元位置入力装置は、前記ポインティングデバイスは、光源の光軸を中心に円錐状の光線を発することを特徴とする。
【００１４】
また、本発明の３次元位置入力装置は、前記ポインティングデバイスは、光源の光軸を通る光線を発生することを特徴とする。
【００１５】
また、本発明の３次元位置入力装置は、前記ポインティングデバイスの発する平面投影像は、1箇所、欠けを生じることを特徴とする。
【００１６】
また、本発明の３次元位置入力装置は、前記ポインティングデバイスは、楕円の周上または円周上に複数の光の点を発生することを特徴とする。
【００１７】
また、本発明の３次元位置入力装置は、前記撮像機器は、前記特徴量算出手段と前記位置算出手段とを具備することを特徴とする。
【００１８】
また、本発明の３次元位置入力装置は、前記平面状の投影部は、光を感知する機能を具備し、前記ポインティングデバイスの発する前記平面投影像もしくは前記複数の光の点の位置情報を読み取る平面状の光感知器であって、この光感知器により読み取った前記平面投影像の特徴量もしくは前記複数の光の点の特徴量を算出する特徴量算出手段と、前記特徴量から前記ポインティングデバイスの３次元位置及び回転角を算出する位置算出手段とを具備することを特徴とする。
【００１９】
また、本発明の３次元位置入力装置は、前記ポインティングデバイスは光の消滅、出現を切り替える手段を有し、前記光の消滅、出現をＯＮ／ＯＦＦ情報として時間的に羅列するシグナルパターンに基づいて複数の入力処理を識別する手段を具備することを特徴とする。
【００２０】
また、本発明の３次元位置入力装置は、前記特徴量は、楕円の中心座標と焦点の座標と長軸の長さと短軸の長さと傾き、または円の中心座標と半径であることを特徴とする。
【発明の効果】
【００２１】
本発明の３次元位置入力装置によれば、円錐状の光線が作る平面投影像や楕円の周上または円周上に発生する複数の光の点から形状情報を読み取り、この形状情報から算出される特徴量に基づいてポインティングデバイスの３次元位置及び回転角を算出するので、３次元位置及び回転角を絶対座標と相対座標の両方で求めることができる。
【００２２】
これにより、３次元コンピュータグラフィックスやロボットの制御などの３次元物体の姿勢回転を表現するのに必要十分な、ポインティングデバイスの６つの自由度と絶対位置、相対位置を表現、入力する装置を提供することができる。
【００２３】
また、ポインティングデバイスは鉛筆サイズでワイヤレスなので空間上を自由に移動させることができ、センサや光源の構造が簡単なので、あらゆる３次元を扱う機器への導入が容易である。例えば、カメラ付き携帯電話やノートＰＣ等のモバイル機器に搭載することにより、最近検討が進んでいるユビキタス通信への応用も可能である。
【００２４】
また、本発明の３次元位置入力装置は、マウスやトラックボールの構造を用いるデバイスのような機械的な磨耗といった問題もなく、常に高い精度を保つことが可能である。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態を図面を参照して説明する。
【００２６】
（実施の形態の基本原理）
まず、本発明の実施の形態における３次元位置入力装置の基本原理を図１乃至図１２に基づいて説明する。
【００２７】
図１は円錐形を平面で切断したときの断面図形を示す図、図２は光源の姿勢の変化による平面投影像の変化を示す図、図３は光源が平面に対して垂直になっているときの平面投影像を示す図、図４は光源が平面に対して斜めになっているときの平面投影像を示す図、図５は楕円の平面投影像に対応する、撮像機器により撮影された２次元の画像データ（ｘ，ｙ）をｘ−ｙ座標で示した図、図６は傾きのない標準形の楕円をｘ−ｙ座標で示した図、図７は光源の３次元位置及び回転角の算出に用いる説明図、図８は図７の補足説明図、図９は回転角の３次元上の位置を示す説明図、図１０は光源の光軸回りの回転角を求める方法を示す説明図、図１１は６個の光の点を投影する光源を平面に対して真上から垂直に向けたときに平面に映る光の点を示す図、図１２は６個の光の点を投影する光源を平面に対して傾けたときに平面に映る光の点を示す図である。
【００２８】
図１（ａ）に示すように、平面上に円形の光の像を作り出す光源１を考えると、丁度、円錐の頂点に光源１があり、光源１の発する光の光路を円錐図形に見立てることができる。この円錐図形を平面で切断する場合、水平に切断した場合は、図１（ｂ）に示すように、その切断面は円になり、斜めに切断した場合は図１（ｃ）に示すように切断面は楕円形になる。
【００２９】
図１（ｂ）において、円錐の中心軸２は切断面の円の中心点を通り、図１（ｃ）において、円錐の中心軸２は切断面の楕円の片方の焦点を通る。中心軸２と円錐の側面との間の角度αと断面図形の特徴量（中心座標、焦点の座標、長軸の長さ、短軸の長さ等）とが分かれば、それらより円錐の頂点の座標と中心軸２の方向を求めることができる。
【００３０】
ところで、図２に示すように、光源１は、どのように移動させたり姿勢を変化させたりしても、平面投影像は円か楕円のどちらかになる。
【００３１】
図３は光源が平面に対して垂直になっているときの平面投影像を示す図である。図３（ａ），（ｂ）に示すように、平面にx軸、y軸を取り、平面に垂直にｚ軸を取る場合、光源１の姿勢がｘｙ平面に対して垂直になる場合は、ｘｙ平面には円が像として映し出される。光源１の光軸３と円錐の側面との間の角度をαとするとき、ｘｙ平面に映し出された図形の特徴量（中心座標、半径）より光源１の３次元位置を算出することができる。ここで、図３（ｂ）に示すａ，ｂは円の半径となる。光源１が左右に平行移動した場合、投影像の中心点座標が移動し、光源１が上下に移動した場合は、円の半径が変化する。
【００３２】
一方、図４は光源が平面に対して斜めになっているときの平面投影像を示す図である。図４（ａ）は光源１をz軸に対してθだけ傾けた状態を示しており、光軸３とｘｙ平面の交点Ｃに原点を取っている。図４（ｂ）はその時にｘｙ平面に映し出される像を示しており、この投影像は楕円となる。この時、光軸３とｘｙ平面との交点Ｃ（図４（ａ）に示すＣと同じ）は楕円の焦点になっており、θを変化させた場合も常に光軸３は楕円の焦点を通る。光源１の姿勢（３次元位置、回転角）は、図４（ｂ）に示す楕円の長軸の長さ（ａ’）、短軸の長さ（ｂ’）、楕円の中心点Ｄ及び焦点Ｃ、図４（ａ）に示す光軸３と円錐の側面との間の角度をα等の特徴量を用いて算出することができる。光源１が移動すると平面投影像の位置と形状が変化するので、そのときの変化量を計算することにより、投影像が楕円でも光源１の姿勢を同定することができる。
【００３３】
ここで、平面投影像の特徴量の具体的な算出方法について説明する。求める特徴量は、楕円の長軸の長さ、短軸の長さ、中心点及び焦点、楕円の傾き、または円の中心座標と半径である。
【００３４】
図５は楕円の平面投影像に対応する、撮像機器により撮影された２次元の画像データ（ｘ，ｙ）をｘ−ｙ座標で示した図である。この２次元の画像データ（ｘ，ｙ）は左上の点から右下に向かう順であらかじめ用意された記録領域に記録される。この際、２次元の画像データは白か黒かに２値化処理される。
【００３５】
まず、楕円の中心点の求め方を説明する。２次元の画像データを左上から走査していき、直前のデータと初めて数値が異なる点（楕円の上側）を検知し、これを図５に示すように点Ｄ１とする。次に、画像の右下から同様に走査を行い、直前のデータと初めて数値が異なる点を、点Ｄ２とする。図形の対称性により、点Ｄ１と点Ｄ２の中間点が楕円の中心点（ｘ０，ｙ０）となる。
【００３６】
次に、楕円の長軸の長さ、短軸の長さ、焦点、楕円の傾きの求め方を説明する。ここで、以降の処理を簡単にするため、求めた楕円の中心点（ｘ０，ｙ０）を原点（０，０）とする。一般的な楕円（２次曲線）の方程式は、
ａｘ２＋ｂｘｙ＋ｃｙ２＋ｄｘ＋ｅｙ＋ｆ＝０                        （数式１）
で与えられるが、楕円の中心点を原点（０，０）とすると、
ａｘ２＋ｂｘｙ＋ｃｙ２＋ｆ＝０                                    （数式２）
と表現される。
【００３７】
ここで、最初に得られた点Ｄ１，Ｄ２を、原点（０，０）を基準としてＤ１→Ａ１（ｘ１，ｙ１），Ｄ２→Ａ２（ｘ２，ｙ２）と座標変換する。次に、ｘ軸の正の部分と楕円の交点をＡ３（ｘ３，０）、ｙ軸の正の部分と楕円の交点をＡ４（０，ｙ４）とする。
【００３８】
計算上点Ｄ１，Ｄ２が両方ともにｘ軸上もしくはｙ軸上にあるような場合は、円もしくは傾いていない楕円であるので、以下ではそれ以外の場合を説明する。
【００３９】
Ａ１，Ａ３，Ａ４を（数式２）に代入すると、楕円の方程式は、
【数１】
2006190212.tif 000003
【００４０】
となる。
【００４１】
この（数式３）は傾いている楕円の方程式である。図６は図５の楕円を−φだけ回転させて得られた傾きのない楕円（標準型とする）で、これと比較することで、まず、楕円の傾きφが求められる。
【００４２】
標準型の楕円上の任意の点を（Ｘ，Ｙ）とすると、次の行列式が成り立つ。
【数２】
2006190212.tif 000004
【００４３】
（数式４）を展開すると、
ｘ＝Ｘｃｏｓφ−Ｙｓｉｎφ                                          （数式５）
ｙ＝Ｘｓｉｎφ＋Ｙｃｏｓφ                                          （数式６）
が得られる。
【００４４】
この（数式５）及び（数式６）を（数式３）に代入すると、
【数３】
2006190212.tif 000005
【００４５】
となる。
【００４６】
図６に示すような傾きのない標準型の楕円の場合は、ＸＹの項は０になるので、結果として、
【数４】
2006190212.tif 000006
【００４７】
となる。
【００４８】
そして、（数式８）を整理すると、
【数５】
2006190212.tif 000007
【００４９】
となり、
【数６】
2006190212.tif 000008
【００５０】
となり、楕円の傾きφの値が決まる。
【００５１】
次に、（数式１０）を（数式７）に戻すと、ＸＹの項は消えるので、次の標準形の式が得られる。
【数７】
2006190212.tif 000009
【００５２】
（数式１１）より、楕円の長軸の長さａ’、短軸の長さｂ’は次式で求まる。
【数８】
2006190212.tif 000010
【００５３】
次に、図６において、楕円の焦点をＳ１(ｓ１，０)，Ｓ２（ｓ２，０），ｓ１＜０，ｓ２＞０とすると、
【数９】
2006190212.tif 000011
【００５４】
で楕円の焦点が求まり、以上で平面投影像の特徴量が算出できる。
【００５５】
次に、特徴量ａ’，ｂ’ならびに焦点Ｓ１(ｓ１，０)，Ｓ２（ｓ２，０）から光源１の３次元位置と回転角を算出する方法について説明する。
【００５６】
まず、３次元位置（ｘ，ｙ，ｚ）の求め方を説明する。図７（ａ）に示すように光源１がｚ軸に対してθだけ傾いているとする。
【００５７】
Ｓ１のｘ座標ｓ１は、楕円の長軸の長さがａ’、短軸の長さがｂ’なので、（数式１４）より
【数１０】
2006190212.tif 000012
【００５８】
である。なお、原点から焦点Ｓ１までの距離Ｓは
【数１１】
2006190212.tif 000013
【００５９】
である。
【００６０】
図７（ｂ）に示すように、焦点Ｓ１からｙ軸正方向へ線を引き、楕円と交差する点を（ｓ１，ｙ１）とすると、ｙ１の値は、図７（ａ）に示すＬ１の値と一致する。
【００６１】
このｙ１の値とＬ１の値が一致することについて説明する。図８（ａ）に示すような、高さＺ、中心軸と側面との間の角度αの円錐台を考える。
【００６２】
図８（ｂ）に示すように、中心軸とｘｙ平面との交点をＳ１(ｘ軸上の点)、円錐台の側面とｘ軸との交点をＡ１，Ａ２とする。
【００６３】
次に、図８（ｃ）に示すように、Ｓ１を中心としてｘｚ平面に沿ってｚ軸からθだけ回転させる。円錐台の点Ａ２は点Ａ２’へ回転移動する（Ｚを回転半径として、Ｚの長さは固定する）。回転移動なので、Ｓ１からＡ２までの距離とＳ１からＡ２’までの距離は等しい。
【００６４】
さらに、回転する前の円錐台に注目すると、図８（ｄ）に示すように、投影像は円なので、Ｓ１からＡ２までの距離とＳ１から同円上の点Ａ３までの距離は等しい。一方、Ａ３に注目すると、円錐台が回転するとき、Ａ３は回転軸上にあるので円錐台のＡ３の位置は不変である（図８（ｅ）、図８（ｆ）参照）。以上より、Ｓ１からＡ３までの距離(円の半径)と、Ｓ１とＡ２’までの距離は等しいと言えるので、ｙ１の値は、図７（ａ）に示すＬ１の値と一致する。
【００６５】
今、楕円の方程式は、楕円の長軸の長さａ’、短軸の長さｂ’で表すと
【数１２】
2006190212.tif 000014
【００６６】
である。（数式１７）に（ｘ，ｙ）→（ｓ１，ｙ１）を代入すると、ｙ１（＝Ｌ１）は、
【数１３】
2006190212.tif 000015
【００６７】
となる。
【００６８】
光源１から、光軸３と平面との交点までの距離をＺとすると、
【数１４】
2006190212.tif 000016
【００６９】
である。ここで、αは光軸３と円錐の側面との間の角度である(光源１固有の定数)。
【００７０】
図７（ａ）について、Ｚ’とＬ２を含む直角三角形に注目すると、
【数１５】
2006190212.tif 000017
【００７１】
である。また、頂角αを共有し、底辺をＬ１，Ｌ２とする２つの三角形は相似形なので、
【数１６】
2006190212.tif 000018
【００７２】
である。
【００７３】
よって（数式２２）は、
【数１７】
2006190212.tif 000019
【００７４】
となる。（数式２３）を整理すると、
【数１８】
2006190212.tif 000020
【００７５】
となる。三角関数の合成を用いると、
【数１９】
2006190212.tif 000021
【００７６】
となる。（数式２５）を変形して、
【数２０】
2006190212.tif 000022
【００７７】
よって、
【数２１】
2006190212.tif 000023
【００７８】
こうして、光軸３のｚ軸に対する傾きθがまず、求まる。
【００７９】
また、求める光源１の座標（ｘ，ｙ，ｚ）は、楕円の傾きφ及び光軸３のｚ軸に対する傾きθを用いて、３次元極座標表示で求めると、
（−Ｚｓｉｎθｃｏｓφ−Ｓｃｏｓφ，−Ｚｓｉｎθｓｉｎφ−Ｓｓｉｎφ，Ｚｃｏｓθ）                                                                  （数式２８）
となり、各座標値がz軸に対する光軸３の傾きθの関数で求まる。但し、これまでは、光軸３が楕円の焦点Ｓ１を通ることを前提に説明してきたので、実際には、このθを特定するには、初めに楕円の平面投影像の二つの焦点にうち、どちらの焦点を光軸３が通っているかを特定する必要がある。その特定方法は、光源１から発生する光軸３を通る光の点を利用する。この光の点は、前述のように必ずどちらか一方の焦点を通るので、記憶領域にあるこの光の点に対応する画像の２次元データと計算により求まる焦点Ｓ１、Ｓ２を比較して座標位置が一致する方を求めることにより特定する。
【００８０】
なお、上記説明においては、簡単のため楕円の中心と原点を一致させたが、原点を画像の左端上端などに設定した場合は、楕円の中心点が値（ｘｄ，ｙｄ）を取るとき、（数式２８）のｘ，ｙの項にそれぞれｘｄ，ｙｄを加えることで他の基準点からの３次元位置を求めることができる。
【００８１】
最後に、回転角の求め方について説明する。回転角は、図９に示すようにθ（ヨー角）、φ（ロー角）、δ（ピッチ角)で定義される。ここで、θとφは、前述のθとφの値から求められる。光源の光軸回りの回転角δ（ピッチ角）の求め方は、楕円の平面投影像にできる欠けを利用する。図１０に示すように、δ（ピッチ角）は、楕円の長軸方向と、欠けの方向の間の角度になる。以上で光源１の３次元位置と回転角が算出できる。
【００８２】
尚、これまでの説明においては、円錐状の光線を発する光源を考えたが、複数の光の点を平面上に投影する光源を用いることもできる。
【００８３】
この場合、平面上に作られる複数の光の点に着目して、そこから円または楕円に帰着させ、円錐状の光を発する光源を用いた場合と同様の原理で光源の３次元位置及び回転角を求める。楕円の方程式が（数式１）で表され、その係数が６つであることから、光源が作る光の点は最低６個あれば、それらの座標位置から円または楕円の方程式を求めることができる。
【００８４】
図１１（ａ）は６個の光の点を投影する光源を平面に対して真上から垂直に向けたときに平面に映る光の点を示す図、図１１（ｂ）はこのとき平面に映る光の点を真上から見た図である。図１１（ｂ）に示すように、６個の光の点が円周上に等間隔に並び、光の点を隣同士でつなげると正６角形になるように光源４の発する光の方向を設定する。
【００８５】
そして、任意の点を基準として６つの光の点の座標位置を検出する。これらの座標位置から円の方程式と特徴量（円の半径、中心座標）を求めることができるので、これにより光源４の３次元位置を算出することができる。
【００８６】
また、光源４の中心軸回りの回転角は、ある光の点に着目して、回転による座標値の変化量を読み取ることで求めることができる。
【００８７】
次に、光源４を平面に対して傾けたときについて考える。光源４の発する光の方向は図１１に示した場合と同様に設定する。図１２（ａ）は６個の光の点を投影する光源を平面に対して傾けたときに平面に映る光の点を示す図、図１２（ｂ）はこのとき平面に映る光の点を真上から見た図である。光源４を平面に対して傾けたとき、図１２（ｂ）に示すように光の点は楕円の周上に現れる。
【００８８】
そして、任意の点を基準として６つの光の点の座標位置を検出し、これらの光の点の座標位値より楕円の方程式と特徴量（中心座標、焦点の座標、長軸の長さ、短軸の長さ、楕円の傾き）を求めることができるので、前述した円錐状の光線を発する光源を用いた場合と同様の方法により光源４の３次元位置と回転角を算出することができる。
【００８９】
但し、光源４が傾いている場合には、直ちに光源４の光軸が楕円の焦点のどちらを通っているかを判定することができる。図形的に対称的な位置関係にある２つの点（３対）を直線で結ぶと、３本の直線の交点は楕円の焦点となる。図１２（ｂ）では直線の交点は左の焦点を通っているので、光源４は楕円の短軸を基準として左側にあることが分かる。
【００９０】
また、光源４の中心軸回りの回転角は、ある光の点に着目して、回転による座標値の変化量を読み取ることで直ちに求めることができる。
【００９１】
（実施例１）
次に、本発明の３次元位置入力装置の実施例１を図１３乃至図１７に基づいて説明する。図１３は本発明の実施例１の３次元位置入力装置の動作を示す構成図、図１４は図１３に示す３次元位置入力装置の動作を示すフローチャート、図１５はシグナルパターンを示す図、図１６は原点を撮像機器の位置にした場合の撮像機器の画像と平面投影像との関係を示す図、図１７は原点を投影部上にした場合の撮像機器の画像と平面投影像との関係を示す図である。
【００９２】
図１３（ａ）に示すように、本実施例の３次元位置入力装置は、円錐状の光線を発するポインティングデバイス５と、ポインティングデバイス５の発する光が作る平面投影像を映し出す平面状の投影部６と、投影部６に映し出された平面投影像を撮影する撮像機器７と、撮像機器７により撮影された画像の特徴量を算出し、この特徴量からポインティングデバイス５の３次元位置及び回転角を算出するメイン機器８とを具備する。
【００９３】
なお、ポインティングデバイス５は、ボタン操作により光の消滅、出現を切り替えることができる。また、メイン機器８は、例えばパーソナルコンピュータであり、図１３（ｂ）に示すように、撮像機器７からの画像データが入力される入力ポート８ａと、画像データや画像データの処理結果を記録するＲＡＭ８ｂと、図１３に示す３次元位置入力装置の動作がプログラムとして記録されているＲＯＭ８ｃと、メイン機器８の各部を制御するＣＰＵ８ｄとハードディスク８ｅとＣＤ−ＲＯＭドライブ８ｆとを備える。
【００９４】
次に、本実施例の３次元位置入力装置の動作を説明する。図１４に示すフローチャートのように、まずステップＳ１０では、ＣＰＵ８ｄは撮像機器７の向きが投影部６の平面に対して垂直であるかどうかを判断し、垂直である（ＹＥＳ）ときは撮像機器７からそのまま画像をメイン機器８の入力ポート８ａに取り込む（ステップＳ２０）。垂直でない（ＮＯ）ときはステップＳ３０で撮像機器７の位置による図形の変形を補正する数式を定義してから画像を入力ポート８ａに取り込む（ステップＳ２０）。
【００９５】
ここで、ポインティングデバイス５の発する光の消滅、出現をＯＮ／ＯＦＦ情報として時間的に羅列するシグナルパターンに基づいて複数の入力処理を識別する手段について説明する。
【００９６】
ポインティングデバイス５が具備するボタンのＯＮ／ＯＦＦにより生じる、投影部６上の平面投影像の消滅や出現を、時間的に羅列するＯＮ／ＯＦＦ情報（シグナルパターン）として一定期間保持し、メイン機器８に伝える。ＯＮ／ＯＦＦ の回数やパターンでマウスのクリックのような動作を実現する。図１５において、シグナル０／１＝得られたボタンのＯＮ／ＯＦＦ情報とする。
【００９７】
シグナルパターン複数個をあらかじめＲＯＭ８ｃに登録しておき、そのパターンによりマウスで言うところのワンクリック、ダブルクリック、右クリック等の個別処理を用意する。
【００９８】
図１５に示すように、光が照射または画像が撮像機器７で認識されている間は、シグナルパターン取得処理には入らない。ボタンを押して光が消え、平面投影像が消えたとき、ここから一定時間シグナルパターン取得処理に入る。パターンを取得するサンプリング周期は画像１枚をメイン機器で読み込むのにかかる時間とする。この間に取得した平面投影像はすべてこの処理のみに使われ、処理終了ごとにリセットされる。
【００９９】
その一定時間内に出現したパターンをシグナルパターン情報として記録し、あらかじめ登録されたパターンと一致するかどうか判定する。一致した場合は、対応する個別処理を実行してシグナルパターン情報をリセットする。どれとも一致しない場合は何も処理をせずにシグナルパターン情報をリセットする。
【０１００】
図１４に示すフローチャートのステップＳ４０では、ＣＰＵ８ｄは画像が映っていたかどうかを判断し、画像が映っていた（ＹＥＳ）ときはシグナルパターン取得中かどうかを判断する（ステップＳ５０）。画像が映っていなかった（ＮＯ）ときは、ステップＳ６０でシグナルパターンに０を加え、ここから一定時間シグナルパターン取得処理に入り、ステップＳ２０に戻って撮像機器７から入力ポート８ａに画像を取り込む。
【０１０１】
そして、ステップＳ５０では、ＣＰＵ８ｄは、シグナルパターン取得中かどうかを判断する。シグナルパターン取得処理開始から一定時間内でありシグナルパターン取得中である（ＹＥＳ）ときは、ＣＰＵ８ｄはシグナルパターンがＲＯＭ８ｃに登録されているパターンのどれかに一致するかどうかを判断し（ステップＳ７０）、一致する（ＹＥＳ）ときはステップＳ８０で対応する個別処理を実行する。個別処理実行後はシグナルパターン情報をリセットしてステップＳ１００に進み、得られた画像の特徴量を求める。一致しない（ＮＯ）ときはステップＳ９０でシグナルパターンに１を加え、ステップＳ２０に戻る。
【０１０２】
一方、ステップＳ５０において、シグナルパターン取得処理開始から一定時間が経過し、シグナルパターン取得中でない（ＮＯ）ときは、何も処理をせずに一定時間内に出現したシグナルパターン情報をリセットし、ステップＳ１００に進む。
【０１０３】
そして、ステップＳ１００では、撮像機器７から得られた画像から平面投影像の特徴量を求める。求める特徴量は、平面投影像が楕円の場合は中心座標、焦点の座標、長軸の長さ、短軸の長さ、楕円の傾きであり、平面投影像が円の場合は中心座標、半径である。
【０１０４】
次に、ステップＳ１１０では、得られた特徴量からポインティングデバイス５の３次元位置及び回転角を算出する。なお、ステップＳ１００，Ｓ１１０の計算は前述の方法で行う。この計算プログラムはＲＯＭ８ｃに記録されており、これに従ってＣＰＵ８ｄが処理する。
【０１０５】
ポインティングデバイス５の３次元位置及び回転角の相対変化を求める場合は、ステップＳ１２０において、ＣＰＵ８ｄは、ステップＳ１１０で処理して得られたデータをＲＡＭ８ｂに一時的に保存させ、次に来る新しい画像の計算データと保存されているひとつ前のデータとを比較する。
【０１０６】
そして、ステップＳ１３０では、ＣＰＵ８ｄは、計算結果（３次元位置、回転角、クリック情報）をメイン機器８のＯＳもしくはアプリケーションプログラム等へ出力させる。その後はステップＳ２０に戻り、以後同様の処理を繰り返す。
【０１０７】
ここで、ステップＳ１０，Ｓ３０に関して、撮像機器７に映し出される像から実際に投影部６に映っている平面投影像を取得する方法を図１６及び図１７に基づいて説明する。
【０１０８】
図１６は原点を撮像機器の位置にした場合の撮像機器の画像と平面投影像との関係を示す。まず、撮像機器７を固定し、撮像機器７の軸が投影部６の平面に対して垂直の場合は、得られた画像をそのまま利用できる。
【０１０９】
撮像機器７が投影部６に対して垂直でないとき、撮像機器７で撮影される画像上の点（Ｉｘ，Ｉｙ）と実際の投影部６の平面投影像上の点（ｘ，ｙ）との関係は、撮像機器７の位置を原点とすると次式のようになる。
【数２２】
2006190212.tif 000024
【０１１０】
Ｆは撮像機器７の焦点距離、Ｈは撮像機器７と投影部６間のｚ軸方向の距離、βはｙ軸を軸に回転した撮像機器７の向きとｘ軸とのなす角である。撮像機器７の位置は最初に固定するので、Ｆ，Ｈ，βは初期設定時に人の手で計測して求め、撮像機器７をメイン機器８に接続する時に、あらかじめＲＯＭ８ｃに入力する。
【０１１１】
これにより、（数式２９），（数式３０）を用いて得られた画像上の点（Ｉｘ，Ｉｙ）に対応した実際の投影部６の平面投影像上の点（ｘ，ｙ）を特定し、実際の平面投影像の楕円のデータを得ることができる。なお、全ピクセル移すか、必要な部分だけ移すかは処理による。
【０１１２】
一方、図１７は原点を投影部上にした場合の撮像機器７の画像と平面投影像との関係を示す。図１６において撮像機器の位置においた原点を（Ａ，Ｂ，Ｃ）だけ平行移動させて、投影部６上に原点をおいた場合を考える。
【０１１３】
撮像機器７の位置を原点としたときの平面投影像上の点（ｘ，ｙ，ｚ）と（Ｉｘ，Ｉｙ）との関係式は、
【数２３】
2006190212.tif 000025
【０１１４】
となる。原点が（Ａ，Ｂ，Ｃ）へ平行移動するので、
【数２４】
2006190212.tif 000026
【０１１５】
となる。今、平面の上の図形(点)のみ扱うので、常にｚ=０となる。よって、
【数２５】
2006190212.tif 000027
【０１１６】
となる。
【０１１７】
これが投影部６上に原点を置いたときの撮像機器７上の点（Ｉｘ，Ｉｙ）と投影部６上の平面投影像上の点（ｘ，ｙ，０）との対応式である。
【０１１８】
上述した（数式２９），（数式３０）または（数式３５），（数式３６）がステップＳ３０で定義する数式である。
【０１１９】
このように本実施例の３次元位置入力装置によれば、ポインティングデバイス５の発する円錐状の光線が平面上に作る平面投影像を読み取り、この平面投影像の特徴量に基づいてポインティングデバイス５の３次元位置及び回転角を算出するので、３次元位置及び回転角を絶対座標と相対座標の両方で求めることができる。これにより、３次元コンピュータグラフィックスやロボットを扱うなどの３次元物体の姿勢回転を表現するのに必要十分な６つの自由度と絶対位置を表現、入力することができる。
【０１２０】
また、撮像機器７として市販のＣＣＤカメラを使用することができるため、構成をシンプルにすることができる。
【０１２１】
そして、メイン機器８ですべての処理を行うので、プログラム依存型であり、汎用性、可変性を有する。メイン機器８として処理速度の高い機器を用いる場合に適している。
【０１２２】
なお、本実施例ではポインティングデバイス５として円錐状の光の発するものを使用したが、図１１及び図１２に示したような、６個の光の点を平面上に投影する光源を使用してもよい。
【０１２３】
また、本実施例の３次元位置入力装置の動作をコンピュータに実行させるプログラムは、ＣＤ−ＲＯＭ８ｇに記録し、ＣＤ−ＲＯＭドライブ８ｆを介してハードディスク８ｅに記録することもでき、また、インターネットなどの通信網を介して伝送させて提供することも可能である。
【０１２４】
（実施例２）
次に、本発明の３次元位置入力装置の実施例２を図１８及び図１４に示すフローチャートに基づいて説明する。図１８は本発明の実施例２の３次元位置入力装置を示す構成図である。
【０１２５】
図１８（ａ）に示すように、本実施例の３次元位置入力装置は、円錐状の光を発するポインティングデバイス５と、ポインティングデバイス５の発する光が作る平面投影像を映し出す平面状の投影部６と、投影部６に映し出された平面投影像を撮影して、撮影された画像の特徴量を算出し、この特徴量からポインティングデバイス５の３次元位置及び回転角を算出する撮像機器９と、メイン機器１０とを具備する。
【０１２６】
なお、ポインティングデバイス５は、ボタン操作により光の消滅、出現を切り替えることができる。また、撮像機器９は、図１８（ｂ）に示すように、投影部６に映し出された平面投影像を撮影する撮像部９ａと、撮像部９ａから得られた画像データや画像データの処理結果を記録するＲＡＭ９ｂと、図１８に示す３次元位置入力装置の動作がプログラムとして記録されているＲＯＭ９ｃと、画像データの処理結果をメイン機器１０に出力する出力ポート９ｅと、撮像機器９の各部を制御するＣＰＵ９ｄとを備える。
【０１２７】
次に、本実施例の３次元位置入力装置の動作を図１４に示すフローチャートに基づいて説明する。なお、各ステップの処理内容は実施例１の説明で記したものと同様なので、詳細な説明は省略する。
【０１２８】
まず、ステップＳ１０では、ＣＰＵ９ｄは撮像機器９の向きが投影部６の平面に対して垂直であるかどうかを判断し、垂直である（ＹＥＳ）ときは撮像部９ａからそのまま画像をＲＡＭ９ｂに取り込む（ステップＳ２０）。垂直でない（ＮＯ）ときはステップＳ３０で撮像機器９の位置による図形の変形を補正する数式を定義してから画像をＲＡＭ９ｂに取り込む（ステップＳ２０）。
【０１２９】
そして、ステップＳ４０では、ＣＰＵ９ｄは画像が映っていたかどうかを判断し、画像が映っていた（ＹＥＳ）ときはシグナルパターン取得中かどうかを判断する（ステップＳ５０）。画像が映っていなかった（ＮＯ）ときは、ステップＳ６０でシグナルパターンに０を加え、ここから一定時間シグナルパターン取得処理に入り、ステップＳ２０に戻って撮像部９ａからＲＡＭ９ｂに画像を取り込む。
【０１３０】
そして、ステップＳ５０では、ＣＰＵ９ｄはシグナルパターン取得中かどうかを判断する。シグナルパターン取得処理開始から一定時間内でありシグナルパターン取得中である（ＹＥＳ）ときは、ＣＰＵ９ｄはシグナルパターンがＲＯＭ９ｃに登録されているパターンのどれかに一致するかどうかを判断し（ステップＳ７０）、一致する（ＹＥＳ）ときはステップＳ８０で対応する個別処理を実行する。個別処理実行後はシグナルパターン情報をリセットしてステップＳ１００に進み、得られた画像の特徴量を求める。一致しない（ＮＯ）ときはステップＳ９０でシグナルパターンに１を加え、ステップＳ２０に戻る。
【０１３１】
一方、ステップＳ５０において、シグナルパターン取得処理開始から一定時間が経過し、シグナルパターン取得中でない（ＮＯ）ときは、何も処理をせずに一定時間内に出現したシグナルパターン情報をリセットし、ステップＳ１００に進む。
【０１３２】
そして、ＣＰＵ９ｄは、ステップＳ１００では撮像部９ａから得られた画像から平面投影像の特徴量を求め、ステップＳ１１０では得られた特徴量からポインティングデバイス５の３次元位置及び回転角を算出する。
【０１３３】
ポインティングデバイス５の３次元位置及び回転角の相対変化を求める場合は、ステップＳ１２０において、ＣＰＵ９ｄは、ステップＳ１１０で処理して得られたデータをＲＡＭ９ｂに一時的に保存させ、次に来る新しい画像の計算データと保存されているひとつ前のデータとを比較する。
【０１３４】
そして、ステップＳ１３０では、ＣＰＵ９ｄは出力ポート９ｅに計算結果（３次元位置、回転角、クリック情報）をメイン機器１０のＯＳもしくはアプリケーションプログラム等へ出力させる。その後はステップＳ２０に戻り、以後同様の処理を繰り返す。
【０１３５】
このように本実施例の３次元位置入力装置によれば、ポインティングデバイス５の発する円錐状の光が平面上に作る平面投影像を読み取り、この平面投影像の特徴量に基づいてポインティングデバイス５の３次元位置及び回転角を算出するので、３次元位置及び回転角を絶対座標と相対座標の両方で求めることができる。これにより、３次元コンピュータグラフィックスやロボットを扱うなどの３次元物体の姿勢回転を表現するのに必要十分な６つの自由度と絶対位置を表現、入力することができる。
【０１３６】
また、撮像機器９内で画像データを処理するように構成したので、メイン機器１０の負荷を軽減することができる。
【０１３７】
なお、本実施例ではポインティングデバイス５として円錐状の光の発するものを使用したが、図１１及び図１２に示したような、６個の光の点を平面上に投影する光源を使用してもよい。
【０１３８】
（実施例３）
次に、本発明の３次元位置入力装置の実施例３を図１９及び図２０に基づいて説明する。図１９は本発明の実施例３の３次元位置入力装置を示す構成図、図２０は図１９に示す３次元位置入力装置の動作を示すフローチャートである。
【０１３９】
図１９（ａ）に示すように、本実施例の３次元位置入力装置は、円錐状の光を発するポインティングデバイス５と、ポインティングデバイス５の発する光が作る平面投影像を、光を感知することにより読み取る光感知器１１と、光感知器１１により読み取った平面投影像の特徴量を算出し、この特徴量からポインティングデバイス５の３次元位置及び回転角を算出するメイン機器８とを具備する。
【０１４０】
なお、ポインティングデバイス５は、実施例１と同様に、ボタン操作により光の消滅、出現を切り替えることができる。また、図１９（ｂ）に示すように、メイン機器８も実施例１と同様の構成、機能を有する。
【０１４１】
次に、本実施例の３次元位置入力装置の動作を説明する。図２０に示すフローチャートのように、まずステップＳ２１０では、光感知器１１により読み取った平面投影像をメイン機器８の入力ポート８ａに取り込む。
【０１４２】
そして、ステップＳ４０では、ＣＰＵ８ｄは光感知器１１に平面投影像が映っていたかどうかを判断する。
【０１４３】
その後、ステップＳ２３０〜Ｓ３１０では、実施例１のステップＳ５０〜Ｓ１３０で説明した処理と同様の処理を行う。
【０１４４】
このように本実施例の３次元位置入力装置によれば、ポインティングデバイス５の発する円錐状の光線が平面上に作る平面投影像を読み取り、この平面投影像の特徴量に基づいてポインティングデバイス５の３次元位置及び回転角を算出するので、３次元位置及び回転角を絶対座標と相対座標の両方で求めることができる。これにより、３次元コンピュータグラフィックスやロボットを扱うなどの３次元物体の姿勢回転を表現するのに必要十分な６つの自由度と絶対位置を表現、入力することができる。
【０１４５】
そして、撮像機器を使用せず光感知器１１により平面投影像を読み取るので、撮像機器の位置による図形の変形の補正をする必要がなく、また、構成を簡素化することができる。
【０１４６】
なお、本実施例ではポインティングデバイス５として円錐状の光の発するものを使用したが、図１１及び図１２に示したような、６個の光の点を平面上に投影する光源を使用してもよい。
【０１４７】
また、本実施例の３次元位置入力装置の動作をコンピュータに実行させるプログラムは、ＣＤ−ＲＯＭ８ｇに記録し、ＣＤ−ＲＯＭドライブ８ｆを介してハードディスク８ｅに記録することもでき、また、インターネットなどの通信網を介して伝送させて提供することも可能である。
【図面の簡単な説明】
【０１４８】
【図１】円錐形を平面で切断したときの断面図形を示す図である。
【図２】光源の姿勢の変化による平面投影像の変化を示す図である。
【図３】光源が平面に対して垂直になっているときの平面投影像を示す図である。
【図４】光源が平面に対して斜めになっているときの平面投影像を示す図である。
【図５】楕円の平面投影像に対応する、撮像機器により撮影された２次元の画像データ（ｘ，ｙ）をｘ−ｙ座標で示した図である。
【図６】傾きのない標準形の楕円をｘ−ｙ座標で示した図である。
【図７】光源の３次元位置及び回転角の算出に用いる説明図である。
【図８】図７の補足説明図である。
【図９】回転角の３次元上の位置を示す説明図である。
【図１０】光源の光軸回りの回転角を求める方法を示す説明図である。
【図１１】６個の光の点を投影する光源を平面に対して真上から垂直に向けたときに平面に映る光の点を示す図である。
【図１２】６個の光の点を投影する光源を平面に対して傾けたときに平面に映る光の点を示す図である。
【図１３】本発明の実施例１の３次元位置入力装置を示す構成図である。
【図１４】図１３に示す３次元位置入力装置の動作を示すフローチャートである。
【図１５】シグナルパターンを示す図である。
【図１６】原点を撮像機器の位置にした場合の撮像機器の画像と平面投影像との関係を示す図である。
【図１７】原点を投影部上にした場合の撮像機器の画像と平面投影像との関係を示す図である。
【図１８】本発明の実施例２の３次元位置入力装置を示す構成図である。
【図１９】本発明の実施例３の３次元位置入力装置を示す構成図である。
【図２０】図１９に示す３次元位置入力装置の動作を示すフローチャートである。
【符号の説明】
【０１４９】
１，４    光源
２    中心軸
３    光軸
５    ポインティングデバイス
６    投影部
７，９    撮像機器
８，１０    メイン機器
８ａ    入力ポート
８ｂ，９ｂ    ＲＡＭ
８ｃ，９ｃ    ＲＯＭ
８ｄ，９ｄ    ＣＰＵ
８ｅ    ハードディスク
８ｆ    ＣＤ−ＲＯＭドライブ
８ｇ    ＣＤ−ＲＯＭ
９ａ    撮像部
９ｅ    出力ポート
１１    光感知器
【図１】
2006190212.tif 000028
【図２】
2006190212.tif 000029
【図３】
2006190212.tif 000030
【図４】
2006190212.tif 000031
【図５】
2006190212.tif 000032
【図６】
2006190212.tif 000033
【図７】
2006190212.tif 000034
【図８】
2006190212.tif 000035
【図９】
2006190212.tif 000036
【図１０】
2006190212.tif 000037
【図１１】
2006190212.tif 000038
【図１２】
2006190212.tif 000039
【図１３】
2006190212.tif 000040
【図１４】
2006190212.tif 000041
【図１５】
2006190212.tif 000042
【図１６】
2006190212.tif 000043
【図１７】
2006190212.tif 000044
【図１８】
2006190212.tif 000045
【図１９】
2006190212.tif 000046
【図２０】
2006190212.tif 000047