(57)【要約】【課題】投射面までの距離を示す距離情報を精度よく取得できるプロジェクタシステムを提供する。【解決手段】プロジェクタシステムは、投射面を含む領域を撮像して映像情報を生成する画像取得部と、画像取得部が生成した映像情報に基づいて投射面までの距離に関する情報である距離情報を算出し、当該算出した距離情報を用いて所定の制御を行い、所定のタイミングで所定の制御に用いる距離情報を更新する制御部とを備える。制御部は、距離情報の更新に関して、画像取得部による映像情報に含まれるオブジェクトの動きに関する情報を算出する。制御部は、オブジェクトの動きに関する情報に基づき、オブジェクトが動いていないと判定した場合、現在設定されている距離情報を、新たに取得した距離情報で更新し、オブジェクトが動いていると判定した場合、現在設定されている距離情報の更新を行わず、現在設定されている距離情報をそのまま維持する。【選択図】図３
2016006484.tif 000002
【特許請求の範囲】
【請求項１】
投射面に映像を投影するプロジェクタ部と、
前記投射面を含む領域を時間的に連続して撮像して映像情報を生成する画像取得部と、
前記画像取得部が生成した映像情報に基づいて、前記投射面までの距離に関する情報である距離情報を算出し、当該算出した距離情報を用いて所定の制御を行うとともに、所定のタイミングで前記所定の制御に用いる距離情報を更新する制御部と、を備え、
前記制御部は、前記距離情報の更新に関して、
前記画像取得部による映像情報に含まれるオブジェクトの動きに関する情報を算出し、前記動きに関する情報に基づいて前記オブジェクトの動きを判定し、
１）前記オブジェクトが動いていないと判定した場合、現在設定されている距離情報を、新たに取得した距離情報で更新し、
２）前記オブジェクトが動いていると判定した場合、前記現在設定されている距離情報の更新を行わず、現在設定されている距離情報をそのまま維持する、
プロジェクタシステム。
【請求項２】
前記制御部は、前記画像取得部の起動後、前記画像取得部で時間的に連続して生成された複数の映像情報間の差分を求め、前記差分に基づいて前記画像取得部の出力が安定したか否かを判定し、前記画像取得部の出力が安定したと判定するまでは、前記画像取得部の出力を前記距離情報の更新に使用せず、前記画像取得部の出力が安定したと判定した後に、前記画像取得部の出力を前記距離情報の更新に使用する、
請求項１に記載のプロジェクタシステム。
【請求項３】
前記制御部は、前記画像取得部で時間的に連続して生成された複数の映像情報に基づいて、前記距離情報の更新に用いる距離情報の値を補正する、請求項１に記載のプロジェクタシステム。
【請求項４】
前記制御部はさらに、前記距離情報の更新に用いる距離情報の値を空間的に平滑する、請求項３に記載のプロジェクタシステム。
【請求項５】
前記制御部は、距離情報を構成する各測定点について、前記画像取得部で時間的に連続して生成された複数の映像情報の中で距離情報が算出できない映像情報があった場合、その測定点に関する距離情報の値を無効を示す値に設定する、
請求項３に記載のプロジェクタシステム。
【請求項６】
前記制御部は、前記画像取得部で生成された、所定の被写体が映し出される領域で計測された距離に関する情報のみを使用して、前記投射面までの距離に関する情報を更新する、
請求項１に記載のプロジェクタシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、自装置から投射対象までの距離に関する情報に基づき所定の処理を行うプロジェクタシステムに関する。
【背景技術】
【０００２】
特許文献１は、スクリーンに映像光を投影する映像光投影手段と、スクリーンまでの距離を測定する測距手段と、測距手段によって得られた距離情報に基づき、スクリーンと映像光投影手段との間の障害物を検知し、検知の結果に応じて投影する映像光の調整領域を決定する障害物検知手段と、調整領域の映像光を調整する投影調整手段とを有する投影型表示装置を開示する。この投影型表示装置は、上記の構成を備えることにより、投射面であるスクリーンまでの距離を測定し、その測定結果から障害物を検知し、検出された障害物を含む領域単位での投影の調整を行うので、高い精度で効果的な防眩機能を提供することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３-３３２０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示は、投射面までの距離を示す距離情報を精度よく取得できるプロジェクタシステムを提供する。
【課題を解決するための手段】
【０００５】
本開示の一態様において、投射面に映像を投影するプロジェクタ部と、投射面を含む領域を時間的に連続して撮像して映像情報を生成する画像取得部と、画像取得部が生成した映像情報に基づいて、投射面までの距離に関する情報である距離情報を算出し、当該算出した距離情報を用いて所定の制御を行うとともに、所定のタイミングで前記所定の制御に用いる距離情報を更新する制御部と、を備えるプロジェクタシステムが提供される。制御部は、距離情報の更新に関して、画像取得部による映像情報に含まれるオブジェクトの動きに関する情報を算出し、動きに関する情報に基づいてオブジェクトの動きを判定する。オブジェクトが動いていないと判定した場合、制御部は、現在設定されている距離情報を、新たに取得した距離情報で更新する。他方、オブジェクトが動いていると判定した場合、制御部は、現在設定されている距離情報の更新を行わず、現在設定されている距離情報をそのまま維持する。
【発明の効果】
【０００６】
本開示によれば、プロジェクタシステムは、投射面までの距離に関する情報の更新の有無を、距離の測定領域内のオブジェクトの動き検出結果によって切り替える。これにより、例えば、投影したユーザインタフェース画像に対してユーザが操作中である場合のように、正確に投射面までの距離が測定できていないと考えられる場合は、距離情報を更新しないため、投射面の距離情報を精度よく取得することができる。
【図面の簡単な説明】
【０００７】
【図１】本実施形態におけるプロジェクタシステムの構成図
【図２】投射面上に投影されたユーザインタフェース（ＵＩ）映像に対するユーザ操作を説明した図
【図３】本実施形態における投射面までの距離情報を更新する動作を説明するためのフローチャート
【図４】距離情報における計測対象範囲を説明するための図
【図５】本実施形態における測距センサの起動時安定化待ち動作を説明するためのフローチャート
【図６】本実施形態における測距センサの測定ばらつき抑制制御を説明するためのフローチャート
【図７】本実施形態における測距センサからデータを取得するエリアの制限制御を説明するためのフローチャート
【図８】本実施形態における安定的に距離を測定出来ない点の検出制御を説明するためのフローチャート
【発明を実施するための形態】
【０００８】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【０００９】
なお、発明者（ら）は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
【００１０】
（実施の形態１）
以下、添付の図面を用いて、実施の形態１を説明する。
【００１１】
従来のプロジェクタシステムでは、その起動時の初期化処理において自装置から投射面までの距離を測定し、測定された距離に関する距離情報を記憶部に保持していた。その距離情報は、その後の種々の処理（種々の動作（フォーカス動作等）に使用される。この方法では、一度の初期化処理によって投射面までの距離を決定できるため、プロジェクタシステムとしての負荷を低減できるというメリットがあった。しかしながら、プロジェクタシステムの起動後に投射面までの距離が変化した場合には、対応できないという課題がある。また、投射面までの距離を測定する初期化処理中には、プロジェクタシステムと投射面との間に、物体を侵入させてはいけないという制約もあった。
【００１２】
このような課題に対して、本実施形態におけるプロジェクタシステムは、所定のタイミングで、投射面を少なくとも含む領域を撮影する。そして、プロジェクタシステムは、撮影画像から、撮影した領域内に含まれるオブジェクトの動きに関する情報を算出し、算出した動きに関する情報に基づいて、オブジェクトが動いているか否かを判定する。さらに、プロジェクタシステムは、オブジェクトが動いていると判定した場合（換言すれば、動きのあるオブジェクトが検出された場合）、現在記憶部に保持している投射面までの距離に関する情報をそのまま利用し、投射面までの距離に関する情報の更新を停止する。一方、オブジェクトが動いていないと判定した場合（換言すれば、動きのあるオブジェクトが検出されなかった場合）、プロジェクタシステムは、記憶部内の投射面までの距離に関する情報を、最新に測定した距離に関する情報で更新する。
【００１３】
このような制御により、プロジェクタシステムから投射面までの距離に関する情報を、投射面を含む領域内の状態の変化に応じて随時更新できる。例えば、投射面にユーザインタフェース（ＵＩ）の画像が投影されている場合、ユーザがそのＵＩを操作中であるのかを判断し、自装置から投射面までの距離に関する情報を更新できる。または、投射面に変化が生じているのかを判断し、自装置から投射面までの距離に関する情報を更新できる。ここで、投射面の変化とは、投射面の形状が変化した場合や、投射面とプロジェクタシステムの間にオブジェクトが置かれた場合などが該当する。
【００１４】
以下、図面を参照しながら本実施形態におけるプロジェクタシステムについて説明する。
【００１５】
１．プロジェクタシステムの構成
図１は、本実施形態におけるプロジェクタシステム１０の構成図である。
【００１６】
本実施形態におけるプロジェクタシステムは、制御部１０１、プロジェクタ１０２、測距センサ１０３、映像ソース部１０４及び記憶部１０５を備える。
【００１７】
測距センサ１０３（画像取得部の一例）は、プロジェクタ１０２が映像信号を投射する投射面１２０を含む領域内に配置される物体の距離を計測する。すなわち、測距センサ１０３は、測距すべき対象を含む領域の画像を撮像し、その撮像した画像に基づいて、測距センサ１０３からその対象までの距離を計測する。測距センサ１０３は、計測した距離に関する距離情報（以下「距離情報」と称す）を制御部１０１に出力する。ここで、距離情報は、投射面１２０を含む領域内に映し出されるすべての位置（２次元的に配置された測定点）に対する距離を示す情報でも構わないし、上記領域内のうちの一部の所定の位置（測定点）に対する距離を示す情報でも構わない。すなわち、測距センサ１０３は、投射面１２０を含む領域に含まれる測定点までの距離を２次元的に計測する。測距センサ１０３は、計測結果として、各測定点を各画素に対応させた距離情報（距離画像）を出力する。
【００１８】
測距センサ１０３は、プロジェクタ１０２が映像を投影する投射面１２０を含む領域を撮像し、領域内に配置される物体の距離を示す情報を画像情報として出力する機能を有するものであれば、どのような構成（方法）を有しても構わない。例えば、測距センサ１０３は、カラー画像を撮影可能なカメラを２台備え、三角法によって距離を測定するステレオカメラ法を実施する構成を有してもよい。または、測距センサ１０３は、赤外光でランダムドットパターンを投影し、赤外線カメラでそのパターンを撮影して３角法によって距離を算出する構成を有しも構わない。また、測距センサ１０３は、ＴＯＦ（Ｔｉｍｅ  Ｏｆ  Ｆｌｉｇｈｔ）センサで構成することもできる。ＴＯＦセンサは、赤外光を照射して赤外線カメラによって、照射した赤外光の反射光を受光し、照射した赤外光と受光した反射光の位相差によって二次元的に配置された測定点の距離を算出し、算出した距離に基づく距離情報（距離画像）を出力するセンサである。
【００１９】
映像ソース部１０４は、ＨＤＤ、光ディスク、半導体記憶装置、メモリ等の記録媒体を備え、記録媒体に格納されている映像信号を読み出し、読み出した映像信号を制御部１０１に出力する回路で構成される。または、映像ソース部１０４は、映像信号を外部から入力し、入力した映像信号を制御部１０１に出力する構成でもよい。映像ソース部１０４は、制御部１０１と接続される伝送形式にしたがって圧縮された映像信号の送信および非圧縮の映像信号の送信を切り換えて実行することもできる。要するに、映像ソース部１０４は、圧縮、非圧縮の如何に関わらず、制御部１０１に映像信号を出力できるものであればどのような構成を有しても構わない。
【００２０】
記憶部１０５は、データを記憶するデバイスであって、例えば、フラッシュメモリやＤＲＡＭ、ＳＲＡＭ、ＳＳＤ等の半導体記憶装置、ハードディスク、または光ディスク装置で構成できる。記憶部１０５は、測距センサ１０３により測定された投射面までの距離を示す距離情報を格納する。
【００２１】
制御部１０１は、本実施形態におけるプロジェクタシステム１０の全体動作を制御する。制御部１０１は、映像ソース部１０４から映像信号を取得し、取得した映像信号をプロジェクタ１０２に出力する。この場合、制御部１０１は、取得した映像信号に対して例えば幾何補正等の所定の画像処理を実施した後、出力してもよい。
【００２２】
制御部１０１は、プロジェクタシステム全体の動作を制御する機能を有するものであれば、どのような構成を有してもよい。例えば、制御部１０１は、ソフトウェア（プログラム）を実行可能なマイクロコンピュータ、ＣＰＵ、ＭＰＵ等で構成できる。ソフトウェアを実行可能なマイクロコンピュータを用いれば、ソフトウェアの変更により処理内容を変更できるので、制御部の設計の自由度を高めることができる。または、制御部１０１は、ハードロジック（ハードウェア回路、ＡＳＩＣ、ＦＰＧＡ、ＤＳＰ等）で実現してもよい。ハードロジックで実現すれば、処理速度を向上できる。
【００２３】
プロジェクタ１０２は、光源（ＬＥＤ発光素子等）、表示変調素子（ＬＣＤ、ＤＭＤ等）および光学系（レンズ、ミラー、プリズム等）を備え、制御部１０１から映像信号を入力し、映像信号に基づく映像光を所定の投射面１２０に投射する。プロジェクタ１０２は、入力した映像信号が示す映像を投影できる機能を有するものであれば、どのような構成を有しても構わない。
【００２４】
２．プロジェクタシステムの機能、動作
プロジェクタシステム１０の制御部１０１が処理する具体的機能について説明する。制御部１０１は測距センサ１０３を制御して、または、測距センサ１０３からの距離情報に基づいて以下の機能を実行する。
（１）測距センサ１０３からの測定結果に基づいて、投射面１２０までの距離を示す距離情報の更新の有無を決定する更新機能
（２）プロジェクタシステム１０の起動時において、測距センサ１０３の出力の安定化までの待機制御機能
（３）測距センサ１０３からの距離情報の誤差を補正する補正機能
（４）測距センサ１０３が計測する範囲を制限する制限機能
（５）測距センサ１０３で安定的に測定出来ない点を検出し、無効化する検出機能
【００２５】
以下、図面を参照しながら制御部１０１が実行する上記５つの機能について各々説明する。
【００２６】
（１）測距センサ１０３からの測定結果に基づいて投射面までの距離情報の更新の有無を決定する更新機能
投影されたＵＩ（ユーザインタフェース）等の映像に対してインタラクティブなタッチ操作などを可能とするシステムでは、タッチ操作を検出するために、映像を投影する装置（測距センサ１０３）からその映像が投影される投射面１２０までの距離Ｌ０を測定する必要がある。
【００２７】
例えば、図２に示すように、投射面１２０上にＵＩ（ユーザインタフェース）映像１３０が投影されている場合、事前に、測距センサ１０３（映像を投影する装置）から投射面１２０までの距離Ｌ０を測定しておく。ユーザは、投影されたＵＩ映像１３０に対して操作するため、指２００をＵＩ映像１３０に近づける。このとき、測距センサ１０３は指２００までの距離Ｌ１を測定する。制御部１０１は、投射面１２０までの距離Ｌ０と指２００までの距離Ｌ１に基づき、投射面１２０から指２００までの距離Ｌ２を算出する。制御部１０１は、算出した距離Ｌ２が所定値以下の場合に、タッチ操作がなされたと判断し、ＵＩ映像に対応する処理を実行する。このように、投影されたＵＩ映像に対するタッチ操作の有無の判断において投射面１２０までの距離Ｌ０が参照される。このため、常時、精度よく、投射面１２０までの距離Ｌ０を認識しておくことが重要である。従来、投射面までの距離は、装置の起動時に測定されることが一般的であった。しかし、ユースケースによっては、起動後に、映像を投影する装置からその映像が投影される投射面までの距離が変化する場合がある。
【００２８】
そこで、本実施形態では、定期的に、投射面１２０までの距離を示す距離情報を更新する。特に、その距離情報の更新処理において、投射面１２０と測距センサ１０３の間に存在するオブジェクトの動きを検出し、検出結果にしたがい、映像を投影する装置から投射面１２０までの距離を示す距離情報の更新の有無を判断する。このような制御により、精度のよい、投射面１２０までの距離に関する距離情報を取得（認識）することが可能となる。
【００２９】
図３は、本実施形態におけるプロジェクタシステム１０による、測距センサ１０３から投射面１２０までの距離を示す距離情報の更新動作を説明するためのフローチャートである。
【００３０】
プロジェクタシステム１０が起動されると、制御部１０１はまず初期化処理を実行する（Ｓ２０１）。
【００３１】
初期化処理において、制御部１０１は、測距センサ１０３の出力が安定するまで測距センサ１０３出力を停止させる待機制御機能（詳細は図５を参照して後述）および測距センサ１０３が計測する範囲を制限する制限機能（詳細は図７を参照して後述）を実施する。また、制御部１０１は、投射面１２０までの距離を示す距離情報の初期値を取得する。この距離情報の初期値は、測距センサ１０３から取得する距離情報ではなく、予め任意に設定された値である。
【００３２】
前述のように、測距センサ１０３は、投射面１２０を含む測定対象領域において２次元的に配置される測定点（画素）毎に距離を測定する。ただし、以下の説明では、制御部１０１は、測定可能な全領域内における制限された範囲（すなわち、一部の領域）内で計測された距離情報を用いて処理する動作を説明する。一部の領域は、例えば、アイコン、ボタンのようなユーザが操作を行う対象を示す映像が投影される領域である。この測距センサ１０３が計測する範囲を一部に制限する制限機能は、必ずしも初期化処理（ステップＳ２０１）において行う必要はなく、また、この機能を省略しても構わない。
【００３３】
初期化処理（Ｓ２０１）の後、制御部１０１は、測距センサ１０３から、測距センサ１０３による測定結果を示す実際の距離情報を取得する（Ｓ２０２）。このとき、制御部１０１は、測距センサ１０３が計測して得られる距離に関する情報の誤差を補正する補正機能と測距センサ１０３で安定的に測定できない点を検出する検出機能とを合わせて実行してもよい。この２つの機能については、必要に応じて選択的に動作のＯＮ/ＯＦＦ（実行する／実行しない）を切り換えることができる。
【００３４】
次に、制御部１０１は、投射面までの距離を示す距離情報を更新中であるかどうか判定する（Ｓ２０３）。この判定は、例えば、距離情報が更新中であるか否かを示す更新フラグを設定しておき、その更新フラグを参照することで可能である。更新フラグは、初期設定では「更新中」を示す値に設定されるとする。距離情報が更新中であると判断した場合、制御部１０１は、ステップＳ２０４に進み、一方、距離情報が更新中ではないと判断した場合、ステップＳ２０９に進む。
【００３５】
まず、制御部１０１が距離情報を更新中と判断した場合の処理を説明する。
【００３６】
距離情報が更新中であると判断した場合（ステップＳ２０３においてＹＥＳ）、制御部１０１は、ステップＳ２０２で取得した距離情報と、前回の処理で決定した投射面１２０までの距離情報との差分を算出する（Ｓ２０４）。例えば、距離情報（距離画像）における画素（測定点）毎に差を求め、求めた差を合計した値を差分の値とする。なお、起動後初めて距離情報の差分を算出する場合、前回の処理で決定した投射面１２０までの距離情報として、初期化処理（ステップＳ２０１）で取得した距離情報の初期値を用いる。また、このとき、計測可能範囲内の一部の制限された範囲（以下「計測対象範囲」という）内においてのみ距離情報の差分を算出する。ここで、計測対象範囲とは、図４に示すように、測距センサ１０３による計測が可能な全範囲５０内の一部の範囲５１であり、例えばユーザが操作を行うためのＵＩ映像が表示されている範囲と、それに隣接するＵＩ映像に対するユーザ操作を検出するために必要な範囲とを含んだ範囲５１に設定される（詳細は後述）。
【００３７】
次に制御部１０１は、ステップＳ２０４で算出した差分に基づいて、測距センサ１０３のは、計測対象範囲内において、動きのある物体（オブジェクト）が存在するか否かを判断する（Ｓ２０５）。
【００３８】
動きのある物体が存在するか否かの判断のために、例えば、制御部１０１は、ステップＳ２０４で算出した差分の値が所定値以上であるか否かを判断する。算出した差分の値が所定値以上であった場合、制御部１０１は、投射面１２０と測距センサ１０３の間に動きのある物体が存在すると判断する。
【００３９】
制御部１０１は、その判断結果に基づいて、その後の処理を切り替える（Ｓ２０６）。具体的には、制御部１０１は、投射面１２０と測距センサ１０３の間に動きのある物体が存在すると判断した場合、ステップS２０７に進む。一方、投射面１２０と測距センサ１０３の間に動きのある物体が存在しないと判断した場合、制御部１０１はステップＳ２０８に進む。
【００４０】
なお、上記の例では、動きのある物体の検出を、距離情報の差分に基づいて行った。しかし、例えば、撮像装置が制御部１０１に接続されている場合、制御部１０１はこの撮像装置から取得される画像信号に基づいて動きのある物体を検出するようにしても構わない。この場合、時間的に連続して撮影される画像間（すなわちフレーム毎）の画像信号の差分の値に基づいて、動きのある物体を検出できる。
【００４１】
投射面１２０と測距センサ１０３の間に動きのある物体が存在すると判断した場合（Ｓ２０６でＹＥＳ）、制御部１０１は、投射面１２０までの距離を示す距離情報の更新処理を停止する（Ｓ２０７）。すなわち、制御部１０１は更新フラグを「停止」を示す値に設定する。
【００４２】
一方、プロジェクタ１０２の投射面１２０と測距センサ１０３の間に動きのある物体が存在しないと判断した場合（Ｓ２０６でＮＯ）、制御部１０１は、記憶部１０５における、投射面１２０までの距離を示す距離情報を最新の値に更新する（Ｓ２０８）。
【００４３】
上記において更新に用いる距離情報は、ステップＳ２０２で取得した距離情報を用いても良いし、ステップＳ２０２で取得した距離情報改変した情報でも良い。距離情報を改変した情報とは、例えば、最新フレームから過去Ｎフレーム分（Ｎは所定の自然数）の距離情報の平均値などである。
【００４４】
以上、ステップＳ２０３において、距離情報が更新中であると制御部１０１が判断した場合の制御を説明した。次に、ステップＳ２０３において、距離情報が更新中でないと判断した場合の処理を説明する。
【００４５】
距離情報が更新中でないと判断した場合（Ｓ２０３でＮＯ）、制御部１０１は、現時点から過去Ｎフレーム分の平均の距離情報と、現時点において取得した距離情報（ステップＳ２０２にて取得した距離情報）が示す値との差分を算出する（Ｓ２０９）。ここで、Ｎの値は、測距センサ１０３の更新フレームレートに依存して決定される。そのため、Ｎは測距センサ１０３を構成するデバイス性能によって適宜設定される値である。
【００４６】
制御部１０１は、ステップＳ２０９で算出した差分に基づいて、投射面１２０と測距センサ１０３の間に、動きのある物体が存在するか否かを判断する（Ｓ２１０）。例えば制御部１０１は、ステップＳ２０９で抽出した差分の値が所定値以上であるかどうかで判断する。差分が所定値以上であった場合、投射面１２０と測距センサ１０３の間に、動きのある物体が存在すると判断される。この場合、投射面１２０と測距センサ１０３の間に物体（例えば、ユーザの身体の一部）が侵入していると考えられる。一方、差分が所定値未満であった場合、動きのある物体が存在していないと判断される。この場合、投射面１２０と測距センサ１０３の間に物体（例えば、ユーザの身体の一部）が侵入していないと考えられる。なお、上記においては差分が所定値以上か否かで、動きのある物体の存在を判断する動作を説明したが、例えば、２つの閾値を設けて判断してもよい。具体的には、差分が第１の閾値よりも小さい場合に、投射面１２０と測距センサ１０３の間に、動きのある物体が存在しない（換言すれば、物体が侵入していない）と判断し、第１の閾値よりも大きな第２の閾値以上の場合に、投射面１２０と測距センサ１０３の間に、動きのある物体が存在する（換言すれば、物体が侵入している）と判断するようにしても構わない。
【００４７】
動きのある物体が検出された場合（Ｓ２１１でＹＥＳ）、制御部１０１は、投射面１２０と測距センサ１０３の間に動きのある物体が存在しない期間を示すカウント値を０にリセット（クリア）する（Ｓ２１２）。なお、制御部１０１は内部メモリを有しており、この内部メモリにカウント値が書き込まれている。このように、制御部１０１は、プロジェクタ１０２の投射面と測距センサ１０３の間に動きのある物体が存在すると判断した場合、カウント値をゼロクリアする。
【００４８】
制御部１０１はステップＳ２１２の処理の後、ステップＳ２０２に戻る。
【００４９】
一方、投射面１２０と測距センサ１０３の間に、動きのある物体が存在しないと判断した場合（ステップＳ２１１でＮＯ）、制御部１０１は内部メモリに格納されるカウント値をカウントアップする（Ｓ２１３）。
【００５０】
そして、制御部１０１はカウント値が所定の閾値を超えたかどうかを判定する（Ｓ２１４）。ここで、閾値は、選択する測距センサ１０３の更新フレームレートに依存して決定される。そのため、閾値は、選択する測距センサ１０３によって適宜設定するのが好ましい。
【００５１】
カウント値が閾値以下である場合（Ｓ２１４でＮＯ）は、ユーザの身体の一部が静止しているのか、投射面１２０と測距センサ１０３の間に物体（ユーザの身体の一部）が存在しなくなったかのいずれであるか判断できない状態である。そのため、制御部１０１は、ステップＳ２０２に戻り、再度前述の動作を継続する。
【００５２】
一方、カウント値が閾値以上となった場合（Ｓ２１４でＹＥＳ）、投射面１２０と測距センサ１０３の間に物体（ユーザの身体の一部）が存在しなくなったと判断できる。よって制御部１０１は投射面１２０までの距離を示す距離情報の更新を再開する（Ｓ２１５）。すなわち、制御部１０１は、記憶部１０５における、投射面１２０までの距離を示す距離情報を最新の値に更新するとともに、更新フラグを「更新中」を示す値に設定し、ステップＳ２０２に進む。
【００５３】
上記のように制御することにより、投射面１２０までの距離を示す距離情報の更新を、投射面１２０と測距センサ１０３の間に動きのある物体が存在するか否かによって切り替えることができる。
【００５４】
投射面１２０と測距センサ１０３の間にユーザの指のような動きのある物体があるときに測定された距離は、測距センサ１０３から投射面１２０までの正確な距離ではない場合がある。そこで、本実施形態では、投射面１２０と測距センサ１０３の間に動きのある物体が存在しない場合にのみ、投射面１２０までの距離を示す距離情報を更新するようにする。これにより、常に、投射面１２０までの正確な距離を示す距離情報が保持されることになり、距離情報を用いた処理における精度を向上できる。
【００５５】
例えば、プロジェクタシステム１０が、キーボードやアイコンのようなユーザインタフェースを示す映像（ＵＩ映像）を投影し、その投影された映像に対してユーザが指でタッチすることで操作するような状況を考える。本実施形態のプロジェクタシステムによれば、ユーザが投影されたＵＩ映像を操作中には、投射面１２０までの距離を示す距離情報は更新されず、ユーザが操作していないときに距離情報が更新される。これにより、ユーザの指までの距離を投射面までの距離として誤って測定し、誤った測定値により距離情報を更新することを防止できる。よって、制御部１０１は、ユーザが操作中の動作に影響なく、投射面までの距離を正確に把握することが可能となるので、投射面までの距離に基づいて、ユーザの指と投射面１２０までの距離を正確に把握でき、タッチ動作を正確に検出することが可能となる。
【００５６】
さらに、本実施形態では、投射面１２０自体の状況を高精度に把握できるので、いずれの面に投影する場合であってもタッチ操作の精度が向上出来る。ここで、いずれの面とは、プロジェクタ１０２の移動または投射面１２０の移動のより新たに設定される投射面や、プロジェクタ１０２と投射面１２０との間に新たに置かれた物体上の面などである。また、ユーザの身体の一部がプロジェクタ１０２の投影画角内に進入した場合でも、誤動作を起こすことなくタッチ操作を行うことが可能となる。
【００５７】
（２）待機制御機能
初期化処理（Ｓ２０１）において実施される測距センサ１０３の待機制御機能について説明する。待機制御機能とは、プロジェクタシステム１０の起動時において、測距センサ１０３が起動してから安定した出力を出力するまで、測距センサ１０３の起動を待つ機能である。
【００５８】
一般的に測距センサは、起動直後では、デバイス特性に依存して、出力する距離情報が正確でない場合がある。この場合、起直後の不安定なデータをそのまま使用すると、誤動作等の不具合が生じる可能性がある。誤動作を回避する方法として、出力する距離情報が安定するまで、起動後一定期間の経過を待って、測距センサの出力を採用するという方法が考えられる。しかし、測距センサによって安定化するまでの期間が異なる場合があり、選択するセンサによって待ち時間を切り替えなくてはならない。
【００５９】
そこで、本実施形態においては、測距センサ１０３が出力する情報の変動（前回及び今回の距離情報の差分）によって待ち時間を変動させる。このように制御することにより、測距センサ１０３の動作の安定化までの待機時間をデバイス特性によって変動させることができ、待ち時間を適正に設定することができる。
【００６０】
図５は、待機制御機能を説明するためのフローチャートである。
【００６１】
制御部１０１は、測距センサ１０３を起動する（Ｓ３０１）。この測距センサ１０３に対する起動処理は、プロジェクタシステム１０全体の起動と連動して、実施されても構わない。測距センサ１０３の起動処理において、制御部１０１は、測距センサ１０３に対して所定の初期化処理を実施する。
【００６２】
測距センサ１０３の初期化処理が終了すると、制御部１０１は、測距センサ１０３から距離情報（測距データ）を取得する（Ｓ３０２）。
【００６３】
制御部１０１は、測距センサ１０３から取得した距離情報のうち、過去に取得した距離情報と現時刻において取得した距離情報との差分を、所定の位置（各測定点）それぞれについて算出する（Ｓ３０３）。例えば、投射面全体の領域を９分割して得られるそれぞれの領域において距離情報を取得できる構成であれば、制御部１０１は、分割された領域それぞれにおいて含まれる所定数の測定点について差分を算出する。測距センサ１０３が取得できる距離情報の単位毎に差分を算出する。
【００６４】
次に制御部１０１は、算出された差分が所定値以上となる測定点が所定数（ｎ点）以上あるか否かを判断する（Ｓ３０４）。差分が所定値以上となる測定点が所定数（ｎ点）以上あった場合（Ｓ３０４でＹＥＳ）、測距センサ１０３からの距離情報（測定データ）が安定していないと判断できる。この場合、制御部１０１は、ステップＳ３０２に戻り、測距センサ１０３からの出力が安定するまで待つ。
【００６５】
一方、差分が所定値以上となる測定点が所定数（ｎ点）未満であった場合（Ｓ３０４でＮＯ）、測距センサ１０３からの距離情報（測定データ）が安定していると判断できる。よって、この場合、制御部１０１は、測距センサ１０３の測距センサ１０３の初期化動作を完了する（Ｓ３０５）。これにより待機制御が終了する。
【００６６】
上記のように測距センサ１０３の出力の安定化待ち処理を行うことにより、測距センサ１０３起動直後の測距センサ１０３から出力される距離情報のばらつきが小さくなるまで（安定化されるまで）の時間（待機時間）を可変にすることができる。また、測距センサ１０３から安定した距離情報が出力されるようになるまで測距センサ１０３の初期化を完了させないようにする。これにより、測距センサ１０３からの出力は安定した信頼性が高いものとなり、距離情報を利用して処理した際の誤動作を抑制することが可能となる。
【００６７】
（３）距離情報の誤差補正機能
以下、測距センサ１０３が出力する距離情報の誤差を補正する補正機能について図面を参照しながら説明する。
【００６８】
一般的に測距センサ１０３が計測する距離情報には一定のばらつきが含まれている。その為、そのままの距離情報を使用する場合、ユーザの意図しない誤動作等が生じる可能性がある。
【００６９】
そこで、本実施形態における制御部１０１は、測距センサ１０３から取得した距離情報をそのまま利用せずに、補正した後に利用する。
【００７０】
図６は、本実施形態における測距センサの測定ばらつきを抑制する補正機能を説明するためのフローチャートである。
【００７１】
制御部１０１は、測距センサ１０３が計測した距離情報（測距データ）を取得する（Ｓ４０１）。この場合、前述のステップＳ２０２またはＳ３０２の場合とは異なり、測距センサ１０３から取得した距離情報そのままを、以降の制御に使用する。
【００７２】
次に制御部１０１は、測距センサ１０３から所定回数（例えば、１０回）以上、距離情報を取得したか否かを判断する（Ｓ４０２）。例えば、測距センサ１０３がサンプリング間隔１００ｍｓで距離を測定する場合、制御部１０１は、１秒間で１０回（すなわち、１ｓの期間）、測距センサ１０３から距離情報を取得する。これにより、制御部１０１は連続した１０個の距離情報を取得することができる。なお、所定回数は、平均化に必要な回数分に設定される。
【００７３】
距離情報の取得が所定回数未満であった場合、制御部１０１はステップＳ４０１に戻り、距離情報を取得する。
【００７４】
一方、所定回数以上距離情報を取得している場合（Ｓ４０２でＹＥＳ）、制御部１０１は、各測定点について、取得した１０個の距離情報の時間的な平均値を算出する（Ｓ４０３）。
【００７５】
さらに制御部１０１は、ステップＳ４０３で算出した各測定点の時間的な平均値を用いて、空間的に変化の大きい位置（測定点）を検出する（Ｓ４０４）。変化が大きいか否かの判断は、隣接する測定点間の差が所定値以上であるか否かを判断することで行う。
【００７６】
次に制御部１０１は、取得する距離情報（距離画像）の領域を複数個の領域に分割する（Ｓ４０５）。ここでは、ステップＳ４０４で検出した空間的に変化の大きい位置に基づいて、距離情報の領域を複数個の領域に分割する。これにより、距離情報（距離画像）の領域を、特徴が類似する測定点（画素）は同じ領域に属するように分割することができる。例えば、変化の大きい測定点に基づき、同じような距離にある測定点が同じ領域に含まれるように、適宜領域を分割する。
【００７７】
次に制御部１０１は、それぞれの分割領域において、微小領域毎に測定点の距離情報の平均値を算出する（Ｓ４０６）。ここで、微小領域とは分割領域を分割して得られるさらに小さな領域である。各微小領域毎に、ステップＳ４０３で算出された時間的に平均された距離情報の値を用いて、各微小領域内の空間的な平均値が算出される。
【００７８】
そして制御部１０１は、それぞれの微小領域において、各測定点の距離情報の値を、ステップＳ４０６で算出した各微小領域内の平均値に置き換える（Ｓ４０７）。以後の処理では、置き替えた後の距離情報を利用する。
【００７９】
上記の制御により、測距センサ１０３の距離情報の測定ばらつきを、時間的かつ空間的に抑制することができる。これにより、測定ばらつきによる誤動作を抑制することができ、ユーザが意図しない操作が発生することを抑制することが可能である。
【００８０】
（４）測距センサ１０３の計測範囲の制限機能
測距センサ１０３が計測する範囲を制限する制限機能について図面を参照しながら説明する。本制限機能は、ステップＳ２０２やＳ２０８において実施される。
【００８１】
測距センサ１０３による測定が必要となる領域は、ユーザ操作の検出を行う領域である。ここで、ユーザ操作の検出を行う領域は、アイコンやボタン等のユーザの操作対象となるＵＩ映像が投影される領域を含む。さらに、ＵＩ映像が投影される領域の周縁にユーザ操作が行われた場合でも、そのユーザ操作の検出を可能とするため、ＵＩ映像が投影される領域の周囲に領域も、ユーザ操作の検出に必要な領域となる。よって、ユーザ操作の検出を行う領域とは、図４に示すように、測距センサ１０３による計測が可能な領域（範囲）５０内において、ＵＩ映像が投影される領域と、その周囲の領域とを含む領域５１である。このユーザ操作の検出を行う領域（範囲）５１を「計測対象領域（範囲）」という。
【００８２】
ユーザ操作の検出を行う領域が大きいほど、距離情報において誤検出が生じる確率が増加し、ユーザの意図しない誤動作が起こってしまうおそれが高くなる。
【００８３】
そこで、本実施形態においては、ユーザ操作を検出するために必要な範囲（計測対象範囲５１）以外の範囲で検出された、距離情報の値は、無効を示す値に置き換える。これにより誤検出を低減する。
【００８４】
図７は、本実施形態における測距センサ１０３からのデータを取得するエリアを計測対象範囲内のエリアに制限するための制御を説明するためのフローチャートである。
【００８５】
まず制御部１０１は、測距センサ１０３から距離情報を取得する（Ｓ５０１）。
【００８６】
次に制御部１０１は、測距センサ１０３から取得した距離情報に含まれる測定点（画素）それぞれに対して、後述するステップＳ５０３およびＳ５０４の処理を実施したか否かを判定する（Ｓ５０２）。すべての測定点（画素）について処理が終了している場合（ステップＳ５０２においてＹＥＳ）、制御部１０１は本処理を終了する。
【００８７】
一方、すべての測定点（画素）について処理が終了していない場合（ステップＳ５０２においてＮＯ）、制御部１０１は、処理対象の測定点の距離情報が、計測対象範囲内で計測された情報であるか否かを判断する（Ｓ５０３）。計測対象範囲内で計測された距離情報である場合（ステップＳ５０３でＹＥＳ）、制御部１０１はステップＳ５０２に移行する。ここで、計測対象範囲は、設計者により、予め適宜設定されており、制御部１０１はいずれの領域が計測対象範囲かを認識している。
【００８８】
一方、処理対象の測定点の距離情報が、計測対象範囲内で計測された距離情報ではない場合、制御部１０１は、ステップＳ５０３において測距対象領域外で計測された距離情報の値を０に置き換える（Ｓ５０４）。置き換える値は、０に限定されず、測定不可点である事が分かるような値であれば何でも良い。例えば、−１に置き換えても良い。制御部１０１は、距離情報の値が、測定不可点であることを示す値（例えば、０）であるときは、その値を使用しないように構成されている。その後、制御部１０１はステップＳ５０２に移行する。
【００８９】
上記のように測距センサ１０３により計測されたデータのうち、測定エリアを必要な範囲のみに制限することで、必要ではない範囲の測距センサ１０３の測定データによる誤検出を低減することが可能となり、ユーザが意図しない操作が行われる事を低減できる。また、制御部１０１に対する処理負荷も低減できる。
【００９０】
（５）測距センサ１０３で安定的に測定できない点を検出し、無効化する検出機能
測距センサ１０３で安定的に測定出来ない点を検出し、無効化する機能について図面を参照しながら説明する。
【００９１】
測距センサ１０３は、同一の測定ポイントに対して測定できるタイミングと、測定できないタイミングとがある。センサの種類にもよるが、ランダムドットパターンなどによる三角法で距離を測定するタイプで顕著に現れる。
【００９２】
測距センサ１０３からのデータ取得タイミングによって測定出来ていないデータが存在するまま以降の処理を実行した場合、正確な検出ができなくなる可能性が出てくる。その為、ユーザ操作を正確に反映できず、誤検出等が発生してしまう。
【００９３】
そこで、距離情報において、安定的に距離を測定できない測定点のデータについては無効化し、利用しないようにしてもよい。以下、安定的に距離を測定できない測定点を検出し、無効化する制御を説明する。
【００９４】
図８は、安定的に距離を測定できない測定点を検出し、無効化する制御を説明するためのフローチャートである。ここでは、距離情報において、信頼性がない測定点についてはそのデータを無効化する（例えば、その測定点の値を、無効を示す「０」にする）。制御部１０１は、距離情報の値が、無効を示す値（例えば、０）であるときは、その値を使用しないように構成されている。
【００９５】
まず制御部１０１は、測距センサ１０３から距離情報を取得する（Ｓ６０１）。
【００９６】
次に制御部１０１は、測距センサ１０３から取得した距離情報に含まれる測定点（画素）それぞれに対して、後述するステップＳ６０３およびＳ６０４の処理を実施したか否かを判定する（Ｓ６０２）。すべての測定点について処理した場合（ステップＳ６０２においてＹＥＳ）、制御部１０１は本処理を終了する。
【００９７】
すべての測定点について処理していない場合（ステップＳ６０２においてＮＯ）、一つの測定点について、制御部１０１は、ステップＳ６０１で取得した距離情報および過去ｎフレーム分の距離情報において、測定不可なものがあったかどうかを判断する（Ｓ６０３）。すなわち、今回距離情報を取得したフレーム及び過去ｎフレームにおいて、距離情報が測定できなかったフレームがあったか否かを判断する。
【００９８】
なお、上記の説明においては距離情報のそれぞれに対して測定不可フレームがあったか否かを判断する構成を説明したが、処理量を削減するために任意の領域毎に判断する構成にしても構わない。
【００９９】
測定不可フレームがあったと判断した場合（Ｓ６０３でＹＥＳ）、制御部１０１は、その測定不可フレームにおける距離情報の値を０に置き換える（Ｓ６０４）。現在フレームおよび過去ｎフレームのいずれかにおいて測定不可フレームが存在した場合、その点は安定的に距離を測定出来ない点であるとして、測定距離を０に置き換える。置き換える値は、測定不可点である事が分かるような値であれば任意の値で良い。例えば、−１に置き換えても良い。
【０１００】
一方、測定不可フレームがなかったと判断した場合（Ｓ６０３でＮＯ）、制御部１０１は、ステップＳ６０２に移行する。測定点を１つシフトし、次の測定点に対して上記と同様の処理を行う。
【０１０１】
上記のように測距センサ１０３が安定的に測定出来ない点を検出し、無効化することにより、投射面１２０までの距離情報を精度のよく取得できる。よって、投射面１２０の距離情報を参照する際に、信頼性のないデータを使用しなくなるため、ユーザ操作を安定的に検出することが可能となる。
【０１０２】
なお、無効化した測定点については、その周囲の測定点のデータから補間して求めることができる。また、図８に示す制御は図７に示す制御と組み合わせても良い。
【０１０３】
３．効果、等
以上のように本実施形態のプロジェクタシステム１０は、投射面に映像を投影するプロジェクタ１０２（プロジェクタ部の一例）と、投射面１２０を含む領域を時間的に連続して撮像して映像情報を生成する測距センサ１０３（画像取得部の一例）と、測距センサ１０３が生成した映像情報に基づいて、投射面１２０までの距離に関する情報である距離情報を算出し、当該算出した距離情報を用いて所定の制御を行うとともに、所定のタイミングで所定の制御に用いる距離情報を更新する制御部１０１と、を備える。制御部１０１は、距離情報の更新に関して、測距センサ１０３による映像情報に含まれるオブジェクトの動きに関する情報を算出し、動きに関する情報に基づいてオブジェクトの動きを判定する（図３、Ｓ２０５、Ｓ２１０）。制御部１０１は、オブジェクトが動いていないと判定した場合、現在設定されている距離情報を、新たに取得した距離情報で更新する（Ｓ２０８）。制御部１０１は、オブジェクトが動いていると判定した場合、現在設定されている距離情報の更新を行わず、現在設定されている距離情報をそのまま維持する（Ｓ２０７）。
【０１０４】
上記の構成により、プロジェクタシステムは、投射面までの距離を示す距離情報の算出に使用される映像情報において動きのあるオブジェクトが検出されたときは、距離情報の更新を行わず、動きのあるオブジェクトが検出されなかったときにのみ、距離情報の更新を行う。これにより、プロジェクタシステムと投射面との間にオブジェクトがない状態で計測された距離情報を取得することが可能となり、精度のよい投射面に関する距離情報を取得できる。
【０１０５】
また、図５に示すように、制御部１０１は、測距センサ１０３の起動後、測距センサ１０３で時間的に連続して生成された複数の映像情報間（フレーム間）の差分を求め、差分に基づいて測距センサ１０３の出力が安定したか否かを判定してもよい（Ｓ３０４）。制御部１０１は、測距センサ１０３の出力が安定したと判定するまでは、測距センサ１０３の出力を距離情報の更新に使用せず、測距センサ１０３の出力が安定したと判定した後に、測距センサ１０３の出力を前記距離情報の更新に使用するようにしてもよい（Ｓ３０４、Ｓ３０５）。
【０１０６】
また、図６、８に示すように、制御部１０１は、測距センサ１０３で時間的に連続して生成された複数の映像情報に基づいて、距離情報の更新に用いる距離情報の値を補正してもよい。時間的な変化に基づき距離情報を補正することで、測定ばらつきを低減でき、測定ばらつきに起因する誤動作を抑制できる。
【０１０７】
さらに、制御部１０１は、距離情報の更新に用いる距離情報の値を空間的に平滑してもよい（Ｓ４０６、Ｓ４０７）。空間的に平滑することで、ノイズによる影響を排除でき、データの信頼性を向上できる。
【０１０８】
制御部１０１は、距離情報を構成する各測定点について、測距センサ１０３で時間的に連続して生成された複数の映像情報の中で距離情報が算出できない映像情報があった場合、その測定点に関する距離情報の値を、無効を示す値に設定してもよい（Ｓ６０３、Ｓ６０４）。これにより、過去に測定できなかったことがある測定点について、距離情報の値を無効化でき、信頼のないデータを使用することによる不具合を低減できる。
【０１０９】
また、図７に示すように、制御部１０１は、前記距離情報のうち、所定の被写体（例えば、ユーザインタフェース画像）が含まれる領域に関する情報のみを使用して、投射面までの距離に関する情報を更新してもよい（Ｓ５０３、Ｓ５０４）。これにより、誤検出、誤動作を低減できるとともに、制御部１０１の処理負荷が軽減できる。
【０１１０】
（他の実施の形態）
以上のように、本出願において開示する技術の例示として、実施の形態１を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、上記実施の形態１で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。そこで、以下、他の実施の形態を例示する。
【０１１１】
図３に示すフローチャートによれば、制御部１０１は、投射面１２０までの距離を示す距離情報の更新を所定の周期で実施しているが、距離情報を更新するタイミングはこれに限定されない。任意のタイミングで更新されてもよい。例えば、所定の動作を実行する直前に距離情報の更新を実施するようにしてもよい。
【０１１２】
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
【０１１３】
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【０１１４】
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
【産業上の利用可能性】
【０１１５】
本開示は、投射面までの距離情報の更新の有無を、投射面とシステム間のオブジェクタの動き検出に基づき切り替える。これにより、投射面までの距離情報を精度のよく取得できる。本開示は、投射面までの距離を測定し、その測定結果を用いて制御を行うプロジェクタシステムに適用可能である。
【符号の説明】
【０１１６】
１０  プロジェクタシステム
１０１  制御部
１０２  プロジェクタ
１０３  測距センサ
１０４  映像ソース部
【図１】
2016006484.tif 000003
【図２】
2016006484.tif 000004
【図３】
2016006484.tif 000005
【図４】
2016006484.tif 000006
【図５】
2016006484.tif 000007
【図６】
2016006484.tif 000008
【図７】
2016006484.tif 000009
【図８】
2016006484.tif 000010