(57)【要約】【課題】基準距離をより好適に更新することができる情報処理装置、映像投影装置、情報処理方法及びプログラムを提供する。【解決手段】実施形態によれば、記憶部と、距離情報取得部と、更新部と、を備えた情報処理装置が提供される。記憶部は、基準点と基準点から離れた第１面との間の距離に関する第１距離情報と、第１面の表面の形状に関する第１形状情報と、を記憶する。距離情報取得部は、基準点と基準点から離れた物体との間の距離に関する第２距離情報を取得する。更新部は、変化情報判定部と、形状情報判定部と、を有する。変化情報判定部は、第２距離情報を使って操作の有無を判定する。形状情報判定部は、第１形状情報と第２形状情報とを比較して第１の条件を満たすか否かを判定する。更新部は、操作が無と判定され且つ第１の条件が満たされると判定された場合に、第２距離情報に基づいて第１距離情報を更新する。【選択図】図１
2016099742.tif 000002
【特許請求の範囲】
【請求項１】
基準点と前記基準点から離れた第１面との間の距離に関する第１距離情報、および前記第１面の表面の形状に関する第１形状情報を記憶する記憶部と、
前記基準点と前記基準点から離れた物体との間の距離に関する第２距離情報を取得する距離情報取得部と、
前記第２距離情報を使って操作の有無を判定する変化情報判定部、および前記第１形状情報と第２形状情報とを比較して第１の条件を満たすか否かを判定する形状情報判定部を有し、前記操作が無と判定され且つ前記第１の条件が満たされると判定された場合に、前記第２距離情報に基づいて前記第１距離情報を更新する更新部と、
を備えた情報処理装置。
【請求項２】
前記第１距離情報と、前記第２距離情報と、に基づいて前記操作を検出する操作検出部をさらに備えた請求項１記載の情報処理装置。
【請求項３】
前記第２距離情報は、複数の時刻における距離情報を含む請求項１または２に記載の情報処理装置。
【請求項４】
前記第１面は、映像が投影される投影面を含む請求項１〜３のいずれか１つに記載の情報処理装置。
【請求項５】
前記第１の条件は、前記第１形状情報と前記第２形状情報との間の一致度が一定以上であるか否かに関する条件である請求項１〜４のいずれか１つに記載の情報処理装置。
【請求項６】
前記第１形状情報は、前記物体の表面の平面度の閾値であり、
前記第２形状情報は、前記第２距離情報に基づいて算出された前記物体の表面の平面度であり、
前記更新部は、前記平面度が前記閾値よりも高い場合に前記第１距離情報を更新する請求項１〜５のいずれか１つに記載の情報処理装置。
【請求項７】
前記第１形状情報は、前記第１面の数であり、
前記第２形状情報は、前記第２距離情報を複数の平面で近似したときの第２面の数であり、
前記更新部は、前記第２面の数が前記第１面の数以下である場合に前記第１距離情報を更新する請求項１〜５のいずれか１つに記載の情報処理装置。
【請求項８】
前記更新部は、前記第２距離情報の時間的変化が基準値よりも小さい期間が予め定められた期間よりも長いときに、前記第１距離情報を更新する請求項１〜７のいずれか１つに記載の情報処理装置。
【請求項９】
前記記憶部は、前記更新部の判定結果をさらに記憶し、
前記操作検出部は、前記判定結果に基づいて前記操作の検出の状態を切り替える請求項２記載の情報処理装置。
【請求項１０】
前記第１距離情報に基づいて、入力された映像を変換する映像変換部をさらに備えた請求項９記載の情報処理装置。
【請求項１１】
前記第１距離情報は、第１基準距離と、第２基準距離と、を含み、
前記操作検出部は、前記第１基準距離に基づいて前記操作を検出し、
前記映像変換部は、前記第２基準距離に基づいて前記映像を変換し、
前記更新部は、第１期間に前記第１基準距離を更新し、前記第１期間とは異なる第２期間に前記第２基準距離を更新する請求項１０記載の情報処理装置。
【請求項１２】
前記映像変換部は、前記記憶部が保持する前記更新部の判定結果に基づいて前記映像の変換の状態を切り替える請求項１０または１１に記載の情報処理装置。
【請求項１３】
前記基準点と前記第１面との間の距離を測定する距離計測部をさらに備え、
前記第２距離情報は、前記距離計測部と前記第１面との間の距離に基づく請求項１〜１２のいずれか１つに記載の情報処理装置。
【請求項１４】
請求項１〜１３のいずれか１つに記載の情報処理装置と、
前記第１面に前記映像を投影する表示装置と、
を備えた映像投影装置。
【請求項１５】
基準点と前記基準点から離れた第１面との間の距離に関する第１距離情報、および前記第１面の表面の形状に関する第１形状情報を記憶し、
前記基準点と前記基準点から離れた物体との間の距離に関する第２距離情報を取得し、
前記第２距離情報を使って操作の有無を判定し、
前記第１形状情報と第２形状情報とを比較して第１の条件を満たすか否かを判定し、
前記操作が無と判定され且つ前記第１の条件が満たされると判定された場合に、前記第２距離情報に基づいて前記第１距離情報を更新する情報処理方法。
【請求項１６】
コンピュータに、
基準点と前記基準点から離れた第１面との間の距離に関する第１距離情報、および前記第１面の表面の形状に関する第１形状情報を記憶させ、
前記基準点と前記基準点から離れた物体との間の距離に関する第２距離情報を取得させ、
前記第２距離情報を使って操作の有無を判定させ、
前記第１形状情報と第２形状情報とを比較して第１の条件を満たすか否かを判定させ、
前記操作が無と判定され且つ前記第１の条件が満たされると判定された場合に、前記第２距離情報に基づいて前記第１距離情報を更新させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、映像投影装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
例えば、指などの指示体による操作を距離センサを用いて検出する情報処理装置が開発されている。また、このような情報処理装置をプロジェクタなどの映像表示装置と組み合わせた映像処理装置が開発されている。例えば、投影面への接触操作（タッチ操作）を検出することで、投影像に対してタッチディスプレイのような操作を可能にする技術が開発されている。  
距離センサを用いて物体面に対する接触操作を検出する技術として、距離センサが取得した距離情報と、距離センサと投影面との間の距離情報（基準距離）と、の比較により、操作を検出する方法が提案されている。ここで、距離センサと投影面との間の位置関係が変化した後も引き続き操作を検出するためには、基準距離を更新する必要がある。  
基準距離をより好適に更新し、操作の検出の安定性を向上させることが望まれている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１０２１８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態は、基準距離をより好適に更新することができる情報処理装置、映像投影装置、情報処理方法及びプログラムを提供する。
【課題を解決するための手段】
【０００５】
実施形態によれば、記憶部と、距離情報取得部と、更新部と、を備えた情報処理装置が提供される。前記記憶部は、基準点と前記基準点から離れた第１面との間の距離に関する第１距離情報と、前記第１面の表面の形状に関する第１形状情報と、を記憶する。前記距離情報取得部は、前記基準点と前記基準点から離れた物体との間の距離に関する第２距離情報を取得する。前記更新部は、変化情報判定部と、形状情報判定部と、を有する。前記変化情報判定部は、前記第２距離情報を使って操作の有無を判定する。前記形状情報判定部は、前記第１形状情報と第２形状情報とを比較して第１の条件を満たすか否かを判定する。前記更新部は、前記操作が無と判定され且つ前記第１の条件が満たされると判定された場合に、前記第２距離情報に基づいて前記第１距離情報を更新する。
【図面の簡単な説明】
【０００６】
【図１】実施形態にかかる情報処理装置を表すブロック図である。
【図２】実施形態の更新部を表すブロック図である。
【図３】図１に表した情報処理装置の変形例を表すブロック図である。
【図４】実施形態の更新部の具体例を表すブロック図である。
【図５】第１の実施形態に係る情報処理装置の使用状態の一例を例示する模式斜視図である。
【図６】第１の実施形態に係る情報処理装置の使用状態の一例を例示する模式斜視図である。
【図７】実施形態の形状情報の具体例を説明する模式的斜視図である。
【図８】実施形態の形状情報の他の具体例を説明する模式的斜視図である。
【図９】実施形態にかかる情報処理方法を表すフローチャート図である。
【図１０】実施形態の更新部を表すブロック図である。
【図１１】実施形態の判定部の動作を例示する模式図である。
【図１２】実施形態にかかる情報処理方法を表すフローチャート図である。
【図１３】実施形態にかかる情報処理装置を表すブロック図である。
【図１４】第３の実施形態に係る情報処理装置の使用状態の一例を例示する模式的斜視図である。
【図１５】第３の実施形態に係る情報処理装置の使用状態の一例を例示する模式的斜視図である。
【図１６】第３の実施形態に係る情報処理装置の使用状態の一例を例示する模式的斜視図である。
【図１７】実施形態にかかる情報処理装置を表すブロック図である。
【図１８】実施形態にかかる情報処理装置を表すブロック図である。
【図１９】実施形態の更新部を表すブロック図である。
【図２０】実施形態に係る情報処理装置の使用状態の一例を例示する模式的斜視図である。
【発明を実施するための形態】
【０００７】
以下に、各実施の形態について図面を参照しつつ説明する。  
なお、図面は模式的または概念的なものであり、各部分の厚みと幅との関係、部分間の大きさの比率などは、必ずしも現実のものと同一とは限らない。また、同じ部分を表す場合であっても、図面により互いの寸法や比率が異なって表される場合もある。  
なお、本願明細書と各図において、既出の図に関して前述したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
【０００８】
（第１の実施形態）  
図１は、実施形態にかかる情報処理装置を表すブロック図である。  
図２は、実施形態の更新部を表すブロック図である。  
図３は、図１に表した情報処理装置の変形例を表すブロック図である。  
図４は、実施形態の更新部の具体例を表すブロック図である。
【０００９】
本実施形態は、任意の物体表面への操作を検出する情報処理装置に関する。図１に表したブロック図は、本実施形態にかかる情報処理装置１００の構成の一例であり、必ずしも実際のプログラムモジュールの構成とは一致しない場合がある。図２に表したブロック図は、本実施形態の更新部１３０の構成の一例であり、必ずしも実際のプログラムモジュールの構成とは一致しない場合がある。
【００１０】
図１に表した情報処理装置１００は、距離情報取得部１１０と、操作検出部１２０と、更新部１３０と、記憶部１４０と、を備える。図２に表したように、更新部１３０は、判定部１３１と、基準距離算出部１３２と、を有する。判定部１３１は、形状情報判定部１３５と、変化情報判定部１３６と、を有する。図４に表したように、例えば、変化情報判定部１３６は、操作情報判定部１３６ａを有する。本実施形態では、情報処理装置１００は、距離センサ２００（距離計測部）及び制御装置３００を含む周辺装置に接続されている。
【００１１】
距離センサ２００及び制御装置３００として、情報処理装置１００とは異なる外部の装置を用いることができる。情報処理装置１００が、距離センサ２００及び制御装置３００を備えてもよい。距離センサ２００及び制御装置３００は、後述する表示装置５００に内蔵されていてもよい。制御装置３００は、例えば、コンピュータなどである。図１に示したハードウェア構成は、一例である。実施形態に係る情報処理装置の一部、又は全部として、ＬＳＩ（Large Scale Integration）等の集積回路、または、ＩＣ（Integrated Circuit）チップセットを用いることができる。各機能ブロックを個別にプロセッサ化してもよい。各機能ブロックの一部又は全部を集積してプロセッサ化してもよい。ＬＳＩに限らず、専用回路又は汎用プロセッサで集積回路化してもよい。
【００１２】
距離センサ２００は、基準点と、基準点から離れた第１面と、の間の距離を測定し、測定した距離情報を距離情報取得部１１０に出力する。基準点は、例えば距離センサ２００の原点である。第１面は、例えば操作検出の対象を定める面である。第１面は、例えば映像が投影される投影面を含む。
【００１３】
距離情報取得部１１０は、距離センサ２００によって測定された距離情報を取得し、例えば保持する。本願明細書においては、距離情報取得部１１０が距離センサ２００から取得した距離情報を「第２距離情報」と称する。すなわち、第２距離情報は、距離情報取得部１１０が取得した距離情報であり、過去の複数の時刻の距離情報を含んでいてもよい。第２距離情報は、基準点と、基準点から離れた物体と、の間の距離に関する情報である。ここでいう「物体」とは、動作中に距離センサ２００の画角内に含まれ得る物体をいう。ここでいう「物体」としては、指示体、投影面、および距離センサ２００と第１面との間を横切った人などが挙げられる。
【００１４】
操作検出部１２０は、距離情報取得部１１０から第２距離情報を受け取り、受け取った第２距離情報と、後述の基準距離（第１距離情報）と、を用いて、投影面への操作を検出する。基準距離（第１距離情報）は、基準点と、基準点から離れた第１面と、の間の距離に関する情報である。
【００１５】
更新部１３０は、例えば距離情報取得部１１０から第２距離情報を受け取る。さらに、更新部１３０は、記憶部１４０が保持する形状情報（第１形状情報）を受け取る。第１形状情報の詳細については、後述する。更新部１３０は、第２距離情報および第１形状情報に基づいて、記憶部１４０に記憶された基準距離（第１距離情報）を適宜更新する。
【００１６】
操作検出部１２０は、更新される基準距離に基づいて操作を検出する。  
制御装置３００は、操作状態に関する情報（操作情報）や、基準距離を受け取る。例えば、制御装置３００は、受け取った情報に基づいて、映像を変化させる等の処理を行う。
【００１７】
図３に表したように、更新部１３０は、操作検出部１２０から操作情報を受け取ってもよい。図３に表した例では、更新部１３０は、第２距離情報、第１形状情報および操作情報に基づいて、記憶部１４０に記憶された基準距離（第１距離情報）を適宜更新する。
【００１８】
図５及び図６は、第１の実施形態に係る情報処理装置の使用状態の一例を例示する模式斜視図である。  
この例では、情報処理装置１００と、距離センサ２００と、制御装置３００と、が、一つの筐体１０に含まれているとして説明するが、本実施形態はこれに限るものではない。情報処理装置１００及び制御装置３００は、それぞれ離れた場所に配置されていてもよい。
【００１９】
本実施形態では、距離センサ２００は、対象物までの距離情報を二次元的に取得することが可能な距離画像センサであるものとして説明する。通常のカメラが撮像対象の色情報を二次元的な配列＝画像として取得するように、距離画像センサは、撮像対象までの距離を二次元的な配列（距離画像）として取得することができる。距離画像の取得方法としては、赤外線パターン照射方式（対象に赤外線のパターンを照射し、赤外線カメラでパターンを検出し、三角測量により距離を測定する方式）、または、Time-of-Flight方式（対象に投光し、光の往復にかかった時間を計測することで距離を測定する方式）などがある。距離センサ２００は、その他の距離取得方法を用いるセンサでも良い。距離情報取得部１１０が距離画像センサから取得した距離情報（第２距離情報）をｄ（ｘ，ｙ，ｔ）とあらわす。ここで、ｘ及びｙは取得した距離画像の画像座標、ｔは取得した時刻をあらわす。
【００２０】
距離情報取得部１１０は、距離センサ２００が時々刻々と取得する距離情報を取得し保持する。本実施形態では、距離情報取得部１１０が互いに異なる時刻における複数の距離情報を取得し保持するものとして説明する。つまり、本実施形態では、第２距離情報は、互いに異なる時刻における複数の距離情報を含むバッファとして動作する。
【００２１】
図５に表した物体２１は、面Ａ１を有する。物体２２は、面Ａ２を有する。面Ａ１及び面Ａ２のそれぞれは、操作検出の対象となりうる物体表面（第１面）である。例えば、面Ａ１は、壁面である。例えば、面Ａ２は、机上面である。本実施形態では、操作検出対象となる物体表面が平面であるとして説明する。なお、本実施形態は、これに限られない。実施形態において、物体表面は凹凸を含む非平面でも良い。
【００２２】
図５に表した測定範囲Ｂ１は、距離センサ２００が距離を測定する範囲を表す。指示体Ｃは、例えば、指または指示棒などの物体である。指示体Ｃによって面Ａ１または面Ａ２などの物体に向けて操作が行われる。本実施形態では、測定範囲Ｂ１における指示体Ｃによる操作を検出する。測定範囲Ｂ１には、距離センサ２００の画角内全てを用いても良いし、一部を用いても良い。
【００２３】
ここで、距離センサ２００と、測定範囲Ｂ１に含まれる物体表面と、の間に、操作の検出対象となる物体表面以外の遮蔽物が含まれていない場合の距離情報を基準距離Ｄ０（ｘ，ｙ）と呼ぶ。
【００２４】
操作検出部１２０は、基準距離Ｄ０（ｘ，ｙ）と第２距離情報ｄ（ｘ，ｙ，ｔ）とを用いて操作を検出する。例えば、操作検出部１２０は、基準距離Ｄ０（ｘ，ｙ）と第２距離情報ｄ（ｘ，ｙ，ｔ）との差に基づいて、差が特定の範囲内の場合には、操作が行われていると検出する。本実施形態では、指やペンなどの指示体Ｃによる物体表面へのタッチ操作を検出する。なお、本実施形態はこれに限らない。実施形態において、距離情報を元に検出可能な操作であれば、いかなる種類の操作を検出しても良い。
【００２５】
物体表面への距離（基準距離Ｄ０（ｘ，ｙ））が分かっているため、物体表面にタッチしている指示体Ｃの場所は次式で判別できる。
【数１】
2016099742.tif 000003
ここで、Ｄｍａｒｇｉｎ（ｘ，ｙ）は、検出用のパラメータである。パラメータを適切に設定することにより、Ｎｅａｒ（ｘ，ｙ）＝１ならば、座標（ｘ，ｙ）の位置において、指示体Ｃによるタッチ操作が行われていると見なすことができる。
【００２６】
指やペンなどある程度の太さを持つ指示体Ｃによるタッチが発生した場合、タッチなどの操作が行われた領域は、Ｎｅａｒ（ｘ，ｙ）＝１となる画素が連結した領域として検出される。  
物体表面の複数の点（領域）がタッチされた場合、タッチされた点の数には、連結領域の数を用いることができる。また、連結領域のそれぞれの重心の座標を、タッチされた領域の座標として用いることができる。ここで、Ｎｅａｒ（ｘ，ｙ）＝１である連結成分の数が小さい領域、すなわち連結領域の面積が小さい領域を棄却してもよい。これにより、距離情報に含まれるノイズなどの影響を抑制し、操作を求めることができる。
【００２７】
検出した連結領域の数（タッチ点数）、及び連結領域の座標（タッチ座標）は、制御装置３００に操作情報として出力される。本実施形態においては、連結領域の数が１以上の場合に「操作中」、０の時に「操作が行われていない」とする。図３に表した例では、このような操作情報が更新部１３０に出力される。
【００２８】
制御装置３００は、操作検出部１２０が検出した操作情報に基づいて操作を決定する。例えば、制御装置３００は、タッチ座標とタッチ点数とを元にタッチイベントやフリック操作を発行する処理などを行う。
【００２９】
図６に、筐体１０の位置または向き（位置姿勢）が変化した状態を示す。筐体１０の位置または向きの変化に伴い、測定範囲Ｂ１は、測定範囲Ｂ２に変化する。  
このように筐体１０の位置姿勢が変化した場合に、それに伴って、基準距離Ｄ０（ｘ，ｙ）を自動的に更新し、操作検出の対象となる物体表面を面Ａ２へ変更することが望ましい。
【００３０】
例えば、操作検出の対象となる物体表面と筐体１０との間の距離が変化した場合に、基準距離Ｄ０（ｘ，ｙ）を更新する。すなわち、筐体１０の位置姿勢が変化した場合だけでなく、物体表面の位置姿勢または物体表面の形状が変化した場合にも基準距離Ｄ０（ｘ，ｙ）を更新する。
【００３１】
筐体１０の位置姿勢の変化のみであれば、筐体１０に加速度センサなど設けて検出することができる。しかし、筐体１０に設けられた加速度センサの信号のみを用いて、物体表面の位置姿勢の変化または物体表面の形状の変化を検出することはできない。物体表面の位置姿勢の変化としては、例えば、物体表面の位置が動く場合などが挙げられる。
【００３２】
距離情報の時間差分など、距離情報の時間的な変化を用いて、筐体１０の位置姿勢の変化、物体表面の位置姿勢の変化、及び、物体表面の形状の変化を検出することができる。しかし、指示体Ｃによる操作によっても距離情報は変化する。例えば、距離測定範囲において、操作の検出対象となる物体表面と距離センサ２００との間に指示体Ｃが配置されたときに距離情報は変化する。距離情報のみを用いて、位置姿勢の変化と指示体Ｃによる変化とを区別することは容易ではない。距離情報のみを用いて基準距離Ｄ０（ｘ，ｙ）を更新すると、操作のための指示体Ｃが基準距離に含まれるおそれがある。
【００３３】
そこで、本実施形態では、基準距離を更新するための条件を設定し、その条件が満たされた場合に基準距離を更新する。図１〜図４に関して前述したように、本実施形態にかかる情報処理装置１００は、更新部１３０と、記憶部１４０と、を備える。更新部１３０は、判定部１３１と、基準距離算出部１３２と、を有する。判定部１３１は、形状情報判定部１３５と、変化情報判定部１３６と、を有する。
【００３４】
記憶部１４０は、基準距離Ｄ０（ｘ，ｙ）を記憶する。判定部１３１は、基準距離Ｄ０（ｘ，ｙ）を更新するための条件が満されるか否かを判定する。基準距離算出部１３２は、基準距離Ｄ０（ｘ，ｙ）を更新するための条件が満たされた場合に、記憶部１４０に記憶されている基準距離とは異なる新たな基準距離を算出する。
【００３５】
形状情報判定部１３５は、距離情報取得部１１０から受け取った第２距離情報に基づいて物体表面の形状に関する情報を第２形状情報として算出する。形状情報判定部１３５は、第２形状情報に基づいて物体表面の形状としての条件（第１の条件）が満たされるかどうかを判定する。本実施形態では、記憶部１４０に予め記憶された形状情報（第１形状情報）と、第２形状情報と、を比較することにより第１の条件が満たされるか否かの判定を行う。記憶部１４０が保持する形状情報を第１形状情報と呼び、形状情報判定部１３５が第２距離情報に基づいて算出する形状情報を第２形状情報と呼ぶ。第１形状情報は、第１面の表面の形状に関する情報である。
【００３６】
例えば、第１の条件は、第１形状情報と第２形状情報との間の一致度が一定以上であるか否かに関する条件である。例えば、第１形状情報は、予め定められた形状と第２形状情報との間の一致度の閾値である。第２形状情報は、第２距離情報に基づいて算出された物体表面の形状に関する情報である。予め定められた形状と第２形状情報との間の一致度が閾値以上の場合に、形状情報判定部１３５は、物体表面の形状の条件が満たされたと判定する。
【００３７】
次に、形状情報の具体例について説明する。  
図７は、実施形態の形状情報の具体例を説明する模式的斜視図である。  
図８は、実施形態の形状情報の他の具体例を説明する模式的斜視図である。  
図７（ａ）は、物体表面の付近に指示体を近づける前の状態を表す模式的斜視図である。図７（ｂ）は、物体表面の付近に指示体を近づけた後の状態を表す模式的斜視図である。  
図８（ａ）は、筐体の位置姿勢が変化する前の状態を表す模式的斜視図である。図８（ｂ）は、筐体の位置姿勢が変化した後の状態の例を表す模式的斜視図である。図８（ｃ）は、筐体の位置姿勢が変化した後の状態の他の例を表す模式的斜視図である。
【００３８】
物体表面の形状が平面の場合には、形状情報判定部１３５が第２距離情報に基づいて算出した物体表面を第２形状情報とする。この場合には、第１形状情報は、例えば平面度の閾値を表す。第２形状情報は、例えば平面度を表す。
【００３９】
平面度は、物体表面のフィッティング誤差に基づいて算出される。フィッティング誤差は、例えば、形状情報判定部１３５が距離情報取得部１１０から受け取った第２距離情報に平面のフィッティングを行った際の誤差である。あるいは、平面度は、形状情報判定部１３５が距離情報取得部１１０から受け取った第２距離情報を三次元の点群に変換し、固有値分解を行い、分解された固有値のうちの最大固有値と最小固有値との間の比に基づいて算出されてもよい。あるいは、平面度は、形状情報判定部１３５が距離情報取得部１１０から受け取った第２距離情報に基づく形状が平面に近いほど値が大きくなり、平面から外れるほど値が小さくなるような指標であればよく、公知のいかなる手段を用いて算出されてもよい。
【００４０】
形状情報判定部１３５は、算出した平面度が閾値よりも高い場合に、形状の条件が満たされたと判定する。例えば、図７（ａ）および図７（ｂ）に示すように、操作の前後に物体表面の付近に指示体Ｃを近づけた場合には、物体表面の付近に指示体Ｃを近づける前と比較して、物体表面の形状が平面から離れる。そのため、その物体表面の平面度は小さくなる。指示体Ｃを含む場合と含まない場合とを判別できるように第１形状情報を設定しておけば、指示体Ｃが測定範囲Ｂ１にあるときに基準距離が更新されないようにすることができる。
【００４１】
図８（ａ）〜図８（ｃ）に示すように、物体表面が複数の平面を含む場合には、形状情報を面の数にしても良い。この場合には、第１形状情報は、物体表面に含まれる面（第１面）の数である。第２形状情報は、第２距離情報を複数の平面で近似した場合の面（第２面）の数である。例えば図８（ａ）に表したように、最大２つの平面からなる物体表面に対して操作検出を行う場合には、形状情報判定部１３５は、近似した面の数が２以下の場合（図８（ｂ）に表した例の場合）に形状の条件が満たされ、３以上の場合（図８（ｃ）に表した例の場合）には条件が満たされないと判定することができる。例えば、形状情報を面の数に設定することは、距離情報の取得範囲が面と面の角とを含む場合であっても操作を検出したい場合などに有用な手段の１つである。
【００４２】
あるいは、形状情報は、物体表面を平面近似した際の面積の大きさであっても良い。また，形状情報は、物体表面の角度や、物体表面の平均的な距離であっても良い。あるいは、物体表面が平面ではなく、カーブを描く面（曲面）などの場合には、その面の曲率を形状情報としても良い。
【００４３】
また、より複雑な形状の物体に対応するために、形状情報を３次元形状情報そのものとしても良い。例えば、物体表面の３次元点群データ（第１点群データ）を予め計測しておき、第１形状情報として記憶部１４０に登録しておく。形状情報判定部１３５は、距離情報取得部１１０から受け取った第２距離情報に基づいて物体の３次元点群データ（第２点群データ）を再構成し、第２形状情報とする。形状情報判定部１３５は、２つの点群データ間の類似度が閾値以上の場合に、物体表面の形状の条件が満たされるかどうかを判定することで、複雑な形状の物体にも対応することができる。
【００４４】
次に、変化情報判定部１３６について説明する。  
変化情報判定部１３６は、距離情報取得部１１０から受け取った第２距離情報の時間変化（時間的変化）に基づいて条件の判定を行う。本実施形態では、第２距離情報から算出される時間変化は、操作検出部１２０が検出したタッチ操作状態の変化とする。
【００４５】
以下では、操作検出部１２０が検出した操作情報の変化に基づいて変化情報判定部１３６が判定を行う例（図３および図４に表した例）を示す。図４に、変化情報判定部１３６が、操作情報の変化に基づいて変化情報を判定する場合のブロック図を示す。図４に示すように、変化情報判定部１３６は、操作情報判定部１３６ａを有する。本実施形態では、操作情報判定部１３６ａは、操作情報に基づいて操作が発生しているか否かを判定し、操作が発生していない場合に投影面としての条件が満たされたと判定する。
【００４６】
具体的には、操作検出部１２０が検出したタッチ点数が０点の場合には、操作情報判定部１３６ａは、条件が満たされたと判定する。一方で、タッチ点数が１点でも存在する場合には指示体が物体表面に接触しているため、操作情報判定部１３６ａは、基準距離を更新する条件が満たされないと判定する。つまり、操作情報判定部１３６ａは、操作の有無を判定する。
【００４７】
判定部１３１は、形状情報判定部１３５の判定結果と、変化情報判定部１３６の判定結果と、を統合し、基準距離を更新するかどうかを判定する。例えば、判定部１３１は、形状情報判定部１３５および変化情報判定部１３６の両方の判定結果が条件を満たす場合に基準距離を更新すると判定する。あるいは、判定部１３１は、形状情報判定部１３５および変化情報判定部１３６のいずれか一方の判定結果が条件を満たす場合に基準距離を更新すると判定してもよい。つまり、判定部１３１は、形状情報判定部１３５および変化情報判定部１３６の少なくともいずれかの判定結果が条件を満たす場合に基準距離を更新すると判定する。
【００４８】
基準距離算出部１３２は、距離情報取得部１１０に保持されている少なくとも一つ以上の時刻の第２距離情報から基準距離Ｄ０（ｘ，ｙ）を再計算する。言い換えれば、基準距離算出部１３２は、距離情報取得部１１０から受け取った第２距離情報に基づいて基準距離Ｄ０（ｘ，ｙ）を再計算する。ここで、更新する時刻をｔｕｐｄａｔｅとあらわす。最も単純な基準距離Ｄ０（ｘ，ｙ）の計算方法は、基準距離Ｄ０（ｘ，ｙ）＝ｄ（ｘ，ｙ，ｔｕｐｄａｔｅ）とする方法である。
【００４９】
基準距離算出部１３２は、距離情報取得部１１０に保持されている複数の第２距離情報から基準距離Ｄ０（ｘ，ｙ）を求めても良い。複数の第２距離情報は、互いに異なる時刻における複数の距離情報である。例えば、基準距離算出部１３２は、複数の時刻の第２距離情報の平均値、最頻値、中央値、最小値、または最大値などを用いることで、距離情報に含まれるノイズなどの影響を抑制し、基準距離Ｄ０（ｘ，ｙ）を求めることができる。
【００５０】
記憶部１４０は、基準距離Ｄ０（ｘ，ｙ）および第１形状情報を保持する。更新部１３０により基準距離Ｄ０（ｘ，ｙ）を更新する判定がなされた場合には、更新部１３０によって、記憶部１４０の保持している基準距離Ｄ０（ｘ，ｙ）が更新される。
【００５１】
図９は、実施形態にかかる情報処理方法を表すフローチャート図である。  
図９に表したフローチャート図では、操作検出部１２０は、距離情報取得部１１０から第２距離情報を取得し、基準距離と第２距離情報とを比較することにより、操作の検出を行う。その後、判定部１３１は、操作の状態に関する条件と、形状の情報に関する条件（第１の条件）と、に基づいて基準距離の更新を行うか否かの判定を行う。操作が無と判定され、且つ第１の条件が満たされた場合には、更新部１３０は、記憶部１４０に保持されている基準距離を更新する。
【００５２】
図９に表したフローチャート図を参照しつつ説明すると、まず、初期化処理が実行される（ステップＳ１０１）。記憶部１４０が保持する基準距離および第１形状情報は、初期化処理時に所定の値で初期化される。基準距離に関しては、例えば、情報処理装置１００の起動後の最初の一回において基準距離が更新されるように設定しておけばよい。ただし、初期化処理時に更新条件が満たされない場合であって、例えば初期化処理の前から指示体Ｃが物体表面付近に配置されている場合には、強制的に基準距離を初期化すると、操作検出部１２０において誤検出が発生する可能性がある。この場合には、判定部１３１が初期化処理時においても判定を行い、条件が満たされない場合にはユーザに正しい初期化を促すよう警告をする処理などを行えばよい。
【００５３】
続いて、操作検出部１２０は、距離情報取得部１１０から第２距離情報を取得する（ステップＳ１０３）。操作検出部１２０は、基準距離と第２距離情報とを比較することにより、操作の検出を行う（ステップＳ１０５）。
【００５４】
続いて、操作情報判定部１３６ａは、操作検出部１２０から受け取った操作情報に基づいて操作状態の判定（操作の有無の判定）を行う（ステップＳ１０７）。操作状態が操作中ではないと操作情報判定部１３６ａが判定した場合には（ステップＳ１０７：「操作中でない」）、形状情報判定部１３５は、第２形状情報を算出する（ステップＳ１０９）。一方で、操作状態が操作中であると操作情報判定部１３６ａが判定した場合には（ステップＳ１０７：「操作中」）、動作を終了するか否かの判定が実行される（ステップＳ１１５）。
【００５５】
続いて、形状情報判定部１３５は、記憶部１４０に保持された第１形状情報に基づいて形状情報判定部１３５が算出した第２形状情報の判定（第１の条件が満たされるか否かの判定）を行う（ステップＳ１１１）。第２形状情報が形状の基準を満たすと形状情報判定部１３５が判定した場合には（ステップＳ１１１：「形状の基準を満たす」）、更新部１３０は、記憶部１４０に保持されている基準距離を更新する（ステップＳ１１３）。一方で、第２形状情報が形状の基準を満たさないと形状情報判定部１３５が判定した場合には（ステップＳ１１１：「形状の基準を満たさない」）、動作を終了するか否かの判定が実行される（ステップＳ１１５）。
【００５６】
本実施形態によれば、物体表面の形状と指示体による操作状態との少なくともいずれかが条件を満たす場合に、基準距離が更新される。一方で、指示体による操作中や、操作の前後において距離センサ２００と物体表面との間に指示体Ｃなどの遮蔽物が含まれるような場合には、基準距離が更新されない。これにより、本実施形態にかかる情報処理装置１００は、基準距離をより好適に更新することができる。そのため、本実施形態にかかる情報処理装置１００は、操作の検出の安定性を向上させることができる。言い換えれば、本実施形態にかかる情報処理装置１００は、より安定した操作をユーザに提供することができる。
【００５７】
（第２の実施形態）
図１０は、実施形態の更新部を表すブロック図である。  
本実施形態は、任意の物体表面への操作を検出する情報処理装置に関する。第２の実施形態の更新部１３０ａは、第１の実施形態の更新部１３０と比較して、距離時間変動判定部１３６ｂをさらに有する。距離時間変動判定部１３６ｂは、距離センサ２００と物体表面との間の距離の時間変化量を条件（第３の条件）として判定を行う。以下、第１の実施形態と同様の動作をする部分に関しては説明を省略する。
【００５８】
距離時間変動判定部１３６ｂは、距離情報の時間的な変化量を算出する。本実施形態では、次式に従い距離変化量を定義する。
【数２】
2016099742.tif 000004
【数３】
2016099742.tif 000005
ＲＯＩは取得された距離画像内における、距離変化量の算出に使用する画素の集合を表す。ＮＲＯＩは、ＲＯＩに含まれる画素数を表す。
【００５９】
距離変化量の算出方法は、これだけには限定されず、互いに異なる時刻で取得された距離情報の間の変化の大きさを表現できる指標であれば、他の算出手段を用いても良い。例えば、距離変化量の算出方法は、単純な差分の絶対値を用いる方法や、距離値のヒストグラムの比較を行う方法などであってもよい。
【００６０】
距離時間変動判定部１３６ｂは、距離変化量Ｅｔが閾値以下の場合に更新条件（第３の条件）が満たされると判定する。また、本実施形態では、以下に示すように、変化情報判定部１３６は、操作検出部１２０によって検出された操作情報と、距離時間変動判定部１３６ｂによって算出された距離変化量と、の両方を参照して、基準距離を更新するか否かを判定する。本実施形態では、距離情報の時間変化量（距離変化量Ｅｔ）が小さく、かつ、操作が行われていない状態が一定期間連続した場合に、更新部１３０ａは基準距離Ｄ０（ｘ，ｙ）を更新する。
【００６１】
図１１は、実施形態の判定部の動作を例示する模式図である。  
図１１は、判定部１３１が判定を行うプロセスを表した状態遷移図である。図１１に表したように、例えば、３つの状態「動的状態Ｓ１」、「待機状態Ｓ２」、及び「静止状態Ｓ３」があり、それぞれの状態は、破線で囲った条件のもとで状態間を遷移する。実線で囲った処理が、状態遷移時に行われる。
【００６２】
以下、状態遷移の流れについて、図１１を用いて説明する。Ｅｍｉｎ（基準値）は、距離変化量の大小を決定する閾値である。Ｆｏｐは、操作情報から決定される２値変数である。Ｆｏｐ＝１は、操作中の状態を表す。Ｆｏｐ＝０は、操作が行われていない状態を表す。Ｆｕｐｄａｔｅは、判定部１３１の出力である。Ｆｕｐｄａｔｅ＝１ならば、更新部１３０ａは基準距離の更新を行う。Ｆｕｐｄａｔｅ＝０ならば、更新部１３０ａは、基準距離の更新を行わない。
【００６３】
以下、初期状態が「動的状態Ｓ１」であるとして説明する。距離変化量が閾値以上(Ｅｔ≧Ｅｍｉｎ)である場合、または、操作中（Ｆｏｐ＝１）の場合には、状態は「動的状態Ｓ１」に留まり続ける。  
ここでｎは状態遷移のためのカウンタであり、「動的状態Ｓ１」に留まっている間では、ｎ＝０である。
【００６４】
距離変化量が閾値以下(Ｅｔ＜Ｅｍｉｎ)となり、かつ、操作が行われていない（Ｆｏｐ＝０）場合に、状態は「動的状態Ｓ１」から「待機状態Ｓ２」に遷移する。距離変化量が閾値未満である場合には、状態は「待機状態Ｓ２」に留まり続け、カウンタｎは増加していく。「待機状態Ｓ２」の間に距離変化量が閾値以上となった場合には、状態は「動的状態Ｓ１」に遷移し、カウンタｎは０にリセットされる。
【００６５】
カウンタｎが増加しｎ＞Ｎとなった場合、状態は「待機状態Ｓ２」から「静止状態Ｓ３」に遷移する。この時、判定部１３１は、Ｆｕｐｄａｔｅ＝１とし、基準距離の更新を行うと判定する。距離変化量が閾値未満である場合には、状態は「静止状態Ｓ３」に留まり続け、距離変化量が閾値以上の場合には、状態は「動的状態Ｓ１」に遷移する。いずれの場合にも、Ｆｕｐｄａｔｅ＝０とする。
【００６６】
以上より、変化情報判定部１３６は、距離情報の時間変化量が小さくかつ操作が行われていない状態が一定期間連続した場合に基準距離Ｄ０（ｘ，ｙ）の更新条件（第３の条件）が満たされたと判定する。
【００６７】
図１２は、実施形態にかかる情報処理方法を表すフローチャート図である。  
図１２に表したフローチャート図において、操作情報の判定（ステップＳ２０７：操作の有無の判定）と、距離変動の静止判定（ステップＳ２１１）と、形状情報の判定（ステップＳ２１５：第１の条件の判定）と、に関しては、互いの順序は、図１２に例示された順序には限定されない。なお、操作状態の判定（ステップＳ２０７）と距離変動の静止判定（ステップＳ２１１）とに比べて、形状情報の判定（ステップＳ２１５）は、計算コストが高い。そのため、距離変動の静止判定（ステップＳ２１１）の処理を行った後に、静止状態であると判断された場合に形状情報を算出し判定すると、計算コストを低減することができる。
【００６８】
図１２に表したフローチャート図を参照しつつ説明すると、まず、ステップＳ２０１〜ステップＳ２０７の動作は、図９に関して前述したステップＳ１０１〜ステップＳ１０７の動作と同様である。
【００６９】
続いて、操作状態が操作中ではないと操作情報判定部１３６ａが判定した場合には（ステップＳ２０７：「操作中でない」）、距離時間変動判定部１３６ｂは、距離情報の時間変化量を算出する（ステップＳ２０９）。一方で、操作状態が操作中であると操作情報判定部１３６ａが判定した場合には（ステップＳ２０７：「操作中」）、動作を終了するか否かの判定が実行される（ステップＳ２１９）。
【００７０】
続いて、距離時間変動判定部１３６ｂは、距離変動（距離変化）の静止判定を行う（ステップＳ２１１）。状態が「静止状態Ｓ３」であると距離時間変動判定部１３６ｂが判定した場合には（ステップＳ２１１：「静止」）、形状情報判定部１３５は、第２形状情報を算出する（ステップＳ２１３）。一方で、状態が「動的状態Ｓ１」であると距離時間変動判定部１３６ｂが判定した場合には（ステップＳ２１１：「動的」）、動作を終了するか否かの判定が実行される（ステップＳ２１９）。
【００７１】
続いて、ステップＳ２１５〜ステップＳ２１９の動作は、図９に関して前述したステップＳ１１１〜ステップＳ１１５の動作と同様である。
【００７２】
（第３の実施形態）
図１３は、実施形態にかかる情報処理装置を表すブロック図である。  
本実施形態は、任意の物体表面へ映像を歪みなく表示するために映像を変形し、表示された映像への操作を検出する情報処理装置に関する。
【００７３】
本実施形態にかかる情報処理装置１００ａは、第１および２の実施形態にかかる情報処理装置１００と比較して、映像変換部１５０をさらに備える。本実施形態では、情報処理装置１００ａが、周辺装置として、距離センサ２００と、制御装置３００と、映像入力部４００と、表示装置５００と、に接続されているものとして説明する。実施形態において、これらの周辺装置は、必要に応じて設けられる。
【００７４】
以下、本実施形態について説明する。簡便のために、第１の実施形態および第２の実施形態と同様の動作をする部分に関しては説明を省き、動作の異なる部分について説明する。
【００７５】
図１４〜図１６は、第３の実施形態に係る情報処理装置の使用状態の一例を例示する模式的斜視図である。  
図１４に表したように、本実施形態では、情報処理装置１００ａと、距離センサ２００と、制御装置３００と、映像入力部４００と、表示装置５００と、が一つの筐体１０に含まれているとして説明する。但し、実施形態は、これに限らない。実施形態において、情報処理装置１００ａ、制御装置３００及び映像入力部４００のそれぞれは、互いに離れた場所に配置されていてもよい。
【００７６】
例えば図１５に表したように、情報処理装置１００ａと、距離センサ２００と、制御装置３００と、映像入力部４００と、が一つの筐体１０に含まれていてもよい。例えば、筐体１０は、表示装置５００に固定されていてもよい。
【００７７】
情報処理装置１００ａとして、ＬＳＩやＩＣなどを用いることができる。情報処理装置１００ａは、映像入力部４００及び表示装置５００などを含むプロジェクタに内蔵されてもよい。実施形態は、情報処理装置１００ａと表示装置５００とを含む映像投影装置（プロジェクタ）であってもよい。  
情報処理装置１００ａは、プロジェクタとは別に設けられても良い。情報処理装置１００ａとして、専用又は汎用のプロセッサを用いても良い。情報処理装置１００ａとして、制御装置３００（例えばコンピュータ）に含まれるプロセッサなどを用いてもよい。情報処理装置１００ａの各機能ブロックの一部が、プロジェクタに集積回路として組み込まれてもよい。情報処理装置１００ａの各機能ブロックの一部として、個別のプロセッサを用いてもよい。  
以下、表示装置５００をプロジェクタとして説明する。
【００７８】
図１４に示す様に、表示装置５００は、任意の物体表面に対して、映像変換部１５０によって変換された映像を投影する。物体２１または２２は、映像が投影される投影面（例えば面Ａ１またはＡ２）を含む。投影範囲Ｄ１は、投影面に投影された映像の範囲を表す。距離センサ２００は、投影面の少なくとも一部までの距離を測定する。第２距離情報ｄ（ｘ，ｙ，ｔ）は、距離センサ２００と、投影面の少なくとも一部と、の間の距離に基づく。
【００７９】
図１６は、筐体１０の位置姿勢が変化した状態を示す。筐体１０の位置姿勢の変化に伴い、投影範囲Ｄ１は、投影範囲Ｄ２のように変化する。これにより、例えば、投影像が歪んでしまう場合がある。
【００８０】
映像変換部１５０は、記憶部１４０が保持する基準距離Ｄ０（ｘ，ｙ）に基づいて投影対象である物体表面の形状を求める。映像変換部１５０は、物体表面の形状に基づいて投影時に発生する歪みを予め推測し、歪みを除去するように映像を変換する。映像変換部１５０は、距離センサ２００が取得する距離情報ではなく、基準距離Ｄ０（ｘ，ｙ）を用いることで、操作による距離変化を無視し、物体表面の位置・形状変化に対応した歪みを除去することができる。
【００８１】
投影像の歪みを除去するような変形については、Ｔｗｏ−Ｐａｓｓ  Ｒｅｎｄｅｒｉｎｇを用いて実施することができる。Ｔｗｏ−Ｐａｓｓ  Ｒｅｎｄｅｒｉｎｇでは、投影像を観察する視点の位置を予め定め、その視点において歪みのない映像を観察できるように投影像を変形する。まず、予め定めた視点位置に仮想的にプロジェクタを設置し、実際のプロジェクタの位置で投影像を観測したときの映像を生成する。プロジェクタの画角や解像度などの内部情報と、投影面の形状（物体表面の形状）と、が既知であれば生成が可能である。生成された画像は、逆歪みをかけた画像と見なすことができるため、生成された画像を実際のプロジェクタから投影すれば、予め定めた視点位置では歪みが除去された映像が観測される。
【００８２】
投影面の形状は、距離センサ２００が取得する距離情報に基づいて算出される。しかし、距離センサ２００は、時々刻々と距離情報を取得する。そのため、映像変換部１５０が時々刻々と取得される距離情報に基づいて映像変換結果を更新すると、指示体Ｃによる距離の変化によっても映像の形状が変わってしまう。具体的には、操作の為に手を近づけた際に、手の動きに合わせて映像変換結果が変わってしまう。これにより、画質が影響を受ける。また、ボタン等を押すタッチ操作を想定した場合には、手の動きに合わせてボタンの表示位置が移動してしまう。そのため、操作が阻害される。
【００８３】
これに対して、本実施形態では、映像変換部１５０は、基準距離Ｄ０（ｘ，ｙ）に基づいて投影面の形状を算出する。これにより、操作中に映像が変化することを抑えることができる。
【００８４】
投影面が平面である場合には、単純な台形歪みが発生するため、Ｔｗｏ−Ｐａｓｓ  Ｒｅｎｄｅｒｉｎｇを用いずとも、既存の台形補正により歪みを除去できる。投影面の形状が分かっているため、台形補正に必要なパラメータは簡単に求めることができる。例えば基準距離に基づいて投影面の法線を計算することにより、プロジェクタと投影面との相対的な角度が分かるため、この角度に応じて台形補正を行う。
【００８５】
操作検出部１２０は、第１の実施形態および第２の実施形態と同様に、基準距離Ｄ０（ｘ，ｙ）と第２距離情報ｄ（ｘ，ｙ，ｔ）とに基づいて操作を検出する。本実施形態では、操作検出部１２０は、投影された映像に合わせて座標を変換し制御装置３００に送信する。例えば、投影された映像に対するタッチ操作を検出することで、投影像をタッチディスプレイにように操作することができる。
【００８６】
座標の変換を行うためには、例えば、距離センサ２００の座標系で取得された操作の座標を３次元点に復元した後、３次元点をプロジェクタの座標系に射影する。これらの変換には、距離センサ２００およびプロジェクタの画角等を表す内部パラメータと、距離センサ２００とプロジェクタとの間の位置姿勢の差を表す外部パラメータと、が必要になる。これらのパラメータ（内部パラメータおよび外部パラメータ）は、プロジェクタと距離センサ２００とが固定されていれば不変である。そのため、これらのパラメータを予め一度校正しておけば良い。また、座標の変換方法はこれに限らず、如何なる方法を用いても良い。
【００８７】
操作検出部１２０が参照する基準距離は、映像変換部１５０が参照する基準距離とは異なっていてもよい。例えば、第１距離情報は、第１基準距離と、第２基準距離と、を含む。操作検出部１２０は、第１基準距離に基づいて指示体Ｃによる操作を検出する。映像変換部１５０は、第２基準距離に基づいて映像を変換する。更新部１３０は、第１期間に第１基準距離を更新し、第１期間とは異なる第２期間に第２基準距離を更新する。
【００８８】
本実施形態によれば、任意の物体表面へ映像を歪みなく表示するために映像を変換し、表示された映像への操作を検出することができる。また、指示体による操作時に、投影像が不要に変化してしまうことを抑えることができる。これにより、本実施形態にかかる情報処理装置１００ａは、操作の検出の安定性を向上させることができる。言い換えれば、本実施形態にかかる情報処理装置１００ａは、より安定した操作をユーザに提供することができる。
【００８９】
（第４の実施形態）
図１７は、実施形態にかかる情報処理装置を表すブロック図である。  
本実施形態は、任意の物体表面へ映像を歪みなく表示するために映像を変形し、表示された映像への操作を検出する情報処理装置に関する。
【００９０】
本実施形態にかかる情報処理装置１００ｂでは、第１〜３の実施形態にかかる情報処理装置１００、１００ａと比較して、記憶部１４０が判定部１３１の判定結果をさらに記憶する。更新部１３０は、記憶部１４０が保持する判定結果を更新する。
【００９１】
基準距離の更新条件が著しく満たされない場合には、更新部１３０が基準距離を更新しないだけではなく、操作検出部１２０が操作の検出を停止したり、あるいは映像変換部１５０が映像の変換を停止することで、誤動作を防いだ方が良い場合がある。そこで、本実施形態では、操作検出部１２０および映像変換部１５０のそれぞれは、記憶部１４０が保持する判定結果に基づいて処理を停止するか否かを判断する機能をさらに有する。例えば、操作検出部１２０は、記憶部１４０が保持する判定結果に基づいて指示体Ｃによる操作の検出の状態を切り替える。例えば、映像変換部１５０は、記憶部１４０が保持する判定結果に基づいて映像の変換の状態を切り替える。
【００９２】
例えば、記憶部１４０が保持する判定結果が比較的長い時間にわたって更新に適さない状態であった場合には、操作検出部１２０および映像変換部１５０のそれぞれは、処理を停止することで誤作動を防ぐことができる。また、操作検出部１２０および映像変換部１５０のそれぞれが処理を停止したことは、映像等でユーザに通知されてもよい。
【００９３】
（第５の実施形態）
図１８は、実施形態にかかる情報処理装置を表すブロック図である。  
図１９は、実施形態の更新部を表すブロック図である。  
本実施形態は、任意の物体表面へ映像を歪みなく表示するために映像を変形し、表示された映像への操作を検出する情報処理装置に関する。
【００９４】
本実施形態にかかる情報処理装置１００ｃは、第１〜４の実施形態にかかる情報処理装置１００、１００ａ、１００ｂと比較して、可視カメラ６００と、加速度センサ７００と、をさらに備える。本実施形態では、情報処理装置１００ｃが可視カメラ６００および加速度センサ７００の両方を含むものとして説明する。但し、本実施形態にかかる情報処理装置１００ｃは、可視カメラ６００および加速度センサ７００のいずれか一方を備えていてもよい。
【００９５】
本実施形態の更新部１３０ｂは、第１〜４の実施形態の更新部１３０、１３０ａと比較して、登録物体判定部１３７と、可視光情報判定部１３８と、加速度判定部１３９と、をさらに備える。本実施形態では、更新部１３０ｂが登録物体判定部１３７と、可視光情報判定部１３８と、加速度判定部１３９と、の全てを含むものとして説明する。但し、本実施形態の更新部１３０ｂは、可視光情報判定部１３８と、加速度判定部１３９と、の少なくともいずれかを有していてもよい。
【００９６】
登録物体判定部１３７は、手や指、指示棒、電子ペン等の特定の指示体Ｃを検出し、指示体Ｃが検出されているか否かに応じて基準距離を更新するか否かの判定を行う。検出方法は、第２距離情報を用いる方法でもよいし、可視カメラ６００の情報（可視画像）を用いる方法でも良い。例えば、登録物体判定部１３７は、第２距離情報から取得される形状の情報と、あらかじめ登録した指示体Ｃの形状の情報と、の類似度により検出しても良い。また、登録物体判定部１３７は、可視カメラ６００の情報に基づいて輝度・色に関する情報を用いて検出しても良い。また、指示体Ｃに特定のマーカを付けることが許される場合には、登録物体判定部１３７は、マーカを検出しても良い。
【００９７】
可視光情報判定部１３８は、物体表面における可視光に関する情報、すなわち物体表面の色や明るさに基づいて基準距離を更新するか否かの判定を行う。例えば、可視光情報判定部１３８は、物体表面の明るさが一定の明るさ以上である場合に、基準距離を更新する。あるいは、可視光情報判定部１３８は、物体表面の彩度が一定の彩度以下の場合に、基準距離を更新する。
【００９８】
加速度判定部１３９は、加速度センサ７００の値（加速度情報）に基づいて基準距離を更新するか否かの判定を行う。例えば、筐体１０が動いた場合には、加速度センサ７００が反応する。そのため、加速度センサ７００の値が所定の閾値よりも高い状態では、基準距離の更新の条件が満たされず、加速度センサ７００の値が所定の閾値以下になった場合に、基準距離の更新の条件が満たされるようにすればよい。ただし、加速度判定部１３９は、投影面の位置の変化を検出することはできない。そのため、図１０に関して前述した距離時間変動判定部１３６ｂと、加速度判定部１３９と、を併用することがより好ましい。
【００９９】
本実施形態によれば、センサ類を追加することで、よりロバストに基準距離の更新の判定を行うことができる。
【０１００】
（第６の実施形態）  
本実施形態では、実施形態にかかる情報処理装置がコンピュータ上のプログラムによって実現される場合について説明する。簡便のため、第３の実施形態にかかる情報処理装置１００ａと同様の動作をするものとして説明する。
【０１０１】
図２０は、実施形態に係る情報処理装置の使用状態の一例を例示する模式的斜視図である。  
この例では、コンピュータＥは、距離センサ２００及び表示装置５００と接続されている。本実施形態では、表示装置５００にはプロジェクタを用いる。コンピュータＥは、プロセッサ３１と、記憶装置３２と、を有する。記憶装置３２には、ハードディスク等が用いられるが、ＣＤ、ＤＶＤまたはフラッシュメモリなどの記憶媒体を用いてもよい。例えば記憶装置３２に、情報処理装置１００ａを実行するためのプログラムが記憶されている。例えば、プログラムは、記憶媒体またはネットワークを介して取得され、コンピュータＥに適宜インストールされる。プロセッサ３１によってプログラムが実行され、情報処理装置１００ａにおける処理が実行される。例えば、記憶装置３２は、距離情報を保持するためのバッファとしても用いられる。
【０１０２】
本実施形態においては、距離情報は、距離センサ２００からコンピュータＥに入力され、情報処理装置１００ａに渡される。入力される映像は、コンピュータＥが保持している画像ファイルや動画ファイルなどである。コンピュータＥのデスクトップ画面を入力としてもよい。操作検出部１２０が検出した操作情報は、コンピュータＥ上のオペレーティングシステム（ＯＳ）に出力され、クリックやタップ、フリック、拡大縮小などのイベントが発行される。変換後の映像は、表示装置５００に送られ、投影される。
【０１０３】
本実施形態では、距離センサ、プロジェクタ及びコンピュータを組み合わせることによって、情報処理装置を実現できるため、専用のハードウェアを必要とせず、導入コストを小さくできるメリットがある。
【０１０４】
実施形態によれば、指示体による操作を検出する情報処理装置において、基準距離をより好適に更新することができる情報処理装置を提供できる。そのため、検出の安定性を向上させた情報処理装置を提供できる。
【０１０５】
以上、具体例を参照しつつ、本発明の実施の形態について説明した。しかし、本発明の実施形態は、これらの具体例に限定されるものではない。例えば、距離情報取得部、操作検出部、更新部、記憶部、基準距離、距離情報、指示体、映像変換部、距離センサ及び表示装置などの各要素の具体的な構成に関しては、当業者が公知の範囲から適宜選択することにより本発明を同様に実施し、同様の効果を得ることができる限り、本発明の範囲に包含される。  
また、各具体例のいずれか２つ以上の要素を技術的に可能な範囲で組み合わせたものも、本発明の要旨を包含する限り本発明の範囲に含まれる。
【０１０６】
その他、本発明の実施の形態として上述した情報処理装置、映像投影装置及びプログラムを基にして、当業者が適宜設計変更して実施し得る全ての情報処理装置、映像投影装置及びプログラムも、本発明の要旨を包含する限り、本発明の範囲に属する。
【０１０７】
その他、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。
【０１０８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０９】
１０ 筐体、  ２１、２２ 物体、  ３１ プロセッサ、  ３２ 記憶装置、  １００、１００ａ、１００ｂ、１００ｃ 情報処理装置、  １１０ 距離情報取得部、  １２０ 操作検出部、  １３０、１３０ａ、１３０ｂ 更新部、  １３１ 判定部、  １３２ 基準距離算出部、  １３５ 形状情報判定部、  １３６ 変化情報判定部、  １３６ａ 操作情報判定部、  １３６ｂ 距離時間変動判定部、  １３７ 登録物体判定部、  １３８ 可視光情報判定部、  １３９ 加速度判定部、  １４０ 記憶部、  １５０ 映像変換部、  ２００ 距離センサ、  ３００ 制御装置、  ４００ 映像入力部、  ５００ 表示装置、  ６００ 可視カメラ、  ７００ 加速度センサ
【図１】
2016099742.tif 000006
【図２】
2016099742.tif 000007
【図３】
2016099742.tif 000008
【図４】
2016099742.tif 000009
【図５】
2016099742.tif 000010
【図６】
2016099742.tif 000011
【図７】
2016099742.tif 000012
【図８】
2016099742.tif 000013
【図９】
2016099742.tif 000014
【図１０】
2016099742.tif 000015
【図１１】
2016099742.tif 000016
【図１２】
2016099742.tif 000017
【図１３】
2016099742.tif 000018
【図１４】
2016099742.tif 000019
【図１５】
2016099742.tif 000020
【図１６】
2016099742.tif 000021
【図１７】
2016099742.tif 000022
【図１８】
2016099742.tif 000023
【図１９】
2016099742.tif 000024
【図２０】
2016099742.tif 000025