以下、実施形態を図面を用いて説明する。
図1は、一実施形態におけるプロジェクタ10の例を示している。プロジェクタ10は、画像をスクリーン等に投影して表示する。例えば、プロジェクタ10は、表示用のレーザ光を用いて、任意の画像をスクリーン等に描画する。さらに、プロジェクタ10は、投影した画面を入力装置として使用する機能を有している。入力装置は、キーボード、タッチパネル等である。例えば、ユーザは、プロジェクタ10で投影した画面に触れることにより、画面操作を実行する。プロジェクタ10は、例えば、携帯端末に搭載される。
プロジェクタ10は、例えば、レーザダイオード部(以下、LD部とも称する)100、フォトダイオード部(以下、PD部とも称する)200および制御部300を有している。LD部100は、制御信号SCNTおよび駆動信号SDRVを制御部300から受け、レーザ光LOを投射する。レーザ光LOは、例えば、表示用のレーザ光とタッチ検出用のレーザ光とを合波したレーザ光である。例えば、LD部100は、表示用のレーザ光とタッチ検出用のレーザ光とを合波したレーザ光を生成する発光部102と、レーザ光LOを投影面に投射する走査部104とを有している。
発光部102は、例えば、制御信号SCNTに基づいて、レーザ光を走査部104に出力する。例えば、発光部102は、赤、緑、青のレーザ光をそれぞれ出力するレーザダイオードLDR、LDG、LDBと、赤外レーザ光を出力するレーザダイオードLDIRと、光学系OPTSとを有している。光学系OPTSは、レーザダイオードLDR、LDG、LDB、LDIRから出力されたレーザ光を重ね合わせて走査部104に出力する。赤、緑、青のレーザ光は、例えば、表示用のレーザ光である。また、赤外レーザ光は、タッチ検出用のレーザ光である。なお、表示用のレーザ光は、赤、緑、青のレーザ光に限定されない。また、タッチ検出用のレーザ光は、赤外レーザ光に限定されない。
走査部104は、例えば、発光部102から受けたレーザ光の伝搬方向を所定方向(例えば、縦方向及び横方向)に変えるガルバノミラーGMを有している。ガルバノミラーGMの動作は、周知の動作であるため、詳細な説明を省略する。例えば、ガルバノミラーGMは、水平同期信号、垂直同期信号等の駆動信号SDRVに基づいて、ミラー面の偏向角度(傾き)を制御する。すなわち、走査部104は、発光部102から受けるレーザ光を走査して投影面に投射する。なお、レーザ光を走査して投影面に投射する機構は、ガルバノミラーGMに限定されない。
PD部200は、入射光の光量に応じて信号電荷を生成するフォトダイオード等の受光部202を有している。例えば、受光部202は、レーザ光LOの反射光LIを受け、電気信号SELEを制御部300に出力する。反射光LIは、例えば、LD部100から出力されたレーザ光LOが指等の対象物で反射したレーザ光である。すなわち、受光部202は、走査部104から投射されたレーザ光LOの対象物からの反射光LIを入射部で受け、反射光LIに応じた検出信号SELEを生成する。
制御部300は、例えば、LD部100を制御する。制御部300は、ハードウエアのみで実現されてもよく、ハードウエアをソフトウエアにより制御することにより実現されてもよい。制御部300は、受信部302、位置演算部304、タッチ検出部306、走査制御部308、画面制御部310およびLD制御部312を有している。
受信部302は、反射光LIに基づく信号SELEを受光部202から受け、信号SELEに基づく受信信号SRECを位置演算部304に出力する。すなわち、受信信号SRECは、反射光LIに基づく信号である。
位置演算部304は、受信信号SRECを受信部302から受け、基準信号SREFを走査制御部308から受ける。そして、位置演算部304は、反射光LIに対応するレーザ光LOの投影面上の位置を、受信信号SRECおよび基準信号SREFに基づいて算出する。なお、基準信号SREFは、例えば、ガルバノミラーGMの走査位置を算出する際に基準となる信号である。例えば、基準信号SREFは、ガルバノミラーGMの水平同期信号および垂直同期信号である。あるいは、基準信号SREFは、例えば、ガルバノミラーGMが基準位置のときにゼロとなる信号でもよい。
例えば、位置演算部304は、所定のレベル以上の受信信号SRECを受けたとき、ガルバノミラーGMのミラー面の偏向角度を基準信号SREFに基づいて算出する。これにより、反射光LIに対応するレーザ光LOの投影面上の位置が算出される。すなわち、位置演算部304は、走査部104(ガルバノミラーGM)から投射されるレーザ光LOのうち、対象物等で反射したレーザ光LOの投影面上の位置を、受信信号SRECおよび基準信号SREFに基づいて算出する。そして、位置演算部304は、反射光LIに対応するレーザ光LOの投影面上の位置を示す反射位置情報INFPを、タッチ検出部306に出力する。
このように、受信部302および位置演算部304を含むモジュールは、反射光LIに対応するレーザ光LOの投影面上の位置を、検出信号SELEと走査部104による走査の基準信号SREFとに基づいて算出し、反射光LIに対応するレーザ光LOの投影面上の位置を示す位置情報INFPを生成する演算部として機能する。
タッチ検出部306は、反射位置情報INFPを位置演算部304から受け、投影面へのタッチの有無を反射位置情報INFPに基づいて判定する。また、タッチ検出部306は、例えば、投影面に指(対象物)がタッチしているときのタッチ位置を、反射位置情報INFPに基づいて算出する。そして、タッチ検出部306は、タッチの有無、タッチ位置等を示すタッチ情報INFTを画面制御部310に出力する。
走査制御部308は、例えば、基準信号SREF、同期信号SSYNおよび駆動信号SDRVを生成する。そして、走査制御部308は、基準信号SREF、同期信号SSYNおよび駆動信号SDRVを、位置演算部304、LD制御部312およびLD部100にそれぞれ出力する。
画面制御部310は、タッチ情報INFTをタッチ検出部306から受け、画像情報信号INFIをタッチ情報INFTに基づいて生成する。そして、画面制御部310は、画像情報信号INFIをLD制御部312に出力する。
LD制御部312は、発光部102を制御する。例えば、LD制御部312は、画像情報信号INFIを画面制御部310から受け、制御信号SCNTを画像情報信号INFIに基づいて生成する。そして、LD制御部312は、制御信号SCNTをLD部100に出力する。制御信号SCNTは、例えば、発光部102のレーザダイオードLDR、LDG、LDB、LDIRを制御するための信号である。これにより、例えば、投影する画像に応じたレーザ光がレーザダイオードLDR、LDG、LDBから制御信号SCNTに基づいて出力されるとともに、タッチ検出用の赤外レーザ光がレーザダイオードLDIRから出力される。
図2は、レーザ光LOを反射する対象物OBJに対応する信号群SOBJ1、SOBJ2の一例を示している。図の位置Xmin、Xmaxは、投影面PPLのX方向の両端の位置を示している。また、位置Ymin、Ymaxは、投影面PPLのY方向の両端の位置を示している。例えば、Y方向は、プロジェクタ10に対する投影面PPL上の位置が手前から奥に向かう方向である。また、X方向は、Y方向に交差する方向である。
プロジェクタ10は、例えば、レーザ光LOが出力される面を前面とした場合、前面側の上部に位置する出力部分LDo(走査部104の出力部LDo)からレーザ光LOを斜め下に投射する。これにより、投影面PPLに画像が表示される。レーザ光LOの投影面PPL上の位置(投影位置)は、位置Yminから位置Ymaxにいくにしたがい、プロジェクタ10から遠ざかる。また、プロジェクタ10は、例えば、前面側の下部に位置する受光部分PDi(受光部202の入射部PDi)で反射光LIを受ける。そして、プロジェクタ10は、指等の対象物OBJが投影面PPLにタッチしたか否かの判定等を実行する。
このように、プロジェクタ10は、表示用のレーザ光とタッチ検出用の赤外レーザ光とを合波したレーザ光LOを走査部104の出力部LDoから投射し、タッチ検出用の赤外レーザ光を含むレーザ光LOの反射光LIを受光部202の入射部PDiで受ける。したがって、この実施形態では、表示用のレーザ光を投射するモジュール(例えば、走査部)とタッチ検出用の赤外レーザ光を投射するモジュール(例えば、走査部)とが分かれているプロジェクタに比べて、部品点数を低減できる。
指等の対象物OBJが投影面PPLにタッチしていない場合(図2の未タッチ)、対象物OBJに対応する2つの信号群SOBJ1、SOBJ2が発生する。例えば、信号群SOBJ1は、投影面PPLに到達する前のレーザ光LOが対象物OBJで反射して受光部202に到達した光LI(図2の粗い破線の矢印)に対応する受信信号SRECの群である。信号群SOBJ2は、レーザ光LOの乱反射等により受光部202に到達した光LI(図2の細かい破線の矢印)に対応する受信信号SRECの群である。例えば、信号群SOBJ2は、投影面PPLで反射したレーザ光LOが対象物OBJで反射して受光部202に到達した光LI(図2の細かい破線の矢印)に対応する受信信号SRECの群である。
したがって、例えば、対象物OBJのX方向の位置(X座標)が位置Xiの場合、信号群SOBJ1、SOBJ2は、位置Xiの周辺に発生する。すなわち、信号群SOBJ2のX方向の位置(X座標)は、信号群SOBJ1とほぼ同じである。なお、信号群SOBJ1、SOBJ2は、例えば、反射位置情報INFPに基づいて検出される。例えば、タッチ検出部306は、対象物OBJに対応する信号群SOBJ1、SOBJ2を反射位置情報INFPに基づいて検出する。そして、タッチ検出部306は、例えば、X方向のほぼ同じ位置の周辺に信号群SOBJ1、SOBJ2が発生したとき、信号群SOBJ1、SOBJ2を同一の対象物OBJに対応する信号群と判定する。
また、信号群SOBJ1、SOBJ2のY方向の位置(Y座標)は、互いに離れている。例えば、信号群SOBJ2に対応するレーザ光LOの投影面PPLでの反射位置は、対象物OBJより手前側(Ymin側)である。したがって、信号群SOBJ2のY方向の位置(Y座標)は、信号群SOBJ1の位置より位置Ymin側である。このため、例えば、タッチ検出部306は、レーザ光LOの乱反射等により発生した信号群SOBJ2か否かを、信号群SOBJ1、SOBJ2のY方向の位置に基づいて判定できる。
このように、プロジェクタ10は、レーザ光LOの経路に侵入した対象物OBJからの反射光LIにより発生する信号群SOBJ1、SOBJ2が互いに離れている場合、対象物OBJが投影面PPLにタッチしていないと判定する。したがって、この実施形態では、レーザ光LOの経路に侵入した対象物OBJからの反射光LIが受光部202に到達したときにも、タッチの誤認識を防止できる。例えば、この実施形態では、レーザ光LOの経路に侵入した対象物OBJが投影面PPLにタッチしていない場合に、タッチと誤認識することを防止できる。
指等の対象物OBJが投影面PPLにタッチしている場合(図2のタッチ)、対象物OBJに対応する2つの信号群SOBJ1、SOBJ2は、1つの信号群になる。例えば、タッチ検出部306は、信号群SOBJ1、SOBJ2が1つの集合か否かを判定する。そして、タッチ検出部306は、信号群SOBJ1、SOBJ2が1つの集合であると判定したとき、対象物OBJが投影面PPLにタッチしたと判定する。
このように、プロジェクタ10は、レーザ光LOの経路に侵入した対象物OBJからの反射光LIにより発生する信号群SOBJ1、SOBJ2が1つに集合している場合、対象物OBJが投影面PPLにタッチしていると判定する。したがって、この実施形態では、レーザ光LOと反射光LIとの遅延時間の評価を各位置で実行しなくても、投影面PPLに表示された画像へのタッチを正しく検出できる。
図3は、図1に示したプロジェクタ10の動作の一例を示している。なお、図3は、制御部300により実行されるタッチ検出処理の一例を示している。図3に示したタッチ検出処理は、例えば、1画面が表示される度に実行される。すなわち、図3では、1フレーム中に実行されるタッチ検出処理の一例を示している。例えば、タッチ検出処理では、タッチの有無の判定、タッチ位置の算出等が実行される。図3の動作は、ハードウエアのみで実現されてもよく、ハードウエアをソフトウエアにより制御することにより実現されてもよい。
図のタッチフラグFLTは、対象物OBJが投影面PPLにタッチしているか否かを示すフラグである。例えば、対象物OBJが投影面PLLにタッチしている場合、タッチフラグFLTは、“true”に設定される。また、検出フラグFLS1、FLS2は、対象物OBJに対応する信号群SOBJ1、SOBJ2が検出されたか否かを示すフラグである。例えば、対象物OBJに対応する信号群SOBJ1、SOBJ2の一方(以下、第1信号群SOBJとも称する)が検出された場合、検出フラグFLS1は、“true”に設定される。また、対象物OBJに対応する信号群SOBJ1、SOBJ2の他方(以下、第2信号群SOBJとも称する)が検出された場合、検出フラグFLS2は、“true”に設定される。
処理P100では、制御部300は、タッチフラグFLTが“true”であるか否かを判定する。すなわち、制御部300は、対象物OBJが投影面PPLにタッチしているか否かを判定する。タッチフラグFLTが“true”でないとき(処理P100のNo)、制御部300の動作は、処理P200に移る。すなわち、対象物OBJが投影面PPLにタッチしていないとき、処理P200が実行される。一方、タッチフラグFLTが“true”のとき(処理P100のYes)、制御部300の動作は、処理P402に移る。すなわち、対象物OBJが投影面PPLにタッチしているとき、処理P402が実行される。
処理P200では、制御部300は、第1信号群SOBJを検出するための第1信号群検出処理を、受信信号SRECおよび基準信号SREFに基づいて実行する。例えば、制御部300は、第1信号群SOBJを受信信号SRECおよび基準信号SREFに基づいて探索する。そして、制御部300は、第1信号群SOBJが検出された場合、検出フラグFLS1を“true”に設定するとともに、第1信号群SOBJの位置を算出する。また、制御部300は、第1信号群SOBJが検出されない場合、検出フラグFLS1を“false”に設定する。
処理P300では、制御部300は、検出フラグFLS1が“true”であるか否かを判定する。すなわち、制御部300は、第1信号群SOBJが検出されているか否かを判定する。検出フラグFLS1が“true”でないとき(処理P300のNo)、制御部300は、処理対象のフレームに対するタッチ検出処理を終了する。すなわち、第1信号群SOBJが検出されていないとき、制御部300は、例えば、現在のフレームに対するタッチ検出処理を終了し、次のフレームに対するタッチ検出処理を実行する。一方、検出フラグFLS1が“true”のとき(処理P300のYes)、制御部300の動作は、処理P400に移る。すなわち、第1信号群SOBJが検出されているとき、処理P400が実行される。
処理P400では、制御部300は、第2信号群SOBJを検出するための第2信号群検出処理を、受信信号SRECおよび基準信号SREFに基づいて実行する。例えば、制御部300は、第1信号群SOBJのX座標の周辺に第2信号群SOBJが発生しているかを、受信信号SRECおよび基準信号SREFに基づいて探索する。そして、制御部300は、第2信号群SOBJが検出された場合、検出フラグFLS2を“true”に設定するとともに、第2信号群SOBJの位置を算出する。また、制御部300は、第2信号群SOBJが検出されない場合、検出フラグFLS2を“false”に設定する。
処理P500では、制御部300は、検出フラグFLS2が“true”であるか否かを判定する。すなわち、制御部300は、第2信号群SOBJが検出されているか否かを判定する。検出フラグFLS2が“true”でないとき(処理P500のNo)、制御部300は、処理対象のフレームに対するタッチ検出処理を終了する。すなわち、第2信号群SOBJが検出されていないとき、制御部300は、例えば、現在のフレームに対するタッチ検出処理を終了し、次のフレームに対するタッチ検出処理を実行する。一方、検出フラグFLS2が“true”のとき(処理P500のYes)、制御部300の動作は、処理P600に移る。すなわち、第2信号群SOBJが検出されているとき、処理P600が実行される。したがって、処理P600は、信号群SOBJ1、SOBJ2が検出されているとき、実行される。
処理P600では、制御部300は、タッチ判定処理を実行する。例えば、制御部300は、第1信号群SOBJと第2信号群SOBJとを1つの集合と見なせるか否かを判定する。そして、制御部300は、第1信号群SOBJと第2信号群SOBJとが1つの集合であると判定したとき、対象物OBJが投影面PPLにタッチしたと判定する。この場合、制御部300は、タッチフラグFLTを“true”に設定する。なお、制御部300は、第1信号群SOBJと第2信号群SOBJとが互いに離れていると判定したとき、対象物OBJが投影面PPLにタッチしていないと判定する。この場合、制御部300は、タッチフラグFLTを“false”に設定する。
処理P700では、制御部300は、タッチフラグFLTが“true”であるか否かを判定する。すなわち、制御部300は、対象物OBJが投影面PPLにタッチしているか否かを判定する。
タッチフラグFLTが“true”でないとき(処理P700のNo)、制御部300は、処理対象のフレームに対するタッチ検出処理を終了する。すなわち、対象物OBJが投影面PPLにタッチしていないとき、制御部300は、例えば、現在のフレームに対するタッチ検出処理を終了し、次のフレームに対するタッチ検出処理を実行する。一方、タッチフラグFLTが“true”のとき(処理P700のYes)、制御部300の動作は、処理P800に移る。すなわち、対象物OBJが投影面PPLにタッチしているとき、制御部300の動作は、処理P800に移る。
処理P800では、制御部300は、タッチ位置算出処理を実行する。例えば、制御部300は、第1信号群SOBJおよび第2信号群SOBJの少なくとも一方の位置に基づいて、対象物OBJのタッチ位置を算出する。例えば、制御部300は、図4に示す処理P220で算出される第1信号群SOBJの位置g1x、g1yを、対象物OBJのタッチ位置としてメモリ等に記憶する。これにより、処理対象のフレームに対するタッチ検出処理を終了する。なお、第1信号群SOBJおよび第2信号群SOBJの位置は、例えば、処理P200、P400でそれぞれ算出されている。
なお、処理P800は、例えば、制御部300のタッチ検出部306により実行される。例えば、タッチ検出部306は、対象物OBJが投影面PPLにタッチした位置であるタッチ位置を、第1信号群SOBJおよび第2信号群SOBJの少なくとも一方の位置に基づいて算出する。
また、処理P800は、対象物OBJが投影面PPLに継続してタッチしているときにも、実行される。あるいは、処理P800は、投影面PPLにタッチしていた対象物OBJが離れたときにも、実行される。例えば、対象物OBJが投影面PPLにタッチしていると処理P100で判定されたとき、処理P402が実行される。
処理P402では、制御部300は、処理P400と同様の第2信号群検出処理を実行する。例えば、制御部300は、第1信号群SOBJからY方向に離れた位置に第2信号群SOBJが発生しているかを、受信信号SRECおよび基準信号SREFに基づいて探索する。そして、制御部300は、第1信号群SOBJからY方向に離れた位置に第2信号群SOBJが検出された場合、検出フラグFLS2を“true”に設定する。なお、制御部300は、第2信号群SOBJの位置を算出してもよい。また、制御部300は、第1信号群SOBJからY方向に離れた位置に第2信号群SOBJが検出されない場合、検出フラグFLS2を“false”に設定する。
処理P502では、制御部300は、検出フラグFLS2が“true”であるか否かを判定する。すなわち、制御部300は、第2信号群SOBJが検出されているか否かを判定する。検出フラグFLS2が“true”でないとき(処理P502のNo)、制御部300の動作は、処理P800に移る。すなわち、第2信号群SOBJが検出されていないとき、制御部300の動作は、処理P800に移る。これにより、対象物OBJが投影面PPLに継続してタッチしているときにも、タッチ位置が処理P800で算出される。
一方、検出フラグFLS2が“true”のとき(処理P502のYes)、制御部300の動作は、処理P602に移る。すなわち、第2信号群SOBJが検出されているとき、制御部300の動作は、処理P602に移る。したがって、投影面PPLにタッチしていた対象物OBJが離れたときに、処理P602が実行される。
処理P602では、制御部300は、タッチフラグFLTを“false”に設定する。処理P602の後、処理P800が実行される。処理P602の後に実行される処理P800では、制御部300は、例えば、前のフレームに対するタッチ検出処理で算出されたタッチ位置を、投影面PPLから対象物OBJが離れた位置としてメモリ等に記憶する。
なお、対象物OBJが複数の場合、処理P100−P800で説明したタッチ検出処理は、例えば、対象物OBJ毎に実行される。また、プロジェクタ10の動作は、この例に限定されない。例えば、処理P400は、処理P200と一緒に実行されてもよい。例えば、制御部300は、信号群SOBJ1、SOBJ2の両方を検出したとき、検出フラグFLS1、FLS2を“true”に設定してもよい。また、例えば、制御部300は、信号群SOBJ1、SOBJ2の一方のみを検出したとき、検出フラグFLS1、FLS2を“true”および“false”にそれぞれ設定してもよい。
あるいは、制御部300は、処理P200、P300、P400、P500、P600を一緒に実行してもよい。例えば、制御部300は、Y方向に互いに離れた2つの信号群SOBJを検出したとき、タッチフラグFLTを“false”に設定する。また、例えば、制御部300は、信号群SOBJが1つも検出されないとき、タッチフラグFLTを“false”に設定する。そして、制御部300は、例えば、1つの信号群SOBJ(信号群SOBJ1、SOBJ2が1つに集合した信号群)のみを検出したとき、タッチフラグFLTを“true”に設定する。
図4は、図3に示した第1信号群検出処理の一例を示している。
処理P210では、例えば、位置演算部304は、所定のレベル以上の受信信号SRECを探索する。そして、位置演算部304は、所定のレベル以上の受信信号SRECの位置を基準信号SREFに基づいて算出する。なお、受信部302は、所定のレベル以上の受信信号SRECを選択して位置演算部304に出力してもよい。
処理P212では、タッチ検出部306は、処理P210で検出された信号に基づいて、信号群の範囲を算出する。例えば、タッチ検出部306は、所定の割合以上で集合している信号の群の範囲を、処理P210で検出された信号の位置に基づいて算出する。
処理P214では、タッチ検出部306は、処理P212で算出した信号群の範囲が予め設定された閾値以上か否かを判定する。信号群の範囲が閾値より小さいとき(処理P214のNo)、タッチ検出部306は、処理P218において、検出フラグFLS1を“false”に設定する。すなわち、第1信号群が検出されないとき、タッチ検出部306は、処理P218において、検出フラグFLS1を“false”に設定する。検出フラグFLS1が“false”に設定された後、第1信号群検出処理は、終了する。
一方、信号群の範囲が閾値以上のとき(処理P214のYes)、タッチ検出部306の動作は、処理P216に移る。すなわち、第1信号群が検出されたとき、タッチ検出部306の動作は、処理P216に移る。処理P216では、タッチ検出部306は、検出フラグFLS1を“true”に設定する。
処理P220では、例えば、タッチ検出部306は、処理P214で閾値以上の範囲と判定した信号群の重心位置g1x、g1yを算出する。これにより、第1信号群SOBJの位置が算出される。例えば、タッチ検出部306は、信号群の重心位置g1x、g1yを、第1信号群SOBJの位置としてメモリ等に記憶する。
図5は、図3に示した第2信号群検出処理の一例を示している。第2信号群検出処理は、信号の探索範囲および設定される検出フラグFLS2を除いて、第1信号群検出処理と同様である。
処理P410では、位置演算部304は、例えば、第1信号群SOBJのX座標g1xの周辺に所定のレベル以上の受信信号SRECが発生しているかを、探索する。あるいは、位置演算部304は、例えば、第1信号群SOBJからY方向に離れた位置の周辺に所定のレベル以上の受信信号SRECが発生しているかを、探索する。所定のレベル以上の受信信号SRECの位置は、例えば、基準信号SREFに基づいて算出される。なお、受信部302は、所定のレベル以上の受信信号SRECを選択して位置演算部304に出力してもよい。
処理P412では、タッチ検出部306は、処理P410で検出された信号に基づいて、信号群の範囲を算出する。例えば、タッチ検出部306は、所定の割合以上で集合している信号の群の範囲を、処理P410で検出された信号の位置に基づいて算出する。なお、タッチ検出部306は、第1信号群SOBJのX座標g1xの周辺あるいはタッチ位置の周辺に発生している信号を探索し、探索結果に基づいて信号群の範囲を算出してもよい。この場合、例えば、位置演算部304は、処理P410において、探索範囲を限定せずに、所定のレベル以上の受信信号SRECを探索してもよい。
処理P414では、タッチ検出部306は、処理P412で算出した信号群の範囲が予め設定された閾値以上か否かを判定する。なお、処理P412で使用する閾値は、第1信号群検出処理で使用する閾値(図4に示した処理P214で使用する閾値)と同じ値でもよいし、第1信号群検出処理で使用する閾値と異なる値でもよい。
信号群の範囲が閾値より小さいとき(処理P414のNo)、タッチ検出部306は、処理P418において、検出フラグFLS2を“false”に設定する。すなわち、第2信号群が検出されないとき、タッチ検出部306は、処理P418において、検出フラグFLS2を“false”に設定する。検出フラグFLS2が“false”に設定された後、第2信号群検出処理は、終了する。
一方、信号群の範囲が閾値以上のとき(処理P414のYes)、タッチ検出部306の動作は、処理P416に移る。すなわち、第2信号群が検出されたとき、タッチ検出部306の動作は、処理P416に移る。処理P416では、タッチ検出部306は、検出フラグFLS2を“true”に設定する。
処理P420では、タッチ検出部306は、処理P414で閾値以上の範囲と判定した信号群の重心位置g2x、g2yを算出する。これにより、第2信号群SOBJの位置が算出される。例えば、タッチ検出部306は、信号群の重心位置g2x、g2yを、第2信号群SOBJの位置としてメモリ等に記憶する。
図6は、図3に示したタッチ判定処理の一例を示している。
処理P610では、タッチ検出部306は、第1信号群SOBJと第2信号群SOBJとが1つに集合しているか否かを判定する。例えば、タッチ検出部306は、第1信号群SOBJと第2信号群SOBJとが所定の割合以上で集合しているとき、第1信号群SOBJと第2信号群SOBJとが1つに集合していると判定する。なお、第1信号群SOBJと第2信号群SOBJとが1つに集合しているか否かの判定方法は、この例に限定されない。例えば、タッチ検出部306は、第1信号群SOBJの位置g1x、g1yと第2信号群SOBJの位置g2x、g2yとの距離が所定値以下のとき、第1信号群SOBJと第2信号群SOBJとが1つに集合していると判定してもよい。
第1信号群SOBJと第2信号群SOBJとが1つに集合しているとき(処理P610のYes)、タッチ検出部306は、処理P612において、タッチフラグFLTを“true”に設定する。すなわち、タッチ検出部306は、第1信号群SOBJと第2信号群SOBJとが1つに集合しているとき、対象物OBJが投影面PPLにタッチしていると判定する。
一方、第1信号群SOBJと第2信号群SOBJとが1つに集合していないとき(処理P610のNo)、タッチ検出部306は、処理P614において、タッチフラグFLTを“false”に設定する。すなわち、タッチ検出部306は、第1信号群SOBJと第2信号群SOBJとが1つに集合していないとき、対象物OBJが投影面PPLにタッチしていないと判定する。
このように、タッチ検出部306は、第1信号群SOBJおよび第2信号群SOBJの位置に基づいて、投影面PPLに表示された画像に対する対象物OBJのタッチを検出する。
以上、この実施形態では、発光部102から受けるレーザ光を走査して投影面PPLに投射する走査部104と、走査部104から投射されたレーザ光LOの対象物OBJからの反射光LIを受ける受光部202と、制御部300とを有している。例えば、走査部104は、表示用のレーザ光とタッチ検出用の赤外レーザ光とを合波したレーザ光LOを投射する。また、受光部202は、タッチ検出用の赤外レーザ光を含むレーザ光LOの反射光LIを、入射部PDiで受ける。したがって、この実施形態では、表示用のレーザ光を投射する走査部とタッチ検出用の赤外レーザ光を投射する走査部とが分かれているプロジェクタに比べて、部品点数を低減できる。
また、制御部300は、位置演算部304、タッチ検出部306等を有している。例えば、位置演算部304は、反射光LIに対応するレーザ光LOの投影面PPL上の位置を、基準信号SREFおよび受信信号SRECに基づいて算出する。タッチ検出部306は、対象物OBJに対応する第1信号群SOBJおよび第2信号群SOBJを検出し、第1信号群SOBJと第2信号群SOBJとが1つの集合か否かを判定する。例えば、タッチ検出部306は、第1信号群SOBJと第2信号群SOBJとが1つの集合であると判定したとき、対象物OBJが投影面PPLにタッチしたと判定する。
そして、タッチ検出部306は、対象物OBJが投影面PPLにタッチした位置であるタッチ位置を、第1信号群SOBJおよび第2信号群SOBJの少なくとも一方の位置に基づいて算出する。これにより、この実施形態では、レーザ光LOと反射光LIとの遅延時間の評価を各位置で実行しなくても、投影面PPLに表示された画像へのタッチの有無およびタッチ位置を正しく検出できる。すなわち、この実施形態では、部品点数の増加を抑制しつつ、投影面PPLに表示された画像へのタッチを正しく検出できる。
図7は、別の実施形態におけるプロジェクタ12の一例を示している。この実施形態のプロジェクタ12では、図1−図6で説明したプロジェクタ10に、反射光遮断板PLTが追加されている。プロジェクタ12のその他の構成は、図1−図6で説明したプロジェクタ10と同様である。図1−図6で説明した要素と同様の要素については、同様の符号を付し、これ等については、詳細な説明を省略する。
プロジェクタ12は、例えば、LD部100、PD部200、制御部300を収納する筐体CHASの前面(反射光LIを受ける側の面)に、反射光遮断板PLTを有している。すなわち、プロジェクタ12は、発光部102、走査部104および受光部202を収納する筐体CHASを有している。
そして、反射光遮断板PLTは、例えば、筐体CHASの反射光LI、LI’を受ける面側に設けられ、受光部102の入射部RDiと走査部104のレーザ光LOの出力部LDoとの間に配置される。これにより、反射光遮断板PLTは、投影面PPLにタッチする前の対象物OBJ’からの反射光LI’の少なくとも一部を遮断する。
なお、図7の高さHIG1は、プロジェクタ12の底面から走査部104の出力部LDoまでの高さを示し、距離DIS1は、最も遠い投射位置Ymaxからプロジェクタ12の前面までの距離を示している。また、高さHIG2は、プロジェクタ12の底面から反射光遮断板PLTまでの高さを示し、長さDIS2は、反射光遮断板PLTの長さを示している。そして、高さHIG3は、対象物OBJが検出される高さの上限の目安(以下、対象物検知の高さとも称する)を示している。
例えば、高さHIG1が50mmで、距離DIS1が420mmで、高さHIG2が1mmで、長さDIS2が33mmである場合、投影面PPLの高さ約10mm(例えば、図7の高さHIG3)以内に対象物OBJが進入したとき、受光部202は反射光LIを受ける。すなわち、反射光遮断板PLTは、投影面PPL付近以外の位置で反射した反射光LI’を遮断する。これにより、この実施形態では、タッチの誤検出を防止できる。さらに、この実施形態では、例えば、投影面PPL付近以外の位置で反射した反射光LI’が遮断されるため、第2信号群SOBJの探索範囲を狭くできる。この結果、この実施形態では、処理負荷を低減できる。
なお、例えば、走査部104の出力部LDoまでの高さHIG1、最も遠い投射位置Ymax、反射光遮断板PLTまでの高さHIG2、反射光遮断板PLTの長さDIS2の少なくとも1つが変わると、対象物検知の高さHIG3も変わる。したがって、例えば、高さHIG1、HIG2、HIG3および位置Ymaxに基づいて、反射光遮断板PLTの長さDIS2が決定される。
以上、この実施形態においても、図1−図6で説明した実施形態と同様の効果を得ることができる。例えば、この実施形態では、部品点数の増加を抑制しつつ、投影面PPLに表示された画像へのタッチを正しく検出できる。さらに、この実施形態では、プロジェクタ12は、投影面PPL付近以外の位置で反射した反射光LI’を遮断する反射光遮断板PLTを有している。これにより、この実施形態では、タッチの誤検出を防止できる。さらに、この実施形態では、例えば、第2信号群SOBJの探索範囲を狭くできるため、処理負荷を低減できる。
図8は、別の実施形態におけるプロジェクタ14の一例を示している。この実施形態のプロジェクタ14では、図7で説明したプロジェクタ12に、受光部204およびモーション検出部314が追加されている。プロジェクタ14のその他の構成は、図7で説明したプロジェクタ12と同様である。図1−図7で説明した要素と同様の要素については、同様の符号を付し、これ等については、詳細な説明を省略する。
プロジェクタ14は、例えば、LD部100、PD部200A、制御部300Aおよび反射光遮断板PLTを有している。LD部100は、上述した実施形態のLD部100と同様である。例えば、LD部100は、図1に示したプロジェクタ10のLD部100と同じである。PD部200Aでは、例えば、図1に示したPD部200に受光部204が追加されている。PD部200Aのその他の構成は、図1に示したPD部200と同様である。例えば、PD部200Aは、タッチ検出用の受光部202とモーション検出用の受光部204とを有している。
受光部202は、例えば、対象物検知の高さHIG3付近より下の位置で反射した反射光LItを受ける。例えば、反射光LItは、走査部104から投射されたレーザ光LOが対象物検知の高さHIG3付近より下の位置の対象物OBJで反射したレーザ光である。また、受光部202は、反射光LItに応じた検出信号SELEtを生成する。
受光部204は、例えば、対象物検知の高さHIG3付近より高い位置で反射した反射光LImを受ける。例えば、反射光LImは、走査部104から投射されたレーザ光LOが対象物検知の高さHIG3付近より高い位置の対象物OBJで反射したレーザ光である。また、受光部204は、反射光LImに応じた検出信号SELEmを生成する。
制御部300Aでは、モーション検出処理を実行するモーション検出部314が図1に示した制御部300に追加されている。制御部300Aのその他の構成は、図1に示した制御部300と同様である。例えば、制御部300Aは、受信部302、位置演算部304、タッチ検出部306、走査制御部308、画面制御部310、LD制御部312およびモーション検出部314を有している。受信部302、位置演算部304、タッチ検出部306、走査制御部308、画面制御部310およびLD制御部312は、図1−図6で説明した実施形態と同様である。したがって、受信部302、位置演算部304、タッチ検出部306、走査制御部308、画面制御部310およびLD制御部312については、詳細な説明を省略する。
例えば、受信部302は、検出信号SELEt、SELEmを受光部202、204からそれぞれ受ける。そして、受信部302は、検出信号SELEt、SELEmに応じて、受信信号SRECを位置演算部304に出力する。例えば、受信部302は、所定のレベル以上の検出信号SELEtを受けたとき、検出信号SELEmの有無に拘わらず、検出信号SELEtに基づく受信信号SRECを位置演算部304に出力する。また、例えば、受信部302は、検出信号SELEtが所定のレベルより小さく、検出信号SELEmが所定のレベル以上のとき、検出信号SELEmに基づく受信信号SRECを位置演算部304に出力する。
位置演算部304は、例えば、受信信号SRECを受信部302から受け、基準信号SREFを走査制御部308から受ける。そして、位置演算部304は、受信信号SRECに対応するレーザ光LOの投影面PPL上の位置を、基準信号SREFに基づいて算出する。そして、位置演算部304は、レーザ光LOの投影面PPL上の位置を示す反射位置情報INFPを、タッチ検出部306およびモーション検出部314に出力する。
例えば、位置演算部304は、検出信号SELEtに対応する受信信号SRECに基づいて生成した反射位置情報INFPを、タッチ検出部306に出力する。また、例えば、位置演算部304は、検出信号SELEmに対応する受信信号SRECに基づいて生成した反射位置情報INFPを、モーション検出部314に出力する。
モーション検出部314は、例えば、対象物OBJの動きを反射位置情報INFPに基づいて検出する。すなわち、モーション検出部314は、検出信号SELEmに基づいて生成される反射位置情報INFPに基づいて、対象物OBJの動きを検出する。また、モーション検出部314は、モーション検出の結果等を示すモーション情報INFMを、画面制御部310に出力する。これにより、画面制御部310は、対象物OBJの動きに応じた画面制御を実行する。
なお、プロジェクタ14の構成は、この例に限定されない。例えば、受信部302は、検出信号SELEtに基づく受信信号SRECと検出信号SELEmに基づく受信信号SRECとを識別するための情報を、受信信号SREC等に含めてもよい。
図9は、図8に示したプロジェクタ14の概要を示している。図9の対象物OBJtは、例えば、ユーザが画像(投影面PPL)にタッチする際のユーザの指を示している。例えば、対象物OBJtは、対象物検知の高さHIG3以内に進入したユーザの指である。反射光LItは、例えば、対象物検知の高さHIG3以内に進入した対象物OBJtで反射したレーザ光を示している。
また、図9の対象物OBJmは、例えば、プロジェクタ14等の操作をユーザが身ぶりで実行する際のユーザの指を示している。例えば、対象物OBJmは、対象物検知の高さHIG3より高い位置のユーザの指である。反射光LImは、例えば、対象物検知の高さHIG3より高い位置の対象物OBJtで反射したレーザ光を示している。なお、反射光LI’は、受光部202までの光路が反射光遮断板PLTで遮断されるレーザ光を示している。
受光部204は、反射光遮断板PLTと走査部104のレーザ光LOの出力部LDoとの間に配置された入射部PDi2で反射光LImを受ける。そして、受光部204は、反射光LImに応じた検出信号SELEmを生成する。これにより、対象物OBJmから受光部202に向かう反射光LI’は、反射光遮断板PLTで遮断され、対象物OBJmから受光部204に向かう反射光LImは、受光部204に到達する。すなわち、プロジェクタ14は、投影面PPLに触れていないときの反射光LImを受光部204で検知する。これにより、プロジェクタ14は、ユーザの指等の対象物OBJmのモーションを検知できる。
なお、投影面PPLへのタッチを目的にした対象物OBJtからの反射光LIが受光部204に到達する場合、例えば、プロジェクタ14は、受光部202で反射光LItを受けているか否かを判定する。そして、プロジェクタ14は、受光部202で反射光LItを受けている場合、受光部204で反射光LIを受けていても、モーションによる操作は実行されていないと判定する。
以上、この実施形態においても、図1−図6で説明した実施形態および図7で説明した実施形態と同様の効果を得ることができる。例えば、この実施形態では、部品点数の増加を抑制しつつ、投影面PPLに表示された画像へのタッチを正しく検出できる。また、例えば、この実施形態では、タッチの誤検出を防止できる。さらに、この実施形態では、PD部200Aは、タッチ検出用の受光部202とモーション検出用の受光部204とを有している。また、制御部300Aは、モーション検出部314を有している。これにより、この実施形態では、タッチ検出の他に、モーション検出も実行できる。
図10は、別の実施形態におけるプロジェクタ16の一例を示している。この実施形態のプロジェクタ16では、図8−図9で説明したプロジェクタ14に、補正部316が追加されている。プロジェクタ16のその他の構成は、図8−図9で説明したプロジェクタ14と同様である。図1−図9で説明した要素と同様の要素については、同様の符号を付し、これ等については、詳細な説明を省略する。
プロジェクタ16は、例えば、LD部100、PD部200A、制御部300Bおよび反射光遮断板PLTを有している。LD部100は、上述した実施形態のLD部100と同様である。例えば、LD部100は、図1に示したプロジェクタ10のLD部100と同じである。PD部200Aは、図8−図9で説明した実施形態のPD部200Aと同様である。例えば、PD部200Aは、図8に示したプロジェクタ14のPD部200Aと同じである。
制御部300Bでは、タッチ検出部306で検出されたタッチ位置等を補正する補正部316が図8に示した制御部300Aに追加されている。制御部300Bのその他の構成は、図8に示した制御部300Aと同様である。例えば、制御部300Bは、受信部302、位置演算部304、タッチ検出部306、走査制御部308、画面制御部310、LD制御部312、モーション検出部314および補正部316を有している。受信部302、位置演算部304、タッチ検出部306、走査制御部308、画面制御部310、LD制御部312およびモーション検出部314は、例えば、図8−図9で説明した実施形態と同様である。したがって、受信部302、位置演算部304、タッチ検出部306、走査制御部308、画面制御部310、LD制御部312およびモーション検出部314については、詳細な説明を省略する。
プロジェクタ16は、図11に示すように、投影画面PSC(投影面PPLに表示される画像の範囲)の形状補正を実行する。このため、プロジェクタ16は、ガルバノミラーGMの偏向角度(傾き)等に基づいて算出されるタッチ位置を投影画面PSC上のタッチ位置に補正する補正部316を有している。例えば、投影画面PSC上のタッチ位置は、画面制御上のタッチ位置に対応している。
補正部316は、タッチ情報INFTおよびモーション情報INFMをタッチ検出部306およびモーション検出部314からそれぞれ受ける。そして、補正部316は、例えば、タッチ情報INFTおよびモーション情報INFMに含まれる位置情報を補正し、補正位置情報INFCを生成する。例えば、補正位置情報INFCは、位置情報が補正されたタッチ情報INFTと位置情報が補正されたモーション情報INFMとの少なくとも一方を有している。
画面制御部310は、補正位置情報INFCを補正部316から受け、画像情報信号INFIを補正位置情報INFCに基づいて生成する。そして、画面制御部310は、画像情報信号INFIをLD制御部312に出力する。このように、この実施形態では、画像情報信号INFIは、位置情報が補正されたタッチ情報INFT等に基づいて生成される。これにより、プロジェクタ16は、対象物OBJがタッチした位置(画像)に割り当てられた機能を、正しく検出できる。
なお、プロジェクタ16の構成は、この例に限定されない。例えば、受光部204およびモーション検出部314は、省かれてもよい。あるいは、受光部204、モーション検出部314および反射光遮断板PLTが省かれてもよい。
図11は、図10に示したプロジェクタ16の投影画面PSCの一例を示している。なお、図11は、投影画面PSCを上から見た図である。また、図11では、投影画面PSCの形状補正前の一例として、図1−図6で説明したプロジェクタ10の投影画面PSC1を示している。以下、投影画面PSC(PSC1、PSC2)の座標Ymin上の辺を下辺とも称し、座標Ymax上の辺を上辺とも称する。
プロジェクタ10、16は、例えば、走査部104の出力部LDoから斜め下にレーザ光LOを投射する。この場合、投影面PPLを含む平面に到達するレーザ光LOの範囲(例えば、投影画面PSC1)は、台形になる。このため、形状補正を実行しないプロジェクタ10では、投影画面PSC1は、台形に近い形状である。投影画面PSCの形状を補正する方法の1つでは、LD制御部312は、図11の形状補正後の網掛けの領域NDRWをレーザ光LOで描画しないように発光部102を制御する。
さらに、例えば、LD制御部312は、Y方向の投影位置がプロジェクタ16(より詳細には、走査部104の出力部LDo)から遠くなるにしたがい、X方向の描画の周波数を高くする。すなわち、LD制御部312は、レーザ光LOの投影位置が投影面PPLの奥にいくにしたがい、X方向の描画の周波数を高くするように発光部102を制御する。これにより、形状補正後の投影画面PSC2は、台形から正方形や長方形に近づく。
例えば、投影画面PSC1の下辺の描画時間と上辺の描画時間は、ほぼ同じ時間t1である。したがって、投影画面PSC1の上辺では、下辺の長さと同じ長さを描画する際の時間は、時間t1より短くなる。このため、例えば、プロジェクタ16は、時間t1より短い時間t2で、投影画面PSC2の上辺を描画する。なお、例えば、Y方向の投影位置に応じてX方向の描画時間を制御する場合、ガルバノミラーGMの駆動をY方向の投影位置に応じて制御する必要がる。ガルバノミラーGMの駆動をY方向の投影位置に応じて精度よく制御することは、困難である。このため、この実施形態では、プロジェクタ16は、例えば、Y方向の投影位置に応じてX方向の描画の周波数を制御する。これにより、形状補正後の投影画面PSC2は、台形から正方形や長方形に近づく。なお、図1−図6で説明したプロジェクタ10においても、投影画面PSCの形状補正を実行してもよい。
図12は、実際のタッチ位置APTと投影画面PSC2との関係の一例を示している。なお、図12は、投影画面PSC2を上から見た図である。Y方向の投影位置がプロジェクタ16から遠くなるにしたがい、X方向の描画の周波数が高くなる場合、ガルバノミラーGMの駆動周波数と描画の周波数とが異なる。このため、タッチ検出部306で検出されるタッチ位置が示す画面制御上のタッチ位置KPT1、KPT2と、投影画面PSC2上の実際のタッチ位置ATP1、ATP2とがずれる。
例えば、補正部316によるタッチ位置の補正が実行されない場合、実際のタッチ位置ATP1、ATP2は、タッチ位置KPT1、KPT2に誤認識される。この場合、例えば、タッチ位置ATP1がタッチされたときに、タッチ位置KPT1に割り当てられた機能が実行される。なお、この実施形態では、補正部316がタッチ位置を補正するため、タッチ位置の誤認識を防止できる。
図13および図14は、タッチ位置を補正する際のモデルの一例を示している。なお、図13は、横から見たレーザ光LOの投射の一例を示している。また、図14は、上から見たレーザ光LOの投射の一例を示している。例えば、レーザ光LOは、走査部104の出力部LDoから投射される。
図13の高さhは、例えば、プロジェクタ16の底面から走査部104の出力部LDoまでの高さである。角度θv0、θvは、レーザ光LOの垂直方向の投射角度である。なお、角度θv0は、初期角度である。例えば、角度θv0で投射されるレーザ光LOは、投影画面PSCの下辺(座標Ymin上のX方向に沿う辺)に画像を描画する。角度θvで投射されるレーザ光LOは、位置Yi(座標Yi)に到達する。距離D0、Diは、出力部LDoの真下からの投影距離である。例えば、距離D0は、角度θv0でレーザ光LOを投射したときの投影距離である。また、距離Diは、角度θvでレーザ光LOを投射したときの投影距離であり、式(1)で表される。
Di=h*tan(θv) ・・・(1)
一方、図14の角度θHは、レーザ光LOの水平方向の投射角度の範囲である。投影幅W0、Wiは、中心線CLを基準にしたときのX方向の投影幅である。例えば、投影幅W0は、レーザ光LOの垂直方向の投射角度が初期角度θv0のときの投影幅である。また、投影幅Wiは、レーザ光LOの垂直方向の投射角度が角度θvのときの投影幅である。したがって、投影幅Wiは、式(2)で表される。
Wi=Di*tan(θH/2) ・・・(2)
補正前の画面制御上のタッチ位置(例えば、図12の位置KPT)は、座標Ymin上の辺を除いて、実際のタッチ位置(例えば、図12の位置APT)より中心線CL側にずれる。例えば、中心線CLを対象軸として互いに対称する位置では、ずれ量は、ほぼ同じである。したがって、例えば、補正部316は、実際のタッチ位置のX座標(中心線CLを基準にしたときのX方向の位置)に係数Mをかけることにより、画面制御上の正しいタッチ位置を算出できる。なお、係数Mは、例えば、式(3)で表される。
M=Wi/W0 ・・・(3)
例えば、実際のタッチ位置が座標(x,y)である場合、補正部316は、タッチ検出部316で算出されたタッチ位置を座標(x*M,y)に補正することにより、画面制御上のタッチ位置を正しい位置に補正する。例えば、座標(x,y)のx、yは、式(4)および式(5)で表される。
x=y*tan(θh) ・・・(4)
y=Di=h*tan(θv) ・・・(5)
なお、式(4)および式(5)のyは、走査部104の出力部LDoの真下を原点にしたときのY方向の位置を示している。また、式(4)のθhは、例えば、対象物OBJが投影面PPLにタッチしたときのレーザ光LOの水平方向(X方向)の投射角度に対応している。例えば、制御部300Bは、ガルバノミラーGMから得られる水平同期信号および垂直同期信号と時間とに基づいて、角度θv、θhを算出する。そして、制御部300Bは、例えば、式(1)−式(5)を用いて、画面制御上の正しいタッチ位置を算出する。例えば、タッチ位置の補正後のX方向の位置xc(=x*M)は、タッチ位置のY方向の位置yを用いて、式(6)で表される。
xc=((y^2)*tan(θh))/(h*tan(θv0)) ・・・(6)
なお、式(6)の^はべき乗演算子である。このように、補正部316は、タッチ検出部316で算出されるタッチ位置のX方向の位置を、タッチ位置のY方向の位置に基づいて補正する。
以上、この実施形態においても、図1−図6、図7および図8−図9で説明したそれぞれの実施形態と同様の効果を得ることができる。例えば、この実施形態では、部品点数の増加を抑制しつつ、投影面PPLに表示された画像へのタッチを正しく検出できる。また、例えば、この実施形態では、タッチの誤検出を防止できる。あるいは、この実施形態では、タッチ検出の他に、モーション検出も実行できる。さらに、この実施形態では、制御部300Bは、タッチ検出部306で検出されるタッチ位置を補正する補正部316を有している。これにより、この実施形態では、投影画面PSCの形状を補正したときにも、画面制御上の正しいタッチ位置を検出できる。
以上の実施形態において説明した発明を整理して、付記として開示する。
(付記1)
表示用のレーザ光とタッチ検出用のレーザ光とを合波したレーザ光を生成する発光部と、
前記発光部から受ける前記レーザ光を走査して投影面に投射する走査部と、
前記走査部から投射された前記レーザ光の対象物からの反射光を入射部で受け、前記反射光に応じた検出信号を生成する受光部と、
前記反射光に対応する前記レーザ光の前記投影面上の位置を、前記検出信号と前記走査部による走査の基準信号とに基づいて算出し、前記反射光に対応する前記レーザ光の前記投影面上の前記位置を示す位置情報を生成する演算部と、
前記対象物に対応する第1信号群および第2信号群を前記位置情報に基づいて検出し、前記第1信号群と前記第2信号群とが1つの集合か否かを判定し、前記第1信号群と前記第2信号群とが1つの集合であると判定したとき、前記対象物が前記投影面にタッチしたと判定する検出部と
を備えていることを特徴とするプロジェクタ。
(付記2)
前記発光部、前記走査部、前記受光部を収納する筐体と、
前記筐体の前記反射光を受ける面側に設けられ、前記受光部の前記入射部と前記走査部の前記レーザ光の出力部との間に配置され、前記投影面にタッチする前の前記対象物からの前記反射光の少なくとも一部を遮断する反射光遮断板を備えていること
を特徴とする付記1記載のプロジェクタ。
(付記3)
前記反射光遮断板と前記走査部の前記レーザ光の前記出力部との間に配置された第2入射部で前記反射光を受け、前記反射光に応じた第2検出信号を生成する第2受光部と、
前記第2検出信号に基づいて生成される位置情報に基づいて、前記対象物の動きを検出するモーション検出部と
を備えていることを特徴とする付記2記載のプロジェクタ。
(付記4)
前記発光部を制御する描画制御部と、
前記検出部により検出されたタッチ位置を補正する補正部とを備え、
前記描画制御部は、前記プロジェクタに対する前記投影面上の位置が手前から奥に向かう方向を第1方向とし、前記第1方向と交差する方向を第2方向とした場合、前記レーザ光の投影位置が前記投影面の奥にいくにしたがい、前記第2方向の描画の周波数を高くするように前記発光部を制御し、
前記検出部は、前記対象物が前記投影面にタッチした位置である前記タッチ位置を、前記第1信号群および前記第2信号群の少なくとも一方の位置に基づいて算出し、
前記補正部は、前記タッチ位置の前記第2方向の位置を、前記タッチ位置の前記第1方向の位置に基づいて補正すること
を特徴とする付記1ないし付記3のいずれか1項に記載のプロジェクタ。
(付記5)
表示用のレーザ光とタッチ検出用のレーザ光とを合波したレーザ光を生成する発光部と、前記発光部から受ける前記レーザ光を走査して投影面に投射する走査部と、前記走査部から投射された前記レーザ光の対象物からの反射光を入射部で受け、前記反射光に応じた検出信号を生成する受光部と有するプロジェクタの動作方法であって、
前記反射光に対応する前記レーザ光の前記投影面上の位置を、前記検出信号と前記走査部による走査の基準信号とに基づいて算出し、前記反射光に対応する前記レーザ光の前記投影面上の前記位置を示す位置情報を生成し、
前記対象物に対応する第1信号群および第2信号群を前記位置情報に基づいて検出し、
前記第1信号群と前記第2信号群とが1つの集合か否かを判定し、前記第1信号群と前記第2信号群とが1つの集合であると判定したとき、前記対象物が前記投影面にタッチしたと判定すること
を特徴とするプロジェクタの動作方法。
(付記6)
前記プロジェクタに対する前記投影面上の位置が手前から奥に向かう方向を第1方向とし、前記第1方向と交差する方向を第2方向とした場合、前記レーザ光の投影位置が前記投影面の奥にいくにしたがい、前記第2方向の描画の周波数を高くし、
前記対象物が前記投影面にタッチした位置であるタッチ位置を、前記第1信号群および前記第2信号群の少なくとも一方の位置に基づいて算出し、
前記タッチ位置の前記第2方向の位置を、前記タッチ位置の前記第1方向の位置に基づいて補正すること
を特徴とする付記5記載のプロジェクタの動作方法。
(付記7)
前記プロジェクタは、前記発光部、前記走査部、前記受光部を収納する筐体と、前記筐体の前記反射光を受ける面側に設けられ、前記受光部の前記入射部と前記走査部の前記レーザ光の出力部との間に配置され、前記投影面にタッチする前の前記対象物からの前記反射光の少なくとも一部を遮断する反射光遮断板と、前記反射光遮断板と前記走査部の前記レーザ光の前記出力部との間に配置された第2入射部で前記反射光を受け、前記反射光に応じた第2検出信号を生成する第2受光部とをさらに備え、
前記第2検出信号に基づいて生成される位置情報に基づいて、前記対象物の動きを検出すること
を特徴とする付記5または付記6記載のプロジェクタの動作方法。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。