(57)【特許請求の範囲】
【請求項１】
コンピュータによって生成される内部カーソルを含むコンピュータからの出力を表示する関連スクリーンと、
前記コンピュータと通信し前記コンピュータからの出力表示と外部カーソルの反射光線を撮影するように配置されたビデオカメラ、
を有するコンピュータを遠隔制御する方法であって、
前記コンピュータからの出力に対する前記外部カーソルの位置に加えて、前記外部カーソルの特性のうち、カーソルの形、カーソルの大きさ、カーソルの動きのパターンの少なくとも１つの特性を検出し、
前記内部カーソルを前記外部カーソルの位置に対応する前記スクリーン上の位置に移動するためのコマンドを生成し、
前記外部カーソルの少なくとも１つの検出された特性に基づいて前記コンピュータのコマンドを生成することを備える前記方法。
【請求項２】
前記検出するステップが、
カメラで、前記スクリーンの画像および前記外部カーソルを捕獲し、
前記画像を処理して、前記外部カーソルの前記少なくとも１つの特性を検出することを備える請求項１に記載の方法。
【請求項３】
前記画像を処理するステップが、
前記画像を前もって捕獲された画像と比較して、前記画像とその前もって捕獲された画像との差異を検出することを備える請求項２に記載の方法。
【請求項４】
前記画像を処理するステップが、
前記画像を濾過して前記外部カーソルの前記少なくとも１つの特性を検出することを備える請求項２に記載の方法。
【請求項５】
前記濾過するステップが、前記画像に閾値を設けて、前記コンピュータ出力の強度に関して前記外部カーソルの強度を検出することを備える請求項４に記載の方法。
【請求項６】
前記濾過するステップが、前記画像を濾過して、前記外部カーソルの色を検出することを備える請求項４に記載の方法。
【請求項７】
前記濾過するステップが、前記画像を濾過して、前記外部カーソルの形を検出することを備える請求項４に記載の方法。
【請求項８】
方向付けられた光学エネルギー源を用いて、前記スクリーンに前記外部カーソルを送信することを更に備える請求項１に記載の方法。
【請求項９】
前記関連スクリーンが、前記コンピュータおよびいかなる関連モニタに対しても外部の遠隔位置にある実質的に平らな面であり、前記コンピュータからの前記出力の画像を前記関連スクリーン上に投影することを更に備える請求項１に記載の方法。
【請求項１０】
前記関連スクリーンが、コンピュータ・モニタである請求項１に記載の方法。
【請求項１１】
前記検出するステップが、前記外部カーソルの動きのパターンを検出することを備える請求項１に記載の方法。
【請求項１２】
複数の基準を前記関連スクリーン上に投影し、
前記コンピュータからの出力に関して、それら基準の位置を検出することを更に備え、前記検出するステップは、前記基準の少なくとも１つに関して前記外部カーソルの位置を検出することを含む請求項１に記載の方法。
【請求項１３】
前記コンピュータのコマンドを生成するステップは、前記外部カーソルが前記複数の基準で輪郭を描かれた領域内にあるならば、前記外部カーソルの位置に基づいてコマンドを生成することを備える請求項１２に記載の方法。
【請求項１４】
前記コンピュータのコマンドを生成するステップは、前記外部カーソルが、前記複数の基準で輪郭を描かれた領域内であるが前記コンピュータからの前記出力の外にある間は、前記外部カーソルの位置に基づいてコマンドを生成し、また前記外部カーソルの位置が前記関連スクリーン内にある間は、前記少なくとも１つの特性に基づいて前記コンピュータのコマンドを生成することを備える請求項１２に記載の方法。
【請求項１５】
前記検出するステップが、前記外部カーソルの動きのパターンを検出することを備える請求項１２に記載の方法。
【請求項１６】
複数の基準を前記関連スクリーン上に表示し、ここでその基準の位置が、前記外部カーソルの位置に基づいて決定されることを更に具備する請求項１に記載の方法。
【請求項１７】
手で持てるポインタによって生成され、コンピュータからの出力を表示するスクリーン上に投影される光学カーソルの、ユーザが選択可能な複数の特性に基づいて前記コンピュータを遠隔制御するコマンドを生成するコンピュータ・プレゼンテーション・システムであって、
前記コンピュータからの前記出力の画像を捕獲するカメラと、
前記画像を処理して、前記光学カーソルの位置および前記光学カーソルの前記少なくとも１つの特性を検出し、かつその位置および少なくとも１つの特性を対応コマンドに変換して、前記コンピュータを制御し、前記スクリーン上に表示される前記出力内に前記光学カーソルが留まる間は、内部カーソルを前記光学カーソルに対応する位置に動かす、前記カメラと通信するプロセッサと
を備える前記システム。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明は、コンピュータ・スクリーンの投影画像で、無線光学ポインタを光学的にトラッキングして同期することによって、コンピュータを遠隔制御するシステムおよび方法に関する。
【０００２】
（背景技術）
通常のキーボード／マウス・インタフェースを多種多様なユーザのアプリケーションおよび好みに適合させるようコンピュータを遠隔制御するシステムおよび方法が数多く開発されている。超音波、赤外線および無線周波数（ＲＦ）を含む多様な技術が用いられて、コンピュータのプロセッサおよび／またはディスプレイのスクリーンに関し、ユーザにはより高い移動性が与えられている。これらの技術は、典型的には、ユーザと、コンピュータを制御するのに用いられるコンピュータとの間の制御および状態情報を通信する特注の送受信機を使用する。多くのシステムは、ユーザ、コンピュータおよび／またはディスプレイ・スクリーンに設けられたセンサを用いて、それらのセンサに関してのユーザおよび／または無線ポインティング・デバイスの動きを検出する。いくつかのアプリケーションを受け入れることができる一方で、これらの手法は、例えば、見通し要件または距離によって制限される。同様に、これらのシステムは、複雑でしばしば高価な装置を必要とし、２，３人の個人から講堂を埋め尽くす聴衆までの範囲にわたっての異なるフォーラムに直ちに適合できるものではない。
【０００３】
図表を用いたプレゼンテーションおよび／またはデモンストレーションに益々コンピュータが用いられるようになるにつれ、様々な規模の聴衆が見ることができるように、より大きなディスプレイ装置が用いられる。例えば、スライドショーのような、多くのプレゼンテーションでは、実際のプレゼンテーションの間にコンピュータを比較的単純に制御する必要がある。スライドを進めたり戻したり、あるいはディスプレイの連写を始めるコマンドには、コンピュータと通信するための基本的なユーザ・インタフェースまたは遠隔制御のみが必要である。しかしながら、ソフトウェア・ユーザのトレーニングまたはプロモーションに用いられるような、より洗練されたプレゼンテーションまたはデモンストレーションには、コンピュータを効果的に操作するためのより洗練されたインタフェースまたは遠隔制御が必要となる。従来の方策としては、プレゼンタがコンピュータのごく近くに留まってキーボードおよび／またはポインティング・デバイス（マウス、タッチパッド、トラックボールなど）を操作するか、必要な操作を行うアシスタントを置くかすることが必要である。
【０００４】
（発明の開示）
したがって、本発明の目的は、従来のポインティング・デバイスによって行われるのと同様のやり方でコンピュータを遠隔制御するシステムおよび方法を提供することである。
【０００５】
本発明の別の目的は、コンピュータ・スクリーンの投影画像上にカーソルまたは目に見えるキューを重畳するのに用いられる光学ポインタの特性に基づいて、コンピュータを遠隔制御するシステムおよび方法を提供することである。
【０００６】
本発明の更なる目的は、コンピュータ・スクリーン上のカーソルの位置および／または動きを光学ポインタの位置および／または動きと同期させるシステムおよび方法を提供することである。
【０００７】
本発明の更に付け加えた目的は、コンピュータにコマンドを提供するコンピュータ・ディスプレイに関しての形、色、強度、動きまたは同様の特性といった光学ポインタの特性を検出するシステムおよび方法を提供することである。
【０００８】
本発明のなお別の目的は、コンピュータ・ディスプレイ上に重畳される光学カーソルの特性に対応する、位置に関するコマンドを用いるコンピュータを遠隔制御するシステムおよび方法を提供することである。
【０００９】
本発明のなお更なる目的は、従来のコンピュータ・ポインティング・デバイスに匹敵するコンピュータと連係した、光の無接続光学トラッキングを行うシステムおよび方法を提供するものである。
【００１０】
本発明の上記目的およびその他の目的、特徴および利点を実行するのに、コンピュータを遠隔制御する方法には、コンピュータからの出力を表示する関連スクリーンを有し、コンピュータによって生成される内部カーソルに、スクリーンに関する外部カーソルの少なくとも１つの特性を検出し、また、その外部カーソルの少なくとも１つの検出された特性に基づいてコンピュータのコマンドを生成することを含ませている、コンピュータの遠隔制御システムおよび方法が含まれている。１つの実施例において、本発明には、コンピュータ出力の画像を外部スクリーンに投影するプロジェクタに接続されるコンピュータが含まれている。投影されるコンピュータ出力の画像を捉えるのに、カメラが用いられる。レーザ・ポインタのような光学ポインタが用いられて、色、形または強度といった様々な特性を有する外部カーソルを生成して送信する。カメラによって捉えられた画像が用いられて、外部カーソルの少なくとも１つの特性を検出して処理し、コンピュータを制御する対応コマンドを生成する。マウス、トラックボールのようなポインティング・デバイスによって典型的に提供されるコンピュータの制御をエミュレートするコマンドが用いられる。
【００１１】
本発明は、先行技術の方策に関して、数多くの利点を提供する。例えば、本発明によると、ユーザは、レーザ・ポインタのような従来の光学ポインティング・デバイスを使用することができ、位置に依存するコマンドを遠隔した場所にあるコンピュータに提供することができる。このように、本発明は、マウスやトラックボールのような従来のコンピュータ・ポインティング・デバイスと同様に、コンピュータのより洗練された制御を可能とする、比較的簡単な遠隔ユーザ・インタフェースを提供する。本発明によると、ユーザは、コンピュータ・スクリーンまたはコンピュータ・スクリーンの投影された画像が、光学ポインタを介してアクセス可能であるいかなる場所からでも、ソフトウェアのデモンストレーションのためにコンピュータを制御することができるものとなる。１つの実施例において、本発明は、プロジェクタおよびビデオカメラおよび／またはフレーム捕獲デバイスを単一ユニット内に一体化している。
【００１２】
本発明の上記利点およびその他の利点、目的および特徴は、添付した図面と関連付けるとき、発明を実施するための最良の形態についての以下の詳細な記述から直ちに明らかとなろう。
【００１３】
（発明を実施するための最良の形態）
今図１を参照すると、本発明によるコンピュータを遠隔操作する光学トラッキングを備えた代表的なコンピュータ・プレゼンテーション・システムを例示するブロック図が示されている。ここで用いられるとおり、コンピュータの遠隔制御には、コンピュータの様々なアプリケーション・プログラムおよび／またはオペレーティング・システムの制御を含めることが意図されている。この実施例において、コンピュータ１０は、ビデオ・プロジェクタ１２とビデオカメラ１４とに接続されている。ビデオ・プロジェクタ１２は、コンピュータ出力の画像１６を、一般に参照番号１８で指示される投影表面またはスクリーンへと投影する。好ましくは、スクリーン１８は「受動的な」スクリーンであり、すなわち、コンピュータ１０から離れた場所にある実質的に平らな表面であって、プロジェクタ１２によって生成されるコンピュータ出力の画像に対して十分なコントラストを提供する明るい色のものである。投影スクリーン、壁などを含めて、様々なものが用いられてそのような表面が提供される。コンピュータ１０からの出力はまた、ラップトップ・コンピュータ１０の伝統的なコンピュータ・スクリーン２０または、モニタ、テレビまたは同様の「能動的な」デバイスなどのようなその他のディスプレイ・デバイスを含む「能動的な」スクリーン上にディスプレイされる。そのような「能動的な」スクリーンは、単独で用いられるか、本発明の精神または範囲から逸脱することなく、１つ以上の「受動的な」スクリーンと組み合わせて用いられる。
【００１４】
図１にもまた例示されるように、一般に参照番号２２で指示される外部カーソルが、コンピュータ１０からの出力である画像１６上に重畳される。このアプリケーションで用いられるとおり、外部カーソルは、コンピュータ１０に関して外部的に生成され、すなわち、他のコンピュータ、プロジェクタなどを含み得るある別のデバイスによって生成されるものである。１つの実施例において、外部カーソル２２は、外部カーソル２２の少なくとも１つの特性を変えることのできる、手で持てる光学ポインタ２４によって生成される。例えば、本発明によると、光学ポインタ２４は、外部カーソル２２の色、形、サイズ、強度、照明パターン、動きおよび／または位置を変えて、コンピュータ１０を遠隔制御する１つ以上のコマンドを生成する。１つの好ましい実施例において、光学ポインタ２４は、ユーザが選択できる２つの色の１つである外部カーソルを生成するレーザ・ポインタである。この実施例において、外部カーソルはコンピュータの出力よりも著しく高い強度を有しており、それによってより容易に検出される。
【００１５】
好ましくは、カメラ１４は、プロジェクタ１２によって生成される画像１６の少なくとも実質的な部分を含む画像を捕獲する。能動的スクリーンが使用される代わりの実施例においては、カメラ１４は、好ましくは、アクティブ・スクリーン、すなわち、コンピュータ・モニタ、ディスプレイまたはテレビの少なくとも実質的な部分を捕獲する。コンピュータ１０は、その捕獲された画像を処理して、外部カーソル２２の少なくとも１つの特性を測定する。本発明の好ましい実施例において、コンピュータ１０は、画像１６を処理して、少なくとも外部カーソル２２の位置を測定し、また内部カーソルを外部カーソル２４とほとんど同じ位置に移動させるのに適当なコマンドを生成する。コンピュータはまた、画像１６を処理して外部カーソル２２のその他種々の特性を検出し、コンピュータ１０を遠隔制御するのに用いられる、位置に依存するコマンドを生成する。そのような位置またはコンテクストに依存するコマンドは、マウス、トラックボール、タッチパッドなどのような伝統的なコンピュータ・ポインティング・デバイスによって生成される「左クリック」または「右クリック」コマンドをエミュレートする。同様に、その他の様々なコマンドが、特定のアプリケーションに依存する外部カーソル２２の１つ以上の特性と関連付けられる。
【００１６】
本発明の１つの実施例において、コンピュータ１０は、一般に参照番号２８によって指示される焦点板（ｒｅｔｉｃｌｅｓ）または基準（ｆｉｄｕｃｉａｌｓ）を周期的に生成し、スクリーン１８上の画像１６に関してカメラ１４によって捕獲された画像について目盛り定め、または位置合わせを行う。好ましくは、コンピュータ出力の画像の４つの角の各々が、焦点板または基準を含んでおり、その基準は、外部カーソル２２が検出される「能動的な」トラッキング領域の輪郭を描くのに用いられる。基準は、例示される直角またはクロスのような適当な形であってよい。スクリーン１８が実質的に平らでないアプリケーションについて、基準２８は、スクリーンをより多くカバーする。例えば、基準線が、スクリーン２８を横切って水平または垂直に延びてもよい。
【００１７】
好ましくは、プロジェクタ１２（使用時）、カメラ１４およびスクリーン１８は動くものではなく、目盛り定め（位置合わせ）とトラッキングの処理を容易にするために実質的には固定されたままである。しかしながら、外部カーソル２２の特性の検出がより複雑になり、計算上より厳しいものとなるけれども、本発明はまた、これらのデバイスが１つ以上位置を変えるアプリケーションにおいても用いることができる。目盛り定めまたは位置合わせ処理は、ユーザの要請に基づいておよび／または外部カーソル２２が検出されないとき、所定の間隔で自動的に繰り返される。本発明の１つの実施例において、焦点板または基準２８は、外部カーソル２２の位置に向けて漸進的に移動され、外部カーソル２２を検出する画像の処理を単純化する。この実施例において、基準２８によって輪郭が描かれる領域のみが、外部カーソル２２を検出するのにサーチされ、スキャンされる。外部カーソル２２が、基準２８によって定義される領域内の場所にないなら、それらの位置は、外部カーソル２２が検出されるまで、処理される画像の元の隅にリセットされるか、それらに向けて漸進的に拡大される。
【００１８】
図２は、ビデオカメラ１４によって捕獲される単一の画像フレーム４０を表す。好ましくは、フレームは繰り返し捕獲され、外部カーソル２２の少なくとも１つの特性を検出するよう処理される。典型的なフレーム捕獲速度は、秒速３０または６０フレームである。好ましくは、ビデオカメラのフレーム捕獲速度および／または能動的スクリーンまたはプロジェクタの出力は、関係する周波数帯内のエイリアシング（ａｌｉａｓｉｎｇ）およびその他の干渉を最小限にするように選択される。そのような干渉は、うなり周波数または、スクリーンまたはプロジェクタのリフレッシュ速度とビデオカメラとの間の異なる周波数によって生み出される。そのような干渉効果は、どのようなものでも、捕獲された画像を適当にフィルタリングすることによってもまた低減される。フィルタリングは、コンピュータによる画像処理の一部として行われるか、または画像捕獲処理の一部として適当なハードウェアによって行われる。
【００１９】
捕獲された画像フレーム４０には、好ましくは、一般に参照番号４２によって表されるコンピュータ出力画像の実質的な一部が含まれる。図２に例示されるように、コンピュータ出力画像４２は、捕獲されるフレーム４０内に凸状四辺形領域を占める。画像４２は、プロジェクタおよびカメラの一方または双方が、スクリーンの中央を垂直に通る線上に位置しないならば、長方形ではない。好ましくは、コンピュータは、画像４２内に焦点板または基準２８をはめ込むか、重畳させるかする。捕獲された画像４０の処理は、角Ｃ１’、Ｃ２’、Ｃ３’およびＣ４’を探し出すのに使用される特定のタイプの基準に依存する線および交点パターン認識を使用する。Ｃ１’、Ｃ２’、Ｃ３’およびＣ４’の場所および外部カーソルの特性の測定は、単純化され、と言うのも、それらを識別する特性はアプリオリ（先天的）に知られるからである。静止画像内でのアイテムの識別および形体の動画像の識別は、マクグロウヒル、ＩＳＢＮ０−０７−０３２０１８−７により出版されたジェイン（Ｊａｉｎ）、カストゥリ（Ｋａｓｔｕｒｉ）およびシャンク（Ｓｃｈｕｎｋ）による「マシン・ビジョン（ＭＡＣＨＩＮＥ  ＶＩＳＩＯＮ）」に記述されているような周知の画像処理手法をいくつでも用いて達成される。本発明は、コンピュータを遠隔制御するのに用いられる外部カーソルの特性を、識別または検出するのに使用される特定の画像処理手法とは独立したものである。外部カーソルの位置または場所情報を測定する代表的な方法が、以下に提供される。
【００２０】
角Ｃ１’、Ｃ２’、Ｃ３’、Ｃ４’および外部カーソル２２の場所は、Ｘで表される水平座標およびＹで表される垂直座標を有し、Ｙ＝０が、最上のスキャン・ラインを表す古典的なビデオ直交システムで測定される。スキャン・ラインの数は、Ｙ値の最大値を決定する。Ｘ＝０について座標に対応する位置は、各スキャン・ラインにおける最初の（最も左の）画素であり、スキャン・ラインあたりの画素の数は、Ｘ値の最大値を決定する。線分Ｃ１−Ｃ２は、Ｘ軸に対応し、線分Ｃ１−Ｃ４は、Ｙ軸に対応する。画像４２の内部にあるポイントは、標準化された（Ｔ，Ｕ）座標で表され、ここで、Ｃ１’は、座標（Ｔ＝０．０，Ｕ＝０．０）を有し、またＣ３’は、座標（Ｔ＝１．０，Ｕ＝１．０）を有する。そして、標準化された座標は、画像４０にとって適当な解像度に拡大縮小される。座標ＴおよびＵは、一組の助変数方程式を用いて、所定のビデオ・フレームにおけるいかなる点についても測定することができる。まず、角Ｃ１’〜Ｃ４’の各々について、Ｘ−Ｙ座標の組は、以下のとおり表される。
Ｃ１’＝（Ｘ１’，Ｙ１’）
Ｃ２’＝（Ｘ２’，Ｙ２’）
Ｃ３’＝（Ｘ３’，Ｙ３’）
Ｃ４’＝（Ｘ４’，Ｙ４’）
【００２１】
直線についての助変数方程式は、Ｐ（Ｑ）＝Ｐ０−Ｑ（Ｐ０−Ｐ１）であり、ここで、この例において、Ｑは、Ｔで、そしてＵで置き換えられる。Ｔ軸は、Ｃ１’−Ｃ２’およびＣ４’−Ｃ３’を用いて定義され、またＵ軸は、Ｃ１’−Ｃ４’およびＣ２’−Ｃ３’を用いて定義される。画像４２を定義する、埋め込まれた四辺形が、平行な境界を有するとは保証されていないので、（Ｘ，Ｙ）から（Ｔ，Ｕ）へのマッピングは、通常の場合、単純な長方形のマッピングではない。しかしながら、そのマッピングは、以下で記述されるように得られる。
【００２２】
画像４２を定義する、埋め込まれた四辺形の境界についての助変数方程式は、以下で与えられる。
上境界（ＬＴ１）：ｐ（Ｔ）＝Ｃ１’−Ｔ（Ｃ１’−Ｃ２’）
下境界（ＬＴ２）：ｐ（Ｔ）＝Ｃ４’−Ｔ（Ｃ４’−Ｃ３’）
左境界（ＬＵ１）：ｐ（Ｕ）＝Ｃ１’−Ｕ（Ｃ１’−Ｃ４’）
右境界（ＬＵ２）：ｐ（Ｕ）＝Ｃ２’−Ｕ（Ｃ２’−Ｃ３’）
そして（Ｔ，Ｕ）のマッピングが、ＬＴペアかＬＵペアかを選択し、そして他方の変数（それぞれＵかＴか）における助変数方程式を定義することによって、以下のとおり定義される。
１：ｐ（Ｔ）＝ＬＵ１−Ｔ（ＬＵ１−ＬＵ２）
または、等価的に
２：ｐ（Ｕ）＝ＬＴ１−Ｕ（ＬＴ１−ＬＴ２）
等式１は、Ｕ軸がＴ＝０の位置からＴ＝１の位置まで（Ｔ，Ｕ）空間を横断するとき、それがどのように縮小拡大し、および／または回転するかを表す。等式２は、Ｔ軸がＵ＝０からＵ＝１までの（Ｔ，Ｕ）空間を横断するとき、それがどのように縮小拡大し、および／または回転するかを表す。上に指示されたとおり、いずれかの等式が用いられて、他方の変数の助変数方程式を決定する。この例では、等式１が選択され、ＬＵ１およびＬＵ２についての等式が等式１へと代入され、以下のとおり等式３を生成する。
３：ｐ（Ｔ，Ｕ）＝［Ｃ１’−Ｕ（Ｃ１’−Ｃ４’）］−Ｔ｛［Ｃ１’−Ｕ（Ｃ１’−Ｃ４’）］−［Ｃ２’−Ｕ（Ｃ２’−Ｃ３’）］｝
表記法を簡単にするために、隅の点の座標間の差またはデルタを表す略記法を以下のように定義するのが有用である。
ｄ１：Ｃ１’−Ｃ２’
ｄ２：Ｃ２’−Ｃ３’
ｄ３：Ｃ４’−Ｃ３’
ｄ４：Ｃ１’−Ｃ４’
ここで、差の値は、１つだけの座標の値、すなわち、Ｘ座標またはＹ座標だけの値の間の差にあてられ、差は、「ｄ」と数との間のＸかＹかによってそれぞれ表される。例えば、ｄＸ２は、数量（Ｘ２’−Ｘ３’）を表し、一方、ｄＹ４は、数量（Ｙ１’−Ｙ４’）を表す。そして、（Ｘ’，Ｙ’）なる点の組は、等式３におけるＣ１’，Ｃ２’，Ｃ３’およびＣ４’に代入され、デルタ表記が用いられて、結果として得られる等式が簡単なものとなる。Ｕと掛け合わされる４つの点が、どのように組にされるかによって、以下の等式の１つが結果として得られる。
４：ｐ（Ｔ，Ｕ）＝［Ｃ１’−Ｕ*ｄ４］−Ｔ［ｄ１−Ｕ（ｄ１−ｄ３）］
または
５：ｐ（Ｔ，Ｕ）＝［Ｃ１’−Ｕ*ｄ４］−Ｔ［ｄ１−Ｕ（ｄ４−ｄ２）］
等式４および５は、等しく有効であって、各々が、一方がＸで他方がＹの線形的に独立した等式の組を表し、と言うのも、ｐ（Ｔ，Ｕ）は、一般座標ペア（Ｘ，Ｙ）で表されるからである。等式５は、この例について選択されたもので、ＸおよびＹ方程式に分割される。
６：Ｘ＝Ｘ１’−Ｕ*ｄＸ４−Ｔ*ｄＸ１＋ＵＴ（ｄＸ４−ｄＸ２）
７：Ｙ＝Ｙ１’−Ｕ*ｄＹ４−Ｔ*ｄＹ１＋ＵＴ（ｄＹ４−ｄＹ２）
そして等式６および７をＴおよびＵについてそれぞれ解き、以下のとおり等式８および９を得る。
0004822643.tif 000002
0004822643.tif 000003
等式８および９は、線形的に独立するので、一方の等式を他方のものに代入することができる。この例において、等式９は、等式８へと代入されて以下のものが得られる。
0004822643.tif 000004
今これは、元の空間における座標（Ｘ，Ｙ）を有する任意の点についてのＴの等式に過ぎない。等式１０をＴについて解くことで、Ｔの単純な２次式を得る。
１１：  ０＝ＡＴ2＋ＢＴ＋Ｃ
ここで、
Ａ＝ｄＹ１（ｄＸ４−ｄＸ２）−ｄＸ１（ｄＹ４−ｄＹ２）
Ｂ＝ｄＸ１*ｄＹ４−（Ｙ１−Ｙ）（ｄＸ４−ｄＸ２）−ｄＹ１*ｄＸ４＋（Ｘ１−Ｘ）（ｄＹ４−ｄＹ２）
Ｃ＝ｄＸ４*（Ｙ１−Ｙ）−ｄＹ４（Ｘ１−Ｘ）
そして等式１１は、２次公式を用いて解ける。等式１１においてＡは定数であり、ＢおよびＣは、ＸおよびＹの値によって変化する。以上のとおりであるので、線分Ｃ１’−Ｃ２’およびＣ４’−Ｃ３’を延長することによって形成される直線が交差するならば、等式１１には２つの解が存在し、その１つは交点のＴ座標であり、他方はＴについての正しい値である。直線が交差しないならば、その１つの解がＴについての正しい値である。Ｔの正しい値が一旦決定されたならば、それは再度等式９に代入されてＵについての対応する値を決定する。
【００２３】
上記の例によって、一旦Ｃ１’，Ｃ２’，Ｃ３’およびＣ４’が判って、外部カーソル２２の（Ｘ，Ｙ）座標が決定されると、簡単な計算で、コンピュータ出力の内部カーソル２６について「マウス座標」を表す（Ｔ，Ｕ）の値が得られることが示されている。Ｔ−Ｕ座標システムは正規化されているので、正規化された範囲（０から１）の外のＴまたはＵを有する座標は、トラッキングの目的では無視することができ、と言うのも、それらはコンピュータ出力の画像４２の中に収まらないからである。内部カーソル２６の座標について縮小拡大される値を決定するには、Ｔは捕獲された画像４０の水平解像度と、またＵは垂直解像度と掛け合わされる。目盛り定めまたは位置合わせ処理によって一旦Ｃ１’，Ｃ２’，Ｃ３’およびＣ４が決定されると、図３を参照して例示され、記述されるように、フレームを繰り返し捕獲および分析することによって、外部カーソル２２の少なくとも１つの特性がモニタされトラッキングされる。本発明の１つの実施例において、外部カーソル２２の位置は、外部カーソルが投影された画像４２の中にあるときのみに決定され、一方、形、色、サイズなどのような外部カーソル２２のその他の様々な特性は、外部カーソル２２が捕獲された画像４０の中にある限りにおいて、すなわち、外部カーソル２２が投影された画像４２の外にあるときでさえ、モニタされる。
【００２４】
ここで図３を参照すると、本発明による、コンピュータを遠隔制御するシステムおよび方法の、１つの実施例の操作を例示するフローチャートが示されている。当業者によって理解されるとおり、図３に例示されるフローチャートは、イベント駆動、インタラプト駆動、マルチ・タスク、マルチ・スレッドなどのような多数の周知処理方策のいずれをも表す。同様に、本発明は、発明を実施するのに用いられる特定のプログラム言語、オペレーティング・システムまたはコンピュータ・プラットフォームとは独立している。以上のとおりであるので、例示される様々なステップや機能は、例示されるように直列で、並列でまたは場合によっては全部省略されて実行される。同様に、例示された処理の順序は、本発明の目的、特徴および利点を達成するのに必ずしも必要とされているわけではなく、例示および記述を容易とするために提供されている。
【００２５】
好ましくは、図３の制御ロジックは、図１のコンピュータ１０で一般に表されるラップトップやデスクトップ・コンピュータのような、マイクロプロセッサをベースとするコンピュータによって実行されるソフトウェアで実行される。もちろん、制御ロジックの様々な部分や機能は、ソフトウェア、ハードウェアまたはソフトウェアとハードウェアの組み合わせにおいて実行される。図３のフローチャートは、１つの「ループ」を例示しており、当業者にとって周知のとおり、好ましくは、周期的な時間間隔で、またはある内部または外部のイベントにより要請されて、その操作が繰り返される。好ましくは、図３において示される制御ロジックは、フロッピー（登録商標）ディスク、ハードディスク、ＣＤ−ＲＯＭ、テープまたはその他の磁気、光もしくはそれらの組み合わせ装置のようなコンピュータ読み取り可能記憶媒体に記憶されるデータにおいて実施される。コンピュータ読み取り可能記憶媒体には、本発明による、コンピュータを遠隔制御するコマンドを生成するようコンピュータによって実行可能なインストラクションを表すデータが含まれている。
【００２６】
コンピュータからの出力が、図３のブロック５０によって表されるように表示されている。好ましくは、コンピュータからの出力は、コンピュータのモニタ、外部テレビまたはモニタもしくは上述されたような外部の「受動的な」スクリーンである関連スクリーン上に表示される。複数の基準または焦点板が、ブロック５２で表されるように、コンピュータ出力上に重畳される。好ましくは、その基準はコンピュータによって生成され、出力上に重畳される。基準は、システムの位置合わせまたは目盛り定めに用いられる。好ましくは、基準は、コンピュータ出力の隅に位置付けられ、基準の形は、システムにとってアプリオリに知られている。ステップ５２は、特定のアプリケーションによっては周期的に繰り返される。例えば、ステップ５２は、システムを目盛り定めするためにユーザによって始められるか、所定の時間間隔で自動的に繰り返されるか、何らかの内部または外部イベントに基づいて繰り返されるかする。例えば、ブロック５２は、外部カーソルが画像内に検出されないときはいつでも繰り返される。
【００２７】
コンピュータ出力の画像は、ブロック５４によって表されるように捕獲される。好ましくは、ＣＣＤアレイを含むカメラが、適当なフレーム捕獲カードと一緒に用いられて画像を捕獲する。好ましくは、画像にはコンピュータ出力の実質的な部分が含まれている。しかしながら、特定の実施例によっては、画像にはコンピュータ出力を表示するのに用いられるスクリーンの中央部のみか、ある別の領域のみが含まれている。その代わりに、画像は、コンピュータ出力を表示するのに用いられるスクリーン全体を包含していてもよい。
【００２８】
画像が処理されて、ブロック５６で表されるような基準の位置を検出する。上で指示されたように、ブロック５２および５６で表される操作は、様々な状況下で選択的に繰り返される。好ましくは、基準の１つが、正規化された座標システムについての原点として用いられ、上述のようなコンピュータ出力に関する外部カーソルの位置を決定する。
【００２９】
目盛り定めまたは位置合わせ処理を完了した後、画像は繰り返し捕獲され、ブロック５８〜７２で表されるように処理される。ブロック５８で表される捕獲された画像が処理されて、ブロック６０で表されるような外部カーソルの少なくとも１つの特性を検出する。好ましくは、外部カーソルは、手で持てるポインタによって生成される光学カーソルであって、少なくとも１つの、ユーザが選択可能な（可変の）特性が含まれている。カーソルの選択可能な特性は、コンピュータを遠隔制御するのに用いられる。カーソルの特性には、ブロック６２，６４，６６および６８でそれぞれ表されるように、強度、色、形またはサイズが含まれる。また、カーソルの特性には、一般に参照符号７０で表されるような特定の動きのパターンが含まれている。ブロック７２で表される外部カーソルの位置はまた、好ましくは、ブロック５６によって決定されるような基準の位置に関して検出される。また、特性を、いずれでも１つ以上組み合わせて用いて、適当なコンピュータのコマンドを生成する。例えば、ブロック７２で表される外部カーソルの位置は、それぞれブロック６４および６６で表されるカーソルの色または形と組み合わせて用いられ、すなわち、外部カーソルの色および／または形は、カーソルの位置に基づいて異なるコマンドを生成する。
【００３０】
ブロック６０で検出される外部カーソルの特性は、ブロック７４で表されるようなコンピュータを制御する対応コマンドに変換される。これは、数多くの周知方策のいずれのものによっても達成される。例えば、データ構造が用いられて、様々な特性または特性の組み合わせを、特定のソフトウェア・アプリケーションにおける対応コマンドと結びつける。もちろん、生成される特定のコマンドは、アプリケーション毎に異なっていてよい。好ましくは、ブロック７４によって生成されるコマンドは、ポインタによって生成される外部カーソルの動きによって、コンピュータによって生成される内部カーソルの動きが、それらカーソルの動きに同期するものとなるように、コンピュータによって生成される内部カーソルの動きを制御する。また、外部カーソルの特定の位置についての１つ以上の特性を変えることによって、様々なコンテクスト感受性または位置感受性コマンドが生成されてもよい。
【００３１】
二等辺３角形として配置される３つの整列されたレーザ・エミッタを備えた、手で持てるレーザ・ポインタが含まれる本発明の１つの実施例の、代表的な使い方を以下に示す。ポインタの１つのエミッタは、一旦ポインタがオンにされると、常時活性化されている。第２のエミッタは、「マウスの左ボタン・クリック」コマンドに対応するコマンドを結果として生じる第１ボタンを押すことによって、ユーザによって選択的に活性化される。３つ全てのエミッタは、「マウスの右ボタン・クリック」コマンドに対応するコマンドを結果として生じるレーザ・ポインタの第２ボタンを押すことによって、ユーザによって選択的に活性化される。この実施例において、レーザ・ポインタによって生成される外部カーソルの強度、色およびパターン（または形）を含む様々な特性は、（押し下げられているものがあるなら）どのボタンが押し下げられているのかに加えて、外部カーソルの場所を決定するのに用いられる。ボタンが押されていないならば、ドットの形の単一高強度カーソル、第１のエミッタの色、が捕獲された画像フレーム内に見られる。第１のボタンが押されるとき、外部カーソルの形および色が変えられ、第２のドットが第１のドットから幾分離れた位置に現れる。第２のボタンが押されるとき、外部カーソルは、二等辺３角形の残りの点として現れる追加された２つのドットからなる更に別の形および色をとる。外部カーソルの特性が、システムによって検出され処理されて、コンピュータを遠隔制御する対応コマンドを生成する。
【００３２】
発明の実施例が例示され、記述されている一方で、これらの実施例が、発明の全ての可能な形状を例示し、記述することを意図している訳ではない。むしろ、明細書で用いられている語句は、制限よりも記述の語句であり、発明の精神および範囲から逸脱することなく様々な変更がなされるということが理解される。
【図面の簡単な説明】
【図１】  本発明による、コンピュータを遠隔制御する光学トラッキングを備えた代表的なコンピュータ・プレゼンテーション・システムを例示するブロック図である。
【図２】  本発明による一実施例の外部カーソルのための目盛り定め焦点板または基準および座標の導関数の投影を例示する図である。
【図３】  本発明による外部カーソルの光学トラッキングを用いるコンピュータを遠隔制御するシステムまたは方法の操作を例示するフローチャートである。
【図１】
0004822643.tif 000005
【図２】
0004822643.tif 000006
【図３】
0004822643.tif 000007