(57)【要約】      （修正有）【課題】対象物またはユーザの入力を検出して、実物体に映像が重畳されるまでの遅延による位置ずれを低減することでユーザビリティの低下を改善した情報処理装置を提供する。【解決手段】投影システム１において、情報処理装置は、重畳される対象物である実物体に対して映像を表示した映像の１フレーム内で実際に生じた遅延の量を示す遅延情報に基づいて、遅延による位置ずれが低減されるように前記実物体に対して次のフレーム内で投影する映像の描画を制御する。【選択図】図６
2020042592.tif 000002
【特許請求の範囲】
【請求項１】
実物体に対して映像を表示した結果に基づく遅延情報に応じて、前記実物体に対して表示する映像の描画を制御する制御部を備える情報処理装置。
【請求項２】
前記制御部は、前記実物体と前記映像とが撮像された撮像画像に基づいて、前記遅延情報を計測する請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、前記実物体と第１の映像とが撮像された第１の撮像画像と、前記実物体と前記第１の映像とは異なる第２の映像とが撮像された第２の撮像画像とに基づいて、前記遅延情報を計測する請求項１に記載の情報処理装置。
【請求項４】
前記制御部は、前記第１の撮像画像に映り込んだ前記実物体の第１の像と前記第１の撮像画像に映り込んだ前記第１の映像の第２の像との第１の距離を特定し、前記第１の像と、前記第２の撮像画像に映り込んだ前記実物体の第２の像とに基づいて、前記実物体に対して表示された映像が前記第１の映像から前記第２の映像に切り替えられる間に前記実物体が移動する第２の距離を特定し、前記第１の距離と前記第２の距離とに基づいて、前記遅延情報を算出する請求項３に記載の情報処理装置。
【請求項５】
前記実物体と前記映像とが撮像された前記撮像画像を取得する遅延計測用カメラをさらに備える請求項２に記載の情報処理装置。
【請求項６】
前記制御部は、前記実物体の移動開始又は移動停止から前記実物体に前記映像が表示されるまでの時間差に基づいて前記遅延情報を計測する請求項１に記載の情報処理装置。
【請求項７】
前記実物体に設けられ、前記実物体の移動開始又は移動停止を検出する第１センサと、
前記実物体に前記映像が表示されたことを検出する第２センサと、
前記第１センサが前記実物体の移動開始又は移動停止を検出してから、前記第２センサが前記実物体に前記映像が表示されたことを検出するまでの経過時間を計測する計測部と、
をさらに備え、
前記制御部は、前記計測部で計測された前記経過時間を前記遅延情報とする
請求項６に記載の情報処理装置。
【請求項８】
前記第１センサは、ＩＭＵ（Inertial Measurement Unit）センサであり、
前記第２センサは、光センサである
請求項７に記載の情報処理装置。
【請求項９】
前記実物体の位置を検出する検出部をさらに備え、
前記制御部は、前記検出部で検出された前記実物体の位置と、前記遅延情報とに基づいて、次以降のフレームにおいて前記実物体に重畳する映像を描画する位置を制御する
請求項１に記載の情報処理装置。
【請求項１０】
前記制御部は、前記検出部で検出された前記実物体の位置と、前記遅延情報とに基づいて、次以降のフレームにおいて前記実物体に重畳する映像を描画する位置を予測し、予測した前記位置に前記次以降のフレームの前記映像を描画する
請求項９に記載の情報処理装置。
【請求項１１】
前記検出部は、前記実物体を撮像する撮像部を備え、
前記制御部は、前記撮像部で取得された画像に基づいて前記実物体の位置を検出する
請求項１０に記載の情報処理装置。
【請求項１２】
前記検出部は、
前記実物体に設けられた特定波長の光を反射する反射マーカと、
前記実物体に前記特定波長の光を投射する光源と、
をさらに備え、
前記撮像部は、前記反射マーカで反射された前記特定波長の光を検出する
請求項１１に記載の情報処理装置。
【請求項１３】
前記特定波長の光は、赤外光である請求項１２に記載の情報処理装置。
【請求項１４】
前記制御部で描画された映像を出力する出力部をさらに備える請求項１に記載の情報処理装置。
【請求項１５】
前記制御部で描画された映像を出力する出力部をさらに備え、
前記遅延計測用カメラが撮像画像を取得する第１フレームレートは、前記出力部が映像を出力する第２フレームレートと同等か、もしくは、それ以上である
請求項５に記載の情報処理装置。
【請求項１６】
前記第１フレームレートは、前記第２フレームレートの倍数である請求項１５に記載の情報処理装置。
【請求項１７】
前記出力部は、プロジェクタ又はディスプレイである請求項１４に記載の情報処理装置。
【請求項１８】
前記出力部を複数備え、
前記制御部は、前記複数の出力部それぞれが前記実物体に対して表示した映像の表示位置と前記実物体の位置とに基づいて、前記複数の出力部それぞれが出力する映像の描画を制御する
請求項１４に記載の情報処理装置。
【請求項１９】
実物体に対して映像を表示した結果に基づく遅延情報に応じて、前記実物体に対して表示する映像の描画を制御する描画制御方法。
【請求項２０】
実物体に対して映像を表示した結果に基づく遅延情報に応じて、前記実物体に対して表示する映像の描画を制御するステップをコンピュータに実行させるためのプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、描画制御方法及びそのプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
近年、指やペンを用いて入力可能なタッチパネルやペン型デバイスで入力することが可能なインタラクティブなプロジェクタが製品化されている。また、現実世界に仮想物体を重畳することが可能なメガネ型拡張現実（Augmented Reality：ＡＲ）デバイスの製品化や研究も盛んに行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１５１６１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
これらのような、実物体に映像を重畳するデバイスでは、対象物またはユーザの入力を検出して映像が重畳されるまでの処理時間が遅延として現れる。遅延が大きすぎると重畳位置のずれが顕著になり、その結果、体験価値が損なわれてユーザビリティが低下してしまう。
【０００５】
そこで本開示では、遅延によるユーザビリティの低下を改善することが可能な情報処理装置、描画制御方法及びそのプログラムを記録した記録媒体を提案する。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本開示に係る一形態の情報処理装置は、実物体に対して映像を表示した結果に基づく遅延情報に応じて、前記実物体に対して表示する映像の描画を制御する制御部を備える。
【０００７】
（作用）本開示に係る一形態の情報処理装置によれば、１フレームで実際に生じた遅延の量を示す遅延情報に基づいて、次のフレームで投影する映像の描画が制御される。これにより、システム構成の変更やアプリケーションの処理時間の変化などで遅延情報が変わった場合でも、動的に予測量を変更して遅延情報を補償することが可能となる。その結果、次フレームで投影された映像と実物体との位置ずれが低減されるため、遅延によるユーザビリティの低下を改善することが可能となる。
【発明の効果】
【０００８】
本開示によれば、遅延によるユーザビリティの低下を改善することが可能となる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載された何れかの効果であってもよい。
【図面の簡単な説明】
【０００９】
【図１】実物体に映像を重畳するための一連の処理の流れを示すタイミングチャートである。
【図２】撮像に要する時間が増加したことにより遅延時間が変化した場合を例示する図である。
【図３】認識に要する時間が増加したことにより遅延時間が変化した場合を例示する図である。
【図４】描画に要する時間が増加したことにより遅延時間が変化した場合を例示する図である。
【図５】第１の実施形態に係る投影システムの概略構成例を示す模式図である。
【図６】第１の実施形態に係る投影システムの概略構成例を示す機能ブロック図である。
【図７】第１の実施形態に係る投影システムが実行する投影動作の概略例を示すフローチャートである。
【図８】第１の実施形態に係る投影システムが実行する総遅延時間計測動作の概略例を示すフローチャートである。
【図９】第１の実施形態に係る対象物の位置を「検出」する際の処理の流れの例を示す図である。
【図１０】第１の実施形態に係る予測点を算出する際の処理の流れの例を示す図である。
【図１１】第１の実施形態に係る総遅延時間を計測する流れを示す図である。
【図１２】第１の実施形態に係る総遅延時間が反映されるタイミングの一例を説明するための図である。
【図１３】第１の実施形態に係る総遅延時間が反映されるタイミングの他の一例を説明するための図である。
【図１４】第２の実施形態に係る投影システムの概略構成例を示す図である。
【図１５】第２の実施形態に係る投影システムの概略構成例を示す機能ブロック図である。
【図１６】第２の実施形態に係る総遅延時間計測動作の概略例を示すフローチャートである。
【図１７】第２の実施形態に係る総遅延時間の計測の流れを説明するための図である。
【図１８】第１又は第２の実施形態に係る出力装置の変形例の動作例を示すシーケンス図である。
【図１９】第１の実施形態に係る投影システムをＡＲグラスに適用した場合を例示する模式図である。
【図２０】第２の実施形態に係る投影システムをヘッドマウントディスプレイ型のＶＲデバイスに適用した場合を例示する模式図である。
【図２１】ディスプレイ上に載置された対象物に対して映像を表示する構成に対して第１又は第２の実施形態を応用した場合を例示する模式図である。
【図２２】第１又は第２の実施形態をインタラクティブプロジェクタに対して適用した場合を例示する模式図である。
【図２３】第１又は第２の実施形態に係る情報処理装置のハードウエア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下に、本開示の一実施形態について図面に基づいて詳細に説明する。なお、以下の実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
【００１１】
また、以下に示す項目順序に従って本開示を説明する。
１．はじめに
２．第１の実施形態
２．１  投影システムの概略構成例
２．２  投影システムの動作例
２．２．１  投影動作
２．２．２  総遅延時間計測動作
２．２．２．１  対象物位置検出処理
２．２．２．２  予測点算出処理
２．２．２．３  総遅延時間の計測
２．２．２．４  予測量の算出
２．３  予測量設定値の反映タイミング
３．第２の実施形態
３．１  投影システムの概略構成例
３．２  投影システムの動作例
３．２．１  総遅延時間計測動作
３．２．１．１  総遅延時間の計測
３．３  作用・効果
４．変形例
４．１  予測量算出に関する変形例
４．２  対象物位置検出に関する変形例
４．３  出力装置に関する変形例
５．応用例
５．１  ＡＲグラス
５．２  ＶＲ（virtual reality）デバイス／ビデオシースルーデバイス
５．３  ディスプレイ
５．４  インタラクティブプロジェクタ
５．５  その他の応用例
６．ハードウエア構成
【００１２】
１．はじめに
図１は、実物体に画像や動画像（以下、映像という）を重畳するための一連の処理の流れを示すタイミングチャートである。図１に示すように、実物体に映像を重畳するための一連には、実物体の「撮像」Ｓ１、撮像画像の解析による実物体の「認識」Ｓ２、重畳する映像の「描画」Ｓ３、及び、描画した映像の「出力」Ｓ４といった一連の処理を、１フレーム中に行なう必要がある。しかしながら、「撮像」Ｓ１から「出力」Ｓ４までの間に生じる遅延時間などの遅延の量を示す遅延情報には、撮像デバイスや投影機器若しくはディスプレイが変更されたり、アプリケーション実行時の処理負荷が変わったりすることで、ばらつきが生じ得る。図２〜図４は、「撮像」から「出力」までの遅延時間が変化する例を示す。なお、図２は、撮像Ｓ１に要する時間が増加した場合（撮像Ｓ１’）を示し、図３は、認識Ｓ２に要する時間が増加した場合（認識Ｓ２’）を示し、図４は、描画Ｓ３に要する時間が増加した場合（描画Ｓ３’）を示している。
【００１３】
このように、遅延情報が変化する要因には、（１）撮像時間の変化（図２参照）、（２）認識処理時間の変化（図３参照）、（３）描画処理時間の変化（図４参照）、（４）出力時間の変化などが存在する。そして、それぞれの変化が生じる要因としては、以下の項目を例示することができる。
（１）撮像時間が変化する要因
・撮像デバイスの変更
・カメラフレームレートの変更
・露光時間やシャッタースピードの変更
（２）認識処理時間が変化する要因
・対象物の検出／追跡数が増加したことによる認識に要する処理コスト（以下、認識コストという）の増加
（３）描画処理時間が変化する要因
・描画するＣＧ（Computer Graphics）オブジェクトの数が増加したことによる描画に要する処理コスト（以下、描画コストという）の増加
（４）出力時間が変化する要因
・プロジェクタを内部処理による遅延が異なるプロジェクタに変更（例えば、低画質や低解像度のプロジェクタから高画質や超解像度のプロジェクタに変更した場合）
・リフレッシュレートの異なるプロジェクタやディスプレイに変更（例えば、フレームレートが６０Ｈｚ（ヘルツ）（表示間隔＝１６．７ｍｓ）のプロジェクタからフレームレートが１２０Ｈｚ（表示間隔＝８．３ｍｓ）のプロジェクタに変更した場合）
【００１４】
上記のように、「撮像」Ｓ１、「認識」Ｓ２、「描画」Ｓ３及び「出力」Ｓ４それぞれの要素において、遅延情報が変化する要因が考えられる。このような状況において、遅延情報を固定数値として「描画」Ｓ３を実行した場合、重畳位置のずれ（以下、単に位置ずれという）を解消するための予測量（例えば、予測する時間）が足りずに実物体の位置よりも後に映像が表示されたり、もしくは、予測量が大きすぎて実物体の位置より先に映像が表示されたりしてしまうケースが発生する。
【００１５】
そこで以下の実施形態では、「撮像」Ｓ１〜「出力」Ｓ４までに生じる遅延（以降、総遅延と称する）を計測する仕組みをシステムに導入し、総遅延時間などの遅延情報から動的に予測量を変更する。これにより、遅延情報が変わるようなケースにおいても、遅延によるユーザビリティの低下を改善することが可能となる。
【００１６】
２．第１の実施形態
まず、第１の実施形態について、図面を参照して詳細に説明する。
２．１  投影システムの概略構成例
図５は、本実施形態に係る投影システムの概略構成例を示す模式図である。図６は、本実施形態に係る投影システムの概略構成例を示す機能ブロック図である。
【００１７】
図５及び図６に示すように、投影システム１は、情報処理装置１０と、センサ２０と、出力装置（出力部）３０とを備える。また、投影システム１は、その他にも、映像を投影する対象の実物体（以下、対象物という）を「認識」するための構成の一部として、対象物４０に設けられた再帰性反射マーカ４２とを備える。すなわち、赤外投光器（光源）３３と、再帰性反射マーカ４２と、赤外カメラ（撮像部）２２とは、対象物４０の位置を検出する検出部として機能する。
【００１８】
センサ２０は、対象物４０を認識してその位置を検出するための赤外カメラ２２と、遅延計測用カメラ２１とを備える。本実施形態では、赤外カメラ２２として、可視光がカットされ赤外光のみ観測可能なカメラを用いるが、対象物４０を色や撮像画像中の特徴から認識する場合には、カラーカメラやグレースケールカメラなどが用いられてもよい。
【００１９】
遅延計測用カメラ２１は、対象物４０と映像との位置ずれから遅延情報としての総遅延時間を計測するためのカメラであり、例えば可視光領域の画像を取得する可視光カメラなどであってよい。また、遅延計測用カメラ２１のフレームレートは、例えば、赤外カメラ２２や後述するプロジェクタ３１のフレームレートと同等か、もしくは、それ以上のフレームレートであってよい。その際、遅延計測用カメラ２１のフレームレートを、プロジェクタ３１のフレームレートの倍数（１倍を含む）とすることで、プロジェクタ３１が映像の出力を開始又は完了したタイミングから遅延計測用カメラ２１が当該出力された映像の撮像を開始又は完了するまでの時間差を実質的に一定とすることが可能となるため、後述する総遅延時間の計測精度を高めることが可能となる。なお、本説明では、「撮像」Ｓ１から「出力」Ｓ４までの間に生じる遅延の量を示す遅延情報として、総遅延時間を用いた場合を例示するが、遅延情報には、時間情報に限定されず、距離情報やカウント値など、遅延を数値などの処理可能な情報で表した種々の情報を用いることが可能である。
【００２０】
出力装置３０は、映像を投射するためのプロジェクタ３１と、対象物４０に特定波長の光（本実施形態では例として赤外光）を投光する赤外投光器３３とを備える。また、出力装置３０には、効果音などを出力するためのスピーカ３２などが含まれてもよい。
【００２１】
プロジェクタ３１は、１台である必要はなく、複数台であってもよい。本実施形態では、スピーカ３２として、一般的なスピーカを想定するが、指向性の高い超音波スピーカなどが用いられてもよい。また、本実施形態では、固定投影型のプロジェクタを想定するが、駆動や移動機構を出力装置３０に設け、プロジェクタ３１が任意の方向や場所へ映像を投影できるように構成されてもよい。
【００２２】
さらに、本実施形態では、プロジェクタ３１に代えて、若しくは、プロジェクタ３１と共に、ディスプレイなどの表示デバイスが用いられてもよい。ディスプレイを用いる場合、ディスプレイ上に置かれた対象物４０を検出し、その位置の周囲にビジュアル表現やエフェクトを表示するようなケースが考えられる。すなわち、本説明における「映像の重畳」には、対象物４０に映像を投影（投射又は投写ともいう）することだけでなく、対象物４０と対応する位置やその周囲に映像を表示することも含まれる。
【００２３】
本実施形態において、対象物４０は、例えば、テーブル５０上を滑動可能な実物体である。対象物４０の具体例としては、遊戯機のエアホッケーにおけるパックなどを挙げることができる。ただし、これに限定されず、平面上又は空間中を移動可能なあらゆる実物体を対象物４０とすることが可能である。また、プロジェクタ３１が移動可能である場合には、固定された物体を対象物４０とすることも可能である。すなわち、映像を投影する装置との位置関係が変化し得る種々の実物体を対象物４０とすることが可能である。
【００２４】
対象物４０には、その位置を検出するための再帰性反射マーカ４２が固定される。再帰性反射マーカ４２は、赤外投光器３３から投光された特定波長の光（本例では赤外光）を反射する。なお、本実施形態では、対象物４０の位置を検出するために、赤外投光器３３から投光されて再帰性反射マーカ４２で反射された赤外光を検出しているが、対象物４０に特定波長の光を発する発光部（例えば、赤外ＬＥＤ（Light Emitting Diode））を搭載してもよい。若しくは、赤外カメラ２２の代わりにカラーカメラを用いる場合には、カラーカメラを用いて対象物４０に設けられた色マーカを抽出したり、撮像した画像から得られる対象物４０の特徴を抽出したりすることでも、対象物４０の位置を検出することが可能である。
【００２５】
情報処理装置１０は、例えば、パーソナルコンピュータ（ＰＣ）など、ＣＰＵ（Central Processing Unit）などの情報処理部を制御部として備えた情報処理装置であってよい。ただし、これに限定されず、サーバ（クラウドサーバを含む）など、情報処理が可能な種々の電子機器を用いることができる。
【００２６】
情報処理装置１０は、センサ２０から入力された情報に基づくことで、対象物４０に投写する映像や音のデータを生成し、生成した映像データや音データを出力装置３０へ出力する。
【００２７】
そこで情報処理装置１０は、図６に示すように、総遅延時間計測部１１と、予測量決定部１２と、予測量記憶部１３と、対象物位置検出部１４と、対象物位置予測部１５と、映像データ生成部１６と、音データ生成部１７と、インタフェース（Ｉ／Ｆ）部１８とを備える。総遅延時間計測部１１、予測量決定部１２、予測量記憶部１３、対象物位置検出部１４、対象物位置予測部１５、映像データ生成部１６及び音データ生成部１７のうち少なくとも一部は、例えば、情報処理装置１０におけるＣＰＵ（制御部）が不図示の記録部から所定のプログラムを読み出して実行することで実現されてもよい。
【００２８】
総遅延時間計測部１１は、遅延計測用カメラ２１から得られる画像から計測開始イベント及び計測終了イベントの発火を行い、その際の画像から総遅延時間を計測する。なお、計測開始イベント及び計測終了イベントについては、後述において触れる。
【００２９】
予測量決定部１２は、総遅延時間計測部１１による総遅延時間の計測が成功したときに、その総遅延時間から予測量を算出する。そして、予測量決定部１２は、算出した予測量で、予測量記憶部１３に格納されている予測量設定値を更新する。
【００３０】
なお、予測量及び予測量設定値とは、未来の予測時間（ｍｓｅｃ）を表すものであり、対象物４０と投影画像との位置ずれを低減するための時間情報であって、計測した総遅延時間が反映された値である。例えば、位置ずれの有無に関わらず予測量設定値をゼロとした場合、次フレームでは、現フレームまでに検出された対象物４０の位置に基づいて、次フレームにおける対象物４０の位置が予測される。したがって、次フレームにおいて、この予測された位置に対して対象物４０に重畳する映像を「描画」して「出力」した場合、対象物４０と映像とには、１フレームの「撮像」〜「出力」までに生じる総遅延時間に相当する位置ずれが発生する。なお、１フレームとは、「撮像」〜「出力」までの期間又は時間を示している。そこで、予測量設定値には、次フレームの「描画」において対象物４０に重畳する映像を描画する位置（すなわち、対象物４０の予測位置）を決定する際に、対象物４０と投影した映像との位置ずれを低減する時間情報が、総遅延時間に基づいて決定される。例えば、現フレームにおいて、映像が対象物４０に対して遅れた位置に投影されている場合には、予測量設定値には、さらに先の位置に映像を投影するために、その際に位置ずれの量に応じた正の時間情報が設定される。一方、現フレームにおいて、映像が対象物４０に対して進んだ位置に投影されている場合には、予測量設定値には、映像の投影位置を遅らせるために、その際に位置ずれの量に応じた負の時間情報が設定される。
【００３１】
対象物位置検出部１４は、赤外カメラ２２で撮像された画像から対象物４０における再帰性反射マーカ４２の位置を座標として検出する。そして対象物位置検出部１４は、検出した座標を赤外カメラ２２の座標系（以下、カメラ座標系という）からプロジェクタ３１の座標系（以下、プロジェクタ表示座標系という）へ射影行列を用いて変換する。
【００３２】
予測量記憶部１３は、例えば、予測量決定部１２で算出された最新の予測量を予測量設定値として記憶する。また、予測量記憶部１３は、対象物位置検出部１４で過去に検出された対象物４０の座標の履歴（以下、検出履歴という）を記憶する。
【００３３】
対象物位置予測部１５は、今回検出された対象物４０の位置（座標）と、過去に検出された対象物４０の位置（座標）の履歴（検出履歴）とを用いて、対象物４０の未来の位置（以下、予測点という）を予測する。その際、対象物位置予測部１５は、予測量記憶部１３に記憶されている最新の予測量設定値を参照して、予測点を算出する。なお、予測点とは、例えば、次以降のフレームにおいて対象物４０に重畳する映像を「描画」する位置であってよい。
【００３４】
予測点が算出された後、投影される映像の映像データや音データは、それぞれ映像データ生成部１６及び音データ生成部１７にて生成される。生成された映像データや音データは、Ｉ／Ｆ部１８を介して、プロジェクタ３１やスピーカ３２へ送信されて出力される。
【００３５】
２．２  投影システムの動作例
次に、本実施形態に係る投影システム１の動作について、図面を参照して詳細に説明する。
２．２．１  投影動作
図７は、本実施形態に係る投影システムが実行する投影動作の概略例を示すフローチャートである。図７に示すように、本動作では、まず、対象物４０の位置を検出するために、赤外投光器３３による赤外光の投光と、赤外カメラ２２による「撮像」とが実行される（ステップＳ１１０）。これにより得られた画像は、情報処理装置１０へ送られ、Ｉ／Ｆ部１８を介して対象物位置検出部１４に入力される。
【００３６】
次に、対象物４０の「認識」に相当するステップＳ１２１〜Ｓ１２３が実行される。ステップＳ１２１では、対象物位置検出部１４は、入力された画像を解析することで、画像中に含まれる対象物４０の位置を検出する対象物位置検出処理を実行する。具体的には、対象物位置検出部１４は、画像中の再帰性反射マーカ４２の像の検出を実行する。
【００３７】
対象物位置検出部１４が対象物４０の位置検出に失敗した場合（ステップＳ１２２のＮＯ）、本動作がステップＳ１１０へリターンする。一方、対象物位置検出部１４が対象物４０の位置検出に成功した場合（ステップＳ１２２のＹＥＳ）、次に、対象物位置予測部１５が、対象物位置検出部１４による今回の検出結果と、過去に検出された対象物４０の位置（座標）の履歴（検出履歴）と、予測量記憶部１３に記憶されている最新の予測量設定値とを用いて、未来の予測点（例えば、次の投影タイミングでの対象物４０の位置）を算出する予測点算出処理を実行する（ステップＳ１２３）。なお、過去に実行した対象物位置検出処理の結果とは、例えば、直前の所定回数（例えば、３回など）分の対象物位置検出処理の結果などであってよい。
【００３８】
このように、未来の予測点を算出すると、次に、映像データ生成部１６が、次にプロジェクタ３１から対象物４０へ投影する映像のデータ（映像データ）を「描画」する（ステップＳ１３０）。その際、必要に応じて、音データ生成部１７が、スピーカ３２から出力する音のデータ（音データ）を生成してもよい。
【００３９】
次に、映像データ生成部１６で生成された映像データがプロジェクタ３１へ送信され、プロジェクタ３１が映像データを再生して「出力」することで、映像が対象物４０へ投影される（ステップＳ１４０）。
【００４０】
その後、本動作を終了するか否かが判断され（ステップＳ１５０）、終了する場合（ステップＳ１５０のＹＥＳ）、本動作を終了する。一方、終了しない場合（ステップＳ１５０のＮＯ）、本動作がステップＳ１１０へリターンする。
【００４１】
２．２．２  総遅延時間計測動作
次に、本実施形態に係る総遅延時間計測動作について、図面を参照して詳細に説明する。図８は、本実施形態に係る投影システムが実行する総遅延時間計測動作の概略例を示すフローチャートである。図８に示すように、本動作では、まず、総遅延時間計測部１１が、総遅延時間の計測を開始するイベント（以下、計測開始イベントという）が発火するまで待機し（ステップＳ２０１のＮＯ）、計測開始イベントが発火した場合（ステップＳ２０１のＹＥＳ）、総遅延時間の計測を開始する（ステップＳ２０２）。その際、総遅延時間計測部１１は、例えば、ソフトウエア又はハードウエアによる、例えば、クロックをカウントするカウンタなどの不図示の計測部等を用いて、総遅延時間の計測を開始してからの経過時間を計測する。なお、計測開始イベントは、例えば、総遅延時間の計測を開始していないことを条件に、遅延計測用カメラ２１で取得された画像を解析することで検出されたプロジェクタ３１から投影された映像の投影位置が前回の画像解析により検出された投影位置から変化している場合などであってよい。
【００４２】
次に、総遅延時間計測部１１は、総遅延時間の計測開始から一定時間（例えば、５０ｍｓ（ミリ秒））以上経過したか否かを判定し（ステップＳ２０３）、一定時間以上経過した場合（ステップＳ２０３のＹＥＳ）、総遅延時間の計測に失敗したと判断して、不図示の計測部で計測されている計測時間をリセットし（ステップＳ２０４）、ステップＳ２０９へ進む。
【００４３】
一方、一定時間が未だ経過していない場合（ステップＳ２０３のＮＯ）、総遅延時間計測部１１は、総遅延時間の計測を終了するイベント（以下、計測終了イベントという）が発火したか否かを判定する（ステップＳ２０５）。計測終了イベントが発火していない場合（ステップＳ２０５のＮＯ）、総遅延時間計測部１１は、ステップＳ２０３へリターンし、以降の動作を実行する。なお、計測終了イベントは、例えば、総遅延時間の計測を開始していることを条件に、遅延計測用カメラ２１で取得された画像を解析することで検出されたプロジェクタ３１から投影された映像の投影位置が前回の画像解析により検出された投影位置から変化している場合などであってよい。
【００４４】
計測終了イベントが発火していた場合（ステップＳ２０５のＹＥＳ）、総遅延時間計測部１１は、総遅延時間の計測を終了する（ステップＳ２０６）。つづいて、総遅延時間計測部１１は、計測開始イベントが発火したと判断した際の画像と、計測終了イベントが発火したと判断した際の画像とから、総遅延時間を算出する（ステップＳ２０７）。なお、ステップＳ２０２〜Ｓ２０７による総遅延時間の計測については、後述において詳細に説明する。
【００４５】
このようにして総遅延時間が計測されると、次に、予測量決定部１２が、計測された総遅延時間から予測量を算出する（ステップＳ２０８）。つづいて、予測量決定部１２は、算出した予測量で予測量記憶部１３内の予測量設定値を更新する（ステップＳ２０９）。これにより、予測量記憶部１３内の予測量設定値が、最新の値に更新される。
【００４６】
その後、ステップＳ２１０において、本動作を終了するか否かが判断され、終了する場合（ステップＳ２１０のＹＥＳ）、本動作が終了する。一方、終了しない場合（ステップＳ２１０のＮＯ）、ステップＳ２０１へリターンし、以降の動作が実行される。
【００４７】
２．２．２．１  対象物位置検出処理
ここで、図７のステップＳ１２１に示す対象物位置検出処理について説明する。対象物４０の位置の検出には、例えば、現フレームの画像を「認識」することで対象物４０の位置を特定する「検出」と、前フレームで特定された対象物４０の位置に基づいて現フレームの画像を「認識」することで対象物４０の位置を特定する「追跡」とが存在する。
【００４８】
より具体的には、「検出」では、例えば、赤外カメラ２２で撮影された画像中に写り込んだ再帰性反射マーカ４２の像に相当する輝点の位置を特定し、その座標を対象物４０の座標とする。
【００４９】
図９に、対象物４０の位置を「検出」する際の処理の流れの例を示す。図９に示すように、対象物４０の位置の「検出」では、まず、可視光をカットして赤外光の像を観測することで得られた画像Ｇ１が赤外カメラ２２から入力される（ステップＳ１６１）。この画像Ｇ１では、例えば、略グレースケールで再帰性反射マーカ４２の像に相当する輝点Ｋ１が表現されている。対象物位置検出部１４は、入力された画像Ｇ１に対し、予め設定しておいた閾値を用いて２値化処理を行う（ステップＳ１６２）。これにより、例えば、再帰性反射マーカ４２に相当する領域Ｋ２の各ピクセルがビット値‘１’を持ち、それ以外の領域のピクセルがビット値‘０’を持つ２値画像Ｇ２が得られる。つづいて、対象物位置検出部１４は、２値画像Ｇ２から、領域Ｋ２の輪郭Ｋ３を抽出し（ステップＳ１６３）、その後、抽出した輪郭Ｋ３から再帰性反射マーカ４２に相当する領域の重心座標Ｋ４を算出し、算出された重心座標Ｋ４を対象物４０の位置とする（ステップＳ１６４）。
【００５０】
なお、上記では、グレースケールの画像Ｇ１を用いる場合を例示したが、これに限定されない。上述したように、例えば、赤外カメラ２２の代わりにカラーカメラを用いる場合には、カラーカメラを用いて対象物４０に設けられた色マーカを検出したり、カラーカメラで撮像した画像中のエッジや特徴量から対象物４０の特徴を捉えてその位置を検出したりなど、種々変形されてよい。
【００５１】
一方、「追跡」では、図９におけるステップＳ１６３において輪郭Ｋ３を抽出する際に、前フレームの画像で検出した対象物４０の重心座標Ｋ４に基づき、現フレームの２値画像Ｇ２における上記重心座標Ｋ４の近傍領域を探索することで、再帰性反射マーカ４２の像に相当する輝点Ｋ１を検出する。または、数回分の重心座標Ｋ４の履歴から動きベクトルを算出し、そのベクトル方向に沿って現フレームの２値画像Ｇ２を探索することで、再帰性反射マーカ４２の像に相当する輝点Ｋ１を検出する。その後、図９と同様に、検出された輝点Ｋ１から再帰性反射マーカ４２に相当する領域Ｋ２の輪郭Ｋ３を抽出し（ステップＳ１６３）、その後、抽出した輪郭Ｋ３から再帰性反射マーカ４２に相当する領域Ｋ２の重心座標をＫ４算出し、算出された重心座標Ｋ４を対象物４０の位置とする（ステップＳ１６４）。
【００５２】
２．２．２．２  予測点算出処理
次に、図９のステップＳ１２３に示す予測点算出処理について説明する。予測点算出処理では、上述したように、今回検出された対象物４０の位置（座標）と、過去に検出された対象物４０の位置（座標）の履歴（検出履歴）と、予測量記憶部１３に記憶されている最新の予測量設定値とから、予測点が算出される。図１０に、予測点を算出する際の処理の流れの例を示す。なお、図１０では、対象物位置検出部１４により検出された対象物４０の座標の履歴（検出履歴）から加速度ａ（図１０では、加速度ａ１〜ａ３）の変化を予測点に反映することで、ｎ（ｎは自然数）フレーム先の対象物４０の位置（図１０では、タイミングｔ＋１での位置Ｑ）を予測点として算出する場合が例示されている。この場合、ｎ個の予測点を得ることができる。なお、図１０において、ΔＴは１フレーム分の時間を示し、ΔＶ０〜ΔＶ２は、各フレームでの対象物４０の移動速度（ベクトル又はスカラー）を示している。
【００５３】
上述したように、予測量設定値ｐは、未来の予測時間（ｍｓｅｃ）を表している。そのため、予測点の算出では、何点目まで予測するかを決定する必要がある。ここで、赤外カメラ２２の撮像フレームレートをＦ（ｆｐｓ：frame per second）とすると、ｎ’点先を予測した際の予測時間ｐ’（ｍｓｅｃ）は、以下の式（１）で算出される。
【数１】
2020042592.tif 000003
【００５４】
そこで本実施形態では、ｎ’を１から１ずつインクリメントし、初めてｐ’が予測量設定値ｐを超えたときの値をｎフレーム先の予測点Ｑｎとする。
【００５５】
２．２．２．３  総遅延時間の計測
次に、図８のステップＳ２０２〜Ｓ２０７に示す総遅延時間の計測について説明する。上述したように、遅延計測用カメラ２１は、対象物４０と、プロジェクタ３１から投影された映像とを１つの画像として撮像する。本実施形態では、この撮像により得られた画像に含まれる対象物４０の像と、投影された映像の像とを検出し、その位置ずれから総遅延時間を算出する。図１１に、総遅延時間を計測する流れを示す。
【００５６】
図１１に示すように、総遅延時間の計測では、まず、遅延計測用カメラ２１が取得した画像Ｇ１１を解析することで、プロジェクタ３１から投影された映像の投影位置が前回の画像解析により検出された投影位置から変化しているか否かを判定し、変化している場合、この画像Ｇ１１を取得したタイミング（これをタイミングｔ＝ｔ１とする）を計測開始イベントの発火タイミングとする。このように、投影された映像の表示位置が変更されたことを計測開始イベントの発火タイミングとすることは、プロジェクタ３１のリフレッシュレートが６０Ｈｚである場合を例に取ると、約１６．７ｍｓｅｃ毎に映像の投影位置が更新されており、投影継続中のタイミング、すなわち投影位置を変更したタイミングとは異なるタイミングを計測開始イベントの発火タイミングとすると、プロジェクタ３１による投影開始から遅延計測用カメラ２１による撮像までの間に対象物４０が移動して、正確な総遅延時間を計測することができないためである。
【００５７】
つづいて、画像Ｇ１１の解析結果から、対象物４０の像Ｚ１１の位置と、表示された映像の像Ｚ１２の位置との距離ｄｉｓｔＡを特定する。この距離ｄｉｓｔＡの単位は、例えばピクセルであってよい。
【００５８】
次に、遅延計測用カメラ２１が取得した画像Ｇ１２を解析することで、プロジェクタ３１から投影された映像の投影位置が前回の画像解析により検出された投影位置から変化しているか否かを判定し、変化している場合、この画像Ｇ１２を取得したタイミング（これをタイミングｔ＝ｔ２とする）を計測終了イベントの発火タイミングとする。
【００５９】
そして、画像Ｇ１２における対象物４０の像Ｚ２１の位置と、画像Ｇ１１における対象物４０の像Ｚ１１の位置とから、タイミングｔ１からタイミングｔ２までに対象物４０が移動した距離ｄｉｓｔＢを特定する。なお、図１１における像Ｚ２２は、タイミングｔ２で遅延計測用カメラ２１により取得された画像Ｇ１２における表示された映像の像の位置である。
【００６０】
ここで、距離ｄｉｓｔＡは、総遅延時間に相当する距離を示し、距離ｄｉｓｔＢは、プロジェクタ３１が投影している映像を１回更新する間、すなわち１フレーム中に、対象物４０が移動する距離を示している。したがって、距離ｄｉｓｔＡと距離ｄｉｓｔＢとから、総遅延時間Ｄは、以下の式（２）で求めることができる。なお、式（２）において、Ｒは、プロジェクタのリフレッシュレート（Ｈｚ）を示している。
【数２】
2020042592.tif 000004
【００６１】
なお、図１１では、対象物４０の位置に対してプロジェクタ３１による映像の投影位置が遅れている場合を例示したが、逆に、対象物４０の進行方向に対して対象物４０よりも先に映像が投影されている場合は、予測量設定値が大きすぎるケースを意味する。この場合は、式（２）で算出された総遅延時間Ｄの正負を反転して負の値とすればよい。
【００６２】
本実施形態に係る投影システム１では、遅延計測用カメラ２１によりプロジェクタ３１の表示更新毎に総遅延時間を計測することが可能である。ただし、遅延計測用カメラ２１の撮像間隔やプロジェクタ３１の表示更新間隔にはジッタが生じる場合が多い。そこで、総遅延時間Ｄは過去に実行した対象物位置検出処理で得られた検出履歴から対象物４０の座標の平均を算出してもよいし、今回の対象物位置検出処理で得られた対象物４０の座標が検出履歴又はその平均値から大きく外れた値である場合は除外してもよい。
【００６３】
２．２．２．４  予測量の算出
次に、図８のステップＳ２０８における予測量の算出について説明する。予測量は、以上のようにして算出された総遅延時間Ｄを用いることで算出することができる。具体的には、更新前の予測量設定値をｐｃｕｒｒとし、更新後の最新の予測量設定値をｐｎｅｗとすると、最新の予測量設定値ｐｎｅｗは、以下の式（３）で求めることができる。
【数３】
2020042592.tif 000005
【００６４】
このようにして更新された最新の予測量設定値ｐｎｅｗを用いて予測点Ｑの算出を行うことで、総遅延時間Ｄが変化した場合でも、正しい予測量設定値ｐｎｅｗを用いて遅延を補償することが可能となる。ただし、このような場合でも、予測量設定値ｐｎｅｗが大きすぎる場合には、オーバーシュートなどの予測のはずれが顕著に表れる可能性がある。そこで、そのような場合には、予測量設定値ｐｎｅｗに上限を設け、予測量設定値ｐｎｅｗが上限を超えた場合には、その予測量設定値ｐｎｅｗを破棄してもよい。
【００６５】
２．３  予測量設定値の反映タイミング
以上のようにして算出された予測量設定値ｐｎｅｗは、この予測量設定値ｐｎｅｗが算出された次のフレームにおける「認識」を実行するタイミング（例えば、図９のステップＳ１２３を実行するタイミング）となる。
【００６６】
図１２は、本実施形態に係る総遅延時間が反映されるタイミングの一例を説明するための図である。なお、図１２には、情報処理装置１０における映像描画のフレームレートが、プロジェクタ３１における映像出力のフレームレートの約２倍であり、プロジェクタ３１が垂直同期信号Ｖｓｙｎｃ待ちの状態から「出力」を完了するまでの間に、情報処理装置１０が「撮像」から「描画」までをもう一度実行する場合が示されている。また、図１２には、垂直同期信号Ｖｓｙｎｃがオフの状態でのシーケンスが示されている。そのため、図１２では、「撮像」、「認識」及び「描画」が垂直同期信号Ｖｓｙｎｃのタイミングとは無関係に繰り返し実行され、垂直同期信号Ｖｓｙｎｃのタイミングでその時点で描画済みの映像が「出力」されている。
【００６７】
このような場合、図１２に例示するように、ｎ−１フレームで算出された予測量設定値ｐｎｅｗが、次のｎフレームにおける「認識」を実行するタイミングで反映される。同様に、ｎフレームで算出された予測量設定値ｐｎｅｗは、次のｎ＋１フレームにおける「認識」を実行するタイミングで反映される。
【００６８】
また、図１３は、本実施形態に係る総遅延時間が反映されるタイミングの他の一例を説明するための図である。なお、図１３には、図１２と同様のシーケンスにおいて、例えば、「描画」により長い処理時間が必要となる場合が例示されている。
【００６９】
このような場合、図１３に例示するように、「撮像」から「出力」までに要する時間にフレーム毎のばらつきが生じている。これは、垂直同期信号Ｖｓｙｎｃ待ち期間による影響があるためである。そのような場合、上述したように、総遅延時間の平均を算出して用いることで、プロジェクタ３１からの投影映像と対象物４０との位置ずれを低減することが可能となる。
【００７０】
２．４  作用・効果
以上のように、本実施形態によれば、「撮像」から「出力」までの総遅延時間などの遅延情報を計測し、計測された遅延情報に基づいて、対象物４０と投影映像との位置ずれを改善するための予測量設定値が更新され、次のフレームで投影する映像を「描画」する際に、更新された予測量設定値を用いて、次の投影タイミングにおける対象物４０の位置（予測点）が予測される。これにより、システム構成の変更やアプリケーションの処理時間の変化などで遅延情報が変わった場合でも、動的に予測量を変更して遅延情報を補償することが可能となる。その結果、次フレームで投影された映像と対象物４０との位置ずれが低減されるため、遅延によるユーザビリティの低下を改善することが可能となる。
【００７１】
３．第２の実施形態
次に、第２の実施形態について、図面を参照して詳細に説明する。第２の実施形態では、対象物４０自体に遅延情報を計測するための構成の一部を搭載する。なお、本実施形態においても、遅延情報として総遅延時間を用いた場合を例示する。
【００７２】
３．１  投影システムの概略構成例
図１４は、本実施形態に係る投影システムの概略構成例を示す図である。図１５は、本実施形態に係る投影システムの概略構成例を示す機能ブロック図である。
【００７３】
図１４及び図１５に示すように、投影システム２は、第１の実施形態において図５及び図６を用いて説明した投影システム１と同様の構成において、センサ２０における遅延計測用カメラ２１が省略され、対象物４０にマイクロコンピュータ（以下、マイコンという）２４１が追加された構成を備える。マイコン２４１には、光センサ（第２センサ）２４２と、ＩＭＵ（Inertial Measurement Unit）センサ（第１センサ）２４３と、計測部２４４とが組み込まれている。計測部２４４は、例えば、クロック信号などの一定周期の信号をカウントすることで経過時間を計測するカウンタなどであってよい。また、マイコン２４１は、不図示の通信部を備え、情報処理装置１０と無線又は有線にて通信可能に構成されている。情報処理装置１０とマイコン２４１とを接続するネットワークには、例えば、無線又は有線のＬＡＮ（Local Area Network）やＢｌｕｅｔｏｏｔｈ（登録商標）やアナログ方式又はデジタル方式の無線通信（光通信等を含む）など、種々のネットワークを用いることができる。
【００７４】
マイコン２４１は、情報処理装置１０との通信の他に、光センサ２４２、ＩＭＵセンサ２４３及び計測部２４４を制御する。光センサ２４２は、例えば、プロジェクタ３１から映像が投影されたことを検出する。ＩＭＵセンサ２４３は、例えば、対象物４０の移動開始や移動停止を検出する。計測部２４４は、例えば、ＩＭＵセンサ２４３で検出された対象物４０の移動開始や移動停止のタイミングから、光センサ２４２で検出されたプロジェクタ３１からの映像の投影タイミングまでの時間差を計測する。なお、計測部２４４は、ハードウエアとしてマイコン２４１に組み込まれた計測部であってもよいし、マイコン２４１がプログラムを実行することで組み込まれるソフトウエアによる計測部であってもよい。
【００７５】
マイコン２４１は、計測部２４４で計測された時間差を総遅延時間として情報処理装置１０へ送信する。その際、マイコン２４１は、カウンタなどの不図示の計測部で計測された現在時刻をタイムスタンプとして、情報処理装置１０へ送信する総遅延時間の情報に付加してもよい。
【００７６】
３．２  投影システムの動作例
次に、本実施形態に係る投影システム１の動作について、図面を参照して詳細に説明する。本実施形態に係る投影システム２が実行する投影動作は、例えば、第１の実施形態において図７を用いて説明した投影動作と同様であってよいため、ここでは詳細な説明を省略する。
【００７７】
３．２．１  総遅延時間計測動作
図１６は、本実施形態に係る総遅延時間計測動作の概略例を示すフローチャートである。図１６に示すように、本動作では、まず、マイコン２４１は、ＩＭＵセンサ２４３により対象物４０の移動開始又は移動停止が検出されるまで待機する（ステップＳ２２１のＮＯ）。すなわち、本実施形態では、対象物４０の移動開始又は移動停止が、第１の実施形態における計測開始イベントに相当する。
【００７８】
ＩＭＵセンサ２４３により対象物４０の移動開始又は移動停止が検出されると（ステップＳ２２１のＹＥＳ）、マイコン２４１は、ＩＭＵセンサ２４３により対象物４０の移動開始又は移動停止が検出されたタイミングからの経過時間（総遅延時間に相当。以下、総遅延時間とする）の計測を開始する（ステップＳ２２２）。総遅延時間の計測には、例えば、計測部２４４が用いられる。
【００７９】
次に、マイコン２４１は、総遅延時間の計測開始から一定時間（例えば、５０ｍｓ）以上経過したか否かを判定し（ステップＳ２２３）、一定時間以上経過した場合（ステップＳ２２３のＹＥＳ）、総遅延時間の計測に失敗したと判断して、不図示の計測部で計測されている計測時間をリセットし（ステップＳ２２４）、ステップＳ２２２８へ進む。
【００８０】
一方、一定時間が未だ経過していない場合（ステップＳ２２３のＮＯ）、マイコン２４１は、光センサ２４２によりプロジェクタ３１からの映像の投影が検出されたか否かを判定する（ステップＳ２２５）。すなわち、本実施形態では、プロジェクタ３１から映像が投影されたことが、第１の実施形態における計測終了イベントに相当する。
【００８１】
光センサ２４２によりプロジェクタ３１からの映像の投影が検出されていない場合（ステップＳ２２５のＮＯ）、マイコン２４１は、ステップＳ２２３へリターンし、以降の動作を実行する。
【００８２】
一方、光センサ２４２によりプロジェクタ３１からの映像の投影が検出された場合（ステップＳ２２５のＹＥＳ）、マイコン２４１は、計測部２４４による総遅延時間の計測を終了する（ステップＳ２２６）。そして、マイコン２４１は、計測部２４４により計測された総遅延時間の情報を、所定のネットワークを介して情報処理装置１０へ送信する（ステップＳ２２７）。
【００８３】
その後、マイコン２４１は、ステップＳ２２８において、本動作を終了するか否かを判断し、終了する場合（ステップＳ２２８のＹＥＳ）、本動作を終了する。一方、終了しない場合（ステップＳ２２８のＮＯ）、ステップＳ２２１へリターンし、以降の動作を実行する。
【００８４】
以上のようなマイコン２４１の動作に対し、情報処理装置１０は、例えば、図８におけるステップＳ２０８〜Ｓ２０９と同様の動作を実行することで、マイコン２４１から受信した総遅延時間から予測量を算出し（ステップＳ２０８）、つづいて、算出した予測量で予測量記憶部１３内の予測量設定値を更新する（ステップＳ２０９）。これにより、予測量記憶部１３内の予測量設定値が、最新の値に更新される。
【００８５】
３．２．１．１  総遅延時間の計測
次に、図１６のステップＳ２２２〜Ｓ２２６に示す総遅延時間の計測について説明する。図１７は、本実施形態に係る総遅延時間の計測の流れを説明するための図である。なお、図１７では、対象物４０の移動開始を計測開始イベントとした場合を例示する。
【００８６】
図１７に示すように、計測開始イベントが発火していない状態、すなわち対象物４０が停止している状態（タイミングｔ＝ｔ０）では、プロジェクタ３１が映像を投影しない状態にしておく。
【００８７】
次に、ＩＭＵセンサ２４３により対象物４０の移動開始が検出されると（タイミングｔ＝ｔ２）、計測開始イベントが発火したとして、計測部２４４による経過時間の計測が開始される。
【００８８】
その後、光センサ２４２によりプロジェクタ３１からの映像Ｍの投影が検出されると（タイミングｔ＝ｔ３）、計測終了イベントが発火したとして、計測部２４４による経過時間の計測が停止される。
【００８９】
このようにして計測された経過時間（時間差）は、総遅延時間として、マイコン２４１から情報処理装置１０へ送信される。その際、計測部２４４はリセットされる。
【００９０】
なお、マイコン２４１は、計測部２４４による計測を開始してから一定時間以上経過しても計測終了イベントが発火しない場合には、計測に失敗したと判断して、計測部２４４をリセットする。例えば、対象物４０の光センサ２４２がプロジェクタ３１から投影された映像の範囲から外れている場合には、マイコン２４１が計測終了イベントを発火できない。そこで、このような場合には、総遅延時間の計測に失敗したとして、計測部２４４をリセットするとよい。
【００９１】
３．３  作用・効果
以上のように、本実施形態によれば、「撮像」から「出力」までの総遅延時間を計測部２４４を用いて直接計測することが可能である。それにより、情報処理装置１０における総遅延時間計測部１１の処理負荷を軽減することが可能となる。その他の構成、動作及び効果は、上述した実施形態と同様であってよいため、ここでは詳細な説明を省略する。
【００９２】
なお、上述の説明では、対象物４０が移動を開始したタイミングを計測開始イベントの発火タイミングとしていたが、別途上述したように、対象物４０が移動を停止したタイミングを計測開始イベントの発火タイミングとすることも可能である。その場合、ＩＭＵセンサ２４３によって対象物４０が停止した時刻を図１７におけるタイミングｔ１（計測開始タイミング）とし、プロジェクタ３１から映像が投影されなくなったことを光センサ２４２で検出して、その時刻を図１７におけるタイミングｔ２（計測終了タイミング）とすることで、計測部２４４による総遅延時間を計測が可能となる。
【００９３】
４．変形例
つづいて、上述した実施形態の変形例について、以下にいくつか例を挙げて説明する。
【００９４】
４．１  予測量算出に関する変形例
上述したように、第１及び第２の実施形態では、総遅延時間を計測して予測量設定値を変更しているが、それと併用して別手段による予測量を推定したり、予測量の更新に制限を加えたりすることも可能である。
【００９５】
例えば、対象物４０の数が増加した場合、「認識」の処理負荷が増加するため、総遅延時間が増える可能性が高い。そこで、対象物４０の数が増加した場合には、「認識」の結果を受けて予測量を増加させてもよい。
【００９６】
同様に、アプリケーションの描画コストが高くなった場合、例えば描画するオブジェクトの数が多くなった場合、「描画」の処理負荷が増加するため、総遅延時間が増える可能性が高い。そこで、アプリケーションの描画コストが高くなった場合には、「描画」の結果を受けて予測量を増加させてもよい。
【００９７】
逆に、対象物４０の数が減少したり、アプリケーションの描画コストが低くなったりした場合には、「認識」や「描画」の結果を受けて予測量を減少させてもよい。
【００９８】
また、描画コストや認識コストと総遅延時間との対応関係を機械学習などで予め学習しておくことで、描画コストや認識コストから学習モデルに基づき総遅延時間を予測し、その結果に応じて予測量を更新してもよい。
【００９９】
さらに、プロジェクタ３１がバッテリーで動作する場合には、バッテリーの消費モードに応じて予測量を変化させてもよい。例えば、低消費モードでプロジェクタ３１のフレームレートが低減されている場合には、フレームレートの低減量に応じて予測量を増加させてもよい。
【０１００】
さらにまた、短時間で総遅延時間が大小に変化する量が大きい場合には、予測量に対して上限や下限を設定することで、極端に予測量が大きくなったり小さくなったりしないようにしてもよい。
【０１０１】
もしくは、総遅延時間が大きい場合には、アプリケーションの描画コストを下げるなど、「撮像」〜「出力」までの何れかの工程の処理コストを低減させてもよい。例えば、赤外カメラ２２やプロジェクタ３１の解像度を変更したり、描画するＣＧのメッシュ情報を削減したり、描画するＣＧオブジェクトを削減したりすることで、「撮像」〜「出力」までの何れかの工程の処理コストを低減させることが可能である。
【０１０２】
４．２  対象物位置検出に関する変形例
上述した第２の実施形態では、プロジェクタ３１が投影した可視光領域の映像を光センサ２４２で検出して計測終了イベントを発火させる場合を例示したが、これに限定されない。例えば、プロジェクタ３１の投影に同期して赤外光などの可視光以外の波長の光を投光する光源を用い、この光源から投光された光を光センサ２４２で検出して計測終了イベントを発火させるように構成することも可能である。
【０１０３】
また、プロジェクタ３１が投影した可視光領域の映像を光センサ２４２で検出して計測終了イベントを発火させる構成の代わりに、プロジェクタ３１の投影に同期してスピーカ３２から音を再生させ、この音をマイクロフォンで検出して計測終了イベントを発火させるように構成することも可能である。
【０１０４】
４．３  出力装置に関する変形例
また、上述した実施形態では、対象物４０に重畳する映像を投影する出力装置３０として１台のプロジェクタ３１を用いた場合を例示したが、対象物４０に重畳する映像を投影する出力装置３０は１台に限られない。例えば、複数台のプロジェクタ３１を用いて１つ以上の対象物４０に映像を投影してもよい（マルチプロジェクタ）。その場合、遅延計測用カメラ２１で取得された画像に基づいて計測した総遅延時間や予測量記憶部１３に記憶されている予測量設定値が、複数台のプロジェクタ３１で共有されてもよい。例えば、複数台のプロジェクタ３１のうち、マスタとするプロジェクタ３１を１台設定し、他のプロジェクタ３１に対しては、マスタとするプロジェクタ３１を用いて測定された総遅延時間や予測量設定値と同じ総遅延時間や予測量設定値を設定するように構成することもできる。
【０１０５】
また、第１の実施形態に係る投影システム１を複数組み合わせることでも、マルチプロジェクタを実現することができる。その場合、例えば、情報処理装置１０や遅延計測用カメラ２１が複数の投影システム１で共有されてもよい。情報処理装置１０は、共有された遅延計測用カメラ２１で取得された画像に基づいて、複数の投影システム１それぞれの総遅延時間を計測し、この総遅延時間に基づいて、投影システム１それぞれの予測量設定値をすることができる。
【０１０６】
図１８は、システムＡとシステムＢとの２つの投影システム１でマルチプロジェクタを実現した場合のシーケンス図である。図１８に示すように、情報処理装置１０は、システムＡとシステムＢとのそれぞれに対して総遅延時間を計測し、計測した総遅延時間をシステムＡ及びシステムＢそれぞれに反映する。
【０１０７】
５．応用例
つづいて、上述した実施形態の応用例について、以下にいくつか例を挙げて説明する。
【０１０８】
５．１  ＡＲグラス
上述した実施形態は、例えば、メガネ型デバイスにおけるレンズ部分に相当する透過型ディスプレイに映像を表示するＡＲグラスに応用することも可能である。
【０１０９】
図１９は、第１の実施形態に係る投影システムをＡＲグラスに適用した場合を例示する模式図である。図１９に示すように、ＡＲグラス５００では、例えば、例えばテンプル部分に遅延計測用カメラ２１が設置され、ブリッジ部分にカラーカメラ５２２が設置される。透過型ディスプレイ５０２は、第１の実施形態におけるプロジェクタ３１に相当する。情報処理装置１０は、ＡＲグラス５００に搭載されてもよいし、ＡＲグラス５００とは別体として設けられてもよい。情報処理装置１０とＡＲグラス５００とを別体とする場合には、ＡＲグラス５００と情報処理装置１０とは、無線又は有線にて通信可能に構成されている。情報処理装置１０とＡＲグラス５００とを接続するネットワークには、例えば、無線又は有線のＬＡＮやＢｌｕｅｔｏｏｔｈ（登録商標）やアナログ方式又はデジタル方式の無線通信（光通信等を含む）など、種々のネットワークを用いることができる。
【０１１０】
カラーカメラ５２２は、赤外投光器３３、赤外カメラ２２及び再帰性反射マーカ４２の代わりである。情報処理装置１０は、カラーカメラ５２２で撮像された画像から得られる対象物４０の特徴を捉えてその位置を検出する。ただし、カラーカメラ５２２の代わりに、赤外投光器３３及び赤外カメラ２２をＡＲグラス５００のブリッジ部分に設け、対象物４０に再帰性反射マーカ４２を設けた構成とすることも可能である。
【０１１１】
遅延計測用カメラ２１は、透過型ディスプレイ５０２越しの対象物４０と、透過型ディスプレイ５０２に表示された映像Ｍ５００との重畳結果を撮像する。情報処理装置１０は、第１の実施形態と同様に、遅延計測用カメラ２１が撮像した画像から総遅延時間を計測して予測量設定値を動的に更新する。なお、本応用例において、情報処理装置１０が予測する情報は、ＡＲグラス５００を身に着けているユーザの顔の移動や向きの変化である。
【０１１２】
なお、本説明では、第１の実施形態に係る投影システム１をＡＲグラス５００に応用した場合を例示したが、これに限定されず、第２の実施形態に係る投影システム２をＡＲグラス５００に応用することも可能である。
【０１１３】
５．２  ＶＲ（virtual reality）デバイス／ビデオシースルーデバイス
また、上述した実施形態は、例えば、ＶＲ用のヘッドマウントディスプレイや外界を撮影した映像に仮想物体を重畳するビデオシースルーデバイスに対しても応用することが可能である。
【０１１４】
図２０は、第２の実施形態に係る投影システムをヘッドマウントディスプレイ型のＶＲデバイスに適用した場合を例示する模式図である。図２０に示すように、ＶＲデバイス６００では、例えば、第２の実施形態におけるプロジェクタ３１に相当するディスプレイ６０２の近傍に光センサ２４２が設けられ、また、内部にＩＭＵセンサ２４３と計測部２４４とを備えるマイコン２４１が設けられる。情報処理装置１０は、ＶＲデバイス６００に搭載されてもよいし、ＶＲデバイス６００とは別体として設けられてもよい。情報処理装置１０とＶＲデバイス６００とを別体とする場合には、ＶＲデバイス６００と情報処理装置１０とは、無線又は有線にて通信可能に構成されている。情報処理装置１０とＶＲデバイス６００とを接続するネットワークには、例えば、無線又は有線のＬＡＮやＢｌｕｅｔｏｏｔｈ（登録商標）やアナログ方式又はデジタル方式の無線通信（光通信等を含む）など、種々のネットワークを用いることができる。
【０１１５】
このような構成において、第２の実施形態と同様に、マイコン２４１は、ＩＭＵセンサ２４３によってＶＲデバイス６００の移動開始又は停止（すなわち、ＶＲデバイス６００を装着するユーザの移動開始又は移動停止）を計測開始イベントとして検出すると、計測部２４４による総遅延時間の計測を開始する。そして、光センサ２４２によってディスプレイ６０２への映像の表示が検出されると、これを計測終了イベントとして、計測部２４４による総遅延時間の計測を終了する。それにより、ユーザが動き出してから映像が表示されるまでの総遅延時間を計測することが可能である。
【０１１６】
なお、本説明では、第２の実施形態に係る投影システム２をＶＲデバイス６００に応用した場合を例示したが、これに限定されず、第１の実施形態に係る投影システム１をＶＲデバイス６００に応用することも可能である。
【０１１７】
５．３  ディスプレイ
さらに、上述した実施形態は、例えば、ディスプレイ上に載置された対象物４０にエフェクトやテクスチャなどの映像を重畳するような構成に対しても応用することが可能である。
【０１１８】
図２１は、ディスプレイ上に載置された対象物に対して映像を表示する構成に対して上述した実施形態を応用した場合を例示する模式図である。図２１に示すように、本例では、プロジェクタ３１及びテーブル５０の代わりに、例えば、テーブル型のディスプレイ７０２が用いられる。ディスプレイ７０２上の対象物４０とディスプレイ７０２に表示した重畳画像Ｍ７００との位置ずれに相当する総遅延時間は、例えば、第１の実施形態と同様に、遅延計測用カメラ２１を用いて計測されてもよいし、第２の実施形態と同様に、対象物４０に光センサ２４２とＩＭＵセンサ２４３と計測部２４４とを備えるマイコン２４１を搭載することで計測されてもよい。
【０１１９】
５．４  インタラクティブプロジェクタ
また、上述した実施形態は、上記したディスプレイと同様に、図２２に例示するような、映像が投影された領域Ｍ８に、対象物４０であるペン型デバイス８４０で画像Ｍ８００等を入力することが可能なインタラクティブプロジェクタ８００に対しても応用することが可能である。
【０１２０】
５．５  その他の応用例
また、上述した実施形態は、その他にも、スマートホームのエージェントなど、映像を投影又は表示する出力装置（プロジェクタ３１等）との相対位置が変化する対象物４０に対して映像を重畳させる種々の電子機器に対して応用することが可能である。
【０１２１】
６．ハードウエア構成
上述してきた実施形態及びその変形例並びに応用例に係る情報処理装置１０は、例えば図２３に示すような構成のコンピュータ１０００によって実現され得る。図２３は、情報処理装置１０の機能を実現するコンピュータ１０００の一例を示すハードウエア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ（Read Only Memory）１３００、ＨＤＤ（Hard Disk Drive）１４００、通信インタフェース１５００、及び入出力インタフェース１６００を有する。コンピュータ１０００の各部は、バス１０５０によって接続される。
【０１２２】
ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムをＲＡＭ１２００に展開し、各種プログラムに対応した処理を実行する。
【０１２３】
ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるＢＩＯＳ（Basic Input Output System）等のブートプログラムや、コンピュータ１０００のハードウエアに依存するプログラム等を格納する。
【０１２４】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、ＨＤＤ１４００は、プログラムデータ１４５０の一例である本開示に係る投影制御プログラムを記録する記録媒体である。
【０１２５】
通信インタフェース１５００は、コンピュータ１０００が外部ネットワーク１５５０（例えばインターネット）と接続するためのインタフェースである。例えば、ＣＰＵ１１００は、通信インタフェース１５００を介して、他の機器からデータを受信したり、ＣＰＵ１１００が生成したデータを他の機器へ送信したりする。
【０１２６】
入出力インタフェース１６００は、上述したＩ／Ｆ部１８を含む構成であり、入出力デバイス１６５０とコンピュータ１０００とを接続するためのインタフェースである。例えば、ＣＰＵ１１００は、入出力インタフェース１６００を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、ＣＰＵ１１００は、入出力インタフェース１６００を介して、ディスプレイやスピーカやプリンタ等の出力デバイスにデータを送信する。また、入出力インタフェース１６００は、所定の記録媒体（メディア）に記録されたプログラム等を読み取るメディアインタフェースとして機能してもよい。メディアとは、例えばＤＶＤ（Digital Versatile Disc）、ＰＤ（Phase change rewritable Disk）等の光学記録媒体、ＭＯ（Magneto-Optical disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１２７】
例えば、コンピュータ１０００が上述の実施形態に係る情報処理装置１０として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、総遅延時間計測部１１、予測量決定部１２、予測量記憶部１３、対象物位置検出部１４、対象物位置予測部１５、映像データ生成部１６及び音データ生成部１７の機能を実現する。また、ＨＤＤ１４００には、本開示に係るプログラム等が格納される。なお、ＣＰＵ１１００は、プログラムデータ１４５０をＨＤＤ１４００から読み取って実行するが、他の例として、外部ネットワーク１５５０を介して、他の装置からこれらのプログラムを取得してもよい。
【０１２８】
以上、本開示の実施形態について説明したが、本開示の技術的範囲は、上述の各実施形態そのままに限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、異なる実施形態及び変形例にわたる構成要素を適宜組み合わせてもよい。
【０１２９】
また、本明細書に記載された各実施形態における効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
【０１３０】
なお、本技術は以下のような構成も取ることができる。
（１）
実物体に対して映像を表示した結果に基づく遅延情報に応じて前記実物体に対して表示する映像の描画を制御する制御部を備える情報処理装置。
（２）
前記制御部は、前記実物体と前記映像とが撮像された撮像画像に基づいて、前記遅延情報を計測する前記（１）に記載の情報処理装置。
（３）
前記制御部は、前記実物体と第１の映像とが撮像された第１の撮像画像と、前記実物体と前記第１の映像とは異なる第２の映像とが撮像された第２の撮像画像とに基づいて、前記遅延情報を計測する前記（１）又は（２）に記載の情報処理装置。
（４）
前記制御部は、前記第１の撮像画像に映り込んだ前記実物体の第１の像と前記第１の撮像画像に映り込んだ前記第１の映像の第２の像との第１の距離を特定し、前記第１の像と、前記第２の撮像画像に映り込んだ前記実物体の第２の像とに基づいて、前記実物体に対して表示された映像が前記第１の映像から前記第２の映像に切り替えられる間に前記実物体が移動する第２の距離を特定し、前記第１の距離と前記第２の距離とに基づいて、前記遅延情報を算出する前記（３）に記載の情報処理装置。
（５）
前記実物体と前記映像とが撮像された前記撮像画像を取得する遅延計測用カメラをさらに備える前記（２）〜（４）の何れか１項に記載の情報処理装置。
（６）
前記制御部は、前記実物体の移動開始又は移動停止から前記実物体に前記映像が表示されるまでの時間差に基づいて前記遅延情報を計測する前記（１）に記載の情報処理装置。
（７）
前記実物体に設けられ、前記実物体の移動開始又は移動停止を検出する第１センサと、
前記実物体に前記映像が表示されたことを検出する第２センサと、
前記第１センサが前記実物体の移動開始又は移動停止を検出してから、前記第２センサが前記実物体に前記映像が表示されたことを検出するまでの経過時間を計測する計測部と、
をさらに備え、
前記制御部は、前記計測部で計測された前記経過時間を前記遅延情報とする
前記（６）に記載の情報処理装置。
（８）
前記第１センサは、ＩＭＵ（Inertial Measurement Unit）センサであり、
前記第２センサは、光センサである
前記（７）に記載の情報処理装置。
（９）
前記実物体の位置を検出する検出部をさらに備え、
前記制御部は、前記検出部で検出された前記実物体の位置と、前記遅延情報とに基づいて、次以降のフレームにおいて前記実物体に重畳する映像を描画する位置を制御する
前記（１）〜（８）の何れか１項に記載の情報処理装置。
（１０）
前記制御部は、前記検出部で検出された前記実物体の位置と、前記遅延情報とに基づいて、次以降のフレームにおいて前記実物体に重畳する映像を描画する位置を予測し、予測した前記位置に前記次以降のフレームの前記映像を描画する
前記（９）に記載の情報処理装置。
（１１）
前記検出部は、前記実物体を撮像する撮像部を備え、
前記制御部は、前記撮像部で取得された画像に基づいて前記実物体の位置を検出する
前記（１０）に記載の情報処理装置。
（１２）
前記検出部は、
前記実物体に設けられた特定波長の光を反射する反射マーカと、
前記実物体に前記特定波長の光を投射する光源と、
をさらに備え、
前記撮像部は、前記反射マーカで反射された前記特定波長の光を検出する
前記（１１）に記載の情報処理装置。
（１３）
前記特定波長の光は、赤外光である前記（１２）に記載の情報処理装置。
（１４）
前記撮像部は、カラー画像を取得するカラーカメラ又はグレースケール画像を取得するグレースケールカメラであり、
前記制御部は、前記カラーカメラで取得されたカラー画像又は前記グレースケールカメラで取得されたグレースケール画像から色又は特徴を検出して前記実物体の位置を検出する
前記（１１）に記載の情報処理装置。
（１５）
前記制御部で描画された映像を出力する出力部をさらに備える前記（１）〜（１４）の何れか１項に記載の情報処理装置。
（１６）
前記制御部で描画された映像を出力する出力部をさらに備え、
前記遅延計測用カメラが撮像画像を取得する第１フレームレートは、前記出力部が映像を出力する第２フレームレートと同等か、もしくは、それ以上である
前記（５）に記載の情報処理装置。
（１７）
前記第１フレームレートは、前記第２フレームレートの倍数である前記（１６）に記載の情報処理装置。
（１８）
前記遅延情報は、前記実物体の位置の検出から前記実物体に対して前記映像を表示するまでの遅延情報である前記（１）〜（１７）の何れか１項に記載の情報処理装置。
（１９）
前記出力部は、プロジェクタ又はディスプレイである前記（１５）〜（１８）の何れか１項に記載の情報処理装置。
（２０）
ＡＲ（Augmented Reality）グラス、又は、ＶＲ（virtual reality）デバイスである前記（１）〜（１９）の何れか１項に記載の情報処理装置。
（２１）
前記出力部を複数備え、
前記制御部は、前記複数の出力部それぞれが前記実物体に対して表示した映像の表示位置と前記実物体の位置とに基づいて、前記複数の出力部それぞれが出力する映像の描画を制御する
前記（１５）〜（２０）の何れか１項に記載の情報処理装置。
（２２）
実物体に対して映像を表示した結果に基づく遅延情報に応じて前記実物体に対して表示する映像の描画を制御する描画制御方法。
（２３）
実物体に対して映像を表示した結果に基づく遅延情報に応じて前記実物体に対して表示する映像の描画を制御するステップをコンピュータに実行させるためのプログラムを記録した記録媒体。
【符号の説明】
【０１３１】
１、２  投影システム
１０  情報処理装置
１１  総遅延時間計測部
１２  予測量決定部
１３  予測量記憶部
１４  対象物位置検出部
１５  対象物位置予測部
１６  映像データ生成部
１７  音データ生成部
１８  インタフェース（Ｉ／Ｆ）部
２０  センサ
２１  遅延計測用カメラ
２２  赤外カメラ
３０  出力装置
３１  プロジェクタ
３２  スピーカ
３３  赤外投光器
４０  対象物
４２  再帰性反射マーカ
５０  テーブル
２４１  マイコン
２４２  光センサ
２４３  ＩＭＵセンサ
２４４  計測部
５００  ＡＲグラス
５０２  透過型ディスプレイ
５２２  カラーカメラ
６００  ＶＲデバイス
６０２、７０２  ディスプレイ
８００  インタラクティブプロジェクタ
【図１】
2020042592.tif 000006
【図２】
2020042592.tif 000007
【図３】
2020042592.tif 000008
【図４】
2020042592.tif 000009
【図５】
2020042592.tif 000010
【図６】
2020042592.tif 000011
【図７】
2020042592.tif 000012
【図８】
2020042592.tif 000013
【図９】
2020042592.tif 000014
【図１０】
2020042592.tif 000015
【図１１】
2020042592.tif 000016
【図１２】
2020042592.tif 000017
【図１３】
2020042592.tif 000018
【図１４】
2020042592.tif 000019
【図１５】
2020042592.tif 000020
【図１６】
2020042592.tif 000021
【図１７】
2020042592.tif 000022
【図１８】
2020042592.tif 000023
【図１９】
2020042592.tif 000024
【図２０】
2020042592.tif 000025
【図２１】
2020042592.tif 000026
【図２２】
2020042592.tif 000027
【図２３】
2020042592.tif 000028