(57)【特許請求の範囲】
【請求項１】
操作面に対して操作を行う指示体、及び前記指示体とは異なる対象物を検出する検出部と、
前記操作面を含む範囲を撮影した撮影画像を形成する撮影部と、
前記撮影画像に基づいて前記指示体及び前記対象物の前記操作面への接触が検出された場合に、前記撮影画像に基づいて前記対象物の動きを検出することにより、前記対象物による操作を入力として検出するか否かを判定する制御部と、
を有することを特徴とする位置検出装置。
【請求項２】
前記検出部は、前記対象物の位置又は動きを検出し、前記制御部は、前記検出部が検出する前記対象物の位置又は動きに基づき入力を検出する、ことを特徴とする請求項１記載の位置検出装置。
【請求項３】
前記制御部は、前記撮影部の撮影画像に基づいて、前記操作面に対する前記対象物の相対位置の経時変化を求めることにより、前記対象物の動きを求める、ことを特徴とする請求項２記載の位置検出装置。
【請求項４】
前記制御部は、前記操作面に対する前記対象物の相対位置の経時変化から前記対象物の動きの速度又は頻度を求めることにより、前記対象物による操作を入力として検出するか否かを判定する、ことを特徴とする請求項３記載の位置検出装置。
【請求項５】
前記制御部は、前記対象物の動きの速度又は頻度が予め設定された条件に該当するか否かに基づき、前記対象物の操作を検出するか否かを判定する、ことを特徴とする請求項４記載の位置検出装置。
【請求項６】
前記制御部は、前記対象物の動きの速度又は頻度の少なくとも一方が操作者の指示操作と判定する条件に該当しない場合に、前記対象物の操作を無効とすることを特徴とする請求項４記載の位置検出装置。
【請求項７】
前記制御部は、前記対象物の動きの速度が上限のしきい値以上の場合、前記対象物の操作を無効とすることを特徴とする請求項６記載の位置検出装置。
【請求項８】
前記制御部は、前記対象物の動きの速度が下限のしきい値以下の場合、前記対象物の操作を無効とすることを特徴とする請求項６又は７記載の位置検出装置。
【請求項９】
前記制御部は、前記検出部が複数の前記対象物を検出した場合に、それぞれの前記対象物と前記操作面との距離に基づいて、前記複数の前記対象物のうち、いずれの前記対象物による操作を入力として検出するかを判定する、ことを特徴とする請求項２から８のいずれか一項に記載の位置検出装置。
【請求項１０】
前記制御部は、前記検出部が検出する前記対象物が操作者の手指である場合に、前記対象物の動きを検出する、ことを特徴とする請求項２から９のいずれか一項に記載の位置検出装置。
【請求項１１】
前記制御部は、前記検出部が前記対象物として複数の操作者の手指を検出した場合に、検出された前記対象物のそれぞれを前記操作者に対応付けて、前記操作者ごとに操作を検出する、ことを特徴とする請求項２から９のいずれか一項に記載の位置検出装置。
【請求項１２】
前記制御部は、前記操作面に対する前記対象物の動きを予め設定された時間以上検出できない場合に、前記対象物の操作を検出しないと判定する、ことを特徴とする請求項１から１１のいずれか一項に記載の位置検出装置。
【請求項１３】
投射面に画像を投射する投射部と、
操作面に対して操作を行う指示体、及び前記指示体とは異なる対象物を検出する検出部と、
前記操作面を含む範囲を撮影した撮影画像を形成する撮影部と、
前記撮影画像に基づいて前記指示体及び前記対象物の前記操作面への接触が検出された場合に、前記撮影画像に基づいて前記対象物の動きを検出することにより、前記対象物による操作を入力として検出するか否かを判定する制御部と、
を有することを特徴とするプロジェクター。
【請求項１４】
操作面に対して操作を行う指示体、及び前記指示体とは異なる対象物を検出する検出ステップと、
前記操作面を含む範囲を撮影した撮影画像を形成する撮影ステップと、
前記撮影画像に基づいて前記指示体及び前記対象物の前記操作面への接触が検出された場合に、前記撮影ステップにより撮影された前記撮影画像に基づいて前記対象物の動きを検出することにより、前記対象物による操作を入力として検出するか否かを判定する判定ステップと、
を有することを特徴とする位置検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置検出装置、プロジェクター、及び、位置検出方法に関する。
【背景技術】
【０００２】
従来、タブレットデバイスにおいて、ペンの操作と、指等による操作とを検出するものが知られている（例えば、特許文献１〜３参照）。この種の装置は、意図しない指等による操作を検出してしまうことを防ぐ構成を具備する。例えば、特許文献１の構成は、指等による入力情報の後に連続してペンによる入力情報が存在する場合に、指等による入力情報を削除する。特許文献２の構成は、専用ペンの電磁誘導式タブレットへの接近を検知した場合に、タッチ入力を無効にする。特許文献３の構成は、感圧タブレットの一部の感度を低くなるように設定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−１２４２３９号公報
【特許文献２】特開平９−１３８７３０号公報
【特許文献３】特開平５−１４３２２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１〜３の構成は、ペンや指の接触による電流強度の変化により操作を検出するタブレットや、感圧式或いは電磁誘導方式を採用したタブレットであるが、ペンや指による位置入力操作が可能な構成は他にも挙げられる。しかしながら、多彩な位置入力操作が可能であるほど、操作者が意図しない操作を、入力操作として検出してしまう可能性がある。
本発明は上記課題に鑑みてなされたものであり、操作者の意図しない操作を入力として検出しないようにすることができる位置検出装置、プロジェクター、及び、位置検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の位置検出装置は、操作面に対して操作を行う指示体、及び前記指示体とは異なる対象物を検出する検出部と、前記操作面を含む範囲を撮影した撮影画像を形成する撮影部と、前記撮影画像に基づいて、前記対象物の動きを検出することにより、前記対象物による操作を入力として検出するか否かを判定する制御部と、を有することを特徴とする。
本発明によれば、入力として検出すべき操作を判定することで、操作者の意図しない操作を入力として検出することを防止できる。
【０００６】
また、上記位置検出装置において、前記検出部は、前記対象物の位置又は動きを検出し、前記制御部は、前記検出部が検出する前記対象物の位置又は動きに基づき入力を検出することを特徴とする。
本発明によれば、指示体又は対象物の位置又は動きを入力として検出できる。
【０００７】
また、上記位置検出装置において、前記制御部は、前記撮影部の撮影画像に基づいて、前記操作面に対する前記対象物の相対位置の経時変化を求めることにより、前記対象物の動きを求めることを特徴とする。
本発明によれば、対象物の動きの検出精度を高めることができる。
【０００８】
また、上記位置検出装置において、前記制御部は、前記操作面に対する前記対象物の相対位置の経時変化から、前記対象物の動きの速度又は頻度を求めることにより、前記対象物による操作を入力として検出するか否かを判定することを特徴とする。
本発明によれば、対象物による操作を入力として検出するか否かを、より高い精度で判定できる。
【０００９】
また、上記位置検出装置において、前記制御部は、前記対象物の動きの速度又は頻度が予め設定された条件に該当するか否かに基づき、前記対象物の操作を検出するか否かを判定することを特徴とする。
本発明によれば、対象物の動きの速度又は頻度が、条件に該当するか否かを判定して、対象物の操作を検出できるので、対象物による操作を、簡易に、精度よく検出することができる。
【００１０】
また、上記位置検出装置において、前記制御部は、前記検出部が複数の前記対象物を検出した場合に、それぞれの前記対象物と前記操作面との距離に基づいて、前記複数の前記対象物のうち、いずれの前記対象物による操作を入力として検出するかを判定することを特徴とする。
本発明によれば、複数の対象物が検出された場合に、対象物を選択して操作を検出できる。
【００１１】
また、上記位置検出装置において、前記制御部は、前記検出部が検出する前記対象物が操作者の手指である場合に、前記対象物の操作を検出することを特徴とする。
本発明によれば、操作者の手指による操作を入力として検出できる。
【００１２】
また、上記位置検出装置において、前記制御部は、前記検出部が前記対象物として複数の操作者の手指を検出した場合に、検出された前記対象物のそれぞれを前記操作者に対応付けて、前記操作者ごとに操作を検出することを特徴とする。
本発明によれば、複数の操作者による操作が可能となる。
【００１３】
また、上記位置検出装置において、前記制御部は、前記操作面に対する前記対象物の動きを予め設定された時間以上検出できない場合に、前記対象物の操作を検出しないと判定することを特徴とする。
本発明によれば、対象物の動きがない場合に検出を行わないことで、操作者の意図しない操作を入力として検出することを防止できる。
【００１４】
本発明のプロジェクターは、投射面に画像を投射する投射部と、前記投射面に対して操作を行う指示体、及び前記指示体とは異なる対象物を検出する検出部と、前記投射面を含む範囲を撮影した撮影画像を形成する撮影部と、前記撮影画像に基づいて、前記対象物の動きを検出することにより、前記検出部が検出する前記対象物による操作を検出するか否かを判定する制御部と、を有することを特徴とする。
本発明によれば、操作者の意図しない操作を入力として検出しないようにすることができる。
【００１５】
本発明の位置検出方法は、操作面に対して操作を行う指示体、及び前記指示体とは異なる対象物を検出する検出ステップと、前記操作面を含む範囲を撮影した撮影画像を形成する撮影ステップと、撮影された前記撮影画像に基づいて、前記対象物の動きを検出することにより、前記対象物による操作を入力として検出するか否かを判定する判定ステップと、を有することを特徴とする。
本発明によれば、入力として検出すべき操作を判定することで、操作者の意図しない操作を入力として検出することを防止できる。
【図面の簡単な説明】
【００１６】
【図１】プロジェクターの設置状態を示す図である。
【図２】プロジェクター及び指示体の機能ブロック図である。
【図３】撮影画像のデータから検出した人物領域を示す図である。
【図４】プロジェクターの動作手順を示すフローチャートである。
【図５】ステップＳ９の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１７】
図１は、プロジェクター（位置検出装置）１００の設置状態を示す図である。
プロジェクター１００は、スクリーンＳＣ（操作面）の直上又は斜め上方に設置され、斜め下方のスクリーンＳＣに向けて画像を投射する。スクリーンＳＣは、壁面に固定され、又は床面に立設された平板又は幕である。本発明は、この例に限定されず、壁面をスクリーンＳＣとして使用することも可能である。この場合、スクリーンＳＣとして使用される壁面の上部にプロジェクター１００を取り付けるとよい。
【００１８】
プロジェクター１００は、ＰＣ（パーソナルコンピューター）、ビデオ再生装置、ＤＶＤ再生装置、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ（ブルーレイディスク）再生装置等の画像供給装置に接続される。プロジェクター１００は、画像供給装置から供給されるアナログ画像信号又はデジタル画像データに基づいて、スクリーンＳＣに画像を投射する。また、プロジェクター１００は、内蔵する記憶部６０（図２）や外部接続される記憶媒体に記憶された画像データを読み出して、この画像データに基づきスクリーンＳＣに画像を表示してもよい。
【００１９】
プロジェクター１００は、スクリーンＳＣに対するユーザー（操作者）の指示操作を検出する。スクリーンＳＣに対する指示操作には、ペン型の指示体７０、又はユーザーの手指である指示体８０（対象物）が利用される。また、ユーザーの指示操作には、指示体７０又は指示体８０により、スクリーンＳＣ上の位置を指定（指示）する操作、スクリーンＳＣ上の位置を連続して指示する操作等が含まれる。スクリーンＳＣ上の位置を連続して指示する操作とは、例えば、指示体７０、８０をスクリーンＳＣに対して動かし、文字や図形等を描く操作である。プロジェクター１００は、指示されたスクリーンＳＣの位置を検出する検出処理を繰り返し行うことで、ユーザーがスクリーンＳＣ上の位置を連続して指示する操作の指示位置の軌跡（動き）を検出できる。
【００２０】
指示体７０の先端部７１には、押圧された場合に動作する操作スイッチ７５（図２）が内蔵される。指示体７０の先端部７１を壁やスクリーンＳＣに押しつける操作がされると、操作スイッチ７５がオンになる。指示体７０は、ユーザーが棒状の軸部７２を手に持って、先端部７１をスクリーンＳＣに接触させるように操作される。また、指示体７０は、先端部７１をスクリーンＳＣに押しつける操作も行われる。指示体７０は、先端部７１に、赤外光を発する送受信部７４（図２）を備える。送受信部７４は、操作スイッチ７５がオンの場合と、オフの場合とで、赤外光の点灯パターンを変更する。
プロジェクター１００は、指示体７０が発する赤外光に基づき、先端部７１の位置を、指示位置として検出する。また、プロジェクター１００は、指示体７０が発する赤外光の点灯パターンに基づいて、指示体７０が壁やスクリーンＳＣに押しつけられているか否かを判定する。
【００２１】
また、プロジェクター１００は、指示体８０としてのユーザーの手指の指示位置を検出する。プロジェクター１００は、指示体８０による指示位置として、ユーザーの手指の位置と、手指がスクリーンＳＣに接触する接触位置とのいずれかを検出することができ、どちらを指示位置とするかを設定することもできる。また、プロジェクター１００は、指示体８０と、スクリーンＳＣとの距離を算出する。また、プロジェクター１００は、ユーザーの複数本の指による指示操作が行われた場合に、これら複数本の指による指示位置を全て検出することも可能である。また、プロジェクター１００は、複数本の指とスクリーンＳＣとの距離をそれぞれに算出することも可能である。
【００２２】
プロジェクター１００は、ユーザーが指示体７０、８０により行った指示操作を検出して、検出した指示操作をスクリーンＳＣの表示画像に反映させる。具体的には、プロジェクター１００は、指示位置に図形を描画したり文字や記号を配置したりする処理、指示位置の軌跡に沿って図形を描画する処理、描画した図形や配置した文字又は記号を消去する処理等を行う。また、プロジェクター１００は、スクリーンＳＣに描画された図形、配置された文字又は記号を画像データとして保存することもでき、外部の装置に出力することもできる。
さらに、プロジェクター１００は、指示位置を検出することによりポインティングデバイスとして動作し、スクリーンＳＣ上の指示位置の座標を出力してもよい。また、この座標を用いて、プロジェクター１００に対してＧＵＩ（Graphical User Interface）操作を行うこともできる。
【００２３】
図２は、プロジェクター１００の構成を示す構成図である。
プロジェクター１００は、外部の装置に接続されるインターフェイスとして、Ｉ／Ｆ（インターフェイス）部１１及び画像Ｉ／Ｆ（インターフェイス）部１２を備える。Ｉ／Ｆ部１１及び画像Ｉ／Ｆ部１２は有線接続用のコネクターを備え、上記コネクターに対応するインターフェイス回路を備えていてもよい。また、Ｉ／Ｆ部１１及び画像Ｉ／Ｆ部１２は、無線通信インターフェイスを備えていてもよい。有線接続用のコネクター及びインターフェイス回路としては有線ＬＡＮ、ＩＥＥＥ１３９４、ＵＳＢ等に準拠したものが挙げられる。また、無線通信インターフェイスとしては無線ＬＡＮやＢｌｕｅｔｏｏｔｈ（登録商標）等に準拠したものが挙げられる。画像Ｉ／Ｆ部１２には、ＨＤＭＩ（登録商標）インターフェイス等の画像データ用のインターフェイスを用いることもできる。画像Ｉ／Ｆ部１２は、音声データが入力されるインターフェイスを備えてもよい。
【００２４】
Ｉ／Ｆ部１１は、ＰＣ等の外部の装置との間で各種データを送受信するインターフェイスである。Ｉ／Ｆ部１１は、画像の投射に関するデータ、プロジェクター１００の動作を設定するデータ等を入出力する。後述する制御部３０は、Ｉ／Ｆ部１１を介して外部の装置とデータを送受信する機能を有する。
画像Ｉ／Ｆ部１２は、デジタル画像データが入力されるインターフェイスである。本実施形態のプロジェクター１００は、画像Ｉ／Ｆ部１２を介して入力されるデジタル画像データに基づき画像を投射する。なお、プロジェクター１００は、アナログ画像信号に基づき画像を投射する機能を備えていてもよく、この場合、画像Ｉ／Ｆ部１２は、アナログ画像用のインターフェイスと、アナログ画像信号をデジタル画像データに変換するＡ／Ｄ変換回路とを備えてもよい。
【００２５】
プロジェクター１００は、光学的な画像の形成を行う投射部２０を備える。投射部２０は、光源部２１、光変調装置２２及び投射光学系２３を有する。光源部２１は、キセノンランプ、超高圧水銀ランプ、ＬＥＤ（Light Emitting Diode）又はレーザー光源等からなる光源を備える。また、光源部２１は、光源が発した光を光変調装置２２に導くリフレクター及び補助リフレクターを備えていてもよい。さらに、プロジェクター１００は、投射光の光学特性を高めるためのレンズ群（図示略）、偏光板、又は光源が発した光の光量を光変調装置２２に至る経路上で低減させる調光素子等を備えていてもよい。
【００２６】
光変調装置２２は、例えばＲＧＢの三原色に対応した３枚の透過型液晶パネルを備え、この液晶パネルを透過する光を変調して画像光を生成する。光源部２１からの光はＲＧＢの３色の色光に分離され、各色光は対応する各液晶パネルに入射する。各液晶パネルを通過して変調された色光はクロスダイクロイックプリズム等の合成光学系によって合成され、投射光学系２３に射出される。
【００２７】
投射光学系２３は、光変調装置２２により変調された画像光をスクリーンＳＣ方向へ導き、スクリーンＳＣ上に結像させるレンズ群を備える。また、投射光学系２３は、スクリーンＳＣの表示画像の拡大・縮小及び焦点の調整を行うズーム機構、フォーカスの調整を行うフォーカス調整機構を備えていてもよい。プロジェクター１００が短焦点型である場合、投射光学系２３に、画像光をスクリーンＳＣに向けて反射する凹面鏡を備えていてもよい。
【００２８】
投射部２０は、制御部３０の制御に従って光源部２１を点灯させる光源駆動部４５、及び制御部３０の制御に従って光変調装置２２を動作させる光変調装置駆動部４６に接続される。光源駆動部４５は、光源部２１の点灯、消灯の切り替えを行い、光源部２１の光量を調整する機能を有していてもよい。
【００２９】
プロジェクター１００は、投射部２０が投射する画像を処理する画像処理系を備える。この画像処理系は、プロジェクター１００を制御する制御部３０、記憶部６０、操作検出部１７、画像処理部４０、光源駆動部４５及び光変調装置駆動部４６を含む。また、画像処理部４０にはフレームメモリー４１が接続され、制御部３０には位置検出部５０が接続される。これらの各部を画像処理系に含めてもよい。
【００３０】
制御部３０は、所定の制御プログラム６１を実行することによりプロジェクター１００の各部を制御する。記憶部６０は、制御部３０が実行する制御プログラム６１、及び制御部３０が処理するデータを不揮発的に記憶する。記憶部６０は、指示体７０及び指示体８０の少なくとも一方による指示位置の座標と、指示位置の軌跡を示す軌跡データと、タッチ情報と、距離情報とをユーザーの位置情報に対応づけて記憶する。なお、これらの情報の詳細については後述する。
【００３１】
画像処理部４０は、制御部３０の制御に従って、画像Ｉ／Ｆ部１２を介して入力される画像データを処理し、光変調装置駆動部４６に画像信号を出力する。画像処理部４０が実行する処理は、３Ｄ（立体）画像と２Ｄ（平面）画像の判別処理、解像度変換処理、フレームレート変換処理、歪み補正処理、デジタルズーム処理、色調補正処理、輝度補正処理等である。画像処理部４０は、制御部３０により指定された処理を実行し、必要に応じて、制御部３０から入力されるパラメーターを使用して処理を行う。また、上記のうち複数の処理を組み合わせて実行することも勿論可能である。
画像処理部４０は、フレームメモリー４１に接続されている。画像処理部４０は、画像Ｉ／Ｆ部１２から入力される画像データをフレームメモリー４１に展開して、展開した画像データに対し上記の各種処理を実行する。画像処理部４０は、処理後の画像データをフレームメモリー４１から読み出して、この画像データに対応するＲ、Ｇ、Ｂの画像信号を生成し、光変調装置駆動部４６に出力する。
光変調装置駆動部４６は、光変調装置２２の液晶パネルに接続される。光変調装置駆動部４６は、画像処理部４０から入力される画像信号に基づいて液晶パネルを駆動し、各液晶パネルに画像を描画する。
【００３２】
操作検出部１７は、入力デバイスとして機能するリモコン受光部１８及び操作パネル１９に接続され、リモコン受光部１８及び操作パネル１９を介した操作を検出する。
リモコン受光部１８は、プロジェクター１００のユーザーが使用するリモコン（図示略）がボタン操作に対応して送信した赤外線信号を受光する。リモコン受光部１８は、上記リモコンから受光した赤外線信号をデコードして、上記リモコンにおける操作内容を示す操作データを生成し、制御部３０に出力する。
操作パネル１９は、プロジェクター１００の外装筐体に設けられ、各種スイッチ及びインジケーターランプを有する。操作検出部１７は、制御部３０の制御に従い、プロジェクター１００の動作状態や設定状態に応じて操作パネル１９のインジケーターランプを適宜点灯及び消灯させる。この操作パネル１９のスイッチが操作されると、操作されたスイッチに対応する操作データが操作検出部１７から制御部３０に出力される。
【００３３】
位置検出部５０は、スクリーンＳＣに対する指示体７０、８０の指示位置、又はスクリーンＳＣに対する指示体７０、８０の動きを検出する。位置検出部５０は、撮影部５１、撮影制御部５２、送信部５３及び検出部５５の各部を備える。また、検出部５５は、物体検出部５５１と、動き検出部５５２とを備える。
【００３４】
撮影部５１は、指示体７０、８０の指示位置を検出するために、スクリーンＳＣとその周辺部とを含む範囲（操作面を含む範囲）を撮影範囲として撮影した撮影画像を形成する。
撮影部５１は、赤外光による撮影と、可視光による撮影とを、それぞれ実行できる。具体的には、赤外光を撮影する赤外用撮像素子、可視光を撮影する可視光用撮像素子、赤外用撮像素子のインターフェイス回路、及び、可視光用撮像素子のインターフェイス回路を備えた構成とすることができる。また、１つの撮像素子により可視光と赤外光との撮影を行う構成であってもよい。また、例えば、撮影部５１に、撮像素子に入射する光の一部を遮るフィルターを設け、撮像素子に赤外光を受光させる場合に、主に赤外領域の光を透過するフィルターを撮像素子の前に配置させてもよい。撮像素子は限定されず、ＣＣＤ、ＣＭＯＳのいずれであってもよいし、他の素子を用いてもよい。
【００３５】
撮影部５１の赤外光による撮影時の撮影方向および撮影範囲（画角）は、投射光学系２３と同じ方向、または略同じ方向を向き、投射光学系２３がスクリーンＳＣ上に画像を投射する範囲をカバーする。同様に、撮影部５１の可視光による撮影時の撮影方向および撮影範囲は、投射光学系２３と同じ方向、または略同じ方向を向き、投射光学系２３がスクリーンＳＣ上に画像を投射する範囲をカバーする。撮影部５１は、赤外光で撮影した撮影画像のデータ、及び、可視光で撮影した撮影画像のデータを、それぞれ出力する。
【００３６】
撮影制御部５２は、制御部３０の制御に従って撮影部５１を制御し、撮影部５１に撮影を実行させる。撮影制御部５２は、撮影部５１の撮影画像のデータを取得して、検出部５５に出力する。また、撮影制御部５２は、取得した撮影画像のデータを制御部３０に出力する。制御部３０は、撮影制御部５２から入力される撮影画像のデータを記憶部６０に記憶させる。
撮影部５１が可視光で撮影する撮影画像には、スクリーンＳＣ、スクリーンＳＣに投射された投射画像、及び、撮影範囲内に存在するユーザーが写る。また、撮影部５１が赤外光で撮影する撮影画像には、指示体７０が発する赤外光の像が写る。
【００３７】
送信部５３は、撮影制御部５２の制御に従って、指示体７０に対して赤外線信号を送信する。送信部５３は、赤外ＬＥＤ等の光源を有し、この光源を撮影制御部５２の制御に従って点灯及び消灯させる。
【００３８】
物体検出部５５１は、撮影制御部５２の撮影画像のデータから、人物が写った人物領域を検出する。人物領域は、撮影画像において人物の像を含む領域である。物体検出部５５１による人物領域の検出は、一般的に知られた方法を用いることができる。例えば、物体検出部５５１は、入力された撮影画像のデータのエッジを検出して、人の形状にマッチする領域を人物領域として検出する。また、物体検出部５５１は、色情報（輝度、色度等）が所定時間内に変化する領域を検出して、検出した領域のサイズが所定値以上のものや、検出した領域の経時的な移動範囲が所定範囲内のものを人物領域として検出してもよい。
物体検出部５５１は、人物領域を検出すると、検出した人物領域に基づいて、ユーザーの位置を特定する。例えば、物体検出部５５１は、撮影画像のデータの水平方向における、人物領域の中心座標をユーザーの位置を示す位置情報として算出する。物体検出部５５１は、撮影画像のデータから人物領域を複数検出した場合には、ユーザーの位置を示す位置情報も、人物領域に応じて複数検出する。
また、物体検出部５５１は、検出した人物領域に基づいて、ユーザーの身体の部位（例えば、頭部、肩、手、足等）を認識し、ユーザーの姿勢を検出する。ユーザーの姿勢とは、例えば、立位、座位、しゃがんだ状態、腕組みした状態などの体勢を指すが、スクリーンＳＣ側を向いているかスクリーンと反対側を向いているか等の身体の向きを含んでもよい。物体検出部５５１は、検出したユーザーの姿勢に基づいて、ユーザーがスクリーンＳＣに対する指示操作を行い得る姿勢にあるか否かを判定する。物体検出部５５１は、例えば、ユーザーの姿勢が両腕を組んだ姿勢であると判定した場合、ユーザーがスクリーンＳＣに対する操作を行い得る姿勢にないと判定する。ユーザーがスクリーンＳＣに対する操作を行い得る姿勢にないと判定した場合、物体検出部５５１は、このユーザーが検出された人物領域に対する指示体８０の検出等処理を中止してもよい。
【００３９】
また、物体検出部５５１は、撮影画像のデータの人物領域から、ユーザーの手指の画像を検出して指示体８０を検出する。ユーザーの手指とは、１本または複数の指のみであってもよいし、手全体であってもよく、指を含む手の一部であってもよい。物体検出部５５１は、人物領域から、予め定めた手指の形状や特徴に近い領域を、指示体８０の領域として検出する。
また、物体検出部５５１は、検出した指示体８０が指し示すスクリーンＳＣの指示位置の座標を算出する。物体検出部５５１は、検出した指示体８０の領域から手指の先端（指先）を特定し、特定した手指の先端の位置を指示位置として検出する。物体検出部５５１は、指示体８０の指示位置の座標を、撮影画像のデータにおける座標で算出する。また、物体検出部５５１は、検出した指示位置の座標から、スクリーンＳＣの表示画像上に仮想的に設けられた座標軸における座標を算出する。撮影画像のデータにおける座標は、プロジェクター１００とスクリーンＳＣとの距離、投射光学系２３におけるズーム率、プロジェクター１００の設置角度、撮影部５１とスクリーンＳＣとの距離等の様々な要素の影響を受ける。物体検出部５５１は、事前に実施されるキャリブレーションの結果に基づき、撮影画像のデータにおける指示位置の座標から、スクリーンＳＣの表示画像における指示位置の座標を算出する。キャリブレーションでは、所定のパターン画像を投射部２０からスクリーンＳＣに投射して、表示されたパターン画像を撮影部５１で撮影する。撮影部５１の撮影したパターン画像に基づいて、撮影画像のデータにおける座標と、スクリーンＳＣの表示画像上の座標との対応関係（座標変換パラメーター）が導かれる。
【００４０】
また、物体検出部５５１は、検出した指示体８０とスクリーンＳＣとの距離を検出する。物体検出部５５１は、検出した手指の先端と、スクリーンＳＣとの距離を撮影画像のデータに基づいて判定する。例えば、物体検出部５５１は、撮影画像のデータから指の画像と、指の影の画像とを検出して、検出した画像の間の距離に基づいて、手指の先端とスクリーンＳＣとの距離を求める。
また、物体検出部５５１は、撮影画像のデータから複数の人物領域を検出した場合には、各人物領域について、指示体８０と、指示体８０の指示位置の座標とを検出し、検出した指示体８０とスクリーンＳＣとの距離を算出する。
【００４１】
物体検出部５５１は、指示体８０の指示位置の座標と、指示体８０とスクリーンＳＣとの距離を示す距離情報とを、該当のユーザーの位置情報と共に制御部３０に出力する。制御部３０は、指示位置の座標と、距離情報とをユーザーの位置情報に対応付けて記憶部６０に記憶させる。
【００４２】
また、物体検出部５５１は、指示体７０の指示位置の座標を検出する。物体検出部５５１は、撮影部５１が赤外光で撮影した撮影画像のデータに写った赤外光の像を検出して、指示体７０の指示位置の座標を検出する。撮影部５１の撮影画像のデータから指示体７０を特定する方法の詳細については後述する。
物体検出部５５１は、指示体７０の指示位置の座標を検出すると、キャリブレーションの結果に基づいて、撮影画像のデータにおける指示位置の座標から、スクリーンＳＣの表示画像における指示位置の座標を算出する。また、物体検出部５５１は、指示体７０の先端がスクリーンＳＣに接しているか否かを判定する。指示体７０の先端がスクリーンＳＣに接しているか否かの判定方法についても後述する。
【００４３】
また、物体検出部５５１は、検出した指示体７０の指示位置の座標に基づいて、指示体７０を対応付けるユーザーを特定する。すなわち、物体検出部５５１は、指示体７０を手に持って操作しているユーザーを特定する。撮影画像のデータから複数の人物領域が検出される場合、複数のユーザーが指示体７０を使用している場合もある。このため、物体検出部５５１は、検出した人物領域と、指示体７０の指示位置の座標（撮影画像のデータにおける座標）とに基づいて、指示体７０とユーザーの位置情報とを対応付ける。物体検出部５５１は、指示体７０の指示位置の座標が、どの人物領域に含まれるか、又はどの人物領域に最も近いかによって指示体７０とユーザーの位置情報とを対応付ける。
物体検出部５５１は、指示体７０とユーザーの位置情報とを対応付けると、指示体７０の指示位置の座標と、タッチ情報とを、対応付けたユーザーの位置情報と共に制御部３０に出力する。タッチ情報とは、指示体７０がスクリーンＳＣに接触しているか否かを示す情報である。
【００４４】
制御部３０は、物体検出部５５１から指示体７０の指示位置の座標と、タッチ情報と、ユーザーの位置情報とが入力されると、入力された指示体７０の指示位置の座標と、タッチ情報とを該当のユーザーの位置情報に対応付けて記憶部６０に記憶させる。
【００４５】
動き検出部５５２は、制御部３０によって指示された指示体７０、８０の動きを検出する。動き検出部５５２は、不図示のメモリーを備え、物体検出部５５１により検出される、指示体７０、８０の指示位置の座標をメモリーに一時的に記憶して、指示体７０、８０のスクリーンＳＣに対する相対位置の経時変化を求める。動き検出部５５２は、メモリーに記憶させた指示体７０、８０の指示位置の座標に基づいて、各指示体７０、８０の指示位置の動きを表す軌跡データを作成する。動き検出部５５２は、作成した指示体７０、８０の指示位置の軌跡データを、制御部３０に出力する。
制御部３０は、動き検出部５５２から入力される指示体７０、８０の指示位置の軌跡データを、該当するユーザーの位置情報に対応付けて記憶部６０に記憶させる。また、制御部３０は、指示体７０、８０の指示位置の軌跡データに基づいて、指示体７０、８０による指示操作を検出する。
【００４６】
また、動き検出部５５２は、指示体８０の動きの速度（移動速度）を算出する。動き検出部５５２は、例えば、撮影部５１が連続して撮影する撮影画像のデータと撮影部５１の撮影間隔（時間）に基づいて、指示体８０の動きの速度を算出する。すなわち、動き検出部５５２は、撮影制御部５２から撮影画像のデータが入力されるごとに、前回の撮影画像のデータにより特定される指示位置と、今回の撮影画像のデータにより特定される指示位置との距離を求める。動き検出部５５２は、求めた距離を撮影部５１の撮影間隔で除算して、指示体８０による指示位置の単位時間あたりの変化、すなわち指示体８０の動きの速度を求める。動き検出部５５２は、軌跡データの作成に使用した撮影画像のデータの撮影期間における動きの速度の平均値を算出して、軌跡データと共に制御部３０に出力する。制御部３０は、軌跡データと、指示体８０の動きの速度の平均値とを、ユーザーの位置情報に対応付けて記憶部６０に記憶させる。
また、動き検出部５５２は、物体検出部５５１により指示体８０が複数検出された場合には、指示位置の動きを表す軌跡データと、動きの速度の平均値とを指示体８０ごとに求めて、制御部３０に出力する。
なお、動き検出部５５２は、連続して撮影された複数の撮影画像のデータにおける指示体８０の像の位置から、単位時間あたりの位置の変化量を求めることにより、指示体８０の動きの速度を求めてもよい。この場合、指示体８０が位置を指示しておらず、指示位置を特定できない場合も、指示体８０の動きの速度を求めることができる。
【００４７】
指示体７０は、制御部７３、送受信部７４、操作スイッチ７５及び電源部７６を備え、これらの各部は軸部７２（図１）に収容される。制御部７３は、送受信部７４及び操作スイッチ７５に接続され、操作スイッチ７５のオン／オフ状態を検出する。送受信部７４は、赤外ＬＥＤ等の光源と、赤外光を受光する受光素子とを備え、制御部７３の制御に従って光源を点灯及び消灯させるとともに、受光素子の受光状態を示す信号を制御部７３に出力する。
電源部７６は、電源として乾電池又は二次電池を有し、制御部７３、送受信部７４及び操作スイッチ７５の各部に電力を供給する。指示体７０は、電源部７６からの電源供給をオン／オフする電源スイッチを備えていてもよい。
【００４８】
ここで、位置検出部５０と指示体７０との相互の通信により、撮影部５１の撮影画像のデータから指示体７０の指示位置を特定する方法について説明する。
制御部３０は、指示体７０による操作を検出する場合に、撮影制御部５２を制御して、送信部５３から同期用の信号を送信させる。すなわち、撮影制御部５２は、制御部３０の制御に従って、送信部５３の光源を所定の周期で点灯させる。送信部５３が周期的に発する赤外光が、位置検出部５０と指示体７０とを同期させる同期信号として機能する。
一方、制御部７３は、電源部７６から電源の供給が開始され、所定の初期化動作を行った後、プロジェクター１００の送信部５３が発する赤外光を、送受信部７４により受光する。送信部５３が周期的に発する赤外光を送受信部７４により受光すると、制御部７３は、この赤外光のタイミングに同期させて、予め設定された指示体７０に固有の点灯パターンで、送受信部７４の光源を点灯（発光）させる。また、制御部７３は、操作スイッチ７５の操作状態に応じて、送受信部７４の点灯パターンを切り替える。このため、プロジェクター１００の物体検出部５５１は、複数の撮影画像のデータに基づいて、指示体７０の操作状態、すなわち先端部７１がスクリーンＳＣに押しつけられているか否かを判定できる。
また、制御部７３は、電源部７６から電源が供給されている間、上記のパターンを繰り返し実行する。つまり、送信部５３は、指示体７０に対し、同期用の赤外線信号を周期的に送信し、指示体７０は、送信部５３が送信する赤外線信号に同期して、予め設定された赤外線信号を送信する。
【００４９】
位置検出部５０の撮影制御部５２は、撮影部５１による撮影タイミングを、指示体７０が点灯するタイミングに合わせる制御を行う。この撮影タイミングは、撮影制御部５２が送信部５３を点灯させるタイミングに基づいて決定される。物体検出部５５１は、撮影部５１の撮影画像のデータに指示体７０の光の像が写っているか否かにより、指示体７０が点灯するパターンを特定できる。物体検出部５５１は、複数の撮影画像のデータに基づいて、指示体７０の先端部７１がスクリーンＳＣに押しつけられているか否かを判定して、タッチ情報を生成する。
指示体７０の点灯パターンは、指示体７０の個体毎に固有のパターン、又は複数の指示体７０に共通のパターンと個体毎に固有のパターンとを含むものとすることができる。この場合、撮影制御部５２は、撮影画像のデータに複数の指示体７０が発する赤外光の像が含まれる場合に、各々の像を、異なる指示体７０の像として区別できる。
【００５０】
制御部３０は、記憶部６０に記憶された制御プログラム６１を読み出して実行することにより投射制御部３１、判定部３２及び検出制御部３３の機能を実現し、プロジェクター１００の各部を制御する。
【００５１】
投射制御部３１は、操作検出部１７から入力される操作データに基づいて、ユーザーがリモコンを操作して行った操作内容を取得する。投射制御部３１は、ユーザーが行った操作に応じて画像処理部４０、光源駆動部４５及び光変調装置駆動部４６を制御して、スクリーンＳＣに画像を投射させる。
また、投射制御部３１は、画像処理部４０を制御して、上述した３Ｄ（立体）画像と２Ｄ（平面）画像の判別処理、解像度変換処理、フレームレート変換処理、歪み補正処理、デジタルズーム処理、色調補正処理、輝度補正処理等を実行させる。また、投射制御部３１は、画像処理部４０の処理に合わせて光源駆動部４５を制御し、光源部２１の光量を制御する。
【００５２】
判定部３２は、物体検出部５５１から、指示体７０の指示位置の座標及びタッチ情報と、指示体８０の指示位置の座標及び距離情報とを入力する。
判定部３２は、まず、指示体７０のタッチ情報に基づいて、指示体７０がスクリーンＳＣに接しているか否かを判定する。また、判定部３２は、指示体８０の距離情報に基づいて、指示体８０がスクリーンＳＣに接しているか否かを判定する。判定部３２は、指示体７０がスクリーンＳＣに接していると判定する場合に、動き検出部５５２に、指示体７０の動きを検出させる。また、判定部３２は、指示体８０がスクリーンＳＣに接していると判定する場合に、動き検出部５５２に、指示体８０の動きを検出させる。
動き検出部５５２は、判定部３２により指示された指示体７０、８０の指示位置の座標をメモリーに一時的に記憶して、指示体７０、８０の指示位置の動きを表す軌跡データを作成する。また、動き検出部５５２は、判定部３２により指示された指示体８０の動きの速度の平均値を求める。動き検出部５５２は、作成した指示体７０の軌跡データを判定部３２に出力する。また、動き検出部５５２は、作成した指示体８０の軌跡データと、指示体８０の動きの速度の平均値とを判定部３２に出力する。
判定部３２は、動き検出部５５２から入力される指示体７０の軌跡データを、該当のユーザーの位置情報に対応付けて記憶部６０に記憶させる。また、判定部３２は、動き検出部５５２から入力される指示体８０の軌跡データと、指示体８０の動きの速度の平均値とを、該当のユーザーの位置情報に対応付けて記憶部６０に記憶させる。
【００５３】
また、判定部３２は、動き検出部５５２から入力される、指示体８０の軌跡データと、指示体８０の動きの速度の平均値とに基づいて、指示体８０の指示位置の座標又は指示体８０の軌跡データを無効にするか否かを判定する。
判定部３２は、指示体８０の動きの速度又は頻度が、予め設定された条件に該当するか否かを判定することで、指示体８０の操作を、入力として検出するか否かを判定する。予め設定された条件は、例えば、動きの速度の上限または下限を定めるしきい値であってもよい。例えば、指示体８０の動きの速度が、動きの速度の下限のしきい値以下の場合、若しくは指示体８０の動きの速度が、動きの速度の上限のしきい値以上である場合には、指示体８０の操作を入力として検知せず、指示体８０の動きの速度が下限のしきい値よりも速く、上限のしきい値よりも遅い場合には指示体８０の動きを入力として検出するようにしてもよい。
また、予め設定された条件は、例えば、動きの頻度の上限または下限を定めるしきい値であってもよい。例えば、指示体８０の動きの頻度が上限のしきい値以上の場合、若しくは下限のしきい値以下の場合には、指示体８０の操作を入力として検知せず、指示体８０の動きの頻度が上限のしきい値と下限のしきい値との間である場合には、指示体８０の動きを入力として検知するようにしてもよい。また、予め設定された条件は、動きの方向に関する値を含んでもよく、例えば、動きの方向ごとに上限及び／又は下限のしきい値を含んでもよい。この条件は、操作パネル１９やリモコンの操作、或いは、外部の装置からインターフェイス部１１に入力されるコマンドやデータで設定される。この設定が行われると、設定された条件を示すデータが、記憶部６０に記憶される。従って、判定部３２は、判定に際して記憶部６０から条件を示すデータを読み出す。判定部３２は、指示体８０の動きの速度と、動きに関するしきい値とを比較し、動きの速度が下限のしきい値の以上であるか、動きの速度が上限のしきい値以下であるか、等を判定する。また、判定部３２は、指示体８０の動きの頻度と、頻度に関するしきい値とを比較し、動きの頻度が下限のしきい値の以上であるか、動きの頻度が上限のしきい値以下であるか、等を判定する。判定部３２は、動き検出部５５２から入力された指示体８０の動きの速度（移動速度）の平均値を、しきい値と比較してもよい。
また、指示体８０の動きの頻度は、物体検出部５５１が出力する指示体８０の指示位置の座標が、所定時間以内に変化した回数を指す。この所定時間は予め設定される。
【００５４】
動きの速度について予め定められるしきい値は、ユーザーが手指（指示体８０）で行うスクリーンＳＣに対する指示操作と、それ以外のユーザーの動きとを識別できる値に設定される。動きの頻度について予め定められるしきい値も同様である。このため、しきい値を用いて判定を行うことで、判定部３２は、ユーザーが意図した指示体８０の操作を入力として検出し、ユーザーが意図しない手指の動きを入力として検出しないよう、適切に判定できる。
【００５５】
判定部３２は、指示体８０の動きの速度及び頻度の少なくとも一方について、判定を行えばよく、両方の判定を行ってもよい。例えば、判定部３２は、指示体８０の動きの速度が条件に該当するか否かに基づき、指示体８０の操作を入力として検出するか否かを判定してもよい。また、例えば、判定部３２は、指示体８０の動きの頻度が条件に該当するか否かに基づき、指示体８０の操作を入力として検出するか否かを判定してもよい。或いは、判定部３２は、指示体８０の動きの速度及び頻度の両方が条件に該当する場合に、指示体８０の操作を入力として判定してもよいし、両方が条件に該当しない場合に指示体８０の操作を無効とするよう判定してもよい。
指示体８０の操作を入力として検出すると判定した場合、判定部３２は、指示体８０の指示位置の座標を入力座標として検出制御部３３に出力する。また、指示体８０の軌跡データを入力データとして検出制御部３３に出力してもよく、指示位置の座標と軌跡データの両方を検出制御部３３に出力してもよい。
【００５６】
図３は、物体検出部５５１が、撮影画像のデータから検出した人物領域を示す。図３には、ユーザーが右手に持った指示体７０によりスクリーンＳＣに文字や図形を描き、指示体８０としての左手をスクリーンＳＣに付いている状態を示す。判定部３２は、指示体８０の指示位置の座標が、所定時間を経過しても変化しない場合、スクリーンＳＣに対する指示操作ではないと判定して、指示体８０の指示位置の座標又は指示体８０の軌跡データを無効にする。
【００５７】
判定部３２は、指示体８０の指示位置又は指示体８０の動きが、スクリーンＳＣに対する指示操作ではないと判定すると、指示体８０の指示位置の座標と、指示体８０の軌跡データとを検出制御部３３には出力しない。この場合、判定部３２は、動き検出部５５２によって検出された指示体７０の軌跡データを検出制御部３３に出力する。
【００５８】
また、判定部３２は、物体検出部５５１が１人のユーザーの複数本の指を指示体８０として検出した場合、指示体８０として検出した各指と、スクリーンＳＣとの距離に基づいて、指示操作を検出する指を選択する。指とスクリーンＳＣとの距離は、物体検出部５５１によって検出され、距離情報として制御部３０に入力される。
ユーザーは、スクリーンＳＣに対する指示操作を行う場合、操作を行う指をスクリーンＳＣに接触させるか、又は指をスクリーンＳＣに近づける。このため、判定部３２は、スクリーンＳＣからの距離が最も近い指を、操作を行う指示体８０として判定する。
【００５９】
また、物体検出部５５１により複数のユーザーの手指が指示体８０として検出された場合、判定部３２は、動き検出部５５２に、各指示体８０の動きを検出させる。判定部３２は、各指示体８０の動きの速度又は頻度が、予め設定された条件に該当するか否かを判定して、各指示体８０による指示位置の座標又は指示体８０の軌跡データを無効にするか否かを判定する。
【００６０】
検出制御部３３は、位置検出部５０を制御して、指示体７０、８０の検出を実行させる。
また、検出制御部３３は、判定部３２から、指示位置の座標、又は指示位置の軌跡データを取得する。また、検出制御部３３は、取得した指示位置が指示体７０の指示位置であるのか、指示体８０の指示位置であるのかを識別する識別データ、及び指示体７０の指示位置である場合に、タッチ情報を判定部３２から取得する。
【００６１】
検出制御部３３は、判定部３２から取得したデータに基づいて、予め設定された処理を実行する。例えば、画像処理部４０によって、取得した指示位置の座標又は指示位置の軌跡に基づいて図形を描画させ、描画した図形を画像Ｉ／Ｆ部１２に入力される入力画像に重畳して投射させる処理を行う。また、検出制御部３３は、取得した指示位置の座標又は指示位置の軌跡データをＩ／Ｆ部１１に接続されたＰＣ等の外部の装置に出力してもよい。この場合、検出制御部３３は、取得した指示位置の座標又は指示位置の軌跡を、Ｉ／Ｆ部１１に接続された外部の装置のオペレーティングシステムにおいて、座標入力デバイスの入力として認識されるデータフォーマットに変換して出力してもよい。例えば、Ｉ／Ｆ部１１にＷｉｎｄｏｗｓ（登録商標）オペレーティングシステムで動作するＰＣが接続された場合、オペレーティングシステムにおいてＨＩＤ（Human Interface Device）の入力データとして処理されるデータを出力する。また、検出制御部３３は、指示位置の座標、又は指示位置の軌跡データとともに、これらのデータが指示体７０の操作によるものであるか指示体８０の操作によるものであるのかを識別するデータ、及びタッチ情報を出力してもよい。
【００６２】
図４及び図５は、プロジェクター１００の処理手順を示すフローチャートである。
まず、位置検出部５０の検出部５５は、撮影部５１により撮影された撮影画像のデータを撮影制御部５２から入力する（ステップＳ１）。制御部３０の検出制御部３３は、撮影制御部５２を制御して、撮影部５１に撮影範囲を撮影させる。撮影部５１は、赤外光による撮影と可視光による撮影とを交互に実行する。撮影制御部５２は、撮影部５１により撮影された撮影画像のデータを位置検出部５０に出力する。
【００６３】
位置検出部５０の物体検出部５５１は、入力された撮影画像のデータから人物が写った人物領域を検出する（ステップＳ２）。物体検出部５５１は、撮影画像のデータから人物領域を検出することができなかった場合（ステップＳ２／ＮＯ）、ステップＳ７の処理に移行する（ステップＳ７）。また、物体検出部５５１は、撮影画像のデータから人物領域を検出した場合（ステップＳ２／ＹＥＳ）、検出した人物領域ごとに、ユーザーの位置、姿勢を検出する（ステップＳ３）。物体検出部５５１は、例えば、撮影画像のデータの水平方向における、人物領域の中心座標値をユーザーの位置を示す位置情報として算出する。また、物体検出部５５１は、撮影画像のデータから人物領域を複数検出した場合には、ユーザーの位置を示す位置情報も、人物領域に応じて複数検出する。また、物体検出部５５１は、検出した人物領域に基づいて、ユーザーの頭部、肩、手、足等の人体の部位を認識し、ユーザーの姿勢を検出する（ステップＳ３）。
【００６４】
物体検出部５５１は、検出したユーザーの位置、姿勢に基づいて、ユーザーが、スクリーンＳＣに対する操作を行い得る位置、姿勢にあるか否かを判定する（ステップＳ４）。例えば、ユーザーとスクリーンＳＣとの距離が離れている場合や、ユーザーが両腕を組んでいる場合には、物体検出部５５１は、ユーザーがスクリーンＳＣに対する指示操作を行い得る姿勢にないと判定する。
ステップＳ４が否定判定の場合（ステップＳ４／ＮＯ）、物体検出部５５１は、該当ユーザーの人物領域に対する処理を中止し、ステップＳ２において他の人物領域を検出しているか否かを判定する（ステップＳ５）。肯定判定の場合（ステップＳ５／ＹＥＳ）、物体検出部５５１は、他の人物領域に対してステップＳ３及び４の処理を行う。また、否定判定の場合（ステップＳ５／ＮＯ）、ステップＳ１に戻り、検出部５５は、撮影部５１により撮影された撮影画像のデータを撮影制御部５２から入力する（ステップＳ１）。
【００６５】
また、ステップＳ４が肯定判定の場合（ステップＳ４／ＹＥＳ）、物体検出部５５１は、撮影画の像データの人物領域から、ユーザーの手指の画像を検出して指示体８０を検出する。物体検出部５５１は、人物領域から、予め定めた手指の形状や特徴に近い領域を、指示体８０の領域として検出する。また、物体検出部５５１は、検出した指示体８０の領域から指示体８０が指し示すスクリーンＳＣの指示位置の座標を算出する（ステップＳ６）。物体検出部５５１は、検出した指示体８０の領域から手指の先端（指先）を特定して、特定した手指の先端の位置を指示位置の座標として検出する。また、物体検出部５５１は、検出した指示体８０の指示位置の座標を、スクリーンＳＣの表示画像における指示位置の座標に変換する。また、物体検出部５５１は、指示体８０とスクリーンＳＣとの距離とを検出する。物体検出部５５１は、座標変換した指示体８０の指示位置の座標と、指示体８０とスクリーンＳＣとの距離情報とを、該当するユーザーの位置情報と共に制御部３０に出力する。制御部３０は、物体検出部５５１から指示体８０の指示位置の座標と、距離情報と、ユーザーの位置情報とが入力されると、入力された指示体８０の指示位置の座標と、距離情報とを該当のユーザーの位置情報に対応付けて記憶部６０に記憶させる。
【００６６】
次に、物体検出部５５１は、赤外光によって撮影された撮影画像のデータに、指示体７０の発する赤外光の像が写っているか否かを判定して指示体７０を検出する（ステップＳ７）。物体検出部５５１は、撮影画像のデータに、指示体７０の発する赤外光を検出した場合、検出した赤外光の撮影画像のデータにおける位置を、指示体７０の指示位置の座標として検出する（ステップＳ８）。また、物体検出部５５１は、指示体７０の先端部７１がスクリーンＳＣに押しつけられているか否かを判定する。指示体７０の制御部７３は、操作スイッチ７５の操作状態に応じて送受信部７４の点灯パターンを切り替える。物体検出部５５１は、撮影部５１の複数の撮影画像のデータに基づいて送受信部７４の点灯パターンを判定し、指示体７０の先端部７１がスクリーンＳＣに押しつけられているか否かを判定する。
物体検出部５５１は、指示体７０の指示位置の座標と、タッチ情報とを、該当するユーザーの位置情報と共に制御部３０に出力する。制御部３０は、物体検出部５５１から指示体７０の指示位置の座標と、タッチ情報と、ユーザーの位置情報とが入力されると、入力された指示体７０の指示位置の座標と、タッチ情報とを該当のユーザーの位置情報に対応付けて記憶部６０に記憶させる。
【００６７】
次に、判定部３２は、ステップＳ６で物体検出部５５１が指示位置の座標を検出した指示体８０の動きを動き検出部５５２に検出させて、検出された指示体８０の動きに基づいて、指示体８０を無効にするか否かを判定する（ステップＳ９）。ステップＳ９の詳細は、図５に示す。判定部３２は、ステップＳ９の処理により、指示体８０を無効にすると判定した場合（ステップＳ１０／ＹＥＳ）、後述するステップＳ２３で検出する指示体７０の軌跡データから指示体７０の指示操作を検出し、検出した指示体７０の指示操作に応じた処理を実行する（ステップＳ１１）。判定部３２は、例えば、指示体７０の軌跡データから、指示体７０がスクリーンＳＣの一定位置を指し示す指示操作を検出できるか否かを判定する。また、判定部３２は、指示体７０の軌跡データから、指示体７０が文字や図形等の記号を入力する指示操作を検出できるか否かを判定する。
判定部３２は、指示体７０の軌跡データから、指示体７０の指示操作を検出した場合には、検出した指示操作に応じたデータを検出制御部３３に出力する。例えば、判定部３２は、指示体７０の指示位置の座標と、指示体７０の動きを示す軌跡データと、タッチ情報とを検出制御部３３に出力する。検出制御部３３は、判定部３２から入力された指示体７０の指示位置の座標、又は指示体７０の指示位置の軌跡データに従って予め設定された処理を行う。検出制御部３３は、例えば、取得した指示体７０の指示位置の座標又は指示位置の軌跡に基づいて、画像処理部４０に図形を描画させ、描画した図形を画像Ｉ／Ｆ部１２に入力される入力画像に重畳して投射させる。また、検出制御部３３は、取得した指示体７０の指示位置の座標又は指示位置の軌跡データと、指示体７０のタッチ情報とをＩ／Ｆ部１１に接続されたＰＣ等の外部の装置に出力してもよい。
【００６８】
また、判定部３２は、ステップＳ９の処理により、指示体８０を無効にしないと判定した場合（ステップＳ１０／ＮＯ）、後述するステップＳ２７で検出する指示体８０の軌跡データから指示体８０の指示操作を検出し、検出した指示体８０の指示操作に応じた処理を実行する（ステップＳ１２）。なお、指示体８０の軌跡データから指示体８０の指示操作を検出した場合の判定部３２、検出制御部３３の動作も、指示体７０の軌跡データから指示体７０の指示操作を検出した場合と同様であるので、説明を省略する。
【００６９】
この後、判定部３２は、すべてのユーザーの指示操作を検出したか否かを判定する（ステップＳ１３）。ステップＳ６において検出した指示体８０の指示位置の座標や、ステップＳ８で検出した指示体７０の指示位置の座標は、ユーザーの位置情報に対応付けられて、記憶部６０に記憶される。判定部３２は、記憶部６０に位置情報を記憶したすべてのユーザーについて、ステップＳ９〜Ｓ１２の処理を実行済みであるか否かを判定する。否定判定の場合（ステップＳ１３／ＮＯ）、判定部３２は、ステップＳ９からの処理を実行する。また、肯定判定の場合（ステップＳ１３／ＹＥＳ）、ステップＳ１に戻って、検出部５５は、撮影画像のデータを撮影制御部５２から入力する。
【００７０】
図５は、図４のステップＳ９の詳細を示すフローチャートである。
まず、判定部３２は、物体検出部５５１から、指示体７０の指示位置の座標、タッチ情報等の指示体７０の情報を入力したか否かを判定する（ステップＳ２１）。否定判定の場合（ステップＳ２１／ＮＯ）、判定部３２は、ステップＳ２４の処理に移行する。また、肯定判定の場合（ステップＳ２１／ＹＥＳ）、判定部３２は、入力されたタッチ情報に基づいて、指示体７０がスクリーンＳＣに接しているか否かを判定する（ステップＳ２２）。否定判定の場合（ステップＳ２２／ＮＯ）、判定部３２は、ステップＳ２４の処理に移行する。また、肯定判定の場合（ステップＳ２２／ＹＥＳ）、判定部３２は、動き検出部５５２に指示体７０の動きを検出させる（ステップＳ２３）。動き検出部５５２は、判定部３２により指示された指示体７０の指示位置の座標をメモリーに一時的に記憶して、指示体７０の指示位置の動きを表す軌跡データを作成する。動き検出部５５２は、作成した指示体７０の軌跡データを判定部３２に出力する。判定部３２は、動き検出部５５２から入力される指示体７０の軌跡データを、該当のユーザーの位置情報に対応付けて記憶部６０に記憶させる。
【００７１】
次に、判定部３２は、物体検出部５５１から、指示体８０の指示位置の座標、距離情報等の指示体８０の情報を入力したか否かを判定する（ステップＳ２４）。否定判定の場合（ステップＳ２４／ＮＯ）、指示体８０を検出することができないので、判定部３２は、他の指示体７０の情報又は他の指示体８０の情報が入力されているか否かを判定する（ステップＳ２５）。肯定判定の場合（ステップＳ２５／ＹＥＳ）、判定部３２は、ステップＳ２１からの処理を繰り返す。また、否定判定の場合（ステップＳ２５／ＮＯ）、判定部３２は、ステップＳ２３で検出した指示体７０の軌跡データから、指示体７０の指示操作を検出し、検出した指示体７０の指示操作に応じた処理を実行する（ステップＳ１１）。
また、ステップＳ２４の判定が肯定判定の場合（ステップＳ２４／ＹＥＳ）、判定部３２は、入力された距離情報に基づいて、指示体８０がスクリーンＳＣに接しているか否かを判定する（ステップＳ２６）。否定判定の場合（ステップＳ２６／ＮＯ）、判定部３２は、他の指示体７０の情報又は指示体８０の情報が入力されているか否かを判定する（ステップＳ２５）。肯定判定の場合（ステップＳ２５／ＹＥＳ）、判定部３２は、ステップＳ２１からの処理を繰り返す。また、否定判定の場合（ステップＳ２５／ＮＯ）、判定部３２は、ステップＳ１１の処理に移行する。
【００７２】
また、ステップＳ２６が肯定判定の場合（ステップＳ２６／ＹＥＳ）、判定部３２は、動き検出部５５２に指示体８０の動きを検出させる（ステップＳ２７）。動き検出部５５２は、判定部３２により指示された指示体８０の指示位置の座標をメモリーに一時的に記憶して、指示体８０の指示位置の動きを表す軌跡データを作成する。また、動き検出部５５２は、判定部３２により指示された指示体８０の動きの速度の平均値を求める。動き検出部５５２は、作成した指示体８０の軌跡データと、指示体８０の動きの速度の平均値とを判定部３２に出力する。判定部３２は、動き検出部５５２から入力される指示体８０の軌跡データを、該当のユーザーの位置情報に対応付けて記憶部６０に記憶させる。
【００７３】
次に、判定部３２は、動き検出部５５２から入力された、指示体８０の動きの速度の平均値が上限のしきい値以上であるか否かを判定する（ステップＳ２８）。肯定判定の場合（ステップＳ２８／ＹＥＳ）、判定部３２は、指示体８０の動きはスクリーンＳＣに対するものではないと判定して、指示体８０を無効にする（ステップＳ３０）。この場合、判定部３２は、指示体８０に関するデータ、例えば、指示体８０の指示位置の座標や、指示体８０の軌跡データ、指示体８０の動きの速度の平均値等のデータを、検出制御部３３には出力しないようにする。
また、否定判定の場合（ステップＳ２８／ＮＯ）、判定部３２は、指示体８０の軌跡データに基づいて、指示体８０が所定時間以上、静止した状態にあるか否かを判定する（ステップＳ２９）。すなわち、判定部３２は、指示体８０の軌跡データに基づいて、指示体８０の動きの頻度が下限のしきい値以下であるか否かを判定する。肯定判定の場合（ステップＳ２９／ＹＥＳ）、判定部３２は、指示体８０の動きを検出することができないので、指示体８０の動きはスクリーンＳＣに対するものではないと判定して、指示体８０に関するデータを無効にする（ステップＳ３０）。例えば、図３に示すように、指示体８０としての左手がスクリーンＳＣに付いている状態である場合、指示体８０の指示位置の座標が、所定時間を経過しても変化しない。この場合、判定部３２は、指示体８０の動きはスクリーンＳＣに対するものではないと判定する。また、否定判定の場合（ステップＳ２９／ＮＯ）、判定部３２は、指示体８０の動きはスクリーンＳＣに対するものあると判定し、指示体８０に関するデータを無効しないと判定する（ステップＳ３１）。
【００７４】
以上説明したように、本実施形態は、制御部３０が、撮影部５１の撮影画像のデータに基づいて、指示体８０の動きを検出することにより、指示体８０による操作を入力として検出するか否かを判定する。従って、入力として検出すべき指示体８０の操作を判定することで、ユーザーの意図しない操作を入力として検出することを防止できる。
【００７５】
また、検出部５５は、指示体７０の位置又は動きを検出し、制御部３０は、検出部５５が検出する指示体８０の位置又は動きに基づき入力を検出する。従って、指示体７０、８０の位置又は動きを入力として検出できる。
【００７６】
また、制御部３０は、撮影部５１の撮影画像に基づいて、スクリーンＳＣに対する指示体８０の相対位置の経時変化を求めることにより、指示体８０の動きを求める。従って、指示体８０の動きの検出精度を高めることができる。
【００７７】
また、制御部３０は、スクリーンＳＣに対する指示体８０の相対位置の経時変化から、指示体８０の動きの速度又は頻度を求めることにより、指示体８０による操作を入力として検出するか否かを判定する。従って、指示体８０による操作を入力として検出するか否かを、より高い精度で判定できる。
【００７８】
また、制御部３０は、指示体８０の動きの速度又は頻度が予め設定された条件に該当するか否かに基づき、指示体８０の操作を検出するか否かを判定する。従って、指示体８０の動きの速度又は頻度が、条件に該当するか否かを判定して、指示体８０の操作を検出できるので、指示体８０による操作を、簡易に、精度よく検出することができる。
【００７９】
また、制御部３０は、検出部５５が複数の指示体８０を検出した場合に、それぞれの指示体８０とスクリーンＳＣとの距離に基づいて、複数の指示体８０のうち、いずれの指示体８０による操作を入力として検出するかを判定する。従って、複数の指示体８０が検出された場合に、操作を検出する対象となる指示体８０を選択して操作を検出できる。
【００８０】
また、制御部３０は、検出部５５が検出する指示体８０が操作者の手指である場合に、指示体８０の操作を入力として検出する。このため、ユーザーの手指を指示体８０として、入力を検出できる。
【００８１】
また、制御部３０は、検出部５５が指示体８０として複数のユーザーの手指を検出した場合に、検出された指示体８０のそれぞれをユーザーに対応付けて、検出部５５によりユーザーごとに操作を検出させる。従って、複数のユーザーの手指による操作が可能となる。
【００８２】
また、制御部３０は、検出部５５が検出した指示体８０について、予め設定された時間以上、スクリーンＳＣに対する動きを検出できない場合に、指示体８０の操作を検出しないと判定する。従って、制御部３０は、指示体８０のスクリーンＳＣに対する動きがない場合に検出を行わないので、ユーザーの意図しない操作を入力として検出しない。例えば、ユーザーがスクリーンＳＣに手を付きながら指示体８０を操作する等の行為を行った場合に、スクリーンＳＣに付いた手を操作として検出することを防止できる。
【００８３】
なお、上述した実施形態及び変形例は本発明を適用した具体的態様の例に過ぎず、本発明を限定するものではなく、異なる態様として本発明を適用することも可能である。例えば、指示体７０、８０は、ペン型の指示体７０やユーザーの手指である指示体８０に限定されず、レーザーポインターや指示棒等を用いてもよく、その形状やサイズは限定されない。
【００８４】
また、上記実施形態では、位置検出部５０は、撮影部５１によりスクリーンＳＣを撮影して指示体７０の位置を特定するものとしたが、本発明はこれに限定されない。例えば、撮影部５１は、プロジェクター１００の本体に設けられ、投射光学系２３の投射方向を撮影するものに限定されない。撮影部５１をプロジェクター１００本体とは別体として配置してもよいし、撮影部５１がスクリーンＳＣの側方や正面から撮影を行うものとしてもよい。さらに、複数の撮影部５１を配置し、これら複数の撮影部５１の撮影画像のデータに基づいて、検出部５５が指示体７０、８０の位置を検出してもよい。
また、上記実施形態では、プロジェクター１００から指示体７０に対し、送信部５３が発する赤外線信号を用いて指示体７０に同期用の信号を送信する構成を説明したが、同期用の信号は赤外線信号に限定されない。例えば、電波通信や超音波無線通信により同期用の信号を送信する構成としてもよい。この構成は、電波通信や超音波無線通信により信号を送信する送信部５３をプロジェクター１００に設け、同様の受信部を指示体７０に設けることで実現できる。
【００８５】
また、指示体８０がスクリーンＳＣに接触している状態が所定時間以上継続している場合に、制御部３０が撮影画像のデータを参照して、指示体８０の状態（形状）を把握するようにしてもよい。例えば、図３のように指示体８０がスクリーンＳＣに所定時間以上継続して接触している状態を検出した場合に、制御部３０は、撮影画像のデータに対してパターンマッチングを行い、スクリーンＳＣに接触している左手の状態を確認してもよい。例えば、スクリーンＳＣに接触している左手が開いた状態であることを認識した場合に、制御部３０は、指示体８０の指示位置の座標や、指示体８０の軌跡データを無効として破棄する。
【００８６】
また、指示体８０の動きの速度や頻度が、予め設定された条件に該当するか否かを判定するしきい値を、ユーザーが操作パネル１９を操作して、任意に変更できるようにしてもよい。例えば、図５に示すステップＳ２９の所定時間を、ユーザーが操作パネル１９を操作して、任意に変更できるようにしてもよい。この際、ユーザーは、実際に指示体８０としての手指によりスクリーンＳＣに対する指示操作を行いながら、前述の所定時間を操作パネル１９により調整できるようにしてもよい。
【００８７】
また、上述した説明では、指示体８０としてユーザーの手指を例に説明したが、指示体８０として検出可能な部位はユーザーの手指に限らない。例えば、撮影部５１の撮影画像のデータからユーザーの肘を指示体８０として検出し、検出したユーザーの肘がスクリーンＳＣに所定時間以上接触している場合に、検出した肘の指示体の座標を無効なデータであると判定してもよい。
【００８８】
また、上述した実施形態では、指示体７０の先端部７１がスクリーンＳＣに押しつけられているか否かを、送受信部７４の点灯パターンに基づいて判定する例を説明したが、本発明はこれに限定されない。例えば、指示体７０の先端部７１がスクリーンＳＣに押しつけられているか否かを、指示体８０と同様に、撮影画像のデータから指示体７０の画像と、指示体７０の影の画像とを検出することで、判定してもよい。
また、上述した実施形態では、プロジェクター１００が備える位置検出部５０および制御部３０の機能により、プロジェクター１００が位置検出装置として機能する例を説明したが、本発明はこれに限定されない。例えば、位置検出部５０と、制御部３０の判定部３２及び検出制御部３３の機能を、プロジェクターとは独立した位置検出装置として実現することもできる。また、プロジェクター以外の表示装置に、位置検出部５０と、制御部３０の判定部３２及び検出制御部３３の機能を持たせて、位置検出装置として動作させる態様も実現可能である。
【００８９】
また、上記実施形態では、光源が発した光を変調する光変調装置２２として、ＲＧＢの各色に対応した３枚の透過型の液晶パネルを用いた構成を例に挙げて説明したが、本発明はこれに限定されるものではない。例えば、３枚の反射型液晶パネルを用いた構成としてもよいし、１枚の液晶パネルとカラーホイールを組み合わせた方式を用いてもよい。また、３枚のデジタルミラーデバイス（ＤＭＤ）を用いた方式、１枚のデジタルミラーデバイスとカラーホイールを組み合わせたＤＭＤ方式等により構成してもよい。光変調装置２２として１枚のみの液晶パネル又はＤＭＤを用いる場合には、クロスダイクロイックプリズム等の合成光学系に相当する部材は不要である。また、液晶パネル及びＤＭＤ以外にも、光源が発した光を変調可能な光変調装置であれば問題なく採用できる。
【００９０】
また、図２に示したプロジェクター１００の各機能部は機能的構成を示すものであって、具体的な実装形態は特に制限されない。つまり、必ずしも各機能部に個別に対応するハードウェアが実装される必要はなく、一つのプロセッサーがプログラムを実行することで複数の機能部の機能を実現する構成とすることも勿論可能である。また、上記実施形態においてソフトウェアで実現される機能の一部をハードウェアで実現してもよく、あるいは、ハードウェアで実現される機能の一部をソフトウェアで実現してもよい。その他、プロジェクター１００の他の各部の具体的な細部構成についても、本発明の趣旨を逸脱しない範囲で任意に変更可能である。
【符号の説明】
【００９１】
２０…投射部、２１…光源部、２２…光変調装置、２３…投射光学系、３０…制御部、３１…投射制御部、３２…判定部、３３…検出制御部、４０…画像処理部、５０…位置検出部、５１…撮影部、５２…撮影制御部、５３…送信部、５５…検出部、６０…記憶部、７０…指示体、８０…指示体（対象物）、１００…プロジェクター（位置検出装置）、５５１…物体検出部、５５２…動き検出部、ＳＣ…スクリーン（操作面）。
【図１】
0006405836.tif 000002
【図２】
0006405836.tif 000003
【図３】
0006405836.tif 000004
【図４】
0006405836.tif 000005
【図５】
0006405836.tif 000006