(57)【特許請求の範囲】
【請求項１】
座標入力が行われる平面上の領域を撮像する複数の撮像素子を配置した画像入力手段と、
前記画像入力手段により撮像した画像から所定の物体を抽出する物体抽出手段と、
前記抽出された物体と前記平面との距離が所定の範囲内にあるか否かを判定する距離判定手段と、
前記距離が所定の範囲内にあると判定されたとき、前記物体の動きベクトルを求める動きベクトル検出手段と、
前記検出された動きベクトルを基に前記物体が前記平面に対して座標入力を行ったか否かを判定する動き認識手段と、
前記動き認識手段により座標入力が行われたと判定したとき、前記各撮像素子上における前記物体の像の位置を基に、前記平面上における前記物体の２次元座標を算出する座標算出手段とを備えた座標入力装置であって、
前記動き認識手段は、検出された動きベクトルの成分の中で前記平面と垂直方向の成分を逐次記憶し、前記逐次記憶された垂直方向の動きベクトル成分の方向が前記平面に接近する方向から離れる方向へ反転したことを検出したとき、座標入力が行われたと判定することを特徴とする座標入力装置。
【請求項２】
座標入力が行われる平面上の領域を撮像する複数の撮像素子を配置した画像入力工程と、
前記画像入力工程により撮像した画像から所定の物体を抽出する物体抽出工程と、
前記抽出された物体と前記平面との距離が所定の範囲内にあるか否かを判定する距離判定工程と、
前記距離が所定の範囲内にあると判定されたとき、前記物体の動きベクトルを求める動きベクトル検出工程と、
前記検出された動きベクトルを基に前記物体が前記平面に対して座標入力を行ったか否かを判定する動き認識工程と、
前記動き認識工程により座標入力が行われたと判定したとき、前記各撮像素子上における前記物体の像の位置を基に、前記平面上における前記物体の２次元座標を算出する座標算出工程とを備えた座標入力方法であって、
前記動き認識工程は、検出された動きベクトルの成分の中で前記平面と垂直方向の成分を逐次記憶し、前記逐次記憶された垂直方向の動きベクトル成分の方向が前記平面に接近する方向から離れる方向へ反転したことを検出したとき、座標入力が行われたと判定することを特徴とする座標入力方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、筆記具および筆記面として専用の部材を必要としない電子式筆記入力装置などの座標入力装置に関し、ＰＤＰ（Ｐｌａｓｍａ  Ｄｉｓｐｌａｙ  Ｐａｎｅｌ）やリアプロジェクションタイプの大画面ディスプレイを使用した電子黒板やプレゼンテーションシステムなどに適用される。
【０００２】
【従来の技術】
電子ペンなどを用いて入力された座標を求める方法が種々提案されている。その一つは、座標入力領域の周囲に取り付けられた光再帰性反射シートを利用して、光が遮断された部分を検出することにより入力座標を求める方法であり（特開平１１−８５３７６号公報を参照）、他の一つは、複数のテレビカメラを用いて可動物体の３次元空間内の座標位置を求める方法である（特開昭６１−１９６３１７号公報を参照）。
【０００３】
【発明が解決しようとする課題】
前者の方法では、指やペン等の座標入力物体と座標入力面であるディスプレイ表面との間の接触、非接触を精度よく検出できるようにするために、光再帰性反射シートに照射する光ビームの幅をできるだけ小さくして、また光ビームをディスプレイ表面からできるだけ近い位置に照射する必要がある。この時、ディスプレイ表面が歪んでいる場合は、光ビームがディスプレイ表面に遮られて光が遮断されたことを検出しない程度に光ビームがディスプレイ表面から離れている必要がある。この場合、歪んだディスプレイ表面上の全ての位置で指やペン等の座標入力物体の接触を精度よく検出することが難しくなる。
【０００４】
すなわち、ディスプレイ表面に接触していた状態からペンアップにより非接触となったが光ビームは遮断されたままの状態になることが有り得る。この場合、文字が筆記者の意図しないものとなったり、ダブルクリックが検出されない、といった問題が発生する。
【０００５】
一方、後者では、高画素で画像信号の出力フレームレートが大きい２次元撮像素子を使用したテレビカメラであるので、高価である。
【０００６】
そこで、１ラインの画素数が大きく画像信号の出力フレームレートも大きい１次元撮像素子を使用したカメラを用いて座標入力物体とディスプレイ表面との接触を検出する方法が提案されている。
【０００７】
この場合の座標入力装置の外観を図２４に示す。なお、図２４では、カメラから出力される画像信号を基に座標を求めたり、表示部に画面データを出力するパーソナルコンピュータ等の制御装置の図示は省略している。この座標入力装置の中央はＰＤＰ等の表示部であり、この表示部の右上方部と左上方部にカメラがその光軸が表示部平面と平行となるように取り付けられている。なお、これらのカメラのレンズは画角が９０度以上の広角レンズであり、表示部全体について接触する座標入力物体を撮像できるようになっている。
【０００８】
また、座標入力装置の右辺、左辺、下辺には光の反射率の小さい黒い枠が取り付けられている。この枠の表示部平面と垂直方向の幅は、カメラの撮像範囲の幅と等しいかそれ以上であり、表示部の近傍に座標入力物体が無い場合は、カメラはその黒い枠を撮像するようになっている。カメラの撮像領域に座標入力物体が無く、黒い枠のみを撮像している時のカメラからの出力信号のレベルを基準レベルと定義する。ここで表示部近傍すなわちカメラの撮像領域に座標入力物体が存在すると、カメラの撮像素子はこの物体表面から反射される太陽光や照明光等の光を受光して、受光した画素は光電変換により電荷を掃き出すため、ラインセンサの全画素分に相当するカメラからの出力信号は、座標入力物体からの反射光を受光した画素に相当する部分のみ信号レベルが基準レベルに対して高くなる。
【０００９】
この信号レベルが基準レベルを基に決められたスレッシュレベルよりも大きい場合はそのピークに相当する画素位置のデータを使用して表示部上の座標を算出する。なお、この座標算出に関する詳細な説明は後述するため、ここではその説明を省略する。
【００１０】
上述したカメラからの出力信号のオシロスコープでの波形を図２５に示す。図２５では、ラインセンサの全画素分に相当する信号を１走査分示している。
【００１１】
座標入力物体が白色の場合は光の反射率が大きいため、その像部分に該当するカメラからの出力信号レベルは大きくなり、逆に座標入力物体が黒色の場合は光の反射率が小さいため、その像部分に該当するカメラからの出力信号レベルは小さくなる。また、カメラからの出力信号レベルはカメラにおける座標入力物体の撮像面積に依存する。すなわち、座標入力物体が表示部から離れており、カメラの撮像領域にほんの１部分しか存在しないような場合にはその像部分に該当するカメラからの出力信号レベルは小さくなり、座標入力物体が表示部に接触している場合にはその像部分に該当するカメラからの出力信号レベルは大きくなる。
【００１２】
したがって、カメラからの出力信号のスレッシュレベルを大きくすると座標入力物体として黒っぽいペンが使用されると座標入力ができず、逆にこのスレッシュレベルを小さくすると座標入力物体として白いペンが使用されると表示部に接触しなくても、座標入力が行われてしまうという相矛盾した不具合が発生する。後者の場合は前述したように、文字が筆記者の意図しないものとなったり、ダブルクリックが検出されないという問題がある。
【００１３】
上記した例の他に、座標の読み取り方式が電磁授受方式を採るタブレットがあるが、入力面上の空間でペン（専用ペン）先をカーソルの位置指定として機能できる範囲が非常に限定されている（例えば、最大で８ｍｍ程度）。この範囲をさらに拡大しようとすると、ペンを大型化したり、あるいはペンにバッテリを内蔵しなければならないという問題がある。
【００１４】
本発明は上記した背景を基になされたもので、
本発明の目的は、座標入力部材である物体の動きを見ることにより、座標入力が行われたことを判断して、その入力座標を求める座標入力装置および方法を提供することにある。
【００１５】
【課題を解決するための手段】
本発明では、レーザ光のような光ビームの走査手段を不要とし、また、ディスプレイ表面が歪んでいる場合にも座標入力部材とディスプレイ表面との接触、非接触を精度よく判断できるようにする。
【００１６】
また、本発明では、座標入力部材を特定しない。すなわち、例えば、ペン、指、棒が使用できる。座標入力が行われる部材はディスプレイに限定されたものではなく、座標入力面が平面であるという条件さえ満たしていればよい。例えば、座標入力が行われる部材として、黒板が使用できる。
【００１７】
【発明の実施の形態】
以下、本発明の一実施例を図面を用いて具体的に説明する。
（実施例１）
図１は、本発明の実施例１に係る座標入力システムのシステム構成図を示す。この座標入力システムは、座標入力装置１と制御装置２とから構成されていて、座標入力装置１は２個の電子カメラ１０、１１と表示部１２を具備している。電子カメラ１０および電子カメラ１１は、表示部１２に高画素タイプのＸＧＡ（１０２４×７６８画素）で表示された場合にも、メニュー選択や筆記動作等が支障なく実行される程度に高画素でまた画像信号の出力フレームレートが大きく、また光電変換された信号を画素単位に独立して出力することができる２次元撮像素子を具備している。この２次元撮像素子として、例えばＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）センサがある。
【００１８】
これらの電子カメラは、撮像素子において光電変換された電気信号をＡ／Ｄ（Ａｎａｌｏｇ／Ｄｉｇｉｔａｌ）変換して、デジタル画像データを出力する。また、各電子カメラの光軸は表示部１２平面と平行となるように取り付けられている。なお、これらの電子カメラのレンズは画角が９０度以上の広角レンズであり、表示部全体の領域について接触する座標入力物体を撮像できるようになっている。表示部１２は大画面ディスプレイであり、例えばＰＤＰが使用される。
【００１９】
次に、制御装置２のハードウェア構成を図２に示す。図中、ＣＰＵ２０、メインメモリ２１、クロック２２、バスコントローラ２３、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２４、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）ブリッジ２５、キャッシュメモリ２６、ハードディスク２７、ＨＤ（Ｈａｒｄ  Ｄｉｓｋ）コントローラ２８、表示コントローラ２９、画像処理回路（１）３０、画像処理回路（２）３１、ＬＡＮコントローラ３２、ＬＡＮ  Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３３、ＦＤ（Ｆｌｏｐｐｙ  Ｄｉｓｋ）コントローラ３４、ＦＤドライブ３５、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）コントローラ３６、ＣＤ−ＲＯＭドライブ３７、キーボードコントローラ３８、マウスＩ／Ｆ３９、ＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）４０、ＣＰＵバス４１、ＰＣＩバス４２、Ｘバス（内部バス）４３は、制御装置２に実装されている。
【００２０】
ＣＰＵ２０は、ＲＯＭ２４に記憶された制御処理プログラム、ハードディスク２７からメインメモリ２１に読み出されたＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種のアプリケーションプログラムを実行、処理する。メインメモリ２１は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）で構成されていて、ＣＰＵ２０のワークエリア等で使用される。クロック２２は、水晶発振子と分周回路から構成されていて、ＣＰＵ２０やバスコントローラ２３の動作タイミングを制御するためのクロックを生成している。バスコントローラ２３は、ＣＰＵバス４１とＸバス４３でのデータ転送を制御する。ＲＯＭ２４は、電源オン時のシステム立ち上げや各種デバイスの制御を行うためのプログラムが予め書き込まれている。ＰＣＩブリッジ２５は、キャッシュメモリ２６を使用して、ＰＣＩバス４２とＣＰＵ２０との間のデータ転送を行う。キャッシュメモリ２６は、ＤＲＡＭで構成されていて、ＰＣＩブリッジ２５により使用される。ハードディスク２７は、システムソフトウェア、各種のアプリケーションプログラム、多数のユーザデータ等を記憶する。ＨＤコントローラ２８は、ハードディスク２７とのインタフェースとして例えばＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｅｖｉｃｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）インタフェースを持ち、ハードディスク２７と高速データ転送を行う。
【００２１】
表示コントローラ２９は、文字データやグラフィックデータ等をＤ／Ａ（Ｄｉｇｉｔａｌ／Ａｎａｌｏｇ）変換するとともに、これらのデータを座標入力装置１の表示部１２に表示するための制御を行う。
【００２２】
画像処理回路（１）３０は、座標入力装置１の電子カメラ１０から出力されたデジタル画像データをＲＳ−４２２等のデジタルＩ／Ｆ（図示を省略）を介して入力し、その画像データから物体の抽出処理や物体の形状の認識処理、また物体の動きベクトルを求める処理等を行う。また、画像処理回路（１）３０は、電子カメラ１０に与えるクロックや画像転送パルスをＲＳ−４２２等のデジタルＩ／Ｆ（図示を省略）を介して出力する。
【００２３】
画像処理回路（２）３１は画像処理回路（１）３０と同じハードウェアであり、座標入力装置１の電子カメラ１１から出力されたデジタル画像データを入力し、画像処理回路（１）３０と同様な動作を実行する。なお、画像処理回路（１）３０と画像処理回路（２）３１からそれぞれ電子カメラ１０と電子カメラ１１へ与えるクロックや画像転送パルスは同期するようになっている。
【００２４】
ＬＡＮコントローラ３２は例えばＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）８０２．３規格に準拠した通信プロトコルを実行して、ＬＡＮ  Ｉ／Ｆ３３を介してイーサネットに接続された他の機器との通信を制御する。ＦＤコントローラ３４はＦＤドライブ３５とデータ転送を行う。ＣＤ−ＲＯＭコントローラ３６はＣＤ−ＲＯＭドライブ３７とのインタフェースとして例えばＩＤＥインタフェースを持ち、ＣＤ−ＲＯＭドライブ３７とデータ転送を行う。キーボードコントローラ３８は、キーボード４４から入力されたシリアルデータからパラレルデータへの変換を行う。マウスＩ／Ｆ３９は、マウス用のポートを持ち、マウスドライバ（制御プログラム）によって制御される。ＲＴＣ４０は、日付時計であり、図示していないバッテリーによりバックアップされている。なお、座標入力装置１が制御装置２の入力装置であるため、保守用の作業時を除き、キーボード４４およびマウス４５は接続する必要はない。
【００２５】
次に、座標入力部材が座標入力装置１の表示部１２に接触したときの接触位置を幾何学的に求める方法を説明する。図３に示すように、座標入力装置１の電子カメラ１０は広角レンズ５０、ＣＭＯＳイメージセンサ５１を具備し、電子カメラ１１は広角レンズ５２、ＣＭＯＳイメージセンサ５３を具備しており、それぞれの入射光の光軸が座標入力装置１の表示部１２平面に平行であり、また、それぞれの電子カメラが表示部１２全体の領域について接触する座標入力物体を撮像できるように配置されている。
【００２６】
広角レンズ５０と広角レンズ５２との距離をＬ、表示部１２平面における座標入力部材の接触点をＡ、点Ａの位置座標を（ｘ，ｙ）、広角レンズ５０と広角レンズ５２とを結ぶ直線をＸ−Ｌｉｎｅ、広角レンズ５０における接触点Ａの方向とＸ−Ｌｉｎｅとのなす角度をβ１、広角レンズ５２における接触点Ａの方向とＸ−Ｌｉｎｅとのなす角度をβ２とする。
【００２７】
また、広角レンズ５０およびＣＭＯＳイメージセンサ５１付近の拡大図を図４に示す。図４において、ｆは広角レンズ５０とＣＭＯＳイメージセンサ５１との間の距離、ｈはＣＭＯＳイメージセンサ５１における広角レンズ５０の光軸の結像位置と接触点Ａの結像位置との間の距離（表示部１２平面に平行な方向における距離）、αは広角レンズ５０の光軸とＸ−Ｌｉｎｅとのなす角度、θは接触点Ａとその結像点とを結ぶ線と広角レンズ５０の光軸とのなす角度である。これらを用いて、以下の２式が成り立つ。
【００２８】
θ＝ａｒｃｔａｎ（ｈ／ｆ）                              ……  （１）
β１＝α−θ                                            ……  （２）
ここで、角度αは組み付け仕様として予め判っているため、これら２式より角度β１を求めることができる。また、電子カメラ１１についても同様にして角度β２を求めることができる。
角度β１と角度β２が求まると、接触点Ａの位置座標（ｘ，ｙ）は、三角測量の原理により
ｘ＝Ｌｔａｎβ２／（ｔａｎβ１＋ｔａｎβ２）            ……  （３）
ｙ＝ｘｔａｎβ１                                        ……  （４）
として算出される。
【００２９】
次に、ＣＭＯＳイメージセンサ５１およびＣＭＯＳイメージセンサ５３上に結像される表示部１２平面に該当するエッジ部の像（直線）と各ＣＭＯＳイメージセンサの画素配列との関係について説明する。ＣＭＯＳイメージセンサ５１およびＣＭＯＳイメージセンサ５３は２次元の画素配列を持つが、縦方向と横方向とで画素数が異なる場合、画素数の小さい方向をＸ軸方向、画素数の大きい方向をＹ軸方向として、そのＹ軸方向が表示部１２平面にできるだけ平行となるように電子カメラ１０と電子カメラ１１が組み付けられる。縦方向と横方向の画素数が同じ場合は、いずれかの方向をＹ軸方向とする。
【００３０】
ここで、ＣＭＯＳイメージセンサ上に結像される表示部１２平面に該当するエッジ部の像（直線）が画素配列のＹ軸方向と一致しない場合は、表示部１２平面に該当するエッジ部の像（直線）と画素配列のＹ軸方向との成す角度δを求める。この角度δは、エッジ部の像（直線）上の数点の画素位置を調べることで求めることができる。この説明のための図を図５に示す。図５のエッジ部の像（直線）の端点を基準画素位置として、この直線上の任意の点、Ａ、Ｂ、ＣにおけるＸ軸方向の画素数ｘとＹ軸方向の画素数ｙを調べる。これらの各点において、
ｔａｎδ＊＝ｘ／ｙ                                    ……  （５）
によりδ＊が求まるため、これらの平均値を角度δとする。
【００３１】
ＣＭＯＳイメージセンサで撮像した画像データから表示部１２平面と物体（座
標入力部材）との距離を求める場合、表示部１２平面に該当するエッジ部の像（直線）をその画像データの座標系のＹ軸とした方が便利である。そこで、画像データを用いて表示部１２平面と物体（座標入力部材）との距離を求めたり、動きベクトルの大きさを求める場合、その画像データの座標値を上記で求めた角度δだけ回転させて処理する。図５に示すように、エッジ部の像（直線）が右に傾いている場合は左方向へ回転させ、逆に左に傾いている場合は右方向へ回転させる。この回転後の座標（ｘ’，ｙ’）は、回転前の座標を（ｘ，ｙ）として次式により求められる。
【００３２】
ｘ’＝ｘ×ｃｏｓδ＋ｙ×ｓｉｎδ                        ……  （６）
ｙ’＝ｙ×ｃｏｓδ−ｘ×ｓｉｎδ                        ……  （７）
なお、表示部１２平面に該当するエッジ部の像（直線）がＣＭＯＳイメージセンサ５１の画素配列のＹ軸方向に一致するように、工場出荷時あるいはユーザ先の設置時に調整されたり、あるいは適宜保守モードで調整される場合は上記の座標回転処理は必ずしも必要とはされない。
【００３３】
図６は、本発明の実施例１に係る制御装置の処理フローチャートを示す。座標入力装置１の電子カメラ１０は、ＣＭＯＳイメージセンサ５１の撮像領域の中で、表示部１２平面と垂直方向については画像信号を出力させる画素を制限する。すなわち、表示部１２平面から所定の距離までの範囲を撮像している画素のみについて画像信号を出力するように制御する。そして、この画像信号をＡ／Ｄ変換して、このデジタル画像データを制御装置２の画像処理回路（１）３０へ出力する。画像処理回路（１）３０はこの入力された１フレーム分の画像データから物体の輪郭線を抽出する処理を行う（ステップ１０１）。物体の輪郭線の抽出方法としては、例えば微分により画素間の濃度勾配を求め、その方向と大きさから輪郭線を判定する方法（例えば、特公平８−１６９３１号公報に記載の方法）等を用いる。
【００３４】
輪郭線が抽出されると、画像データ中の座標入力装置１の表示部１２平面に該当するエッジ部の像（直線）と抽出された輪郭線上における各点との間の画素数（つまり、距離に相当）を求める（ステップ１０２）。そして、この画素数（距離）の中の最小値Ｎｍｉｎが所定の値以下である場合には（ステップ１０３でＹＥＳ）、その画素数Ｎｍｉｎとなった画素を中心とした物体の輪郭線上における所定数の画素について、次に入力される１フレーム分の画像データから動きベクトルを求める（ステップ１０４）。
【００３５】
この動きベクトルを求める方法として、例えばオプティカルフローを使用する。オプティカルフローとは、画像の画素値の時間的な変化率とその周りでの空間的な変化率を用いて求められる、画像の各点での速度ベクトルのことである。動きベクトルは画像データ中における表示部１２平面に該当するエッジ部の像（直線）をＹ軸、これと垂直な方向をＸ軸として２次元で表す。
【００３６】
電子カメラ１０で撮像した上記の画像の１例（部分）を図７に示す。なお、図７は表示部１２とその周りのフレーム部分とが同一平面になるように取り付けられている場合を示す。
【００３７】
図７では、ペン先が表示部１２平面から所定の距離以内であるため、動きベクトル（Ｖｘ，Ｖｙ）が求められる。このようにして、入力される１フレーム分の画像データ毎に、表示部１２平面と物体との距離が所定の範囲内であれば輪郭線上の所定数の画素についてその物体の動きベクトルを求め、このＸ方向の成分Ｖｘの値を各画素毎にメインメモリ２１に逐次記憶しておく（ステップ１０５）。そして、この逐次記憶されたデータ（トレースデータ）に基づいて、物体が表示部１２に対して座標入力を行ったか否かを判断する（ステップ１０６）。
【００３８】
この判断方法として、例えば後述する実施例３や実施例４に記載の方法を使用する。そして、座標入力が行われたと判断した場合は（ステップ１０７でＹＥＳ）、その時点における各動きベクトルの座標の中で座標入力物体が表示部１２平面に接触している中心にある点Ｐ、あるいは表示部１２平面に最も近い点ＰのＹ軸方向の位置、すなわちＹ軸方向の端からの画素数Ｎ１を調べる。ここで、広角レンズ５０の光軸の結像位置の中心点ＱにおけるＹ軸方向の端からの画素数Ｎ２は既に知られた値であるため、点Ｐと点Ｑとの間のＹ軸方向についての画素数は｜Ｎ１−Ｎ２｜となり、この値とＣＭＯＳイメージセンサ５１の画素間の距離（画素ピッチ）から点Ｐと点Ｑとの間のＹ軸方向についての距離ｈが求まる（ステップ１０８）。このｈが図４に示したｈである。
【００３９】
距離ｈが求まると、式（１）と式（２）より既知の値を持つｆとαを用いて角度β１が求まる（ステップ１１０）。画像処理回路（２）３１においても電子カメラ１１から入力される画像データを用いて上記と同様な処理を行い、角度β２が求まる。これらのβ１、β２および既知の値を持つＬを用いて式（３）と式（４）より表示部１２面上における座標（ｘ，ｙ）が求まる（ステップ１１１）。
【００４０】
ステップ１０７でＮＯのときは、Ｖｘのデータ列を基に、物体が表示部表面から所定の距離範囲にあるか否かを判定し、所定の距離範囲にあるときには（ステップ１０９でＹＥＳ）、ステップ１０４に進み、前述したように動きベクトルを求め、ステップ１０９でＮＯのときはステップ１０１に戻る。
【００４１】
なお、式（１）から式（４）を使用した上述の計算はＣＰＵ２０で実行してもよいし、式（１）と式（２）の計算を画像処理回路（１）３０および画像処理回路（２）３１で実行し、式（３）と式（４）の計算をＣＰＵ２０で実行するようにしてもよい。
【００４２】
また、表示部１２平面と物体との距離をチェックする際に、画像データ中の座標入力装置１の表示部１２平面に該当するエッジ部の像（直線）と物体の輪郭線上における所定の間隔でサンプリングされた各点との間の画素数（つまり距離に相当）を求めて、この画素数（距離）の中の最小値Ｎｍｉｎが所定の値以下である場合に、その画素数Ｎｍｉｎとなった画素を中心とした物体の輪郭線上における所定数の画素について、次に入力される１フレーム分の画像データから動きベクトルを求めるようにしてもよい。
【００４３】
ＣＰＵ２０は筆記入力（描画）モードにある場合は座標入力部材による座標入力が行われている間に得られた座標データ列から表示用の描画データを生成して、これを表示コントローラ２９を介して座標入力装置１の表示部１２に表示する。
【００４４】
上記した実施例の説明では、表示部１２平面に歪みが無く、また座標入力動作時にへこまない硬い材質で構成されている場合を示している。ところが、表示部１２平面に歪みがあったり、あるいはこの表面の材質が柔らかいもので構成されていて座標入力動作時に表面がへこむような場合は、座標入力物体の表示部１２への接触部分の一部が画像として得ることができず、またこの部分に該当する画素の動きベクトルも得られない。この場合の一例を図８に示す。
【００４５】
図８は、表示部１２としてリアプロジェクションタイプの表示装置が使用され、この表示表面が柔らかく、座標入力動作時に表面がへこんだ場合を示している。この場合は、座標入力物体（ペン）の表示部１２への接触部分の一部（ペン先）が画像として得ることができない。そこで、表示部１２への接触部分の両端点（図中、点Ａと点Ｂ）の中間点を座標入力物体が表示部１２平面に接触している中心にある点Ｐとみなして上述した処理により表示部１２面上における座標を求める。
【００４６】
（実施例２）
実施例２は、座標入力部材であると判断された物体の動きを見ることにより、座標入力が行われたことを判断して、その入力座標を求める実施例である。実施例２の座標入力システムの構成、制御装置の構成は、実施例１と同様である。
【００４７】
図９は、本発明の実施例２に係る制御装置の処理フローチャートを示す。座標入力装置１の電子カメラ１０は実施例１と同様にして、画像データを制御装置２の画像処理回路（１）３０へ出力する。画像処理回路（１）３０はこの入力された１フレーム分の画像データから実施例１と同様にして、物体の輪郭線を抽出する処理を行う（ステップ２０１）。輪郭線が抽出されると、その輪郭線の形状よりその物体が座標入力部材であるか否かを判断する。
【００４８】
この形状判断は、画像認識技術を用いて行う。この形状認識の方法として、例えば、まず物体の重心を求め、この重心と輪郭線までの距離を重心の回り（３６０°）について順次求め、この角度と距離の関係から輪郭線の形状を特定する方法（特開平８−３１５１５２を参照）を用いる。この得られた輪郭線の形状に関するデータは、座標入力部材の形状としてＲＯＭ２４またはハードディスク２７に予め記憶されたデータと比較することで（ステップ２０２）、その形状の物体が座標入力部材であるか否かを判断する（ステップ２０３）。
【００４９】
表示部１２に表示されたアイコンやメニューに対するポインティングや筆記入力等の座標入力動作時は、座標入力部材の表示部１２平面に対する傾きが一定でないため、物体の重心と輪郭線とを結ぶ基準線（０°の位置）をある角度の範囲内で回転させて予め記憶されたデータと比較する。この座標入力部材の画像および基準線の回転の例を図１０に示す。なお、座標入力部材の形状に関するデータを複数種類用意しておき、形状の判断処理時にこれらを全て利用してもよい。また、座標入力部材の形状に関するデータを予め記憶せずに、図１１に示すように、輪郭線が抽出された物体が左右対称であるか否かをチェックして、対称と判断した場合にその物体を座標入力部材とする方法もある。この対称性は上述した重心と輪郭線までの距離を重心の回りについて順次求めることで判断することができる。
【００５０】
上記の判断処理により座標入力部材であると判断した場合は（ステップ２０３でＹＥＳ）、画像データ中の座標入力装置１の表示部１２平面に該当するエッジ部の像（直線）と座標入力部材であると判断された物体の輪郭線上における各点との間の画素数を求める（ステップ２０４）。そして、この画素数の中の最小値Ｎｍｉｎが所定の値以下である場合には（ステップ２０５でＹＥＳ）、その画素数Ｎｍｉｎとなった画素を中心とした物体の輪郭線上における所定数の画素について、次に入力される１フレーム分の画像データから、実施例１と同様にオプティカルフローを使用して動きベクトル（Ｖｘ，Ｖｙ）を求める（ステップ２０６）。
【００５１】
以下、前述した実施例１と同様に処理して、表示部１２面上における座標（ｘ，ｙ）が求まる（ステップ２１３）。
【００５２】
（実施例３）
本実施例は、座標入力部材と座標入力が行われる表示部材との距離が所定の値以下の場合に、座標入力部材である物体が接近から離れる方向へ動きが反転したことを見ることで、座標入力が行われたことを判断して、その入力座標を求める実施例であり、主に表示部１２に表示されたアイコンやメニューに対してポインティングする場合に適用される。実施例３の座標入力システムの構成、制御装置の構成は、実施例１と同様である。
【００５３】
図１２は、本発明の実施例３に係る制御装置の処理フローチャートを示す。実施例２と同様にして、画像処理回路（１）３０は入力された１フレーム分の画像データから物体の輪郭線を抽出する処理を行う（ステップ３０１）。輪郭線が抽出されると、その輪郭線の形状を基に、その物体が座標入力部材であるか否かを判断する（ステップ３０２）。
【００５４】
座標入力部材であると判断した場合は（ステップ３０２でＹＥＳ）、画像データ中の座標入力装置１の表示部１２平面に該当するエッジ部の像（直線）と座標入力部材であると判断された物体の輪郭線上における各点との間の画素数を求める（ステップ３０３）。そして、この画素数の中の最小値Ｎｍｉｎが所定の値以下である場合には（ステップ３０４でＹＥＳ）、その画素数Ｎｍｉｎとなった画素を中心とした物体の輪郭線上における所定数の画素について、次に入力される１フレーム分の画像データからオプティカルフローを使用して動きベクトル（Ｖｘ，Ｖｙ）を求める（ステップ３０５）。なお、画像データ中における表示部１２平面に該当するエッジ部の像（直線）をＹ軸、これと垂直な方向をＸ軸としている。
【００５５】
このようにして、入力される１フレーム分の画像データ毎に、表示部１２平面と物体との距離が所定の範囲内であれば輪郭線上の所定数の画素についてその物体の動きベクトルを求め、このＸ方向の成分Ｖｘの値を各画素毎にメインメモリ２１に逐次記憶しておく（ステップ３０６）。そして、これらのＸ方向の成分Ｖｘの値が表示部１２平面に近づく方向から離れる方向へ向きが逆転した場合は（ステップ３０７でＹＥＳ）、その向きが逆転したベクトルの始点の中で座標入力部材が表示部１２平面に接触している中心にある点Ｐ、あるいは表示部１２平面に最も近い点Ｐと広角レンズ５０の光軸の結像位置の中心点Ｑとの間のＹ軸方向についての画素数を求め、この値とＣＭＯＳイメージセンサ５１の画素間の距離（画素ピッチ）から点Ｐと点Ｑとの間のＹ軸方向についての距離ｈを求める（ステップ３０９）。
【００５６】
以下、実施例１、２と同様にして、距離ｈが求まると、式（１）と式（２）より角度β１が求まり（ステップ３１０）、また画像処理回路（２）３１においても電子カメラ１１から入力される画像データを用いて上記と同様な処理により角度β２が求まる。これらのβ１、β２および既知の値を持つＬを用いて式（３）と式（４）より表示部１２面上における座標（ｘ，ｙ）が求まる（ステップ３１１）。上記ステップ３０７でＮＯのときは、ステップ３０８に進み、実施例１、２と同様に、Ｖｘのデータ列を基に、物体が表示部表面から所定の距離範囲にあるか否かを判定する。
【００５７】
（実施例４）
本実施例は、座標入力部材と座標入力が行われる表示部材との距離が所定の値以下の場合に、座標入力部材である物体が座標入力が行われる部材の平面部と垂直方向の動きが接近から停止へと動きが止まったことを見ることで、座標入力が行われたことを判断して、座標入力状態としてその入力座標を求める動作を開始し、その後、座標入力部材が平面部から離れる方向に動いたことを検出すると、座標入力状態を解除して、その入力座標を求める動作を停止する実施例であり、主に表示部１２に対して筆記入力する場合に適用される。また、実施例４の座標入力システムの構成、制御装置の構成は、実施例１と同様である。
【００５８】
図１３は、実施例４に係る制御装置の処理フローチャートを示す。実施例２と同様にして、画像処理回路（１）３０は入力された１フレーム分の画像データから物体の輪郭線を抽出する処理を行う（ステップ４０１）。輪郭線が抽出されると、その輪郭線の形状よりその物体が座標入力部材であるか否かを判断する（ステップ４０２）。
【００５９】
座標入力部材であると判断した場合は、画像データ中の座標入力装置１の表示部１２平面に該当するエッジ部の像（直線）と座標入力部材であると判断された物体の輪郭線上における各点との間の画素数を求める（ステップ４０３）。そして、この画素数の中の最小値Ｎｍｉｎが所定の値以下である場合には（ステップ４０４でＹＥＳ）、その画素数Ｎｍｉｎとなった画素を中心とした物体の輪郭線上における所定数の画素について、次に入力される１フレーム分の画像データからオプティカルフローを使用して動きベクトル（Ｖｘ，Ｖｙ）を求める（ステップ４０５）。なお、画像データ中における表示部１２平面に該当するエッジ部の像（直線）をＹ軸、これと垂直な方向をＸ軸としている。
【００６０】
このようにして、入力される１フレーム分の画像データ毎に、表示部１２平面と物体との距離が所定の範囲内であれば輪郭線上の所定数の画素についてその物体の動きベクトルを求め、このＸ方向の成分Ｖｘの値を各画素毎にメインメモリ２１に逐次記憶しておく（ステップ４０６）。そして、これらのＸ方向の成分Ｖｘの値がゼロとなった場合は（ステップ４０７でＹＥＳ）、座標入力が行われたと判断して座標入力状態とする（ステップ４０９）。
【００６１】
次いで、これらのベクトルの中で座標入力部材が表示部１２平面に接触している中心にある点Ｐ、あるいは表示部１２平面に最も近い点Ｐと広角レンズ５０の光軸の結像位置の中心点Ｑとの間のＹ軸方向についての画素数を求め、この値とＣＭＯＳイメージセンサ５１の画素間の距離（画素ピッチ）から点Ｐと点Ｑとの間のＹ軸方向についての距離ｈを求める（ステップ４１０）。
【００６２】
距離ｈが求まると、式（１）と式（２）より角度β１が求まり（ステップ４１１）、また画像処理回路（２）３１においても電子カメラ１１から入力される画像データを用いて上記と同様な処理により角度β２が求まる。これらのβ１、β２および既知の値を持つＬを用いて式（３）と式（４）より表示部１２面上における座標（ｘ，ｙ）が求まる（ステップ４１２）。
【００６３】
続いて、座標入力部材が表示部１２平面に接触している中心にある点Ｐ、あるいは表示部１２平面に最も近い点Ｐの動きベクトルに着目し、Ｘ方向の成分Ｖｘの値がゼロのままでＹ方向の成分Ｖｙの値が変化した場合（ステップ４１３でＹＥＳ）、点Ｐと点Ｑとの間のＹ軸方向についての距離ｈを求めて上記と同様にして表示部１２面上における座標（ｘ，ｙ）を求める（ステップ４１２）。そして、ＣＰＵ２０は得られた座標データ列から表示用の描画データを生成して、これを表示コントローラ２９を介して座標入力装置１の表示部１２に表示する。
【００６４】
ステップ４１３でＮＯのとき、点Ｐの動きベクトルのＸ方向の成分Ｖｘの値がマイナスの値、すなわち表示部１２平面から離れる方向になった場合は（ステップ４１４でＹＥＳ）、座標入力状態を解除して表示部１２面上における座標を求める動作を停止する（ステップ４１５）。
【００６５】
なお、座標入力状態となった後に、点Ｐの動きベクトルのＸ方向の成分Ｖｘの値が正（表示部１２平面に近づく方向）でＹ方向の成分Ｖｙの値が変化した場合も表示部１２面上における座標（ｘ，ｙ）を求める。
【００６６】
（実施例５）
本実施例は、座標入力部材と座標入力が行われる表示部材との距離が所定の値以下の場合には撮像素子から出力される画像信号のフレームレート（１秒間のフレーム数）を大きくして動きを精度よく見るようにし、それ以外の場合には撮像素子から出力される画像信号のフレームレートを小さくして装置の負荷を軽減させる実施例である。また、実施例５の座標入力システムの構成、制御装置の構成は、実施例１と同様である。
【００６７】
実施例５の座標入力装置１の電子カメラ１０と電子カメラ１１は、それぞれＣＭＯＳイメージセンサ５１およびＣＭＯＳイメージセンサ５３から出力される画像信号のフレームレートを可変に制御でき、このフレームレートに応じたデータ量の画像データを制御装置２の画像処理回路（１）３０と画像処理回路（２）３１へ出力できるようになっている。ここでは、大小２種類のフレームレートがあり、これらを適宜切り換えられるようになっているものとする。また、電源投入時はデフォルトとして小さい方のフレームレートが選択されているものとする。
【００６８】
図１４は、実施例５に係る制御装置の処理フローチャートを示す。実施例２と同様にして、画像処理回路（１）３０は入力された１フレーム分の画像データから物体の輪郭線を抽出する処理を行う（ステップ５０１）。輪郭線が抽出されると、その輪郭線の形状よりその物体が座標入力部材であるか否かを判断する（ステップ５０２）。座標入力部材であると判断した場合は、画像データ中の座標入力装置１の表示部１２平面に該当するエッジ部の像（直線）と座標入力部材であると判断された物体の輪郭線上における各点との間の画素数を求める（ステップ５０３）。
【００６９】
次いで、この画素数の中の最小値Ｎｍｉｎが所定の値以下である場合には（ステップ５０４でＹＥＳ）、画像処理回路（１）３０は座標入力装置１の電子カメラ１０に対してＣＭＯＳイメージセンサ５１から出力される画像信号のフレームレートを大きくする要求コマンドを出す（ステップ５０５）。電子カメラ１０はこのコマンドを受け取ると、ＣＭＯＳイメージセンサ５１から出力される画像信号のフレームレートを大きくするように制御する。これは、例えば、ＣＭＯＳイメージセンサ５１を構成する各素子の電荷蓄積時間を短くするように設定することで実現される。この時点（つまり、ステップ５０４で）の画素数の最小値Ｎｍｉｎを比較する所定の値は、実施例１から実施例４に示した座標入力部材の動きベクトルデータのトレースを開始する時の値とは異なり、より大きな値が設定される。
【００７０】
続いて、実施例２と同様にして、座標入力部材と表示部１２平面との距離が所定の範囲内（画像信号のフレームレートを切り替える時の範囲より小さい）であると判断した場合は（ステップ５０６でＹＥＳ）、座標入力部材の動きベクトルデータをトレースし（トレースを行う範囲＜大きいフレームレートの範囲）、座標入力の判断処理（つまり、実施例１から実施例４で説明した入力座標を求める処理）を行う（ステップ５０７）。
【００７１】
一方、座標入力部材が動きベクトルデータのトレースを行う範囲から出て（ステップ５０６でＮＯ）、さらに表示部１２平面から所定の距離（画像信号のフレームレートを大きくなるように切り替えた距離）以上になったと判断した場合は（ステップ５０８でＮＯ）、画像処理回路（１）３０は座標入力装置１の電子カメラ１０に対してＣＭＯＳイメージセンサ５１から出力される画像信号のフレームレートを小さくする要求コマンドを出し（ステップ５０９）、ステップ５０１に進む。そして、ＣＭＯＳイメージセンサ５１から出力される画像信号のフレームレートが小さくなるように制御される。
【００７２】
なお、座標入力部材が動きベクトルデータのトレースを行う範囲から出た場合は、座標入力部材の輪郭線上の各点と表示部平面に該当するエッジ部の像（直線）との間の画素数を調べることで、所定の距離以上になったことを判断する。
【００７３】
以上、画像処理回路（１）３０と電子カメラ１０との間の動作を示したが、画像処理回路（２）３１と電子カメラ１１も同様な動作を実行する。また、画像処理回路から出されるフレームレートの切替要求コマンドは、画像データを受信するケーブルを介して電子カメラへ渡される。
【００７４】
（実施例６）
本実施例は、光電変換された信号を画素単位に独立して出力することができる撮像素子を使用し、座標入力部材と座標入力が行われる表示部材との距離が所定の値以下の場合には光電変換された信号を出力する画素を座標入力部材の像を中心とした限定された領域に含まれるものに限定して、装置の負荷を軽減させる実施例である。また、実施例６の座標入力システムの構成、制御装置の構成は、実施例１と同様である。
【００７５】
実施例６の電子カメラ１０と電子カメラ１１は、それぞれＣＭＯＳイメージセンサ５１およびＣＭＯＳイメージセンサ５３から画像信号を画素単位で出力するように制御できる。電源投入時は、表示部１２平面全体から所定の距離までの範囲を撮像している画素について画像信号を出力するように制御している。
【００７６】
図１５は、実施例６に係る制御装置の処理フローチャートを示す。実施例２と同様にして、画像処理回路（１）３０は入力された１フレーム分の画像データから物体の輪郭線を抽出する処理を行う（ステップ６０１）。輪郭線が抽出されると、その輪郭線の形状よりその物体が座標入力部材であるか否かを判断する（ステップ６０２）。座標入力部材であると判断した場合は、画像データ中の座標入力装置１の表示部１２平面に該当するエッジ部の像（直線）と座標入力部材であると判断された物体の輪郭線上における各点との間の画素数を求める（ステップ６０３）。
【００７７】
次いで、この画素数の中の最小値Ｎｍｉｎが所定の値Ｋ以下である場合には（ステップ６０４でＹＥＳ）、その輪郭線上の点のＹ軸方向の位置ｙｍ（Ｙ軸方向の端からの画素数）を調べる。そして、このＹ軸方向の位置ｙｍを中心として、ＣＭＯＳイメージセンサ５１から画像信号を出力する画素領域をＹ軸のプラスおよびマイナス方向についてそれぞれλ画素に制限するための要求コマンドを座標入力装置１の電子カメラ１０に対して出す（ステップ６０５）。この画像例を図１６（ａ）に示す。
【００７８】
電子カメラ１０はこのコマンドを受け取ると、ＣＭＯＳイメージセンサ５１から画像信号を出力する画素領域を、Ｙ軸方向の位置ｙｍを中心としてＹ軸のプラスおよびマイナス方向についてそれぞれλ画素に制限するように制御する。
【００７９】
その後、座標入力部材がＹ軸方向に所定の距離（画素数Ｌ）だけ移動すると（ステップ６０６でＹＥＳ）、ＣＭＯＳイメージセンサ５１から画像信号を出力する画素領域をそのＹ軸方向の位置ｙｍ’を中心としてＹ軸のプラスおよびマイナス方向についてそれぞれλ画素に制限するための要求コマンドを座標入力装置１の電子カメラ１０に対して出す（ステップ６０７）。この画像例を図１６（ｂ）に示す。
【００８０】
このようにして、表示部１２平面と座標入力部材との距離が所定の範囲内であれば、ＣＭＯＳイメージセンサ５１から画像信号を出力する画素領域をＹ軸方向について２λ画素となるように制御する。
【００８１】
続いて、実施例２と同様にして、座標入力部材と表示部１２平面との距離が所定の範囲内（画素数（距離）Ｋより小さな画素数（距離）に設定）であると判断した場合は、座標入力部材の動きベクトルデータをトレースする。そして、座標入力部材が動きベクトルデータのトレースを行う範囲から出て（ステップ６０８でＮＯ）、さらに表示部１２平面から所定の距離（画素数Ｋ）以上になったと判断した場合は（ステップ６１０でＮＯ）、画像処理回路（１）３０は座標入力装置１の電子カメラ１０に対してＣＭＯＳイメージセンサ５１から表示部１２平面全体の範囲について画像信号を出力する要求コマンドを出す（ステップ６１１）。そして、ＣＭＯＳイメージセンサ５１から画像信号を出力する画素領域は電源投入時の初期値と同じになるように制御される。
【００８２】
なお、座標入力部材が動きベクトルデータのトレースを行う範囲から出た場合は、座標入力部材の輪郭線上の各点と表示部平面に該当するエッジ部の像（直線）との間の画素数を調べることで、所定の距離以上になったことを判断する。
【００８３】
以上、画像処理回路（１）３０と電子カメラ１０との間の動作を示したが、画像処理回路（２）３１と電子カメラ１１も同様な動作を実行する。また、画像処理回路から出される画素領域の切替要求コマンドは、画像データを受信するケーブルを介して電子カメラへ渡される。
【００８４】
（実施例７）
現在市販されているＰＤＰやリアプロジェクションタイプの大画面ディスプレイは画面サイズが４０インチから７０インチである。これらのディスプレイに表示される内容はパーソナルコンピュータ等からの出力画面であり、高画素タイプのＸＧＡ（Ｅｘｔｅｎｄｅｄ  Ｇｒａｐｈｉｃｓ  Ａｒｒａｙ：１０２４×７６８画素）で表示された場合にも、メニュー選択や筆記動作等が支障なく実行されることが要求される。
【００８５】
この座標の読み取り分解能の条件を満たすために、撮像素子をディスプレイの一つの辺を挟んだ頂角に各１個ずつ、計２個使用した場合には、約２０００画素のラインを含んだ撮像素子が必要となる。
【００８６】
座標入力部材の動きを精度よく見るためには撮像素子から出力される画像信号のフレームレートを大きくする必要があるが、１辺が２０００画素程度の２次元撮像素子で出力フレームレートの大きなものを使用すると、このコストが非常に高価なものとなり、製品全体のコストを押し上げてしまう。
【００８７】
撮像素子以外にも、１次元画像を処理する手段は画素数の多い２次元画像を処理する手段に比べて非常に安価に実現できる。
【００８８】
そこで、実施例７および後述する実施例８では、ディスプレイの表示画面上の２次元座標を求める撮像素子として２０００画素程度の１次元ラインセンサを２個使用し、ディスプレイの表示画面近傍の空間における座標入力部材の動きはＶＧＡ（Ｖｉｄｅｏ  Ｇｒａｐｈｉｃｓ  Ａｒｒａｙ：６４０×４８０画素）程度の画素数の２次元撮像素子を１個あるいは２個使用して見るようにして、コストを押さえる。
【００８９】
図１７は、本発明の実施例７に係る座標入力システムのシステム構成図を示す。この座標入力システムは座標入力装置６０と制御装置６１とから構成されていて、座標入力装置６０は１次元撮像素子を具備した２個の電子カメラ（ラインセンサカメラ）７０、７１と２次元撮像素子を具備した１個の電子カメラ７２、表示部７３および枠７４を具備している。
【００９０】
ラインセンサカメラ７０、７１は１次元撮像素子としてＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）を使用している。この１次元ＣＣＤ（ラインセンサ）は、その画素数が表示部７３に高画素タイプのＸＧＡ（１０２４×７６８画素）で表示された場合にも、メニュー選択や筆記動作等が支障なく実行される程度に高画素でまた画像信号の出力フレームレートは高画素タイプの２次元撮像素子に比べて非常に大きい。これらのラインセンサカメラ７０、７１の光学的な位置関係は図３に示したものと同じである。
【００９１】
電子カメラ７２は、図１で説明した実施例の電子カメラ１０と同様に２次元撮像素子としてＣＭＯＳセンサを使用しており、この画素数は表示部７３平面に対して座標入力が行われる座標入力部材の動きを認識できる程度に高画素でまた画像信号の出力フレームレートも大きい。
【００９２】
ラインセンサカメラ７０、７１は撮像素子において光電変換された電気信号をアナログ信号のまま出力し、電子カメラ７２は撮像素子において光電変換された電気信号をＡ／Ｄ変換して、デジタル画像データを出力する。また、各電子カメラの光軸は表示部７３平面と平行となるように取り付けられている。なお、これらの電子カメラのレンズは画角が９０度以上の広角レンズであり、表示部全体の領域について接触する座標入力物体を撮像できるようになっている。
【００９３】
表示部７３は大画面ディスプレイであり、例えばＰＤＰが使用される。枠７４は黒色で、かつ光の反射率が小さい材質で出来ている。また、この枠７４は座標入力装置６０の右辺、左辺、下辺に沿って取り付けられており、この枠の表示部７３平面と垂直方向の幅は、ラインセンサカメラ７０、７１の撮像範囲の幅と等しいかそれ以上であり、表示部７３の近傍に座標入力物体が無い場合は、ラインセンサカメラ７０、７１はその黒い枠を撮像するようになっている。
【００９４】
図１８は、本発明の実施例７に係る制御装置６１のハードウェア構成を示す。図中、ＣＰＵ８０、メインメモリ８１、クロック８２、バスコントローラ８３、ＲＯＭ８４、ＰＣＩブリッジ８５、キャッシュメモリ８６、ハードディスク８７、ＨＤコントローラ８８、表示コントローラ８９、画像処理回路（１）９０、画像処理回路（２）９１、画像処理回路（３）９２、ＬＡＮコントローラ９３、ＬＡＮ  Ｉ／Ｆ９４、ＦＤコントローラ９５、ＦＤドライブ９６、ＣＤ−ＲＯＭコントローラ９７、ＣＤ−ＲＯＭドライブ９８、キーボードコントローラ９９、マウスＩ／Ｆ１００、ＲＴＣ１０１、ＣＰＵバス１０２、ＰＣＩバス１０３、Ｘバス（内部バス）１０４は、制御装置６１に実装されている。
【００９５】
これらの構成要素の中で、画像処理回路（１）９０、画像処理回路（２）９１、画像処理回路（３）９２以外は、図２で説明した実施例の各構成要素と同じであるため、それらの説明は省略する。
【００９６】
画像処理回路（１）９０は、座標入力装置６０の電子カメラ７２から出力されたデジタル画像データをＲＳ−４２２等のデジタルＩ／Ｆ（図示を省略）を介して入力し、その画像データから物体の抽出処理や物体の形状の認識処理、また物体の動きベクトルを求める処理等を行う。画像処理回路（２）９１はＡ／Ｄ変換回路を含んでおり、座標入力装置６０のラインセンサカメラ７０から出力されたアナログ画像信号を同軸ケーブルを介して入力し、その画像信号から１次元上における物体の位置を検出する。なお、画像処理回路（２）９１はラインセンサカメラ７０に与えるクロックやライン転送パルスはＲＳ−４２２等のデジタルＩ／Ｆ（図示を省略）を介して出力する。画像処理回路（３）９２は画像処理回路（２）９１と同じハードウェアであり、座標入力装置６０のラインセンサカメラ７１から出力されたアナログ画像信号を入力し、画像処理回路（２）９１と同様な動作を実行する。なお、画像処理回路（２）９１と画像処理回路（３）９２からそれぞれラインセンサカメラ７０とラインセンサカメラ７１へ与えるクロックやライン転送パルスは同期するようになっている。
【００９７】
ここで、ラインセンサカメラ７０、７１および画像処理回路（２）９１、画像処理回路（３）９２の動作を詳細に説明する。ラインセンサカメラ７０、７１の撮像領域に座標入力物体が無く、黒い枠のみを撮像している時のこれらのカメラからの出力信号のレベルを基準レベルと定義する。ここで表示部７３近傍すなわちラインセンサカメラ７０、７１の撮像領域に座標入力物体が存在すると、ラインセンサカメラ７０、７１の撮像素子はこの物体表面から反射される太陽光や照明光等の光を受光して、受光した画素は光電変換により電荷を掃き出すため、ラインセンサの全画素分に相当するラインセンサカメラ７０、７１からの出力信号は、座標入力物体からの反射光を受光した画素に相当する部分のみ信号レベルが基準レベルに対して高くなる。この時のラインセンサカメラ７０、７１からの出力信号波形の１例は図２５に示した通りである。
【００９８】
画像処理回路（２）９１、画像処理回路（３）９２は、この信号レベルが基準レベルを基に予め決められたスレッシュレベルよりも大きいことを検知した場合はそのピークに相当する画素位置を求める。信号のピーク部分の画素位置がわかると、その画素とラインセンサカメラ７０の光軸の結像位置の画素との距離ｈをラインセンサの画素間の距離（画素ピッチ）を用いて求めることができる。なお、このｈは図４に示したｈである。距離ｈが求まると、前述した実施例と同様に、式（１）と式（２）より既知の値を持つｆとαを用いて角度β１が求まる（図４を参照）。
【００９９】
画像処理回路（３）９２においてもラインセンサカメラ７１から入力される画像信号を用いて上記と同様な処理を行い、角度β２が求まる。これらのβ１、β２および既知の値を持つＬを用いて式（３）と式（４）より表示部７３面上における座標（ｘ，ｙ）が求まる。
【０１００】
図１９は、実施例７に係る制御装置６１の処理フローチャートを示す。座標入力装置６０の電子カメラ７２は、内蔵されたＣＭＯＳイメージセンサの撮像領域の中で、表示部７３平面と垂直方向については画像信号を出力させる画素を制限する。すなわち、表示部７３平面から所定の距離までの範囲を撮像している画素のみについて画像信号を出力するように制御する。そして、この画像信号をＡ／Ｄ変換して、このデジタル画像データを制御装置６１の画像処理回路（１）９０へ出力する。画像処理回路（１）９０はこの入力された１フレーム分の画像データから物体の輪郭線を抽出する処理を行う（ステップ７０１）。
【０１０１】
輪郭線が抽出されると、画像データ中の座標入力装置６０の表示部７３平面に該当するエッジ部の像（直線）と抽出された輪郭線上における各点との間の画素数を求める（ステップ７０２）。次いで、この画素数の中の最小値Ｎｍｉｎが所定の値以下である場合には（ステップ７０３でＹＥＳ）、その画素数Ｎｍｉｎとなった画素を中心とした物体の輪郭線上における所定数の画素について、次に入力される１フレーム分の画像データから動きベクトルを求める（ステップ７０４）。なお、画像データ中における表示部７３平面に該当するエッジ部の像（直線）をＹ軸、これと垂直な方向をＸ軸とする。
【０１０２】
このようにして、１フレーム分の画像データが入力される毎に動きベクトルを求め、このＸ方向の成分Ｖｘの値を各画素毎にメインメモリ８１に逐次記憶しておく（ステップ７０５）。続いて、この逐次記憶されたデータ（トレースデータ）に基づいて、物体が表示部７３に対して座標入力を行ったか否かを判断する（ステップ７０６）。この判断方法として、例えば前述した実施例３や実施例４に記載の方法を使用する。
【０１０３】
座標入力が行われたと判断した場合は（ステップ７０７でＹＥＳ）、画像処理回路（２）９１と画像処理回路（３）９２がラインセンサカメラ７０、７１からの出力信号に基づいて座標入力物体の撮像位置を検出して、その中心画素とラインセンサカメラ７０、７１の光軸の結像位置の画素との距離ｈをそれぞれ求める（ステップ７０８）。
【０１０４】
画像処理回路（２）９１はこのｈを用いて式（１）と式（２）より角度β１を求める（ステップ７０９）。画像処理回路（３）９２においても同様にして角度β２を求める。これらのβ１、β２および既知の値を持つＬを用いて式（３）と式（４）より表示部７３面上における座標（ｘ，ｙ）を求める（ステップ７１１）。
【０１０５】
（実施例８）
実施例８の座標入力システムの構成、制御装置の構成は、実施例７と同様である。図２０は、実施例８に係る制御装置６１の処理フローチャートを示す。
【０１０６】
座標入力装置６０の電子カメラ７２は実施例７と同様にして、画像データを制御装置６１の画像処理回路（１）９０へ出力する。画像処理回路（１）９０はこの入力された１フレーム分の画像データから物体の輪郭線を抽出する処理を行う（ステップ８０１）。
【０１０７】
輪郭線が抽出されると、その輪郭線の形状よりその物体が座標入力部材であるか否かを判断する（ステップ８０２）。この形状判断は、例えば実施例２で説明した方法を使用する。そして、座標入力部材であると判断した場合は（ステップ８０３でＹＥＳ）、画像データ中の座標入力装置６０の表示部７３平面に該当するエッジ部の像（直線）と座標入力部材であると判断された物体の輪郭線上における各点との間の画素数を求める（ステップ８０４）。
【０１０８】
次いで、この画素数の中の最小値Ｎｍｉｎが所定の値以下である場合には（ステップ８０５でＹＥＳ）、その画素数Ｎｍｉｎとなった画素を中心とした物体の輪郭線上における所定数の画素について、次に入力される１フレーム分の画像データから動きベクトル（Ｖｘ，Ｖｙ）を求める（ステップ８０６）。なお、画像データ中における表示部７３平面に該当するエッジ部の像（直線）をＹ軸、これと垂直な方向をＸ軸としている。
【０１０９】
このようにして、入力される１フレーム分の画像データ毎に、表示部７３平面と物体との距離が所定の範囲内であれば輪郭線上の所定数の画素についてその物体の動きベクトルを求め、このＸ方向の成分Ｖｘの値を各画素毎にメインメモリ８１に逐次記憶しておく（ステップ８０７）。続いて、この逐次記憶されたデータ（トレースデータ）に基づいて、物体が表示部７３に対して座標入力を行ったか否かを判断する（ステップ８０８）。この判断方法として、例えば前述した実施例３や実施例４に記載の方法を使用する。
【０１１０】
座標入力が行われたと判断した場合は（ステップ８０９でＹＥＳ）、画像処理回路（２）９１と画像処理回路（３）９２がラインセンサカメラ７０、７１からの出力信号に基づいて座標入力物体の撮像位置を検出して、その中心画素とラインセンサカメラ７０、７１の光軸の結像位置の画素との距離ｈをそれぞれ求める（ステップ８１１）。
【０１１１】
画像処理回路（２）９１はこのｈを用いて式（１）と式（２）より角度β１を求める（ステップ８１２）。画像処理回路（３）９２においても同様にして角度β２を求める。これらのβ１、β２および既知の値を持つＬを用いて式（３）と式（４）より表示部７３面上における座標（ｘ，ｙ）を求める（ステップ８１３）。
【０１１２】
（実施例９）
本実施例は、座標入力部材と座標入力が行われる表示部材との距離が所定の値以下の場合のみ１次元撮像素子から画像信号を出力するようにして、装置の負荷を軽減させる実施例である。実施例９の座標入力システムの構成、制御装置の構成は、実施例７と同様である。
【０１１３】
図２１は、実施例９に係る制御装置６１の処理フローチャートを示す。実施例９のラインセンサカメラ７０、７１は、それぞれ画像処理回路（２）９１と画像処理回路（３）９２からの制御により、動作を開始したり停止したりすることができるようになっている。画像処理回路（２）９１と画像処理回路（３）９２は、この制御信号をデジタルＩ／Ｆを介して出力する。
【０１１４】
実施例７、８において、座標入力物体が座標入力装置６０の表示部７３に接近して動きベクトルのトレースを行う範囲に入った時（ステップ９０１）、画像処理回路（２）９１および画像処理回路（３）９２はラインセンサカメラ７０、７１に対して動作開始信号を出す（ステップ９０２）。ラインセンサカメラ７０、７１は、この信号を受けると、撮像素子の光電変換処理を開始して、画像信号の出力を開始し、座標入力の判断処理を行う（ステップ９０３）。
【０１１５】
次いで、座標入力物体が座標入力装置６０の表示部７３から離れて動きベクトルのトレースを行う範囲から出た時に（ステップ９０４）、画像処理回路（２）９１および画像処理回路（３）９２はラインセンサカメラ７０、７１に対して動作停止信号を出す（ステップ９０５）。ラインセンサカメラ７０、７１は、この信号を受けると、撮像素子の光電変換処理を停止して、画像信号の出力を停止する。
【０１１６】
なお、上記した実施例では、画像処理回路（２）９１および画像処理回路（３）９２は座標入力物体が動きベクトルのトレースを行う範囲に入った時に動作開始信号を出すとしたが、座標入力物体が座標入力装置６０の表示部７３に対してこれよりもっと大きな所定の距離まで接近した時に動作開始信号を出すようにしてもよい。
【０１１７】
（実施例１０）
本実施例は、座標入力部材と座標入力が行われる表示部材との距離が所定の範囲にある場合は、座標入力部材をカーソルの位置指定として機能できるようにする実施例である。また、本実施例では、上記した所定の範囲内における座標入力部材の動きからジェスチャーコマンド入力を行う。実施例１０の座標入力システムの構成、制御装置の構成は、実施例１と同様である。
【０１１８】
図２２は、実施例１０に係る制御装置の処理フローチャートを示す。座標入力装置１の電子カメラ１０および電子カメラ１１から撮像された画像データから物体の輪郭線を抽出して、その物体が表示部１２平面から所定の距離範囲に存在していると判断した場合に、その物体の動きベクトルを１フレーム毎に記憶し、その記憶されたデータ（トレースデータ）からその物体が表示部１２平面に対して座標入力を行ったか否かを判断して、座標入力が行われたと判断した場合に表示部１２平面上における２次元座標を求める動作は、実施例１と同様である。
【０１１９】
本実施例では、上記した動きベクトルのトレースを行う距離範囲を第１の範囲（Ｍ１）と定義し、この範囲外でかつより長距離側に設定された距離範囲を第２の範囲（Ｍ２）と定義する。この第１と第２の距離範囲の例を図２３に示す。図２３は、第２の距離範囲（Ｍ２）に座標入力物体であるペンが存在しているところも示している。
【０１２０】
画像処理回路（１）３０は、電子カメラ１０から入力される画像データから物体の輪郭線を抽出して（ステップ１００１）、画像データ中の座標入力装置１の表示部１２平面に該当するエッジ部の像（直線）と抽出された輪郭線上における各点との間の画素数を求める（ステップ１００２）。
【０１２１】
次いで、この画素数の中の最小値Ｎｍｉｎが第１の距離範囲の最大値に該当する所定の値Ｍ１より大きく、かつ第２の距離範囲の最大値に該当する所定の値Ｍ２以下である場合には（ステップ１００３でＹＥＳ）、その画素数Ｎｍｉｎとなった画素（点Ｐ）と広角レンズ５０の光軸の結像位置の中心点Ｑの画素との間のＹ軸方向についての画素数を求め、この値とＣＭＯＳイメージセンサ５１の画素間の距離（画素ピッチ）から点Ｐと点Ｑとの間のＹ軸方向についての距離ｈを求める（ステップ１００４）。
【０１２２】
距離ｈが求まると、式（１）と式（２）より角度β１が求まり（ステップ１００５）、また画像処理回路（２）３１においても電子カメラ１１から入力される画像データを用いて上記と同様な処理により角度β２が求まる。これらのβ１、β２および既知の値を持つＬを用いて式（３）と式（４）より表示部１２面上における座標（ｘ，ｙ）が求まる（ステップ１００６）。なお、画像データ中における表示部１２平面に該当するエッジ部の像（直線）をＹ軸としている。
【０１２３】
その後、抽出された物体と表示部１２平面との距離が第１の距離範囲の最大値より大きく、かつ第２の距離範囲の最大値以下であると判断された間は、電子カメラ１０および電子カメラ１１から入力される１フレーム分の画像データから上記と同様の動作を実行して（ステップ１００４、１００５）、表示部１２面上における物体の座標（ｘ，ｙ）を求める（ステップ１００６）。
【０１２４】
ＣＰＵ２０は、これらの座標位置にカーソルを表すグラフィックデータを表示コントローラ２９を介して座標入力装置１の表示部１２に表示する（ステップ１００７）。
【０１２５】
上記した処理で、最小値Ｎｍｉｎが第１の距離範囲の最大値に該当する所定の値Ｍ１より小さいときは（ステップ１００８でＹＥＳ）、Ｖｘのトレースデータを基に座標入力が行われたか否かを判断し、座標入力があるときには、以下、実施例１と同様に処理する。
【０１２６】
なお、上記した実施例では、座標入力物体が第２の距離範囲にある場合、電子カメラ１０および電子カメラ１１から１フレーム分の画像データを入力する毎に表示部１２面上における物体の座標を求める場合を示したが、所定のフレーム分の画像データを入力する毎に表示部１２面上における物体の座標を求めるようにしてもよい。
【０１２７】
また、上記した実施例では、座標入力物体が第２の距離範囲にある場合、表示部１２上のその物体に対応した位置にカーソルを表示する場合を示したが、この座標データを他の目的、例えばジェスチャーコマンド入力のために使用することもできる。この場合、座標データをその座標が算出された時間情報とともに記憶し、この記憶された座標データ列（トレースデータ）に基づいて、その物体の動きがコマンド入力用として予め定義された動きのパターンと一致するか否かを判断する。この動きのパターンからコマンドを識別するための方法として、例えば特開平５−１９７８１０号公報に開示された方法（撮影した画像中に検出された動きベクトルの空間的および時間的な組み合わせパターンから予め用意されたパターン辞書を用いて、このパターンに対応したコマンドを識別する）がある。
【０１２８】
このコマンドの一例として、表示部１２に表示されている画面データのスクロールがある。例えば、表示部１２平面に対して物体を上から下へ所定の速度範囲で所定の距離だけ移動すると画面を下へスクロールさせるコマンドとして認識する。そして、表示部１２に表示されている画面データを所定量だけ下方へスクロールして表示画面を更新する。
【０１２９】
さらに、抽出された物体の形状を認識して、その物体が座標入力用のものか否かを判断する物体形状認識手段を持たせて、座標入力用のものであると判断した場合のみ、上記の動作を実施するようにしてもよい。
【０１３０】
【発明の効果】
以上、説明したように、本発明によれば、座標入力部材である物体の動きを見ることで座標入力が行われたことを判断するため、被入力部材であるディスプレイ等の表面が歪んでいる場合にも座標入力の検出精度が劣化せず、装置の利便性が向上する。また、座標入力装置における撮像素子（電子カメラ）の取り付けに高い精度は要求されないため、装置の設置作業の負担を軽減させることができる。
【０１３１】
本発明によれば、座標入力が行われる物体が座標入力部材であると判断した場合のみ座標入力処理を実行するため、操作者の意図しない座標入力を防止することができる。
【０１３２】
本発明によれば、被入力部材の近傍の所定の領域における座標入力部材の動きを見ているので、筆記入力する場合に確実に座標を入力することができる。
【０１３３】
本発明によれば、撮像素子から出力される画像信号のフレームレートを適応的に切り替えるため、不必要な処理を省略でき、装置の処理負荷を軽減させることができる。
【０１３４】
本発明によれば、画像信号を出力する撮像素子の画素領域を適応的に切り替えるため、不必要な処理を省略でき、装置の処理負荷を軽減させることができる。
【０１３５】
本発明によれば、座標入力動作を判断する処理では、座標入力部材の動きを観察できる程度の画素数の２次元撮像素子を使用し、被入力部材の平面上の２次元座標を求める処理では、コストの安い１次元ラインセンサを使用していて、また、１次元画像を処理する手段は画素数の多い２次元画像を処理する手段に比べて非常に安価に実現できるため、装置のコストを抑えることができる。
【０１３６】
本発明によれば、１次元撮像素子およびそのカメラ部の動作を適応的にＯＮ、ＯＦＦできるため、装置の処理負荷を軽減させることができるとともに、省電力の効果ももたらすことができる。
【０１３７】
本発明によれば、座標入力部材である物体と被入力部材との間の距離に応じて異なる情報を入力できるので、入力装置の操作性が著しく向上する。また、座標入力部材である物体と被入力部材であるディスプレイ等の表面までの距離が、ポインティングや筆記入力が行われたことを判断するために必要な距離以上の所定の範囲である場合には、ディスプレイ上のその物体に対応した位置にカーソル等が表示されたり、あるいは物体の動きからジェスチャーコマンド入力が行われるため、装置の利便性が向上する。
【０１３８】
本発明によれば、被入力部材の近傍の所定の領域において座標入力部材の動きが反転したことを検出することにより座標入力が行われたと判定しているので、入力の判定が確実かつ容易に行うことができる。
【図面の簡単な説明】
【図１】  本発明の実施例１に係る座標入力システムの構成を示す。
【図２】  本発明の実施例１に係る制御装置の構成を示す。
【図３】  座標入力部材の接触位置を求める方法を説明する図である。
【図４】  広角レンズとイメージセンサ付近を拡大した図である。
【図５】  イメージセンサの画素配列（Ｙ軸）と表示部平面のエッジ部の像（直線）との関係を説明する図である。
【図６】  本発明の実施例１に係る制御装置の処理フローチャートを示す。
【図７】  電子カメラで撮影した画像の一部を示す。
【図８】  座標入力時に表示面がへこんだ例を示す。
【図９】  本発明の実施例２に係る制御装置の処理フローチャートを示す。
【図１０】  座標入力部材の画像が基準線に対して回転している例を示す。
【図１１】  座標入力部材の画像が左右対称である例を示す。
【図１２】  本発明の実施例３に係る制御装置の処理フローチャートを示す。
【図１３】  本発明の実施例４に係る制御装置の処理フローチャートを示す。
【図１４】  本発明の実施例５に係る制御装置の処理フローチャートを示す。
【図１５】  本発明の実施例６に係る制御装置の処理フローチャートを示す。
【図１６】  （ａ）、（ｂ）は、センサから出力する画像信号の画素領域を制限する例を示す。
【図１７】  本発明の実施例７に係る座標入力システムの構成を示す。
【図１８】  本発明の実施例７に係る制御装置の構成を示す。
【図１９】  本発明の実施例７に係る制御装置の処理フローチャートを示す。
【図２０】  本発明の実施例８に係る制御装置の処理フローチャートを示す。
【図２１】  本発明の実施例９に係る制御装置の処理フローチャートを示す。
【図２２】  本発明の実施例１０に係る制御装置の処理フローチャートを示す。
【図２３】  ペンの動きベクトルのトレースを行う第１、第２の範囲の例を示す。
【図２４】  １次元撮像素子のみを使用した座標入力装置を示す。
【図２５】  オシロスコープでのカメラ出力信号波形を示す。
【符号の説明】
１  座標入力装置
２  制御装置
１０、１１  電子カメラ
１２  表示部
【図１】
0004052498.tif 000002
【図２】
0004052498.tif 000003
【図３】
0004052498.tif 000004
【図４】
0004052498.tif 000005
【図５】
0004052498.tif 000006
【図６】
0004052498.tif 000007
【図７】
0004052498.tif 000008
【図８】
0004052498.tif 000009
【図９】
0004052498.tif 000010
【図１０】
0004052498.tif 000011
【図１１】
0004052498.tif 000012
【図１２】
0004052498.tif 000013
【図１３】
0004052498.tif 000014
【図１４】
0004052498.tif 000015
【図１５】
0004052498.tif 000016
【図１６】
0004052498.tif 000017
【図１７】
0004052498.tif 000018
【図１８】
0004052498.tif 000019
【図１９】
0004052498.tif 000020
【図２０】
0004052498.tif 000021
【図２１】
0004052498.tif 000022
【図２２】
0004052498.tif 000023
【図２３】
0004052498.tif 000024
【図２４】
0004052498.tif 000025
【図２５】
0004052498.tif 000026