(57)【要約】【課題】ポインティング操作を良好に行う。【解決手段】表示面に画像を表示する表示手段を制御する制御装置であって、前記表示面に対する操作部材の位置に関する情報を取得する取得手段と、前記操作部材の位置に応じた前記画像の位置に操作画像を表示するように前記表示手段を制御する制御手段と、を備え、前記制御手段は、前記操作部材が所定の領域内にあるか否かに応じて、前記操作部材の位置と前記画像における前記操作画像の位置との対応関係を変更する。【選択図】図２
2020021316.tif 000002
【特許請求の範囲】
【請求項１】
表示面に画像を表示する表示手段を制御する制御装置であって、
前記表示面に対する操作部材の位置に関する情報を取得する取得手段と、
前記操作部材の位置に応じた前記画像の位置に操作画像を表示するように前記表示手段を制御する制御手段と、
を備え、
前記制御手段は、
前記操作部材が所定の領域内にあるか否かに応じて、前記操作部材の位置と前記画像における前記操作画像の位置との対応関係を変更することを特徴とする制御装置。
【請求項２】
前記制御手段は、
前記操作部材が前記所定の領域の外側に位置する場合、前記操作部材の向きに延びる線が、前記表示面に交わる第１の位置に前記操作画像を表示させ、
前記操作部材が前記所定の領域内に位置する場合、前記操作部材のうち前記表示面を指し示す部分である指示点を通る前記表示面の法線と、前記表示面とが交わる第２の位置に前記操作画像を表示させるように前記表示手段を制御することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記操作部材が前記所定の領域の外側から前記所定の領域内に移動した場合、前記制御手段は、前記操作部材が前記所定の領域の外側から前記所定の領域内に移動してから所定の期間が経過するまでは、前記第１の位置に前記操作画像を表示させるように前記表示手段を制御することを特徴とする請求項２に記載の制御装置。
【請求項４】
前記制御手段は、
前記操作部材が、前記所定の領域の外側に位置し、かつ前記第１の位置が前記画像の外側に位置する場合、前記画像の端部に前記操作画像を表示させるように前記表示手段を制御することを特徴とする請求項２または３に記載の制御装置。
【請求項５】
前記操作部材が、前記所定の領域の外側に位置し、かつ前記第１の位置が前記画像の外側に位置する場合、前記第１の位置が前記画像の外側に位置することに関する情報を報知する報知手段を有する
ことを特徴とする請求項２乃至４のいずれか１項に記載の制御装置。
【請求項６】
前記所定の領域は、前記表示面から所定距離だけ離れた面と、前記表示面との間の領域である
ことを特徴とする請求項１乃至５のいずれか１項に記載の制御装置。
【請求項７】
前記所定の領域は、前記第１の位置を中心として所定距離だけ離れた面と、前記表示面との間の領域である
ことを特徴とする請求項２乃至５のいずれか１項に記載の制御装置。
【請求項８】
表示面に画像を表示する表示手段を制御する制御装置であって、
前記表示面に対する操作部材の位置に関する情報を取得する取得手段と、
前記操作部材の位置に応じた前記画像の位置に操作画像を表示するように前記表示手段を制御する制御手段と、
を備え、
前記制御手段は、
前記操作部材の向きに延びる線と前記表示面が交わる交点が前記画像に含まれる場合、前記交点の位置に前記操作画像を表示させ、前記交点が前記画像に含まれない場合、前記
画像の端部に前記操作画像を表示させるように前記表示手段を制御することを特徴とする制御装置。
【請求項９】
前記表示手段は、画像信号に基づいて前記表示面に画像を投影する投影手段であって、
前記制御手段は、前記表示手段に画像信号を出力することによって、前記表示手段を制御することを特徴とする請求項１乃至８のいずれか１項に記載の制御装置。
【請求項１０】
表示面に画像を表示する表示手段と、
請求項１乃至９のいずれか１項に記載の制御装置と、
を有することを特徴とする表示装置。
【請求項１１】
表示面に画像を表示する表示手段を制御する制御方法であって、
前記表示面に対する操作部材の位置に関する情報を取得する取得ステップと、
前記操作部材の位置に応じた前記画像の位置に操作画像を表示するように前記表示手段を制御する制御ステップと、
を含み、
前記制御ステップでは、
前記操作部材が所定の領域内にあるか否かに応じて、前記操作部材の位置と前記画像における前記操作画像の位置との対応関係を変更することを特徴とする制御方法。
【請求項１２】
表示面に画像を表示する表示手段を制御する制御方法であって、
前記表示面に対する操作部材の位置に関する情報を取得する取得ステップと、
前記操作部材の位置に応じた前記画像の位置に操作画像を表示するように前記表示手段を制御する制御ステップと、
を含み、
前記制御ステップでは、
前記操作部材の向きに延びる線と前記表示面が交わる交点が前記画像に含まれる場合、前記交点の位置に前記操作画像を表示させ、前記交点が前記画像に含まれない場合、前記画像の端部に前記操作画像を表示させるように前記表示手段を制御することを特徴とする制御方法。
【請求項１３】
コンピュータを、請求項１乃至９のいずれか１項に記載された制御装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置及び制御方法に関するものである。
【背景技術】
【０００２】
表示面から離れた場所から、表示面に表示された表示画像（投影画像）に対して、使用者がタッチペン等のポインティングデバイスまたは指で操作し、表示画像のクリック、描画等を行う技術が提案されている。
特許文献１には、投影画像中に埋め込まれた位置情報をポインティングデバイスで読み込み、読み込んだ情報に基づいて、ポインティングデバイスのポイント位置を検出し、ポインタを表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１０３０６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した従来技術では、表示面におけるポインタの表示位置は、ポインティングデバイスが示す方向の延長線上となる。このため、使用者が表示面に近づいて手の届く箇所をクリック、描画等の操作を行う場合、ポインティングデバイスを表示面に垂直に立てる必要があり、操作し難くなる場合がある。
ポインティングデバイスを表示面に垂直に立てない場合には、表示面に直接接触してクリック、描画等を行う必要があり、スクリーン、ディスプレイ等の表示面を傷めてしまうことが懸念される。
また、表示面に対するポインティングデバイスの位置によっては、ポインティングデバイスが示す方向の延長線が表示面から外れてしまう場合がある。このような場合には、ポインタが表示されないため、ポインティングデバイスの操作性が低下してしまうことが懸念される。
【０００５】
本発明は上記したような事情に鑑みてなされたものであり、ポインティング操作を良好に行うことが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１態様は、
表示面に画像を表示する表示手段を制御する制御装置であって、
前記表示面に対する操作部材の位置に関する情報を取得する取得手段と、
前記操作部材の位置に応じた前記画像の位置に操作画像を表示するように前記表示手段を制御する制御手段と、
を備え、
前記制御手段は、
前記操作部材が所定の領域内にあるか否かに応じて、前記操作部材の位置と前記画像における前記操作画像の位置との対応関係を変更することを特徴とする制御装置を提供する。
【０００７】
本発明の第２態様は、
表示面に画像を表示する表示手段を制御する制御装置であって、
前記表示面に対する操作部材の位置に関する情報を取得する取得手段と、
前記操作部材の位置に応じた前記画像の位置に操作画像を表示するように前記表示手段を制御する制御手段と、
を備え、
前記制御手段は、
前記操作部材の向きに延びる線と前記表示面が交わる交点が前記画像に含まれる場合、前記交点の位置に前記操作画像を表示させ、前記交点が前記画像に含まれない場合、前記画像の端部に前記操作画像を表示させるように前記表示手段を制御することを特徴とする制御装置を提供する。
【０００８】
本発明の第３態様は、
表示面に画像を表示する表示手段と、
上記記載の制御装置と、
を有することを特徴とする表示装置を提供する。
【０００９】
本発明の第４態様は、
表示面に画像を表示する表示手段を制御する制御方法であって、
前記表示面に対する操作部材の位置に関する情報を取得する取得ステップと、
前記操作部材の位置に応じた前記画像の位置に操作画像を表示するように前記表示手段を制御する制御ステップと、
を含み、
前記制御ステップでは、
前記操作部材が所定の領域内にあるか否かに応じて、前記操作部材の位置と前記画像における前記操作画像の位置との対応関係を変更することを特徴とする制御方法を提供する。
【００１０】
本発明の第５態様は、
表示面に画像を表示する表示手段を制御する制御方法であって、
前記表示面に対する操作部材の位置に関する情報を取得する取得ステップと、
前記操作部材の位置に応じた前記画像の位置に操作画像を表示するように前記表示手段を制御する制御ステップと、
を含み、
前記制御ステップでは、
前記操作部材の向きに延びる線と前記表示面が交わる交点が前記画像に含まれる場合、前記交点の位置に前記操作画像を表示させ、前記交点が前記画像に含まれない場合、前記画像の端部に前記操作画像を表示させるように前記表示手段を制御することを特徴とする制御方法を提供する。
【発明の効果】
【００１１】
本発明によれば、ポインティング操作を良好に行うことが可能な技術を提供することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】実施例１の表示システムの概略構成を示す図
【図２】実施例１のプロジェクタの内部構成について示す図
【図３】実施例１の投影画像、操作体、指示点、ポインタの関係を示す図
【図４】実施例１の動作の一例を表すフローチャート
【図５】実施例２の投影画像、操作体、指示点、ポインタの関係を示す図
【図６】実施例２の動作の一例を表すフローチャート
【図７】実施例３の投影画像、操作体、指示点、ポインタの関係を示す図
【図８】実施例３の動作の一例を表すフローチャート
【図９】実施例４の投影画像、操作体、指示点、ポインタの関係を示す図
【図１０】実施例４の動作の一例を表すフローチャート
【図１１】実施例４の動作における警告表示の一例を示す図
【図１２】実施例５の表示システムの概略構成を示す図
【図１３】実施例５の表示システムの内部構成を示す図
【図１４】実施例５の通信シーケンスの一例を示す図
【発明を実施するための形態】
【００１３】
以下に図面を参照して、この発明を実施するための形態を例示的に詳しく説明する。
［実施例１］
以下に、実施例１について説明する。
本実施例では、表示システムの一例としてプロジェクタに本発明を適用した例を説明する。
【００１４】
＜全体構成＞
図１は、本実施例の表示システムの概略構成を示す図である。
プロジェクタ１００は、不図示の信号源から画像データ（プレゼンテーションのためのスライド画像等、画像信号）を受信する。プロジェクタ１００は、入力した画像データに基づいた画像を生成しスクリーン（表示面）２００上に投影することで、スクリーン２００上に投影画像３００を表示させる。
プロジェクタ１００は、投影画像３００中にポインタ（操作画像）６００を重畳表示させることができる。プロジェクタ１００は、後述する撮像部を内蔵しており、スクリーン２００を撮像する。プレゼンタ４８０は、不図示の聴衆に向けて、投影画像３００を用いてプレゼンテーションを行う。ここで、プレゼンタ４８０は、自らの腕、またはタッチペン等の操作部材（以下、操作体）４００で、投影画像３００に対してクリック、描画等の操作を行う。
【００１５】
その際、プロジェクタ１００は、操作体４００の向き、及び操作体４００の先端部にある指先、またはペン先（以下、指示点）５００の位置から、操作体４００が指し示す投影画像上の位置に関する情報を取得し、取得した位置にポインタ６００を表示する。このとき、ペンの根元、ヒトの手首、肩等に対応する操作体４００の末端部４５０の位置に関する情報を用いて、ポインタ６００の位置に関する情報を取得することができる。
このようにして、プレゼンタ４８０は、ポインタ６００が表示された位置で、投影画像３００に対してクリック、描画等の操作を行い、プレゼンテーションを進めることができる。
【００１６】
次に、図２を用いて、本実施例のプロジェクタ１００の内部構成について説明する。
プロジェクタ１００は、制御部１０１、画像入力部１０２、画像処理部１０３、光源１０４、色分離部１０５、光変調素子１０６、色合成部１０７、投影光学系１０８、光源制御部１０９、光変調素子駆動部１１０、投影光学系制御部１１１を有する。また、プロジェクタ１００は、操作体検出部１１２、指示点座標算出部１１３、ポインタ座標算出部１１４、ＲＡＭ１１５、操作部１１６、通信部１１７、計時部１１８、測距部１１９、撮像部１２０、バス１２１、記憶部１２２を有する。
【００１７】
制御部１０１は、少なくとも１つのプロセッサーを有する制御部であり、プロジェクタ１００全体を制御する。本実施例では、制御部１０１は、マイクロコンピュータから構成されている。制御部１０１は、制御部１０１の動作用の定数、変数、記憶部１２２から読み出したプログラム等をＲＡＭ１１５に展開して実行することで、本実施例の各処理を実現する。制御部１０１の動作については後述する。
画像入力部１０２は、外部機器から画像データを入力し、後段の画像処理部１０３が処
理できる形式に画像データを変換する。
画像処理部１０３は、画像入力部１０２からの画像データに対し、明るさ補正、黒レベル補正、色補正や色変換、ガンマ補正等の画質補正や、拡大縮小、フレームレート変換、或いは台形補正や自由曲面補正といった変形処理を行う。また、画像処理部１０３は、制御部１０１の指示に従い、入力された画像データに、制御部１０１から指定された画像を重畳表示することができる。これにより、前述したポインタ６００や、プレゼンタ４８０等の使用者に操作を促すためのメニュー画像を重畳表示させることもできる。画像処理部１０３で処理を施した画像データは、後述の光変調素子駆動部１１０に出力される。
【００１８】
光源１０４には、高圧水銀ランプやハロゲンランプ、ＬＥＤ（発光ダイオード）、レーザ光源等を用いることができる。光源１０４は、白色の光源を用いてもよいし、赤、緑、青の色成分毎の複数の光源からなるように構成してもよい。
色分離部１０５は、光源１０４からの光を赤、緑、青の各光に分離し、色毎に後述の光変調素子１０６に照射させる。色分離部１０５としては、ダイクロイックミラーやプリズム等を用いることができる。
光変調素子１０６上には、後述の光変調素子駆動部１１０で生成された駆動信号により像が形成される。光変調素子１０６としては、透過型光変調素子や、反射型光変調素子等を用いることができる。
色合成部１０７は、光変調素子１０６を透過した赤、緑、青の各光を合成するものであり、例えば、ダイクロイックミラーやプリズムなどからなる。色合成部１０７により各色成分を合成した光は、後述の投影光学系１０８に送られる。
【００１９】
投影光学系１０８は、光源１０４から照射され、光変調素子１０６で変調された光を外部に投影するためのものであり、複数のレンズ、レンズ駆動用のアクチュエータからなる。レンズを後述の投影光学系制御部１１１の指示を受けたアクチュエータにより駆動し、投影画像の拡大、縮小、焦点調整などを行う。
光源制御部１０９は、制御部１０１からの指示を受け、光源１０４に対し、点灯、消灯、及び明るさの変更といった制御を行う。
光変調素子駆動部１１０は、入力された画像データを、階調に対するパネルでの光の変調度合いが線形になるように階調変換する。また、変換後の画像データを、光変調素子１０６上に像を形成させるための駆動信号に変換し、光変調素子１０６に出力する。
投影光学系制御部１１１は、投影光学系１０８のレンズを駆動するアクチュエータを制御するものであり、制御用のマイクロプロセッサからなる。なお、投影光学系制御部１１１は、専用のマイクロプロセッサである必要はなく、制御部１０１が兼ねてもよい。
【００２０】
操作体検出部１１２では、後述の撮像部１２０でスクリーン２００を撮像した画像を基に操作体４００を検出する。
操作体検出部１１２は、マッチング部１１２１とデータベース１１２２を有する。データベース１１２２には、操作体４００のサンプルとなるタッチペン、人間の指先、腕先等の画像が予め格納されている。マッチング部１１２１で、撮像部１２０がスクリーン２００を撮像した画像と、データベース１１２２に格納されている操作体４００のサンプル画像とを比較する。画像の比較には、特徴量比較、相関検出等を用いる。これにより、撮像部１２０で取得した撮像画から、操作体４００を検出する。
【００２１】
指示点座標算出部１１３では、操作体検出部１１２で検出した結果と、後述の測距部１１９からの情報から、投影画像３００（スクリーン２００）に対する操作体４００の位置に関する情報を算出する。本実施例では、指示点座標算出部１１３は、操作体４００の向き、及び指示点５００の３次元空間における座標を算出する。動作の詳細は後述する。
ポインタ座標算出部１１４では、指示点座標算出部１１３による算出結果、すなわち、算出した操作体４００の向き、及び指示点５００の３次元空間における座標から、投影画
像３００中に重畳表示するポインタ６００の座標を算出する。動作の詳細は後述する。
ＲＡＭ１１５は、揮発性のメモリであり、制御部１０１が動作するためのワークメモリとして使用される。
記憶部１２２は、電気的に消去・記録可能な不揮発性メモリ（例えばＥＥＰＲＯＭ）を有する。記憶部１２２には、制御部１０１の動作用の定数、プログラム等が記憶される。ここでいう、プログラムとは、本実施形態にて後述する各種フローチャートを実行するためのプログラムのことである。
【００２２】
操作部１１６は、プレゼンタ４８０等の使用者からの指示を受けるためのボタンやタッチスクリーンである。操作部１１６により、使用者から、例えば、電源のオン・オフ、画像処理の指示等を受けることができる。
通信部１１７は、制御ケーブル等を介した有線通信を行うモジュールや、無線通信を行うモジュールから構成される。通信部１１７により、外部機器との間でコマンドデータや画像データの送受信が可能である。例えば、操作部１１６で受信する使用者からの指示と同等のコマンドを通信部１１７経由で受信することもできる。通信部１１７としては、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）や、イーサネット（登録商標）、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の通信のためのコントローラを用いることができる。
【００２３】
計時部１１８では、制御部１０１の指示で計時を行う。
測距部１１９は、制御部１０１の指示で、測距部１１９からスクリーン２００、操作体４００、及びプレゼンタ４８０までの距離をそれぞれ測定する。測距部１１９としては、ＴＯＦ（Ｔｉｍｅ−ｏｆ−Ｆｌｉｇｈｔ）センサを用いることができるが、後述の撮像部１２０がその機能を兼ねてもよい。
撮像部１２０は、制御部１０１の指示で、スクリーン２００、操作体４００、及びプレゼンタ４８０を撮像する。
バス１２１を介して、制御部１０１は、プロジェクタ１００内の各部と通信する。
【００２４】
なお、光源１０４から投影光学系１０８に至る経路の構成は様々な形態で変形してもよい。例えば、光源１０４が色毎に存在するのであれば、色分離部１０５を持たなくてもよい。
また、光変調素子１０６が単板であり、時分割で各色を出力する構成であれば、色合成部１０７を持たなくてもよい。また、光変調素子１０６を有さず、画像データに応じて変調したスポット光をスクリーン２００上で走査することにより、投影画像３００を表示する構成をとってもよい。このように、外部機器から受信した画像データに基づき光を変調し、画像を投影できる光学系を具備するものであれば、本実施例を適用できる。
【００２５】
＜プロジェクタの基本的な動作＞
次に、プロジェクタ１００の基本的な動作について説明する。
プロジェクタ１００に不図示の電源ケーブルにてＡＣ電源が供給されると、制御部１０１、バス１２１、ＲＡＭ１１５、操作部１１６、通信部１１７、記憶部１２２に電源が供給され、制御部１０１は起動し待機状態となる。ここで、制御部１０１は、操作部１１６や通信部１１７を介した使用者からの電源オン指示を検出すると、プロジェクタ１００の各部を起動させる。つまり、制御部１０１は、各部に電源を供給するように制御を行い、画像入力部１０２、画像処理部１０３、光源制御部１０９、光変調素子駆動部１１０、測距部１１９、撮像部１２０を動作可能にさせる。
【００２６】
また、制御部１０１は、光源制御部１０９に光源１０４を発光させるように指示を出し、不図示の冷却ファンを作動させる。これにより、プロジェクタ１００は画像入力部１０２から受信される画像データの投影表示を開始する。なお、制御部１０１は、通信部１１
７や操作部１１６経由で受信するコマンド等に基づき、メニュー表示や画質補正を行うように画像処理部１０３に指示してもよい。
制御部１０１は、操作部１１６や通信部１１７を介した、使用者からの電源オフ指示を検出すると、プロジェクタ１００の各部の終了処理を行い、各部への電源供給を停止する制御を行う。この後、制御部１０１は再び待機状態となる。
【００２７】
＜プロジェクタの特徴的な動作＞
次に、本実施例におけるプロジェクタ１００の特徴的な動作について図３Ａ〜図３Ｃ、図４を用いて説明する。
図３Ａ〜図３Ｃには、投影画像３００、操作体４０１，４０２、指示点５０１，５０２、ポインタ６０１，６０２の関係を示している。ここで、図３Ａは投影画像３００を正面から見た図、図３Ｂは投影画像３００を向かって右から見た図、図３Ｃは投影画像３００を真上から見た図である。
なお、操作体４０１，４０２は、図３Ａ〜図３Ｃに示される位置に応じて操作体４００の符号を変えたものであり、操作体４０１と操作体４０２を特に区別する必要がない場合には、操作体４００という場合がある。同様に、指示点５０１と指示点５０２を特に区別する必要がない場合には、指示点５００といい、ポインタ６０１とポインタ６０２を特に区別する必要がない場合には、ポインタ６００という場合がある。また、操作体４０１の末端部４５１、または操作体４０２の末端部４５２を特に区別する必要がない場合には、操作体４００の末端部４５０という場合がある。これらの点に関しては、後述する実施例においても同様である。
【００２８】
以下に、操作体４００、指示点５００を検出して、ポインタ６００を投影するまでの動作を図４のフローチャートを用いて説明する。この処理は、記憶部１２２に記録されたプログラムをＲＡＭ１１５に展開して制御部１０１が実行することで実現する。
ステップＳ４０１で動作を開始したら、制御部１０１の指示でステップＳ４０２に遷移し、制御部１０１またはＲＡＭ１１５に格納されたフラグｆｌｇを初期化する。フラグｆｌｇについては、後述する。制御部１０１は、同時に、計時部１１８の初期化も行う。
次に、ステップＳ４０３に遷移し、制御部１０１の指示で撮像部１２０は、図１のスクリーン２００、操作体４００、及びプレゼンタ４８０を撮像する。
【００２９】
続いてステップＳ４０４では、制御部１０１の指示で撮像部１２０が撮像した画像を操作体検出部１１２に送る。操作体検出部１１２内のマッチング部１１２１で、撮像部１２０が撮像した画像と、データベース１１２２に予め格納した操作体４００のサンプル画像であるタッチペン、人間の指先、腕先等の画像とのマッチングを行う。これにより、操作体検出部１１２では、撮像部１２０が撮像した画像から、操作体４００を検出することができる。同時に、ペン先や指先である指示点５００も検出することができる。また、ペンの根元、ヒトの手首、肩等の末端部４５０も検出することができる。
【００３０】
さらに、ステップＳ４０５に遷移し、制御部１０１の指示で測距部１１９は、ステップＳ４０４で検出した操作体４００と測距部１１９との距離を検出する。また、測距部１１９は、測距部１１９と、操作体４００の先端部である指示点５００との距離、及び、測距部１１９と、操作体４００の末端部４５０との距離を検出する。
このような操作体検出部１１２の検出結果と、測距部１１９の測距結果から、指示点座標算出部１１３が、操作体４００の向き、及び指示点５００の３次元空間における座標を算出する。これにより、制御部１０１は、投影画像３００（スクリーン２００）に対する操作体４００の位置に関する情報を取得できる。
ここで、図３Ａに示した投影画像３００の例えば向かって左下隅３５０を３次元空間の原点と定義する。本実施例では、原点から投影画像３００上を向かって右に向かう軸をｘ軸、原点から投影画像３００上を上に向かう軸をｙ軸、原点から投影画像３００の法線上
（スクリーン２００の法線上）をプロジェクタ１００側に向かう軸をｚ軸とする。
【００３１】
次に、ステップＳ４０６に遷移し、制御部１０１の指示で、ステップＳ４０５で取得した操作体４００の先端部である指示点５００の座標が、所定の領域内にあるかどうか判別（判定）する。ここで、所定の領域とは、本実施例では図３Ａ〜３Ｃに示す領域３０１で、具体的には、投影画像３００に近い３次元空間の領域のことを指す。本実施例では領域３０１は、図３Ａに示すように投影画像３００の下端から高さｙｔｈ以上で、かつ、図３Ｂ，３Ｃに示すように投影画像３００からの距離がｚｔｈ以下である領域としているが、領域３０１はこれに限るものではない。領域３０１は、スクリーン２００と、スクリーン２００から所定距離だけ離れた面（仮想面）との間の領域を含むものであればよい。言い換えれば、所定の領域は、表示面から所定距離だけ離れた面と、表示面との間の領域である。
【００３２】
ここで、操作体４００が、図３Ａ〜図３Ｃにおいて４０１で示す位置にあり、操作体４０１の指示点５０１の座標が（ｘｅ１、ｙｅ１、ｚｅ１）であるとする。
このとき、図３Ｂ，３Ｃに示すようにｚｅ１＞ｚｔｈである。つまり、指示点５０１は領域３０１の外側に位置する。
この場合にはステップＳ４０６で、操作体４００が図３Ａ〜３Ｃにおいて４０１で示す位置に存在し、その指示点５０１の座標（ｘｅ１、ｙｅ１、ｚｅ１）が領域３０１外である、と制御部１０１が判別する。そして、制御部１０１の指示でステップＳ４０７に遷移する。
【００３３】
ステップＳ４０７からステップＳ４１１では、指示点５０１が一定時間連続して領域３０１の外側に位置する場合に、指示点５０１を通り操作体４０１の向きに延びる延長線（仮想線）上にポインタ６０１を表示させる処理を行う。
ステップＳ４０７では、制御部１０１がフラグｆｌｇの値を参照する。このｆｌｇには、指示点５００が、領域３０１の内外何れにいるかを表す値が格納されている。ここでは、前回の（１回前の処理ループにおける）ステップＳ４０６に遷移したときに、ｆｌｇの値が、指示点５０１が領域３０１の外側に位置していたことを示す“ｏｕｔ”であるか否か判別する。
ステップＳ４０７で、制御部１０１がｆｌｇ＝“ｏｕｔ”でないと判別した場合、前回のステップＳ４０６の判別時では、指示点５０１が領域３０１の内部に位置していたことを表す。つまり、プレゼンタ４８０の手の震え等により、操作体４０１が振動し指示点５０１が領域３０１から出たり入ったりしていることを表す。このときは、制御部１０１の指示でステップＳ４０８に遷移し、計時部１１８をリセットして、指示点５０１が領域３０１の外側に継続して存在する時間を測り直す。ここで、前回のステップＳ４０６は、１回前の処理ループ（ステップＳ４０３〜Ｓ４０６、Ｓ４０７〜Ｓ４１０の処理ループ、またはステップＳ４０３〜Ｓ４０６、Ｓ４１３〜Ｓ４１６の処理ループ）におけるステップＳ４０６である。
【００３４】
ステップＳ４０７で、制御部１０１がｆｌｇ＝“ｏｕｔ”であると判別した場合、前回のステップＳ４０６の判別時から、指示点５０１が領域３０１の外側に位置していたことを表す。よって、計時部１１８による、指示点５０１が領域３０１の外側に引き続き存在する時間の測定を継続したまま、制御部１０１の指示でステップＳ４０９に遷移する。
ステップＳ４０７の直前のステップＳ４０６では、指示点５０１が領域３０１の外側に位置していたので、ステップＳ４０９では、制御部１０１がフラグｆｌｇに指示点５０１が領域３０１の外側に位置することを示す値“ｏｕｔ”を設定する。これにより、次回、ステップＳ４０６に遷移したときには、「前回の判別時には、指示点５０１が領域３０１の外側に位置していた。」と制御部１０１が判別できる。
【００３５】
次に、制御部１０１の指示でステップＳ４１０に遷移し、制御部１０１は、計時部１１８による計時時間が所定時間経過したか判別する。ステップＳ４１０において、例えば１秒程度の所定時間がまだ経過していない、と制御部１０１が判別した場合、制御部１０１の指示で、ステップＳ４０３に遷移し、上述の動作（ステップＳ４０３〜Ｓ４１０）を繰り返す。
ステップＳ４１０において、例えば１秒程度の所定時間経過した、と制御部１０１が判別した場合、処理は、ステップＳ４１１に遷移する。
ここで、ステップＳ４１０において、指示点５０１が例えば１秒程度の所定時間継続して領域３０１の外側に存在しているか否か判別する理由を説明する。それは、指示点５０１が領域３０１から出たり入ったりする動作が繰り返されると、その動作に呼応して、ポインタの位置が、頻繁に切り替わってしまい、ポインタがちらついて見にくいからである。ポインタの位置は、指示点５０１を通り操作体４０１の向きに延びる延長線上の位置と、後述する、指示点５０２を通る投影画像３００の法線上の位置とで切り替わる。
【００３６】
ステップＳ４１１では、領域３０１の外側に位置する指示点５０１を通り操作体４０１の向きに延びる延長線と、投影画像３００が交わる点（第１の位置）をポインタ座標算出部１１４が算出し、算出した点にポインタ６０１を表示させる。ポインタ座標算出部１１４では、指示点座標算出部１１３により算出された操作体４００の向き、及び指示点５００の３次元空間における座標から、投影画像３００中に重畳表示するポインタ６００の座標を算出する。
このときの動作について、図３Ａ〜３Ｃを用いて説明する。
【００３７】
ステップＳ４０４、ステップＳ４０５で、操作体４０１の先端部である指示点５０１の座標（ｘｅ１、ｙｅ１、ｚｅ１）、及び末端部４５１の座標（ｘｓ１、ｙｓ１、ｚｓ１）を検出している。ここで、末端部４５１から指示点５０１への方向ベクトルを（ｌ１、ｍ１、ｎ１）とすると、指示点５０１（ｘｅ１、ｙｅ１、ｚｅ１）を通り、操作体４０１を含む直線の方程式は式（１）の通りである。
（ｘ−ｘｅ１）／ｌ１＝（ｙ−ｙｅ１）／ｍ１＝（ｚ−ｚｅ１）／ｎ１  ・・式（１）
式（１）の直線とスクリーン２００上の投影画像３００の交点の座標（ｘｐ１、ｙｐ１、０）がポインタ６０１を表示する座標となる。このとき、式（１）にｚ＝０を代入すれば、ｘｐ１、ｙｐ１が求められる。
このようにして算出した座標（ｘｐ１、ｙｐ１、０）に相当する位置に対して、制御部１０１は、画像処理部１０３を制御して、ポインタ６０１を表示させる。
なお、操作体に内蔵されたジャイロセンサにより操作体の向きを取得し、操作体からプロジェクタに赤外線やＢＴＣ規格を用いた無線通信を介して、向きを示す情報を送信することによって、プロジェクタが操作体の向きを示す情報を取得することも可能である。
【００３８】
以上が、プレゼンタ４８０の指先、またはペン先である指示点５０１が、図３Ａ〜３Ｃに示すように領域３０１の外側に位置する場合に、指示点５０１を通り操作体４０１の向きに延びる延長線上にポインタ６０１を表示する動作である。
【００３９】
一方、操作体４００が、図３Ａ〜図３Ｃにおいて４０２で示す位置にあるとする。
この場合にはステップＳ４０６で、操作体４００が図３Ａ〜３Ｃにおいて４０２で示す位置に存在し、その指示点５０２の座標（ｘｅ２、ｙｅ２、ｚｅ２）が、領域３０１内にある、と制御部１０１が判別する。そして、制御部１０１の指示でステップＳ４１３に遷移する。
ステップＳ４１３では、制御部１０１がフラグｆｌｇの値を見て、前回のステップＳ４０６に遷移したときに、指示点５０２が領域３０１内に位置していたことを示す“ｉｎ”
であるか否か判別する。
ステップＳ４１３で、制御部１０１がｆｌｇ＝“ｉｎ”でないと判別した場合、前回のステップＳ４０６の判別時では、指示点５０２が領域３０１の外側にあったことを表す。つまり、プレゼンタ４８０の手の震え等により、例えば、図３Ａ〜３Ｃに示す操作体４０１と操作体４０２との間で振動し、指示点５００が領域３０１から出たり入ったりしていることを表す。このときは、制御部１０１の指示でステップＳ４１４に遷移し、計時部１１８をリセットして、指示点５０２が領域３０１内に継続して存在する時間を測り直す。
ステップＳ４１３で、制御部１０１がｆｌｇ＝“ｉｎ”であると判別した場合、前回のステップＳ４０６の判別時から、指示点５０２が領域３０１内に位置していたことを表す。よって、計時部１１８による、指示点５０２が領域３０１内に引き続き存在する時間の測定を継続したまま、制御部１０１の指示でステップＳ４１５に遷移する。
【００４０】
ステップＳ４１５では、制御部１０１がフラグｆｌｇに指示点５０２が領域３０１内に位置することを示す値“ｉｎ”を設定する。これにより、次回、ステップＳ４１３に遷移したときに、「指示点５０２が継続して領域３０１の内側に位置している。」と制御部１０１が判別できる。
【００４１】
次に、制御部１０１の指示で、ステップＳ４１６に遷移し、制御部１０１は、計時部１１８による計時時間が所定時間経過したか判別する。ステップＳ４１６において、例えば１秒程度の所定時間がまだ経過していない、と制御部１０１が判別した場合、制御部１０１の指示で、ステップＳ４０３に遷移し、上述の動作（ステップＳ４０３〜Ｓ４０６、Ｓ４１３〜Ｓ４１６）を繰り返す。
ステップＳ４１６において、例えば１秒程度の所定時間経過した、と制御部１０１が判別した場合、処理はステップＳ４１７に遷移する。
【００４２】
ステップＳ４１７では、領域３０１内に位置する指示点５０２を通る投影画像３００（スクリーン２００）の法線と、投影画像３００（スクリーン２００）とが交わる点（第２の位置）にポインタ６０２を表示させる。
このときの動作について、図３Ａ〜３Ｃを用いて説明する。
ステップＳ４０４、ステップＳ４０５で、操作体４０２の先端部である指示点５０２の座標（ｘｅ２、ｙｅ２、ｚｅ２）を既に検出している。この座標から延ばした投影画像３００の法線と、投影画像３００が交わる座標が（ｘｅ２、ｙｅ２、０）であることは、図３Ａ〜３Ｃより自明である。引き続き、制御部１０１は、画像処理部１０３を制御して、算出した座標（ｘｅ２、ｙｅ２、０）に相当する位置にポインタ６０２を表示する。
【００４３】
以上が、プレゼンタ４８０の指先、またはペン先である指示点５０２が、領域３０１内に位置する場合に、指示点５０２を通る投影画像３００の法線上にポインタ６０２を表示する動作である。本実施例では、指示点５０２が、領域３０１内に位置する場合には、指示点５０２を通り操作体４０２の向きに延びる延長線と、投影画像３００が交わる点６１２（図３Ａ〜３Ｃ）にはポインタを表示しない。ここで、操作体４０２の末端部４５２の座標を（ｘｓ２、ｙｓ２、ｚｓ２）としている。
【００４４】
次に、制御部１０１の指示で、ステップＳ４１２に遷移する。ステップＳ４１２で制御部１０１は、操作部１１６より動作終了操作があったか否かを判別し、動作継続であればステップＳ４０３に遷移する。動作終了であれば、制御部１０１の指示で、ステップＳ４１８に遷移し、動作を終了する。
【００４５】
以上説明したように、本実施例では、図１に示す操作体４００の先端部である指示点５００が、投影画像３００の近くに位置しているかどうか判別している。そして、指示点５００が投影画像３００から離れた位置にある場合には、図３Ａ〜３Ｃに示すポインタ６０
１のように、指示点５０１を通り操作体４０１の向きに延びる延長線と、投影画像３００が交わる点にポインタを表示させる。言い換えれば、操作部材が所定の領域の外側に位置する場合、操作部材の向きに延びる線が、表示面に交わる第１の位置に操作画像を表示させる。
一方、指示点５００が投影画像３００の近くに位置していれば、図３Ａ〜３Ｃに示すポインタ６０２のように、指示点５０２を通る投影画像３００の法線と、投影画像３００とが交わる点にポインタを表示させる。言い換えれば、操作部材が所定の領域内に位置する場合、指示点を通る表示面の法線と、表示面とが交わる第２の位置に操作画像を表示させる。
これにより、投影画像３００の近くから投影画像３００上を操作してクリック、描画等を行うような場合に、従来のように、操作体を投影画像に対して垂直にしたり、投影画像に直接触れたりする必要がなくなる。したがって、投影画像３００に対する位置に関係なく、操作体４００を操作する際の操作性をより向上させることができる。
【００４６】
この効果を考慮すると、領域３０１を示すｚｔｈの具体例として、３０ｃｍ程度が考えられる。また、ｙｔｈの具体例は、投影画像３００とプレゼンタ４８０の高さの関係による。例えば、投影画像３００の下端がプレゼンタ４８０の腰の高さとすると７０ｃｍ程度が考えられるが、これらに限ったものではない。
なお、本実施例では、指示点５００を操作体４００の先端部分に配設しているが、これに限るものではない。指示点５００は、操作体４００の末端部分に配設されるものであってもよく、中間部分に配設されるものであってもよい。また、本実施例では、表示システムの例として、プロジェクタ（投影装置）１００が投影画像３００をスクリーン２００上に投影する例を挙げたが、これに限るものではない。本発明は、操作部材の位置に応じた画像の位置に操作画像を表示するものであって、操作部材が所定の領域内にあるか否かに応じて、操作部材の位置と画像における操作画像の位置との対応関係を変更可能な表示システムに適用することができる。例えば、ディスプレイモニタなどの表示装置においても本発明を好適に適用することができる。また、プロジェクタ、ディスプレイモニタなどの表示装置を制御する制御装置においても本発明を好適に適用することができる。このとき、制御装置は、表示装置（投影装置）に画像信号を出力することによって、表示装置（投影装置）を制御する。
【００４７】
［実施例２］
以下に、実施例２について説明する。なお、以下では、実施例１と異なる構成や処理について説明し、実施例１と同様の構成や処理についての説明は省略する。
本実施例は、図１に示した表示システムに適用され、プロジェクタ１００が図２に示すような構成である点で、実施例１と共通である。
さらに、操作体４００の指示点５００が投影画像３００から離れていれば、操作体４００の延長線上にポインタ６００を表示する点で実施例１と共通である。
しかし、操作体４００の指示点５００が投影画像３００から近い場合には、ポインタ６００の位置を、指示点５００が投影画像３００から離れていたときの位置で固定する点で実施例１と異なる。この点について言い換えれば、操作部材が所定の領域の外側から所定の領域内に移動した場合、操作部材が所定の領域の外側から所定の領域内に移動してから所定の期間が経過するまでは、第１の位置に操作画像を表示させる。ここで、所定の期間は、所定の領域内に移動した操作部材が、所定の領域の外側に移動するまでの期間であるとよい。
【００４８】
＜プロジェクタの特徴的な動作＞
本実施例におけるプロジェクタ１００の特徴的な動作について図５Ａ〜５Ｃ、図６を用いて説明する。
図５Ａ〜５Ｃは、投影画像３００、操作体４０３，４０４、指示点５０３，５０４、ポ
インタ６０３の関係を示している。
ここで、図５Ａは投影画像３００を正面から見た図、図５Ｂは投影画像３００を向かって右から見た図、図５Ｃは投影画像３００を真上から見た図である。図５Ａ〜５Ｃに示すように、本実施例においては、所定の領域、すなわち投影画像３００に近い領域を領域３０２とする。
また本実施例では、図５Ａ〜５Ｃに示すように、ｚｔｈ＝ｚｅ３とし、領域３０２の境界にある操作体４０３に関して、指示点、末端部、ポインタの符号をそれぞれ、指示点５０３、末端部４５３、ポインタ６０３とする。なお、ｚｅ３は操作体４０３の指示点５０３のｚ軸上の位置である。また、領域３０２の内にある操作体４０４に関しては、指示点、末端部の符号をそれぞれ、指示点５０４、末端部４５４とする。指示点５０３の座標は（ｘｅ３、ｙｅ３、ｚｅ３）とし、指示点５０４の座標は（ｘｅ４、ｙｅ４、ｚｅ４）としている。また、末端部４５３の座標は（ｘｓ３、ｙｓ３、ｚｓ３）とし、末端部４５４の座標は（ｘｓ４、ｙｓ４、ｚｓ４）としている。
【００４９】
以下に、本実施例において、操作体４００、指示点５００を検出して、ポインタ６００を投影するまでの動作を図６のフローチャートを用いて説明する。この処理は、記憶部１２２に記録されたプログラムをＲＡＭ１１５に展開して制御部１０１が実行することで実現する。図６において、図４のフローチャートと同様の動作のステップには同じ番号を付し説明は省略する。
本実施例では、指示点５００が領域３０２の境界上または外側に位置するとき、すなわち図５Ａ〜５Ｃに示す指示点５０３の位置にあるとき、ステップＳ４０６からステップＳ４０７に遷移する。また、指示点５００が領域３０２内に位置するとき、すなわち図５Ａ〜５Ｃに示す指示点５０４の位置にあるとき、ステップＳ４０６からステップＳ４１３に遷移する。
【００５０】
ステップＳ４０６からステップＳ４１３に遷移した後のステップＳ６１７では、指示点５０４が領域３０２内に存在するので、直近においてステップＳ４１１に遷移して設定したポインタ６０３の位置を維持して、今回のポインタの位置とする。そして、指示点５０４が領域３０２内に存在する間は、このポインタ６０３の位置を固定する。
本実施例では、実施例１のように、操作体４０４の向きに延びる延長線と、投影画像３００が交わる点６１４に、ポインタの位置を設定するものではない。
なお、直近においてステップＳ４１１に遷移したときの指示点５０３の座標は（ｘｅ３、ｙｅ３、ｚｅ３）であり、このとき設定したポインタ６０３の座標は（ｘｐ３、ｙｐ３、０）であるとする。このとき、ステップＳ６１７では、ポインタの座標を（ｘｐ３、ｙｐ３、０）に維持する。
【００５１】
以上説明したように、本実施例においても実施例１同様、図１に示す操作体４００の先端部である指示点５００が、投影画像３００の近くの領域３０２内に位置するかどうかを判別している。
そして、指示点５００が領域３０２の外側に位置する場合には、実施例１同様、図５Ａ〜５Ｃに示すポインタ６０３のように、指示点５０３を通り操作体４０３の向きに延びる延長線と、投影画像３００が交わる点にポインタを表示させる。
一方、指示点５００が、投影画像３００の近くの領域３０２内に位置する場合には、ポインタ６０３のように、指示点５００が領域３０２の外側に位置するとの判別が、直近に行われたときに設定され固定された位置にポインタを表示させる。
これにより、投影画像３００に近付いて投影画像３００上を操作してクリック、描画等を行うような場合に、投影画像３００に近付く直前に位置が固定されたポインタを操作することになる。したがって、従来のように、操作体を投影画像に対して垂直にしたり、投影面に直接触れたりする必要がなくなり、投影画像３００に対する位置に関係なく、操作体４００を操作する際の操作性をより向上させることができる。
【００５２】
[実施例３]
以下に、実施例３について説明する。なお、以下では、実施例１，２と異なる構成や処理について説明し、実施例１，２と同様の構成や処理についての説明は省略する。
本実施例は、図１に示した表示システムに適用され、プロジェクタ１００が図２に示すような構成である点で、実施例１と共通であるが、次の点で、実施例１と異なる。
実施例１では、操作体４００の指示点５００と投影画像３００との距離に基づき、ポインタ６００の位置設定を切り替えるものであった。これに対して、本実施例では、指示点５００を通り操作体４００の向きに延びる延長線と投影画像３００との交点と、指示点５００との距離に応じて、ポインタ６００の位置設定を切り替えるものである。
【００５３】
＜プロジェクタの特徴的な動作＞
次に、本実施例におけるプロジェクタ１００の特徴的な動作について図７Ａ〜７Ｃ、図８を用いて説明する。
図７Ａ〜７Ｃは、投影画像３００、操作体４０５，４０６、指示点５０５，５０６、ポインタ６０５の関係を示している。
ここで、図７Ａは投影画像３００を正面から見た図、図７Ｂは投影画像３００を向かって右から見た図、図７Ｃは投影画像３００を真上から見た図である。
図７Ａ〜７Ｃでは、指示点５０５を通り操作体４０５の向きに延びる延長線が投影画像３００と交わる点６０５（ポインタとなる）と、指示点５０５との距離をｄｔｈとする。また、指示点５０６を通り操作体４０６の向きに延びる延長線が投影画像３００と交わる点６１６（ポインタとはならない）と、指示点５０６との距離をｄ６とする。説明の便宜上、点６０５、６１６を仮想ポインタ６０５、６１６と呼ぶ場合がある。
【００５４】
本実施例では、指示点５００から仮想ポインタまでの距離が所定の距離より短くなった場合に、ポインタ６００の位置を、実施例１のように、指示点５００を通る投影画像３００の法線が投影画像３００と交わる点としている。ここで、指示点５００から仮想ポインタまでの距離が所定の距離より短くなった場合には、仮想ポインタを中心として所定距離だけ離れた面（仮想曲面）と、投影画像３００との間の領域内に、指示点５００が存在することになる。ここで、仮想ポインタを中心として所定距離だけ離れた面と、投影画像３００との間の領域は、言い換えれば、第１の位置を中心として所定距離だけ離れた面と、表示面との間の領域である。
このときの動作を図８のフローチャートを用いて説明する。この処理は、記憶部１２２に記録されたプログラムをＲＡＭ１１５に展開して制御部１０１が実行することで実現する。図８において、図４のフローチャートと同様の動作のステップには同じ番号を付し説明は省略する。
本実施例では、ステップＳ４０５において、操作体４００の先端部である指示点５００の座標、及び操作体４００の末端部４５０の座標を検出したら、ステップＳ８０６に遷移する。本実施例では、指示点５０５の座標は（ｘｅ５、ｙｅ５、ｚｅ５）とし、指示点５０６の座標は（ｘｅ６、ｙｅ６、ｚｅ６）末端部４５５の座標は（ｘｓ５、ｙｓ５、ｚｓ５）とし、末端部４５６の座標は（ｘｓ６、ｙｓ６、ｚｓ６）としている。
【００５５】
ステップＳ８０６では、制御部１０１の指示により、ステップＳ４１１と同様な処理で、指示点５０５に対応する、投影画像３００上の仮想ポインタ６０５の座標、または、指示点５０６に対応する、投影画像３００上の仮想ポインタ６１６の座標を求める。さらに、指示点５０５から仮想ポインタ６０５までの距離、または、指示点５０６から仮想ポインタ６１６までの距離を求める。ただし、ステップＳ４１１と異なり、ステップＳ８０６ではポインタの表示は行わない。ここで、仮想ポインタ６０５の座標は（ｘｐ５、ｙｐ５、０）としている。
【００５６】
次に、ステップＳ８０７に遷移し、制御部１０１は、ステップＳ８０６で求めた指示点から仮想ポインタまでの距離が、所定値より小さいか否か判別する。本実施例では、指示点５０５から仮想ポインタ６０５までの距離が、所定値と等しいｄｔｈであり、指示点５０６から仮想ポインタ６１６までの距離が、所定値よりも小さいｄ６であるとする。プレゼンタ４８０の位置を鑑みると、ｄｔｈの値として１ｍ程度が考えられるが、これに限るものではない。
指示点５００が図７Ａ〜７Ｃに示す指示点５０５の位置にあるとき、仮想ポインタ６０５までの距離は所定値に等しいｄｔｈであるので、制御部１０１の指示により、ステップＳ４０７に遷移する。以降の動作（ステップＳ４０７〜Ｓ４１０）は、実施例１の図４のフローチャートと同様である。図４のステップＳ４１１に対応するステップＳ８１１では、ステップＳ４１１と同様の処理により、ステップＳ８０６で設定した仮想ポインタ６０５をポインタとして表示する。
【００５７】
一方、指示点５００が図７Ａ〜７Ｃに示す指示点５０６の位置にあるとき、仮想ポインタ６１６までの距離は所定値より小さいｄ６であるので、制御部１０１の指示により、ステップＳ４１３に遷移する。
以降の動作（ステップＳ４１３〜Ｓ４１７）は、実施例１の図４のフローチャートと同様である。ステップＳ４１７では、仮想ポインタ６１６ではなく、指示点５０６を通る投影画像３００の法線と、投影画像３００が交わる点（座標（ｘｅ６、ｙｅ６、０））にポインタ６０６を表示させる。
【００５８】
以上説明したように、本実施例では、操作体４００の向きに延びる延長線と投影画像３００の交点と、指示点５００との距離に応じて、ポインタ６００の位置を、操作体４００の向きに延びる延長線上と、投影画像３００の法線上とで切り替えている。
これにより、投影画像３００の近くから投影画像３００上を操作してクリック、描画等を行うような場合に、従来のように、操作体を投影画像に対して垂直にしたり、投影画像に直接触れたりする必要がなくなる。したがって、投影画像３００に対する位置に関係なく、操作体４００を操作する際の操作性をより向上させることができる。
【００５９】
なお、本実施例では、指示点と仮想ポインタとの距離が所定値より小さい場合、投影画像３００の法線上にポインタを表示する例を説明したが、これに限るものではない。指示点と仮想ポインタとの距離が所定値より小さい場合、実施例２のように、ポインタを表示させてもよい。すなわち、指示点と仮想ポインタとの距離が所定値より小さくなった場合、指示点から仮想ポインタまでの距離が、所定値以上であるとの判別が、直近に行われたときに設定され固定された位置にポインタを表示させてもよい。
【００６０】
［実施例４］
以下に、実施例４について説明する。なお、以下では、実施例１〜３と異なる構成や処理について説明し、実施例１〜３と同様の構成や処理についての説明は省略する。
本実施例は、図１に示した表示システムに適用され、プロジェクタ１００が図２に示すような構成である点で、実施例１と共通であるが、次の点で実施例１と異なる。本実施例では、指示点５００を通り操作体４００の向きに延びる延長線と、投影画像３００を含む平面との交点が、投影画像３００の外側に位置するとき、ポインタ６００の位置を投影画像３００の端部に設定するものである。言い換えれば、操作部材の向きに延びる線と表示面が交わる交点が画像に含まれる場合、交点の位置に操作画像を表示させ、交点が画像に含まれない場合、画像の端部に操作画像を表示させる。
【００６１】
＜プロジェクタの特徴的な動作＞
本実施例におけるプロジェクタ１００の特徴的な動作について図９Ａ〜９Ｃ、図１０、図１１を用いて説明する。
図９Ａ〜９Ｃは、投影画像３００、操作体４０７、指示点５０７、ポインタ６０７、仮想ポインタ６１７の関係を示している。ここで、図９Ａは投影画像３００を正面から見た図、図９Ｂは投影画像９００を向かって右から見た図、図９Ｃは投影画像３００を真上から見た図である。
図９Ａ〜９Ｃでは、指示点５０７を通り操作体４０７の向きに延びる延長線が、投影画像３００を含む仮想面と交わる交点を仮想ポインタ６１７とする。ここで、本実施例では、指示点５０７の座標を（ｘｅ７、ｙｅ７、ｚｅ７）とし、末端部４５７の座標を（ｘｓ７、ｙｓ７、ｚｓ７）としている。
【００６２】
本実施例では、仮想ポインタ６１７が、投影画像３００の外側に位置するときに、ポインタ６０７の位置を投影画像３００の端部に設定する。
このときの動作を図１０のフローチャートを用いて説明する。この処理は、記憶部１２２に記録されたプログラムをＲＡＭ１１５に展開して制御部１０１が実行することで実現する。図１０において、図４のフローチャートと同様の動作のステップには同じ番号を付し説明は省略する。
本実施例では、ステップＳ８０６において、制御部１０１の指示により、ステップＳ４１１と同様な処理で、指示点５０７に対応する、仮想ポインタ６１７の座標（ｘｐ７、ｙｐ７、０）を求める。ステップＳ８０６ではポインタの表示は行わない。
【００６３】
次に、ステップＳ１００７に遷移し、制御部１０１はステップＳ８０６で求めた仮想ポインタ６１７の座標が投影画像３００の内部にあるか否かを判別する。図９に示すように投影画像３００の幅をｘｗ、高さをｙｈとしたとき、（ｘｐ７、ｙｐ７）が、次の式（２）と式（３）を同時に満たすか否かを判別する。
ｘｗ≧ｘｐ７≧０  ・・式（２）
ｙｈ≧ｙｐ７≧０  ・・式（３）
図９Ａ〜９Ｃの例では、０＞ｘｐ７であり、式（２）を満たさない。よって、制御部１０１の指示でステップＳ４０７に遷移する。ステップＳ４０７からステップＳ４１０の動作は図４と同様である。本実施例では、ステップＳ４１０からステップＳ１０１１に遷移する。
【００６４】
ステップＳ１０１１では、投影画像３００の外側に位置する仮想ポインタ６１７を基に、投影画像３００の端部にポインタ６０７を設定し、表示する。図９Ａ、９Ｃのように、仮想ポインタ６１７は、投影画像３００に対して左側にはみ出して、０＞ｘｐ７の状態にあるので、ｘ座標の値を０とした位置（投影画像３００の端部の座標（０、ｙｐ７、０））にポインタ６０７を設定する。
図９Ａ、９Ｃにおいて、投影画像３００に対して右側にはみ出した場合は、ポインタのｘ座標の値をｘｗとする。また、投影画像３００に対して上にはみ出した場合は、ポインタのｙ座標の値をｙｈとし、投影画像３００に対して下にはみ出した場合は、ポインタのｙ座標の値を０とする。
【００６５】
次に、ステップＳ１０１２に遷移し、制御部１０１は、画像処理部１０３に指示し、ポインタが投影画像３００からはみ出している旨の警告を表示させる。警告メッセージの一例を図１１に示す。図９の仮想ポインタ６１７が投影画像３００からはみ出しているので、図１１では、ポインタ６０７を投影画像３００の端部に表示している。このとき、図１１に示すように、警告メッセージ１１０１を表示する。
なお、ステップＳ１０１２では、ポインタが投影画像の外側に位置することを、プレゼンタ４８０等の使用者に報知する報知手段として、警告メッセージを表示する例を示したが、これに限らず、例えば、不図示のスピーカーから警告音を鳴らしてもよい。このとき、不図示の音声処理回路で警告音を生成するものであってもよい。
【００６６】
一方、ステップＳ１００７において、制御部１０１が、仮想ポインタが投影画像３００の内部に位置する、と判別したら、ステップＳ４１３に遷移する。ステップＳ４１３からステップＳ４１６までの動作は図４と同様である。本実施例では、ステップＳ４１６において、例えば１秒程度の所定時間経過した、と制御部１０１が判別した場合、ステップＳ１０１７に遷移する。
ステップＳ１０１７では、ステップＳ４１１と同様に、指示点５００から、操作体４００の向きに延びる延長線と、投影画像３００が交わる点にポインタ６００を表示させる。
【００６７】
以上説明したように、本実施例では、操作体４００の向きから算出した仮想ポインタの位置が、投影画像３００からはみ出す場合、ポインタの位置を投影画像３００の端部に設定する。
これにより、操作体４００の指し示す向きにより、ポインタ６００が投影画像３００上から消失することがなくなる。したがって、プレゼンタ４８０等の使用者は、常に投影画像３００を操作することができるようになる。
【００６８】
なお、本実施例では、仮想ポインタの位置が、投影画像３００からはみ出す場合、ポインタの位置を投影画像３００の端部に設定するものであったが、これに限るものではない。例えば、仮想ポインタの位置が、スクリーン２００からはみ出す（表示面内にない）場合に、ポインタの位置を投影画像３００の端部に設定するものであってもよい。また、仮想ポインタの位置が、スクリーン２００からはみ出す場合に、ポインタの位置をスクリーン２００の端部に設定するものであってもよい。
また、本実施例では、仮想ポインタが投影画像３００内に位置する場合、ステップＳ１０１７において、操作体４００の向きに延びる延長線上にポインタ６００が位置するように設定しているが、これに限るものではない。すなわち、上述した実施例１〜３を適宜適用して、ポインタ６００の表示位置を切り替える形態にしてもよい。例えばステップＳ１０１７に遷移したときに、実施例１または実施例２のステップＳ４０６のように、操作体４００の指示点５００の座標が、領域３０１内にあるかどうか判別し、判別結果に応じて、ポインタ６００の表示位置を切り替えるものであってもよい。また、ステップＳ１０１７に遷移したときに、実施例３のステップＳ８０７のように、指示点から仮想ポインタまでの距離が、所定値より小さいか否か判別し、判別結果に応じて、ポインタ６００の表示位置を切り替えるものであってもよい。
【００６９】
また、実施例１〜３のポインタ設定時に、本実施例のポインタの表示位置の切り替え動作を適用してもよい。
例えば、実施例１，２のステップＳ４１１のポインタ設定時に、操作体４０１の向きに延びる延長線が投影画像３００に交わるかどうかを判別し、判別結果に応じて、ポインタ６００の表示位置を切り替えてもよい。ここで、操作体４０１の向きに延びる延長線が投影画像３００に交わるか否かの判別は、本実施例のステップＳ１００７の、操作体の向きに延びる延長線が、投影画像を含む仮想面と交わる交点が、投影画像の内部に位置するか否かの判別に相当する。
また、実施例３のステップＳ８１１のポインタ設定時に、本実施例のステップＳ１００７のように、仮想ポインタの座標が投影画像３００の内部にあるか否かを判別し、判別結果に応じて、ポインタ６００の表示位置を切り替えてもよい。
言い換えれば、操作部材が、所定の領域の外側に位置し、かつ第１の位置が画像の外側に位置する場合、画像の端部に操作画像を表示させてもよい。このとき、報知手段は、操作部材が、所定の領域の外側に位置し、かつ第１の位置が画像の外側に位置する場合、第１の位置が画像の外側に位置することに関する情報を報知する。
【００７０】
［実施例５］
以下に、実施例５について説明する。なお、以下では、実施例１〜４と異なる構成や処理について説明し、実施例１〜４と同様の構成や処理についての説明は省略する。
図１２は、本実施例の表示システムの概略構成を示す図である。
本実施例の表示システムは、図１２に示すように、プロジェクタ１５０と、プロジェクタ１５０から独立したカメラ７００を有する。カメラ７００は、ケーブル８００でプロジェクタ１５０と接続されている。ここで、本実施例のカメラ７００は、図２に示したプロジェクタ１００の測距部１１９と撮像部１２０に相当する。
【００７１】
図１３Ａは、プロジェクタ１５０の内部構成を示す図、図１３Ｂは、カメラ７００の内部構成を示す図である。プロジェクタ１５０の内部構成は、図２のプロジェクタ１００と比較すると、プロジェクタ１００に対して測距部１１９と撮像部１２０を含まない点のみが異なるものであるため、その説明は省略する。
図１３Ｂに示すように、カメラ７００は、制御部７０１、操作部７１６、通信部７１７、測距部７１９、撮像部７２０を有する。
【００７２】
制御部７０１は、少なくとも１つのプロセッサーを有する制御部であり、カメラ７００全体を制御する。本実施例では、制御部７０１は、マイクロコンピュータから構成されている。
操作部７１６は、プレゼンタ４８０等の使用者からの指示を受けるためのボタンやタッチスクリーンである。操作部７１６により、使用者から、例えば、電源のオン・オフ、画像処理の指示等を受けることができる。
通信部７１７は、制御ケーブル等を介した有線通信を行うモジュールや、無線通信を行うモジュールから構成される。通信部７１７により、外部機器との間でコマンドデータや画像データの送受信が可能である。図１２の例では、ケーブル８００は通信部７１７に接続されている。
【００７３】
測距部７１９は、制御部７０１の指示で、スクリーン２００、操作体４００、及びプレゼンタ４８０までの距離を測定する。測距部７１９としては、ＴＯＦ（Ｔｉｍｅ−ｏｆ−Ｆｌｉｇｈｔ）センサを用いることができるが、後述の撮像部７２０がその機能を兼ねてもよい。
撮像部７２０は、制御部７０１の指示で、スクリーン２００、操作体４００、及びプレゼンタ４８０を撮像する。
本実施例の表示システムは、上述した実施例１〜４における図４、図６、図８、図１０のフローチャートに基づいて動作可能である。
【００７４】
図１４は、プロジェクタ１５０とカメラ７００の通信シーケンスを示す図である。
図１４において、１４０１では、プレゼンタ４８０等の使用者は、プロジェクタ１５０の操作部１１６を操作して、投影を指示する。
１４０２では、プレゼンタ４８０等の使用者は、カメラ７００の操作部７１６を操作して、撮像・測距を指示する。
１４０３では、プロジェクタ１５０がカメラ７００に対して接続要求をする。
１４０４では、接続要求を受けたカメラ７００がプロジェクタ１５０との接続を許可して、論理的な接続を確立する。
１４０５では、プロジェクタ１５０がカメラ７００に対して、カメラ７００が撮像したスクリーン２００、操作体４００、及びプレゼンタ４８０の画像の送信を要求する。
１４０６では、カメラ７００からプロジェクタ１５０へ、カメラ７００が撮像した画像を送信する。
【００７５】
１４０７では、プロジェクタ１５０は、カメラ７００から取得した画像を用いて、上述したステップＳ４０４の動作により、操作体４００を検出する。
操作体検出の終了通知を受けて、１４０８では、撮像画に関する測距情報の送信を、プロジェクタ１５０からカメラ７００に要求する。
１４０９では、カメラ７００からプロジェクタ１５０へ、撮像画に関する測距情報を送信する。
１４１０では、プロジェクタ１５０は、カメラ７００から取得した測距情報を用いて、上述したステップＳ４０５の動作で、操作体の座標を算出する。
座標算出の終了通知を受けて、１４１１では、プロジェクタ１５０は、算出した座標に相当する箇所にポインタを表示する。
【００７６】
以上説明したように、本実施例では、撮像部７２０と測距部７１９が、プロジェクタ１５０から独立して構成されている。このような表示システムにおいても、上述した実施例１〜４と同様の効果を得ることができる。
【００７７】
なお、本実施例では、撮像部７２０と測距部７１９が、プロジェクタ１５０から独立して構成されている形態について説明したが、これに限るものではない。撮像部７２０と測距部７１９のうち一方のみが、プロジェクタ１５０から独立して構成されるものであってもよい。また、本実施例では、撮像部７２０と測距部７１９は、カメラ７００に含まれる形態として説明したが、これに限るものではなく、撮像部７２０と測距部７１９がそれぞれ独立して構成され、互いに異なる機器に含まれる形態であってもよい。
このように、実施例１〜４において制御部１０１が行うものとして説明した上述の各種制御は、１つのハードウェアが行ってもよいし、複数のハードウェア（例えば、複数のプロセッサーや回路）が処理を分担することで、装置全体の制御を行ってもよい。
また、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施例は本発明の一実施形態を示すものにすぎず、各実施例の構成を適宜組み合わせることも可能である。
【００７８】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７９】
１００…プロジェクタ、１０１…制御部、１１２…操作体検出部、１１３…指示点座標算出部、１１４…ポインタ座標算出部、２００…スクリーン、３００…投影画像、４００…操作体、６００…ポインタ
【図１】
2020021316.tif 000003
【図２】
2020021316.tif 000004
【図３】
2020021316.tif 000005
【図４】
2020021316.tif 000006
【図５】
2020021316.tif 000007
【図６】
2020021316.tif 000008
【図７】
2020021316.tif 000009
【図８】
2020021316.tif 000010
【図９】
2020021316.tif 000011
【図１０】
2020021316.tif 000012
【図１１】
2020021316.tif 000013
【図１２】
2020021316.tif 000014
【図１３】
2020021316.tif 000015
【図１４】
2020021316.tif 000016