(57)【要約】【課題】ユーザが操作対象となる実物体を選択する操作を行う際のユーザの操作性の向上を図る。【解決手段】ユーザ動作監視部１０２は、手の状態の監視結果から、ユーザの現在の手の状態に対応する操作種別を特定する。優先度算出部１０３は、実物体識別部１０７により識別された各実物体の優先度を算出する。表示効果設定部１０５は、ユーザ動作監視部１０２により特定された操作種別が、ユーザが操作対象となる実物体を選択する前の選択中の操作種別を示す場合、優先度に応じて予め定められた表示効果の度合いを実物体識別部１０７により識別された各実物体に設定する。実物体効果付与部１０４は、表示効果設定部１０５により設定された表示効果の度合い応じた表示効果を、優先度算出部１０３により優先度が算出された各実物体に付与する。【選択図】図１
2012173772.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが実物体を非接触で選択するユーザインタラクション装置であって、
前記ユーザの視界の映像データを取得するユーザ視界取得部と、
前記ユーザの手の状態と手の状態に対応する操作種別とを定義したユーザ操作定義情報を保持するユーザ操作定義保持部と、
前記ユーザ視界取得部により取得された映像データから、前記ユーザの現実空間における手の位置座標と前記ユーザの手の状態とを監視し、前記ユーザの現在の手の状態に対応する操作種別を、前記ユーザ操作定義情報を参照して特定するユーザ動作監視部と、
前記ユーザが操作可能な現実空間の実物体に関する情報を示す実物体情報を予め保持する実物体情報保持部と、
前記実物体情報に基づいて、前記映像データに含まれる実物体の中から操作可能な実物体を識別する実物体識別部と、
前記実物体識別部により識別された各実物体の前記現実空間での位置座標と、前記ユーザ動作監視部より監視された前記ユーザの現在の手の位置座標とに基づいて、前記実物体識別部により識別された各実物体の優先度を算出する優先度算出部と、
前記ユーザ動作監視部により特定された操作種別が、前記ユーザが操作対象となる実物体を選択する前の選択中の操作種別を示す場合、前記優先度に応じて予め定められた表示効果の度合いを各実物体に設定する表示効果設定部と、
前記表示効果設定部により設定された表示効果の度合い応じた表示効果を各実物体に付与する実物体効果付与部と、
前記実物体効果付与部により各実物体に付与された表示効果を前記映像データに重畳表示する重畳表示出力部とを備えるユーザインタラクション装置。
【請求項２】
前記ユーザ視界取得部は、前記ユーザにより装着されるヘッドマウントディスプレイが備えるカメラである請求項１記載のユーザインタラクション装置。
【請求項３】
前記ユーザ視界取得部は、
複数の定点カメラと、
前記定点カメラにより撮影された映像データから前記ユーザの視線を認識し、認識した視線を基に、前記ユーザの視界の映像データを取得する映像データ取得部とを備える請求項１記載のユーザインタラクション装置。
【請求項４】
前記ユーザ動作監視部は、前記ユーザ視界取得部より取得された映像データに含まれる前記ユーザの手の画像から前記ユーザの手の状態を監視する請求項１〜３のいずれかに記載のユーザインタラクション装置。
【請求項５】
前記ユーザ動作監視部は、前記ユーザの手に装着されたセンサから取得した情報を用いて前記ユーザの手の状態を監視することを特徴とする請求項１〜３のいずれかに記載のユーザインタラクション装置。
【請求項６】
前記実物体識別部は、操作可能な実物体の種別を更に識別し、
前記表示効果設定部は、操作可能な実物体の種別毎に予め定められた表示効果を各実物体に設定する請求項１〜５のいずれかに記載のユーザインタラクション装置。
【請求項７】
前記表示効果設定部は、前記ユーザ動作監視部により特定された操作種別が、前記操作中を示す場合、前記優先度が高い順に所定個数の実物体を抽出し、抽出した実物体に対して表示効果の度合いを設定する請求項１〜６のいずれかに記載のユーザインタラクション装置。
【請求項８】
前記表示効果設定部は、前記ユーザ動作監視部により特定された操作種別が、前記操作中を示す場合、前記優先度が高い実物体ほど輪郭の輝度を高く発光させる表示効果の度合いを設定する請求項１〜７のいずれかに記載のユーザインタラクション装置。
【請求項９】
前記表示効果設定部は、前記ユーザ動作監視部により特定された操作種別が、前記ユーザが操作対象となる実物体を決定した操作種別を示す場合、当該実物体のみに表示効果の度合いを設定する請求項１〜８のいずれかに記載のユーザインタラクション装置。
【請求項１０】
ユーザが実物体を非接触で選択するユーザインタラクション方法であって、
ユーザインタラクション装置が、前記ユーザの視界の映像データを取得するユーザ視界取得ステップと、
ユーザインタラクション装置が、前記ユーザ視界取得ステップにより取得された映像データから、前記ユーザの現実空間における手の位置座標と前記ユーザの手の状態とを監視し、前記ユーザの現在の手の状態に対応する操作種別を、前記ユーザの手の状態と手の状態に対応する操作種別とを定義したユーザ操作定義情報を参照して特定するユーザ動作監視ステップと、
ユーザインタラクション装置が、前記ユーザが操作可能な現実空間の実物体に関する情報を示す実物体情報に基づいて、前記映像データに含まれる実物体の中から操作可能な実物体を識別する実物体識別ステップと、
ユーザインタラクション装置が、前記実物体識別ステップにより識別された各実物体の前記現実空間での位置座標と、前記ユーザ動作監視ステップより監視された前記ユーザの現在の手の位置座標とに基づいて、前記実物体識別ステップにより識別された各実物体の優先度を算出する優先度算出ステップと、
ユーザインタラクション装置が、前記ユーザ動作監視ステップにより特定された操作種別が、前記ユーザが操作対象となる実物体を選択する前の選択中の操作種別を示す場合、前記優先度に応じて予め定められた表示効果の度合いを各実物体に設定する表示効果設定ステップと、
ユーザインタラクション装置が、前記表示効果設定ステップにより設定された表示効果の度合い応じた表示効果を各実物体に付与する実物体効果付与ステップと、
ユーザインタラクション装置が、前記実物体効果付与ステップにより各実物体に付与された表示効果を前記映像データに重畳表示する重畳表示出力ステップとを備えるユーザインタラクション方法。
【請求項１１】
ユーザが実物体を非接触で選択するユーザインタラクション装置としてコンピュータを機能させるユーザインタラクションプログラムであって、
前記ユーザの手の状態と手の状態に対応する操作種別とを定義したユーザ操作定義情報を保持するユーザ操作定義保持部と、
前記ユーザの視界を示す映像データから、前記ユーザの現実空間における手の位置座標と前記ユーザの手の状態とを監視し、前記ユーザの現在の手の状態に対応する操作種別を、前記ユーザ操作定義情報を参照して特定するユーザ動作監視部と、
前記ユーザが操作可能な現実空間の実物体に関する情報を示す実物体情報を予め保持する実物体情報保持部と、
前記実物体情報に基づいて、前記映像データに含まれる実物体の中から操作可能な実物体を識別する実物体識別部と、
前記実物体識別部により識別された各実物体の前記現実空間での位置座標と、前記ユーザ動作監視部より監視された前記ユーザの現在の手の位置座標とに基づいて、前記実物体識別部により識別された各実物体の優先度を算出する優先度算出部と、
前記ユーザ動作監視部により特定された操作種別が、前記ユーザが操作対象となる実物体を選択する前の選択中の操作種別を示す場合、前記優先度に応じて予め定められた表示効果の度合いを各実物体に設定する表示効果設定部と、
前記表示効果設定部により設定された表示効果の度合い応じた表示効果を各実物体に付与し、各実物体に付与した表示効果を前記映像データに重畳表示させる表示効果付与部としてコンピュータを機能させるユーザインタラクションプログラム。
【請求項１２】
ユーザが実物体を非接触で選択するユーザインタラクション装置の集積回路であって、
前記ユーザの視界の映像データを取得するユーザ視界取得部と、
前記ユーザの手の状態と手の状態に対応する操作種別とを定義したユーザ操作定義情報を保持するユーザ操作定義保持部と、
前記ユーザ視界取得部により取得された映像データから、前記ユーザの現実空間における手の位置座標と前記ユーザの手の状態とを監視し、前記ユーザの現在の手の状態に対応する操作種別を、前記ユーザ操作定義情報を参照して特定するユーザ動作監視部と、
前記ユーザが操作可能な現実空間の実物体に関する情報を示す実物体情報を予め保持する実物体情報保持部と、
前記実物体情報に基づいて、前記映像データに含まれる実物体の中から操作可能な実物体を識別する実物体識別部と、
前記実物体識別部により識別された各実物体の前記現実空間での位置座標と、前記ユーザ動作監視部より監視された前記ユーザの現在の手の位置座標とに基づいて、前記実物体識別部により識別された各実物体の優先度を算出する優先度算出部と、
前記ユーザ動作監視部により特定された操作種別が、前記ユーザが操作対象となる実物体を選択する前の選択中の操作種別を示す場合、前記優先度に応じて予め定められた表示効果の度合いを各実物体に設定する表示効果設定部と、
前記表示効果設定部により設定された表示効果の度合い応じた表示効果を各実物体に付与する実物体効果付与部と、
前記実物体効果付与部により各実物体に付与された表示効果を前記映像データに重畳表示する重畳表示出力部とを備える集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが操作対象となる実物体を非接触で選択する技術に関するものである。
【背景技術】
【０００２】
近年、現実空間の映像データの物体に対してバーチャルな電子情報を合成表示し、物体についての付加情報を提示する拡張現実（Augmented Reality、以降“ＡＲ”と記述する）を実現する装置が提供されている。例えば、セカイカメラ（登録商標）などのＡＲソフトウェアがあり、これらのソフトウェアは、例えばｉＰｈｏｎｅ（登録商標）やＡｎｄｒｏｉｄ（登録商標）などのスマートフォン上で動作する。
【０００３】
今後、ＡＲを利用した情報の提示は、現実空間の物体（以下、実物体と記述する。）の情報を単にユーザに提示するだけではなく、ユーザからある実物体を操作対象として選択する操作要求を受け付けて、当該実物体に関する情報をユーザに提示することも求められている。この場合、ＡＲでは、ユーザに実物体を非接触で選択させる。そのため、ＡＲでは、ユーザの位置から接触不可能な実物体が操作対象として選択されることもある。
【０００４】
なお、特許文献１には、現実空間においてユーザにより所持される操作デバイスに対応する３次元オブジェクトを表示画面に表示し、操作デバイスの現実空間での姿勢及び位置を検出し、検出した姿勢及び位置に基づいて３次元オブジェクトの姿勢及び位置を変更させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４０８５９１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＡＲに関する従来の技術では、ユーザがある実物体を操作対象として選択しようとする場合、ユーザは現在行っている操作が選択しようとしている実物体に近づいているか否かを認識することができないという課題があった。以下、図１３を用いてこの課題が生じる一例を説明する。
【０００７】
図１３（ａ）はユーザがある実物体を操作対象として選択するための選択操作を開始したときの状態を示し、図１３（ｂ）は選択操作が完了したときの状態を示している。図１３（ａ）において、ユーザは自身の手３０１を用いて、実物体３０４を選択しようとしている。実物体３０３は現在選択中の実物体である。そのため、実物体３０３の輪郭が高輝度で発光されている。現在選択中の実物体は例えばユーザの手３０１に最も近い実物体が選ばれる。
【０００８】
矢印３０２は、実物体３０４を選択するために、ユーザが手３０１を動かすべき方向を表す。従来の技術では矢印３０２のようにユーザの操作をユーザに確認させる情報を画面上に表示することは行われていなかった。そのため、ユーザは手３０１を動かす際に輪郭が発光された実物体を認識し、この認識結果を頼りに矢印３０２の方向を推測して手３０１を移動させる必要があった。
【０００９】
そして、矢印３０２の方向をうまく推測してその方向に手３０１を動かすことができた場合、図１３（ｂ）に示すように、ユーザは実物体３０４を選択することができる。この場合、実物体３０４の輪郭が高輝度で発光され、ユーザは意図する実物体を選択できたと認識する。
【００１０】
このように、従来の技術では、ユーザは選択操作中に、手３０１の方向が矢印３０２と一致しているかの認識ができず、選択操作が困難であるという課題があった。
【００１１】
特に、選択対象となる実物体に他の実物体が密集している場合、手３０１のわずかな方向の違いにより、選択される実物体が変わるため選択操作は更に困難となる。一方、画面上に矢印３０２を表示させ、ユーザに手３０１の移動方向を報知すると、画面上に表示される実物体の表示の邪魔になる。また、矢印の記号は、視界上で実物体に手を重ねて掴む動作により実物体を選択するという操作にもそぐわない。
【００１２】
また、特許文献１の手法では、複数の実物体の中から１つの実物体を選択する操作を行う際の操作性の向上を図る措置が何らとられていない。
【００１３】
本発明の目的は、ユーザが操作対象となる実物体を選択する操作を行う際の操作性の向上を図ることである。
【課題を解決するための手段】
【００１４】
（１）本発明によるユーザインタラクション装置は、ユーザが実物体を非接触で選択するユーザインタラクション装置であって、前記ユーザの視界の映像データを取得するユーザ視界取得部と、前記ユーザの手の状態と手の状態に対応する操作種別とを定義したユーザ操作定義情報を保持するユーザ操作定義保持部と、前記ユーザ視界取得部により取得された映像データから、前記ユーザの現実空間における手の位置座標と前記ユーザの手の状態とを監視し、前記ユーザの現在の手の状態に対応する操作種別を、前記ユーザ操作定義情報を参照して特定するユーザ動作監視部と、前記ユーザが操作可能な現実空間の実物体に関する情報を示す実物体情報を予め保持する実物体情報保持部と、前記実物体情報に基づいて、前記映像データに含まれる実物体の中から操作可能な実物体を識別する実物体識別部と、前記実物体識別部により識別された各実物体の前記現実空間での位置座標と、前記ユーザ動作監視部より監視された前記ユーザの現在の手の位置座標とに基づいて、前記実物体識別部により識別された各実物体の優先度を算出する優先度算出部と、前記ユーザ動作監視部により特定された操作種別が、前記ユーザが操作対象となる実物体を選択する前の選択中の操作種別を示す場合、前記優先度に応じて予め定められた表示効果の度合いを各実物体に設定する表示効果設定部と、前記表示効果設定部により設定された表示効果の度合い応じた表示効果を各実物体に付与する実物体効果付与部と、前記実物体効果付与部により各実物体に付与された表示効果を前記映像データに重畳表示する重畳表示出力部とを備える。
【００１５】
本発明によるユーザインタラクション方法は、ユーザが実物体を非接触で選択するユーザインタラクション方法であって、ユーザインタラクション装置が、前記ユーザの視界の映像データを取得するユーザ視界取得ステップと、ユーザインタラクション装置が、前記ユーザ視界取得ステップにより取得された映像データから、前記ユーザの現実空間における手の位置座標と前記ユーザの手の状態とを監視し、前記ユーザの現在の手の状態に対応する操作種別を、前記ユーザの手の状態と手の状態に対応する操作種別とを定義したユーザ操作定義情報を参照して特定するユーザ動作監視ステップと、ユーザインタラクション装置が、前記ユーザが操作可能な現実空間の実物体に関する情報を示す実物体情報に基づいて、前記映像データに含まれる実物体の中から操作可能な実物体を識別する実物体識別ステップと、ユーザインタラクション装置が、前記実物体識別ステップにより識別された各実物体の前記現実空間での位置座標と、前記ユーザ動作監視ステップより監視された前記ユーザの現在の手の位置座標とに基づいて、前記実物体識別ステップにより識別された各実物体の優先度を算出する優先度算出ステップと、ユーザインタラクション装置が、前記ユーザ動作監視ステップにより特定された操作種別が、前記ユーザが操作対象となる実物体を選択する前の選択中の操作種別を示す場合、前記優先度に応じて予め定められた表示効果の度合いを各実物体に設定する表示効果設定ステップと、ユーザインタラクション装置が、前記表示効果設定ステップにより設定された表示効果の度合い応じた表示効果を各実物体に付与する実物体効果付与ステップと、ユーザインタラクション装置が、前記実物体効果付与ステップにより各実物体に付与された表示効果を前記映像データに重畳表示する重畳表示出力ステップとを備える。
【００１６】
本発明によるユーザインタラクションプログラムは、ユーザが実物体を非接触で選択するユーザインタラクション装置としてコンピュータを機能させるユーザインタラクションプログラムであって、前記ユーザの手の状態と手の状態に対応する操作種別とを定義したユーザ操作定義情報を保持するユーザ操作定義保持部と、前記ユーザの視界を示す映像データから、前記ユーザの現実空間における手の位置座標と前記ユーザの手の状態とを監視し、前記ユーザの現在の手の状態に対応する操作種別を、前記ユーザ操作定義情報を参照して特定するユーザ動作監視部と、前記ユーザが操作可能な現実空間の実物体に関する情報を示す実物体情報を予め保持する実物体情報保持部と、前記実物体情報に基づいて、前記映像データに含まれる実物体の中から操作可能な実物体を識別する実物体識別部と、前記実物体識別部により識別された各実物体の前記現実空間での位置座標と、前記ユーザ動作監視部より監視された前記ユーザの現在の手の位置座標とに基づいて、前記実物体識別部により識別された各実物体の優先度を算出する優先度算出部と、前記ユーザ動作監視部により特定された操作種別が、前記ユーザが操作対象となる実物体を選択する前の選択中の操作種別を示す場合、前記優先度に応じて予め定められた表示効果の度合いを各実物体に設定する表示効果設定部と、前記表示効果設定部により設定された表示効果の度合い応じた表示効果を各実物体に付与し、各実物体に付与した表示効果を前記映像データに重畳表示させる表示効果付与部としてコンピュータを機能させる。
【００１７】
本発明による集積回路は、ユーザが実物体を非接触で選択するユーザインタラクション装置の集積回路であって、ユーザの視界の映像データを取得するユーザ視界取得部と、前記ユーザの手の状態と手の状態に対応する操作種別とを定義したユーザ操作定義情報を保持するユーザ操作定義保持部と、前記ユーザ視界取得部により取得された映像データから、前記ユーザの現実空間における手の位置座標と前記ユーザの手の状態とを監視し、前記ユーザの現在の手の状態に対応する操作種別を、前記ユーザ操作定義情報を参照して特定するユーザ動作監視部と、前記ユーザが操作可能な現実空間の実物体に関する情報を示す実物体情報を予め保持する実物体情報保持部と、前記実物体情報に基づいて、前記映像データに含まれる実物体の中から操作可能な実物体を識別する実物体識別部と、前記実物体識別部により識別された各実物体の前記現実空間での位置座標と、前記ユーザ動作監視部より監視された前記ユーザの現在の手の位置座標とに基づいて、前記実物体識別部により識別された各実物体の優先度を算出する優先度算出部と、前記ユーザ動作監視部により特定された操作種別が、前記ユーザが操作対象となる実物体を選択する前の選択中の操作種別を示す場合、前記優先度に応じて予め定められた表示効果の度合いを各実物体に設定する表示効果設定部と、前記表示効果設定部により設定された表示効果の度合い応じた表示効果を各実物体に付与する実物体効果付与部と、前記実物体効果付与部により各実物体に付与された表示効果を前記映像データに重畳表示する重畳表示出力部とを備える。
【００１８】
これらの構成によれば、ユーザの手の位置座標とユーザの視界にある実物体の位置座標との距離に基づいて、各実物体に優先度が算出される。そして、ユーザがある実物体を操作対象として選択する操作を行っている場合、優先度に応じた表示効果の度合いが各実物体に設定されて各実物体が表示される。
【００１９】
そのため、ユーザは自身の手の位置座標と実物体の位置座標との関係を表示効果の度合いから把握することができる。その結果、ユーザは、選択しようとする実物体に付与された表示効果の度合いから、現在の操作を修正しながら目標とする実物体を選択する操作を行うことができ、操作性の向上を図ることができる。
【００２０】
（２）前記ユーザ視界取得部は、前記ユーザにより装着されるヘッドマウントディスプレイが備えるカメラであることが好ましい。
【００２１】
この構成によれば、ユーザの視界の映像データを容易に取得することができる。
【００２２】
（３）前記ユーザ視界取得部は、複数の定点カメラと、前記定点カメラにより撮影された映像データからユーザの視線を認識し、認識した視線を基に、前記ユーザの視界の映像データを取得する映像データ取得部とを備えることが好ましい。
【００２３】
この構成によれば、ユーザにカメラを装着させなくても、ユーザの視界の映像データを取得することができる。
【００２４】
（４）前記ユーザ動作監視部は、前記ユーザ視界取得部より取得された映像データに含まれる前記ユーザの手の画像から前記ユーザの手の状態を監視することが好ましい。
【００２５】
この構成によれば、ユーザ視界取得部により取得された映像データに含まれる手の画像から状態が監視されているため、手の状態を監視するためのセンサを設ける必要がなくなり、装置構成を簡略化することができる。
【００２６】
（５）前記ユーザ動作監視部は、前記ユーザの手に装着されたセンサから取得した情報を用いて前記ユーザの手の状態を監視することが好ましい。
【００２７】
この構成によれば、センサを用いてユーザの手の状態を監視しているため、ユーザの手の状態を正確に監視することができる。
【００２８】
（６）前記実物体識別部は、操作可能な実物体の種別を更に識別し、前記表示効果設定部は、操作可能な実物体の種別毎に予め定められた表示効果を各実物体に設定することが好ましい。
【００２９】
この構成によれば、ユーザは映像データから実物体の種別を認識することができる。
【００３０】
（７）前記表示効果設定部は、前記ユーザ動作監視部により特定された操作種別が、前記操作中を示す場合、前記優先度が高い順に所定個数の実物体を抽出し、抽出した実物体に対して表示効果の度合いを設定することが好ましい。
【００３１】
この構成によれば、優先度が高い実物体のみ表示効果の度合いが設定されるため、ユーザが選択する可能性が高い実物体に対してのみユーザの手との位置関係を報知することができる。その結果、ユーザに重要な情報のみを報知することができ、不要な情報を排除して操作性を更に高めることができる。
【００３２】
（８）前記表示効果設定部は、前記ユーザ動作監視部により特定された操作種別が、前記操作中を示す場合、前記優先度が高い実物体ほど輪郭の輝度を高く発光させる表示効果の度合いを設定することが好ましい。
【００３３】
この構成によれば、選択を希望する実物体の輪郭が高い輝度で発光されている場合、ユーザは現在の操作が正しいと認識することができる。また、選択を希望する実物体の輪郭が低い輝度で発光されている場合は、当該実物体に向けて手を動かせば当該実物体を選択することができることを認識することができる。その結果、手と選択を希望する実物体との位置関係を直感的にユーザに報知することができる。
【００３４】
（９）前記表示効果設定部は、前記ユーザ動作監視部により特定された操作種別が、前記ユーザが操作対象となる実物体を決定した操作種別を示す場合、当該実物体のみに表示効果の度合いを設定することが好ましい。
【００３５】
この構成によれば、ユーザが実物体を決定した場合、当該実物体のみに表示効果の度合いが設定されるため、ユーザはユーザインタラクション装置がどの実物体を操作対象として認識したかを速やかに認識することができる。
【発明の効果】
【００３６】
本発明によれば、ユーザは、実物体に付与された表示効果の度合いから、現在の操作を修正しながら目標とする実物体を選択する操作を行うことができ、操作性の向上を図ることができる。
【図面の簡単な説明】
【００３７】
【図１】本発明の実施の形態によるユーザインタラクション装置の構成を示すブロック図である。
【図２】ユーザが選択中の操作を行った際の本発明の実施の形態におけるユーザインタラクション装置の処理を示すフローチャートである。
【図３】直前、及び現在のそれぞれにおいて、ユーザの手の状態と位置座標との一例を示した図である。
【図４】ユーザ操作定義情報の一例を示した図である。
【図５】Ｘ−Ｙ座標系における優先度の算出方法を示した模式図である。
【図６】Ｚ座標系における優先度の算出手法を示した模式図である。
【図７】図５、図６に示す実物体の位置座標をまとめた表である。
【図８】図５、図６に示す手の位置座標をまとめた表である。
【図９】（ａ）は図５、図６に示す実物体に対して算出されたＸ−Ｙ座標系の優先度をまとめた表であり、（ｂ）は図５、図６に示す実物体に対して算出されたＺ座標系の優先度をまとめた表である。
【図１０】図５、図６に示す実物体に対して算出された総合的な優先度をまとめた表である。
【図１１】表示効果情報の一例を示した図である。
【図１２】表示効果設定部が実物体に対して設定した表示効果及び表示効果の度合いをまとめた表である。
【図１３】（ａ）はユーザがある実物体を操作対象として選択するための選択操作を開始したときの状態を示し、（ｂ）は選択操作が完了したときの状態を示している。
【発明を実施するための形態】
【００３８】
以下、本発明の実施の形態によるユーザインタラクション装置について、図面を参照しながら説明する。本ユーザインタラクション装置は、ユーザの視界内にあり、かつ、ユーザの手が届かない場所にある複数の実物体の中から、１つの実物体を掴む動作を行うことによりユーザに非接触で選択させる装置である。
【００３９】
図１は、本発明の実施の形態によるユーザインタラクション装置の構成を示すブロック図である。図１に示すユーザインタラクション装置は、制御部１０１と入出力部１１０とを備えている。制御部１０１は、ユーザ動作監視部１０２、優先度算出部１０３、実物体効果付与部１０４、表示効果設定部１０５、ユーザ操作定義保持部１０６、実物体識別部１０７、実物体情報保持部１０８、及び表示効果情報保持部１０９を備えている。ここで、制御部１０１は、例えばＣＰＵ、ＲＯＭ、及びＲＡＭ等を備えるマイクロコンピュータにより構成され、ＣＰＵがユーザインタラクションプログラムを実行することで、各ブロックの機能を実現する。
【００４０】
入出力部１１０は、例えばＨＭＤにより構成され、ユーザ視界取得部１１１、及び重畳表示出力部１１２を備える。なお、入出力部１１０及び制御部１０１を１チップ化して集積回路により構成してもよいし、制御部１０１及び入出力部１１０をそれぞれ１チップ化し、個別の集積回路により構成してもよい。
【００４１】
ＨＭＤは、カメラ機能を搭載しておりユーザの視界に映る現実環境の映像を取得することができる。こおで、ＨＭＤとしては、現実空間におけるユーザの視界の映像にバーチャルな映像を重畳表示するシースルー型ＨＭＤを採用する。
【００４２】
また、図１に示す構成のうち、制御部１０１を、ＨＭＤとネットワークを介して接続されたコンピュータ、又はＨＭＤに内蔵されたコンピュータとして実現してもよい。このとき、これらの機能ブロックは、ユーザ視界取得部１１１から取得した映像データを入力とし、重畳表示出力部１１２に対して現実空間の映像データにバーチャルな画像データを重畳して出力する。
【００４３】
ユーザ視界取得部１１１は、例えば、ＨＭＤに取り付けられた深度センサ又はステレオカメラ等の画像センサと、画像センサにより取得された映像データを処理する処理回路とを備え、ユーザの視界の映像データを所定のフレームレートで取得する。なお、ユーザ視界取得部１１１として、ＨＭＤに取り付けられた画像センサに代えて、複数の定点カメラにより構成してもよい。ここで、定点カメラは、現実空間の所定の場所に固定されたカメラである。
【００４４】
この場合、ユーザ視界取得部１１１は、定点カメラにより取得された映像データからユーザの視線を認識し、認識した視線からユーザの視界を示す映像データを生成してもよい。具体的には、ユーザ視界取得部１１１は、定点カメラにより取得された各映像データからユーザのシルエットを抽出する。そして、抽出したユーザのシルエットから現実空間におけるユーザの視線の方向を認識する。
【００４５】
そして、認識した視線の方向を基準としたときの各定点カメラの光軸の向きを特定する。そして、視線を中心としてユーザの視界と同一サイズを持つ仮想スクリーンを設定し、各定点カメラにより取得された映像データを、視線に対する光軸の向きを基準として仮想スクリーンに配置することでユーザの視界の映像データを生成すればよい。
【００４６】
ユーザ動作監視部１０２は、ユーザ視界取得部１１１により取得された映像データからユーザの現実空間における手の位置座標を監視する。ここで、ユーザ動作監視部１０２は、ユーザ視界取得部１１１から所定のフレームレートで映像データが供給され、各映像データに含まれる手の特徴点を抽出する処理を行う。
【００４７】
具体的には、まず、ユーザ動作監視部１０２は、映像データに含まれる実物体の特徴点を抽出する処理を行う。特徴点としては、例えば、実物体の輪郭上の点であって、頂点や曲率の大きな点等の実物体の形状を特徴付ける点が該当する。そして、ユーザ動作監視部１０２は、映像データから抽出した特徴点をクラスタリングして複数の特徴点群に分け、各特定点群における特徴点の配置パターンから手の特徴点を抽出する。この場合、ユーザ動作監視部１０２は、手について基準となる特徴点の配置パターンである手の基準配置パターンを予め保持しておき、この手の基準配置パターンと映像データから抽出した特徴点の配置パターンとを比較することで、手の特徴点を抽出すればよい。
【００４８】
そして、ユーザ動作監視部１０２は、抽出した手の特徴点から手の代表点を特定する。ここで、代表点としては、例えば手の重心を採用することができる。そして、ユーザ動作監視部１０２は、手の代表点の現実空間での位置座標を手の位置座標として求める。
【００４９】
ここで、ユーザ視界取得部１１１として深度センサが採用されている場合、ユーザ動作監視部１０２は、深度センサが取得した距離画像データにおいて、手の代表点の水平座標及び垂直座標と、手の代表点の奥行座標とから代表点の３次元位置を求めればよい。
【００５０】
また、ユーザ視界取得部１１１としてステレオカメラが採用されている場合、ユーザ動作監視部１０２は、一方のカメラから取得された映像データから手の特徴点を抽出し、抽出した特徴点から代表点を抽出し、抽出した代表点と同じ箇所を示す対応点を他方のカメラの映像データから抽出する。そして、ユーザ動作監視部１０２は、手の代表点と対応点との視差を用いて手の代表点の奥行座標を求める。そして、ユーザ動作監視部１０２は、求めた代表点の奥行座標と、映像データにおける代表点の垂直座標及び水平座標とから代表点の現実空間における位置座標を算出すればよい。
【００５１】
また、ユーザ動作監視部１０２は、ユーザ視界取得部１１１により取得された映像データからユーザの現実空間における手の状態を監視する。
【００５２】
本実施の形態では、手の状態として、“解放”、“掌握”、“なし”が存在する。したがって、ユーザ動作監視部１０２は、映像データから抽出した手の特徴点の配置パターンがいずれの上記３状態のいずれを示すかを判定することで手の状態を監視する。ここで、“解放”は例えば、ユーザの手が自然に開いた状態を示す。この場合、ユーザの手の親指の先端と人差し指の先端との距離が一定距離以上離れるため、ユーザ動作監視部１０２は、人差し指の先端を示す特徴点と親指の先端を示す特徴点との映像データ上での距離又は現実空間での距離を求め、人差し指の先端と親指の先端とが一定距離以上離れていた場合、手の状態が“解放”であると判定すればよい。
【００５３】
なお、ユーザ動作監視部１０２は、ユーザの手の指にマーカ（センサの一例）を装着させて、マーカの位置を検出することで、ユーザの手の状態を検出してもよい。この場合、例えば、ユーザの親指と人差し指とにそれぞれマーカを装着させる。そして、ユーザ動作監視部１０２は、映像データからマーカの位置を検出し、そのマーカの映像データにおける距離からユーザの手の状態を検出してもよい。ここで、マーカとしては、例えばＬＥＤ等の発光体や、白色板等を採用すればよい。
【００５４】
また、“掌握”はユーザの手が何かを掴んだ状態を示す。この場合、ユーザの手の親指の先端と人差し指の先端とが一定距離以内に近づくため、ユーザ動作監視部１０２は、人差し指の先端と親指の先端との距離が、一定距離以内の場合、手の状態が“掌握”であると判定すればよい。
【００５５】
また、“なし”は手の状態が“解放”及び“掌握”のいずれにも該当しない状態を示す。具体的には、ユーザの手の映像データに含まれておらず、ユーザ動作監視部１０２が手の特徴点が抽出することができなかった場合が該当する。
【００５６】
そして、ユーザ動作監視部１０２は、手の状態の監視結果から、ユーザの現在の手の状態に対応する操作種別を、ユーザ操作定義保持部１０６に保持されているユーザ操作定義情報を参照して特定する。
【００５７】
図４は、ユーザ操作定義情報の一例を示した図である。図４に示すように、ユーザ操作定義情報は、“操作種別”、“手の状態変化”、及び“手の位置座標差分の絶対値”の欄を備えている。“操作種別”の欄には本ユーザインタラクション装置が識別可能な操作種別が格納されている。ここで、操作種別とは、ユーザが実物体に対して行う操作の種類である。
【００５８】
図４の例では、操作種別として、“選択中”、“決定”、“範囲指定”、“解除”の４つが存在する。“選択中”は、ユーザが自身の視界に存在する実物体のうち、いずれかの実物体を操作対象として選択する前の操作、つまり、操作対象となる実物体を選択しようとしている操作である。“決定”は、ユーザが操作対象となる実物体を選択した操作、つまり、操作対象となる実物体が確定した操作である。“範囲指定”は、ユーザが“選択中”の操作を開始することを示す操作である。具体的には、“範囲指定”としては、ユーザが自身の手をユーザ視界取得部１１１の画角外から画角内に侵入させる操作が該当する。
【００５９】
“解除”は、ユーザが“決定”の操作を行って操作対象として決定した実物体を操作対象から解除する操作である。
【００６０】
“手の状態変化”の欄には手の状態が直前から現在にかけてどのように変化したかを示す情報が格納されている。ここで、ユーザ動作監視部１０２は、一定の周期（例えば、映像データの取得するフレーム周期）でユーザの手の状態を判定する。そのため、“現在”とはユーザ動作監視部１０２が判定した手の状態の最新の判定結果を示す。また、“直前”はユーザ動作監視部１０２が“現在”の判定結果の一つ前に手の状態を判定したときの判定結果を示す。よって、“解放→解放”は、直前の手の状態が解放で、現在の手の状態が解放であることを示す。また、“解放→掌握”は、直前の手の状態が解放で、現在の手の状態が掌握であることを示す。また、“なし→解放”は、直前の手の状態がなしで、現在の手の状態が解放であることを示す。また、“掌握→解放”は、直前の手の状態が掌握で現在の手の状態が解放であることを示す。
【００６１】
“手の位置座標差分の絶対値”の欄には、直前から現在までの手の位置座標の差分についての条件が格納されている。選択中に対しては“Ｘ，Ｙ，Ｚ軸方向のいずれかにおいて５ｃｍより大きい”の条件が格納されている。ここで、Ｘ，Ｙ，Ｚ軸は現実空間の各位置を規定するための座標軸であり、それぞれ、直交している。具体的には、Ｘ軸は矩形状の映像データの水平方向（横方向）と平行な座標軸である。Ｙ軸は映像データの垂直方向（縦方向）と平行な座標軸である。Ｚ軸はユーザ視界取得部１１１が備える画像センサのセンサ面と直交する方向、つまり、ユーザの視界の奥行座標を規定する座標軸である。ここで、Ｘ、Ｙ、Ｚ軸の原点としては例えば映像データの中央の位置が採用されている。
【００６２】
ユーザが“選択中”の操作を行う場合、ユーザは手を自然に開いた状態にして、目標とする実物体に手を移動させる動作を行う。したがって、ユーザ動作監視部１０２は、手の状態変化が“解放→解放”であり、手の位置座標のＸ，Ｙ，Ｚ軸の位置座標の差分の絶対値のうち少なくとも１つの座標軸の位置座標の差分の絶対値が５ｃｍより大きい場合、操作種別が選択中であると判定する。
【００６３】
また、ユーザが“決定”の操作を行う場合、視界中の実物体に手を重ね、その位置で指を曲げてその実物体を掴むような動作を行う。そのため、ユーザ動作監視部１０２は、手の状態変化が“解放→掌握”であり、手の位置座標のＸ，Ｙ，Ｚ軸の位置座標の差分の絶対値の位置座標の差分の絶対値が全て０ｃｍ以上、５ｃｍ以下の場合、操作種別が決定であると判定する。
【００６４】
ここで、５ｃｍを条件として規定したのは、ユーザの手のぶれを想定したものである。すなわち、ユーザは本ユーザインタラクション装置を装着して、街中を歩きながら、実物体を選択する操作を行う。この場合、ユーザは手を停止させていても、歩く動作の振動により手が５ｃｍ程度ぶれる。そこで、本実施の形態では、５ｃｍを条件として採用したのである。但し、歩いた際の手のぶれはユーザの身体的特徴に応じて異なることも想定される。また、本ユーザインタラクション装置を操作するときは歩くのをやめ、止まった状態でのみ操作するユーザも想定される。また、本ユーザインタラクション装置を室内でのみ操作するユーザも想定される。したがって、５ｃｍは一例であって、ユーザインタラクション装置に対するユーザの身体的特徴や使用態様に応じて、適宜好ましい値をユーザが設定できるようにしてもよい。
【００６５】
また、ユーザが“範囲指定”の操作を行う場合、ユーザ視界取得部１１１の画角外から画角内に手を侵入させる操作を行う。したがって、ユーザ動作監視部１０２は、手の状態変化が“なし→解放”であり、手の位置座標のＸ，Ｙ，Ｚ軸の位置座標の差分の絶対値が算出されていない場合、操作種別が範囲指定であると判定する。ここで、“範囲指定”の場合、“手の位置座標差分の絶対値”を“なし”としているのは、直前の手の位置座標が算出されていないため、手の位置座標の差分の絶対値を求めることができないからである。
【００６６】
また、ユーザが“解除”の操作を行う場合、ユーザは実物体を掴もうとして指を閉じた状態から指を開く操作を行う。したがって、ユーザ動作監視部１０２は、手の状態変化が“掌握→解放”であり、手の位置座標のＸ，Ｙ，Ｚ軸の位置座標の差分の絶対値が全て０ｃｍ以上５ｃｍ以下の場合、操作種別が解除であると判定する。
【００６７】
このように、ユーザ動作監視部１０２はユーザの手の状態を終始監視しながらユーザ操作種別の判定とユーザの手の位置座標の更新とを行う。
【００６８】
図１に戻り、実物体識別部１０７は、実物体情報保持部１０８に保持されている実物体情報に基づいて、映像データに含まれる実物体の中からユーザが操作可能な現実空間の実物体を識別する。
【００６９】
具体的には、実物体識別部１０７は、ユーザ視界取得部１１１から所定のフレームレートで映像データが供給され、各映像データに含まれる実物体の特徴点を抽出し、抽出した特徴点をクラスタリングして複数の特徴点群に分け、各特徴点群における特徴点の配置パターンを求める。そして、実物体識別部１０７は、操作可能な実物体の基準となる特徴点の配置パターンである基準配置パターンを実物体情報保持部１０８から読み出し、この基準配置パターンと映像データから抽出した配置パターンとを比較することで、操作可能な実物体を識別する。
【００７０】
実物体情報保持部１０８は、操作可能な実物体に関する情報を示す実物体情報を予め保持する。本実施の形態では、例えば実物体情報としては、予め定められた操作可能な実物体の基準配置パターン及び種別が含まれる。種別としては、例えば、ビル、車、看板等の実物体の種別を示す情報が採用される。
【００７１】
優先度算出部１０３は、実物体識別部１０７により識別された実物体の現実空間での位置座標と、ユーザ動作監視部１０２より監視されたユーザの現在の手の位置座標とに基づいて、実物体識別部１０７により識別された実物体の優先度を算出する。
【００７２】
ここで、優先度算出部１０３は、実物体識別部１０７により抽出された各実物体の特徴点の配置パターンから各実物体の重心を求め、この重心の現実空間での３次元の位置座標を各実物体の位置座標として算出する。この場合、優先度算出部１０３は、ユーザ動作監視部１０２がユーザの手の代表点の位置座標を算出した手法と同一の手法を用いて各実物体の重心の位置座標を求めればよい。
【００７３】
そして、優先度算出部１０３は、Ｘ軸とＹ軸とで規定されるＸ−Ｙ座標系と、Ｚ軸で規定されるＺ座標系とのそれぞれにおいて、ユーザの手の位置座標と、実物体識別部１０７により識別された各実物体との距離を求め、距離が短い順に優先度を算出する。そして、優先度算出部１０３は、Ｘ−Ｙ座標系の優先度とＺ座標系の優先度との合計値を求め、各実物体の総合的な優先度を求める。
【００７４】
また、優先度算出部１０３は、実物体識別部１０７により識別された実物体のうち、ユーザの手の位置から所定距離内にある実物体に対してのみ優先度を算出してもよい。こうすることで、優先度の算出対象となる実物体の個数が制限され、処理の高速化を図ることができる。
【００７５】
表示効果設定部１０５は、ユーザ動作監視部１０２により特定された操作種別が、“選択中”の操作種別を示す場合、優先度に応じて予め定められた表示効果の度合いを実物体識別部１０７により識別された各実物体に設定する。
【００７６】
具体的には、表示効果設定部１０５は、ユーザ動作監視部１０２により特定された操作種別に対応する表示効果の種別を、表示効果情報保持部１０９に保持された表示効果情報から特定する。
【００７７】
図１１は、表示効果情報の一例を示した図である。表示効果情報は、“操作種別”、“表示効果の種別”、及び“表示効果の度合い”の欄を備えている。“操作種別”の欄には、ユーザ動作監視部１０２により特定される、４つの操作種別が格納されている。これら４つの操作種別は上述したため説明を省く。
【００７８】
表示効果の種別の欄には、各操作種別に対応する表示効果の種別が格納されている。図１１の例では、“選択中”、“決定”、“範囲指定”のそれぞれに対して“実物体の輪郭の発光”が表示効果の種別として規定されている。したがって、これら３つの操作種別に示す操作がユーザにより行われた場合、表示効果設定部１０５は、該当する実物体の輪郭を発光する表示効果を設定する。
【００７９】
また、“解除”に対して“実物体を揺らす”が表示効果の種別として規定されている。したがって、ユーザにより“解除”の操作が行われると、表示効果設定部１０５は、該当する実物体を一定時間振動する表示効果を設定する。
【００８０】
また、図１１の例では、“選択中”に対応する“表示効果の度合い”として、“優先度が高い方から３つの実物体に対して、度合いを強、中、弱で発光”が格納されている。よって、“選択中”の操作が行われた場合、表示効果設定部１０５は、優先度算出部１０３により算出された優先度が高い順に３つの実物体を抽出し、これら３つの実物体に対して、輪郭を強、中、弱の輝度で発光させる表示効果の度合いを設定する。
【００８１】
これにより、重畳表示出力部１１２に表示される映像において、ユーザの手の位置座標から近い順に３つの実物体の輪郭が強、中、弱の輝度で発光され、ユーザは自身の手の位置と実物体の位置との関係を映像データから把握することができる。そのため、選択しようとする実物体の輪郭が強の輝度で発光されている場合は、手を止めて掴む操作を行えば、この実物体を選択することができる。また、選択しようとする実物体の輪郭が中、又は弱の輝度で発光されている場合は、当該実物体に向けて手を動かせば、当該実物体を選択することができる。
【００８２】
更に、選択しようとする実物体の輪郭が発光されていない場合、ユーザは、輪郭が発光されている実物体のうち、選択しようとする実物体に最も近い実物体を見つけ、その実物体に向けて手を動かすことで、選択しようとする実物体に手を近づけることができる。
【００８３】
このように、優先度に応じた輝度で実物体の輪郭を発光させることで、ユーザは自身の操作を確認しながら、実物体を選択することができ、操作性を向上させることができる。
【００８４】
ここで、実物体の輪郭を発光させる表示態様としては、例えば、実物体の輪郭を所定の色でなぞったグラフィックスを実物体に重畳表示させる表示態様を採用すればよい。そして、輪郭を強、中、弱の輝度で発光させる場合は、この輪郭をなぞったグラフィックスの輝度を、強、中、弱のそれぞれに対して予め定められた輝度で発光させればよい。
【００８５】
なお、図１１の例では、３個の実物体の輪郭を強、中、弱の輝度で表示するようにしたが、これは一例であり、３個の実物体を異なる色（例えば、赤、青、黄色）で表示して、ユーザに手の位置と実物体の位置との関係を報知するようにしてもよい。例えば、実物体を赤で表示する場合は、実物体の映像に対して、各画素を赤の成分を強調表示する画像処理を施せばよい。また、実物体の映像の全体に赤マークのグラフィックスを、αブレンディングを用いて所定の透明度で重畳表示させればよい。
【００８６】
また、３個の実物体を揺らす表示効果を採用してもよい。この場合、優先度が高い順に、振動数及び振幅の少なくとも一方を大、中、小に設定して３個の実物体を振動させればよい。
【００８７】
また、図１１の例では、操作種別が“選択中”の場合、３つの実物体の輪郭を発光させたが、これに限定されず、２個、４個、５個というように３個以外の複数の実物体の輪郭を発光させてもよい。
【００８８】
また、図１１の例では、“決定”の操作種別に対応する“表示効果の度合い”として、“決定した実物体に対して度合いを強で発光”が格納されている。
【００８９】
したがって、表示効果設定部１０５は、ユーザ動作監視部１０２により特定された操作種別が、“決定”である場合、ユーザが選択した実物体のみに対して輪郭を強の輝度で発光させる表示効果の度合いを設定する。ここで、強の輝度としては、操作種別が選択中の場合の強の輝度と同じ輝度であってもよいし、それよりも強い輝度であってもよい。いずれにせよ、操作種別が“決定”の場合、ユーザが選択した１つの実物体の輪郭のみが発光されるため、ユーザは“決定”の操作を行ったことを認識することができる。
【００９０】
また、図１１の例では、“範囲指定”の操作種別に対応する“表示効果の度合い”として、“実物体すべてに対して度合いを弱で発光”が格納されている。したがって、表示効果設定部１０５は、実物体識別部１０７が識別した全ての実物体に対し、輪郭を弱の輝度で発光させる表示効果の度合いを設定する。この場合、ユーザは、映像データに含まれている実物体のうちどの実物体が操作可能な実物体であるかを認識することができる。なお、表示効果設定部１０５は、操作種別が“範囲指定”の場合、ユーザの手の位置に最も近い操作可能な実物体に対して所定距離内に位置する実物体に対して、輪郭を弱の強度で発光させる表示効果の度合いを設定してもよい。
【００９１】
こうすることで、ユーザの視界において複数の実物体が込み入って存在している場合に、ユーザが選択を希望する可能性の高い実物体のみの輪郭が弱の輝度で発光され、操作性を向上させることができる。
【００９２】
また、図１１の例では、“解除”の操作種別に対応する“表示効果の度合い”として“選択解除した実物体に対して、度合い弱で揺らす”が格納されている。したがって、表示効果設定部１０５は、選択が解除された実物体に対して、弱の輝度で発光させて、かつ、揺らす表示効果の度合いを設定する。ここで、弱の輝度で発光させるとは、重畳表示出力部１１２で表示させる映像データにおいて、選択が解除された実物体の輝度を全体的に下げて表示する、又は、選択が解除された実物体に重畳される輪郭のグラフィックスを弱の輝度で表示することが該当する。
【００９３】
図１に戻り、表示効果情報保持部１０９は、図１１に示す表示効果情報を保持する。実物体効果付与部１０４は、表示効果設定部１０５により設定された表示効果の度合い応じた表示効果を、優先度算出部１０３により優先度が算出された各実物体に付与する。具体的には、実物体効果付与部１０４は、ある実物体の輪郭を発光させる場合、当該実物体の輪郭を所定の輝度で発光させるためのグラフィックスを生成し、生成したグラフィックスを映像データにおける当該実物体の輪郭に重畳させる描画指令を重畳表示出力部１１２に出力することで、当該実物体に表示効果を付与する。また、実物体効果付与部１０４は、ある実物体を揺らす場合、映像データから当該実物体の画像データを抽出し、抽出した画像データを揺らして表示させるための描画指令を重畳表示出力部１１２に出力することで、当該実物体に表示効果を付与する。
【００９４】
重畳表示出力部１１２は、例えば、表示パネル、描画ＲＡＭ、及び描画ＲＡＭに映像データを書き込み表示パネルに表示させる処理回路等から構成され、実物体効果付与部１０４により各実物体に付与された表示効果を映像データに重畳表示する。具体的には、重畳表示出力部１１２は、所定のフレームレートで映像データを描画ＲＡＭに書き込み、実物体効果付与部１０４から出力される描画指令に従って、実物体効果付与部１０４で生成されたグラフィックスを描画ＲＡＭの該当する位置に書き込むことで、映像データにグラフィックスを重畳させる。
【００９５】
図２は、ユーザが選択中の操作を行った際の本発明の実施の形態におけるユーザインタラクション装置の処理を示すフローチャートである。
【００９６】
図２において、ステップＳ（以下、“Ｓ”と略す）２０１〜Ｓ２０６は、ユーザ動作監視部１０２にて実施される処理である。
【００９７】
まず、ユーザ動作監視部１０２は、ユーザ視界取得部１１１により取得されたユーザの視界の映像データから、ユーザの手を認識し、現実空間における手の位置座標を取得する（Ｓ２０１）。
【００９８】
次に、ユーザ動作監視部１０２は、映像データから抽出した手の特徴点の配置パターンからユーザの手の状態を取得する（Ｓ２０２）。手の状態としては、上述したように“解放”、“掌握”、“なし”が存在する。
【００９９】
次に、ユーザ動作監視部１０２は、手の状態変化を特定する（Ｓ２０３）。ここで、ユーザ動作監視部１０２は、直前と現在との手の状態を手の状態変化として特定する。この例では、ユーザは“選択中”の操作を行っているため、手の状態変化として“解放→解放”が特定される。次に、ユーザ動作監視部１０２は、直前と現在とにおける手の位置座標の差分の絶対値を算出する（Ｓ２０４）。
【０１００】
次に、ユーザ動作監視部１０２は、Ｓ２０３で特定した手の状態変化と、Ｓ２０４で算出した手の位置座標の差分の絶対値とから、図４に示すユーザ操作定義情報を参照し、ユーザの現在の操作種別を判定する（Ｓ２０５）。
【０１０１】
図３は、直前、及び現在のそれぞれにおいて、ユーザの手の状態と位置座標との一例を示した図である。図３において、手４０１は直前におけるユーザの手を示し、手４０３は現在のユーザの手を示している。
【０１０２】
ここで、手４０１の位置座標４０２が（Ｘ、Ｙ、Ｚ）＝（５ｃｍ、１０ｃｍ、３０ｃｍ）であり、手４０３の位置座標４０４が（Ｘ、Ｙ、Ｚ）＝（８ｃｍ、２０ｃｍ、３２ｃｍ）であったとする。また、手４０１の状態が“解放”、手４０３の状態が“解放”であったとする。
【０１０３】
この場合、ユーザ動作監視部１０２は、手の状態変化が“解放→解放”であり、手の位置座標４０２，４０４の差分の絶対値（４０５）（＝｜位置座標４０２−位置座標４０４｜）が、（Ｘ、Ｙ、Ｚ）＝（３ｃｍ、１０ｃｍ、２ｃｍ）である。そのため、ユーザ動作監視部１０２は、図４に示すユーザ操作定義情報を参照して、現在のユーザの操作種別が“選択中”であると判定する。
【０１０４】
なお、ユーザ動作監視部１０２は、特定した“手の状態変化”と算出した“手の位置座標差分の絶対値”とのいずれか一方が図４に定義されていないパターンに該当する場合、ユーザは操作をしていない、つまり、無操作であると判定すればよい。
【０１０５】
Ｓ２０６において、ユーザ動作監視部１０２は、ユーザが操作を行っているか否かの判定を行う。ここでは、ユーザ動作監視部１０２は、Ｓ２０５においてユーザが無操作であると判定した場合を除いて、ユーザの操作があると判定し（Ｓ２０６でＹＥＳ）、Ｓ２０７の処理を実施する。一方、ユーザ動作監視部１０２は、Ｓ２０５において、ユーザが無操作であると判定した場合、ユーザの操作がないと判定し（Ｓ２０６でＮＯ）、処理をＳ２０１に戻す。
【０１０６】
Ｓ２０７〜Ｓ２１０は、実物体識別部１０７にて実施される処理である。Ｓ２０７において、実物体識別部１０７は、ユーザの視線や体の移動により、ユーザの視界が変更されたか否かを判定する。
【０１０７】
この判定は、ユーザ視界取得部１１１により取得された現在の映像データと直前の映像データと比較することで行われる。具体的には、ユーザ視界取得部１１１は、現在の映像データと直前の映像データとの差分画像データを求め、その差分画像データにおいて、輝度が一定値以上の画素の個数が所定個数以上存在した場合、ユーザの視界が変更されたとみなして（Ｓ２０７でＹＥＳ）、Ｓ２０８の処理を実施する。一方、ユーザの視界に変更がない場合は（Ｓ２０７でＮＯ）、Ｓ２０８、Ｓ２０９が飛ばされて、Ｓ２１０の処理が実施される。
【０１０８】
Ｓ２０８において、実物体識別部１０７は、ユーザ視界取得部１１１により取得された映像データに含まれる実物体を識別する。ここで、実物体識別部１０７は、映像データから特徴点を抽出し、抽出した特徴点をクラスタリングすることで、実物体を識別する。なお、実物体識別部１０７は、Ｓ２０８の処理を例えば、識別できた実物体が所定個数になるまで、或いは、所定のタイムアウト時間が経過するまで可能な限り反復する。
【０１０９】
Ｓ２０９において、実物体識別部１０７は、実物体情報保持部１０８に保持されている各実物体の基準配置パターンと、映像データから抽出した特徴点の配置パターンとを照合することで操作可能な実物体を識別する。
【０１１０】
Ｓ２１０は、優先度算出部１０３にて実施される処理である。Ｓ２１０において、優先度算出部１０３は、Ｓ２０９で識別された実物体のそれぞれの現実空間での位置座標を求め、この位置座標とＳ２０１で算出された手の位置座標とを用いて、各実物体の優先度を算出する。
【０１１１】
図５、図６を用いてＳ２１０で実施される処理を示す。図５は、Ｘ−Ｙ座標系における優先度の算出方法を示した模式図であり、図６は、Ｚ座標系における優先度の算出手法を示した模式図である。優先度算出部１０３は、図５と図６での判定方法を組合せて各実物体の優先度を算出する。
【０１１２】
図５に示す領域５０１は、ユーザ視界取得部１１１により取得された１枚の映像データを示す。領域５０１において、水平方向の座標軸がＸ軸とされ、垂直方向の座標軸がＹ軸とされ、奥行座標の座標軸がＺ軸とされている。
【０１１３】
位置座標Ｐ５０２〜Ｐ５０５は、実物体識別部１０７により識別された実物体５０２〜５０５の位置座標を示している。本実施の形態では、位置座標Ｐ５０２〜Ｐ５０５として例えば、実物体５０２〜５０５の重心が採用されている。位置座標Ｐ５０６は、ユーザ動作監視部１０２にて取得されたユーザの手５０６の位置座標を示している。
【０１１４】
Ｘ−Ｙ座標系における優先度は、手５０６の位置座標Ｐ５０６と、実物体５０２〜５０５の位置座標Ｐ５０２〜Ｐ５０５とのＸ−Ｙ座標系における距離が短い順に付与される。
【０１１５】
図７は、図５、図６に示す実物体５０２〜５０５の位置座標Ｐ５０２〜Ｐ５０５をまとめた表である。図８は、図５、図６に示す手５０６の位置座標Ｐ５０６をまとめた表である。
【０１１６】
図７において、実物体の列に記載されたＩＤ５０２〜ＩＤ５０５は、図５、図６に示す実物体５０２〜５０５に付与された識別情報である。図８において手５０６の列に記載されたＩＤ５０６は、図５、図６で示す手５０６に付与された識別情報である。以降、図９、図１０、図１２においても、ＩＤ５０２〜ＩＤ５０５は図５、図６で示す実物体５０２〜５０５の識別情報を表し、ＩＤ５０６は図５、図６で示す手５０６の識別情報を表す。
【０１１７】
図５、図６の例では、実物体５０２〜５０５の位置座標Ｐ５０２〜Ｐ５０５は、それぞれ、図７に示すＸ、Ｙ、Ｚ座標の値を持つものとする。また、図５、図６の例では、手５０６の位置座標Ｐ５０６は、図８に示すＸ、Ｙ、Ｚ座標の値を持つものとする。
【０１１８】
図９（ａ）は、図５、図６に示す実物体５０２〜５０５に対して算出された、Ｘ−Ｙ座標系の優先度を示す。図９（ａ）に示すように、実物体５０２〜５０５は、実物体５０３，５０５，５０４，５０２の順でユーザの手５０６からの距離短くなっている。
【０１１９】
そこで、優先度算出部１０３は、距離が短いほど、ユーザが操作対象として選択しようとしている可能性の高い実物体であると判定し、距離が短い順に高い優先度を設定する。
【０１２０】
図９（ａ）の例では、実物体５０２は、ユーザの手５０６との距離が１８ｃｍであるため、最も高い優先度である４が設定されている。また、実物体５０３はユーザの手５０６との距離が３５ｃｍであるため、最も低い優先度である１が設定されている。
【０１２１】
なお、図９（ａ）の例では、実物体識別部１０７が識別した操作可能な実物体の個数が４個であるため、４個の実物体に対して優先度が設定されているが、実物体識別部１０７により識別された操作可能な実物体の個数に応じて優先度の値も変動する。例えば、操作可能な実物体の個数がｎ（ｎは正の整数）個の場合、各実物体に対し距離が短い順でｎから１の優先度が設定される。
【０１２２】
ここで、優先度算出部１０３は、実物体識別部１０７が識別した操作可能な実物体のうち、ユーザに対して距離が一定範囲内に存在する物体に対してのみ優先度を算出してもよい。また、優先度算出部１０３、処理の簡略化の観点から、例えば、ユーザに対してＺ座標系又はＸ−Ｙ座標系の位置座標が一定範囲内に存在する実物体に対してのみ優先度を算出するようにしてもよい。
【０１２３】
優先度算出部１０３は、Ｚ座標系については図６（ａ）に示す判定方法を用いて実物体５０２〜５０５の優先度を算出する。具体的には、優先度算出部１０３は、まず、実物体識別部１０７により識別された実物体の中からユーザに対して一番遠くにある実物体５０３と、一番近くにある実物体５０５とのＺ座標における距離６０１を算出する。次に、優先度算出部１０３は、距離６０１をユーザの手５０６の可動範囲６０２と対応させる。
【０１２４】
ここで、可動範囲６０２は、ユーザ毎に予め定められた距離が採用され、手５０６の位置座標Ｐ５０６から＋Ｚ軸方向（奥行側）に距離Ｚ１離れた位置Ｐ７０１と、−Ｚ軸方向（手前側）に距離Ｚ２離れた位置Ｐ７０２とで規定される距離が可動範囲６０２として予め定められている。この距離Ｚ１はユーザが手５０６を奥行方向に延ばすと想定される距離に基づいてユーザ毎に予め定められた値が採用され、距離Ｚ２はユーザが手５０６を手前方向に延ばすと想定される距離に基づいてユーザ毎に予め定められた値が採用されている。
【０１２５】
そして、優先度算出部１０３は、距離６０１を距離Ｚ１と距離Ｚ２との比で内分した位置６０３をユーザの手５０６の位置として距離６０１内に設定する。そして、優先度算出部１０３は、実物体５０２〜５０５のそれぞれについて位置６０３からのＺ軸における距離を求める。そして、優先度算出部１０３は、求めた距離が短い実物体ほど高い優先度を設定する。
【０１２６】
本実施の形態では、ユーザは手５０６の可動範囲外に位置する実物体も非接触で選択することができる。この場合、ユーザの手５０６の可動範囲６０２を全く無視して、Ｚ座標系の優先度を算出すると、ユーザに操作に対する違和感を与えてしまう。そこで、本実施の形態では、可動範囲６０２に距離６０１に対応付けてＺ座標系の優先度を算出することで、ユーザの操作に対する違和感を抑制している。
【０１２７】
図９（ｂ）は、図５、図６に示す実物体５０２〜５０５に対して算出されたＺ座標系における優先度をまとめた表である。図９（ｂ）において、ユーザの手からの距離は図６に示す位置６０３を基準としたときの実物体５０２〜５０５の距離を示している。
【０１２８】
図９（ｂ）の例では、実物体５０３、５０５、５０４、５０２の順でユーザの手５０６からの距離が短くなっている。そのため、実物体５０３、５０５、５０４、５０２に対して、１、２、３、４の優先度が設定されている。
【０１２９】
次に、優先度算出部１０３は、Ｘ−Ｙ座標系で求めた実物体５０２〜５０５の優先度とＺ座標系で求めた実物体５０２〜５０５の優先度とを合計し、実物体５０２〜５０５の総合的な優先度を算出する。
【０１３０】
図１０は、図５、図６に示す実物体５０２〜５０５に対して算出された総合的な優先度をまとめた表である。図１０に示すように、実物体５０２はＸ−Ｙ座標系の優先度が４であり、Ｚ座標系の優先度が４であるため、トータルの優先度が８と算出されている。他の実物体５０３〜５０５も同様にして優先度が算出され、それぞれ、優先度が２、６、４と算出されている。よって、実物体５０２、５０４、５０３、５０５の総合的な優先度は、４、３、２、１と算出されている。
【０１３１】
図２に戻ってＳ２１１からＳ２１３の処理について説明する。Ｓ２１１は、表示効果設定部１０５、及び表示効果情報保持部１０９にて実施される処理である。
【０１３２】
Ｓ２０８において、表示効果設定部１０５は、ユーザ動作監視部１０２にて特定されたユーザの現在の操作種別に対応する表示効果の種別と表示効果の度合いとを、図１１に示す表示効果情報を参照して決定する。
【０１３３】
ここでは、操作種別が“選択中”であるため、表示効果設定部１０５は、表示効果の種別として“実物体の輪郭の発光”を設定し、表示効果度合いとして“優先度が高い順に３つの実物体に対して、発光度合い強、中、弱”を設定する。
【０１３４】
図１２は、表示効果設定部１０５が実物体５０２〜５０５に対して設定した表示効果及び表示効果の度合いをまとめた表である。この例では、実物体５０２〜５０５に対する優先度は４、２、３、１である。そのため、実物体５０２、５０４、５０３は表示効果及び表示効果の度合いとして、それぞれ、“輪郭発光・強”、“輪郭発光・中”、“輪郭発光・弱”が設定され、実物体５０５は表示効果及び表示効果の度合いとしてなしが設定されている。
【０１３５】
このように、操作種別が選択中である場合、実物体５０２〜５０５のうち、優先度が高い順に３つの実物体５０２、５０４、５０３が抽出され、それぞれの実物体５０２、５０４、５０３に対して輪郭を強、中、弱で発光させる表示効果及び表示効果の度合いが設定される。
【０１３６】
図２に戻り、Ｓ２１２において、実物体効果付与部１０４は、Ｓ２１０で実物体５０２、５０４、５０３に対して設定された表示効果及び表示効果の度合いを、実物体５０２、５０４、５０３に付与する。ここでは、実物体５０２、５０４、５０３に対して、それぞれ輪郭を強、中、弱の強度で発光させる表示効果及び表示効果の度合いが設定されている。そのため、実物体効果付与部１０４は、実物体５０２、５０４、５０３の輪郭を示すグラフィックスを生成する。そして、実物体効果付与部１０４は、実物体５０２の輪郭を示すグラフィックスには強の輝度を設定し、実物体５０４の輪郭を示すグラフィックスには中の輝度を設定し、実物体５０３の輪郭を示すグラフィックスには弱の輝度を設定する。
【０１３７】
そして、実物体効果付与部１０４は、実物体５０２、５０４、５０３の輪郭を示すグラフィックスを、映像データ内の実物体５０２、５０４、５０３に重畳表示させる描画指令を重畳表示出力部１１２に出力する。
【０１３８】
Ｓ２１３において、重畳表示出力部１１２は、描画指令にしたがって、映像データ内の実物体５０２、５０４、５０３の輪郭に対応するグラフィックスを重畳表示させる。以上により、本ユーザインタラクション装置の動作が終了する。
【０１３９】
なお、上記実施の形態では、実物体に対して表示効果及び表示効果の度合いを設定したが、本発明は実物体に限らず、ディスプレイ等に表示された仮想物体に対しても適用できる。この場合、仮想物体を上記の実物体として取り扱い、上記の処理を適用すれば、仮想物体に対しても、表示効果及び表示効果の度合いを設定することができる。
【０１４０】
また、上記実施の形態では、ユーザは１つの実物体を操作対象として選択する操作を例に挙げて説明したが、本発明はこれに限らず、複数の実物体を選択する操作に対して適用してもよい。また、選択可能な１又は複数の実物体をユーザに報知する場合において、本発明を適用してもよい。この場合、選択可能な１又は複数の実物体に対して、上記の選択中における表示効果及び表示効果の度合い、すなわち、優先度の高い順に所定個数の実物体の輪郭を強い輝度で発光させる表示効果及び表示効果の度合いを付与すればよい。
【０１４１】
また、本発明は、複数の動作を組み合わせることで１つの操作が完了する場合において、各動作が終了する毎に表示効果と表示効果の効果度合いを設定する場合にも適用できる。
【０１４２】
なお、上記実施の形態では、選択中の操作がユーザにより行われている場合、優先度が高い実物体の輪郭を発光させる表示態様を採用したが、これに併せて、物体の種別をユーザに報知する表示態様を採用してもよい。この場合、実物体識別部１０７は、実物体の識別時に、実物体情報に含まれている実物体の種別から、識別した実物体の種別を特定し、表示効果設定部１０５に通知する。そして、表示効果設定部１０５は、物体の種別毎に予め定められた色を物体の輪郭を表示する表示効果を設定すればよい。
【０１４３】
また、上記実施の形態は一例であって、本発明は上記実施の形態に限定されるのではない。上記実施の形態に対して当業者が思いつく変形を施して得られる形態、及び実施の形態における構成要素を任意に組み合わせて実現される別の形態も、本発明に含まれる。
【０１４４】
なお、図１に示されたユーザインタラクション装置の各機能ブロックは典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。
【０１４５】
ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１４６】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０１４７】
また、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術を用いて図１に示す各ブロックを実現してもよい。また、上記ユーザインタラクション装置の各ブロックのうち、データを格納する手段だけ１チップ化せずに別構成としてもよい。
【０１４８】
また、本発明は、ユーザインタラクション装置として実現できるだけでなく、ユーザインタラクション装置を構成する処理部をステップとする方法として実現できる。そして、本発明は、その方法に含まれるステップをコンピュータに実行させるプログラムとして実現できる。さらに、本発明は、そのプログラムを記憶したＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記憶媒体として実現できる。
【産業上の利用可能性】
【０１４９】
本発明にかかるユーザインタラクション装置は、非接触で実物体を選択する等、ユーザが触覚を認識できない状況において実物体を選択する技術を実現するうえで有用である。
【符号の説明】
【０１５０】
１０１  制御部
１０２  ユーザ動作監視部
１０３  優先度算出部
１０４  実物体効果付与部
１０５  表示効果設定部
１０６  ユーザ操作定義保持部
１０７  実物体識別部
１０８  実物体情報保持部
１０９  表示効果情報保持部
１１０  入出力部
１１１  ユーザ視界取得部
１１２  重畳表示出力部
【図１】
2012173772.tif 000003
【図２】
2012173772.tif 000004
【図３】
2012173772.tif 000005
【図４】
2012173772.tif 000006
【図５】
2012173772.tif 000007
【図６】
2012173772.tif 000008
【図７】
2012173772.tif 000009
【図８】
2012173772.tif 000010
【図９】
2012173772.tif 000011
【図１０】
2012173772.tif 000012
【図１１】
2012173772.tif 000013
【図１２】
2012173772.tif 000014
【図１３】
2012173772.tif 000015