(57)【特許請求の範囲】
【請求項１】
第１の現実風景を撮影して第１の現実画像を取得する第１の撮影部と、
投影装置により前記現実風景に投影された図形の画像を前記第１の現実画像から検出する第１の図形検出部と、
前記現実風景の前記第１の現実画像から特徴点をリアルタイムに検出する特徴点検出部と、
前記図形と前記第１の撮影部との第１の位置関係をもとに、前記現実風景に仮想情報を重畳して第１の表示部に表示させるために必要な第１のパラメータを生成し、前記第１の現実画像から前記図形が消失したとき、前記図形が最後に検出された時点での前記現実風景との第２の位置関係を保持しつつ前記仮想情報を表示し続けるように、前記特徴点検出部による検出結果をもとに前記第１のパラメータを生成する第１のパラメータ生成部と、
前記投影装置が投影する画像の光軸と前記現実風景内の投影対象面との角度を取得する角度取得部と、
前記投影対象面に前記投影装置より投影された図形が、あらかじめ決められた基準形状となるように、前記取得した角度をもとに前記投影装置により投影される図形に対して変形を付与する変形付与部とを有し、
前記第１のパラメータ生成部は、変形が付与された図形と前記第１の撮影部との第１の位置関係をもとに、前記パラメータを生成する
第１の情報処理装置と、
前記第１の現実風景を撮影して第２の現実画像を取得する第２の撮影部と、
前記投影装置により前記第１の現実風景に投影された前記変形が付与された図形の画像を前記第２の現実画像から検出する第２の図形検出部と、
前記変形が付与された図形と前記第２の撮影部との第３の位置関係をもとに、前記現実風景に仮想情報を重畳して第２の表示部に表示させるために必要な第２のパラメータを生成する第２のパラメータ生成部と
を有する第２の情報処理装置と
を具備する情報処理システム。
【請求項２】
第１の現実風景を撮影して第１の現実画像を取得する第１の撮影部と、
投影装置により前記現実風景に投影された図形の画像を前記第１の現実画像から検出す
る第１の図形検出部と、
前記現実風景の前記第１の現実画像から特徴点をリアルタイムに検出する特徴点検出部
と、
前記図形と前記第１の撮影部との第１の位置関係をもとに、前記現実風景に仮想情報を
重畳して第１の表示部に表示させるために必要な第１のパラメータを生成し、前記第１の
現実画像から前記図形が消失したとき、前記図形が最後に検出された時点での前記現実風
景との第２の位置関係を保持しつつ前記仮想情報を表示し続けるように、前記特徴点検出
部による検出結果をもとに前記第１のパラメータを生成する第１のパラメータ生成部と、
前記投影装置が投影する画像の光軸と前記現実風景内の投影対象面との角度を取得する
角度取得部と、
前記第１のパラメータを第２の情報処理装置に送信する送信部と
を有する第１の情報処理装置と、
前記第１の現実風景を撮影して第２の現実画像を取得する第２の撮影部と、
前記投影装置により前記第１の現実風景に投影された前記図形の画像を前記第２の現実
画像から検出する第２の図形検出部と、
前記図形と前記第２の撮影部との第３の位置関係をもとに、前記現実風景に仮想情報を
重畳して第２の表示部に表示させるために必要な第２のパラメータを生成する第２のパラ
メータ生成部と、
前記第１の情報処理装置より前記第１のパラメータを受信し、この受信した第１のパラ
メータを用いて前記第２のパラメータを補正する補正部と
を有する第２の情報処理装置と
を具備する情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、現実空間に対して画像を重畳して表示する情報処理システムに関する。
【背景技術】
【０００２】
現実空間の画像に、現実空間に対応する画像を付加する、拡張現実（Augmented Reality：ＡＲ）と呼ばれる技術がある。ＡＲでは、カメラ等によって現実空間の画像が取得され、取得された現実空間の画像に対して仮想的な情報（以下、仮想情報）が重畳して表示される。ユーザは、現実空間に対して重畳して表示された仮想情報を見ることにより、仮想情報として表示されているオブジェクトがあたかも現実空間に存在しているかのように認識する。
【０００３】
ＡＲにはマーカ型ＡＲとマーカレス型ＡＲとがある。
マーカ型ＡＲでは、現実空間に物理的に設置されるマーカ（例えば、所定のサイズを有する着色された正方形）の画像情報が予め登録されている。現実空間が撮影されて現実空間の画像（現実画像）が取得され、この現実画像からマーカが検出され、検出されたマーカの大きさや角度等の情報から、マーカに対する撮影装置の空間的な位置関係が算出される。このマーカに対する撮影装置の空間的な位置関係を基に、仮想情報の表示位置や表示角度が算出される。算出された表示位置や表示角度に基づき、撮影装置との相対位置が固定された表示装置に仮想情報が表示され、ユーザは現実空間と共に仮想情報を視認することができる（例えば、特許文献１参照。）。
【０００４】
一方、マーカレス型ＡＲでは、特定のマーカは使用されない。現実画像に含まれる物体や現実空間自体が空間的に認識され、物体などの大きさや角度等の情報に基づき物体に対する撮影装置の空間的な位置関係が算出される。その位置関係を基に、仮想情報の表示位置や表示角度が算出され、撮影装置との相対位置が固定された表示装置に仮想情報が表示され、ユーザは現実空間と共に仮想情報を視認することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−７５２１３号公報
【特許文献２】特開２００８−４０５５６号公報
【特許文献３】特開２００７−２７２６２３号公報
【特許文献４】特開２００２−３２４２３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
マーカ型ＡＲには、現実空間に実在するマーカに基づいて仮想情報の表示位置や表示角度を算出するため、これらを比較的容易に算出可能であるというメリットがある。一方、マーカを作成する手間、マーカ設置スペースの確保、マーカの経年劣化、現実空間に実在するマーカによる物理的及び心理的ストレス、マーカのデザイン上の制約といったデメリットもある。
これに対して、マーカレス型ＡＲには、マーカを作成及び設置する必要がない、マーカを設置すべきでない場所にも適用可能であるというメリットがある。一方、仮想情報を表示する周辺の広い領域の空間モデルを構築するため計算が煩雑となる、高い演算能力が要求され、演算能力が不足すると安定性、高精度の確保が困難であり、遅延が生じるおそれがあるなどといったデメリットもある。
【０００７】
さらに、マーカ型及びマーカレス型ＡＲに共通する問題点として以下のものが挙げられる。
・ユーザが自由に仮想情報の操作（位置移動、ズーム、回転など）を行うのが困難である。すなわち、一旦使用を中止し、実在マーカの位置変更（マーカ型ＡＲの場合）やプログラム上での仮想情報表示位置変更が必要となる。
・可視光カメラによる画像認識を用いるため、明る過ぎる場所、暗過ぎる場所では画像認識できない。加えて、光源（太陽、電灯など）に対する遮蔽物によって実在物体表面に強い陰影（コントラスト）が生じてしまう場合も問題となる。
【０００８】
このように、マーカ型ＡＲ及びマーカレス型ＡＲはそれぞれ一長一短であり、実用化に向けて改良の余地がある。
【０００９】
以上のような事情に鑑み、本技術の目的は、安定的かつ高精度に仮想情報を表示することにある。
【課題を解決するための手段】
【００１０】
本技術に係る情報処理装置は、現実風景を撮影して現実画像を取得する撮影部と、投影装置により前記現実風景に投影された図形の画像を前記現実画像から検出する図形検出部と、前記現実風景の前記現実画像から特徴点をリアルタイムに検出する特徴点検出部と、前記図形と前記撮影部との第１の位置関係をもとに、前記現実風景に仮想情報を重畳して表示部に表示させるために必要なパラメータを生成し、前記現実画像から前記図形が消失したとき、前記図形が最後に検出された時点での前記現実風景との第２の位置関係を保持しつつ前記仮想情報を表示し続けるように、前記特徴点検出部による検出結果をもとに前記パラメータを生成するパラメータ生成部とを具備する。
【００１１】
情報処理装置は、前記特徴点検出部による検出結果をもとに生成された前記パラメータを用いた前記仮想情報の表示を、あらかじめ決められたイベントの発生により停止させる第１の仮想情報表示制御部をさらに具備してもよい。
【００１２】
情報処理装置は、前記投影装置が投影する画像の光軸と前記現実風景内の投影対象面との角度を取得する角度取得部と、前記投影対象面に前記投影装置より投影された図形が、あらかじめ決められた基準形状となるように、前記取得した角度をもとに前記投影装置により投影される図形に対して変形を付与する変形付与部をさらに具備してもよい。
【００１３】
前記パラメータ生成部は、変形が付与された図形と前記撮影部との第１の位置関係をもとに、前記パラメータを生成してもよい。
【００１４】
情報処理装置は、前記現実風景に前記仮想情報を重畳して表示させたときにその内容が自然法則に反するかどうか及び／又は要求される視覚品質上の条件を満足するかどうかを予め決められたルールに従って判定し、反する及び／又は満足しない場合に、前記仮想情報の表示を無効化する第２の仮想情報表示制御部をさらに具備してもよい。
【００１５】
情報処理装置は、前記現実風景に前記仮想情報を重畳して表示させたときにその内容が自然法則に反するかどうか及び／又は要求される視覚品質上の条件を満足するかどうかを予め決められたルールに従って判定し、反する及び／又は満足しない場合に、自然法則及び／又は視覚品質上の条件を満足するように、仮想情報の表示位置を変更する第２の仮想情報表示制御部をさらに具備してもよい。
【００１６】
情報処理装置は、前記表示部をさらに具備してもよい。
【００１７】
情報処理装置は、前記投影装置をさらに具備してもよい。
【００１８】
本技術に係る情報処理システムは、第１の現実風景を撮影して第１の現実画像を取得する第１の撮影部と、投影装置により前記現実風景に投影された図形の画像を前記第１の現実画像から検出する第１の図形検出部と、前記現実風景の前記第１の現実画像から特徴点をリアルタイムに検出する特徴点検出部と、前記図形と前記第１の撮影部との第１の位置関係をもとに、前記現実風景に仮想情報を重畳して第１の表示部に表示させるために必要な第１のパラメータを生成し、前記第１の現実画像から前記図形が消失したとき、前記図形が最後に検出された時点での前記現実風景との第２の位置関係を保持しつつ前記仮想情報を表示し続けるように、前記特徴点検出部による検出結果をもとに前記第１のパラメータを生成する第１のパラメータ生成部と、前記投影装置が投影する画像の光軸と前記現実風景内の投影対象面との角度を取得する角度取得部と、前記投影対象面に前記投影装置より投影された図形が、あらかじめ決められた基準形状となるように、前記取得した角度をもとに前記投影装置により投影される図形に対して変形を付与する変形付与部とを有し、前記第１のパラメータ生成部は、変形が付与された図形と前記第１の撮影部との第１の位置関係をもとに、前記パラメータを生成する第１の情報処理装置と、前記第１の現実風景を撮影して第２の現実画像を取得する第２の撮影部と、前記投影装置により前記第１の現実風景に投影された前記変形が付与された図形の画像を前記第２の現実画像から検出する第２の図形検出部と、前記変形が付与された図形と前記第２の撮影部との第３の位置関係をもとに、前記現実風景に仮想情報を重畳して第２の表示部に表示させるために必要な第２のパラメータを生成する第２のパラメータ生成部とを有する第２の情報処理装置とを具備する。
【００１９】
本技術に係る情報処理システムは、第１の現実風景を撮影して第１の現実画像を取得する第１の撮影部と、投影装置により前記現実風景に投影された図形の画像を前記第１の現実画像から検出する第１の図形検出部と、前記現実風景の前記第１の現実画像から特徴点をリアルタイムに検出する特徴点検出部と、前記図形と前記第１の撮影部との第１の位置関係をもとに、前記現実風景に仮想情報を重畳して第１の表示部に表示させるために必要な第１のパラメータを生成し、前記第１の現実画像から前記図形が消失したとき、前記図形が最後に検出された時点での前記現実風景との第２の位置関係を保持しつつ前記仮想情報を表示し続けるように、前記特徴点検出部による検出結果をもとに前記第１のパラメータを生成する第１のパラメータ生成部と、前記投影装置が投影する画像の光軸と前記現実風景内の投影対象面との角度を取得する角度取得部と、前記第１のパラメータを第２の情報処理装置に送信する送信部とを有する第１の情報処理装置と、前記第１の現実風景を撮影して第２の現実画像を取得する第２の撮影部と、前記投影装置により前記第１の現実風景に投影された前記図形の画像を前記第２の現実画像から検出する第２の図形検出部と、前記図形と前記第２の撮影部との第３の位置関係をもとに、前記現実風景に仮想情報を重畳して第２の表示部に表示させるために必要な第２のパラメータを生成する第２のパラメータ生成部と、前記第１の情報処理装置より前記第１のパラメータを受信し、この受信した第１のパラメータを用いて前記第２のパラメータを補正する補正部とを有する第２の情報処理装置とを具備する。
【００２０】
本技術に係る情報処理方法は、撮影部により、現実風景を撮影して現実画像を取得し、図形検出部により、投影装置により前記現実風景に投影された図形の画像を前記現実画像から検出し、特徴点検出部により、前記現実風景の前記現実画像から特徴点をリアルタイムに検出し、パラメータ生成部により、前記図形と前記撮影部との第１の位置関係をもとに、前記現実風景に仮想情報を重畳して表示部に表示させるために必要なパラメータを生成し、前記現実画像から前記図形が消失したとき、前記図形が最後に検出された時点での前記現実風景との第２の位置関係を保持しつつ前記仮想情報を表示し続けるように、前記特徴点検出部による検出結果をもとに前記パラメータを生成する。
【発明の効果】
【００２１】
以上のように、本技術によれば、安定的かつ高精度に仮想情報を表示することができる。
【図面の簡単な説明】
【００２２】
【図１】本技術の第１の実施形態に係る情報処理システムを示す模式図である。
【図２】複数のＨＭＤを有する情報処理システムを示す模式図である。
【図３】ＨＭＤ及び入力装置のハードウェア構成を示すブロック図である。
【図４】第１の処理を実行するためのＨＭＤの機能的な構成を示すブロック図である。
【図５】変形例９に係る情報処理システムを模式的に示すブロック図である。
【図６】重畳パラメータ生成部による重畳パラメータ生成の原理を模式的に示す図である。
【図７】ＨＭＤによる第１の処理の動作を示すフローチャートである。
【図８】マーカ型ＡＲで用いられるマーカの一例を示す図である。
【図９】第２の処理を実行するためのＨＭＤの機能的な構成を示すブロック図である。
【図１０】ＨＭＤによる第２の処理の動作を示すフローチャートである。
【図１１】第２の処理により得られる効果を説明するための図である。
【図１２】第３の処理の概要を説明するための図である。
【図１３】第３の処理を実行するためのＨＭＤの機能的な構成を示すブロック図である。
【図１４】ＨＭＤによる第３の処理の動作を示すフローチャートである。
【図１５】第３の処理による表示結果を示す図である。
【図１６】マーカの変形を模式的に示す図である。
【図１７】本技術の第２の実施形態に係る情報処理システムを示す模式図である。
【図１８】第２の実施形態に係るＨＭＤのハードウェア構成を示すブロック図である。
【図１９】投影ＨＭＤによるメイン動作を示すフローチャートである。
【図２０】非投影ＨＭＤによる、投影ＨＭＤの重畳パラメータ取得の動作を示すフローチャートである。
【図２１】変形例１に係る情報処理システムを示す模式図である。
【図２２】変形例２に係る情報処理システムを示す模式図である。
【図２３】変形例２に係る情報処理システムのハードウェア構成を示すブロック図である。
【図２４】変形例３に係る情報処理システムを示す模式図である。
【図２５】変形例４に係る情報処理システムを示す模式図である。
【図２６】変形例４に係る情報処理システムのハードウェア構成を示すブロック図である。
【図２７】変形例５に係る情報処理システムを示す模式図である。
【図２８】変形例６に係る情報処理システムを示す模式図である。
【図２９】変形例７に係る入力装置を示す斜視図である。
【図３０】変形例９により実現される処理を模式的に示す図である。
【図３１】変形例９により実現される処理を模式的に示す図である。
【図３２】変形例９により実現される処理を模式的に示す図である。
【発明を実施するための形態】
【００２３】
以下、本技術に係る実施形態を図面を参照しながら説明する。
【００２４】
＜第１の実施形態＞
［第１の実施形態の概要］
図１は、本技術の第１の実施形態に係る情報処理システム１を示す模式図である。
本実施形態の情報表示システム１は、ヘッドマウントディスプレイ（Head Mount Display、ＨＭＤ）１００（情報処理装置）と、入力装置２００（投影装置）とを有する。
【００２５】
ＨＭＤ１００は、全体としてメガネ型の形状を有し、ユーザＵの頭部に装着可能である。ＨＭＤ１００は、装着時にユーザＵの眼前に配置される表示部１０２と、現実空間の少なくともユーザＵの視野範囲を撮影可能な撮影部１０１とを有する。表示部１０２は透過性を有し、ユーザＵ個人に表示部１０２を透過させて現実空間を視認させつつ、ユーザＵが視認する現実空間に重畳して画像を表示することが可能である。ＨＭＤ１００は、撮影部１０１が撮影した現実空間の画像（現実画像）に含まれる、入力装置２００により投影されたマーカＭを検出し、検出したマーカＭをもとに仮想情報Ｉの重畳パラメータを算出する。この「重畳パラメータ」とは、現実空間に対して重畳して表示させる仮想情報の形態に関するパラメータであり、具体的には、仮想情報Ｉの位置、角度及び大きさである。ＨＭＤ１００は、算出した重畳パラメータに基いて所定の仮想情報を生成し、表示部１０２により、ユーザＵの視認する現実空間に投影されたマーカＭに重畳して仮想情報Ｉを表示する。この仮想情報Ｉとして表示するコンテンツの選択は、ユーザによりＨＭＤ１００に設けられた入力部（図３）を用いて予め入力される。
【００２６】
入力装置２００は、ユーザＵが手に持つことが可能な大きさ及び形状を有する。入力装置２００には、投影ボタン２０１、ズームスライダ２０２、電源ボタン２０３が設けられる。ユーザＵが投影ボタン２０１を押すと、投影窓２０４からマーカＭとしての所定形状の図形が現実空間の投影対象物Ｔ（机など）に投影される。このマーカＭの投影位置が、ＨＭＤ１００による仮想情報Ｉの表示位置となる。さらに、ユーザＵが投影ボタン２０１を押しながら入力装置２００を動かすことで、仮想情報Ｉに対して操作を行うことができる。例えば、ユーザＵが投影ボタン２０１を押しながら入力装置２００を移動してマーカＭの投影位置を移動すると、仮想情報Ｉを移動（ドラッグ）させることができる。同様に、ユーザＵが投影ボタン２０１を押しながら入力装置２００を回転してマーカＭを回転すると、仮想情報Ｉを回転させることができる。また、ユーザＵが投影ボタン２０１を押しながらズームスライダ２０２を操作すると、仮想情報Ｉを拡大／縮小（ズーム）させることができる。仮想情報Ｉを表示中に新たな別の仮想情報を表示させるためには、ユーザＵは投影ボタン２０１の押下を停止し、ＨＭＤ１００に設けられた入力部（図３）を用いて新たな仮想情報として表示するコンテンツの選択を入力する。また、ユーザＵが投影ボタン２０１の押下を停止し、その後再び投影ボタン２０１を押してマーカＭを表示中の仮想情報Ｉに重ねると、再びその仮想情報Ｉを操作可能となる。
【００２７】
なお、情報表示システム１は、複数のユーザにそれぞれ装着された複数のＨＭＤを有するものであってもよい。
図２は、複数のＨＭＤ１００Ａ、１００Ｂを有する情報処理システム１を示す模式図である。
複数のＨＭＤ１００Ａ、１００Ｂは、複数のユーザＵ１、Ｕ２にそれぞれ装着される。ユーザＵ１は入力装置２００を用いて現実空間にマーカＭを投影する。ＨＭＤ１００Ａは、ＨＭＤ１００Ａの撮影部１０１Ａが撮影した現実画像から、ＨＭＤ１００Ａを装着したユーザＵ１が持つ入力装置２００により投影されたマーカＭを検出し、検出したマーカＭをもとに仮想情報を表示する。ＨＭＤ１００Ｂは、ＨＭＤ１００Ｂの撮影部１０１Ｂが撮影した現実画像から、ＨＭＤ１００Ｂを装着したユーザＵ２とは異なるユーザＵ１が持つ入力装置２００により投影されたマーカＭを検出し、検出したマーカＭをもとに仮想情報を表示する。
【００２８】
［ＨＭＤのハードウェア構成］
図３は、ＨＭＤ１００及び入力装置２００のハードウェア構成を示すブロック図である。
ＨＭＤ１００は、ＣＰＵ（Central Processing Unit）１０３と、それぞれＣＰＵ１０３に接続されたメモリ１０４、撮影部１０１、表示部１０２、入力部１０５、モーションセンサ１０６、環境センサ１０７、第１の送受信器１０８及び第２の送受信器１０９と、内部電源１１０とを有する。
【００２９】
ＣＰＵ１０３は、メモリ１０４に格納されたプログラムに従って各種処理を実行する。
撮影部１０１は、現実空間の少なくともユーザの視野範囲を撮影可能である。撮影部１０１は、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサなどの撮影素子と、撮影素子の出力をＡ／Ｄ（Analog/Digital）変換するＡ／Ｄコンバータなどで構成される。
表示部１０２は、ＬＣＤ（Liquid Crystal Display、液晶表示素子）と光学系などからなり、ＬＣＤによって形成された画像を光学系を介してユーザに提示する。より具体的には、表示部１０２は、ユーザに外界を視認させつつ、ＬＣＤによって形成された画像をユーザの視野に重ねて表示可能である。
入力部１０５は、例えば、ボタン、スライダ、スイッチ、ダイヤル、タッチセンサなどで構成され、ユーザ操作によりＣＰＵ１０３に対する命令や、仮想情報として表示するコンテンツの選択を入力可能である。
モーションセンサ１０６は、例えば、加速度センサ、ジャイロセンサ、磁気センサであり、ＨＭＤ１００の移動を検出可能である。
環境センサ１０７は、例えば、照度や温湿度を検出可能である。
第１の送受信器１０８は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−Ｆｉ（登録商標）などの中・高速近距離無線送受信器であり、入力装置２００との情報のやり取りを行う。
第２の送受信器１０９は、例えば、３Ｇ（3rd Generation）、ＷｉＭＡＸ（Worldwide Interoperability for Microwave Access、登録商標）などの中距離無線送受信器であり、インターネットやＬＡＮ（Local Area Network）などのネットワークＮに接続し、仮想情報として表示するコンテンツをダウンロードしたりする。
【００３０】
［入力装置のハードウェア構成］
図３を参照し、入力装置２００は、ＣＰＵ２１２と、それぞれＣＰＵ２１２に接続されたメモリ２０５、入力部２０６、モーションセンサ２０７、第３の送受信器２０８、変調部２０９及び投影部２１０と、内部電源２１１とを有する。
ＣＰＵ２１２は、メモリ２０５に格納されたプログラムに従って各種処理を実行する。なお、ＣＰＵの代わりにＭＰＵ（Micro Processing Unit）であってもよい。
入力部２０６は、投影ボタン２０１、ズームスライダ２０２、電源ボタン２０３などのボタン、スライダ、スイッチ、ダイヤル、タッチセンサなどで構成され、ユーザ操作によりＣＰＵ２１２に対する命令を入力可能である。
モーションセンサ２０７は、例えば、加速度センサ、ジャイロセンサ、磁気センサであり、入力装置２００の移動を検出可能である。
第３の送受信器２０８は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−Ｆｉ（登録商標）などの中・高速近距離無線送受信器であり、ＨＭＤ１００との情報のやり取りを行う。
変調部２０９は、ＣＰＵ２１２が扱うデジタルデータを投影部２１０が投影可能な光信号に変調する。
投影部２１０は、投影窓２０４（図１）からマーカとしての所定形状の図形を現実空間の投影対象物（壁や机など）に投影可能なレーザポインタ又はレーザプロジェクタにより構成される。レーザポインタとしては、点表示型（赤、緑、青）、ビーム可変型（スキャナタイプ、レンズタイプ、ホログラムタイプ）、紫外型、赤外型などを採用することができる。レーザプロジェクタとしては、例えば、ＭＥＭＳ（Micro Electro Mechanical System）スキャナを搭載し、高速に左右へ動く１本のレーザ光で上から順に走査することにより画像を投影可能な装置などを採用することができる。
【００３１】
［ＨＭＤが実行する処理］
ＨＭＤ１００は、以下の３つの処理を実行することが可能である。
１．撮影により得られた現実画像データに含まれるマーカに対して仮想情報を表示する。さらに、マーカの消失やユーザ操作によって現実画像データにマーカが含まれなくなって仮想情報の重畳パラメータの演算・更新処理が停止し、かつその後に撮影部が動かされた場合にも、仮想情報をユーザの違和感なく表示する処理（第１の処理）。
２．複数のユーザがそれぞれのＨＭＤを通して同一のオブジェクトを見ているような角度、位置及びサイズ等で、それぞれのＨＭＤが仮想情報を表示する処理（第２の処理）。
３．マーカに基づいて仮想情報を表示するとユーザにとって違和感等が生じるおそれが生じる可能性がある場合、ユーザにとって違和感等が生じる可能性の少ない形態で仮想情報を表示する処理（第３の処理）。
【００３２】
＜第１の処理＞
［第１の処理の概要］
マーカ型ＡＲ及びマーカレス型ＡＲの上記各問題を解決するため、据え置き型のレーザプロジェクタなどを用いてマーカを投影することで、物理的なマーカを用いなくともマーカ型ＡＲのメリットを享受可能な手法が提案されている。しかし、この手法には以下のような問題点がある。
・別途プロジェクタや定点カメラなどの設備が必要となり、設置場所を選ぶ。
・使用前に空間を詳細に走査するステップが必要となるため、リアルタイム性に劣る。
・広い領域の空間モデルの構築を行う必要があるので計算が煩雑となる。
【００３３】
一方、ユーザが携帯型のレーザポインタを手に持ってマーカを投影することで、上記設置場所の問題を解決可能とする手法が提案されている（特許文献２、特許文献３）。
【００３４】
特許文献２によれば、撮影装置と携帯型レーザポインタとがそれぞれ、自らの空間内の位置及び姿勢を検出する。撮影装置により撮影された画像に含まれるレーザポインタのポインティング点と、レーザポインタ及び撮影装置の空間位置から推測される仮想ポインティング点とをマッチングさせることにより、仮想情報の重畳場所が算出される。しかし、この手法には以下のような問題点がある。
・広い領域の空間モデルの構築を行う必要があるので空間の測量及び計算が煩雑である。
・レーザポインタ及び撮影装置の姿勢演算なども行う必要があり、計算が煩雑であるとともに、安定性、良精度の確保が困難である。
【００３５】
特許文献３によれば、携帯型レーザポインタを用いて投影対象物（壁など）の少なくとも３箇所にポインティング点が投影され、このポインティング点をもとにレーザポインタと投影対象物との距離、方向及び表示座標が演算される。しかし、この手法には以下のような問題点がある。
・レーザポインタと投影装置とが一体的に構成される形態において（特許文献３の図１、図１９）、仮想情報を特定の場所に停止状態で表示したい場合には、ユーザはレーザポインタを常に同じ姿勢に保持する必要があるため疲労感を伴う。また、手ぶれにより、表示される仮想情報の位置が安定しにくい。
・ポインティング点の投影を止めると仮想情報の表示位置が算出できなくなるので、仮想情報の表示中は常にポインティング点の投影を行う必要がある。さらに、複数の仮想情報に対して独立した操作を行うことができない。
・これらの問題に対応するため、ポインティング点の投影を止めた際に、仮想情報を最後に表示された位置に表示し続ける様な処理仕様にすると仮定する。しかし、その場合に撮影部（撮影部を携帯するユーザ）が少しでも移動又は回転すると、仮想情報の位置や角度等は変化しないため、仮想情報の位置や角度等がユーザにとって正しいものではなくなってしまう。
【００３６】
以上のような事情に鑑み、本技術の第１の処理では、マーカの消失やユーザ操作によって現実画像データにマーカが含まれなくなって仮想情報の重畳パラメータの演算・更新処理が停止し、かつその後に撮影部が動かされた場合にも、仮想情報をユーザの違和感なく表示する。より具体的には、演算が停止する直前（マーカが最後に検出された時点）の現実空間と重畳された仮想情報との相対位置を保持して表示し続ける。
【００３７】
［第１の処理を実行するためのＨＭＤの機能的な構成］
図４は、第１の処理を実行するためのＨＭＤ１００の機能的な構成を示すブロック図である。
ＨＭＤ１００は、撮影部１０１、三次元構造推定部１２０、マーカ検出部１２１、重畳パラメータ生成部１２２、変換行列算出部１２３、画像データ生成部１２４及び表示部１０２を有する。
【００３８】
撮影部１０１は現実空間の画像を撮影し、現実画像データを取得する。撮影部１０１は、取得した現実画像データを三次元構造推定部１２０及びマーカ検出部１２１に供給する。
【００３９】
三次元構造推定部１２０は、所謂シーンマッピング（移動ステレオ）技術を用いて現実空間の三次元構造を推定する。すなわち、三次元構造推定部１２０（特徴点検出部）は、撮影部１０１から取得した現実画像データ中から複数の特徴点（コーナポイント）を検出する。撮影部１０１の視野移動中も、三次元構造推定部１２０は、特徴点をリアルタイムに検出（特徴点を追跡（トラッキング））し続ける。
【００４０】
一般的な三次元構造推定技術では、２台のカメラ（ステレオカメラ）を用いて、左右のステレオ映像を取得する。これに対して、本実施形態の三次元構造推定部１２０は、特徴点トラッキングで経時的に結び付けることにより、移動する１台のカメラ（撮影部１０１）で時分割撮影することでステレオ映像を算出する。
三次元構造推定部１２０は、このステレオ映像から現実空間の三次元構造を推定し、推定結果を重畳パラメータ生成部１２２に供給する。
【００４１】
図４に戻って、マーカ検出部１２１（図形検出部）は、撮影部１０１が取得した現実画像データから、入力装置２００により投影されたマーカ（図形）を検出する。マーカ検出部１２１には予め基準マーカの情報が登録されている。この「基準マーカ」とは、マーカを所定の距離から垂直方向に投影した場合のあらかじめ決められた基準形状を有するマーカであり、「基準マーカの情報」とは、基準マーカのサイズ、各頂点同士の距離、各辺の長さ等である。マーカ検出部１２１は、基準マーカのサイズをもとに、現実画像データから検出したマーカが基準マーカの形状と一致するような平面座標変換行列を生成し、検出したマーカに対して平面座標変換行列を用いた座標変換を行う。続いてマーカ検出部１２１は、座標変換されたマーカに対し、基準マーカとのパターンマッチングを行い、検出したマーカと基準マーカとの一致度を判断する。マーカ検出部１２１は、判断結果を重畳パラメータ生成部１２２に供給する。
【００４２】
重畳パラメータ生成部１２２は、所定の一致度をもつマーカについて、基準マーカに対するマーカの歪みをもとに、投影対象物（壁や机など）に投影されたマーカに対する撮影部１０１の空間的な位置関係、すなわち角度及び距離を算出する。さらに、重畳パラメータ生成部１２２は、図６に示すように、輪郭抽出によりマーカＭの座標系（Ａ）を算出する。重畳パラメータ生成部１２２は、マーカに対する撮影部１０１の上記空間的な位置関係をもとに、マーカＭの座標系（Ａ）と、予め設定してある仮想情報Ｉの座標系（Ｂ）とが一致した座標系（Ｃ）となるように、仮想情報の重畳パラメータを計算する。このように、マーカに対する撮影部１０１の空間的な位置関係（第１の位置関係）をもとに生成された重畳パラメータを以下「第１の重畳パラメータ」と呼ぶ。重畳パラメータ生成部１２２は、モーションセンサ１０６により検出されたＨＭＤ１００の位置と、入力装置２００のモーションセンサ１０６により検出された入力装置２００の位置との関係をもとに、仮想情報がユーザにとってより自然に表示されるように第１の重畳パラメータを補正する。さらに重畳パラメータ生成部１２２は、ユーザの眼と表示部１０２との位置関係をもとに第１の重畳パラメータを補正する。
また、重畳パラメータ生成部１２２は、三次元構造推定部１２０が推定した現実空間の三次元構造の座標系と表示中の仮想情報の座標系とが一致するように、現実空間に対する仮想情報の空間的な位置関係（第２の位置関係）を保持して仮想情報の重畳パラメータを計算する。このように現実空間の三次元構造の座標系と表示中の仮想情報の座標系とが一致するように生成された重畳パラメータを以下「第２の重畳パラメータ」と呼ぶ。なお、第１及び第２の重畳パラメータを区別する必要がないときは単に「重畳パラメータ」と呼ぶ。
【００４３】
変換行列算出部１２３は、マーカを基準とした座標系を現実空間における撮影部１０１を基準とした座標系に第１の重畳パラメータで変換するための空間座標変換行列を生成する。画像データ生成部１２４は、予め記録された仮想情報のオブジェクトデータを、変換行列算出部１２３から供給された空間座標変換行列を用いて座標変換する。これにより、画像データ生成部１２４は、撮影部１０１を基準とした座標系での、仮想情報のオブジェクト画像データを算出（描画）する。
また、変換行列算出部１２３は、表示中の仮想情報の座標系を、現実空間の三次元構造の座標系に、第２の重畳パラメータで変換するための空間座標変換行列を生成する。画像データ生成部１２４は、仮想情報のオブジェクトデータを、変換行列算出部１２３から供給された空間座標変換行列を用いて座標変換する。
【００４４】
画像データ生成部１２４は、生成した仮想情報のオブジェクト画像データを表示部１０２に供給する。
表示部１０２は、変換行列算出部１２３より供給された仮想情報のオブジェクト画像データを表示する。
【００４５】
［ＨＭＤによる第１の処理の動作］
図７は、ＨＭＤ１００による第１の処理の動作を示すフローチャートである。
ＣＰＵ１０３が所定の初期化処理を行うと（ステップＳ１０１）、撮影部１０１は現実空間の画像を撮影し、現実画像データを取得する（ステップＳ１０２）。撮影部１０１は、取得した現実画像データを三次元構造推定部１２０及びマーカ検出部１２１に供給する。三次元構造推定部１２０は、現実画像データ中から複数の特徴点を検出する（ステップＳ１０３）。撮影部１０１の視野移動中も、三次元構造推定部１２０は、特徴点をリアルタイムに検出（特徴点を追跡（トラッキング））し続ける（ステップＳ１０４）。三次元構造推定部１２０は、特徴点トラッキングで経時的に結び付ける事により、移動する１台のカメラ（撮影部１０１）で時分割撮影することでステレオ映像を算出する。三次元構造推定部１２０は、このステレオ映像から現実空間の三次元構造を推定し、推定結果を重畳パラメータ生成部１２２に供給する（ステップＳ１０５）。
【００４６】
仮想情報表示部１０２が仮想情報を未だ表示していないか、仮想情報を既に表示しており且つその仮想情報が現実空間に重畳されて表示されている場合（ステップＳ１０６でＮｏ）について説明する。この場合、マーカ検出部１２１は、撮影部１０１が取得（ステップＳ１０２）した現実画像データから、入力装置２００により投影されたマーカを検出する（ステップＳ１０７でＹｅｓ）。マーカ検出部１２１は、基準マーカのサイズをもとに、現実画像データから検出したマーカが基準マーカの形状と一致するような平面座標変換行列を生成し、検出したマーカに対して平面座標変換行列を用いた座標変換を行う。続いてマーカ検出部１２１は、座標変換されたマーカに対し、基準マーカとのパターンマッチングを行い、検出したマーカと基準マーカとの一致度を判断する（ステップＳ１０８）。マーカ検出部１２１は、判断結果を重畳パラメータ生成部１２２に供給する。
【００４７】
重畳パラメータ生成部１２２は、所定の一致度をもつ（ステップＳ１０８でＹｅｓ）マーカについて、基準マーカに対するマーカの歪みをもとに、マーカに対する撮影部１０１の空間的な位置関係を推定する。具体的には、重畳パラメータ生成部１２２は、投影対象物（壁など）に投影されたマーカに対する撮影部１０１の空間的な位置関係（第１の位置関係）、すなわち角度及び距離を算出する。さらに、重畳パラメータ生成部１２２は、マーカの座標系と仮想情報の座標系とが一致するように、仮想情報の第１の重畳パラメータを計算する（ステップＳ１０９）。そして、重畳パラメータ生成部１２２は、仮想情報がユーザにとってより自然に表示されるように第１の重畳パラメータを補正する（ステップＳ１１０）。
【００４８】
変換行列算出部１２３は、マーカを基準とした座標系を、現実空間における撮影部１０１を基準とした座標系に、第１の重畳パラメータで変換するための空間座標変換行列を生成する（ステップＳ１１１）。画像データ生成部１２４は、予めに記録された仮想情報のオブジェクトデータを、変換行列算出部１２３から供給された空間座標変換行列を用いて座標変換する。これにより、画像データ生成部１２４は、撮影部１０１を基準とした座標系での、仮想情報のオブジェクト画像データを算出（描画）する（ステップＳ１１２）。画像データ生成部１２４は、生成した仮想情報のオブジェクト画像データを表示部１０２に供給する。表示部１０２は、供給された仮想情報のオブジェクト画像データを表示する（ステップＳ１１３）。この後、次フレームの現実空間の画像データの取得（ステップＳ１０２）から仮想情報のオブジェクト画像データの表示（ステップＳ１１３）までの処理が繰り返し実行される。
【００４９】
次に、仮想情報表示部１０２が仮想情報を既に表示しているものの現実画像データから仮想情報が重畳されていたマーカが検出されない場合（ステップＳ１０６でＹｅｓ）について説明する。この現実画像データからマーカが検出されない場合とは、ユーザが入力装置２００を移動するなどして、撮影部１０１による撮影空間外にマーカが投影される場合や、入力装置２００に対する入力操作の中でユーザが意図的にマーカの投影を停止する場合などに発生する。現実画像データからマーカが検出されないと、マーカをもとに第１の重畳パラメータの演算・更新処理（ステップＳ１０９など）を行うことができなくなる。加えて、現実画像データからマーカが検出されなくなった後にユーザの移動により撮影部１０１が移動すると、ユーザの視野の現実空間の風景は変化するのに、表示空間における仮想情報の位置や角度は変化しないこととなるため、ユーザにとって違和感のある位置や角度で仮想情報が表示され続けることとなる。そこで、第１の処理では、現実空間における特徴点をリアルタイムに検出（ステップＳ１０３）することによって、現実画像データにマーカが含まれなくなってマーカに基づく第１の重畳パラメータの演算が停止する直前（マーカが最後に検出された時点）の、現実空間に対する仮想情報の空間的な位置関係（第２の位置関係）を保持して仮想情報表示し続けることとする。
【００５０】
すなわち、重畳パラメータ生成部１２２は、三次元構造推定部１２０が推定（ステップＳ１０５）した現実空間の三次元構造の座標系と表示中の仮想情報の座標系とが一致するように、仮想情報の第２の重畳パラメータを計算する（ステップＳ１１４）。そして、重畳パラメータ生成部１２２は、ステップＳ１１０と同様に第２の重畳パラメータを補正する（ステップＳ１１５）。
【００５１】
変換行列算出部１２３は、表示中の仮想情報の座標系を、現実空間の三次元構造の座標系に、第２の重畳パラメータで変換するための空間座標変換行列を生成する（ステップＳ１１６）。画像データ生成部１２４は、仮想情報のオブジェクトデータを、変換行列算出部１２３から供給された空間座標変換行列を用いて座標変換する。これにより、画像データ生成部１２４は、現実空間の三次元構造の座標系での、仮想情報のオブジェクト画像データを算出（描画）する（ステップＳ１１７）。画像データ生成部１２４は、生成した仮想情報のオブジェクト画像データを表示部１０２に供給する。他に、仮想情報が既に表示されているもののその仮想情報が重畳されていたマーカが消失しているものがあるときは（ステップＳ１１８でＹｅｓ）、ステップＳ１１４以下の処理が繰り返される。
【００５２】
［第１の処理の効果］
以上、第１の処理によれば、次のような効果が期待できる。
１．表示部が仮想情報を既に表示しているものの現実画像データから仮想情報が重畳されていたマーカが検出されない場合、仮想情報の重畳パラメータについて、マーカをもとに第１の重畳パラメータの演算・更新処理を行うことができなくなる。加えて、現実画像データからマーカが検出されなくなった後にユーザの移動により撮影部が移動すると、ユーザの視野の現実空間の風景は変化するのに、表示空間における仮想情報の位置や角度は変化しないこととなるため、ユーザにとって違和感のある位置や角度で仮想情報が表示され続けることとなる。
しかしながら、第１の処理では、現実空間における特徴点をリアルタイムに検出し、現実空間の三次元構造の座標系と表示中の仮想情報の座標系とが一致するように、仮想情報の第２の重畳パラメータを演算・更新する。これにより、現実画像データにマーカが含まれなくなってマーカに基づく第１の重畳パラメータの演算が停止する直前（マーカが最後に検出された時点）の、現実空間に対する仮想情報の空間的な位置関係を保持して仮想情報表示し続けることができる。さらに、高い演算能力や複雑なハードウェアシステム・設備を要求するのが通常であったマーカレス型ＡＲシステムをマーカ型ＡＲ同等の簡単な演算・システムで実現することができる。
【００５３】
２．マーカ型ＡＲの一例として最も有名な「ＡＲＴｏｏｌＫｉｔ」で用いられる物理的なマーカは、図８に示すように、正方形の黒枠で囲われた白領域内に任意のパターン（図示の例では「ＡＲ」）が描かれているものである。黒枠でマーカの検出を行ない、白領域内のパターンに応じてマーカを判別することから、「ＡＲＴｏｏｌＫｉｔ」のＡＲマーカは、デザイン上以下のような制約がある。
・全体形状として正方形であること
・正方形の幅又は高さ方向における黒枠：白領域：黒枠の割合が、基本的に２５％：５０％：２５％、最低でも３：１４：３
・白領域内のパターンは点対称・線対称を避け、細線を用いてはならない
・二値化した際に黒枠を明確に判別するため、マーカの周囲に余白が必要である
しかしながら、第１の処理のレーザ投影によるマーカの場合、Ｓ／Ｎ（Signal/Noise）値を非常に高くできるため、色の限定（黒・白）、細線非使用などの制約を外すことができる。さらに、余白は背景との分離を目的として設けられるため、第１の処理のレーザ投影によるマーカには、余白部分を設ける必要が無くなる。このように、現実空間に物理的に設置されるマーカに比べて、マーカのデザインの自由度を上げることができる。
【００５４】
３．レーザポインタ又はレーザプロジェクタである投影部を有する入力装置を用いて、ＨＭＤに表示された仮想情報を操作するため、ユーザにとって直感的で容易な操作が可能となる。
【００５５】
４．本技術を次のような用途に応用することができる。現実空間に存在する壁や窓にマーカを投影することで、仮想情報の投影対象物を任意の壁や窓に設定し、任意の壁や窓をバーチャルなプロジェクタスクリーンやホワイトボードとして使用することができる。具体的な適用例として以下の例が挙げられる。
・大画面でビデオ映像やプラネタリウム画像を表示する。
・オフィスのパーティションや壁にバーチャルな付箋紙や資料を提示する。
・複数のバーチャル付箋紙を大画面上で表示したり移動したりする。
また、入力装置を動かすことにより、仮想情報の重畳位置を自在に制御することができる。具体的な適用例として以下の例が挙げられる。
・入力装置をあたかも手綱のように操作し、仮想情報としてのバーチャルなペットを散歩させる。
【００５６】
＜第２の処理＞
［第２の処理の概要］
図２を参照し、１人のユーザが入力装置２００を用いて投影したマーカをもとに複数のＨＭＤ１００がそれぞれ仮想情報を表示する場合について説明する。なお、以下の説明において、マーカを投影する入力装置２００をもつユーザの装着するＨＭＤを「投影ＨＭＤ」、マーカを投影する入力装置２００をもたないユーザの装着するＨＭＤを「非投影ＨＭＤ」と呼ぶこととする。あるユーザＵ１（第１のユーザ）が入力装置２００を用いて投影対象物にマーカＭを投影する。そして、別のユーザＵ２（第２のユーザ）に装着された非投影ＨＭＤ１００ＢがこのマーカＭに対して仮想情報を表示することにより第２のユーザＵ２に仮想情報を提示するような場合を想定する。この場合、第２のユーザＵ２の非投影ＨＭＤ１００Ｂが、第１のユーザＵ１の入力装置２００が投影したマーカＭを含む現実空間を撮影し、この現実画像を用いて仮想情報の重畳パラメータを算出する。
【００５７】
その結果、例えば、以下のような問題が生じる可能性がある。第１のユーザＵ１が投影したマーカＭが投影対象物上で基準マーカ形状とは異なる歪んだ形状となるとする。第２のユーザＵ２の非投影ＨＭＤ１００ＢがそのマーカＭを撮影すると、もともと歪んだ形状であることに加え、投影を行った入力装置２００を持つ第１のユーザＵ１とは異なる位置からマーカＭを撮影することとなる。このため、非投影ＨＭＤ１００Ｂによる重畳パラメータの計算として、歪んだマーカＭを基準マーカ形状に補正し、さらに、補正後のマーカに対する重畳パラメータを計算する必要があるなど、非投影ＨＭＤ１００Ｂによる計算が複雑なものとなるおそれがある。その結果、計算に時間がかかり、第２のユーザＵ２が、第１のユーザＵ１が実際に見ているオブジェクトをリアルタイムに見ることができない、すなわち投影ＨＭＤ１００Ａの表示結果と非投影ＨＭＤ１００Ｂの表示結果との間に時間的ずれが生じるおそれがある。また、計算が複雑となるため非投影ＨＭＤ１００Ｂによる計算が正確性を欠く、すなわち投影ＨＭＤ１００Ａの表示結果と非投影ＨＭＤ１００Ｂの表示結果との間に空間的ずれが生じるおそれがある。結果として、第２のユーザＵ２が実際に見ているオブジェクトの角度、位置及び大きさと、第１のユーザＵ１が実際に見ているオブジェクトを第２のユーザＵ２が見ていると仮定した場合のオブジェクトの角度、位置及び大きさとが、異なったものとなるおそれがある。
【００５８】
これに対して、特許文献４によれば、あるプロジェクタ（第１のプロジェクタ）によって仮想情報としてのオブジェクトを表示する際、別のプロジェクタ（第２のプロジェクタ）により、投影対象物（スクリーンなど）にマーカ画像を投影する。ここで、第２のプロジェクタと投影対象物との位置関係は予め設定されている。撮影装置（定点カメラ）によってこのマーカが撮影され、撮影データをもとに表示すべきオブジェクトの位置、角度及び大きさが計算され、第１のプロジェクタによりオブジェクトが投影対象物に表示される。しかしながら、特許文献４の技術には、次のような問題がある。
・別途第２のプロジェクタや撮影装置（定点カメラ）などの設備が必要であるため、使用場所を選ぶ。
・第１のプロジェクタと投影対象物の位置が固定である必要があるため、使用場所を選ぶ。
・マーカを投影するためだけの第１のプロジェクタを使用するのは無駄が大きい。
【００５９】
以上のような事情に鑑み、本技術の第２の処理では、複数のユーザがそれぞれのＨＭＤを通してそれぞれの場所から同一のオブジェクトを見ているような角度、位置及び大きさで、それぞれのＨＭＤが仮想情報を表示することを、より簡単且つ確実に実現する。
【００６０】
［第２の処理を実行するためのＨＭＤの機能的な構成］
図９は、第２の処理を実行するためのＨＭＤ１００の機能的な構成を示すブロック図である。
ＨＭＤ（投影ＨＭＤ及び非投影ＨＭＤ）１００は、撮影部１０１、マーカ検出部１２１、重畳パラメータ生成部１２２、マーカ補正部１２５、変換行列算出部１２３、画像データ生成部１２４、表示部１０２及び第１の送受信器１０８を有する。
以下、すでに説明した構成及び機能等と同様の構成及び機能等は説明を簡略化又は省略し、異なる点を中心に説明する。
【００６１】
マーカ補正部１２５は、基準マーカに対するマーカの歪みをもとに、マーカに対する撮影部１０１の空間的な位置関係を推定する。具体的には、マーカ補正部１２５（角度取得部）は、投影対象物（机など）に投影されたマーカに対する撮影部１０１の空間的な位置関係、すなわち投影対象物に対する撮影部１０１の角度及び距離（入力装置２００が投影するマーカ画像の光軸と現実風景内の投影対象面との角度及び距離）を算出する。マーカ補正部１２５は、算出した角度及び距離をもとに、検出された歪みのあるマーカを基準マーカの形状に補正するための平面座標変換行列を生成する。マーカ補正部１２５は、検出したマーカに対して平面座標変換行列を用いた座標変換を行い、補正マーカを算出する。この「補正マーカ」とは、入力装置２００の現在位置から投影対象物に投影されたときにこの投影対象物上で基準マーカの形状となり得るマーカである。マーカ補正部１２５（変形付与部）は、第１の送受信器１０８を用いて、入力装置２００に算出した補正マーカを通知する。これにより、入力装置２００は、歪みのあるマーカの投影を停止して補正マーカの投影を開始することが可能となる。さらに、マーカ補正部１２５は、入力装置２００に補正マーカを通知したことをマーカ検出部１２１に通知する。
【００６２】
［ＨＭＤによる第２の処理の動作］
図１０は、ＨＭＤ１００による第２の処理の動作を示すフローチャートである。
ＣＰＵ１０３は所定の初期化処理を行い（ステップＳ２０１）、自ＨＭＤが投影ＨＭＤかどうか、すなわち、自ＨＭＤを装着したユーザが持つ入力装置２００によってマーカが投影されるかどうかを判定する（ステップＳ２０２）。具体的には、例えば、ＨＭＤ１００に自ＨＭＤを装着したユーザが所有する入力装置２００の機器ＩＤが予め登録され、ＣＰＵ１０３は、当該機器ＩＤによって識別される入力装置２００にマーカ投影実行の有無を第１の送受信器１０８を用いて問い合わせればよい。あるいは、ユーザにより、このユーザが持つ入力装置２００によってマーカが投影されるかどうかが、入力部１０５に入力されるようにしてもよい。
【００６３】
まず、投影ＨＭＤ（ステップＳ２０２でＹｅｓ）の動作について説明する。投影ＨＭＤは、ステップＳ１０２、Ｓ１０７、Ｓ１０８と同様に、現実画像データの取得（ステップＳ２０３）、マーカ検出（ステップＳ２０４でＹｅｓ）、一致度判断（ステップＳ２０５）を行う。マーカ検出部１２１は、マーカの一致度の判断結果をマーカ補正部１２５に供給する。
【００６４】
マーカ補正部１２５は、所定の一致度をもつ（ステップＳ２０５でＹｅｓ）マーカについて、基準マーカに対するマーカの歪みをもとに、マーカに対する撮影部１０１の空間的な位置関係を推定する。具体的には、マーカ補正部１２５（角度取得部）は、投影対象物（机など）に投影されたマーカに対する撮影部１０１の角度及び距離（入力装置２００が投影するマーカ画像の光軸と現実風景内の投影対象面との角度及び距離）を算出する（ステップＳ２０６）。マーカ補正部１２５は、算出した角度及び距離をもとに、検出された歪みのあるマーカを基準マーカの形状に補正するための平面座標変換行列を生成する（ステップＳ２０７）。マーカ補正部１２５は、検出したマーカに対して平面座標変換行列を用いた座標変換を行い、補正マーカを算出する（ステップＳ２０８）。マーカ補正部１２５（変形付与部）は、第１の送受信器１０８を用いて、入力装置２００に算出した補正マーカを通知する（ステップＳ２０９）。これにより、入力装置２００は、歪みのあるマーカの投影を停止して補正マーカの投影を開始することが可能となる。さらに、マーカ補正部１２５は、入力装置２００に補正マーカを通知したことをマーカ検出部１２１に通知する。
【００６５】
マーカ補正部１２５が入力装置２００に補正マーカを通知（ステップＳ２０９）した後、現実画像データ取得（ステップＳ２１０）、補正マーカ検出（ステップＳ２１１でＹｅｓ）、補正マーカ一致度判断（ステップＳ２１２）が行われる。マーカ検出部１２１は、判断結果を重畳パラメータ生成部１２２に供給する。その後、ステップＳ１０９〜Ｓ１１３と同様に、第１の重畳パラメータの計算及び補正（ステップＳ２１３、Ｓ２１４）、座標変換行列の生成（ステップＳ２１５）、オブジェクト画像データの算出及び表示（ステップＳ２１６、Ｓ２１７）が行われる。
【００６６】
一方、非投影ＨＭＤ（ステップＳ２０２でＮｏ）は、ステップＳ２１０〜Ｓ２１７の処理を行う。ここで、検出（ステップＳ２１１でＹｅｓ）されるマーカが補正マーカであれば、非投影ＨＭＤは基準マーカ形状を有する補正マーカをもとに第１の重畳パラメータを計算することとなる。
【００６７】
［第２の処理の効果］
以上、第２の処理によれば、次のような効果が期待できる。
１．図１１に示すように、第１のユーザＵ１が投影した補正マーカＭ’は、投影対象物上で歪みの無い基準マーカ形状となる。これにより、第２のユーザＵ２の非投影ＨＭＤ１００Ｂによる重畳パラメータの計算として、歪んだマーカ（図２のＭ）を基準マーカ形状に補正する必要が無く、補正マーカＭ’に対する重畳パラメータを計算しさえすればよいので、非投影ＨＭＤ１００Ｂによる計算量が小さく済む。その結果、計算に掛かる時間が少なくて済み、第２のユーザＵ２が、第１のユーザＵ１が実際に見ているオブジェクトをリアルタイムに見ることができる。すなわち、投影ＨＭＤ１００Ａの表示結果と非投影ＨＭＤ１００Ｂの表示結果との間に時間的ずれが生じにくく、仮に生じたとしても無視できるほど小さい値で済む。また、非投影ＨＭＤ１００Ｂによる計算が正確性を保つことができる。すなわち、投影ＨＭＤ１００Ａの表示結果と非投影ＨＭＤ１００Ｂの表示結果との間に空間的ずれが生じにくい。結果として、第１のユーザが操作する仮想情報を複数のユーザが鑑賞する場合でも、各ユーザが装着するＨＭＤが表示するオブジェクトの角度、位置及び大きさのずれが少ない。
【００６８】
なお、重畳パラメータ生成部１２２は、投影対象物（机など）に投影されたマーカに対する撮影部１０１の角度及び距離（入力装置２００が投影するマーカ画像の光軸と現実風景内の投影対象面との角度及び距離）（ステップＳ２０６）をもとに重畳パラメータを生成することとしてもよい。
【００６９】
＜第３の処理＞
［第３の処理の概要］
マーカが投影された投影対象物が何であるか、どこであるかを問わず仮想情報を表示すると、図１２に示すように、次のような表示形態が生じるおそれがある。
・マーカが机１０の隅に投影された場合、仮想情報が部分的に机１０からはみ出して空中に浮いているかのように表示される（図中Ａ）。
・マーカがパーティション１１に投影された場合、マーカの投影位置近傍に椅子１２、机１０など別の物体が存在すると、仮想情報が部分的に当該物体上に表示される（図中Ｂ）。
・比較的面積が小さいパーティション１１にマーカを投影しようとして、マーカがペーティション１１を外れて遠くに位置する壁１３に投影されると、仮想情報が遠くに位置する壁１３に表示される（図中Ｃ）。
・ユーザにとって近すぎる位置にマーカが投影される場合、表示部１０２がハードウェア性能的にうまく結像できない場所に仮想情報が表示される（図中Ｄ）。
以上のような状態では、ユーザが違和感や不快感を覚えたり、肉体的苦痛（眼精疲労など）を感じるおそれがある。
【００７０】
以上のような事情に鑑み、本技術の第３の処理では、マーカに基づいて仮想情報を表示するとユーザにとって違和感等が生じるおそれが生じる可能性がある場合、ユーザにとって違和感等が生じる可能性の少ない形態で仮想情報を表示する。具体的には、現実空間に仮想情報を重畳して表示させたときにその内容が自然法則に反するかどうか及び／又は要求される視覚品質上の条件を満足するかどうかを予め決められたルールに従って判定し、反する場合に仮想情報の表示を無効化する。
【００７１】
［第３の処理を実行するためのＨＭＤの機能的な構成］
図１３は、第３の処理を実行するためのＨＭＤ１００の機能的な構成を示すブロック図である。
ＨＭＤ１００は、撮影部１０１、マーカ検出部１２１、重畳パラメータ生成部１２２、マーカ位置判断部１２６、変換行列算出部１２３、画像データ生成部１２４及び表示部１０２を有する。
【００７２】
マーカ位置判断部１２６は、マーカ検出部１２１が検出したマーカの、現実空間に対する空間的な位置関係（第３の位置関係）を判断し、判断結果を重畳パラメータ生成部１２２に供給する。
【００７３】
［ＨＭＤによる第３の処理の動作］
図１４は、ＨＭＤ１００による第３の処理の動作を示すフローチャートである。
ＣＰＵ１０３が所定の初期化処理を行うと（ステップＳ３０１）、撮影部１０１は現実画像データを取得する（ステップＳ３０２）。撮影部１０１は、取得した現実画像データをマーカ検出部１２１及びマーカ位置判断部１２６に供給する。マーカ検出部１２１は、ステップＳ１０７と同様にマーカを検出し（ステップＳ３０３でＹｅｓ）、検出結果を重畳パラメータ生成部１２２及びマーカ位置判断部１２６に供給する。そして、ステップＳ１０８〜Ｓ１１０と同様に、一致度判断（ステップＳ３０４）、第１の重畳パラメータの計算及び補正（ステップＳ３０５、Ｓ３０６）が行われる。
【００７４】
マーカ位置判断部１２６は、撮影部１０１から取得した現実画像データとマーカ検出部１２１が検出したマーカをもとに、現実空間に対するマーカの空間的な位置関係を判断し、判断結果を重畳パラメータ生成部１２２に供給する。重畳パラメータ生成部１２２（第２の仮想情報表示制御部）は、マーカ位置判断部１２６から取得した判断結果が、所定の位置関係が成立するものである場合には（ステップＳ３０７でＹｅｓ）、生成（ステップＳ３０５、Ｓ３０６）した第１の重畳パラメータを変換行列算出部１２３に供給しない。その結果、この第１の重畳パラメータによる表示処理が行われないこととなる。一方、重畳パラメータ生成部１２２は、所定の位置関係が成立しない場合には（ステップＳ３０７でＮｏ）、生成（ステップＳ３０５、Ｓ３０６）した第１の重畳パラメータを変換行列算出部１２３に供給する。
【００７５】
この「所定の位置関係」とは、現実空間に仮想情報を重畳して表示させたときにその内容が自然法則に反する及び／又は要求される視覚品質上の条件を満足しない位置関係である。「自然法則に反する及び／又は要求される視覚品質上の条件を満足しない位置関係」とは、現実空間に仮想情報を重畳して表示するとユーザが違和感や不快感を覚えたり、肉体的苦痛（眼精疲労など）を感じるおそれがある位置関係である。「自然法則に反する及び／又は要求される視覚品質上の条件を満足しない位置関係」として、具体的には、上記図１２に示すように、以下の位置関係が挙げられる。
・マーカが投影された対象物（机や壁など、以下「投影対象物」と呼ぶ。）の輪郭とマーカとの最短距離が所定値未満である（図１２のＡ）。又は、マーカの少なくとも一部が投影対象物の輪郭に重なる。
・マーカから所定距離以内に柱、椅子、机など別の物体が存在する（図１２のＢ）。
・マーカと撮影部１０１との距離が所定値以上である（マーカが遠すぎる）（図１２のＣ）。
・マーカと撮影部１０１との距離が所定値未満である（マーカが近すぎる）（図１２のＤ）。
【００７６】
図１４に戻って、変換行列算出部１２３は、第１の重畳パラメータを取得すると（ステップＳ３０７でＮｏ）、ステップＳ１１１〜Ｓ１１３と同様に、座標変換行列の生成（ステップＳ３０８）、オブジェクト画像データの算出及び表示（ステップＳ３０９、Ｓ３１０）が行われる。ＨＭＤ１００を装着したユーザが複数いる場合、ＨＭＤ１００は、自機器ＩＤ及び重畳パラメータを他のＨＭＤ１００に送信する（ステップＳ３１１）。
【００７７】
なお、ステップＳ３０７の判断結果が所定の位置関係が成立するというものである場合（ステップＳ３０７でＹｅｓ）、画像データ生成部１２４（第２の仮想情報表示制御部）により以下の処理を行ってもよい。
・図１５に示すように、表示中の仮想情報を消す。
・加えて、図１５に示すように、仮想情報を縮小又はアイコン化した画像データＩａ、Ｉｂ、Ｉｃ、Ｉｄを生成し、視野内の安全領域Ｓに表示する。この「安全領域」とは、例えば、現実空間に存在する物体との干渉が生じにくい位置、表示部１０２が結像可能な範囲内での手前（視野範囲中、下方）の位置、視野の妨げになりにくい視野範囲中の端部の位置などであればよい。
・マーカが投影された対象物（机や壁など、以下「投影対象物」と呼ぶ。）の輪郭とマーカとの最短距離が所定値未満（図１２のＡ）又はマーカの少なくとも一部が投影対象物の輪郭に重なる場合、以下の処理を行ってもよい。入力装置が任意の図形を投影できるレーザプロジェクタなどの装置である場合、投影されたマーカのサイズや形状を、表示される仮想情報のサイズや形状に対応するように変化させる。これにより、現実空間と仮想情報との干渉の可能性をユーザが直感的に把握しやすくなる。例えば、図１６に示すように、既にマーカＭ１が投影され仮想情報Ｉ１が表示されている状況（Ａ）において、ユーザの入力操作によって仮想情報Ｉ１の向きや姿勢が仮想情報Ｉ２に変化するとする（仮想情報Ｉ１が回転）。この場合、マーカＭ１が回転した後のマーカＭ１’を、仮想情報Ｉ２の大部分に重なるような形状のマーカＭ２に変化させる（Ｂ）。これにより、マーカの少なくとも一部が投影対象物の輪郭に重なるかどうかを、ユーザが直感的に把握しやすくなる。
【００７８】
［第３の処理の効果］
以上、第３の処理によれば、次のような効果が期待できる。
１．マーカに基づいて仮想情報を表示するとユーザにとって違和感、不快感及び肉体的苦痛（眼精疲労など）等が生じるおそれが生じる可能性がある場合、ユーザにとって違和感等が生じる可能性の少ない形態で仮想情報を表示することができる。
【００７９】
＜第２の実施形態＞
［第２の実施形態の概要］
第２の実施形態は、第１の実施形態の第２の処理にて行われた複数のＨＭＤ（投影ＨＭＤ、非投影ＨＭＤ）による仮想情報の表示を実現可能し、第２の処理の効果と同様の効果を達成可能とする。
【００８０】
図１７は、本技術の第２の実施形態に係る情報処理システム２を示す模式図である。
本実施形態では、投影ＨＭＤ１００Ａの重畳パラメータを、無線通信を用いて複数の非投影ＨＭＤ１００Ｂ、１００Ｃで共有する。そして、非投影ＨＭＤ１００Ｂ、１００Ｃは、投影ＨＭＤ１００Ａの重畳パラメータを用いて、自ＨＭＤ１００Ｂ、１００Ｃの重畳パラメータを補正する。これにより、第２の実施形態によっても、１人のユーザが操作する仮想情報を複数のユーザが鑑賞する場合、各ユーザが装着するＨＭＤ（投影ＨＭＤ、非投影ＨＭＤ）が表示するオブジェクトの角度、位置及び大きさのずれを少なくすることができる。
【００８１】
［ＨＭＤのハードウェア構成］
図１８は、第２の実施形態に係るＨＭＤ（投影ＨＭＤ、非投影ＨＭＤ）１００ａのハードウェア構成を示すブロック図である。
ＨＭＤ１００ａは、第１の実施形態のＨＭＤ１００のハードウェア構成（図３）に加えて、第４の送受信器１１１を有する。
第４の送受信器１１１は、Ｂｌｕｅｔｏｏｔｈ（登録商標）、赤外線などの近距離無線送受信器であり、他のＨＭＤ１００ａとの情報のやり取りを行う。より具体的には、第４の送受信器１１１（送信部）は、投影ＨＭＤ１００ａの重畳パラメータを、非投影ＨＭＤ１００ａが共有するために非投影ＨＭＤ１００ａに対して送受信するなどの処理を行う。
【００８２】
［ＨＭＤによる動作］
まず、（１）投影ＨＭＤ１００ａの動作について説明し、次に、（２）非投影ＨＭＤ１００ａの動作について説明する。
【００８３】
［（１）投影ＨＭＤによる動作］
図１９は、投影ＨＭＤ１００ａによるメイン動作を示すフローチャートである。
ＣＰＵ１０３が所定の初期化処理を行うと（ステップＳ４０１）、投影ＨＭＤ１００ａは、ステップＳ１０２、ステップＳ１０７〜Ｓ１１３と同様に、現実画像データの取得（ステップＳ４０２）、マーカ検出（ステップＳ４０３）、マーカの一致度判断（ステップＳ４０４）、重畳パラメータの計算及び補正（ステップＳ４０５、Ｓ４０６）、座標変換行列生成（ステップＳ４０７）、オブジェクト画像データの算出（ステップＳ４０８）、オブジェクト画像データの表示（ステップＳ４０９）を行う。そして、投影ＨＭＤ１００ａは、自ＨＭＤ１００ａの機器ＩＤと、ステップＳ４０６で得た重畳パラメータを、第４の送受信器１１１（送信部）を用いて他ＨＭＤ１００ａに送信する（ステップＳ４１０）。これにより、投影ＨＭＤ１００ａの重畳パラメータが、非投影ＨＭＤ１００ａにより共有される。
【００８４】
［（２）非投影ＨＭＤによる動作］
図２０は、非投影ＨＭＤ１００ａによる、投影ＨＭＤ１００ａの重畳パラメータ取得の動作を示すフローチャートである。
ＣＰＵ１０３が所定の初期化処理を行い（ステップＳ５０１）、第４の送受信器１１１が、投影ＨＭＤ１００ａより送信（ステップＳ４１０）された機器ＩＤ及び重畳パラメータを受信する（ステップＳ５０２でＹｅｓ）。ＣＰＵ１０３は、取得（ステップＳ５０３）した機器ＩＤ及び重畳パラメータをメモリ１０４に格納する（ステップＳ５０４）。
【００８５】
非投影ＨＭＤ１００ａによるメイン動作は、投影ＨＭＤ１００ａによるメイン動作（ステップＳ４０１〜ステップＳ４１０）と同様であり、図１９のフローチャートを参照して異なる点のみ説明する。ステップＳ４０６において、非投影ＨＭＤ１００ａの重畳パラメータ生成部１２２（補正部）は、メモリ１０４に格納（ステップＳ５０４）された投影ＨＭＤ１００ａの重畳パラメータをもとに重畳パラメータを補正する。
【００８６】
なお、非投影ＨＭＤ１００ａによる、投影ＨＭＤ１００ａの重畳パラメータ取得の動作（ステップＳ５０１〜ステップＳ５０４）は、メイン処理（ステップＳ４０１〜ステップＳ４１０）に対して割り込み又はマルチスレッドで実行すればよい。また、動作開始時又は動作中にユーザの位置が大きく移動した場合、複数のユーザ全員が投影対象物の任意の位置にマーカを投影するキャリブレーションステップを行えばよい。
【００８７】
［第２の実施形態の効果］
以上、第２の実施形態によれば、次のような効果が期待できる。
１．非投影ＨＭＤは、自ＨＭＤとマーカが投影された投影対象物（壁など）との角度及び距離をもとに算出した重畳パラメータを、投影ＨＭＤの重畳パラメータをもとに補正する。これにより、非投影ＨＭＤによる計算が正確性を保つことができ、すなわち、投影ＨＭＤの表示結果と非投影ＨＭＤの表示結果との間に空間的ずれが生じにくい。結果として、１人のユーザが操作する仮想情報を複数のユーザが鑑賞する場合でも、各ユーザが装着するＨＭＤが表示するオブジェクトの位置、角度及び大きさのずれが少ない。
【００８８】
＜変形例１＞
変形例１は、第１の実施形態の第２の処理にて行われた複数のＨＭＤ（投影ＨＭＤ、非投影ＨＭＤ）による仮想情報の表示を実現可能とし、第２の処理の効果と同様の効果を達成可能とする。
【００８９】
図２１は、変形例１に係る情報処理システム２ａを示す模式図である。
仮想情報の表示対象である表示対象物Ｔ（壁、パーティションなど）に、実在する物理的なマーカＭを付与する。複数のＨＭＤ１００はそれぞれ、自ＨＭＤと、表示対象物Ｔが付与されたマーカＭとの距離及び角度を算出する。
この方式によっても、各複数のＨＭＤによる計算が正確性を保つことができ、すなわち、各複数のＨＭＤの表示結果の間に時間的及び空間的ずれが生じにくい、という効果が期待できる。
【００９０】
＜変形例２＞
図２２は、変形例２に係る情報処理システム３を示す模式図である。図２３は、変形例２に係る情報処理システム３のハードウェア構成を示すブロック図である。
情報処理システム３は、ＨＭＤ１００ｂ、入力装置２００及び携帯情報端末４００を有する。上記各実施形態では、ＨＭＤ１００、１００ａに設けられたＣＰＵ１０３がメイン処理を実行した。これに対して、本変形例の情報処理システムは、ＨＭＤ１００ｂとは独立した携帯情報端末４００がメイン処理を実行する。この携帯情報端末４００として例えばスマートフォンや携帯型ゲーム機を採用することができる。
【００９１】
ＨＭＤ１００ｂは、第１の実施形態のＨＭＤ１００のハードウェア構成から第１の送受信器１０８及び第２の送受信器１０９を除き、第５の送受信器１１２をさらに有する。第５の送受信器１１２は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの中・低速近距離無線送受信器であり、携帯情報端末４００との情報のやり取りを行う。より具体的には、第５の送受信器１１２は、撮影部が取得した現実画像の画像入力信号を携帯情報端末４００に送信するなどの処理を行う。
【００９２】
入力装置２００ａは、第１の実施形態の入力装置２００のハードウェア構成から第３の送受信器２０８を除き、第６の送受信器をさらに有する。第６の送受信器２１３は、Ｂｌｕｅｔｏｏｔｈ（登録商標）、赤外線などの近距離無線送受信器であり、携帯情報端末４００との情報のやり取りを行う。より具体的には、第６の送受信器２１３は、ユーザにより入力部に入力されたズーム操作などの操作入力信号を携帯情報端末４００に送信するなどの処理を行う。
【００９３】
ＨＭＤ１００ｂが第１の送受信器１０８を有さず、入力装置２００ａが第２の送受信器を有さないことから、ＨＭＤ１００ｂと入力装置２００ａとは直接情報のやり取りを行わず、ＨＭＤ１００ｂと入力装置２００ａとの情報のやり取りは携帯情報端末４００を介して行われる。
【００９４】
携帯情報端末４００は、ＣＰＵ４０１と、それぞれＣＰＵ４０１に接続されたメモリ４０２、表示部４０３、入力部４０４、第７の送受信器及４０５、第８の送受信器４０６及び第９の送受信器４０８と、内部電源４０７とを有する。
ＣＰＵ４０１は、メモリ４０２に格納されたプログラムに従って、上記各実施形態で述べた各機能部として各種処理を実行する。
第７の送受信器４０５は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの中・低速近距離無線送受信器であり、ＨＭＤ１００ｂとの情報のやり取りを行う。より具体的には、第７の送受信器４０５は、ＨＭＤ１００ｂの表示部が表示すべき仮想情報の画像出力信号をＨＭＤ１００ｂに送信するなどの処理を行う。
第８の送受信器４０６は、Ｂｌｕｅｔｏｏｔｈ（登録商標）、赤外線などの近距離無線送受信器であり、入力装置２００ａとの情報のやり取りを行う。より具体的には、第８の送受信器４０６は、入力装置２００ａが投影するマーカとしての図形のパターンを変更するための変更信号を入力装置２００ａに送信するなどの処理を行う。
第９の送受信器４０８は、例えば、３Ｇ（3rd Generation）、ＷｉＭＡＸ（Worldwide Interoperability for Microwave Access、登録商標）などの高速中距離無線送受信器又は高速遠距離無線送受信器であり、インターネットやＬＡＮ（Local Area Network）などのネットワークＮに接続し、仮想情報として表示するコンテンツをダウンロードしたりする。
【００９５】
なお、ＨＭＤ１００ｂの第５の送受信器１１２と携帯情報端末４００の第７の送受信器４０５とは、それぞれ有線送受信器であってもよい。
【００９６】
＜変形例３＞
図２４は、変形例３に係る情報処理システム４を示す模式図である。
本変形例の情報処理システム４のハードウェア構成は、第１の実施形態の情報処理システム１のハードウェア構成（図３）と同様である。
上記実施形態では、ＨＭＤに設けられたＣＰＵがメイン処理を実行した。これに対して、本変形例の情報処理システム４は、入力装置２００としての携帯情報端末がメイン処理を実行する。この携帯情報端末として例えばスマートフォンや携帯型ゲーム機を採用することができる。
【００９７】
ＨＭＤ１００の第１の送受信器１０８は、撮影部１０１が取得した現実画像の画像入力信号を入力装置（携帯情報端末）２００に送信するなどの処理を行う。
【００９８】
入力装置（携帯情報端末）２００の第３の送受信器２０８は、ＨＭＤ１００の表示部１０２が表示すべき仮想情報の画像出力信号をＨＭＤ１００に送信するなどの処理を行う。
入力装置（携帯情報端末）２００のＣＰＵ２１２は、メモリ２０５に格納されたプログラムに従って、上記実施形態で述べた各機能部として各種処理を実行する。
【００９９】
なお、表示部１０２及び撮影部１０１が１つの装置（ＨＭＤ１００）に搭載されている場合、重畳パラメータ補正（ステップＳ１１０）は、ＨＭＤ１００の位置と入力装置２００の位置との関係をもとに行えばよい。
【０１００】
＜変形例４＞
図２５は、変形例４に係る情報処理システム５を示す模式図である。図２６は、変形例４に係る情報処理システム５のハードウェア構成を示すブロック図である。
上記実施形態では、ＨＭＤ１００とは独立した入力装置２００を用いてマーカ投影や仮想情報に対する入力操作を行った。これに対して本変形例では、入力装置を別途設けずに、ＨＭＤ１００ｃのみでマーカ投影や仮想情報に対する入力操作を含む全ての動作を実現する。
【０１０１】
ＨＭＤ１００ｃは、第１の実施形態のＨＭＤ１００のハードウェア構成から第１の送受信器１０８を除き、ＣＰＵ１０３に接続された変調部１１３と、変調部１１３に接続された投影部１１４とをさらに有する。変調部１１３及び投影部１１４は、上記実施形態の入力装置２００に設けられた変調部２０９及び投影部２１０の機能と同様の機能を有する。
ユーザは、ＨＭＤ１００ｃを装着した状態で首を動かすことで、仮想情報に対して操作を行うことができる。例えば、ユーザが首を上下左右に向けてマーカの投影位置を移動すると、表示される仮想情報の表示位置を移動（ドラッグ）させることができる。
【０１０２】
＜変形例５＞
図２７は、変形例５に係る情報処理システム６を示す模式図である。
情報処理システム６は、複数のＨＭＤ１００Ａ、１００Ｂ、１００Ｃと、複数の入力装置２００と、仮想情報として表示されるコンテンツのコンテンツデータを保持するサーバ装置５００とを有する。
【０１０３】
投影ＨＭＤ１００Ａは、無線又は有線ＬＡＮ（Local Area Network）を通じてサーバ装置５００から、仮想情報として表示されるコンテンツのコンテンツデータを検索して取得する。投影ＨＭＤ１００Ａは、近距離無線送受信器（第４の送受信器１１１）を用いて、非投影ＨＭＤ１００Ｂ、１００Ｃにサーバ装置５００から取得したコンテンツデータを供給する。これにより、投影ＨＭＤ１００Ａ及び非投影ＨＭＤ１００Ｂ、１００Ｃはそれぞれ同一のコンテンツを仮想情報として表示することができる。
【０１０４】
＜変形例６＞
図２８は、変形例６に係る情報処理システム７を示す模式図である。
情報処理システムは、メイン処理装置６００と、投影／撮影装置７００と、１以上の表示装置８００とを有する。
【０１０５】
メイン処理装置６００は、投影すべきマークＭの形状や現実空間Ｓ内の位置などを、近距離無線又は有線通信により投影／撮影装置７００に命令する。また、メイン処理装置６００は、現実画像データを投影／撮影装置７００より取得し、取得した現実画像データをもとに仮想情報のオブジェクト画像データを算出する。メイン処理装置６００は、算出したオブジェクト画像データを現実画像データに重畳して表示データを生成し、生成した表示データを無線通信により複数の表示装置８００に供給する。
投影／撮影装置７００は、マーカＭを現実空間Ｓに投影し、定点カメラにより現実空間Ｓを撮影して現実画像データを取得し、取得した現実画像データをメイン処理装置６００に供給する。
表示装置８００は、メイン処理装置６００から取得した表示データを表示する。表示装置８００は、例えば、ＨＵＤ（Head-Up Display）である。ＨＵＤとして、具体的には、デジタルサイネージ（電子看板）、机上や車ダッシュボード上に載置され得る透明ディスプレイ、携帯情報端末のディスプレイなどを採用することができる。
【０１０６】
＜変形例７＞
図２９は、変形例７に係る入力装置２００ｂを示す斜視図である。
入力装置２００ｂは、投影ボタン２０１、ホイール２１４、メニューボタン２１５、選択ボタン２１６を有し、ポインティングデバイスとしての機能を持つ。入力装置２００ｂは、ＯＳ（Operating System）に対する以下のような入力操作処理を行う。
（１）投影ボタン２０１が操作されると、投影窓２０４からマーカの投影が開始され、仮想情報としてのポインタが表示される。
（２）仮想情報として表示されたアイコンやウィンドウ上に仮想情報としてのポインタが表示された環境において入力装置２００ｂ（ポインティングデバイス）を移動し、選択ボタン２１６をクリックすると、アイコンが選択されたり、ボタンがクリックされる。
・上記環境において、選択ボタン２１６をダブルクリックすると、オブジェクトが実行される。
・上記環境において、選択ボタン２１６を押しながら入力装置２００ｂを移動すると、オブジェクトが移動（ドラッグ）する。
・上記環境において、選択ボタン２１６を押しながら入力装置２００ｂを回転させると、オブジェクトが回転する。
・上記環境において、ホイール２１４を回転すると、オブジェクトが拡大／縮小したり、オブジェクトがスクロールされる。
（３）オブジェクトのドラッグ・回転操作後に選択ボタン２１６を離すと、仮想情報としてのオブジェクトは、現実空間との相対位置を保持して固定し表示され続ける。
（４）メニューボタン２１５を操作すると、サブメニューが表示される。
（５）マーカ投影中に投影ボタン２０１を押すとマーカの投影が終了する。マーカの投影が終了した後、その時点で表示されている仮想情報を一定期間表示し続けることとしても良い。
【０１０７】
＜変形例８＞
マーカ投影及び重畳パラメータ演算停止後も仮想情報を表示し続ける場合（ステップＳ１０６でＹｅｓ）、画像データ生成部１２４（第１の仮想情報表示制御部）は、仮想情報の表示をあらかじめ決められたイベントの発生により停止させればよい。この「あらかじめ決められたイベント」の例としては次のようなものが挙げられる
・入力装置２００に対する操作が行われる。例えば、入力装置２００に仮想情報オフボタン（図示せず）が設けられる場合、仮想情報オフボタンが押下される。
・マーカ投影停止後一定時間が経過する。
・撮影部１０１（ＨＭＤ１００）が一定距離以上移動する。
・撮影部１０１（ＨＭＤ１００）が一定角度以上回転移動する。
【０１０８】
＜変形例９＞
図５は、変形例９に係る情報処理システム８を模式的に示すブロック図である。
情報処理システムは、ＨＭＤ１００と、入力装置２００と、撮影部９０１、表示部９０２及びメイン処理部９０３を有する情報処理装置９００（例えば、パーソナルコンピュータ（Personal Computer）、以下ＰＣと呼ぶ）とを有する。入力装置２００は現実空間にマーカを投影可能である。撮影部９０１及び表示部９０２はＰＣ９００に接続又は搭載され、表示部９０２はディスプレイ（図３０のディスプレイ９０４）を有する。
【０１０９】
図３０に示すように、ユーザＵは入力装置２００を用いてディスプレイ９０４上にマーカＭ１を投影する。撮影部９０１は、入力装置２００の投影窓を撮影する。メイン処理部９０３は、撮影された投影窓２０４の撮影部９０１に対する角度や距離などをもとにディスプレイ９０４上でのマーカ投影位置を算出する。表示部９０２は、ディスプレイ９０４に表示されたマーカＭに対して仮想情報Ｉ１を表示する。
続いて、図３１に示すように、ユーザＵは入力装置２００を移動してディスプレイ９０４上でマーカを移動させることで、仮想情報がディスプレイ９０４上で移動（ドラッグ）する。ユーザＵはさらに入力装置２００を移動し、ディスプレイ９０４から離れて投影対象物（机など）９１０上にマーカを移動させる（マーカＭ２）。ＰＣ９００のメイン処理部９０３は、マーカＭ２がディスプレイ９０４から離れて投影対象物９１０上に移動したことを無線通信によりＨＭＤ１００に通知する。
この通知を受けると、図３２に示すように、ＨＭＤ１００は、投影対象物９１０上に投影されたマーカＭ２を撮影し、仮想情報Ｉ２を表示する。
【０１１０】
＜変形例１０＞
入力装置が投影するマーカの図形は既存のものを使用してもよい。具体的には、ＨＭＤの撮影部が現実空間に存在するマーカを撮影する。あるいは、ＨＭＤは既存のマーカをネットワークを通じてダウンロードする。ＨＭＤは撮影又はダウンロードにより取得したマーカを無線通信により入力装置に供給する。ここで入力装置は、任意の図形を投影可能なレーザプロジェクタなどの装置である。入力装置は、ＨＭＤより取得したマーカを現実空間に投影する。
【０１１１】
＜変形例１１＞
マーカ投影の光源として、可視領域外（赤外、紫外など）レーザを使用してもよい。これにより、ＨＭＤを装着しないユーザにマーカ及び仮想情報を視認させないようにすることができる。一方、ＨＭＤを装着するユーザは仮想情報を視認可能である。さらに、ＨＭＤの表示部に可視領域外（赤外、紫外など）レーザを視認可能とする処置を施すことにより、ＨＭＤを装着するユーザはマーカを視認可能としてもよい。
【０１１２】
＜変形例１２＞
上記各実施形態では、ユーザが入力装置を用いて仮想情報に対して操作を行うことができるとしたが、ＨＭＤのＣＰＵが予めメモリに記憶されたプログラムに従って仮想情報の位置や角度を変更してもよい。この場合、最初に仮想情報を表示する基準位置を、表示装置から投影されるマーカに基づき決定することとすればよい。
【０１１３】
＜変形例１３＞
重畳パラメータの補正として以下のような手法を用いてもよい。ユーザが入力装置を自然に操作可能な領域は限定される（例えば、胸の前５０ｃｍ四方）。一方、ＨＭＤに搭載された撮影部の場合、ユーザと撮影部の位置関係がある程度固定される。このため、撮影部と入力装置との位置関係もまた、ある程度固定される。これを利用し、撮影部によって撮影したマーカをもとに算出される仮想情報の第１の重畳パラメータを、ユーザにとってより自然に見える様に補正してもよい。この手法は、ＨＭＤが、撮影部に対する入力装置の位置・向きを検出することができない場合でも用いることができる。
【０１１４】
なお、本技術は以下のような構成も採ることができる。
（１）現実風景を撮影して現実画像を取得する撮影部と、
投影装置により前記現実風景に投影された図形の画像を前記現実画像から検出する図形検出部と、
前記現実風景の前記現実画像から特徴点をリアルタイムに検出する特徴点検出部と、
前記図形と前記撮影部との第１の位置関係をもとに、前記現実風景に仮想情報を重畳して表示部に表示させるために必要なパラメータを生成し、前記現実画像から前記図形が消失したとき、前記図形が最後に検出された時点での前記現実風景との第２の位置関係を保持しつつ前記仮想情報を表示し続けるように、前記特徴点検出部による検出結果をもとに前記パラメータを生成するパラメータ生成部と
を具備する情報処理装置。
（２）上記（１）に記載の情報処理装置であって、
前記特徴点検出部による検出結果をもとに生成された前記パラメータを用いた前記仮想情報の表示を、あらかじめ決められたイベントの発生により停止させる第１の仮想情報表示制御部
をさらに具備する情報処理装置。
（３）上記（１）又は（２）に記載の情報処理装置であって、
前記投影装置が投影する画像の光軸と前記現実風景内の投影対象面との角度を取得する角度取得部と、
前記投影対象面に前記投影装置より投影された図形が、あらかじめ決められた基準形状となるように、前記取得した角度をもとに前記投影装置により投影される図形に対して変形を付与する変形付与部
をさらに具備する情報処理装置。
（４）上記（１）から（３）のいずれか１つに記載の情報処理装置であって、
前記パラメータ生成部は、変形が付与された図形と前記撮影部との第１の位置関係をもとに、前記パラメータを生成する
情報処理装置。
（５）上記（１）から（４）のいずれか１つに記載の情報処理装置であって、
前記現実風景に前記仮想情報を重畳して表示させたときにその内容が自然法則に反するかどうか及び／又は要求される視覚品質上の条件を満足するかどうかを予め決められたルールに従って判定し、反する及び／又は満足しない場合に、前記仮想情報の表示を無効化する第２の仮想情報表示制御部
をさらに具備する情報処理装置。
（６）上記（１）から（５）のいずれか１つに記載の情報処理装置であって、
前記現実風景に前記仮想情報を重畳して表示させたときにその内容が自然法則に反するかどうか及び／又は要求される視覚品質上の条件を満足するかどうかを予め決められたルールに従って判定し、反する及び／又は満足しない場合に、自然法則及び／又は視覚品質上の条件を満足するように、仮想情報の表示位置を変更する第２の仮想情報表示制御部
をさらに具備する情報処理装置。
（７）上記（１）から（６）のいずれか１つに記載の情報処理装置であって、
前記表示部
をさらに具備する情報処理装置。
（８）上記（１）から（７）のいずれか１つに記載の情報処理装置であって、
前記投影装置
をさらに具備する情報処理装置。
（９）第１の現実風景を撮影して第１の現実画像を取得する第１の撮影部と、
投影装置により前記現実風景に投影された図形の画像を前記第１の現実画像から検出する第１の図形検出部と、
前記現実風景の前記第１の現実画像から特徴点をリアルタイムに検出する特徴点検出部と、
前記図形と前記第１の撮影部との第１の位置関係をもとに、前記現実風景に仮想情報を重畳して第１の表示部に表示させるために必要な第１のパラメータを生成し、前記第１の現実画像から前記図形が消失したとき、前記図形が最後に検出された時点での前記現実風景との第２の位置関係を保持しつつ前記仮想情報を表示し続けるように、前記特徴点検出部による検出結果をもとに前記第１のパラメータを生成する第１のパラメータ生成部と、
前記投影装置が投影する画像の光軸と前記現実風景内の投影対象面との角度を取得する角度取得部と、
前記投影対象面に前記投影装置より投影された図形が、あらかじめ決められた基準形状となるように、前記取得した角度をもとに前記投影装置により投影される図形に対して変形を付与する変形付与部とを有し、
前記第１のパラメータ生成部は、変形が付与された図形と前記第１の撮影部との第１の位置関係をもとに、前記パラメータを生成する
第１の情報処理装置と、
前記第１の現実風景を撮影して第２の現実画像を取得する第２の撮影部と、
前記投影装置により前記第１の現実風景に投影された前記変形が付与された図形の画像を前記第２の現実画像から検出する第２の図形検出部と、
前記変形が付与された図形と前記第２の撮影部との第３の位置関係をもとに、前記現実風景に仮想情報を重畳して第２の表示部に表示させるために必要な第２のパラメータを生成する第２のパラメータ生成部と
を有する第２の情報処理装置と
を具備する情報処理システム。
（１０）第１の現実風景を撮影して第１の現実画像を取得する第１の撮影部と、
投影装置により前記現実風景に投影された図形の画像を前記第１の現実画像から検出する第１の図形検出部と、
前記現実風景の前記第１の現実画像から特徴点をリアルタイムに検出する特徴点検出部と、
前記図形と前記第１の撮影部との第１の位置関係をもとに、前記現実風景に仮想情報を重畳して第１の表示部に表示させるために必要な第１のパラメータを生成し、前記第１の現実画像から前記図形が消失したとき、前記図形が最後に検出された時点での前記現実風景との第２の位置関係を保持しつつ前記仮想情報を表示し続けるように、前記特徴点検出部による検出結果をもとに前記第１のパラメータを生成する第１のパラメータ生成部と、
前記投影装置が投影する画像の光軸と前記現実風景内の投影対象面との角度を取得する角度取得部と、
前記第１のパラメータを第２の情報処理装置に送信する送信部と
を有する第１の情報処理装置と、
前記第１の現実風景を撮影して第２の現実画像を取得する第２の撮影部と、
前記投影装置により前記第１の現実風景に投影された前記図形の画像を前記第２の現実画像から検出する第２の図形検出部と、
前記図形と前記第２の撮影部との第３の位置関係をもとに、前記現実風景に仮想情報を重畳して第２の表示部に表示させるために必要な第２のパラメータを生成する第２のパラメータ生成部と、
前記第１の情報処理装置より前記第１のパラメータを受信し、この受信した第１のパラメータを用いて前記第２のパラメータを補正する補正部と
を有する第２の情報処理装置と
を具備する情報処理システム。
（１１）撮影部により、現実風景を撮影して現実画像を取得し、
図形検出部により、投影装置により前記現実風景に投影された図形の画像を前記現実画像から検出し、
特徴点検出部により、前記現実風景の前記現実画像から特徴点をリアルタイムに検出し、
パラメータ生成部により、前記図形と前記撮影部との第１の位置関係をもとに、前記現実風景に仮想情報を重畳して表示部に表示させるために必要なパラメータを生成し、前記現実画像から前記図形が消失したとき、前記図形が最後に検出された時点での前記現実風景との第２の位置関係を保持しつつ前記仮想情報を表示し続けるように、前記特徴点検出部による検出結果をもとに前記パラメータを生成する
情報処理方法。
【符号の説明】
【０１１５】
１００…ＨＭＤ
１０１…撮影部
１０２…表示部
１２０…三次元構造推定部
１２１…マーカ検出部
１２２…重畳パラメータ生成部
１２４…画像データ生成部
２００…入力装置
【図１】
0005966510.tif 000002
【図２】
0005966510.tif 000003
【図３】
0005966510.tif 000004
【図４】
0005966510.tif 000005
【図５】
0005966510.tif 000006
【図６】
0005966510.tif 000007
【図７】
0005966510.tif 000008
【図９】
0005966510.tif 000009
【図１０】
0005966510.tif 000010
【図１１】
0005966510.tif 000011
【図１２】
0005966510.tif 000012
【図１３】
0005966510.tif 000013
【図１４】
0005966510.tif 000014
【図１５】
0005966510.tif 000015
【図１６】
0005966510.tif 000016
【図１７】
0005966510.tif 000017
【図１８】
0005966510.tif 000018
【図１９】
0005966510.tif 000019
【図２０】
0005966510.tif 000020
【図２１】
0005966510.tif 000021
【図２２】
0005966510.tif 000022
【図２３】
0005966510.tif 000023
【図２４】
0005966510.tif 000024
【図２５】
0005966510.tif 000025
【図２６】
0005966510.tif 000026
【図２７】
0005966510.tif 000027
【図２８】
0005966510.tif 000028
【図２９】
0005966510.tif 000029
【図３０】
0005966510.tif 000030
【図３１】
0005966510.tif 000031
【図３２】
0005966510.tif 000032
【図８】
0005966510.tif 000033