(57)【要約】仮想オブジェクト表示判定部１０６は、状態通信部１０５から通知されたユーザ動作情報が示すユーザの動作に対応する優先度を現実オブジェクト表示判定情報１０７から特定し、かつ、状態通信部１０５から通知された状態変化情報が示す状態変化に対応する優先度を現実オブジェクト属性情報１０８から特定し、特定した２つの優先度を比較することで、仮想オブジェクトの表示態様を変更するか否かを判定する。ＵＩ生成部１１２は、仮想オブジェクト表示判定部１０６の判定結果に基づき、ユーザに提示するＵＩを生成し、ＵＩ表示部１１３に表示させる。
2012124250.tif 000002
【特許請求の範囲】
【請求項１】
仮想現実空間において仮想オブジェクトの表示制御を行うオブジェクト制御装置であって、
ユーザの動作を検出するユーザ動作検出部と、
前記ユーザ動作検出部により検出されたユーザの動作を示すユーザ動作情報を通知するユーザ動作通知部と、
前記仮想現実空間に存在する現実オブジェクトの状態の変化を検出する現実オブジェクト状態検出部と、
前記現実オブジェクト状態検出部により検出された前記現実オブジェクトの状態の変化を示す状態変化情報を通知する現実オブジェクト状態通知部と、
前記ユーザ動作通知部から通知されたユーザ動作情報と前記現実オブジェクト状態通知部から通知された状態変化情報とを通知する状態通信部と、
前記状態通信部から通知されたユーザ動作情報と状態変化情報とに基づいて、状態が変化した現実オブジェクトが露出されるように前記仮想オブジェクトの表示態様を変更するか否かを判定する仮想オブジェクト表示判定部と、
前記仮想オブジェクト表示判定部による判定結果に基づいてユーザに提示するＵＩ（ユーザインターフェイス）を生成するＵＩ生成部と、
前記ＵＩ生成部により生成されたＵＩを表示するＵＩ表示部とを備えるオブジェクト制御装置。
【請求項２】
ユーザの動作及び優先度が対応付けられた現実オブジェクト表示判定情報と、前記現実オブジェクトの状態の変化及び優先度が対応付けられた現実オブジェクト属性情報とを管理する現実オブジェクト情報管理部を更に備え、
前記仮想オブジェクト表示判定部は、前記状態通信部から通知されたユーザ動作情報が示すユーザの動作に対応する優先度を前記現実オブジェクト表示判定情報から特定し、かつ、前記状態通信部から通知された状態変化情報が示す状態の変化に対応する優先度を前記現実オブジェクト属性情報から特定し、特定した２つの優先度を比較することで、前記仮想オブジェクトの表示態様を変更するか否かを判定する請求項１記載のオブジェクト制御装置。
【請求項３】
前記現実オブジェクト表示判定情報及び前記現実オブジェクト属性情報に含まれる優先度は、値が増大するにつれて優先順位が高いことを示し、
前記仮想オブジェクト表示判定部は、前記現実オブジェクト表示判定情報から特定した優先度が前記現実オブジェクト属性情報から特定した優先度以上である場合、前記仮想オブジェクトの表示態様を変更すると判定する請求項２記載のオブジェクト制御装置。
【請求項４】
前記仮想オブジェクト表示判定部は、前記状態通信部から通知されたユーザ動作情報が前記現実オブジェクト表示判定情報に含まれていない場合、当該ユーザ動作情報が示すユーザの動作を、前記現実オブジェクト表示判定情報に含まれるユーザ動作情報に近似して、前記仮想オブジェクトの表示態様を変更するか否かを判定する請求項２又は３記載のオブジェクト制御装置。
【請求項５】
前記仮想オブジェクト表示判定部は、状態が変化した現実オブジェクトに対してユーザの視界を遮る位置に存在する仮想オブジェクトを抽出し、抽出した仮想オブジェクトの表示態様を変更させる請求項１〜４のいずれかに記載のオブジェクト制御装置。
【請求項６】
前記仮想オブジェクト表示判定部は、状態が変化した現実オブジェクトとユーザの現在位置とによって囲まれる領域を視界領域として設定し、少なくとも一部が前記視界領域に含まれる前記仮想オブジェクトの表示態様を変更させる請求項５記載のオブジェクト制御装置。
【請求項７】
前記仮想オブジェクト表示判定部は、上面視において、ユーザが伸ばした方の手の側に弧が設定され、状態が変化した現実オブジェクトから一定の半径を持つ扇形の領域を拡張視界領域として設定し、前記拡張視界領域及び前記視界領域の少なくとも一方に含まれる仮想オブジェクトの表示態様を変更させる請求項５又は６記載のオブジェクト制御装置。
【請求項８】
前記拡張視界領域は、上面視において、状態が変化した現実オブジェクトの中心からユーザに向けて前記扇形の一辺が設定され、前記ユーザ及び前記現実オブジェクトの中心を繋ぐ直線とユーザが伸ばした方の手の向きとがなす角度が増大するにつれて前記扇形の中心角が小さくなるように設定されている請求項８記載のオブジェクト制御装置。
【請求項９】
前記仮想オブジェクトの位置を含む仮想オブジェクト管理情報を管理する仮想オブジェクト情報管理部を更に備え、
前記仮想オブジェクト表示判定部は、前記仮想オブジェクト管理情報を用いて前記仮想オブジェクトの位置を特定する請求項１〜８のいずれかに記載のオブジェクト制御装置。
【請求項１０】
ユーザの現在位置を含むユーザ位置情報を管理するユーザ情報管理部を更に備え、
前記仮想オブジェクト表示判定部は、前記ユーザ位置情報を用いてユーザの現在位置を特定する請求項１〜９のいずれかに記載のオブジェクト制御装置。
【請求項１１】
前記仮想オブジェクト表示判定部は、前記仮想オブジェクトの表示態様が変更された後、前記表示態様を元に戻す所定のジェスチャーがユーザにより行われた場合、前記表示態様を元に戻す請求項１〜１０のいずれかに記載のオブジェクト制御装置。
【請求項１２】
前記表示態様の変更は、前記仮想オブジェクトを非表示にすることである請求項１〜１１のいずれかに記載のオブジェクト制御装置。
【請求項１３】
前記表示態様の変更は、前記仮想オブジェクトの表示位置をずらすことである請求項１〜１１のいずれかに記載のオブジェクト制御装置。
【請求項１４】
仮想現実空間において仮想オブジェクトの表示制御を行うオブジェクト制御装置によるオブジェクト制御方法であって、
ユーザ動作検出部がユーザの動作を検出するユーザ動作検出ステップと、
前記ユーザ動作検出部により検出されたユーザの動作を示すユーザ動作情報をユーザ動作通知部が通知するユーザ動作通知ステップと、
現実オブジェクト状態検出部が前記仮想現実空間に存在する現実オブジェクトの状態の変化を検出する現実オブジェクト状態検出ステップと、
前記現実オブジェクト状態検出部により検出された前記現実オブジェクトの状態の変化を示す状態変化情報を現実オブジェクト状態通知部が通知する現実オブジェクト状態通知ステップと、
前記ユーザ動作通知部から通知されたユーザ動作情報と前記現実オブジェクト状態通知部から通知された状態変化情報とを状態通信部が通知する状態通信ステップと、
前記状態通信部から通知されたユーザ動作情報と状態変化情報とに基づいて、状態が変化した現実オブジェクトが露出されるように前記仮想オブジェクトの表示態様を変更するか否かを仮想オブジェクト表示判定部が判定する仮想オブジェクト表示判定ステップと、
前記仮想オブジェクト表示判定部による判定結果に基づいてユーザに提示するＵＩ（ユーザインターフェイス）をＵＩ生成部が生成するＵＩ生成ステップと、
前記ＵＩ生成部により生成されたＵＩをＵＩ表示部が表示するＵＩ表示ステップとを備えるオブジェクト制御方法。
【請求項１５】
コンピュータを、仮想現実空間において仮想オブジェクトの表示制御を行うオブジェクト制御装置として動作させるためのオブジェクト制御プログラムであって、
ユーザ動作検出部により検出されたユーザの動作を示すユーザ動作情報を通知するユーザ動作通知部と、
現実オブジェクト状態検出部により検出された前記仮想現実空間に存在する現実オブジェクトの状態の変化を示す状態変化情報を通知する現実オブジェクト状態通知部と、
前記ユーザ動作通知部から通知されたユーザ動作情報と前記現実オブジェクト状態通知部から通知された状態変化情報とを通知する状態通信部と、
前記状態通信部から通知されたユーザ動作情報と状態変化情報とに基づいて、状態が変化した現実オブジェクトが露出されるように前記仮想オブジェクトの表示態様を変更するか否かを判定する仮想オブジェクト表示判定部と、
前記仮想オブジェクト表示判定部による判定結果に基づいてユーザに提示するＵＩ（ユーザインターフェイス）を生成し、ＵＩ表示部に表示させるＵＩ生成部としてコンピュータを機能させるオブジェクト制御プログラム。
【請求項１６】
仮想現実空間において仮想オブジェクトの表示制御を行うオブジェクト制御装置のための集積回路であって、
ユーザ動作検出部により検出されたユーザの動作を示すユーザ動作情報を通知するユーザ動作通知部と、
現実オブジェクト状態検出部により検出された前記仮想現実空間に存在する現実オブジェクトの状態の変化を示す状態変化情報を通知する現実オブジェクト状態通知部と、
前記ユーザ動作通知部から通知されたユーザ動作情報と状態変化情報とを通知する状態通信部と、
前記状態通信部から通知されたユーザ動作情報と状態変化情報とに基づいて、状態が変化した現実オブジェクトが露出されるように前記仮想オブジェクトの表示態様を変更するか否かを判定する仮想オブジェクト表示判定部と、
前記仮想オブジェクト表示判定部による判定結果に基づいてユーザに提示するＵＩ（ユーザインターフェイス）を生成し、ＵＩ表示部に表示するＵＩ生成部とを備える集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想現実空間において、仮想的に表示される仮想オブジェクトの表示を制御するものであり、特に、本発明は、仮想オブジェクトを現実空間の現実オブジェクトと重畳して表示する場合に、状態が変化した現実オブジェクトの視認性を向上させるものである。
【背景技術】
【０００２】
従来、ヘッドマウントディスプレイ等を用いることにより実現される仮想現実空間において、仮想的に表示されるオブジェクト（以下、仮想オブジェクトと記述する。）を、現実空間に存在するオブジェクト（以下、現実オブジェクトと記述する。）と重畳して表示させることが行われている。このような状況において、現実オブジェクトに対してユーザが何らかのアクションを行おうとした場合、ユーザから見て現実オブジェクトの手前に表示される仮想オブジェクトによって現実オブジェクトの視界が遮られ、ユーザが現実オブジェクトを視認できなくなることがあった。【０００３】
図１８、図１９は、仮想現実空間において、現実オブジェクトと仮想オブジェクトとが重畳されて表示されている例を示した図である。図１８において、ユーザＡ２０１には、現実オブジェクトである携帯電話Ａ２０３の手前に複数の仮想オブジェクトからなる仮想オブジェクト群Ａ２０２が重畳した状態で表示されている。なお、仮想オブジェクト群Ａ２０２は、透過または非透過の仮想オブジェクトが集まったものである。図１９においても、ユーザＢ２１１から見て、図１８と同様に携帯電話Ｂ２１３の手前に仮想オブジェクト群Ｂ２１２が重畳して表示されている。【０００４】
図１８は携帯電話Ａ２０３に音声電話が着信したケース、図１９は携帯電話にメールが着信したケースを示す。図１８と図１９との違いは、携帯電話に何が着信したかをユーザが判断した上でユーザの取るアクションが異なる点にある。図１８では、ユーザＡ２０１は、携帯電話Ａ２０３に音声電話が着信したため、携帯電話Ａ２０３に手を伸ばすというアクションを取っている。つまり、携帯電話Ａ２０３に音声通話が着信した場合、直ぐに携帯電話Ａ２０３を取る必要があるたため、ユーザＡ２０１は手を伸ばすというアクションを取っている。【０００５】
この場合、携帯電話Ａ２０３の手前に仮想オブジェクト群Ａ２０２が表示されていると、携帯電話Ａ２０３が仮想オブジェクト群Ａ２０２によって隠れてしまい、ユーザＡ２０１は携帯電話Ａ２０３を容易に取ることができないという問題がある。したがって、この場合、仮想オブジェクト群Ａ２０２を非表示にすると、ユーザは携帯電話Ａ２０３を容易に取ることができる。【０００６】
一方、図１９では、ユーザＢ２１１は、携帯電話Ｂ２１３にメールが着信したため、携帯電話Ｂ２１３に振り向くというアクションを取っている。つまり、携帯電話Ｂ２１３にメールが着信した場合、直ぐに携帯電話Ｂ２１３を取る必要がないため、ユーザＢ２１１は携帯電話Ａ２０３に振り向くだけのアクションを取り、音声電話が着信した場合のように携帯電話Ｂ２１３を取るアクションは行っていない。【０００７】
この場合、ユーザＢ２１１は携帯電話Ｂ２１３を取る必要がないため、携帯電話Ｂ２１３の手前に仮想オブジェクト群Ｂ２１２が表示されていても、ユーザＢ２１１にとって問題はない。そして、仮想オブジェクト群Ｂ２１２を表示したままにさせておくと、ユーザＢ２１１に対して拡張現実空間ならではの臨場感を与えることができる。【０００８】
このように、現実オブジェクトの状態とその状態に対してユーザの取るアクションとによって、仮想オブジェクト群Ａ２０２、Ｂ２１２を非表示にした方がよいケースと仮想オブジェクト群Ａ２０２、Ｂ２１２を表示した方がよいケースとが存在する。【０００９】
仮想現実空間を利用した技術は医療等で利用されている。例えば、特許文献１には、手術の対象部位を仮想現実空間に表示する画像処理装置において、ユーザの視点と対象部位との間に存在する視界確保領域に含まれる部位を障害物として非表示にし、障害物を非表示にしたことをユーザに報知する画像処理装置が開示されている。この技術によれば、対象領域と障害物との位置関係を明確にすると同時に、ユーザは容易に対象部位を観察することができる。【００１０】
しかしながら、特許文献１では、観察対象として常に表示しておきたい対象部位は予め決定されており、ユーザが対象部位に触るなどのアクションを行うか否かに関わらず全ての障害物が一律に非表示にされている。したがって、特許文献１では、現実オブジェクトの状態が変化し、ユーザの意思により生まれるアクションに応じて障害物を表示したり非表示したりといった切替えを行うことができないという問題がある。よって、特許文献１の技術を仮想オブジェクトが表示される拡張現実空間に適用したとしても、ユーザに対して拡張現実空間の臨場感を与えつつ、現実オブジェクトの視認性を向上させることはできない。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００８−０２９６９４号公報
【発明の概要】
【００１２】
本発明の目的は、拡張現実空間の臨場感をユーザに付与しつつ状態が変化した現実オブジェクトに対する動作をユーザが容易に行うことができるオブジェクト制御装置等を提供することである。
【００１３】
本発明の一局面によるオブジェクト制御装置は、仮想現実空間において仮想オブジェクトの表示制御を行うオブジェクト制御装置であって、ユーザの動作を検出するユーザ動作検出部と、前記ユーザ動作検出部により検出されたユーザの動作を示すユーザ動作情報を通知するユーザ動作通知部と、前記仮想現実空間に存在する現実オブジェクトの状態の変化を検出する現実オブジェクト状態検出部と、前記現実オブジェクト状態検出部により検出された前記現実オブジェクトの状態の変化を示す状態変化情報を通知する現実オブジェクト状態通知部と、前記ユーザ動作通知部から通知されたユーザ動作情報と前記現実オブジェクト状態通知部から通知された状態変化情報とを通知する状態通信部と、前記状態通信部から通知されたユーザ動作情報と状態変化情報とに基づいて、状態が変化した現実オブジェクトが露出されるように前記仮想オブジェクトの表示態様を変更するか否かを判定する仮想オブジェクト表示判定部と、前記仮想オブジェクト表示判定部による判定結果に基づいてユーザに提示するＵＩ（ユーザインターフェイス）を生成するＵＩ生成部と、前記ＵＩ生成部により生成されたＵＩを表示するＵＩ表示部とを備える。
【００１４】
また、本発明の別の一局面によるオブジェクト制御方法、オブジェクト制御プログラム、及び集積回路は上記オブジェクト制御装置と同様の構成を備えている。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態によるオブジェクト制御装置の機能ブロック図である。
【図２】（Ａ）、（Ｂ）は、本発明の実施の形態によるオブジェクト制御装置がユーザの動作に応じて仮想オブジェクトを非表示とする場合の処理の説明図である。
【図３】（Ａ）、（Ｂ）は本発明の実施の形態によるオブジェクト制御装置がユーザの動作に応じて仮想オブジェクトの表示を維持する場合の説明図である。
【図４】（Ａ）、（Ｂ）は、図２（Ａ）、（Ｂ）を上側から見た図である。
【図５】（Ａ）、（Ｂ）は、図３（Ａ）、（Ｂ）を上側から見た図である。
【図６】現実オブジェクト表示判定情報の一例を示した図ある。
【図７】現実オブジェクト属性情報の一例を示した図である。
【図８】本発明の実施の形態によるオブジェクト制御装置の動作を示すフローチャートである。
【図９】近似動作情報の一例を示した図である。
【図１０】視界領域を拡張する属性を保持している場合の現実オブジェクト属性情報の一例を示した図である。
【図１１】（Ａ）、（Ｂ）は本発明の実施の形態によるオブジェクト制御装置が拡張視界領域を設定した場合において、ユーザの動作に応じて仮想オブジェクトを非表示とする場合の処理の説明図である。
【図１２】（Ａ）、（Ｂ）は、図１１（Ａ）、（Ｂ）を上側から見た図である。
【図１３】ユーザの手の動きを上側から見た図である。
【図１４】ユーザの手の向きに応じて拡張視界領域を設定した場合の拡張視界領域を上側から見た図である。
【図１５】本発明の実施の形態によるオブジェクト制御装置のハードウェア構成を示すブロック図である。
【図１６】視界領域を側面側から見た図である。
【図１７】拡張視界領域を側面側から見た図である。
【図１８】仮想現実空間において、現実オブジェクトと仮想オブジェクトとが重畳されて表示されている例を示した図である。
【図１９】仮想現実空間において、現実オブジェクトと仮想オブジェクトとが重畳されて表示されている例を示した図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態によるオブジェクト制御装置について、図面を参照しながら説明する。
【００１７】
（概略）
まず、本発明の実施の形態によるオブジェクト制御装置の概略について説明する。本実施の形態では、オブジェクト制御装置はユーザにより装着されるヘッドマウントディスプレイに適用されているものとする。したがって、現実空間の映像に仮想オブジェクトが重畳された仮想現実空間の映像がディスプレイ上に表示されており、ユーザはこの仮想現実空間の映像を見ながら現実空間の物体を認識する。以下、図２〜図５を用いて本実施の形態によるオブジェクト制御装置の概要について説明する。
【００１８】
図２（Ａ）、（Ｂ）は、本発明の実施の形態によるオブジェクト制御装置がユーザの動作に応じて仮想オブジェクトを非表示とする場合の処理の説明図である。図２（Ａ）はユーザが手を伸ばす動作を行った時のユーザから見た仮想現実空間を示し、図２（Ｂ）はユーザが手を伸ばす動作を行った後のユーザから見た仮想現実空間を示している。
【００１９】
図２（Ａ）の例において、ユーザ２０１は、“携帯電話２０３が音声通話を着信したので急いで取らないといけない”という意思から手を伸ばす動作（アクション）を行っている。この場合、仮想オブジェクト群２０２は、携帯電話２０３の手前に表示されているため、ユーザ２０１が携帯電話２０３を取る動作を行う際の邪魔になっている。
【００２０】
図３（Ａ）、（Ｂ）は本発明の実施の形態によるオブジェクト制御装置がユーザの動作に応じて仮想オブジェクトの表示を維持する場合の説明図である。図３（Ａ）はユーザ２０１が顔を振り向く動作を行った時のユーザから見た仮想現実空間を示し、図３（Ｂ）はユーザ２０１が顔を振り向く動作を行った後のユーザから見た仮想現実空間を示している。
【００２１】
図３（Ａ）の例においては、ユーザ２０１は、携帯電話２０３にメールが届いたということを確認しようとする意思から携帯電話２０３に対して顔を振り向いている。携帯電話２０３がメールを受信した場合、ユーザ２０１は直ぐにメールの内容を確認する必要はない。そのため、携帯電話２０３の手前に表示されている仮想オブジェクト群２０２は、ユーザ２０１にとって邪魔な存在になっていない。
【００２２】
つまり、図２（Ａ）の例では、携帯電話２０３に重畳されている仮想オブジェクト群２０４は非表示にした方がユーザ２０１にとって都合がよい。また、図３（Ａ）の例では、携帯電話２０３と重畳されている仮想オブジェクト群２０４の表示を維持した方が仮想現実空間に存在している臨場感をユーザ２０１に与えることができるため好ましい。
【００２３】
そこで、本実施の形態では、図２（Ａ）のようにユーザ２０１が携帯電話２０３に対して何らかの動作を行う必要がある場合、図２（Ｂ）に示すように携帯電話２０３に重畳されている仮想オブジェクト群２０４を非表示としている。
【００２４】
一方、図３（Ａ）のようにユーザ２０１が携帯電話２０３に対して何らかの動作を行う必要がない場合、図３（Ｂ）に示すように携帯電話２０３に重畳される仮想オブジェクト群２０４の表示を維持させている。
【００２５】
図４（Ａ）、（Ｂ）は、図２（Ａ）、（Ｂ）を上側から見た図である。図４（Ａ）、（Ｂ）において破線で囲まれた台形状の領域は、仮想オブジェクトが携帯電話２０３を遮るユーザ２０１の視界領域２０５である。上面視において視界領域２０５はユーザ２０１から携帯電話２０３に向けて拡がるような台形形状を有していることが分かる。図４（Ａ）において、仮想オブジェクト群２０２のうち、仮想オブジェクト２０２＿１、２０２＿２は、一部が視界領域２０５内に存在しているため、ユーザ２０１が携帯電話２０３を見る際の視界を遮っている。そこで、本実施の形態では、図４（Ｂ）に示すように、仮想オブジェクト２０２＿１、２０２＿２を非表示にしている。なお、図４（Ａ）、（Ｂ）において、視界領域２０５は平面的に表示されているが、側面から見ても、ユーザ２０１から携帯電話２０３に向けて拡がるように存在し、実際には立体的な領域である。
【００２６】
図１６は、視界領域２０５を側面側（ｘ方向側）から見た図である。図１６に示すように、側面視において視界領域２０５はユーザ２０１から携帯電話２０３に向けて三角形状に拡がるような形状を有していることが分かる。つまり、視界領域２０５は、ユーザ２０１から携帯電話２０３に向けて断面積が徐々に大きくなるような形状を有している。そのため、視界領域２０５は、ユーザ２０１が携帯電話２０３を見る際のユーザ２０１の視界を模擬した領域となっている。
【００２７】
図５（Ａ）、（Ｂ）は、図３（Ａ）、（Ｂ）を上側から見た図である。図５（Ａ）では、携帯電話２０３を遮る仮想オブジェクト２０２＿１、２０２＿２は一部が視界領域２０５に含まれているが、図５（Ｂ）に示すように非表示とはされない。本実施の形態によるオブジェクト制御装置は以上のような処理を実現するものである。
【００２８】
以上の処理を実現するために、本実施の形態によるオブジェクト制御装置は、現実オブジェクトの状態が変化した場合、状態が変化した現実オブジェクトの視界を遮る仮想オブジェクトを非表示にするか否かをユーザが行った動作と現実オブジェクトの状態の変化とに応じて判定する。具体的には、本オブジェクト制御装置は、ユーザの各種動作に対して予め優先度が対応付けられたオブジェクト表示判定情報からユーザが行った動作に対応する優先度を特定する。また、現実オブジェクトの各種状態に対して予め優先度が対応付けられたオブジェクト属性情報から状態が変化した現実オブジェクトの状態に対応する優先度を特定する。そして、特定した２つの優先度を比較することで、状態が変化した仮想オブジェクトに重畳して表示されている仮想オブジェクトを非表示にするか否かを判定する。
する。
【００２９】
（機能構成）
次に、本発明の実施の形態によるオブジェクト制御装置の機能構成について説明する。図１は、本発明の実施の形態によるオブジェクト制御装置１００の機能ブロック図である。オブジェクト制御装置１００は、ユーザ動作検出部１０１、ユーザ動作通知部１０２、現実オブジェクト状態検出部１０３、現実オブジェクト状態通知部１０４、状態通信部１０５、仮想オブジェクト表示判定部１０６、現実オブジェクト情報管理部１０９、仮想オブジェクト情報管理部１１０、ユーザ情報管理部１１１、ＵＩ（ユーザインターフェイス）生成部１１２、ＵＩ表示部１１３、及びユーザ位置検出部１１４を備えている。
【００３０】
ユーザ動作検出部１０１は、例えば、Ｋｉｎｅｃｔ（登録商標）のような非接触のモーションセンサにより構成され、ユーザの動作を検出する。ここで、モーションセンサは、例えば、撮像部と処理部とを備え、ユーザの周囲に配置されている。撮像部は、例えば赤外線照射素子、赤外カメラ、及びＲＧＢカメラを備え、ユーザに対して赤外光を照射して所定のフレームレートでユーザの距離画像を撮像する。ここで、距離画像は、Ｒ、Ｇ、Ｂのカラー画像成分に加えて、深度（奥行き）成分を含む画像である。
【００３１】
処理部は、予め記憶している学習データを用いて距離画像から人体を構成する特徴的な部位を抽出し、抽出した部位を繋ぎ合わせて人体の骨組み（スケルトン）を生成し、スケルトンの動作を検出する。そして、処理部は、スケルトンの動作が予め定められた動作パターンに一致した場合、ユーザの動作を検出したと判定する。ここで、予め定められた動作パターンとしては、“頭が傾く”、“体が向く”、“手を伸ばす”等が該当する。
【００３２】
本実施の形態では、ユーザ動作検出部１０１は、仮想オブジェクト表示判定部１０６から動作検出要求が発行された場合、スケルトンの動作が予め定められた動作パターンのいずれに該当するかを判定することでユーザの動作を検出する。
【００３３】
ユーザ動作通知部１０２は、ユーザ動作検出部１０１により検出されたユーザの動作を示すユーザ動作情報を状態通信部１０５に通知する。具体的には、ユーザ動作通知部１０２は、仮想オブジェクト表示判定部１０６により動作検出要求が発行された場合、その動作検出要求をユーザ動作検出部１０１に通知して、ユーザ動作検出部１０１にユーザの動作を検出させる。そして、ユーザ動作通知部１０２は、ユーザ動作検出部１０１から通知されるユーザ動作情報を状態通信部１０５に渡す。ここで、ユーザ動作情報には、ユーザ動作検出部１０１により検出されたユーザの動作（上記の“頭が傾く”等）が記述される。なお、ユーザ動作検出部１０１がユーザの動作を検出することができなかった場合、ユーザ動作情報には“何もしない”と記述される。
【００３４】
現実オブジェクト状態検出部１０３は、例えばユーザの周囲に存在する物体（現実オブジェクト）の状態の変化を検出することができる状態検出センサにより構成され、現実オブジェクトの状態の変化を検出する。ここで、状態検出センサは、例えばヘッドマウントディスプレイに取り付けられており、深度センサ、マイク、及び処理部を含む。深度センサは、赤外線発光素子、赤外線カメラ、及びＲＧＢカメラを備え、例えばユーザの視界の前方に位置する現実オブジェクトを含む距離画像を所定のフレームレートで撮像する。
【００３５】
マイクは、ユーザの周囲の音を検出する。処理部は、例えば距離画像に含まれる各現実オブジェクトの形状パターンを抽出し、抽出した形状パターンが予め定められた現実オブジェクトの種別毎の形状パターンのうちいずれの形状パターンに該当するかを判定し、各現実オブジェクトを認識する。ここで、現実オブジェクトの種別としては、例えば携帯電話、パソコン、スマートフォン、タブレット端末、テレビ、及びＤＶＤレコーダ等のデジタル家電機器や、コンロ、電灯、冷蔵庫、洗濯機、及び電子レンジ等の家電機器が該当する。
【００３６】
そして、処理部は、各フレームの距離画像及びマイクから出力される音声信号を用いて、認識した現実オブジェクトの状態が変化したか否かを監視する。例えば、処理部は現実オブジェクトとして携帯電話を認識した場合であって、マイクにより携帯電話の着信音を示音声が検出された場合、携帯電話の状態が変化したと判定し、状態変化情報を現実オブジェクト状態通知部１０４に通知する。
【００３７】
ここで、状態変化情報は、携帯電話であれば、例えば“音がなる”、“音が止まる”といった情報が記述される。また、現実オブジェクトとしてコンロが認識されている場合であって、マイクにより鍋のふきこぼれを示す音声が検出された場合、コンロの状態が変化したと判定される。この場合、状態変化情報には、例えば、“ふきこぼれ発生”と記述される。
【００３８】
上記の説明では、現実オブジェクト状態検出部１０３は、距離画像と音声信号とを監視して現実オブジェクトの状態の変化を検出したが、本発明はこれに限定されない。例えば、コンロの場合であれば、距離画像が鍋から液体がふきこぼれた状態になったとき、現実オブジェクト状態検出部１０３は、コンロの状態が変化したと判定すればよい。
【００３９】
また、距離画像において携帯電話のディスプレイの輝度が暗い状態から明るい状態に変化したとき、現実オブジェクト状態検出部１０３は、携帯電話の状態が変化したと判定してもよい。この場合、状態変化情報には、例えば“ディスプレイが明るくなった”と記述される。
【００４０】
また、デジタル家電機器においては、デジタル家電機器を管理するインターネット上のサーバがデジタル家電機器にソフトウェアを配信し、ソフトウェアのバージョンアップを行うことがある。この場合、サーバに、ソフトウェアのバージョンアップ通知を通知させ、現実オブジェクト状態検出部１０３にデジタル家電機器の状態の変化を検出させればよい。
【００４１】
このように現実オブジェクト状態検出部１０３は、認識した現実オブジェクトの種別に応じた監視手法を用いて現実オブジェクトの状態の変化を検出する。
【００４２】
なお、現実オブジェクト状態検出部１０３は、認識した各現実オブジェクトに対して識別ＩＤを付与し、状態変化情報に該当する識別ＩＤと該当する種別とを記述する。こうすることで、他のブロックは、状態変化情報がどの現実オブジェクトに関するものであるかを容易に認識することができる。更に、現実オブジェクト状態検出部１０３は、状態変化情報に現実オブジェクトの位置データ、及びサイズデータを記述する。こうすることで、他のブロックは、状態が変化した現実オブジェクトの位置及びサイズを容易に認識することができる。
【００４３】
ここで、位置データとしては、例えば、仮想現実空間における現実オブジェクトの重心の位置を採用することができる。本実施の形態では、現実オブジェクト状態検出部１０３を構成する深度センサはユーザが装着するヘッドマウントディスプレイに取り付けられている。したがって、仮想現実空間は、深度センサの位置を原点とし、深度センサの水平方向をｘ軸、深度センサの垂直方向をｙ軸、深度センサの受光面と直交する奥行き方向をｚ軸とする直交する３軸によって規定される。よって、現実オブジェクトの位置データは距離画像に含まれる現実オブジェクトの重心の位置におけるｘ軸、ｙ軸、及びｚ軸の値が採用される。また、原点はユーザの現在位置を表している。以下、ユーザの現在位置を原点とした場合の仮想現実空間をローカル座標系と表し、仮想現実空間のある地点を基準としたときの仮想現実空間をグローバル座標系と表す。なお、グローバル座標系も、直行する３軸により規定される。ここで、グローバル座標系の直行する３軸はそれぞれ、例えば緯度、経度、高さを規定する。
【００４４】
また、現実オブジェクトのサイズとしては、例えば、距離画像において、現実オブジェクトに外接する直方体を当てはめ、当該直方体の６つの頂点の位置データが採用される。
【００４５】
現実オブジェクト状態通知部１０４は、現実オブジェクト状態検出部１０３から通知された状態変化情報を状態通信部１０５に通知する。
【００４６】
状態通信部１０５は、ユーザ動作通知部１０２から通知されたユーザ動作情報と現実オブジェクト状態通知部１０４から通知された状態変化情報とを仮想オブジェクト表示判定部１０６に通知する。
【００４７】
仮想オブジェクト表示判定部１０６は、状態通信部１０５から通知されたユーザ動作情報と状態変化情報とに基づいて、状態が変化した現実オブジェクトが露出されるように仮想オブジェクトの表示態様を変更するか否かを判定する。
【００４８】
ここで、表示態様の変更としては、例えば仮想オブジェクトを非表示にする態様が採用される。なお、これは一例であり、表示態様の変更としては、例えば、状態が変化した現実オブジェクトが露出されるように仮想オブジェクトの表示位置をずらす態様を採用してもよい。
【００４９】
具体的には、仮想オブジェクト表示判定部１０６は、状態通信部１０５から通知されたユーザ動作情報が示すユーザの動作に対応する優先度を現実オブジェクト表示判定情報１０７から特定し、かつ、状態通信部１０５から通知された状態変化情報が示す状態変化に対応する優先度を現実オブジェクト属性情報１０８から特定し、特定した２つの優先度を比較することで、仮想オブジェクトの表示態様を変更するか否かを判定する。
【００５０】
現実オブジェクト表示判定情報１０７及び現実オブジェクト属性情報１０８は記憶装置に格納され、現実オブジェクト情報管理部１０９によって管理される。
【００５１】
現実オブジェクト表示判定情報１０７は、ユーザの動作及び優先度が対応付けられた情報である。図６は、現実オブジェクト表示判定情報１０７の一例を示した図ある。現実オブジェクト表示判定情報１０７は、ユーザの動作の欄と優先度の欄とを備えている。ユーザの動作の欄には、予め定められたユーザの動作が格納されている。図６の例では、ユーザの動作として、“何もしない、”、“頭が向く”、“体が向く”、“手を伸ばす”、及び“近づく”が採用されている。但し、これは一例であり、他の動作を採用してもよい。図６に示されたユーザの動作は、全てユーザの動きに関するものであるが、本発明は、これに限定されず、ユーザが発する音声や、ユーザが物体を動かす動作をユーザの動作として採用してもよい。
【００５２】
優先度の欄には、各ユーザの動作に対して予め設定された優先度が格納されている。図６の例では、“何もしない”に対して“１”の優先度が設定され、“頭が向く”に対して“２”の優先度が設定されるというように、各ユーザの動作に対して優先度が設定されている。なお、優先度は値が増大するにつれて優先順位が高いことを示している。つまり、優先度の高い動作をユーザが行うほど、状態が変化した現実オブジェクトに対してユーザが何らかの動作を行う可能性が高くなるように優先度が規定されている。
【００５３】
現実オブジェクト属性情報１０８は、状態の変化及び優先度が対応付けられた情報である。図７は、現実オブジェクト属性情報１０８の一例を示した図である。図７の例では携帯電話の現実オブジェクト属性情報１０８が示されている。現実オブジェクト属性情報１０８は、現実オブジェクトの種別を示す情報を示す欄と、現実オブジェクトの状態の変化を示す“状態”の欄と、現実オブジェクトの現在位置を示す“位置”の欄と、現実オブジェクトの大きさを示す“大きさ”の欄とが含まれている。
【００５４】
図７の例では状態の欄には“音がなる”と記述され、優先度として“４”と記述され、“音がなる”の状態の変化に対して“４”の優先度が与えられている。優先度は現実オブジェクトの状態の変化別に予め与えられた数値が付与され、値が大きいほど優先順位が高いことを示す。なお、図７の例では、“音がなる”の１つの状態の変化に対する優先度のみが規定されているが、本発明はこれに限定されず、複数の状態の変化のそれぞれに対して優先度を予め設定してもよい。状態の変化の他の例としては、例えば、携帯電話であれば、“音がとまる”、“ディスプレイの輝度が明るくなる”、“ソフトウェアがバージョンアップされた”等が含まれる。
【００５５】
また、図７では、携帯電話の現実オブジェクト属性情報１０８を示したが、現実オブジェクト情報管理部１０９は、他の種別の現実オブジェクトに対する現実オブジェクト属性情報１０８を管理してもよい。
【００５６】
図７に示す位置の欄にはローカル座標系における現実オブジェクトの位置データが記載され、大きさの欄には現実オブジェクトのサイズデータが記載されている。この位置データ及びサイズデータは、現実オブジェクト状態検出部１０３から定期的に送信される状態監視情報に基づいて更新される。
【００５７】
ここで、状態監視情報には、例えば、現実オブジェクト状態検出部１０３が認識している各現実オブジェクトの識別ＩＤと、各現実オブジェクトの種別と、各現実オブジェクトの位置データと、各現実オブジェクトのサイズデータとが含まれている。
【００５８】
現実オブジェクト情報管理部１０９は、始めに状態監視情報を受信すると現実オブジェクトの種別から同一種別の現実オブジェクト属性情報１０８を特定し、特定した現実オブジェクト属性情報１０８に識別ＩＤを紐付け、識別ＩＤ毎の現実オブジェクト属性情報１０８を生成する。
【００５９】
そして、現実オブジェクト情報管理部１０９は、状態監視情報を受信する毎に識別ＩＤをキーにして状態監視情報に含まれる位置データ及びサイズデータを対応する現実オブジェクト属性情報１０８の位置及び大きさの欄に書き込む。これにより、現実オブジェクト属性情報１０８の位置及び大きさの欄には最新の現実オブジェクトの位置データ及びサイズデータが書き込まれる。なお、現実オブジェクト情報管理部１０９は、状態監視情報に含まれる現実オブジェクトの種別と同一種別の現実オブジェクト属性情報１０８が存在しない場合は、識別ＩＤ、位置データ、及びサイズデータのみを含む現実オブジェクト属性情報１０８を生成すればよい。ここで、状態監視情報は、現実オブジェクト状態検出部１０３から現実オブジェクト状態通知部１０４及び状態通信部１０５を介して仮想オブジェクト表示判定部１０６に通知される。
【００６０】
本実施の形態では、仮想オブジェクト表示判定部１０６は、現実オブジェクト表示判定情報１０７から特定した優先度が現実オブジェクト属性情報１０８から特定した優先度以上である場合、仮想オブジェクトの表示態様を変更すると判定する。図６、図７の例において、例えば、携帯電話の音がなり、ユーザが手を伸ばす動作を行ったとすると、図６に示す現実オブジェクト表示判定情報１０７から“４”の優先度が特定され、図７に示す現実オブジェクト属性情報１０８から“４”の優先度が特定される。この場合、現実オブジェクト表示判定情報１０７から特定した優先度は、現実オブジェクト属性情報１０８から特定した優先度以上である。したがって、仮想オブジェクト表示判定部１０６は、仮想オブジェクトを非表示にすると判定する。
【００６１】
一方、携帯電話の音がなり、ユーザが頭を向ける動作を行ったとすると、図６に示す現実オブジェクト表示判定情報１０７から“２”の優先度が特定され、図７に示す現実オブジェクト属性情報１０８から“４”の優先度が特定される。この場合、現実オブジェクト表示判定情報１０７から特定された優先度は、現実オブジェクト属性情報１０８から特定された優先度未満である。したがって、仮想オブジェクト表示判定部１０６は、仮想オブジェクトを非表示にしないと判定する。
【００６２】
このように、現実オブジェクトの状態が変化した場合、一律に仮想オブジェクトを非表示にするのではなく、現実オブジェクトの状態とユーザの動作とを比較して、状態の変化した現実オブジェクトに対してユーザが何らかの動作（例えば取る動作）を行う可能性が高い場合のみ、仮想オブジェクトを非表示にしている。
【００６３】
これにより、可能な限り仮想オブジェクトの表示が維持される結果、ユーザに対して仮想現実空間に存在することへの臨場感を付与することができる。一方、状態が変化した現実オブジェクトに対してユーザが何らかの動作を行う可能性が低い場合、当該現実オブジェクトの手前に仮想オブジェクトが表示されていると、手前に表示されている仮想オブジェクトによってユーザの視界が妨げられ、状態が変化した現実オブジェクトに対してユーザは動作を行うことが困難となる。そこで、状態の変化した現実オブジェクトに対してユーザが何らかの動作を行う可能性が高い場合、仮想オブジェクトを非表示にする。これにより、ユーザは、状態が変化した現実オブジェクトに対して何らかの動作を容易に行うことができる。
【００６４】
ここで、仮想オブジェクト表示判定部１０６は、状態が変化した現実オブジェクトに対してユーザの視界を遮る位置に存在する仮想オブジェクトを抽出し、抽出した仮想オブジェクトを非表示にさせることが好ましい。
【００６５】
具体的には、図４（Ａ）に示すように、仮想オブジェクト表示判定部１０６は、状態が変化した現実オブジェクト（携帯電話２０３）とユーザ２０１の現在位置２０６とによって囲まれる領域を視界領域２０５として設定し、少なくとも一部が視界領域２０５に含まれる仮想オブジェクト２０２＿１、２０２＿２を非表示にさせる。こうすることで、ユーザの視界を遮る仮想オブジェクト２０２＿１、２０２＿２のみが非表示にされ、残りの仮想オブジェクトは表示されるため、残存する仮想オブジェクトの存在によってユーザに対して仮想現実空間の臨場感を付与することができる。
【００６６】
ここで、仮想オブジェクト表示判定部１０６は、まず、状態変化情報から状態が変化した現実オブジェクトである携帯電話２０３の位置データ及びサイズデータを特定する。そして、仮想オブジェクト表示判定部１０６は、グローバル座標系におけるユーザ２０１の現在位置及び現在の方位をユーザ情報管理部１１１により管理されるユーザ位置情報から特定し、特定したユーザ２０１の現在位置及び現在の方位を用いて携帯電話２０３の位置データをグローバル座標系に変換する。
【００６７】
次に、仮想オブジェクト表示判定部１０６は、携帯電話２０３のサイズデータから携帯電話２０３に外接する直方体２０３ａを設定する。次に、仮想オブジェクト表示判定部１０６は、ユーザ２０１の現在位置２０６を中心としてｘ方向の両側に一定距離延ばされた辺２０５＿１を設定する。次に、仮想オブジェクト表示判定部１０６は、直方体２０３ａのユーザ側の面２０３ｓと辺２０５＿１とによって囲まれる領域を視界領域２０５として設定する。これにより視界領域２０５はｙ方向視が台形状、ｘ方向視が三角形状の領域となる。
【００６８】
次に、仮想オブジェクト表示判定部１０６は、仮想オブジェクト情報管理部１１０により管理される仮想オブジェクトの中から表示対象の仮想オブジェクトを抽出し、抽出した仮想オブジェクトの位置データ及びサイズデータを仮想オブジェクト情報管理部１１０から読み出し、仮想オブジェクトに外接する直方体を設定する。ここで、仮想オブジェクト情報管理部１１０が管理する仮想オブジェクトの位置データは、例えばグローバル座標系の位置データである。そして、仮想オブジェクト表示判定部１０６は、ユーザ２０１の現在位置からユーザ２０１の前方の一定領域内に位置する仮想オブジェクトを表示対象の仮想オブジェクトとして抽出する。図４（Ａ）の例では、仮想オブジェクト２０２＿１〜２０２＿４の４つの仮想オブジェクトが表示対象の仮想オブジェクトとして抽出されている。
【００６９】
そして、仮想オブジェクト表示判定部１０６は、仮想オブジェクト２０２＿１〜２０２＿４のそれぞれに外接する直方体を設定し、直方体の一部の領域が視界領域２０５に含まれている仮想オブジェクトを非表示にすると判定し、残りの仮想オブジェクトを表示すると判定する。
【００７０】
図４（Ａ）の例では、仮想オブジェクト２０２＿１、２０２＿２が視界領域２０５内に存在しているため、仮想オブジェクト２０２＿１、２０２＿２が非表示にすると判定され、仮想オブジェクト２０２＿３、２０２＿４は表示すると判定される。そして、仮想オブジェクト表示判定部１０６は、仮想オブジェクト２０２＿１、２０２＿２を非表示にし、仮想オブジェクト２０２＿３、２０２＿４を表示するという判定結果をＵＩ生成部１１２に通知する。
【００７１】
図１に戻り、現実オブジェクト情報管理部１０９は、現実オブジェクト表示判定情報１０７と現実オブジェクト属性情報１０８とを管理する。
【００７２】
仮想オブジェクト情報管理部１１０は、仮想オブジェクトの位置データ及びサイズデータ等を含む仮想オブジェクト管理情報を管理する。ここで、仮想オブジェクトの位置データは、例えば、グローバル座標系の位置データが採用され、予め定められているものとする。また、仮想オブジェクトのサイズデータとしては、仮想オブジェクトに外接する直方体の６つの頂点の座標が採用される。
【００７３】
ユーザ情報管理部１１１は、グローバル座標系におけるユーザの現在位置、現在の方位、及びサイズを含むユーザ位置情報を管理する。ここで、ユーザ情報管理部１１１は、ユーザ位置検出部１１４から定期的に通知されるユーザ位置情報にしたがって、ユーザ位置情報を管理する。また、ユーザ情報管理部１１１は、予めユーザに身長、体重等のサイズ情報を入力させることで、ユーザのサイズを管理する。
【００７４】
ユーザ位置検出部１１４は、例えば、ヘッドマウントディスプレイに装着されたＧＰＳセンサ、加速度センサ、及び電子コンパス等を備え、ユーザの現在位置及び現在の方位を検出し、ユーザの現在位置及び現在の方位を示すユーザ位置情報を定期的に状態通信部１０５に通知する。
【００７５】
ここで、ユーザ位置検出部１１４は、例えば、ヘッドマウントディスプレイの装着時にＧＰＳセンサによりグローバル座標系におけるユーザの位置データと電子コンパスによりグローバル座標系におけるユーザの現在の方位とを取得する。以後、ユーザ位置検出部１１４は、加速度センサから定期的に出力されるユーザの加速度を示す加速度データを積算することで、グローバル座標系におけるユーザの現在位置及び現在の方位とを検出する。なお、加速度データは３次元ベクトルで表されるため、ユーザの移動量及び方位の変化量を積算することで、ユーザの現在位置及び現在の方位を特定することができる。また、状態通信部１０５に通知されたユーザ位置情報は仮想オブジェクト表示判定部１０６を介してユーザ情報管理部１１１に通知される。なお、上記説明では、ＧＰＳセンサ及び電子コンパスによりグローバル座標系におけるユーザの現在の位置データ及び方位を取得したが、ユーザに入力装置を操作させて、グローバル座標系におけるユーザの現在の位置データと方位とを入力させてもよい。
【００７６】
ＵＩ生成部１１２は、仮想オブジェクト表示判定部１０６の判定結果に基づき、ユーザに提示するＵＩ（ユーザインターフェース）を生成する。具体的には、ＵＩ生成部１１２は、仮想オブジェクト表示判定部１０６により表示すると判定された仮想オブジェクトの仮想オブジェクト管理情報を仮想オブジェクト情報管理部１１０から読み出し、当該仮想オブジェクトの２次元のグラフィックスデータを生成する。そして、ＵＩ生成部１１２は、生成したグラフィックスデータをＵＩとしてＵＩ表示部１１３のフレームバッファに書き込む。このフレームバッファには、現実オブジェクト状態検出部１０３のＲＧＢカメラにより撮像されたカラー画像成分、つまり、現実空間のカラー画像が書き込まれている。これにより、現実空間の画像に仮想オブジェクトが重畳された仮想現実空間の画像が生成される。
【００７７】
ＵＩ表示部１１３は、例えば、表示パネル及びフレームバッファにより構成され、現実空間の画像と仮想オブジェクトとを重畳し、仮想現実空間の画像を表示する。ここで、ＵＩ表示部１１３のフレームバッファには、現実オブジェクト状態検出部１０３のＲＧＢカメラにより撮像されたカラー画像成分及びＵＩ生成部１１２により生成されたＵＩが所定のフレームレートで書き込まれ、表示パネルはフレームバッファに書き込まれた画像を表示する。
【００７８】
図１５は、本発明の実施の形態によるオブジェクト制御装置１００のハードウェア構成を示すブロック図である。オブジェクト制御装置１００は、表示装置１１、入力装置１２、ＣＰＵ１３、通信部１４、ＲＡＭ１５、ＲＯＭ１６、ハードディスクドライブ（ＨＤＤ）１７、ユーザ位置検出センサ１８、モーションセンサ１９、及び状態検出センサ２０を備えている。
【００７９】
表示装置１１は、例えば液晶表示装置により構成され、仮想現実空間の画像を表示する。入力装置１２は、例えばキーボードにより構成され、ユーザからの入力操作を受け付ける。ＣＰＵ１３は、オブジェクト制御装置１００の全体制御を司る。通信部１４は、有線又は無線の通信回路により構成され、モーションセンサ１９により検出されたデータを受信したり、インターネットから送信されるデータを受信したりする。
【００８０】
ＲＡＭ１５、ＲＯＭ１６及びハードディスクドライブ１７は記憶装置を構成し、オブジェクト制御プログラムを記憶する。ユーザ位置検出センサ１８は、ＧＰＳセンサ、加速度センサ、及び電子コンパスを含み、図１に示すユーザ位置検出部１１４を構成する。モーションセンサ１９は、処理部及び撮像部を含み、図１に示すユーザ動作検出部１０１を構成する。状態検出センサ２０は、処理部、深度センサ、及びマイクを含み、図１に示す現実オブジェクト状態検出部１０３を構成する。
【００８１】
図１に示すユーザ動作通知部１０２、現実オブジェクト状態通知部１０４、仮想オブジェクト表示判定部１０６、及びＵＩ生成部１１２は、記憶装置に記憶されたオブジェクト制御プログラムに含まれるプログラムであり、記憶装置から読み出されてＣＰＵ１３により実行される構成である。
【００８２】
また、図１に示す状態通信部１０５は、通信部１４及びオブジェクト制御プログラムに含まれた通信部１４を制御するプログラムにより構成され、記憶装置から読み出されてＣＰＵ１３により実行される構成である。また、図１に示す現実オブジェクト情報管理部１０９、仮想オブジェクト情報管理部１１０、及びユーザ情報管理部１１１は、オブジェクト制御プログラムに含まれるデータ及びそのデータを管理するプログラムであり、記憶装置から読み出されて実行される構成である。
【００８３】
なお、図１５において、ユーザ位置検出センサ１８、状態検出センサ２０、及び表示装置１１は、ヘッドマウントディスプレイに取り付けられている。また、入力装置１２〜ハードディスクドライブ１７は、ユーザにより携帯されるコンピュータにより構成されている。また、モーションセンサ１９は、通信部１４を介してコンピュータと通信可能に接続され、ユーザの周囲に設置されている。
【００８４】
（動作）
次に、オブジェクト制御装置１００の動作について説明する。図８は、本発明の実施の形態によるオブジェクト制御装置１００の動作を示すフローチャートである。なお、以下の説明では、図２及び図３で示した状況を例に挙げて説明する。
【００８５】
まず、現実オブジェクト状態検出部１０３は、現実オブジェクトの状態の変化を検出し（Ｓ８０１）、状態変化情報を生成して、ユーザ動作通知部１０２に通知する。図２の例では、携帯電話２０３に音声通話の着信時に発生させる音が鳴ったため、現実オブジェクト状態検出部１０３は、携帯電話２０３の状態が変化したことを検出する。
【００８６】
次に、現実オブジェクト状態通知部１０４は、現実オブジェクト状態検出部１０３から通知された状態変化情報を状態通信部１０５に通知する（Ｓ８０２）。図２の例では、携帯電話２０３の状態は音が鳴っていない状態から音が鳴った状態に変化したため、その状態の変化（＝“音がなった”）を示す状態変化情報が状態通信部１０５に通知される。
【００８７】
次に、状態通信部１０５は、現実オブジェクト状態通知部１０４から通知された状態変化情報を仮想オブジェクト表示判定部１０６に通知する（Ｓ８０３）。
【００８８】
次に、仮想オブジェクト表示判定部１０６は、動作検出要求を発行し、状態通信部１０５に通知する（Ｓ８０４）。次に、状態通信部１０５は、動作検出要求をユーザ動作通知部１０２に通知する（Ｓ８０５）。
【００８９】
次に、ユーザ動作検出部１０１は、ユーザ動作通知部１０２から動作検出要求が通知され、ユーザの動作を検出する（Ｓ８０６）。ここで、ユーザ動作検出部１０１は、一定時間内にユーザの動作を検出することができなかった場合（Ｓ８０６がＮＯ）、処理を終了する。
【００９０】
一定時間としては、例えば予め定められた時間を採用してもよいし、現実オブジェクト状態検出部１０３が別の状態の変化を検出して、状態変化情報を状態通信部１０５に通知するまでの時間を採用してもよい。
【００９１】
一方、ユーザ動作検出部１０１は、一定時間内にユーザの動作を検出することができた場合（Ｓ８０６でＹＥＳ）、検出したユーザの動作を示すユーザ動作情報を生成し、ユーザ動作通知部１０２を介して状態通信部１０５に通知する（Ｓ８０７）。
【００９２】
次に、状態通信部１０５は、ユーザ動作情報を仮想オブジェクト表示判定部１０６に通知する（Ｓ８０８）。次に、仮想オブジェクト表示判定部１０６は、現実オブジェクト情報管理部１０９から現実オブジェクト表示判定情報１０７と現実オブジェクト属性情報１０８とを取得する（Ｓ８０９）。
【００９３】
次に、仮想オブジェクト表示判定部１０６は、ユーザ動作検出部１０１により検出されたユーザの動作が現実オブジェクト表示判定情報１０７に規定されているか否かを判定する（Ｓ８１０）。そして、仮想オブジェクト表示判定部１０６は、ユーザの動作が現実オブジェクト表示判定情報１０７に規定されていると判定した場合（Ｓ８１０でＹＥＳ）、処理をＳ８１１に進める。一方、ユーザの動作が現実オブジェクト表示判定情報１０７に規定されていない場合（Ｓ８１０でＮＯ）、処理が終了される。
【００９４】
次に、仮想オブジェクト表示判定部１０６は、現実オブジェクト表示判定情報１０７からユーザの動作に対応する優先度を特定し、かつ、現実オブジェクト属性情報１０８から状態の変化に対応する優先度を特定し、特定した２つの優先度を比較する（Ｓ８１１）。比較の結果、ユーザの動作の優先度が状態の変化の優先度以上の場合（Ｓ８１１でＹＥＳ）、処理がＳ８１２へ進められる。一方、ユーザの動作の優先度が状態の変化の優先度未満の場合（Ｓ８１１でＮＯ）、処理が終了される。
【００９５】
Ｓ８０７からＳ８１１までの動作について、図２および図３を例に説明する。図２では、携帯電話２０３が音声通話を着信して音が鳴り、これに伴いユーザは“手を伸ばす”という動作を行う。このとき、図６に示す現実オブジェクト表示判定情報１０７から、この動作の優先度は“４”となる。また、図７に示す携帯電話の現実オブジェクト属性情報１０８には、“音がなる”状態変化に対して優先度は“４”と設定されている。この場合、２つの優先度が等しいため、Ｓ８１１でＹＥＳと判定され、処理がＳ８１２に進められる。
【００９６】
一方、図３の場合、携帯電話２０３がメールを着信して音が鳴り、これに伴いユーザは“頭を向ける”という動作を行っている。このとき、図６に示す現実オブジェクト表示判定情報１０７から、この動作の優先度は“２”となる。また、図７に示す携帯電話の現実オブジェクト属性情報１０８には、携帯電話の状態変化の優先度は“４”と設定されている。この場合、ユーザの動作の優先度が携帯電話２０３の優先度よりも低いため、処理が終了される。
【００９７】
次に、仮想オブジェクト表示判定部１０６は、仮想オブジェクト情報管理部１１０から表示対象となる仮想オブジェクトの仮想オブジェクト管理情報を取得する（Ｓ８１２）。次に、仮想オブジェクト表示判定部１０６は、ユーザ情報管理部１１１からユーザ位置情報を取得する（Ｓ８１３）。
【００９８】
次に、仮想オブジェクト表示判定部１０６は、ユーザ位置情報に示されるユーザの現在位置及び方位、及び状態が変化した現実オブジェクトの現実オブジェクト属性情報１０８に規定された位置データ及びサイズデータから、図４（Ａ）に示す視界領域２０５を仮想現実空間に設定する（Ｓ８１４）。
【００９９】
次に、仮想オブジェクト表示判定部１０６は、表示対象となる仮想オブジェクトを仮想現実空間に配置し、表示対象となる仮想オブジェクトのうち、視界領域２０５に含まれる仮想オブジェクトを抽出する（Ｓ８１５）。
【０１００】
次に、仮想オブジェクト表示判定部１０６は、表示する仮想オブジェクトと非表示の仮想オブジェクトとを通知するための判定結果をＵＩ生成部１１２に通知する（Ｓ８１６）。次に、ＵＩ生成部１１２は、表示する仮想オブジェクトのグラフィックデータを生成し、ＵＩ表示部１１３は、現実空間の画像に仮想オブジェクトのグラフィックデータを重畳して仮想現実空間の画像を生成して表示する（Ｓ８１７）。
【０１０１】
なお、オブジェクト制御装置１００は、仮想オブジェクトを非表示とした後、ユーザが所定の動作を完了すると、非表示にした仮想オブジェクトを再度表示して非表示の状態を解除してもよい。
【０１０２】
具体的には、仮想オブジェクト表示判定部１０６は、ユーザ動作検出部１０１において、仮想オブジェクトを非表示にする契機となったユーザの動作が検出されなくなった場合、非表示の状態を解除するようにしてもよい。より具体的には、仮想オブジェクト表示判定部１０６は、ユーザ動作検出部１０１から“何もしない”と記述されたユーザ動作情報が通知されたとき、非表示状態を解除すればよい。
【０１０３】
また、仮想オブジェクト表示判定部１０６は、例えば、手を所定回数振るなどといった、非表示の状態を解除するための特定の動作を予め定義しておく。そして、仮想オブジェクト表示判定部１０６は、ユーザ動作検出部１０１によりこの特定の動作が検出され、この特定の動作を示すユーザ動作情報が通知された場合、非表示の状態を解除するようにしてもよい。
【０１０４】
非表示の状態が解除されると、視界領域２０５に存在するために非表示にされていた仮想オブジェクトのグラフィックスデータが現実空間の画像に重畳され、ＵＩ表示部１１３に表示される。すなわち、図３（Ｂ）に示すような画像がＵＩ表示部１１３に表示される。
【０１０５】
（その他）
なお、本実施の形態では、視界領域２０５に含まれる仮想オブジェクトを非表示にしたが、本発明はこれに限定されず、全ての仮想オブジェクトを非表示にしてもよい。これにより、現実オブジェクトに対しユーザが何らかの動作を行うときに、仮想オブジェクトに遮られることなく、操作対象となる現実オブジェクトを見つけだすことが可能となる。
【０１０６】
また、図８のＳ８１０において、ユーザの動作が現実オブジェクト表示判定情報１０７に規定されていなかった場合であっても、このユーザの動作を現実オブジェクト表示判定情報１０７に規定されたユーザの動作に近似して、優先度を特定してもよい。
【０１０７】
この場合、仮想オブジェクト表示判定部１０６は、現実オブジェクト情報管理部１０９に図９に示す近似動作情報を管理させ、この近似動作情報を参照してユーザの動作を近似すればよい。図９は近似動作情報の一例を示した図である。近似動作情報は、ユーザの動作の欄と、近似動作の欄とを備えている。ユーザの動作の欄には、現実オブジェクト表示判定情報１０７に規定されたいずれかのユーザの動作が格納されている。近似動作の欄には、現実オブジェクト表示判定情報１０７に規定されていないユーザの動作であってユーザ動作検出部１０１により検出されるユーザの動作が格納されている。
【０１０８】
図８のＳ８１０において、仮想オブジェクト表示判定部１０６は、ユーザ動作検出部１０１により検出されたユーザの動作が現実オブジェクト表示判定情報１０７に規定されていなかった場合（Ｓ８１０がＮＯ）、図９に示す近似動作情報を参照する。そして、仮想オブジェクト表示判定部１０６は、検出されたユーザの動作が近似動作の欄に規定されていれば、その近似動作に対応するユーザの動作を特定し、特定したユーザの動作に対応する優先度を現実オブジェクト表示判定情報１０７から特定すればよい。
【０１０９】
これにより、ユーザ動作検出部１０１により検出されたユーザの動作が現実オブジェクト表示判定情報１０７に規定されていなくても、そのユーザの動作を現実オブジェクト表示判定情報１０７に規定されたユーザの動作に近似して、優先度を特定することができ、種々のユーザの動作に対してより柔軟に優先度を特定することができる。
【０１１０】
また、図８のＳ８１５において、視界領域２０５に含まれる仮想オブジェクトを非表示にする態様に代えて、仮想オブジェクト表示判定部１０６は、視界領域２０５に含まれている仮想オブジェクトが視界領域２０５に含まれない位置に移動されるようＵＩ生成部１１２に指示してもよい。この場合、仮想オブジェクト表示判定部１０６は、例えば、仮想オブジェクトのｚ座標の位置はそのままにして、移動対象となる仮想オブジェクトに外接する直方体が視界領域２０５と重ならず、かつ、移動対象となる仮想オブジェクトの移動距離が最短距離となる位置に当該仮想オブジェクトを移動させればよい。こうすることで、仮想オブジェクトの表示位置の変動量が最小となり、ユーザに大きな違和感を与えることなく、仮想オブジェクトを表示することができる。
【０１１１】
そして、仮想オブジェクト表示判定部１０６は、視界領域２０５に含まれている仮想オブジェクトの位置を変更するよう仮想オブジェクト情報管理部１１０に通知し、仮想オブジェクト情報管理部１１０が管理する該当する仮想オブジェクトの位置を更新させる。そして、仮想オブジェクト表示判定部１０６は、更新された仮想オブジェクトの位置に該当する仮想オブジェクトが表示されるようにＵＩ生成部１１２に指示する。これにより、現実オブジェクトに対しユーザが何らかの動作を行うときに、仮想オブジェクトに遮られることなく、ユーザは操作対象となる現実オブジェクトを見つけだすことが可能となる。
【０１１２】
なお、図８のＳ８１５において、仮想オブジェクト表示判定部１０６は、現実オブジェクト属性情報１０８が、視界領域２０５を拡張する属性を保持する場合、視界領域２０５のみならず、拡張視界領域に含まれる仮想オブジェクトも非表示にしてもよい。拡張視界領域は、状態変化が検出された現実オブジェクトの近傍に設定された領域である。これにより、現実オブジェクトに対しユーザが何らかの動作を行うときに、より広い領域にわたって仮想オブジェクトに遮られることなく、操作対象となる現実オブジェクトを見つけだすことが可能となる。
【０１１３】
以下、拡張視界領域について、図１０、図１１、図１２、図１７を用いて説明する。
【０１１４】
図１０は、視界領域２０５を拡張する属性を保持している場合の現実オブジェクト属性情報１０８の一例を示した図である。図１０に示すように、現実オブジェクト属性情報１０８は、“拡張領域距離：Ｌ”という視界領域２０５を拡張する属性を保持していることが分かる。
【０１１５】
図１１は、本発明の実施の形態によるオブジェクト制御装置１００が拡張視界領域を設定した場合において、ユーザの動作に応じて仮想オブジェクトを非表示とする場合の処理の説明図である。図１１（Ａ）はユーザが手を伸ばす動作を行った時のユーザから見た仮想現実空間を示し、図１１（Ｂ）はユーザが手を伸ばす動作を行った後のユーザから見た仮想現実空間を示している。図２（Ａ）、（Ｂ）との違いは、携帯電話２０３の背後に仮想オブジェクト２０２＿Ｘが存在することである。図１２（Ａ）、（Ｂ）は、図１１（Ａ）、（Ｂ）を上側から見た図である。図１７は、拡張視界領域２０７を側面側（ｘ方向側）から見た図である。図１２（Ａ）に示すように、携帯電話２０３の背後に位置する仮想オブジェクト２０２＿Ｘは、視界領域２０５に含まれていない。そのため、視界領域２０５に含まれる仮想オブジェクトのみを非表示にしただけでは、仮想オブジェクト２０２＿Ｘが携帯電話２０３の背後に表示されてしまい、携帯電話２０３を取るユーザ２０１の動作の妨げとなる虞がある。
【０１１６】
そこで、仮想オブジェクト２０２＿Ｘを非表示にするために、仮想オブジェクト表示判定部１０６は図１２（Ｂ）に示すように拡張視界領域２０７を設定する。拡張視界領域２０７は、上面視において、ユーザ２０１が伸ばした方の手の側に弧２０７＿２が設定され、携帯電話２０３の中心２０３＿Ｏから一定の半径Ｌを持つ扇形の領域である。ここで、一定の半径Ｌとしては、拡張領域距離が採用されている。また、中心２０３＿Ｏとしては、例えば、携帯電話２０３に外接する直方体２０３ａの中心を採用してもよいし、直方体２０３ａのユーザ側の面２０３ｓの中心を採用してもよい。また、一方の辺２０７＿１はユーザ２０１の現在位置２０６及び中心２０３＿Ｏとを繋ぐ直線と平行、すなわち、ｚ軸と平行に設定されている。
【０１１７】
また、図１７に示すように、拡張視界領域２０７は、側面視において、中心２０３＿Ｏを中心とする半径Ｌの円形状を有している。つまり、拡張視界領域２０７は、上面視が扇形であり、側面視が円形であり、扇形と円形とを球状に補間することで得られる立体である。
【０１１８】
このように拡張視界領域２０７に設定することで、視界領域２０５に含まれる仮想オブジェクトのみならず、拡張視界領域２０７に含まれる仮想オブジェクト２０２＿Ｘも非表示とされる（図１１（Ｂ）参照）。そのため、携帯電話２０３の背後に位置する仮想オブジェクト２０２＿Ｘが非表示となり、ユーザ２０１は携帯電話２０３に対する動作を容易に行うことができる。
【０１１９】
また、拡張視界領域２０７を算出するにあたり、Ｓ８０８においてユーザの手２０１＿１の向きを取得し、取得した手の向きを利用して、拡張視界領域２０７を設定してもよい。図１３は、ユーザの手２０１＿１の動きを上側から見た図である。
【０１２０】
図１３の例では、上面視において、ユーザ２０１は右側の手２０１＿１を前方に伸ばしている。したがって、ユーザ動作検出部１０１は、上面視において、携帯電話２０３の中心２０３＿Ｏ及びユーザ２０１の現在位置２０６を繋ぐ直線Ｌ１３と、ユーザ２０１が伸ばした側の手２０１＿１とのなす角度θを検出する。この場合、ユーザ動作検出部１０１は、ユーザ２０１の姿勢を表すスケルトンをｘ−ｚ平面に投影することで、角度θを求めればよい。
【０１２１】
そして、図８のＳ８１５において、仮想オブジェクト表示判定部１０６は、取得した現実オブジェクト属性情報１０８に“拡張領域距離：Ｌ”と記載されているため、視界領域２０５のみならず、拡張視界領域２０７にも存在する仮想オブジェクトも非表示にすると判定する。ここで、仮想オブジェクト表示判定部１０６は、仮想オブジェクト２０２＿Ｘに外接する直方体を設定し、直方体の一部が拡張視界領域２０７に存在すれば仮想オブジェクト２０２＿Ｘが拡張視界領域２０７に含まれると判定すればよい。
【０１２２】
また、拡張視界領域２０７は、図１４に示すように、上面視において、状態が変化した現実オブジェクトである携帯電話２０３の中心２０３＿Ｏ及びユーザ２０１の現在位置２０６を繋ぐ直線Ｌ１３上に一方の辺２０７＿１が設定され、直線Ｌ１３及び手２０１＿１のなす角度θが増大するにつれて、中心角αが小さくなるように設定される。具体的には、拡張視界領域２０７は、上面視において、中心角αが辺２０７＿１を基準として中心角αがα＝（２７０−θ）°の扇形に設定する。この場合も図１７に示すように、側面視において拡張視界領域２０７は、半径Ｌの球状にすればよい。
【０１２３】
なお、拡張視界領域２０７を設定する態様を採用した場合であっても、視界領域２０５及び拡張視界領域２０７に含まれる仮想オブジェクトを非表示にする態様に代えて、仮想オブジェクトの位置を移動させる態様を採用してもよい。この場合、仮想オブジェクトのｚ座標の位置はそのままにして、移動対象となる仮想オブジェクトに外接する直方体が視界領域２０５及び拡張視界領域２０７と重ならず、かつ、移動対象となる仮想オブジェクトの移動距離が最短距離となる位置に当該仮想オブジェクトを移動させればよい。
【０１２４】
なお、本実施の形態によるオブジェクト制御装置１００は、典型的には半導体集積回路であるＬＳＩとして実現される。具体的には、オブジェクト制御装置１００のうち、ユーザ動作通知部１０２、現実オブジェクト状態通知部１０４、状態通信部１０５、仮想オブジェクト表示判定部１０６、現実オブジェクト情報管理部１０９、仮想オブジェクト情報管理部１１０、ユーザ情報管理部１１１、ＵＩ（ユーザインターフェイス）生成部１１２を集積回路により構成すればよい。
【０１２５】
これらは個別に１チップ化されてもよいし、一部またはすべてを含むように１チップ化されても良い。ここではＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１２６】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０１２７】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適応などが可能性として有り得る。
【０１２８】
さらに加えて、本実施の形態のオブジェクト制御装置１００を集積化した半導体チップと、画像を描画するためのディスプレイとを組み合せて、様々な用途に応じた描画機器を構成することができる。携帯電話やテレビ、デジタルビデオレコーダ、デジタルビデオカメラ、カーナビゲーション等における情報描画手段として、本発明を利用することが可能である。ディスプレイとしては、ブラウン管（ＣＲＴ）の他、液晶やＰＤＰ（プラズマディスプレイパネル）、有機ＥＬなどのフラットディスプレイ、プロジェクターを代表とする投射型ディスプレイなどと組み合わせることが可能である。
【０１２９】
本発明のオブジェクト制御装置の技術的特徴は下記のようにまとめることができる。
【０１３０】
（１）本発明によるオブジェクト制御装置は、仮想現実空間において仮想オブジェクトの表示制御を行うオブジェクト制御装置であって、ユーザの動作を検出するユーザ動作検出部と、前記ユーザ動作検出部により検出されたユーザの動作を示すユーザ動作情報を通知するユーザ動作通知部と、前記仮想現実空間に存在する現実オブジェクトの状態の変化を検出する現実オブジェクト状態検出部と、前記現実オブジェクト状態検出部により検出された前記現実オブジェクトの状態の変化を示す状態変化情報を通知する現実オブジェクト状態通知部と、前記ユーザ動作通知部から通知されたユーザ動作情報と前記現実オブジェクト状態通知部から通知された状態変化情報とを通知する状態通信部と、前記状態通信部から通知されたユーザ動作情報と状態変化情報とに基づいて、状態が変化した現実オブジェクトが露出されるように前記仮想オブジェクトの表示態様を変更するか否かを判定する仮想オブジェクト表示判定部と、前記仮想オブジェクト表示判定部による判定結果に基づいてユーザに提示するＵＩ（ユーザインターフェイス）を生成するＵＩ生成部と、前記ＵＩ生成部により生成されたＵＩを表示するＵＩ表示部とを備える。
【０１３１】
この構成によれば、現実オブジェクトの状態が変化すると、当該現実オブジェクトの状態の変化とユーザの動作とが比較され、当該現実オブジェクトが露出されるように、つまり、当該現実オブジェクトが手前に表示されるように、仮想オブジェクトの表示態様を変更するか否かが判定される。そして、判定結果に基づいて、ユーザに提示するＵＩが生成されて表示される。
【０１３２】
このように、現実オブジェクトの状態が変化した場合、一律に仮想オブジェクトを非表示にするのではなく、現実オブジェクトの状態とユーザの動作とを比較して、状態が変化した現実オブジェクトに対してユーザが何らかの動作を行う可能性が高い場合のみ、仮想オブジェクトを非表示にしている。
【０１３３】
これにより、可能な限り仮想オブジェクトの表示が維持される結果、ユーザに対して仮想現実空間に存在することへの臨場感を付与することができる。一方、状態が変化した現実オブジェクトに対してユーザが何らかの動作を行う場合、当該現実オブジェクトの手前に仮想オブジェクトが表示されていると、手前に表示されている仮想オブジェクトが当該現実オブジェクトへのユーザの視界を妨げとなり、ユーザは動作することが困難になる。そこで、状態が変化した現実オブジェクトに対してユーザが何らかの動作を行う可能性が高い場合、現実オブジェクトが手前に表示されるように仮想オブジェクトの表示態様を変更する。これにより、ユーザは、仮想オブジェクトによって視界が遮られることなく、状態が変化した現実オブジェクトに対して何らかの動作を行うことが容易になる。
【０１３４】
（２）ユーザの動作及び優先度が対応付けられた現実オブジェクト表示判定情報と、前記現実オブジェクトの状態の変化及び優先度が対応付けられた現実オブジェクト属性情報とを管理する現実オブジェクト情報管理部を更に備え、前記仮想オブジェクト表示判定部は、前記状態通信部から通知されたユーザ動作情報が示すユーザの動作に対応する優先度を前記現実オブジェクト表示判定情報から特定し、かつ、前記状態通信部から通知された状態変化情報が示す状態の変化に対応する優先度を前記現実オブジェクト属性情報から特定し、特定した２つの優先度を比較することで、前記仮想オブジェクトの表示態様を変更するか否かを判定することが好ましい。
【０１３５】
この構成によれば、ユーザ動作及び優先度が予め対応付けられた現実オブジェクト表示判定情報を用いて、ユーザ動作情報が示すユーザの動作に対応する優先度が特定される。また、現実オブジェクトの状態の変化及び優先度が予め対応付けられた現実オブジェクト属性情報を用いて、状態が変化した現実オブジェクトの状態の変化に対応する優先度が特定される。そして、特定された両優先度が比較されて仮想オブジェクトの表示態様の変更の有無が判定される。これにより、現実オブジェクト表示判定部は、予め定められたデータを用いて現実オブジェクトの表示態様の変更の有無を判定することができ、この判定を正確かつ高速に行うことができる。
【０１３６】
（３）前記現実オブジェクト表示判定情報及び前記現実オブジェクト属性情報に含まれる優先度は、値が増大するにつれて優先順位が高いことを示し、前記仮想オブジェクト表示判定部は、前記現実オブジェクト表示判定情報から特定した優先度が前記現実オブジェクト属性情報から特定した優先度以上である場合、前記仮想オブジェクトの表示態様を変更すると判定することが好ましい。
【０１３７】
現実オブジェクト表示判定情報はユーザの動作の優先度を規定し、現実オブジェクト属性情報は現実オブジェクトの状態の変化の優先度を規定している。そのため、現実オブジェクト表示判定情報から特定された優先度が現実オブジェクト属性情報から特定された優先度以上であるか否かによって、状態が変化した現実オブジェクトに対してユーザが何らかの動作を行う可能性が高いか否かを判定することができる。
【０１３８】
（４）前記仮想オブジェクト表示判定部は、前記状態通信部から通知されたユーザ動作情報が前記現実オブジェクト表示判定情報に含まれていない場合、当該ユーザ動作情報が示すユーザの動作を、前記現実オブジェクト表示判定情報に含まれるユーザ動作情報に近似して、前記仮想オブジェクトの表示態様を変更するか否かを判定することが好ましい。
【０１３９】
この構成によれば、ユーザ動作検出部により検出されたユーザの動作が現実オブジェクト表示判定情報に規定されていなくても、そのユーザの動作を現実オブジェクト表示判定情報に規定されたユーザの動作に近似して優先度を特定することができ、種々のユーザの動作に対してより柔軟に優先度を特定することができる。
【０１４０】
（５）前記仮想オブジェクト表示判定部は、状態が変化した現実オブジェクトに対してユーザの視界を遮る位置に存在する仮想オブジェクトを抽出し、抽出した仮想オブジェクトの表示態様を変更させることが好ましい。
【０１４１】
この構成によれば、ユーザの視界を遮る仮想オブジェクトのみ表示態様が変更され、残りの仮想オブジェクトは表示態様が変更されないため、表示態様が変更されない仮想オブジェクトの存在によってユーザに対して仮想現実空間の臨場感を付与することができる。
【０１４２】
（６）前記仮想オブジェクト表示判定部は、状態が変化した現実オブジェクトとユーザの現在位置とによって囲まれる領域を視界領域として設定し、少なくとも一部が前記視界領域に含まれる前記仮想オブジェクトの表示態様を変更させることが好ましい。
【０１４３】
この構成によれば、状態が変化した現実オブジェクトとユーザの現在位置とによって囲まれる領域が視界領域として設定され、その視界領域に仮想オブジェクトが一部でも含まれていれば当該仮想オブジェクトはユーザの視界を遮ると判定される。そのため、仮想オブジェクトがユーザの視界を遮るか否かを正確に判定することができる。
【０１４４】
（７）前記仮想オブジェクト表示判定部は、上面視において、ユーザが伸ばした方の手の側に弧が設定され、状態が変化した現実オブジェクトから一定の半径を持つ扇形の領域を拡張視界領域として設定し、前記拡張視界領域及び前記視界領域の少なくとも一方に含まれる仮想オブジェクトの表示態様を変更させることが好ましい。
【０１４５】
この構成によれば、視界領域には含まれていない仮想オブジェクトであっても、状態が変化した現実オブジェクトの周囲に位置していれば表示態様が変更されるため、状態が変化した現実オブジェクトに対するユーザの視界をより良好にすることができる。
【０１４６】
（８）前記拡張視界領域は、上面視において、状態が変化した現実オブジェクトの中心からユーザに向けて前記扇形の一辺が設定され、前記ユーザ及び前記現実オブジェクトの中心を繋ぐ直線とユーザが伸ばした方の手の向きとがなす角度が増大するにつれて前記扇形の中心角が小さくなるように設定されていることが好ましい。
【０１４７】
ユーザの視線の方向はユーザが手を伸ばした方向に向くことが一般的である。本構成では、上面視において、ユーザが手を伸ばした方向を基準として両側に拡がるように拡張視界領域を設定することができるため、ユーザの視界を妨げる仮想オブジェクトをより正確に特定することができる。
【０１４８】
（９）前記仮想オブジェクトの位置を含む仮想オブジェクト管理情報を管理する仮想オブジェクト情報管理部を更に備え、前記仮想オブジェクト表示判定部は、前記仮想オブジェクト管理情報を用いて前記仮想オブジェクトの位置を特定することが好ましい。
【０１４９】
この構成によれば、仮想オブジェクト情報管理部により仮想オブジェクトの位置が管理されているため、仮想オブジェクト表示判定部は、仮想オブジェクトの位置を容易に特定することができる。
【０１５０】
（１０）ユーザの現在位置を含むユーザ位置情報を管理するユーザ情報管理部を更に備え、前記仮想オブジェクト表示判定部は、前記ユーザ位置情報を用いてユーザの現在位置を特定することが好ましい。
【０１５１】
この構成によれば、ユーザ情報管理部によりユーザの現在位置が管理されているため、仮想オブジェクト表示判定部は、ユーザの現在位置を容易に特定することができる。
【０１５２】
（１１）前記仮想オブジェクト表示判定部は、前記仮想オブジェクトの表示態様が変更された後、前記表示態様を元に戻す所定のジェスチャーがユーザにより行われた場合、前記表示態様を元に戻すことが好ましい。
【０１５３】
この構成によれば、仮想オブジェクトの表示態様が変更された後、ユーザが仮想オブジェクトの表示態様を元に戻したいと考えた場合、所定のジェスチャーを行うことで、仮想オブジェクトの表示態様を元に戻すことができる。
【０１５４】
（１２）前記表示態様の変更は、前記仮想オブジェクトを非表示にすることであることが好ましい。
【０１５５】
この構成によれば、仮想オブジェクトを非表示とすることで状態の変化した現実オブジェクトが手前に表示されるため、当該現実オブジェクトに対する動作をユーザは容易に行うことができる。
【０１５６】
（１３）前記表示態様の変更は、前記仮想オブジェクトの表示位置をずらすことであることが好ましい。
【０１５７】
この構成によれば、仮想オブジェクトの表示位置をずらすことで状態が変化した現実オブジェクトが手前に表示されるため、当該現実オブジェクトに対する動作をユーザは容易に行うことができる。
【産業上の利用可能性】
【０１５８】
本発明にかかるオブジェクト制御装置は、ヘッドマウントディスプレイ等を用いた仮想現実空間において、オブジェクト認識された物体に、物体の種別に合わせた機能を動的かつ選択的に設定、利用する手段として有用である。
【図１】
2012124250.tif 000003
【図２】
2012124250.tif 000004
【図３】
2012124250.tif 000005
【図４】
2012124250.tif 000006
【図５】
2012124250.tif 000007
【図６】
2012124250.tif 000008
【図７】
2012124250.tif 000009
【図８】
2012124250.tif 000010
【図９】
2012124250.tif 000011
【図１０】
2012124250.tif 000012
【図１１】
2012124250.tif 000013
【図１２】
2012124250.tif 000014
【図１３】
2012124250.tif 000015
【図１４】
2012124250.tif 000016
【図１５】
2012124250.tif 000017
【図１６】
2012124250.tif 000018
【図１７】
2012124250.tif 000019
【図１８】
2012124250.tif 000020
【図１９】
2012124250.tif 000021
【国際調査報告】
2012124250.tif 000022
2012124250.tif 000023