(57)【特許請求の範囲】
【請求項１】
表示画面上の所望の位置を遠隔から指定する座標入力装置であって、
撮像手段と、
該撮像手段で撮像された画像中の前記表示画面上のカーソルを検出する検出手段と、
該検出手段で検出されたカーソル位置と、前記撮像手段で撮像された撮像画像中の所定の位置との距離を小さくすべく、前記カーソルの表示位置を更新させる制御手段と
を備えることを特徴とする座標入力装置。
【請求項２】
前記撮像手段は、前記カーソルの表示輝度が変化する周期に同期し、輝度の状態が変化する前後の２つの状態における画像を撮像し、
前記検出手段は、撮像された２つの画像間の論理演算によってカーソル位置を検出することを特徴とする請求項第１項に記載の座標入力装置。
【請求項３】
前記制御手段は、前記カーソルの表示位置を、水平方向、垂直方向の交互に更新表示させることを特徴とする請求項第１項に記載の座標入力装置。
【請求項４】
前記制御手段は、
表示更新させたカーソル位置と前記撮像手段で撮像された撮像画像中の所定の位置との距離が所定の閾値以下になったか否かを判断する判断手段と、
該判断手段で前記閾値以下であると判断した場合にカーソルの位置の更新を停止する手段とを含むことを特徴とする請求項第１項に記載の座標入力装置。
【請求項５】
前記制御手段は、更に、
カーソル位置を仮位置へ表示させる手段と、該仮位置へカーソル位置を表示させた場合の当該カーソル位置と、仮位置に表示させる以前のカーソル位置のいずれが、前記撮像手段で撮像された撮像画像中の所定の位置との距離を小さいかを判定する判定手段と、
該判定手段の判定結果に応じてカーソルの表示更新方向を決定する手段と
を備えることを特徴とする請求項第１項に記載の座標入力装置。
【請求項６】
画像情報を表示させ、表示画面上の所望の位置を遠隔から指定する座標入力システムであって、
カーソルを前記表示画面に表示させるカーソル表示手段と、
所定のタイミングで撮像する撮像手段と、
該撮像手段で撮像された前記表示画面の映像からカーソル位置を検出する検出手段と、
該検出手段で検出されたカーソル位置と、前記撮像手段で撮像された撮像画像中の所定の位置との距離を小さくすべく、前記カーソルの表示位置を更新させる制御手段と
を備えることを特徴とする座標入力システム。
【請求項７】
前記撮像手段は、前記カーソルの表示輝度が変化する周期に同期し、輝度の状態が変化する前後の２つの状態における画像を撮像し、
前記検出手段は、撮像された２つの画像間の論理演算によってカーソル位置を検出することを特徴とする請求項第６項に記載の座標入力システム。
【請求項８】
前記制御手段は、前記カーソルの表示位置を、水平方向、垂直方向の交互に更新表示させることを特徴とする請求項第６項に記載のシステム。
【請求項９】
前記制御手段は、表示更新させたカーソル位置と前記撮像手段で撮像された撮像画像中の所定の位置との距離が所定の閾値以下になったか否かを判断する判断手段と、該判断手段で前記閾値以下であると判断した場合にカーソルの位置の更新を停止する手段とを含むことを特徴とする請求項第６項に記載の座標入力システム。
【請求項１０】
前記制御手段は、更に、
カーソル位置を仮位置へ表示させる手段と、該仮位置へカーソル位置を表示させた場合の当該カーソル位置と、仮位置に表示させる以前のカーソル位置のいずれが、前記撮像手段で撮像された撮像画像中の所定の位置との距離を小さいかを判定する判定手段と、
該判定手段の判定結果に応じてカーソルの表示更新方向を決定する手段と
を備えることを特徴とする請求項第６項に記載の座標入力システム。
【請求項１１】
画像情報を表示させ、表示画面上の所望の位置を遠隔から指定する座標入力システムの制御方法であって、
カーソルを前記表示画面に表示させるカーソル表示工程と、
所定のタイミングでポインティングデバイスが備える所定の撮像手段からの映像を取り込む映像取り込み工程と、
該映像取り込み工程で得られた前記撮像手段の映像からカーソル位置を検出する検出工程と、
該検出工程で検出されたカーソル位置と、前記撮像手段で撮像された撮像画像中の所定の位置との距離を小さくすべく、前記カーソルの表示位置を更新させる制御工程と
を備えることを特徴とする座標入力システムの制御方法。
【請求項１２】
撮像手段を有するポインティングデバイスを接続するコンピュータが読み込み実行することで、撮像した所定の表示画面上のカーソル位置を当該ポインティングデバイスの向きに合せて更新させる装置として機能するプログラムコードを格納した記憶媒体であって、
カーソルを前記表示画面に表示させるカーソル表示手段と、
所定のタイミングで前記ポインティングデバイスで撮像させた映像を取り込む映像取り込み手段と、
該取り込み手段で取り込まれた前記表示画面の映像からカーソル位置を検出する検出手段と、
該検出手段で検出されたカーソル位置と、前記撮像手段で撮像された撮像画像中の所定の位置との距離を小さくすべく、前記カーソルの表示位置を更新させる制御手段と
して機能するプログラムコードを格納した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は遠隔から表示画面上の所望の位置を入力するための座標入力装置及び座標入力システム及び方法及び記憶媒体に関するものである。
【０００２】
【従来の技術】
従来、この種の装置としては、専用のタブレット上を専用のペンで示すタイプのデバイス（デジタイザと呼ばれる）と、回転ボールとそのボールの回転方向やその量を検出するロータリーエンコーダを内蔵したタイプのデバイス（例えばマウスやトラックボール）等がある。
【０００３】
これらはいずれも、
表示画面を見る人＝ポインティングデバイスを操作する人
であるケースが多い。
【０００４】
ところで、最近では、予め表示情報を電子化しておいて、その席上で、多数の人を前に各種プレゼンテーションを行うようになってきた。一般に、このようなプレゼンテーションでは比較的大きな画面に表示されるこが望まれ、情報処理装置（例えばパーソナルコンピュータ等）にプロジェクタや、専用のＯＨＰ装置を接続することで行われることが多い。
【０００５】
かかるシステムでは、プレゼンテーション用資料の作成等も、ワープロ感覚で作成できるので注目されている。
【０００６】
【発明が解決しようとする課題】
しかしながら、例えば表示（もしくは投影）された画像中に、いくつかのメニューを表示させていても、結局そのメニューを選択するのは、専用のオペレータであり、視聴者はあくまで受手としてしか参加できない。
【０００７】
これを解決する手法としては、例えば、特開平４−１８８５９号や特開平４−１８８６０号がある。これらの提案には、ポインティング光線を照射する手段と、スクリーンに設けられ、この照射された位置を検出する手段を備える技術が開示されている。
【０００８】
たしかに、かかる構成をすると、遠隔からスクリーン上の所望とする位置を指定することは可能ではあるが、そのスクリーンは複雑な構成を備えることになるので、製造が困難であり、且つ、非常に高価になる。また、そのスクリーンが必須になるので、プレゼンテーションを行う場所も自ずと決まってくる。
【０００９】
【課題を解決するための手段】
本発明はかかる点に着目したものであり、簡単な構成でもって、遠隔から所望とする位置を指定することを可能ならしめる座標入力装置及び座標入力システム及び方法及び記憶媒体を提供しようとするものである。
【００１０】
この課題を解決するため、例えば本発明の座標入力装置は以下の構成を備える。すなわち、
表示画面上の所望の位置を遠隔から指定する座標入力装置であって、
撮像手段と、
該撮像手段で撮像された画像中の前記表示画面上のカーソルを検出する検出手段と、
該検出手段で検出されたカーソル位置と、前記撮像手段で撮像された撮像画像中の所定の位置との距離を小さくすべく、前記カーソルの表示位置を更新させる制御手段とを備える。
【００１１】
【発明の実施の形態】
以下、添付図面に従って本発明に係る一実施形態を詳細に説明する。
【００１２】
図１は実施形態におけるシステムの構成を示している。図中、１は装置全体の制御を司るＣＰＵであり、２はブートプログラム等を記憶しているＲＯＭ、３はＣＰＵ１が処理するＯＳやアプリケーション或いはワーク領域として使用するＲＡＭである。４はＯＳやアプリケーションプログラム（後述する第３図のフローチャートに対応するプログラムが含まれる）、更には各種情報を格納している外部記憶装置（例えばハードディスク装置、フロッピーディスク装置、光磁気ディスク装置等）である。５は各種コンマンドを入力したり、文字等を入力するためのキーボードである。６は表示画面に表示するイメージを展開するＶＲＡＭであり、７はＶＲＡＭ６に展開されたイメージを表示する表示装置である。尚、ＶＲＡＭ６に各種イメージデータを展開すると、その展開されたイメージが表示装置７に表示される。従って、ＶＲＡＭにデータを書き込むことと、表示するということは等価である。
【００１３】
９が、操作者が操作する座標入力部であって、撮像素子と、一般のマウスデバイスや座標入力ペン等と同様にボタンが設けられている。撮像された像データ及びこのボタンの押下情報は、図示のインターフェース８を介して装置に取り込まれる。
【００１４】
上記構成において、今、本システムに電源が投入されると、ＣＰＵ１はＲＯＭ２内に格納されているブートプログラムに従って、外部記憶装置４からＯＳプログラムをＲＡＭ３に読み出してＯＳを稼動させる。そして、操作者がキーボード５や実施形態の座標入力部９からの指示に基づいて各種アプリケーションを起動し、処理を遂行していくことになる。このとき、実施形態の座標入力部９を使用すると、表示装置７上には対応するカーソルが表示され、一般のマウスやデジタイザと同様の作業が行なえるようになる。尚、カーソルの表示制御自身は公知であり、本願発明には直接的には関係がないのでその説明は省略するが、少なくともＯＳは座標データ及びボタンの押下情報をインターフェース８を介して受け、カーソルの制御等を行うことになる。
【００１５】
図２に実施形態のシステム及び座標入力部９の操作例を示す。
【００１６】
図示の如く、実施形態における座標入力部９は、手に持てる程度の大きさであり、遠隔から表示画面上のカーソルの位置を制御することを可能にしている、図示において、９ａは座標入力部９に設けられたボタンを示し、１０１は座標入力部９の操作に連動するカーソルである。
【００１７】
以下、図２に示す動作を実現するための原理を詳細に説明する。
【００１８】
座標入力部９には、先に説明したように固体撮像素子（ＣＣＤ）が内蔵されている。そして、その撮像された像を基にして座標入力部９の指し示した延長上の表示画面位置（以後、目的位置と言う）にカーソルを移動することにより検出するものである。
【００１９】
一般に、撮像した像からカーソルを認識すること、及び、カーソルを目的位置に移動するには非常に複雑な処理を要するが、本願発明者はかかる処理を極めて簡単に実現した。以後、カーソルを認識する手段、目的位置にカーソルを移動する手段について説明する。
【００２０】
＜カーソルを認識する手段＞
表示画像に重畳されたカーソルを認識するためには種々の画像処理方法が考えられるが、以下ではカーソルを認識しやすいように表示することにより簡便な方法で認識を行わせる実施形態を示す。
【００２１】
すなわち、一般に、カーソルを表示する場合は、利用者の視認性を高めるためある時間間隔でカーソルを点滅させるのが一般的である。また、点滅時には、カーソルの色を最高輝度と最低輝度を利用して点滅させる。
【００２２】
この点滅間隔をΔＴ（ΔＴ時間点灯、ΔＴ時間消灯することを繰り返すこと）に設定すれば、表示される画像がΔＴで大きな変化がなければ、Δｔ間隔で撮像された画像を利用することによりカーソルを明瞭に認識できる。
【００２３】
図３は、上記手順をソフトウェア的に実行する手順をより詳細に示したものである。尚、カーソルは変数Ｂ＿ｃｕｒｓｏｒの状態に応じて点灯（高輝度モード）、消灯（低輝度モード）を行なうものとして説明するが、変数である必要はなく、例えば表示制御回路（図示せず）に対する指示信号としても勿論構わない。
【００２４】
まず、変数Ｂ＿ｃｕｒｓｏｒをＬＯＷにすることで、カーソルの初期輝度が低輝度なるよう設定し（ステップＳ３−１）、現時刻を変数Ｔに記憶する（ステップＳ３−２）。そして、カーソル輝度を変更する時刻Ｔｍに、現時刻Ｔ＋点滅間隔ΔＴを加えたものを代入し（ステップＳ３−３）、以下のステップＳ３−４以降の処理を反復する。
【００２５】
ステップＳ３−４では、現時刻を変数Ｔに記憶する。そして、ステップＳ３−５で現在時刻ＴからＴｍを引いて、現在時刻が消灯から点灯（もしくはその逆）になるタイミングになったかどうかを判断する。
【００２６】
またその時期になっていないと判断した場合には、ステップＳ３−１２に進み、カーソル（Ｂ＿ｃｕｒｓｏｒ＝ＬＯＷならば消灯、ＨＩＧＨなら点灯）イメージと、その画像（アプリケーションに依存する）との合成を行なう。そしてステップＳ３−１３に進んで、その合成画像を表示させる処理を行なう。そして、ステップＳ撮影フラグを調べ、それがＯＦＦになっていたら、ステップＳ３−４に戻る。
【００２７】
こうして、カーソル点灯期間（或いは消灯期間）では、上記の処理を繰り返していくが、消灯から点灯（もしくはその逆）に移行する時期になったと判断した場合、処理はステップＳ３−５からステップＳ３−６に進むことになる。
【００２８】
ステップＳ３−６では、それまでのカーソルの状態が消灯、点灯のいずれであったのかを変数Ｂ＿ｃｕｒｓｏｒの状態を調べて判断する。
【００２９】
それまでが消灯状態であった場合には、今度は点灯状態にするためＢ＿ｃｕｒｓｏｒをＨＩＧＨにセットする（ステップＳ３−８）。逆に、それまでが点灯状態であった場合には、消灯状態にするためＢ＿ｃｕｒｓｏｒをＬｏｗにセットする（ステップＳ３−７）。
【００３０】
いずれにしても処理はステップＳ３−９に進み、カーソルイメージを新たに生成し、撮影フラグをＯＮにする。このあと、次の状態変更タイミングを決定づけるための変数Ｔｍを、現時刻Ｔ＋ΔＴで更新する。
【００３１】
以上のようにすると、つまりは、ΔＴ経過すると、ステップＳ３−６〜ステップＳ３−１１の処理が一度処理され、それ以外の期間ではステップＳ３−５の判断はＮＯになり、ステップＳ３−６〜Ｓ３−１１の処理は行われない。
【００３２】
従って、ステップＳ３−１４の判断、すなわち、撮影フラグがＯＮになったと判断するのも、カーソルの表示状態が変化するタイミングとなる。撮影フラグがＯＮになっていると判断した場合には、ステップＳ３−１５に進み、座標入力部９からの映像の取り込みを行なう。そして、ステップＳ３−１６で撮影フラグをＯＦＦにセットし、ステップＳ３−５から直接ステップＳ３−１２に進んだ場合に、ステップＳ３ー１５、Ｓ３−１６の処理を行なわないようにする。
【００３３】
以上の結果、カーソルの表示状態（点灯から消灯もしくはその逆）が変化するタイミングで座標入力部９からの映像を取り込むことになる。
【００３４】
図４は、上記図３の処理手順で撮影された表示画面の例であり、同図（ａ）はカーソルが低輝度モードの時に撮像された画像、図４（ｂ）はカーソルが高輝度モードの時に撮像された画像である。
【００３５】
同図（ｃ）は、この２画像の差分を図４（ｂ）の各画素の値から図４（ａ）の各画素の値を減じる（もしくは排他論理和処理）ことにより得た画像である。図示の如く、ΔＴ間隔で得た連続する２つの画像との差をとると、結局のところ、それらの間で変化するのはカーソルの輝度だけであるので、カーソルイメージを簡単に抽出することができる。尚、次の撮影時期になると、今度は図４（ａ）の画像から同図（ｂ）の画像を減じることになるので、その結果の画像は今度は白地に黒のカーソルが残ることになる。
【００３６】
いずれの場合であっても、カーソルイメージは２つの状態でしか存在しないわけであるから、カーソルイメージのみを抽出することが可能になる（濃度分布）。カーソルの中心位置を検出する手法としては、例えば図４（ｃ）の如く、演算結果によって黒字に白のカーソルイメージを抽出するタイミングであったら、差分画像中の白画素の分布のｘ、ｙ座標それぞれの最大値、最小値（カーソルイメージの外接矩形）を抽出し、その中心位置を演算で求めればよいし、その他の如何なる手段を用いても良い。
【００３７】
尚、ΔＴは画像表示のフレーム周期の整数倍にさせるのが有効である。
【００３８】
たとえば、ＮＴＳＣ信号であれば、ΔＴの最小値は３０分の１秒となる。この間では画像の変化は少ないので画像の差分をとるだけでカーソル位置を得ることができる。
【００３９】
ただし、カーソル輝度は最大輝度と最低輝度に固定した場合、フレーム周期で点滅しても視認できないため、改善が必要であり、たとえば、最大輝度に代えて、１点滅ごとに輝度が増加し、最大輝度になれば逆に最低輝度まで順次減少するような処理を行なえば、カーソル位置を認識すると同時にカーソルを視認可能となる。
【００４０】
＜目的位置にカーソルを移動する手段＞
実施形態における目的位置にカーソルを移動する手順の概要を先ず説明する。
【００４１】
座標入力部９（先端方向）が正確にその時点で表示されていたカーソルに向いていれば撮影された像の中心にカーソルイメージが存在することになる。換言すれば、中心位置にない場合には、その撮影像の中心方向に向けて移動させれば良い。
【００４２】
以下、その手順を図５のフローチャートに従って説明する。
【００４３】
先ず、ステップＳ５−１では、撮像画面上の目的位置Ｔｕｖを設定する。目的位置は座標入力部９の向きと同じにするのであれば画面の中央とするが、用途に応じて変更しても構わない。
【００４４】
次のステップＳ５−２では、撮像装置で表示画面を撮像し、現カーソル位置Ｐｕｖを、先に説明したカーソルを認識する処理により求める。
【００４５】
ステップＳ５−３に処理が進むと、目的位置Ｔｕｖと現カーソル位置Ｐｕｖの距離Ｄを計算する。距離の計算にはたとえばユークリッド距離
Ｄ＝（（Ｔｕ−Ｐｕ）＾２＋（Ｔｖ−Ｐｖ）＾２）＾０．５
により求める。ここでＴｕ，Ｔｖは目的位置Ｔｕｖの撮像面上のｘ，ｙ座標、Ｐｕ，Ｐｖは現カーソル位置Ｐｕｖの撮像面上のｘ，ｙ座標である。また、ｘ＾ｙはｘのｙ乗を示している。
【００４６】
次いで、ステップＳ５−４で、算出した距離Ｄが予め設定された許容量εと比較する。許容量εより小さければ、現カーソル位置は目的位置に等しいとみなして、処理は終了する。そうでない場合には、ステップＳ５−５に進む。
【００４７】
ステップＳ５−５では、距離Ｄが減少するようにカーソルの表示位置を更新する。
【００４８】
距離Ｄを減少させるためには、その方向が分からなければならない。例えば、実施形態における座標入力部９は図２に示す如く筒型（ペン型）であるので（この形状によって本願発明が限定されるものではない）、その回転も考慮する必要がある。どの位置を上部にするかを予め決めておけば良いが、持ち方がわからず、上下逆にしてしまうと意図した方向と反対にカーソルが移動してしまうことにもなりかねない。従って、回転位置を検出する機構を設けることが望ましいのは理解できよう。回転位置を求めるには、座標入力部９内に重力方向によってその位置が変動する部材を内蔵し、その部材の位置を検出するセンサを設ければよい。これにより、撮影画像の上下関係がわかるので、撮影して得られたカーソルイメージがどの方向にどれだけ離れているかもわかる。
【００４９】
尚、上記連続する（ΔＴ間隔での撮影）映像の差分演算を行ない、それで抽出されたカーソルイメージの中心位置を求める処理は、システム側で行なったが、座標入力部９側で行なうようにしてもよい。前者の場合には、座標入力部９は単純に映像を取り込むカメラのような構成を備えれば良いであろう。但し、座標入力部９内にはその回転位置を検出するための手段を備え、その検出情報をシステムに転送することは必要になる。
【００５０】
また、上記実施形態では座標の許容範囲εを定数として説明したが、表示画面と座標入力部９との距離によってこれを調整することが望ましい。すなわち、距離が短い場合には、εを小さくして細かい位置指定ができるようにし、逆に距離が大きい場合には細かい指示を行なうにしても手ぶれの影響を受けやすくなるのでεを大きめにするのである。距離はそれほど精度が要求されるものではないので、撮像系が備えるオートフォーカスの状態量でもって代用できる。
【００５１】
更に、実施形態によれば、表示画面のシーンチェンジが発生した場合、その時点でのカーソルイメージを得ることはできない（画像の減算処理を行ったとしても、２つの背景画像が異なるので）。しかしながら、カーソル位置を特定できないのは、人間にとっては一瞬（数十分の１秒）程度であるので、実質的に問題は発生しない。
【００５２】
また、実施形態では、カーソルの表示状態が異なる２つの撮像画像の減算処理でカーソルイメージを抽出したが、たとえば排他論理和によっても得ることができるので、上記例によって本発明が限定されるものでもない。
【００５３】
更に、また、座標入力部９内で表示更新すべきカーソル座標を検出し、その座標位置と不図示のボタンの押下情報を通知するのであれば、座標入力部９と装置とを接続するインターフェースは比較的低速なもの（例えばＲＳ２３２Ｃ等）で良い。ただ、このような機能を全て座標入力部９に盛り込むとシステム側の構成は簡単になるものの、ポインティングデバイスが多少複雑な構成を有することになる。従って、他に考えられる手法としては、座標入力部９は単純に撮像映像と回転位置及びボタンの押下情報を通知するものとすることである。この場合、映像を取り込む機能は、システム側にビデオキャプチャを実現するハードウェア（一般のもので良い）を備え、他の回転位置及びボタンの押下情報をそれ専用のインターフェースで通知すれば良い。
【００５４】
＜第２の実施形態の説明＞
上記実施形態（第１の実施形態）では、座標入力部９にその回転位置を検出する手段を設ける例を説明したが、これによっても本願発明が限定されるものではない。
【００５５】
本第２の実施形態ではかかるハードウェアを備えなくてもソフトウェアでもって実現する例を説明する。説明を簡単にするため、本第２の実施形態では、座標入力部９は単純に撮影映像をシステムに出力するものとする。勿論、座標入力部９に設けられたボタンの操作状態情報（マウス等のクリックに相当する動作を行なわせるため）もシステムに出力する。
【００５６】
さて、本第２の実施形態では、カーソルを所定方向（システムのＣＰＵにとっては既知）に所定量だけ移動させ、その移動した後のカーソルの位置を検出し、従前のカーソル位置と比較し、その距離の差が小さくなる方向に移動させるものである。
【００５７】
図６及び図７のフローチャートに従って説明する。
【００５８】
先ず、ステップＳ６−１においては以下の諸量を設定する。
【００５９】
カーソル位置相違許容量εを所定の定数に設定する。また、カーソル変化方向ＫＤｘを１、ＫＤｙを１に初期化する。ＫＤｘ，ＫＤｙはそれぞれ１と−１をとり得、ｘ軸、ｙ軸の正負方向を表すものであり、いずれの方向に微小移動させた場合、距離Ｄが減少したかを記憶する。カーソル移動量Δｐを所定の定数で初期化する。次に、上記ＫＤｘ，ＫＤｙで決定されるカーソル移動方向に沿ってカーソルを移動させる距離を設定する。カーソル移動軸を示す変数Ｓを“ｘ”に設定する。Ｓは“ｘ”と“ｙ”をとり得、ある時点でカーソルを移動させるべき軸方向を示す。通常は、“ｘ”，“ｙ”が交代し、カーソルをｘ軸に沿って動かせた後はｙ軸に沿って動かす。
【００６０】
ステップＳ６−２では、撮像画面上でのカーソルを移動させる目標の位置（Ｕｔ，Ｖｔ）を設定する。目標位置は、第１の実施形態と同様、撮影画像の中心位置とする。
【００６１】
ステップＳ６−３では、カーソルを表示画面上の座標位置（ｘ，ｙ）に表示させる。
【００６２】
ステップＳ６−４では、表示されたカーソルを撮像させ、それを受信し、撮像画像上のカーソル座標（Ｕ，Ｖ）を第１の実施形態で説明した手順（カーソルの点滅周期に合せてカーソル位置を検出する手順）に従って得る。
【００６３】
ステップＳ６−５では、撮像画像中の検出したカーソル位置と目標位置（Ｕｔ，Ｖｔ）との距離を関数ｄ（）により計算する。計算方法は、たとえば、第１の実施形態で説明した式を用いる。算出された距離は変数ｄ１に保存する。
【００６４】
ステップＳ６−６では、距離ｄ１と、カーソル位置相違許容量εを比較し、ｄ１が、εより小であれば、カーソルは目的位置に到達したと考え、処理を終了し、上位処理に復帰する。
【００６５】
一方、ｄ１がεより大であれば、カーソル位置を目的位置に近づけるべく、以下の処理を行なう。
【００６６】
先ず、ステップＳ６−７で、カーソルの移動軸が“ｘ”方向で有るかどうかを変数Ｓを調べることで判断する。ｘ軸方向であると判断した場合には、ステップＳ６−８に進み、ｙ軸であると判断した場合には、ステップＳ６−２５（図７）に進む。本第２の実施形態では処理を単純にするため、カーソル移動方向はｘ軸、あるいはｙ軸に沿った方向にのみ移動するように工夫されている。
【００６７】
ここでは、移動軸がｘ軸であるとして説明する。この場合、処理はステップＳ６−８に進み、より目標位置に近いカーソル位置を探索するため、仮にカーソル表示ｘ座標を値ｘから、値ｘ２に変更する。このとき、変更量は従前のカーソル変化方向ＫＤｘにカーソル移動量Δｐを乗じたものである（初期状態では、ＫＤｘは１であるので、ｘ軸の正方向になる）。
【００６８】
次いで、ステップＳＳ６−９に進み、上記のようにして決定した移動量で、実際に座標（Ｘ２，Ｙ）にカーソルを仮に移動表示する。そして。ステップＳ６−１０では、座標（Ｘ２，Ｙ）に表示された仮想カーソルを撮像し、撮像画面上のカーソル座標（Ｕ，Ｖ）を得る。
【００６９】
ステップＳ６−１１に処理が進むと、仮表示されたカーソル位置（Ｕ，Ｖ）と目標位置との距離を記述の距離計算関数ｄ（）で計算し、変数ｄ２に代入する。
ステップＳ６−１２では、移動前の距離ｄ１と仮に移動させた場合の距離ｄ２とを比較する。
【００７０】
ｄ２がｄ１より小であれば、より目標に近づいたものと判断できる。従って、この場合には、現在のカーソル位置を仮カーソル位置で更新し（ステップＳ６−１３）、距離ｄ１を仮カーソル位置での距離ｄ２で更新する（ステップＳ６−１４）。そして、ステップＳ６−２４に進んで、今度はｙ軸に対する移動を行なわせるために変数Ｓをｙ軸となるようにセットし、ステップＳ６−６に戻る。
【００７１】
一方、ステップＳ６−１２でｄ２≧ｄ１と判断できた場合、それは目標位置に対して遠ざかる方向へ仮移動してしまったことになる。その場合には、ステップＳ６−１５に進み、逆方向に仮移動させるため、仮のカーソル移動量を、ステップＳ６−８での設定とは逆方向に設定する。すなわち、現カーソル位置のＸ座標から、従前のカーソル移動方向ＫＤｘにカーソル移動量Δｐを乗じた値を減じる。この値をカーソル位置のＸ座標である変数Ｘ３に代入する。
【００７２】
ステップＳ６−１６では、座標（Ｘ３，Ｙ）にカーソルを仮移動し表示させる。そして、ステップＳ６−１７で、座標（Ｘ３，Ｙ）に表示されたカーソルを撮像し、撮像画面上のカーソル座標（Ｕ，Ｖ）を得る。
【００７３】
ステップＳ６−１８では、仮に表示されたカーソル位置（Ｕ，Ｖ）と目標位置との距離を記述の距離計算関数ｄ（）で計算し、変数ｄ３に代入する。
【００７４】
ステップＳ６−１９では、移動前の距離ｄ１と仮に移動させた場合の距離ｄ３とを比較し、ｄ３がｄ１より小であれば、より目標に近づいたものと判断でき、ステップＳ６−２０に制御を移す。ｄ３がｄ１より大であれば、この仮の移動は目標位置より遠ざかる方法への移動であったので、制御をステップＳ６−２３に移す。
【００７５】
ステップＳ６−２０では、仮に設定したＸ座標Ｘ３を現在のカーソル位置として変数Ｘに代入し、ステップＳ６−２１では、仮距離ｄ３を新たに変数ｄ１に代入する。そして、ステップＳ６−２２で、カーソル移動方向を反転させる。その後、制御をステップＳ６−２４に移す。
【００７６】
また、ステップＳ６−２３に進んだ場合には、仮移動させたカーソルを元の位置（Ｘ，Ｙ）に戻して表示する。これは目標位置のＸ座標とカーソルの現位置のＸ座標が等しい場合に起こる。
【００７７】
ステップＳ６−２４では、先に説明した様に、次回のカーソル移動がｙ軸となるためのものであり、カーソル移動軸を現在のＸ方向からＹ方向に交換する。
【００７８】
ｙ軸におけるカーソル移動は、ｘ軸の移動と座標軸が変わるだけであるので、実質的に同じであるので、詳細な説明は省略する。
【００７９】
以上のように処理することで、ｘ軸、ｙ軸、ｘ軸、ｙ軸と繰り返しカーソル位置が変更され、最終的に目標位置（実施形態では撮像画像の中心位置）にカーソルを移動させることができるようになる。しかも、第１の実施形態如く、座標入力部９内に回転位置を検出するための格別は装置を不要にできる。
【００８０】
上記第１、第２の実施形態では、目標位置が、矩形である表示画面領域の内側に存在することが前提となっている。一般にはそうでない場合、即ち、目標位置が表示画面領域の外側に設定されることもある。かかる場合でも、本実施形態に以下のような若干の検査部分を追加することで対処可能である。即ち、
・表示画面座標（Ｘ，Ｙ）を（０，０）から（１，１）に規格化する。
・上記処理で（Ｘ，Ｙ）等の画面座標が（０，０）から（１，１）の範囲外となった場合は範囲外となったＸ軸方向、あるいはＹ軸方向に関する処理を行わない。
・同時に、範囲外を知らせる警告を制御コンピュータに送出する。
【００８１】
また、上記第１、第２の実施形態で説明したが、座標入力部９内に、図５或いは図６及び図７に対応する処理を行なうマイクロプロセッサ等で構成される回路を内蔵させても良いし、座標入力部９は単純に撮影映像をシステム（パーソナルコンピュータ等）に転送する機能を有するものであっても構わない。後者の場合には、図５或いは図６及び図７に相当する処理や、ビデオキャプチャ等の機能を実現するハード等を有することになるが、これは一般的なもので良い。更に、後者の場合には、座標入力部９としては、例えば、ビデオカメラ等で代用させることもできるであろう。
【００８２】
また、実施形態ではＣＲＴ表示装置を例にして説明したが、プレゼンテーション等の場合には、より大きなスクリーンが望まれるのは周知のことであり、プロジェクタ等に適用することもできる。
【００８３】
従って本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００８４】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８５】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００８６】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８７】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８８】
【発明の効果】
以上説明したように、本発明によれば、簡便な構成でもって遠隔から所望とする位置を指定することが可能になる。
【００８９】
【図面の簡単な説明】
【図１】実施形態における装置のブロック図である。
【図２】実施形態の座標入力部の操作例を示す図である。
【図３】カーソルを認識する手順を示すフローチャートである。
【図４】カーソルの認識例を示す図である。
【図５】実施形態の概要を示すフローチャートである。
【図６】第２の実施形態の詳細を示すフローチャートである。
【図７】第２の実施形態の詳細を示すフローチャートである。
【符号の説明】
１  ＣＰＵ
２  ＲＯＭ
３  ＲＡＭ
４  外部記憶装置
５  キーボード
６  ＶＲＡＭ
７  表示装置
８  インターフェース
９  座標入力部
【図１】
0003862389.tif 000002
【図２】
0003862389.tif 000003
【図３】
0003862389.tif 000004
【図４】
0003862389.tif 000005
【図５】
0003862389.tif 000006
【図６】
0003862389.tif 000007
【図７】
0003862389.tif 000008