(57)【特許請求の範囲】
【請求項１】
頭部装着型表示装置を装着したユーザの頭部の位置姿勢を検出する第一の検出手段と、
前記ユーザの視野範囲内に存在する、タスクの実行に用いられる入力装置を識別する第一の識別手段と、
前記ユーザの視野範囲内に存在する、前記ユーザが前記入力装置を操作するための操作媒体を識別する第二の識別手段と、
前記第一の検出手段によって検出された前記頭部の位置姿勢に基づいて、前記ユーザの視点位置から、前記第一の識別手段によって識別された入力装置までの第一距離を検出する第二の検出手段と、
前記第一の検出手段によって検出された前記頭部の位置姿勢に基づいて、前記ユーザの視点位置から、前記第二の識別手段によって識別された操作媒体までの第二距離を検出する第三の検出手段と、
前記第二の検出手段によって検出された第一距離と前記識別された入力装置に対して設定された第一規定距離との比較結果と、前記第三の検出手段によって検出された第二距離と前記識別された操作媒体に対して設定された第二規定距離との比較結果とに基づいて、実行すべきタスクを判別する判別手段と、
前記判別手段によって判別されたタスクに応じた情報を前記頭部装着型表示装置に表示させる表示制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記ユーザの視点位置から撮像された前記ユーザの視線方向の画像を取得する取得手段をさらに備え、
前記第一の識別手段は、前記画像内に存在する前記入力装置を、前記視野範囲内に存在する前記入力装置として識別し、
前記第二の識別手段は、前記画像内に存在する前記操作媒体を、前記視野範囲内に存在する前記操作媒体として識別することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記取得手段は、少なくとも前記ユーザの左右の目に対応する複数の視点位置からそれぞれ撮像された前記ユーザの視線方向の複数の画像を取得し、
前記第二の検出手段は、前記取得手段によって取得された前記複数の画像をもとに、三角測量の原理を用いて前記第一距離を検出し、
前記第三の検出手段は、前記取得手段によって取得された前記複数の画像をもとに、三角測量の原理を用いて前記第二距離を検出することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第三の検出手段は、
前記取得手段により取得された前記画像内における前記操作媒体に対応する領域を包含する外接図形の面積と、所定の基準面積とを比較することにより、前記第二距離を検出することを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記入力装置の位置姿勢を検出する第四の検出手段と、
前記操作媒体の位置姿勢を検出する第五の検出手段と、をさらに備え、
前記第一の識別手段は、前記第一の検出手段によって検出された前記頭部の位置姿勢と、前記第四の検出手段によって検出された前記入力装置の位置姿勢とに基づいて、前記視野範囲内に存在する前記入力装置を識別し、
前記第二の識別手段は、前記第一の検出手段によって検出された前記頭部の位置姿勢と、前記第五の検出手段によって検出された前記操作媒体の位置姿勢とに基づいて、前記視野範囲内に存在する前記操作媒体を識別する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記判別手段は、
前記第二の検出手段によって検出された前記第一距離が、前記入力装置の種別毎に予め設定された前記第一規定距離のうち、前記識別された入力装置に対して設定された第一規定距離の範囲内であるか否かを判定する第一の判定手段と、
前記第三の検出手段によって検出された前記第二距離が、前記操作媒体の種別毎に予め設定された前記第二規定距離のうち、前記識別された操作媒体に対して設定された第二規定距離の範囲内であるか否かを判定する第二の判定手段と、を備え、
前記第一の判定手段によって前記第一規定距離の範囲内にあると判定された前記入力装置と、前記第二の判定手段によって前記第二規定距離の範囲内にあると判定された前記操作媒体との組合せに基づいて、前記タスクを判別する
ことを特徴とする請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記判別手段は、１つの前記組合せに対応付けられた複数のタスクの中から、直前に実行されていたタスクに応じたタスクを判別することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記判別手段は、
前記第一の判定手段によって前記第一規定距離の範囲内にあると判定されていた前記入力装置が前記第一規定距離の範囲外にあると判定されてから、種別の異なる前記入力装置が新たに前記第一規定距離の範囲内にあると判定されるまでの時間が、予め設定された規定時間の範囲内である場合、
前記複数のタスクの中から、直前に実行されていたタスクに関連するタスクを判別することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記操作媒体は、前記入力装置を操作する前記ユーザの手であることを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記頭部装着型表示装置は、ビデオシースルー型ヘッドマウントディスプレイ（ＨＭＤ）であることを特徴とする請求項１から９のいずれか１項に記載の情報処理装置。 
【請求項１１】
前記頭部装着型表示装置は、光学シースルー型ヘッドマウントディスプレイ（ＨＭＤ）であることを特徴とする請求項１から９のいずれか１項に記載の情報処理装置。 
【請求項１２】
前記入力装置は、少なくともキーボードを含み、
前記判別手段により判別されるタスクの少なくとも１つは、前記キーボードを操作して文字を入力するタスクであることを特徴とする請求項１から１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記入力装置は、少なくとも指示を入力するためのボタンを有するコントローラを含み、
前記判別手段により判別されるタスクの少なくとも１つは、前記コントローラを操作して前記頭部装着型表示装置に表示された仮想コンテンツを移動するタスクであることを特徴とする請求項１から１２のいずれか１項に記載の情報処理装置。
【請求項１４】
頭部装着型表示装置を装着したユーザの頭部の位置姿勢を検出するステップと、
前記ユーザの視野範囲内に存在する、タスクの実行に用いられる入力装置を識別するステップと、
前記ユーザの視野範囲内に存在する、前記ユーザが前記入力装置を操作するための操作媒体を識別するステップと、
前記頭部の位置姿勢に基づいて、前記ユーザの視点位置から前記入力装置までの第一距離を検出するステップと、
前記頭部の位置姿勢に基づいて、前記ユーザの視点位置から前記操作媒体までの第二距離を検出するステップと、
前記第一距離と前記識別された入力装置に対して設定された第一規定距離との比較結果と、前記第二距離と前記識別された操作媒体に対して設定された第二規定距離との比較結果とに基づいて、実行すべきタスクを判別するステップと、
前記判別によって判別されたタスクに応じた情報を前記頭部装着型表示装置に表示させるステップと、
を含むことを特徴とする情報処理方法。
【請求項１５】
コンピュータを、請求項１から１３のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項１６】
請求項１５に記載のプログラムを記録した、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、頭部装着型表示装置であるＨＭＤ（Head Mounted Display）を利用した複合現実感（Mixed Reality：ＭＲ）技術や、仮想空間（Virtual Reality：ＶＲ）技術に関する研究が進められている。ＭＲ技術やＶＲ技術を用いたシステムにおいては、一つのタスクを実行するだけでなく、複数のタスクを切り替えて実行するといった柔軟性が要求される。
タスクの切り替えには、対象アプリケーションの切り替えが必要である。ところが、キーボード等の入力装置を操作して対象アプリケーションを切り替える必要がある場合、体験者であるユーザは、ＨＭＤを装着したまま入力装置を正確に操作することが困難である。そのため、アプリケーションの切り替え時には、ＨＭＤの着脱を要する。しかしながら、ＭＲシステムやＶＲシステムを体験中にＨＭＤを着脱すると、没入感の阻害やタスク実行効率の低下が発生してしまう。
【０００３】
そこで、近年では、ＭＲシステムやＶＲシステムを体験中、ユーザがＨＭＤを装着したまま対象アプリケーションを切り替えるために、ユーザによる入力装置への指示操作を必要とすることなく対象アプリケーションを切り替える方法が検討されている。このような方法としては、ジェスチャー認識技術を用いたバーチャル入力方式による方法や、パターンマッチングなどの形状認識技術を用いた物体認識入力方式による方法がある。特許文献１には、２次元コードが撮像された画像から、２次元コードのパターンを認識し、認識したパターンに対応する処理を起動する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２１７８３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術では、２次元コードが不用意に画像内に映り込んでしまった場合、ユーザがタスクの切り替えを希望していると誤認識して、自動的にアプリケーションが切り替わってしまう。つまり、ユーザの意図しないタイミングでアプリケーションが切り替わってしまったり、ユーザが希望するアプリケーションに適切に切り替わらなかったりする場合が発生し得る。
そこで、本発明は、ユーザがＨＭＤを装着したまま、且つユーザによる切替指示操作を必要とすることなく、適切にタスクの切り替えを判別することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る情報処理装置の一態様は、頭部装着型表示装置を装着したユーザの頭部の位置姿勢を検出する第一の検出手段と、前記ユーザの視野範囲内に存在する、タスクの実行に用いられる入力装置を識別する第一の識別手段と、前記ユーザの視野範囲内に存在する、前記ユーザが前記入力装置を操作するための操作媒体を識別する第二の識別手段と、前記第一の検出手段によって検出された前記頭部の位置姿勢に基づいて、前記ユーザの視点位置から、前記第一の識別手段によって識別された入力装置までの第一距離を検出する第二の検出手段と、前記第一の検出手段によって検出された前記頭部の位置姿勢に基づいて、前記ユーザの視点位置から、前記第二の識別手段によって識別された操作媒体までの第二距離を検出する第三の検出手段と、前記第二の検出手段によって検出された第一距離と前記識別された入力装置に対して設定された第一規定距離との比較結果と、前記第三の検出手段によって検出された第二距離と前記識別された操作媒体に対して設定された第二規定距離との比較結果とに基づいて、実行すべきタスクを判別する判別手段と、前記判別手段によって判別されたタスクに応じた情報を前記頭部装着型表示装置に表示させる表示制御手段と、を備える。
【発明の効果】
【０００７】
本発明によれば、ユーザがＨＭＤを装着したまま、且つユーザによる切替指示操作を必要とすることなく、適切にタスクの切り替えを判別することができる。
【図面の簡単な説明】
【０００８】
【図１】第一の実施形態の複合現実感システムの構成例を示す図である。
【図２】情報処理装置のハードウェア構成例を示す図である。
【図３】情報処理装置の制御部の機能ブロック図である。
【図４】条件設定テーブルの一例を示す図である。
【図５】情報処理装置の動作を説明するためのフローチャートである。
【図６】情報処理装置の動作を説明するための図である。
【図７】文字入力アプリケーションを起動した状態を示す図である。
【図８】ＣＧ調整アプリケーションを起動した状態を示す図である。
【図９】第二の実施形態の複合現実感システムの構成例を示す図である。
【図１０】第三の実施形態の複合現実感システムの構成例を示す図である。
【図１１】条件設定テーブルの一例を示す図である。
【図１２】情報処理装置の画像加工部の機能ブロック図である。
【図１３】条件設定テーブルの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明を実施するための形態について詳細に説明する。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
【００１０】
（第一の実施形態）
図１は、本実施形態における情報処理装置３０を備える複合現実感（ＭＲ）システム１０の構成例を示す図である。
ＭＲシステム１０は、ＨＭＤ２０と、情報処理装置３０と、を備える。ＭＲシステム１０は、現実空間と仮想空間とを融合させ、ＭＲ体験者であるユーザに提示する技術を用いたシステムである。ＭＲシステム１０は、ＣＡＤモデルなどの現実にはない物体が、あたかもその場にあるかのようにユーザに提示することができる。このＭＲシステム１０は、製造分野や医療分野等、様々な分野への適用が可能である。例えば、製造分野においては、ＭＲシステム１０は、設計時点でのデザイン確認や、組み立て時点での手順の表示といった組み立て支援に用いることができる。また、医療分野においては、ＭＲシステム１０は、患者の体表面に体内の様子を表示するといった手術支援に用いることができる。
【００１１】
ＨＭＤ２０は、ユーザが頭部に装着可能な頭部装着型表示装置である。本実施形態においては、ＨＭＤ２０は、ユーザの視点において現実空間を撮像可能な撮像機能を備え、現実画像とコンピュータグラフィックス（ＣＧ）等の仮想空間の画像とを合成した合成画像をユーザに提示可能なビデオシースルー型ＨＭＤとする。ＨＭＤ２０は、撮像部２１Ｌおよび２１Ｒと、表示部２２Ｌおよび２２Ｒとを備える。撮像部２１Ｌ、２１Ｒは、ユーザの左右の目にそれぞれ対応して配置されたカメラを備え、ユーザの左右の目に対応する複数の視点位置からユーザの視線方向の画像（視野画像）を撮像する。つまり、撮像部２１Ｌ、２１Ｒは、ユーザの視点から見える現実空間の物体（現実物体）の画像を撮像する。撮像部２１Ｌ、２１Ｒが備える２つのカメラによってステレオカメラを構成している。撮像部２１Ｌ、２１Ｒは、それぞれ撮像した画像を情報処理装置３０に出力する。なお、上記ステレオカメラの焦点距離やレンズ歪み係数等のカメラ内部パラメータは、予め所定の方法で求められており、既知であるとする。
【００１２】
表示部２２Ｌ、２２Ｒは、ユーザの左右の目にそれぞれ対応して配置されたディスプレイを備え、情報処理装置３０から出力された合成画像を表示する。具体的には、表示部２２Ｌは、ユーザの左目の眼前に左目用の合成画像を提示し、表示部２２Ｒは、ユーザの右目の眼前に右目用の合成画像を提示する。表示部２２Ｌ、２２Ｒは、それぞれディスプレイ上の画像を眼球に導くための光学系を備えていてもよい。なお、撮像部２１Ｌ、２１Ｒによってユーザの視野画像を撮像し、表示部２２Ｌ、２２Ｒによってユーザに画像を提示できる構成であれば、撮像部２１Ｌ、２１Ｒおよび表示部２２Ｌ、２２Ｒの配置位置は図１に示す位置に限定されない。
【００１３】
情報処理装置３０は、ＨＭＤ２０の撮像部２１Ｌ、２１Ｒから出力される現実空間の画像を入力し、その入力した画像と仮想空間の画像との合成画像を生成する。そして、情報処理装置３０は、生成した合成画像をＨＭＤ２０の表示部２２Ｌ、２２Ｒに出力する。また、情報処理装置３０は、撮像部２１Ｌ、２１Ｒから出力される画像に基づいて、ユーザが開始しようとしているタスク（ユーザが実行したい作業）を判別し、判別したタスクを実行するための適切なアプリケーション（以下、単に「アプリ」という。）を起動する。
【００１４】
具体的には、情報処理装置３０は、撮像部２１Ｌ、２１Ｒから出力される画像に基づいて、ユーザの視野範囲内に存在する、タスクの実行に用いられる入力装置と、ユーザの視野範囲内に存在する、ユーザが入力装置を操作するための操作媒体とを認識する。また、情報処理装置３０は、ＨＭＤ２０を装着したユーザの頭部の位置姿勢、つまり、ＨＭＤ２０の位置姿勢を検出する。そして、情報処理装置３０は、ユーザの頭部の位置姿勢に基づいて、ユーザの視点位置から入力装置までの距離（第一距離）を検出する。さらに、情報処理装置３０は、ユーザの頭部の位置姿勢に基づいて、ユーザの視点位置から操作媒体までの距離（第二距離）を検出する。そして、情報処理装置３０は、検出した距離をそれぞれ判定パラメータと比較することにより、次に実行すべきタスクを判別し、判別したタスクを実行するためのアプリを起動する。
【００１５】
情報処理装置３０は、図１に示すように、画像入力制御部３１と、画像加工部３２と、制御部３３と、タスク実行部３４と、画像出力制御部３５と、を備える。
画像入力制御部３１は、後述する図２に示す画像入力部３０８を制御して、撮像部２１Ｌ、２１Ｒによってユーザの視点位置から撮像されたユーザの視線方向の画像を取得する。なお、情報処理装置３０は、画像入力制御部３１によって取得された画像に対してレンズ歪み補正を行うことで、画像の歪みはないものとして扱う。画像加工部３２は、現実空間に定義した標準座標系をもとに、ＨＭＤ２０の位置姿勢を検出し、画像入力制御部３１によって取得された画像内におけるＨＭＤ２０の位置姿勢との整合性を持たせた位置に仮想のコンテンツを重畳させることで、合成画像を生成する。
ここで、標準座標系上におけるＨＭＤ２０の位置姿勢は、撮像部２１Ｌ、２２Ｒによって撮像されたステレオ画像によって検出することができる。なお、ＨＭＤ２０の位置姿勢は、不図示の位置姿勢センサの情報をもとに検出してもよい。また、コンテンツの位置は、ＨＭＤ２０の位置姿勢の検出結果から一義的に決めることができる。画像加工部３２は、上記の生成した画像を制御部３３および画像出力制御部３５に出力する。
【００１６】
制御部３３は、画像加工部３２によって生成された画像の情報を入力し、入力した画像情報をもとにタスク判別処理を実行し、タスク判別処理結果をタスク実行部３４に出力する。具体的には、制御部３３は、入力装置として文字を入力するためのキーボードを認識し、実行すべきタスクが文章入力タスクであると判別した場合、タスク実行部３４に対して文字を入力するための文字入力アプリの起動指示を出力する。ここで、文章入力タスクとは、ユーザがキーボードを操作して文章を作成するタスクである。また、制御部３３は、入力装置として指示を入力するためのボタンを有するコントローラを認識し、実行すべきタスクがＣＧ調整タスクであると判別した場合、タスク実行部３４に対してＣＧを調整するためのＣＧ調整アプリの起動指示を出力する。ここで、ＣＧ調整タスクとは、ユーザがコントローラを操作してＨＭＤ２０の表示部２２Ｌ、２２Ｒに表示された仮想コンテンツを移動するタスクである。なお、仮想コンテンツの移動は、３次元方向の移動と３次元方向の回転とを含む。タスク判別処理の詳細については後述する。
【００１７】
タスク実行部３４は、制御部３３によるタスク判別処理結果に基づいて、実行すべきタスクに対応したアプリを起動する。つまり、タスク実行部３４は、制御部３３から起動指示を受けたアプリに関する画像を生成し、画像出力制御部３５に出力する。画像出力制御部３５は、後述する図２に示す画像出力部３０７を制御して、画像加工部３２およびタスク実行部３４によって生成された画像をＨＭＤ２０の表示部２２Ｌ、２２Ｒに出力する。つまり、画像出力制御部３５は、現実空間の画像と仮想空間の画像との合成画像をＨＭＤ２０に表示させると共に、制御部３３によって判別されたタスクに応じた情報をＨＭＤ２０に表示させる。
【００１８】
図２は、情報処理装置３０のハードウェア構成の一例である。情報処理装置３０は、ＣＰＵ３０１と、ＲＡＭ３０２と、ＲＯＭ３０３と、記憶装置３０４と、記憶媒体３０５と、Ｉ／Ｆ３０６と、画像出力部３０７と、画像入力部３０８と、システムバス３０９とを備える。
ＣＰＵ３０１は、情報処理装置３０における動作を統括的に制御するものであり、システムバス３０９を介して、各構成部（３０２〜３０８）を制御する。ＲＡＭ３０２は、ＣＰＵ３０１の主メモリ、ワークエリアとして機能する。ＲＯＭ３０３は、ＣＰＵ３０１が処理を実行するために必要なプログラムを記憶する不揮発性メモリである。なお、上記プログラムは、ＲＡＭ３０２、記憶装置３０４、または記憶媒体３０５に記憶されていてもよい。すなわち、ＣＰＵ３０１は、処理の実行に際して、例えばＲＯＭ３０３から必要なプログラムをＲＡＭ３０２にロードし、上記プログラムを実行することで各種の機能動作を実現する。
【００１９】
記憶装置３０４や記憶媒体３０５は、例えば、ＣＰＵ３０１がプログラムを用いた処理を行う際に必要な各種データや各種情報を記憶している。また、記憶装置３０４や記憶媒体３０５は、ＣＰＵ２１がプログラムを用いた処理を行うことにより得られた各種データや各種情報を記憶していてもよい。Ｉ／Ｆ３０６は、インターフェースカードにより構成され、外部機器と通信する。つまり、Ｉ／Ｆ３０６は、各種センサ情報や、入力装置（マウス、キーボード、ゲーム用のコントローラ等）からの特定の入力情報を受け取ったり、ＨＭＤ２０との間で画像の送受信を行ったりする。
【００２０】
画像出力部３０７は、ＨＭＤ２０に対して画像を出力するものであり、図１の画像出力制御部３５によって制御される。画像出力部３０７は、例えばワークステーション用のグラフィックスカードにより構成され、ＨＭＤ２０の表示部２２Ｌ、２２Ｒに適切なフォーマットで画像を出力することができる。画像入力部３０８は、ＨＭＤ２０によって撮影された画像を取り込むものであり、図１の画像入力制御部３１によって制御される。画像入力部３０８は、例えばビデオキャプチャーボードやビデオキャプチャーカードにより構成することができる。なお、画像入力部３０８は、カメラによって撮影された画像を取り込み可能な構成であればよい。システムバス３０９は、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、記憶装置３０４、記憶媒体３０５、Ｉ／Ｆ３０６、画像出力部３０７および画像入力部３０８を通信可能に接続する。
【００２１】
図３は、制御部３３の機能ブロック図である。制御部３３は、条件設定部３３ａと、入力装置判定部３３ｂと、入力装置距離計測部３３ｃと、操作媒体判定部３３ｄと、操作媒体距離計測部３３ｅと、タスク判別部３３ｆと、を備える。
条件設定部３３ａは、図２のＲＯＭ３０３、ＲＡＭ３０２、記憶装置３０４および記憶媒体３０５の少なくとも１つに予め記憶された条件設定テーブルを読み出す。図４は、条件設定テーブルの一例である。この図４に示すように、条件設定テーブルは、入力装置と操作媒体との組合せと、その組合せに対応付けられた、ユーザが実行し得るタスク（対象タスク）とを格納する。
【００２２】
また、条件設定テーブルは、入力装置を識別するための識別情報と、入力装置の種別毎に予め設定された規定距離（第一規定距離）とを格納する。ここで、第一規定距離は、ユーザが対象タスクを実行する意思がある、または実行していると判断可能なＨＭＤ２０と入力装置との間の距離である。同様に、条件設定テーブルは、操作媒体を識別するための識別情報と、操作媒体の種別毎に予め設定された規定距離（第二規定距離）とを格納する。ここで、第二規定距離は、ユーザが対象タスクを実行する意思がある、または実行していると判断可能なＨＭＤ２０と操作媒体との間の距離である。
本実施形態では、制御部３３は、形状認識技術を用いて入力装置を識別し、色認識技術を用いて操作媒体を識別する。したがって、図４に示すように、入力装置の識別情報は、入力装置のパターン形状を示すテンプレート画像であり、操作媒体の識別情報は、操作媒体の色を示す色情報（Ｒ，Ｇ，Ｂ）である。なお、入力装置および操作媒体の識別方法は、形状認識技術や色認識技術を用いる方法に限定されない。
【００２３】
入力装置判定部３３ｂ（以下、「判定部３３ｂ」という。）は、条件設定部３３ａによって読み出された入力装置の識別情報をもとに、ユーザの視野範囲内に存在する入力装置を識別する。本実施形態では、判定部３３ｂは、撮像部２１Ｌ、２１Ｒによる撮像画像内に存在する入力装置を、ユーザの視野範囲内に存在する入力装置として識別する。具体的には、入力装置がキーボードである場合、判定部３３ｂは、条件設定部３３ａにより読み込まれたキーボードテンプレート画像に対して、撮像画像内に類似する画像（画素ブロック）が存在するか否かを判定する。判定部３３ｂは、テンプレート画像における所定の水平ラインの輝度成分と撮像画像における所定の注目領域の水平ラインの輝度成分との相関値が所定の閾値よりも高いか否かに応じて、上記の類似する画像が存在するか否かを判定することができる。
【００２４】
入力装置距離計測部３３ｃ（以下、「距離計測部３３ｃ」という。）は、入力装置とＨＭＤ２０との距離を計測（検出）する。例えば、距離計測部３３ｃは、左目用の表示部２２Ｌの中心点の座標を原点として、入力装置までの距離を計測することで、ＨＭＤ２０から入力装置までの距離を計測する。本実施形態では、ＨＭＤ２０はステレオカメラを備えるため、距離計測部３３ｃは、ステレオ画像をもとに三角測量の原理を用いてＨＭＤ２０から入力装置までの距離を計測することができる。
【００２５】
操作媒体判定部３３ｄ（以下、「判定部３３ｄ」という。）は、条件設定部３３ａによって読み出された操作媒体の識別情報をもとに、ユーザの視野範囲内に存在する操作媒体を識別する。本実施形態では、判定部３３ｂは、撮像部２１Ｌ、２１Ｒによる撮像画像内に存在する操作媒体を、ユーザの視野範囲内に存在する操作媒体として識別する。具体的には、操作媒体がユーザの手である場合、まず、判定部３３ｄは、条件設定部３３ａにより読み込まれた操作媒体の識別情報である色情報に基づいて、撮像画像から肌色領域を抽出する。つまり、判定部３３ｄは、撮像画像の各ピクセルのＲＧＢ値が、図４の操作媒体の識別情報に記載されているようなＲＧＢ値の範囲内に入るかどうかをピクセル単位で判定し、肌色領域を決定する。次に、判定部３３ｄは、決定した肌色領域を構成するピクセル量が所定の範囲内であるかどうかを判定する。以上により、判定部３３ｄは、ユーザの視野範囲内に存在する操作媒体を識別することができる。
【００２６】
操作媒体距離計測部３３ｅ（以下、「距離計測部３３ｅ」という。）は、操作媒体とＨＭＤ２０との距離を計測（検出）する。例えば、距離計測部３３ｅは、左目用の表示部２２Ｌの中心点の座標を原点として、操作媒体までの距離を計測することで、ＨＭＤ２０から操作媒体までの距離を計測する。例えば、操作媒体が手である場合、距離計測部３３ｅは、まず、ステレオ画像において上述した肌色領域をそれぞれ検出し、各肌色領域の重心点をそれぞれ検出する。次に、距離計測部３３ｅは、検出した重心点のうち、左右の画像上での縦軸値が所定の閾値内であるものを手の領域と判定する。そして、距離計算部３３ｅは、左右画像の手の領域の重心点位置に基づいて、ステレオ画像をもとに三角測量の原理を用いてＨＭＤ２０から操作媒体までの距離を計測することができる。
【００２７】
タスク判別部３３ｆは、ＨＭＤ２０と入力装置との距離およびＨＭＤ２０と操作媒体との距離が、それぞれ規定距離の範囲内であるか否かを判定することで、対象タスクを判別し、対象タスクを実行するための指示を図１のタスク実行部３４に出力する。例えば、入力装置判定部３３ｂにおいて入力装置としてキーボードが識別され、判定部３３ｄにおいて操作媒体として手が識別された場合、タスク判別部３３ｆは、図４に示す文章入力タスクの判定パラメータである規定距離［ｃｍ］を参照する。そして、タスク判別部３３ｆは、ＨＭＤ２０と入力装置との距離およびＨＭＤ２０と操作媒体との距離が、それぞれ規定距離である１０ｃｍ〜５０ｃｍの範囲内であるか否かを判定する。タスク判別部３３ｆは、ＨＭＤ２０と入力装置との距離およびＨＭＤ２０と操作媒体との距離が、それぞれ規定距離の範囲内であると判定した場合、ユーザが開始しようとしているタスク（次に実行すべきタスク）が文章入力タスクであると判別する。このように、タスク判別部３３ｆは、規定距離の範囲内にあると判定された入力装置と、規定距離の範囲内にあると判定された操作媒体との組合せに基づいて、実行すべきタスクを判別する。
なお、図１に示す情報処理装置３０の各部の機能、および図３に示す制御部３３の各部の機能は、図２に示すＣＰＵ３０１がＲＡＭ３０２、ＲＯＭ３０３、記憶装置３０４もしくは記憶媒体３０５に記憶されたプログラムを実行することで実現され得る。
【００２８】
以下、制御部３３が実行するタスク判別処理について、具体的に説明する。
図５は、制御部３３が実行するタスク判別処理手順を示すフローチャートである。図５の処理は、情報処理装置３０のＣＰＵ３０１が、所定のプログラムを読み出して実行することにより実現され得る。ただし、図５の処理の一部または全部が、専用のハードウェアにより実現されてもよい。
先ずＳ１において、制御部３３は、予め登録しておいた条件設定テーブルを読み出し、入力装置の識別情報と、操作媒体の識別情報と、距離の判定パラメータ（規定距離）とを取得してＳ２に移行する。Ｓ２では、制御部３３は、Ｓ１において取得した入力装置の識別情報を用いて、ＨＭＤ２０の撮像部２１Ｌ、２１Ｒによる撮像画像から入力装置を検索する。図６に示すように、ＨＭＤ２０の視線方向に複数の物体４１〜４４が存在する場合、撮像画像内には物体４１〜４４の画像が含まれる。したがって、この場合、制御部３３は、これらの物体４１〜４４の中にＳ１において取得した入力装置の識別情報４０と合致する物体が存在するか否かを判定する。
【００２９】
そして、Ｓ３では、制御部３３は、Ｓ２において入力装置が検索された場合、ユーザの視野範囲内に存在する入力装置を識別できたと判定してＳ４に移行する。一方、制御部３３は、撮像画像内に入力装置が存在しないと判定した場合には、タスク実行部３４に対して起動中のアプリを終了する指示を出力してから図５の処理を終了する。これにより、ユーザの視線方向が移動し、ユーザの視野範囲内に入力装置が存在する状態から入力装置が存在しない状態に切り替わった場合には、自動的に操作終了と判断してアプリを非表示とすることができる。
Ｓ４では、制御部３３は、Ｓ２において識別された入力装置とＨＭＤ２０との距離を計測する。例えば、制御部３３は、図６に示すキーボードである物体４１を入力装置として識別した場合、入力装置４１とＨＭＤ２０との距離４１ａを計測する。
【００３０】
次にＳ５では、制御部３３は、入力装置４１とＨＭＤ２０との距離４１ａが規定距離の範囲内であるか否か、つまり、入力装置４１が、ＨＭＤ２０の左目用の表示部２２Ｌの中心点の座標を原点として規定距離内に位置しているか否かを判定する。ここで、上記規定距離は、Ｓ１において条件設定テーブルを参照して取得された判定パラメータである。そして、制御部３３は、距離４１ａが規定距離内であると判定した場合にはＳ６に移行する。一方、制御部３３は、距離４１ａが規定距離外であると判定した場合には、入力装置４１はユーザが操作可能な範囲内に位置しておらず、ユーザには入力装置４１を操作する意思がないと判断して図５の処理を終了する。このとき、制御部３３は、タスク実行部３４に対して起動中のアプリを終了する指示を出力してから処理を終了する。これにより、ユーザが入力装置４１の使用を終了したことを適切に判断し、自動的にアプリを非表示にすることができる。
【００３１】
Ｓ６において、制御部３３は、Ｓ１において取得した操作媒体の識別情報を用いて、上述したＳ２における入力装置の検索と同様に、ＨＭＤ２０の撮像部２１Ｌ、２１Ｒによる撮像画像から操作媒体を検索する。そして、Ｓ７では、制御部３３は、Ｓ６において操作媒体が検索された場合、ユーザの視野範囲内に存在する操作媒体を識別できたと判定してＳ８に移行する。一方、制御部３３は、撮像画像内に操作媒体が存在しないと判定した場合には、タスク実行部３４に対して起動中のアプリを終了する指示を出力してから図５の処理を終了する。Ｓ８では、制御部３３は、Ｓ６において識別された操作媒体とＨＭＤ２０との距離を計測する。例えば、制御部３３は、図６に示すように、操作媒体の識別情報５０と合致するユーザの手５１を操作媒体として識別した場合、操作媒体５１とＨＭＤ２０との距離５１ａを計測する。
【００３２】
次にＳ９では、制御部３３は、操作媒体５１とＨＭＤ２０との距離５１ａが規定距離の範囲内であるか否か、つまり、操作媒体５１が、ＨＭＤ２０の左目用の表示部２２Ｌの中心点の座標を原点として規定距離内に位置しているか否かを判定する。ここで、上記規定距離は、Ｓ１において条件設定テーブルを参照して取得された判定パラメータである。そして、制御部３３は、距離５１ａが規定距離内であると判定した場合にはＳ１０に移行する。一方、制御部３３は、距離５１ａが規定距離外であると判定した場合には、操作媒体５１は入力装置４１を操作可能な範囲内に位置しておらず、ユーザには操作媒体５１を介して入力装置４１を操作する意思がないと判断して図５の処理を終了する。このとき、制御部３３は、タスク実行部３４に対して起動中のアプリを終了する指示を出力してから処理を終了する。これにより、ユーザが入力装置４１の使用を終了したことを適切に判断し、自動的にアプリを非表示にすることができる。
【００３３】
Ｓ１０では、制御部３３は、Ｓ２からＳ９までの処理結果に基づいて、対象タスクを判定する。つまり、ＨＭＤ２０からの距離が規定距離内である入力装置と、ＨＭＤ２０からの距離が規定距離内である操作媒体との組合せに基づいて、条件設定テーブルを参照して対象タスクを判別する。そして、制御部３３は、判別した対象タスクを実行するための指示を図１のタスク実行部３４に出力する。これにより、対象タスクを実行するためのアプリが起動される。例えば、入力装置がキーボードであり、操作媒体がユーザの手である場合、制御部３３は、対象タスクが文章入力タスクであると判別する。この場合、タスク実行部３４は、文章入力タスクを実行するためのアプリとして、文字エディタアプリを起動する。
【００３４】
図７は、文字入力タスク実行時におけるＨＭＤ画面６０の一例である。ＨＭＤ２０の表示部２２Ｌ、２２Ｒによって表示されるＨＭＤ画面６０には、入力装置４１やユーザの手５１といった現実物体や、仮想のコンテンツ７０を表示することができる。文字エディタアプリが起動された場合、図７に示すように、ＨＭＤ画面６０に文章入力欄６１を重畳表示させることで、文字入力が可能な状態に切り替えることができる。このとき、文章入力欄６１を入力装置（キーボード）４１に重畳させずに表示することで、ユーザはキーボード４１上のキー配列を確認しながら文字入力を行うことができる。
なお、文章入力欄６１の表示方法は、図７に示す方法に限定されない。文章入力欄６１をキーボード４１に重畳させて表示する場合には、背景となるキーボードを確認可能なように文章入力欄６１を透過表示するようにしてもよい。また、文字エディタアプリを起動したときに表示させる情報も文章入力欄６１に限定されない。
【００３５】
一方、入力装置がコントローラであり、操作媒体がユーザの手である場合、制御部３３は、対象タスクがＣＧ調整タスクであると判別する。この場合、タスク実行部３４は、ＣＧ調整タスクを実行するためのアプリとして、コンテンツ移動アプリを起動する。
図８は、ＣＧ調整タスク実行時におけるＨＭＤ画面６０の一例である。ＨＭＤ２０の表示部２２Ｌ、２２Ｒによって表示されるＨＭＤ画面６０には、コントローラである入力装置４５やユーザの手５１といった現実物体や、仮想のコンテンツ７０が表示される。コンテンツ移動アプリが起動された場合、図８に示すように、ＨＭＤ画面６０に座標軸６２を重畳表示させることで、コンテンツを移動可能な状態に切り替えることができる。なお、座標軸６２の表示方法は、図８に示す方法に限定されない。また、コンテンツ移動アプリを起動したときに表示させる情報も座標軸６２に限定されない。
【００３６】
以上のように、本実施形態では、情報処理装置３０は、ユーザの視野範囲内に存在する入力装置および操作媒体を識別し、ユーザの視点位置（ＨＭＤの位置）から識別された入力装置および操作媒体までのそれぞれの距離を検出（計測）することでタスクを判別する。したがって、情報処理装置３０は、ＨＭＤの着脱を要することなくユーザが開始しようとしているタスクを判別し、判別したタスクを実行するためのアプリに自動的に切り替えることができる。したがって、ユーザは、煩わしいアプリの切り替え操作を行うことなく、希望するタスクを実行することができる。
仮に、ユーザがタスクの切り替えのために対象アプリを切り替える操作を行う場合、ユーザは画面上の操作メニューやアイコンを見ながら、入力装置を操作する必要がある。しかしながら、ユーザがＨＭＤを装着すると、ユーザの視覚情報が変化するため、ＨＭＤを装着したままでは対象アプリの切り替え操作が難しい場合がある。
【００３７】
例えば、ビデオシースルーＨＭＤ（現実画像と仮想ＣＧ画像との合成表示）では、カメラの解像度が原因で現実空間の解像度が低下したり、映像を表示するまでの遅延が原因で身体動作に対する視覚情報の遅延が発生したりする。そのため、キーボード等の入力装置の操作に時間を要する場合がある。また、光学シースルーＨＭＤ（現実空間にＣＧのみ表示）では、コンテンツ画像を実写背景に対して強調するために、シースルー領域に輝度調整フィルムを設けて実写映像を暗くすることが多い。そのため、光学シースルーＨＭＤでは、この輝度調整フィルムによって現実空間が暗く見えてしまい、キーボード等のコントラストの低い入力装置を正確に操作するためには時間を要する場合がある。さらに、ＶＲ用ＨＭＤ（全画面ＣＧ表示）では、現実空間の映像が遮られるため、現実空間に置いてあるマウスやキーボード等を操作することは非常に困難である。
【００３８】
上記の理由により、ＨＭＤを装着しているユーザが自ら対象アプリを切り替えるには、ＨＭＤの着脱が必要であった。つまり、ユーザがタスクを切り替える場合、ユーザは、一旦ＨＭＤを取り外し、入力装置を目視により確認してから操作媒体により入力装置を操作して、必要なアプリに切り替える。そして、アプリが切り替わると、ユーザは再びＨＭＤを装着して所定のタスクを実行することになる。
しかしながら、ＭＲシステムやＶＲシステムは、ユーザが、仮想のコンテンツが現実の空間に実在するかのような没入感を得ることができるシステムである。そのため、アプリ切り替えのためにＨＭＤを着脱すると、上記の没入感が阻害されてしまう。また、ＨＭＤの着脱に時間を要すると、タスク集中力の低下にも繋がる。
【００３９】
そこで、ＨＭＤを装着しているユーザには、実物の入力装置を使用させずにアプリの切り替えを行うことも検討されている。例えば、ユーザがＨＭＤを装着したままアプリを切り替える方法としては、バーチャル入力方式を用いた方法がある。バーチャル入力方式は、バーチャルキーボードやバーチャルメニューといったジェスチャー認識技術を用いた方式である。具体的には、ユーザの手などの操作媒体の動きをビデオカメラやセンサによって追跡し、ユーザによって該当する動作が実施されたときに対象のアプリを切り替える。ところが、この方式では、操作媒体が入力装置に接触したような感触が得られないため、誤操作を招く場合がある。
また、アプリの切り替え方法の別の例として、物体認識入力方式を用いた方法もある。物体認識入力方式は、パターンマッチングなどの形状認識技術を用いた方式である。具体的には、形状認識技術を用いて規定の物体やマーカー等が画像内に映り込んだことを認識したときに、対象のアプリに切り替える。ところが、この方式では、規定の物体やマーカーが不用意に画像内に映り込んだ場合には誤認識が発生し得る。
【００４０】
これに対して、本実施形態では、上述したように、ユーザがＨＭＤを装着したままでもアプリの切り替えが可能である。そのため、時間を要するＨＭＤの着脱が不要になり、没入感の阻害や着脱によるタスク集中力の低下を防ぐことができる。また、情報処理装置３０は、入力装置と操作媒体について、現実画像中における形状認識技術や色認識技術を用いて識別情報と一致したかどうかで有無を判定するだけでなく、ＨＭＤと入力装置の距離、およびＨＭＤと操作媒体の距離も同時に判定する。したがって、ユーザが開始しようとしているタスクを適切に判別し、自動的に適切なアプリに切り替えることができる。また、入力装置の認識だけでなく、入力装置を操作するための操作媒体（ユーザの手）まで認識することで、ユーザが開始しようとしているアプリを高精度に判別することができる。
【００４１】
さらに、情報処理装置３０は、ユーザの頭部の位置姿勢を検出し、検出したユーザの頭部の位置姿勢に基づいて、ＨＭＤと入力装置との距離およびＨＭＤと操作媒体との距離を検出する。このように、ユーザの頭部の位置姿勢計測を含んでＨＭＤと入力装置との距離およびＨＭＤと操作媒体との距離を検出することにより、精度良く上記距離を検出することができ、誤認識や誤操作を低減することができる。
また、情報処理装置３０は、ユーザの視点位置から撮像されたユーザの視線方向の画像を取得し、取得した画像内に存在する入力装置および操作媒体を、ユーザの視野範囲内に存在する入力装置および操作媒体として識別する。このように、ユーザの視線方向の画像を用いることで、容易且つ適切にユーザの視野範囲内に存在する入力装置および操作媒体を識別することができる。つまり、入力装置や操作媒体の位置情報をもとに、ユーザの視点位置（ＨＭＤ）に対する入力装置や操作媒体の位置する方向をそれぞれ求める必要がない。
【００４２】
さらに、頭部装着型表示装置としてのＨＭＤ２０は、ビデオシースルー型ＨＭＤである。そのため、情報処理装置３０は、ＨＭＤ２０が予め備えるカメラからユーザの視線方向の画像を取得することができる。また、このとき情報処理装置３０は、ユーザの左右の目に対応する複数の視点位置からそれぞれ撮像されたユーザの視線方向の複数の画像を取得することができる。したがって、情報処理装置３０は、取得された複数の画像をもとに、三角測量の原理を用いて、容易にＨＭＤから入力装置までの距離や操作媒体までの距離を検出することができる。
また、情報処理装置３０は、ＨＭＤから入力装置までの距離、およびＨＭＤから操作媒体までの距離が、それぞれ入力装置や操作媒体の種別毎に予め設定された規定距離の範囲内であるか否かを判定する。そして、情報処理装置３０は、規定距離の範囲内にあると判定された入力装置と、規定距離の範囲内にあると判定された操作媒体との組合せに基づいて、タスクを判別する。したがって、ユーザがＨＭＤを装着したまま、且つユーザによる切替指示操作を必要とすることなく、ユーザが切り替えようとするタスクを適切に判別し、自動的に適切なアプリに切り替えることができる。
【００４３】
（第二の実施形態）
次に、本発明の第二の実施形態について説明する。
上述した第一の実施形態では、頭部装着型表示装置としてビデオシースルー型ＨＭＤを用いる場合について説明した。第二の実施形態では、頭部装着型表示装置として光学シースルー型ＨＭＤを用いる場合について説明する。
図９は、第二の実施形態における情報処理装置１３０を備えるＭＲシステム１１０の構成例を示す図である。なお、情報処理装置１３０のハードウェア構成は、図２に示す情報処理装置３０のハードウェア構成と同様である。この図９において、上述した第一の実施形態と同様の構成を有する部分には、図１と同一符号を付し、以下、構成の異なる部分を中心に説明する。
【００４４】
ＭＲシステム１１０は、光学シースルー型のＨＭＤ１２０と、情報処理装置１３０とを備える。ＨＭＤ１２０は、ユーザが頭部に装着可能な頭部装着型表示装置であり、単眼ビデオカメラを含んで構成される撮像部１２１と、表示部１２２Ｌ、１２２Ｒとを備える。撮像部１２１は、ＨＭＤ１２０を装着したユーザの視野画像を撮像し、撮像画像を情報処理装置１３０に出力する。なお、上記単眼ビデオカメラの焦点距離やレンズ歪み係数等のカメラ内部パラメータは、予め所定の方法により求められており、既知であるとする。表示部１２２Ｌ、１２２Ｒは、例えばハーフミラーを含んで構成され、ユーザの視点方向から入射する光と、情報処理装置１３０が出力する画像の表示光とを融合してユーザに提示する。
【００４５】
情報処理装置１３０は、ＨＭＤ１２０の撮像部１２１から出力される現実空間の画像を入力し、入力した画像と仮想空間の画像との合成画像を生成する。そして、情報処理装置１３０は、生成した合成画像をＨＭＤ１２０の表示部１２２Ｌ、１２２Ｒに出力する。また、情報処理装置１３０は、撮像部１２１から出力される画像に基づいて、タスク判別処理を実行する。
具体的には、情報処理装置１３０の画像入力制御部１３１は、図２に示す画像入力部３０８を制御して、撮像部１２１によってユーザの視点位置から撮像されたユーザの視線方向の画像を取得する。なお、情報処理装置１３０は、画像入力制御部１３１によって取得された画像に対してレンズ歪み補正を行うことで、画像の歪みはないものとして扱う。画像加工部１３２は、現実空間に定義した標準座標系をもとに、ＨＭＤ１２０の位置姿勢を求め、その位置姿勢に応じた仮想のコンテンツを提示するための仮想空間の画像を生成する。ここで、標準座標系上におけるＨＭＤ１２０の位置姿勢は、撮像部１２１によって撮像された画像や位置姿勢センサ（不図示）の情報をもとに計測することができる。また、コンテンツの位置は、ＨＭＤ１２０の位置姿勢の計測結果から一義的に決めることができる。
【００４６】
制御部１３３は、画像加工部１３２によって生成された画像の情報を入力し、入力した画像情報をもとにタスク判別処理を実行し、タスク判別処理結果をタスク実行部３４に出力する。制御部１３３の構成は、図３に示す上述した第一の実施形態の制御部３３の構成と同様である。ただし、図３の各部における処理のうち、入力装置および操作媒体の有無判定および距離計測を、図１の撮像部２１Ｌ、２１Ｒによる撮像画像に代えて、図９の撮像部１２１による撮像画像を用いて行う点が異なる。なお、上記距離計測においては、制御部１３３は、ＨＭＤ１２０の左目用の表示部１２２Ｌの中心点の座標を原点として距離を計測する。
【００４７】
ＨＭＤ１２０から対象物までの距離を計測する際には、制御部１３３は、撮像部１２１による撮像画像内の対象物の形状およびサイズを認識し、認識した形状およびサイズをもとに上記距離を計測する。ＨＭＤ１２０から入力装置までの距離を計測する場合、制御部１３３は、図４の条件設定テーブルに格納される入力装置の識別情報であるテンプレート画像の撮像時におけるＨＭＤ１２０から入力装置までの距離を予め設定しておく。そして、制御部１３３は、撮像画像内の入力装置と対応するテンプレート画像とのスケール比に基づいて、ＨＭＤ１２０から入力装置までの距離を計算する。
また、ＨＭＤ１２０から操作媒体までの距離を計測する場合には、制御部１３３は、所定の距離で撮像された操作媒体の画面上での外接矩形の面積（基準面積）とピクセル数（基準ピクセル数）とを予め設定しておく。そして、制御部１３３は、撮像画像内における操作媒体の外接矩形の面積と予め設定しておいた面積との比率、および撮像画像内における操作媒体の外接矩形のピクセル数と予め設定しておいたピクセル数との比率を求める。次に、制御部１３３は、求めた面積比率とピクセル数比率との平均値に基づいて、ＨＭＤ１２０から操作媒体までの距離を計算する。
【００４８】
以上のように、単眼カメラを備える光学シースルー型ＨＭＤを利用した場合であっても、情報処理装置１３０は、上述した第一の実施形態と同様に適切にタスクを判別し、自動的にアプリを切り替えることができる。
また、情報処理装置１３０は、ＨＭＤ１２０の撮像部１２１により撮像された画像内における操作媒体に対応する領域を包含する外接図形（例えば、外接矩形）の面積と、所定の基準面積とを比較することにより、ＨＭＤ１２０から操作媒体までの距離を検出する。したがって、単眼カメラを備える光学シースルー型ＨＭＤを利用した場合であっても、ＨＭＤ１２０から対象物までの距離を正確に検出することができる。なお、上記外接図形は、外接矩形に限定されず、外接多角形や外接円であってもよい。
【００４９】
なお、本実施形態においては、ユーザが直接見ている現実世界の中に仮想空間の画像を映し込む場合について説明したが、撮像部１２１による撮像画像に仮想空間の画像を重畳して表示部１２２Ｌ、１２２Ｒに表示させることもできる。また、本実施形態においては、ＨＭＤ１２０が単眼カメラを備える場合について説明したが、ステレオカメラを備えるようにしてもよい。この場合、上述した第一の実施形態と同様に、三角測量の原理を用いてＨＭＤ１２０から入力装置までの距離、およびＨＭＤ１２０から操作媒体までの距離を計測することが可能となる。
【００５０】
（第三の実施形態）
次に、本発明の第三の実施形態について説明する。
上述した第一および第二の実施形態では、ユーザが装着するＨＭＤに搭載されたカメラによるユーザの視線方向の撮像画像をもとにタスクを判別する場合について説明した。第三の実施形態では、ＨＭＤ、入力装置および操作媒体の位置姿勢を計測可能な位置姿勢センサを用いてタスクを判別する場合について説明する。
図１０は、第三の実施形態における情報処理装置２３０を備えるＭＲシステム２１０の構成例を示す図である。なお、情報処理装置２３０のハードウェア構成は、図２に示す情報処理装置３０のハードウェア構成と同様である。この図１０において、上述した第一の実施形態と同様の構成を有する部分には、図１と同一符号を付し、以下、構成の異なる部分を中心に説明する。
【００５１】
ＭＲシステム２１０は、撮像機能を備えていないＨＭＤ２２０と、情報処理装置２３０と、位置姿勢センサとしての光学センサ２４０とを備える。ＨＭＤ２２０は、情報処理装置２３０が出力する画像を表示可能な表示部（不図示）を備える。ＨＭＤ２２０は、撮像機能を有していない光学シースルー型ＨＭＤを用いることができる。なお、ＨＭＤ２２０は、ビデオシースルー型ＨＭＤであってもよいし、撮像機能を有する光学シースルー型ＨＭＤであってもよい。また、本実施形態ではＭＲシステム２１０を例として説明するが、仮想コンテンツの配置シミュレーションや仮想のキャラクターを用いたゲーム等、全画面ＣＧ表示のＶＲシステムにも適用可能である。つまり、ＨＭＤ２２０は、ＶＲ用のＨＭＤであってもよい。
【００５２】
光学センサ２４０は、計測対象に設置された再帰性反射素材からなるボール状のマーカー群（以下、「リジッドボディ」と呼ぶ。）を複数台のカメラで捉えることで、空間中における計測対象の位置姿勢を計測する。本実施形態では、ＨＭＤ２２０にＨＭＤ用のリジッドボディ２４１を設置することで、光学センサ２４０は、ＨＭＤ２２０の位置姿勢を検出することができる。また、操作媒体（図１０ではユーザの手）５１に操作媒体用のリジッドボディ２４２を設置することで、光学センサ２４０は、操作媒体５１の位置姿勢を検出することができる。さらに、入力装置（図１０ではキーボード）４１に入力装置用のリジッドボディ２４３を設置することで、光学センサ２４０は、入力装置４１の位置姿勢を検出することができる。ここで、リジッドボディ２４１〜２４３は、それぞれ異なるレイアウトを有する。
【００５３】
このように、リジッドボディのレイアウトを計測対象ごとに区別して設定することで、光学センサ２４０は、レイアウトの異なるリジッドボディをそれぞれ個別のターゲットとして識別し、位置姿勢を計測することができる。本実施形態においては、光学センサ２４０は、レイアウトが異なるリジッドボディに対して、ターゲット１、ターゲット２、…のように識別番号を付けた位置姿勢情報を、情報処理装置２３０へ出力する。
情報処理装置２３０の情報入力制御部２３１は、光学センサ２４０から３次元空間におけるＨＭＤ２２０、入力装置４１および操作媒体５１の位置姿勢情報を取得し、画像加工部２３２に出力する。
【００５４】
画像加工部２３２は、情報入力制御部２３１から入力した、ＨＭＤ２２０、入力装置４１および操作媒体５１の位置姿勢情報を保持する。また、画像加工部２３２は、保持した位置姿勢情報に基づいて、ＨＭＤ２２０に対する入力装置の方向およびＨＭＤ２２０に対する操作媒体の方向を計測する。そして、画像加工部２３２は、上記の位置姿勢情報や入力装置および操作媒体の方向を示す情報に基づいて、入力装置のＣＧモデルの画像、操作媒体のＣＧモデルの画像、および仮想コンテンツの画像を生成し、これらの画像を合成する。このとき、画像加工部２３２は、入力した位置姿勢情報の識別番号をもとに、生成するＣＧモデルを決定する。例えば、画像加工部２３２は、取得された識別番号がキーボードを示す識別番号（ターゲット１）である場合、入力装置がキーボードであるとして、キーボードのＣＧモデルを生成する。一方、画像加工部２３２は、取得された識別番号がコントローラを示す識別番号（ターゲット２）である場合、入力装置がコントローラであるとして、コントローラのＣＧモデルを生成する。また、画像加工部２３２は、識別番号がユーザの手を示す識別番号（ターゲット７）である場合には、操作媒体がユーザの手であるとして、手のＣＧモデルを生成する。画像加工部２３２の詳細については後述する。
【００５５】
そして、画像加工部２３２は、生成した画像をユーザに提示するために画像出力制御部３５に出力する。このとき、画像出力制御部３５が、画像加工部２３２から入力した画像をＨＭＤ２２０の表示部に表示させることで、ユーザは、入力装置および操作媒体のＣＧモデルの画像、ならびにコンテンツの画像を観察することができる。これにより、ユーザは、各対象物の空間中における位置を把握することができる。
また、画像加工部２３２は、保持した各計測対象の位置姿勢情報や、ＨＭＤ２２０を基準とした入力装置および操作媒体のそれぞれの方向を示す情報を制御部２３３に出力する。制御部２３３は、画像加工部２３２から入力した情報をもとに、タスク判別処理を実行する。このとき、制御部２３３は、図１１に示す条件設定テーブルを参照し、ＨＭＤ２２０から入力装置までの距離およびＨＭＤ２２０から操作媒体までの距離と、条件設定テーブルに設定されている規定距離とをそれぞれ比較してタスクを判別する。制御部２３３の詳細については後述する。
【００５６】
（画像加工部２３２の構成）
以下、画像加工部２３２の構成について具体的に説明する。図１２は、画像加工部２３２の機能ブロック図である。画像加工部２３２は、入力装置位置姿勢保持部２３２ａと、操作媒体位置姿勢保持部２３２ｂと、ＨＭＤ位置姿勢保持部２３２ｃと、入力装置方向計測部２３２ｄと、操作媒体方向計測部２３２ｅと、画像合成部２３２ｆと、を備える。
入力装置位置姿勢保持部２３２ａは、情報入力制御部２３１から出力される入力装置の位置姿勢情報を保持する。操作媒体位置姿勢保持部２３２ｂは、情報入力制御部２３１から出力される操作媒体の位置姿勢情報を保持する。ＨＭＤ位置姿勢保持部２３２ｃは、情報入力制御部２３１から出力されるＨＭＤ２２０の位置姿勢情報を保持する。入力装置位置姿勢保持部２３２ａは、新たに光学センサ２４０により計測された入力装置の位置姿勢情報を取得した場合、保持している位置姿勢情報を新たに取得した位置姿勢情報に書き換える。操作媒体位置姿勢保持部２３２ｂおよびＨＭＤ位置姿勢保持部２３２ｃについても同様である。
【００５７】
入力装置方向計測部２３２ｄは、ＨＭＤ２２０に対する入力装置の方向を計測する。入力装置方向計測部２３２ｄは、まず、ＨＭＤ２２０の位置姿勢情報をもとに、ＨＭＤ２２０を介してユーザが観察する方向（視線方向）および範囲（視野範囲）を計測する。次に、入力装置方向計測部２３２ｄは、ＨＭＤ２２０の位置姿勢と、入力装置の位置姿勢とに基づいて、ＨＭＤ２２０に対する入力装置の方向を計測すると共に、ＨＭＤ２２０から入力装置までの距離を計測する。操作媒体方向計測部２３２ｅは、ＨＭＤ２２０に対する操作媒体の方向を計測する。操作媒体方向計測部２３２ｅは、ＨＭＤ２２０の位置姿勢と、操作媒体の位置姿勢とに基づいて、ＨＭＤ２２０に対する操作媒体の方向を計測すると共に、ＨＭＤ２２０から操作媒体までの距離を計測する。
画像合成部２３２ｆは、入力装置方向計測部２３２ｄおよび操作媒体方向計測部２３２ｅによって計測された情報に基づいて、入力装置のＣＧモデルの画像、操作媒体のＣＧモデルの画像、および仮想コンテンツの画像を生成し、これらの画像を合成する。
【００５８】
（制御部２３３の構成）
次に、制御部２３３の構成について具体的に説明する。制御部２３３の機能ブロック図は、図３に示す制御部３３と同様であるため、図３を参照しながら説明する。
条件設定部３３ａに対応する処理部は、タスクの判別に用いる条件設定テーブルとして、図１１に示す条件設定テーブルを読み出す。本実施形態では、光学センサ２４０から出力される位置姿勢情報を用いて入力装置および操作媒体を識別する。したがって、図１１に示すように、入力装置および操作媒体の識別情報としては、光学センサ２４０が出力する計測対象の識別番号が格納される。
【００５９】
判定部３３ｂに対応する処理部は、画像加工部２３２において計測されたＨＭＤ２２０の視野範囲と、ＨＭＤ２２０に対する入力装置の方向とに基づいて、入力装置がＨＭＤ２２０の視野範囲内に存在するか否かを判定する。距離計測部３３ｃに対応する処理部は、ユーザの視野範囲内に存在すると判定された入力装置について、画像加工部２３２において計測されたＨＭＤ２２０から入力装置までの距離を取得する。
判定部３３ｄに対応する処理部は、画像加工部２３２において計測されたＨＭＤ２２０の視野範囲と、ＨＭＤ２２０に対する操作媒体の方向とに基づいて、操作媒体がＨＭＤ２２０の視野範囲内に存在するか否かを判定する。距離計測部３３ｅに対応する処理部は、ユーザの視野範囲内に存在すると判定された操作媒体について、画像加工部２３２において計測されたＨＭＤ２２０から操作媒体までの距離を取得する。
【００６０】
タスク判別部３３ｆに対応する処理部は、ＨＭＤ２０と入力装置との距離およびＨＭＤ２０と操作媒体との距離が、それぞれ規定距離の範囲内であるか否かを判定することで対象タスクを判別し、対象タスクを実行するための指示をタスク実行部３４に出力する。上記規定距離は、予め図１１に示す条件設定テーブルに設定されている。
なお、図１０に示す情報処理装置２３０の各部の機能、および制御部２３３の図３に示す各部に対応する機能は、図２に示すＣＰＵ３０１が所定のプログラムを実行することで実現され得る。
【００６１】
以上のように、本実施形態では、情報処理装置２３０は、位置姿勢センサを用いて入力装置の位置姿勢および操作媒体の位置姿勢を検出する。また、情報処理装置２３０は、位置姿勢センサを用いてユーザの頭部の位置姿勢、つまりＨＭＤ２２０の位置姿勢を検出する。そして、情報処理装置２３０は、ユーザの頭部の位置姿勢と入力装置の位置姿勢とに基づいて、ユーザの視野範囲内に存在する入力装置を識別する。同様に、情報処理装置２３０は、ユーザの頭部の位置姿勢と操作媒体の位置姿勢とに基づいて、ユーザの視野範囲内に存在する操作媒体を識別する。したがって、カメラを備えないＨＭＤ２３０を利用した場合であっても、上述した第一および第二の実施形態と同様に適切にタスクを判別し、自動的にアプリを切り替えることができる。
【００６２】
なお、上記実施形態においては、計測対象となる複数の物体の位置姿勢を計測するための位置姿勢センサとして、光学センサ２４０を用いる場合について説明した。しかしながら、位置姿勢センサは光学センサ２４０に限定されるものではなく、磁気センサや機械式センサを用いることもできる。磁気センサを用いた場合、ＨＭＤにＨＭＤ用の磁石を設置し、入力装置に入力装置用の磁石を設置し、操作媒体に操作媒体用の磁石を設置する。そして、これらと対になる磁気センサによって、ＨＭＤ、入力装置および操作媒体の位置姿勢を検出すればよい。
また、上記実施形態においては、位置姿勢センサとしてカメラを用いることもできる。つまり、カメラによってユーザ、入力装置および操作媒体を撮像し、撮像画像をもとにユーザの頭部の位置姿勢や入力装置の位置姿勢、操作媒体の位置姿勢を検出するようにしてもよい。この場合にも、ユーザがＨＭＤを装着したまま、且つユーザによる切替指示操作を必要とすることなく、ユーザが切り替えようとするタスクを適切に判別し、自動的に適切なアプリに切り替えることができる。
【００６３】
（変形例１）
上記各実施形態においては、入力装置が、文字入力を行うためのキーボードや、ＣＧの移動や回転を行うためのゲーム用のコントローラである場合について説明したが、入力装置はこれらに限定されるものではない。入力装置は、位置姿勢を計測可能なセンサが内蔵されたボタン付きの３次元ポインティングデバイス（以下、「スタイラス」と呼ぶ。）であってもよい。
入力装置がスタイラスである場合、操作媒体はユーザの手である。この場合、ユーザが実行し得るタスクとしては、空間中に表示されているＣＧモデルの表面形状コントロールポイントを制御するといったタスクが考えられる。具体的には、ユーザが、車などの３次元ＣＡＤモデルをＨＭＤ越しに３次元空間で観察しながら曲面形状を変更するシチュエーションが考えられる。この場合、情報処理装置は、ユーザがスタイラスを手に持ったとき、曲面形状を編集するタスクを実行するための曲面編集アプリを起動し、曲面変種機能の有効化への切り替えや、３次元形状の曲面コントロールポイントの表示を行えばよい。
【００６４】
これにより、ユーザがメニューを操作して曲面コントロールポイントを操作するまでもなく、手に持ったスタイラスを視点位置に移動させた時点で、曲面形状を編集可能なモードに切り替えることができる。そのため、ユーザが希望するタスクを効率良く実現することができる。また、同一環境において、ユーザがスタイラスから手を外すと、曲面コントロールポイントが消去され、外観をチェック可能な表示に切り替わるようにしてもよい。このように、キーボードやコントローラ以外の入力装置であっても、自動タスク判定を適切に実行することができる。なお、入力装置はタッチパネルやマウスであってもよい。
【００６５】
（変形例２）
また、上記各実施形態においては、操作媒体がユーザの手である場合について説明したが、操作媒体はユーザの手に限定されるものではない。操作媒体は、手袋（グローブ）を使用した手であってもよい。上記グローブは、布や樹脂で作られた光りの反射を抑えた単色のグローブとすることができる。ＨＭＤに内蔵されたカメラによって操作媒体を認識する場合、上記のようなグローブを手に装着して撮像することで、操作媒体である手の認識率を向上させることができる。
さらに、操作媒体は、遠隔で人間の指示に従って動く遠隔作業ロボットのアームであってもよい。この場合、遠隔地に配置されている入力装置とロボットアームとの、遠隔地を基準とした座標系における位置姿勢を、ＨＭＤを装着する空間の基準座標系に座標変換すればよい。そして、座標変換後の入力装置とロボットアームとの位置姿勢をもとに、入力装置およびロボットアームのそれぞれの存在有無の判定やＨＭＤからの距離計測を行うことで、上記各実施形態と同様に自動タスク判定処理を実行することができる。なお、操作媒体はスタイラスであってもよい。この場合、入力装置はタッチパネルであってもよい。
【００６６】
（変形例３）
また、上記各実施形態においては、入力装置と操作媒体との組合せと、対象タスクとが一対一の関係である場合について説明したが、１つの上記組合せに複数の対象タスクが対応付けられていてもよい。すなわち、１つの入力装置によって、複数のタスクを実行可能に構成することもできる。この場合、１つの上記組合せに対応付けられた複数のタスクの中から、直前に実行されていたタスクに応じたタスクを判別するようにしてもよい。具体的には、第一のタスクを実行するための第一の入力装置から、速やかに第二の入力装置に切り替えられたことを検出した場合、第二の入力装置に対応付けられた第二のタスクと第三のタスクとのうち、第一のタスクに関連する第三のタスクに切り替えてもよい。
上述した第一の実施形態では、ユーザが、第一の入力装置であるコントローラを用いて第一のタスクであるＣＧ調整を実施した後、第二の入力装置であるキーボードに持ち替えると、情報処理装置３０は第二のタスクである文章入力が可能な状態に切り替える。ところが、例えば、ＣＧ調整タスクを終えた後、ＣＧモデル上にコメントを挿入するコメント挿入タスクを実行したい場合がある。この場合、ユーザはコントローラを置いた後、速やかにキーボードに持ち替えることになる。
【００６７】
そこで、第一の入力装置であるコントローラから、速やかに第二の入力装置であるキーボードに持ち替えられた場合、第二のタスク（文章入力）ではなく、第三のタスク（コメント挿入）に切り替えるようにしてもよい。具体的には、図１３に示す条件設定テーブルを参照し、タスク判別処理を行うことができる。図１３に示す条件設定テーブルは、種別の異なる入力装置間の切り替え時間を規定した規定時間の情報を含む。
図１３の条件設定テーブルを参照したタスク判別処理によると、ユーザが入力装置であるコントローラを置いた後、規定時間内（例えば３秒以内）にキーボードに持ち替えると、情報処理装置はユーザがＣＧモデル上へのコメント挿入を希望していると判定する。そして、情報処理装置は、３次元モデル上の編集箇所へコメント入力欄を表示する。一方、ユーザが入力装置であるコントローラを置いた後、規定時間（例えば３秒）が経過してからキーボードに持ち替えた場合には、情報処理装置は、ユーザはＣＧモデル上へのコメント挿入を希望していないと判定する。そして、情報処理装置は、所定の箇所にメモ作成欄を表示する。
【００６８】
このように、情報処理装置は、規定距離の範囲内にあると判定されていた入力装置が、規定距離の範囲外にあると判定されてから、種別の異なる入力装置が新たに規定距離の範囲内にあると判定されるまでの時間を測定する。そして、情報処理装置は、測定した時間が予め設定された規定時間の範囲内であるか否かを判定し、規定時間の範囲内であると判定された場合、複数のタスクの中から直前に実行されていたタスクに関連するタスクを次に実行すべきタスクとして判別する。
以上により、ユーザがメニューを操作するまでもなく、キーボードを入力しようとする動作を行った時点で、コメント挿入タスクを実行するモードに切り替えることができ、効率的にユーザが希望するタスクを実現することができる。なお、上記の環境において、ユーザがキーボードから手を離すと、規定時間経過後に、コメント入力欄等を消去し、外観をチェックするモードに切り替えてもよい。
【００６９】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７０】
１０…複合現実感システム、２０…ＨＭＤ、３０…情報処理装置、３１…画像入力制御部、３２…画像加工部、３３…制御部、３４…タスク実行部、３５…画像出力制御部、３３ａ…条件設定部、３３ｂ…入力装置判定部、３３ｃ…入力装置距離計測部、３３ｄ…操作媒体判定部、３３ｅ…操作媒体距離計測部、３３ｆ…タスク判別部
【図１】
0006598617.tif 000002
【図２】
0006598617.tif 000003
【図３】
0006598617.tif 000004
【図４】
0006598617.tif 000005
【図５】
0006598617.tif 000006
【図６】
0006598617.tif 000007
【図７】
0006598617.tif 000008
【図８】
0006598617.tif 000009
【図９】
0006598617.tif 000010
【図１０】
0006598617.tif 000011
【図１１】
0006598617.tif 000012
【図１２】
0006598617.tif 000013
【図１３】
0006598617.tif 000014