(57)【要約】【課題】ＶＲ体験を損なうことなくＶＲ酔いを低減する。【解決手段】ヘッドマウントデバイスを備えたシステムにおける情報処理方法であって、仮想空間を規定する仮想空間データ、及び前記仮想空間における仮想視点を特定するステップと、前記仮想空間データと前記仮想視点に基づいて前記仮想空間における視野画像を生成するステップと、前記ヘッドマウントデバイスの動きに応じて前記視野画像を更新するステップと、前記視野画像の更新において前記ヘッドマウントデバイスの動きと前記視野画像との不整合を生じさせる事象を検出するステップと、前記事象が検出された場合に、前記仮想空間におけるコンテキストに応じた視覚効果を特定するステップと、前記特定された視覚効果に基づいて前記視野画像の視覚的情報量を低減させるステップと、を含む方法が提供される。【選択図】図１１
2019067195.tif 000002
【特許請求の範囲】
【請求項１】
ヘッドマウントデバイスを備えたシステムにおける情報処理方法であって、
仮想空間を規定する仮想空間データ、及び前記仮想空間における仮想視点を特定するステップと、
前記仮想空間データと前記仮想視点に基づいて前記仮想空間における視野画像を生成するステップと、
前記ヘッドマウントデバイスの動きに応じて前記視野画像を更新するステップと、
前記視野画像の更新において前記ヘッドマウントデバイスの動きと前記視野画像との不整合を生じさせる事象を検出するステップと、
前記事象が検出された場合に、前記仮想空間におけるコンテキストに応じた視覚効果を特定するステップと、
前記特定された視覚効果に基づいて前記視野画像の視覚的情報量を低減させるステップと、
を含む方法。
【請求項２】
前記事象は、前記視野画像が更新されるフレームレートが所定の閾値を下回る事象である、請求項１に記載の方法。
【請求項３】
前記事象は、前記ヘッドマウントデバイスのトラッキングエラーを示す事象である、請求項１に記載の方法。
【請求項４】
前記トラッキングエラーは、トラッキング信号が取得不能であること、又はトラッキング信号に基づき算出された前記仮想視点が異常であること、のいずれかを含む、請求項３に記載の方法。
【請求項５】
前記視覚効果は、前記事象の種類と前記不整合の程度の少なくとも一方に基づいて決定される、請求項１から請求項４のいずれか１項に記載の方法。
【請求項６】
前記視覚効果は、前記不整合の程度が大きいほど前記視野画像の視覚的情報量を大きく低減させるように制御される、請求項１から請求項５のいずれか１項に記載の方法。
【請求項７】
前記視覚効果は、前記視野画像の視覚的情報量を断続的に低減させる効果である、請求項１から請求項６のいずれか１項に記載の方法。
【請求項８】
前記コンテキストは前記仮想空間においてユーザが照明を含む室内にいることであり、前記視覚効果は前記照明が点滅する、又は前記照明の明るさが減少する効果である、請求項１から請求項７のいずれか１項に記載の方法。
【請求項９】
前記コンテキストは前記仮想空間においてユーザが火気が生じ得る場所にいることであり、前記視覚効果は発火又は発煙が生じる効果である、請求項１から請求項７のいずれか１項に記載の方法。
【請求項１０】
前記コンテキストは前記仮想空間においてユーザの近くに人物が存在することであり、前記視覚効果は前記人物の行為によって前記ユーザの視界が遮られる効果である、請求項１から請求項７のいずれか１項に記載の方法。
【請求項１１】
前記コンテキストは前記仮想空間においてユーザが眼鏡を装着していることであり、前記視覚効果は前記眼鏡を通して見える視界の明瞭さを低下させる効果である、請求項１から請求項７のいずれか１項に記載の方法。
【請求項１２】
前記仮想空間における複数のコンテキストと、前記複数のコンテキストのそれぞれに対応する１又は複数の視覚効果とを予め記憶するステップと、
前記仮想空間におけるコンテキストを特定するステップと、
前記特定されたコンテキストと、前記事象の種類及び前記不整合の程度の少なくとも一方とに基づいて、前記１又は複数の視覚効果から１つの視覚効果を選択するステップと、
を含む、請求項１から請求項１１のいずれか１項に記載の方法。
【請求項１３】
プロセッサと、
プログラムを格納するメモリであって、前記プログラムは、前記プロセッサによって実行されると、前記プロセッサに、請求項１から請求項１２のいずれか１項に記載の方法を実行させる、メモリと、
を備えるコンピュータ。
【請求項１４】
プロセッサによって実行されると、前記プロセッサに、請求項１から請求項１２のいずれか１項に記載の方法を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理方法、コンピュータ、及びプログラムに関する。
【背景技術】
【０００２】
ヘッドマウントデバイス（Ｈｅａｄ−Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ、ＨＭＤ）を装着したユーザに仮想現実（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ、ＶＲ）空間の体験を提供することが可能な技術の開発が行われている。特許文献１には、ＶＲ空間において仮想カメラを動かす際にユーザに提示される画像の視覚的情報量を減少させることによって、ユーザがＶＲ体験中に感じる酔い（「ＶＲ酔い」とも呼ばれる）を低減する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５８６９１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された技術は、仮想カメラの動きに伴うＶＲ酔いを低減することができるにすぎない。したがって、ＶＲ酔いの低減に関して改善の余地がある。
【０００５】
本開示は、上記の点に鑑みてなされたものであり、その目的の１つは、ＶＲ体験を損なうことなくＶＲ酔いを低減することにある。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本開示の一態様は、ヘッドマウントデバイスを備えたシステムにおける情報処理方法であって、仮想空間を規定する仮想空間データ、及び前記仮想空間における仮想視点を特定するステップと、前記仮想空間データと前記仮想視点に基づいて前記仮想空間における視野画像を生成するステップと、前記ヘッドマウントデバイスの動きに応じて前記視野画像を更新するステップと、前記視野画像の更新において前記ヘッドマウントデバイスの動きと前記視野画像との不整合を生じさせる事象を検出するステップと、前記事象が検出された場合に、前記仮想空間におけるコンテキストに応じた視覚効果を特定するステップと、前記特定された視覚効果に基づいて前記視野画像の視覚的情報量を低減させるステップと、を含む方法である。
【０００７】
また、本開示の他の一態様は、プロセッサと、プログラムを格納するメモリであって、前記プログラムは、前記プロセッサによって実行されると、前記プロセッサに、前記方法を実行させる、メモリと、を備えるコンピュータである。
【０００８】
また、本開示の他の一態様は、プロセッサによって実行されると、前記プロセッサに、前記方法を実行させる、プログラムである。
【発明の効果】
【０００９】
本開示によれば、ＶＲ体験を損なうことなくＶＲ酔いを低減することができる。
【図面の簡単な説明】
【００１０】
【図１】ＨＭＤシステム１００の構成を概略的に示す。
【図２】一実施形態による、コンピュータの基本的なハードウェア構成の例を表すブロック図である。
【図３】一実施形態による、ＨＭＤに設定されるｕｖｗ視野座標系を概念的に表す図である。
【図４】一実施形態による、仮想空間を表現する一態様を概念的に表す図である。
【図５】一実施形態による、ＨＭＤ１１０を装着するユーザの頭部を上から表した図である。
【図６】仮想空間において視認領域をｘ方向から見たｙｚ断面を表す図である。
【図７】仮想空間において視認領域をｙ方向から見たｘｚ断面を表す図である。
【図８】一実施形態によるコントローラの概略構成を表す図である。
【図９】一実施形態による、ＨＭＤシステムにおける仮想空間の表示処理等を実現するためのコンピュータの機能を示すブロック図である。
【図１０】ユーザが没入する仮想空間の画像を表示部に表示するための一般的な処理のフロー図である。
【図１１】本開示の一実施形態による方法のフローチャートである。
【図１２】コンテキストに応じた視覚効果の一例を説明するための例示的な視野画像を示す。
【図１３】コンテキストに応じた視覚効果の一例を説明するための例示的な視野画像を示す。
【図１４】コンテキストに応じた視覚効果の一例を説明するための例示的な視野画像を示す。
【図１５】コンテキストに応じた視覚効果の一例を説明するための例示的な視野画像を示す。
【図１６】トラッキング外れの不整合事象を検出するための方法のフローチャートである。
【発明を実施するための形態】
【００１１】
［本開示の実施形態の説明］
最初に、本開示の実施形態の内容を列記して説明する。本開示の一実施形態は、以下のような構成を備える。
【００１２】
（項目１）ヘッドマウントデバイスを備えたシステムにおける情報処理方法であって、
仮想空間を規定する仮想空間データ、及び前記仮想空間における仮想視点を特定するステップと、前記仮想空間データと前記仮想視点に基づいて前記仮想空間における視野画像を生成するステップと、前記ヘッドマウントデバイスの動きに応じて前記視野画像を更新するステップと、前記視野画像の更新において前記ヘッドマウントデバイスの動きと前記視野画像との不整合を生じさせる事象を検出するステップと、前記事象が検出された場合に、前記仮想空間におけるコンテキストに応じた視覚効果を特定するステップと、前記特定された視覚効果に基づいて前記視野画像の視覚的情報量を低減させるステップと、を含む方法。
【００１３】
（項目２）前記事象は、前記視野画像が更新されるフレームレートが所定の閾値を下回る事象である、項目１に記載の方法。
【００１４】
（項目３）前記事象は、前記ヘッドマウントデバイスのトラッキングエラーを示す事象である、項目１に記載の方法。
【００１５】
（項目４）前記トラッキングエラーは、トラッキング信号が取得不能であること、又はトラッキング信号に基づき算出された前記仮想視点が異常であること、のいずれかを含む、項目３に記載の方法。
【００１６】
（項目５）前記視覚効果は、前記事象の種類と前記不整合の程度の少なくとも一方に基づいて決定される、項目１から項目４のいずれか１項に記載の方法。
【００１７】
（項目６）前記視覚効果は、前記不整合の程度が大きいほど前記視野画像の視覚的情報量を大きく低減させるように制御される、項目１から項目５のいずれか１項に記載の方法。
【００１８】
（項目７）前記視覚効果は、前記視野画像の視覚的情報量を断続的に低減させる効果である、項目１から項目６のいずれか１項に記載の方法。
【００１９】
（項目８）前記コンテキストは前記仮想空間においてユーザが照明を含む室内にいることであり、前記視覚効果は前記照明が点滅する、又は前記照明の明るさが減少する効果である、項目１から項目７のいずれか１項に記載の方法。
【００２０】
（項目９）前記コンテキストは前記仮想空間においてユーザが火気が生じ得る場所にいることであり、前記視覚効果は発火又は発煙が生じる効果である、項目１から項目７のいずれか１項に記載の方法。
【００２１】
（項目１０）前記コンテキストは前記仮想空間においてユーザの近くに人物が存在することであり、前記視覚効果は前記人物の行為によって前記ユーザの視界が遮られる効果である、項目１から項目７のいずれか１項に記載の方法。
【００２２】
（項目１１）前記コンテキストは前記仮想空間においてユーザが眼鏡を装着していることであり、前記視覚効果は前記眼鏡を通して見える視界の明瞭さを低下させる効果である、項目１から項目７のいずれか１項に記載の方法。
【００２３】
（項目１２）前記仮想空間における複数のコンテキストと、前記複数のコンテキストのそれぞれに対応する１又は複数の視覚効果とを予め記憶するステップと、前記仮想空間におけるコンテキストを特定するステップと、前記特定されたコンテキストと、前記事象の種類及び前記不整合の程度の少なくとも一方とに基づいて、前記１又は複数の視覚効果から１つの視覚効果を選択するステップと、を含む、項目１から項目１１のいずれか１項に記載の方法。
【００２４】
（項目１３）プロセッサと、プログラムを格納するメモリであって、前記プログラムは、前記プロセッサによって実行されると、前記プロセッサに、項目１から項目１２のいずれか１項に記載の方法を実行させる、メモリと、を備えるコンピュータ。
【００２５】
（項目１４）プロセッサによって実行されると、前記プロセッサに、項目１から項目１２のいずれか１項に記載の方法を実行させる、プログラム。
【００２６】
［本開示の実施形態の詳細］
以下、図面を参照しながら本開示の実施形態について具体的に説明する。但し、本開示の実施形態は、必ずしもこのような態様に限定されないことに留意されたい。本開示の実施形態が、特許請求の範囲において規定される範囲に含まれる様々な態様を取り得ることは、当業者にとって明らかであろう。
【００２７】
図１を参照して、ヘッドマウントデバイス（Ｈｅａｄ−Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ、ＨＭＤ）システム１００の構成について説明する。図１は、ＨＭＤシステム１００の構成を概略的に示す。一例では、ＨＭＤシステム１００は、家庭用のシステム又は業務用のシステムとして提供される。ＨＭＤは、表示部を備える所謂ヘッドマウントディスプレイであってもよく、表示部を有するスマートフォン等の端末を装着可能なヘッドマウント機器であってもよい。
【００２８】
ＨＭＤシステム１００は、ＨＭＤ１１０と、ＨＭＤセンサ１２０と、コントローラ１６０と、コンピュータ２００とを備える。ＨＭＤ１１０は、表示部１１２と、注視センサ１４０とを含む。コントローラ１６０は、モーションセンサ１３０を含んでもよい。
【００２９】
一例では、コンピュータ２００は、インターネット等のネットワーク１９２に接続可能であってもよく、ネットワーク１９２に接続されるサーバ１５０等のコンピュータと通信可能であってもよい。別の態様において、ＨＭＤ１１０は、ＨＭＤセンサ１２０の代わりにセンサ１１４を含んでもよい。
【００３０】
ＨＭＤ１１０は、ユーザ１９０の頭部に装着され、動作中に仮想空間をユーザに提供し得る。より具体的には、ＨＭＤ１１０は、右目用の画像及び左目用の画像を表示部１１２にそれぞれ表示する。ユーザの各目がそれぞれの画像を視認すると、ユーザは、両目の視差に基づき当該画像を３次元の画像として認識し得る。
【００３１】
表示部１１２は、例えば、非透過型の表示装置として実現される。一例では、表示部１１２は、ユーザの両目の前方に位置するように、ＨＭＤ１１０の本体に配置される。したがって、ユーザは、表示部１１２に表示される３次元画像を視認すると、仮想空間に没入することができる。ある実施形態において、仮想空間は、例えば、背景、ユーザが操作可能なオブジェクト、ユーザが選択可能なメニューの画像等を含む。ある実施形態において、表示部１１２は、スマートフォン等の情報表示端末が備える液晶表示部又は有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）表示部として実現され得る。
【００３２】
一例では、表示部１１２は、右目用の画像を表示するためのサブ表示部と、左目用の画像を表示するためのサブ表示部とを含み得る。別の態様において、表示部１１２は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、表示部１１２は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
【００３３】
一例では、ＨＭＤ１１０は、複数の光源（図示せず）を含む。各光源は、例えば、赤外線を発するＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）により実現される。ＨＭＤセンサ１２０は、ＨＭＤ１１０の動きを検出するためのポジショントラッキング機能を有する。より具体的には、ＨＭＤセンサ１２０は、ＨＭＤ１１０が発する複数の赤外線を読み取り、現実空間内におけるＨＭＤ１１０の位置及び傾きを検出してもよい。
【００３４】
ある態様において、ＨＭＤセンサ１２０は、カメラにより実現されてもよい。この場合、ＨＭＤセンサ１２０は、カメラから出力されるＨＭＤ１１０の画像情報を用いて、画像解析処理を実行することにより、ＨＭＤ１１０の位置及び傾きを検出することができる。
【００３５】
別の態様において、ＨＭＤ１１０は、位置検出器として、ＨＭＤセンサ１２０の代わりに、センサ１１４を備えてもよい。ＨＭＤ１１０は、センサ１１４を用いて、ＨＭＤ１１０自身の位置及び傾きを検出し得る。例えば、センサ１１４が角速度センサ、地磁気センサ、加速度センサ、ジャイロセンサ等である場合、ＨＭＤ１１０は、ＨＭＤセンサ１２０の代わりに、これらの各センサのいずれかを用いて、自身の位置及び傾きを検出し得る。一例として、センサ１１４が角速度センサである場合、角速度センサは、現実空間におけるＨＭＤ１１０の３軸周りの角速度を経時的に検出する。ＨＭＤ１１０は、各角速度に基づいて、ＨＭＤ１１０の３軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、ＨＭＤ１１０の傾きを算出する。また、ＨＭＤ１１０は、透過型表示装置を備えていても良い。この場合、当該透過型表示装置は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。また、視野画像は、仮想空間を構成する画像の一部に、現実空間を提示する構成を含んでいてもよい。例えば、ＨＭＤ１１０に搭載されたカメラで撮影した画像を視野画像の一部に重畳して表示させてもよいし、当該透過型表示装置の一部の透過率を高く設定することにより、視野画像の一部から現実空間を視認可能にしてもよい。
【００３６】
注視センサ１４０は、ユーザ１９０の右目及び左目の視線が向けられる方向（視線）を検出する。当該方向の検出は、例えば、公知のアイトラッキング機能によって実現される。注視センサ１４０は、当該アイトラッキング機能を有するセンサにより実現される。ある態様において、注視センサ１４０は、右目用のセンサ及び左目用のセンサを含むことが好ましい。注視センサ１４０は、例えば、ユーザ１９０の右目及び左目に赤外光を照射するとともに、照射光に対する角膜及び虹彩からの反射光を受けることにより各眼球の回転角を検出するセンサであってもよい。注視センサ１４０は、検出した各回転角に基づいて、ユーザ１９０の視線を検知することができる。
【００３７】
サーバ１５０は、コンピュータ２００にプログラムを送信し得る。別の態様において、サーバ１５０は、他のユーザによって使用されるＨＭＤに仮想現実を提供するための他のコンピュータ２００と通信し得る。例えば、アミューズメント施設において、複数のユーザが参加型のゲームを行う場合、各コンピュータ２００は、各ユーザの動作に基づく信号を他のコンピュータ２００と通信して、同じ仮想空間において複数のユーザが共通のゲームを楽しむことを可能にする。
【００３８】
コントローラ１６０は、有線又は無線によりコンピュータ２００に接続される。コントローラ１６０は、ユーザ１９０からコンピュータ２００への命令の入力を受け付ける。ある態様において、コントローラ１６０は、ユーザ１９０によって把持可能に構成される。別の態様において、コントローラ１６０は、ユーザ１９０の身体又は衣類の一部に装着可能に構成される。別の態様において、コントローラ１６０は、コンピュータ２００から送信される信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。別の態様において、コントローラ１６０は、ユーザ１９０から、仮想空間に配置されるオブジェクトの位置や動きを制御するための操作を受け付ける。
【００３９】
ある態様において、モーションセンサ１３０は、ユーザの手に取り付けられて、ユーザの手の動きを検出する。例えば、モーションセンサ１３０は、手の回転速度、回転数等を検出する。検出された信号は、コンピュータ２００に送られる。モーションセンサ１３０は、例えば、手袋型のコントローラ１６０に設けられる。ある実施形態において、現実空間における安全のため、コントローラ１６０は、手袋型のようにユーザ１９０の手に装着されることにより容易に飛んで行かないものに装着されるのが望ましい。別の態様において、ユーザ１９０に装着されないセンサがユーザ１９０の手の動きを検出してもよい。ユーザ１９０の身体の様々な部分の位置、向き、動きの方向、動きの距離などを検知する光学式センサが用いられてもよい。例えば、ユーザ１９０を撮影するカメラの信号が、ユーザ１９０の動作を表す信号として、コンピュータ２００に入力されてもよい。モーションセンサ１３０とコンピュータ２００とは、一例として、無線により互いに接続される。無線の場合、通信形態は特に限られず、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）その他の公知の通信手法が用いられる。
【００４０】
図２を参照して、本開示の実施形態に係るコンピュータ２００について説明する。図２は、本開示の一実施形態によるコンピュータ２００の基本的なハードウェア構成の例を表すブロック図である。コンピュータ２００は、主たる構成要素として、プロセッサ２０２と、メモリ２０４と、ストレージ２０６と、入出力インターフェース２０８と、通信インターフェース２１０とを備える。各構成要素は、それぞれ、バス２１２に接続される。
【００４１】
プロセッサ２０２は、コンピュータ２００に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ２０４又はストレージ２０６に格納されているプログラムに含まれる一連の命令を実行する。ある態様において、プロセッサ２０２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａ
ｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等のデバイスとして実現される。
【００４２】
メモリ２０４は、プログラム及びデータを一時的に保存する。プログラムは、例えば、ストレージ２０６からロードされる。データは、コンピュータ２００に入力されたデータと、プロセッサ２０２によって生成されたデータとを含む。ある態様において、メモリ２０４は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性メモリとして実現される。
【００４３】
ストレージ２０６は、プログラム及びデータを永続的に保持する。ストレージ２０６は、例えば、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ハードディスク装置、フラッシュメモリ等の不揮発性記憶装置として実現される。ストレージ２０６に格納されるプログラムは、ＨＭＤシステム１００において仮想空間を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、他のコンピュータ２００との通信を実現するためのプログラム等を含む。ストレージ２０６に格納されるデータは、仮想空間を規定するためのデータ及びオブジェクト等を含む。
【００４４】
別の態様において、ストレージ２０６は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の態様において、コンピュータ２００に内蔵されたストレージ２０６の代わりに、外部の記憶装置に保存されているプログラム及びデータを使用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のＨＭＤシステム１００が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。
【００４５】
ある実施形態において、入出力インターフェース２０８は、ＨＭＤ１１０、ＨＭＤセンサ１２０及びモーションセンサ１３０との間で信号を通信する。ある態様において、入出力インターフェース２０８は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ、ＵＳＢ）、ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）等の端子を用いて実現される。なお、入出力インターフェース２０８は上述のものに限られない。
【００４６】
ある実施形態において、入出力インターフェース２０８は、さらに、コントローラ１６０と通信し得る。例えば、入出力インターフェース２０８は、コントローラ１６０及びモーションセンサ１３０から出力された信号の入力を受ける。別の態様において、入出力インターフェース２０８は、プロセッサ２０２から出力された命令を、コントローラ１６０に送る。当該命令は、振動、音声出力、発光等をコントローラ１６０に指示する。コントローラ１６０は、当該命令を受信すると、その命令に応じて、振動、音声出力、発光等を実行する。
【００４７】
通信インターフェース２１０は、ネットワーク１９２に接続され、ネットワーク１９２に接続されている他のコンピュータ（例えば、サーバ１５０）と通信する。ある態様において、通信インターフェース２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の有線通信インターフェース、あるいは、ＷｉＦｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）等の無線通信インターフェースとして実現される。なお、通信インターフェース２１０は上述のものに限られない。
【００４８】
ある態様において、プロセッサ２０２は、ストレージ２０６にアクセスし、ストレージ２０６に格納されている１つ以上のプログラムをメモリ２０４にロードし、当該プログラムに含まれる一連の命令を実行する。当該１つ以上のプログラムは、コンピュータ２００のオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ２０２は、入出力インターフェース２０８を介して、仮想空間を提供するための信号をＨＭＤ１１０に送る。ＨＭＤ１１０は、その信号に基づいて表示部１１２に映像を表示する。
【００４９】
図２に示される例では、コンピュータ２００は、ＨＭＤ１１０の外部に設けられている。しかし、別の態様において、コンピュータ２００は、ＨＭＤ１１０に内蔵されてもよい。一例として、表示部１１２を含む携帯型の情報通信端末（例えば、スマートフォン）がコンピュータ２００として機能してもよい。
【００５０】
また、コンピュータ２００は、複数のＨＭＤ１１０に共通して用いられる構成であってもよい。このような構成によれば、例えば、複数のユーザに同一の仮想空間を提供することもできるので、各ユーザは同一の仮想空間で他のユーザと同一のアプリケーションを楽しむことができる。
【００５１】
ある実施形態において、ＨＭＤシステム１００では、グローバル座標系が予め設定されている。グローバル座標系は、現実空間における鉛直方向、鉛直方向に直交する水平方向、ならびに、鉛直方向及び水平方向の双方に直交する前後方向にそれぞれ平行な、３つの基準方向（軸）を有する。本実施形態では、グローバル座標系は視点座標系の１つである。そこで、グローバル座標系における水平方向、鉛直方向（上下方向）、及び前後方向は、それぞれ、ｘ軸、ｙ軸、ｚ軸として規定される。より具体的には、グローバル座標系において、ｘ軸は現実空間の水平方向に平行である。ｙ軸は、現実空間の鉛直方向に平行である。ｚ軸は現実空間の前後方向に平行である。
【００５２】
ある態様において、ＨＭＤセンサ１２０は、赤外線センサを含む。赤外線センサが、ＨＭＤ１１０の各光源から発せられた赤外線をそれぞれ検出すると、ＨＭＤ１１０の存在を検出する。ＨＭＤセンサ１２０は、さらに、各点の値（グローバル座標系における各座標値）に基づいて、ＨＭＤ１１０を装着したユーザ１９０の動きに応じた、現実空間内におけるＨＭＤ１１０の位置及び傾きを検出する。より詳しくは、ＨＭＤセンサ１２０は、経時的に検出された各値を用いて、ＨＭＤ１１０の位置及び傾きの時間的変化を検出できる。
【００５３】
グローバル座標系は現実空間の座標系と平行である。したがって、ＨＭＤセンサ１２０によって検出されたＨＭＤ１１０の各傾きは、グローバル座標系におけるＨＭＤ１１０の３軸周りの各傾きに相当する。ＨＭＤセンサ１２０は、グローバル座標系におけるＨＭＤ１１０の傾きに基づき、ｕｖｗ視野座標系をＨＭＤ１１０に設定する。ＨＭＤ１１０に設定されるｕｖｗ視野座標系は、ＨＭＤ１１０を装着したユーザ１９０が仮想空間において物体を見る際の視点座標系に対応する。
【００５４】
図３を参照して、ｕｖｗ視野座標系について説明する。図３は、ある実施形態に従うＨＭＤ１１０に設定されるｕｖｗ視野座標系を概念的に表す図である。ＨＭＤセンサ１２０は、ＨＭＤ１１０の起動時に、グローバル座標系におけるＨＭＤ１１０の位置及び傾きを検出する。プロセッサ２０２は、検出された値に基づいて、ｕｖｗ視野座標系をＨＭＤ１１０に設定する。
【００５５】
図３に示されるように、ＨＭＤ１１０は、ＨＭＤ１１０を装着したユーザの頭部を中心（原点）とした３次元のｕｖｗ視野座標系を設定する。より具体的には、ＨＭＤ１１０は、グローバル座標系を規定する水平方向、鉛直方向、及び前後方向（ｘ軸、ｙ軸、ｚ軸）を、グローバル座標系内においてＨＭＤ１１０の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって新たに得られる３つの方向を、ＨＭＤ１１０におけるｕｖｗ視野座標系のピッチ方向（ｕ軸）、ヨー方向（ｖ軸）、及びロール方向（ｗ軸）として設定する。
【００５６】
ある態様において、ＨＭＤ１１０を装着したユーザ１９０が直立し、かつ、正面を視認している場合、プロセッサ２０２は、グローバル座標系に平行なｕｖｗ視野座標系をＨＭＤ１１０に設定する。この場合、グローバル座標系における水平方向（ｘ軸）、鉛直方向（ｙ軸）、及び前後方向（ｚ軸）は、ＨＭＤ１１０におけるｕｖｗ視野座標系のピッチ方向（ｕ軸）、ヨー方向（ｖ軸）及びロール方向（ｗ軸）に一致する。
【００５７】
ｕｖｗ視野座標系がＨＭＤ１１０に設定された後、ＨＭＤセンサ１２０は、ＨＭＤ１１０の動きに基づいて、設定されたｕｖｗ視野座標系におけるＨＭＤ１１０の傾き（傾きの変化量）を検出できる。この場合、ＨＭＤセンサ１２０は、ＨＭＤ１１０の傾きとして、ｕｖｗ視野座標系におけるＨＭＤ１１０のピッチ角（θｕ）、ヨー角（θｖ）及びロール角（θｗ）をそれぞれ検出する。ピッチ角（θｕ）は、ｕｖｗ視野座標系におけるピッチ方向周りのＨＭＤ１１０の傾き角度を表す。ヨー角（θｖ）は、ｕｖｗ視野座標系におけるヨー方向周りのＨＭＤ１１０の傾き角度を表す。ロール角（θｗ）は、ｕｖｗ視野座標系におけるロール方向周りのＨＭＤ１１０の傾き角度を表す。
【００５８】
ＨＭＤセンサ１２０は、検出されたＨＭＤ１１０の傾き角度に基づいて、ＨＭＤ１１０が動いた後のＨＭＤ１１０におけるｕｖｗ視野座標系を、ＨＭＤ１１０に設定する。ＨＭＤ１１０と、ＨＭＤ１１０のｕｖｗ視野座標系との関係は、ＨＭＤ１１０の位置及び傾きに関わらず、常に一定である。ＨＭＤ１１０の位置及び傾きが変わると、当該位置及び傾きの変化に連動して、グローバル座標系におけるＨＭＤ１１０のｕｖｗ視野座標系の位置及び傾きが変化する。
【００５９】
ある態様において、ＨＭＤセンサ１２０は、赤外線センサからの出力に基づいて取得される赤外線の光強度及び複数の点間の相対的な位置関係（例えば、各点間の距離等）に基づいて、ＨＭＤ１１０の現実空間内における位置を、ＨＭＤセンサ１２０に対する相対位置として特定してもよい。また、プロセッサ２０２は、特定された相対位置に基づいて、現実空間内（グローバル座標系）におけるＨＭＤ１１０のｕｖｗ視野座標系の原点を決定してもよい。
【００６０】
図４を参照して、仮想空間についてさらに説明する。図４は、ある実施形態に従う仮想空間４００を表現する一態様を概念的に表す図である。仮想空間４００は、中心４０６の３６０度方向の全体を覆う全天球状の構造を有する。図４では、説明を複雑にしないために、仮想空間４００のうちの上半分の天球が例示されている。仮想空間４００では各メッシュが規定される。各メッシュの位置は、仮想空間４００に規定されるＸＹＺ座標系における座標値として予め規定されている。コンピュータ２００は、仮想空間４００に展開可能なコンテンツ（静止画、動画等）を構成する各部分画像を、仮想空間４００において対応する各メッシュにそれぞれ対応付けて、ユーザによって視認可能な仮想空間画像が展開される仮想空間４００をユーザに提供する。
【００６１】
ある態様において、仮想空間４００では、中心４０６を原点とするｘｙｚ座標系が規定される。ｘｙｚ座標系は、例えば、グローバル座標系に平行である。ｘｙｚ座標系は視点座標系の一種であるため、ｘｙｚ座標系における水平方向、鉛直方向（上下方向）及び前後方向は、それぞれｘ軸、ｙ軸及びｚ軸として規定される。したがって、ｘｙｚ座標系のｘ軸（水平方向）がグローバル座標系のｘ軸と平行であり、ｘｙｚ座標系のｙ軸（鉛直方向）がグローバル座標系のｙ軸と平行であり、ｘｙｚ座標系のｚ軸（前後方向）がグローバル座標系のｚ軸と平行である。
【００６２】
ＨＭＤ１１０の起動時、すなわちＨＭＤ１１０の初期状態において、仮想カメラ４０４が、仮想空間４００の中心４０６に配置される。ある態様において、プロセッサ２０２は、仮想カメラ４０４が撮影する画像をＨＭＤ１１０の表示部１１２に表示する。仮想カメラ４０４は、現実空間におけるＨＭＤ１１０の動きに連動して、仮想空間４００を同様に移動する。これにより、現実空間におけるＨＭＤ１１０の位置及び向きの変化が、仮想空間４００において同様に再現され得る。
【００６３】
ＨＭＤ１１０の場合と同様に、仮想カメラ４０４には、ｕｖｗ視野座標系が規定される。仮想空間４００における仮想カメラ４０４のｕｖｗ視野座標系は、現実空間（グローバル座標系）におけるＨＭＤ１１０のｕｖｗ視野座標系に連動するように規定される。したがって、ＨＭＤ１１０の傾きが変化すると、それに応じて、仮想カメラ４０４の傾きも変化する。また、仮想カメラ４０４は、ＨＭＤ１１０を装着したユーザの現実空間における移動に連動して、仮想空間４００において移動することもできる。
【００６４】
コンピュータ２００のプロセッサ２０２は、仮想カメラ４０４の配置位置と、基準視線４０８とに基づいて、仮想空間４００における視認領域４１０を規定する。視認領域４１０は、仮想空間４００のうち、ＨＭＤ１１０を装着したユーザが視認する領域に対応する。
【００６５】
注視センサ１４０によって検出されるユーザ１９０の視線は、ユーザ１９０が物体を視認する際の視点座標系における方向である。ＨＭＤ１１０のｕｖｗ視野座標系は、ユーザ１９０が表示部１１２を視認する際の視点座標系に等しい。また、仮想カメラ４０４のｕｖｗ視野座標系は、ＨＭＤ１１０のｕｖｗ視野座標系に連動している。したがって、ある態様に従うＨＭＤシステム１００は、注視センサ１４０によって検出されたユーザ１９０の視線を、仮想カメラ４０４のｕｖｗ視野座標系におけるユーザの視線とみなすことができる。
【００６６】
図５を参照して、ユーザの視線の決定について説明する。図５は、ある実施形態に従うＨＭＤ１１０を装着するユーザ１９０の頭部を上から表した図である。
【００６７】
ある態様において、注視センサ１４０は、ユーザ１９０の右目及び左目の各視線を検出する。ある態様において、ユーザ１９０が近くを見ている場合、注視センサ１４０は、視線Ｒ１及びＬ１を検出する。別の態様において、ユーザ１９０が遠くを見ている場合、注視センサ１４０は、視線Ｒ２及びＬ２を検出する。この場合、ロール方向ｗに対して視線Ｒ２及びＬ２がなす角度は、ロール方向ｗに対して視線Ｒ１及びＬ１がなす角度よりも小さい。注視センサ１４０は、検出結果をコンピュータ２００に送信する。
【００６８】
コンピュータ２００が、視線の検出結果として、視線Ｒ１及びＬ１の検出値を注視センサ１４０から受信した場合には、その検出値に基づいて、視線Ｒ１及びＬ１の交点である注視点Ｎ１を特定する。一方、コンピュータ２００は、視線Ｒ２及びＬ２の検出値を注視センサ１４０から受信した場合には、視線Ｒ２及びＬ２の交点を注視点として特定する。コンピュータ２００は、特定した注視点Ｎ１の位置に基づき、ユーザ１９０の視線Ｎ０を特定する。コンピュータ２００は、例えば、ユーザ１９０の右目Ｒと左目Ｌとを結ぶ直線の中点と、注視点Ｎ１とを通る直線の延びる方向を、視線Ｎ０として検出する。視線Ｎ０は、ユーザ１９０が両目により実際に視線を向けている方向である。また、視線Ｎ０は、視認領域４１０に対してユーザ１９０が実際に視線を向けている方向に相当する。
【００６９】
別の態様において、ＨＭＤシステム１００は、ＨＭＤシステム１００を構成するいずれかの部分に、マイク及びスピーカを備えてもよい。ユーザは、マイクに発話することにより、仮想空間４００に対して、音声による指示を与えることができる。
【００７０】
また、別の態様において、ＨＭＤシステム１００は、テレビジョン放送受信チューナを備えてもよい。このような構成によれば、ＨＭＤシステム１００は、仮想空間４００においてテレビ番組を表示することができる。
【００７１】
さらに別の態様において、ＨＭＤシステム１００は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。
【００７２】
図６及び図７を参照して、視認領域４１０について説明する。図６は、仮想空間４００において視認領域４１０をｘ方向から見たｙｚ断面を表す図である。図７は、仮想空間４００において視認領域４１０をｙ方向から見たｘｚ断面を表す図である。
【００７３】
図６に示されるように、ｙｚ断面における視認領域４１０は、領域６０２を含む。領域６０２は、仮想カメラ４０４の配置位置と基準視線４０８と仮想空間４００のｙｚ断面とによって定義される。プロセッサ２０２は、仮想空間おける基準視線４０８を中心として極角αを含む範囲を、領域６０２として規定する。
【００７４】
図７に示されるように、ｘｚ断面における視認領域４１０は、領域７０２を含む。領域７０２は、仮想カメラ４０４の配置位置と基準視線４０８と仮想空間４００のｘｚ断面とによって定義される。プロセッサ２０２は、仮想空間４００における基準視線４０８を中心とした方位角βを含む範囲を、領域７０２として規定する。極角α及びβは、仮想カメラ４０４の配置位置と仮想カメラ４０４の向きとに応じて定まる。
【００７５】
ある態様において、ＨＭＤシステム１００は、コンピュータ２００からの信号に基づいて、視野画像を表示部１１２に表示させることにより、仮想空間における視界をユーザ１９０に提供する。視野画像は、仮想空間画像４０２のうち視認領域４１０に重畳する部分に相当する。ユーザ１９０が、頭に装着したＨＭＤ１１０を動かすと、その動きに連動して仮想カメラ４０４も動く。その結果、仮想空間４００における視認領域４１０の位置が変化する。これにより、表示部１１２に表示される視野画像は、仮想空間画像４０２のうち、仮想空間４００においてユーザが向いた方向の視認領域４１０に重畳する画像に更新される。ユーザは、仮想空間４００における所望の方向を視認することができる。
【００７６】
このように、仮想カメラ４０４の向き（傾き）は仮想空間４００におけるユーザの視線（基準視線４０８）に相当し、仮想カメラ４０４が配置される位置は、仮想空間４００におけるユーザの視点に相当する。したがって、仮想カメラ４０４を移動（配置位置を変える動作、向きを変える動作を含む）させることにより、表示部１１２に表示される画像が更新され、ユーザ１９０の視界（視点、視線を含む）が移動される。
【００７７】
ユーザ１９０は、ＨＭＤ１１０を装着している間、現実世界を視認することなく、仮想空間４００に展開される仮想空間画像４０２のみを視認できる。そのため、ＨＭＤシステム１００は、仮想空間４００への高い没入感覚をユーザに与えることができる。
【００７８】
ある態様において、プロセッサ２０２は、ＨＭＤ１１０を装着したユーザ１９０の現実空間における移動に連動して、仮想空間４００において仮想カメラ４０４を移動し得る。この場合、プロセッサ２０２は、仮想空間４００における仮想カメラ４０４の位置及び向きに基づいて、ＨＭＤ１１０の表示部１１２に投影される画像領域（すなわち、仮想空間４００における視認領域４１０）を特定する。
【００７９】
ある実施形態に従うと、仮想カメラ４０４は、２つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含んでもよい。また、ユーザ１９０が３次元の仮想空間４００を認識できるように、適切な視差が、２つの仮想カメラに設定されてもよい。
【００８０】
図８を参照して、コントローラ１６０の一例について説明する。図８は、ある実施形態に従うコントローラ１６０の概略構成を表す図である。
【００８１】
ある態様において、コントローラ１６０は、右コントローラと左コントローラとを含み得る。説明を簡単にするために、図８には右コントローラ８００のみが示される。右コントローラ８００は、ユーザ１９０の右手で操作される。左コントローラは、ユーザ１９０の左手で操作される。ある態様において、右コントローラ８００と左コントローラとは、別個の装置として対称に構成される。したがって、ユーザ１９０は、右コントローラ８００を把持した右手と、左コントローラを把持した左手とをそれぞれ自由に動かすことができる。別の態様において、コントローラ１６０は両手の操作を受け付ける一体型のコントローラであってもよい。以下、右コントローラ８００について説明する。
【００８２】
右コントローラ８００は、グリップ８０２と、フレーム８０４と、天面８０６とを備える。グリップ８０２は、ユーザ１９０の右手によって把持されるように構成されている。例えば、グリップ８０２は、ユーザ１９０の右手の掌と３本の指（中指、薬指、小指）とによって保持され得る。
【００８３】
グリップ８０２は、ボタン８０８及び８１０と、モーションセンサ１３０とを含む。ボタン８０８は、グリップ８０２の側面に配置され、右手の中指による操作を受け付ける。ボタン８１０は、グリップ８０２の前面に配置され、右手の人差し指による操作を受け付ける。ある態様において、ボタン８０８、８１０は、トリガー式のボタンとして構成される。モーションセンサ１３０は、グリップ８０２の筐体に内蔵されている。なお、ユーザ１９０の動作がカメラその他の装置によってユーザ１９０の周りから検出可能である場合には、グリップ８０２は、モーションセンサ１３０を備えなくてもよい。
【００８４】
フレーム８０４は、その円周方向に沿って配置された複数の赤外線ＬＥＤ８１２を含む。赤外線ＬＥＤ８１２は、コントローラ１６０を使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線ＬＥＤ８１２から発せられた赤外線は、右コントローラ８００と左コントローラ（図示しない）との各位置や姿勢（傾き、向き）を検出するために使用され得る。図８に示される例では、２列に配置された赤外線ＬＥＤ８１２が示されているが、配列の数は図８に示されるものに限られない。１列あるいは３列以上の配列が使用されてもよい。
【００８５】
天面８０６は、ボタン８１４及び８１６と、アナログスティック８１８とを備える。ボタン８１４及び８１６は、プッシュ式ボタンとして構成される。ボタン８１４及び８１６は、ユーザ１９０の右手の親指による操作を受け付ける。アナログスティック８１８は、ある態様において、初期位置（ニュートラルの位置）から３６０度任意の方向への操作を受け付ける。当該操作は、例えば、仮想空間４００に配置されるオブジェクトを移動するための操作を含む。
【００８６】
ある態様において、右コントローラ８００及び左コントローラは、赤外線ＬＥＤ８１２等の部材を駆動するための電池を含む。電池は、１次電池及び２次電池のいずれであってもよく、その形状は、ボタン型、乾電池型等任意であり得る。別の態様において、右コントローラ８００と左コントローラは、例えば、コンピュータ２００のＵＳＢインターフェースに接続され得る。この場合、右コントローラ８００及び左コントローラは、ＵＳＢインターフェースを介して電力を供給され得る。
【００８７】
図９は、本開示の一実施形態による、ＨＭＤシステム１００における仮想空間４００の表示処理等を実現するための、コンピュータ２００の機能を示すブロック図である。コンピュータ２００は、主にＨＭＤセンサ１２０、モーションセンサ１３０、注視センサ１４０、コントローラ１６０からの入力に基づいて、表示部１１２への画像出力を制御する。
【００８８】
コンピュータ２００は、プロセッサ２０２と、メモリ２０４と、通信制御部２０５とを備える。プロセッサ２０２は、仮想空間特定部９０２と、ＨＭＤ動作検知部９０３と、視線検知部９０４と、基準視線決定部９０６と、視界領域決定部９０８と、仮想視点特定部９１０と、視野画像生成部９１２と、不整合事象判定部９１４と、視野画像出力部９２６とを含み得る。メモリ２０４は様々な情報を格納するように構成され得る。一例では、メモリ２０４は、仮想空間データ９２８、オブジェクトデータ９３０、アプリケーションデータ９３２、及び視覚効果選択ルール９３４を含んでもよい。メモリ２０４はまた、ＨＭＤセンサ１２０、モーションセンサ１３０、注視センサ１４０、コントローラ１６０等からの入力に対応した出力情報を、ＨＭＤ１１０に関連付けられる表示部１１２へ提供するための演算に必要な各種データを含んでもよい。オブジェクトデータ９３０は、仮想空間内に配置される操作オブジェクト、仮想オブジェクト等に関するデータを含んでもよい。表示部１１２は、ＨＭＤ１１０に内蔵されてもよいし、ＨＭＤ１１０に取り付け可能な別のデバイス（例えば、スマートフォン）のディスプレイであってもよい。
【００８９】
図９においてプロセッサ２０２内に含まれるコンポーネントは、プロセッサ２０２が実行する機能を具体的なモジュールとして表現する１つの例にすぎない。複数のコンポーネントの機能が単一のコンポーネントによって実現されてもよい。プロセッサ２０２がすべてのコンポーネントの機能を実行するように構成されてもよい。
【００９０】
図１０は、ユーザが没入する仮想空間の画像を表示部１１２に表示するための一般的な処理のフロー図である。
【００９１】
図９及び図１０を参照して、仮想空間の画像を提供するためのＨＭＤシステム１００の一般的な処理を説明する。仮想空間４００は、ＨＭＤセンサ１２０、注視センサ１４０及びコンピュータ２００等の相互作用によって提供され得る。
【００９２】
処理はステップ１００２において開始する。一例として、アプリケーションデータに含まれるゲームアプリケーションがコンピュータ２００によって実行されてもよい。ステップ１００４において、プロセッサ２０２（仮想空間特定部９０２）は、仮想空間データ９２８を参照するなどして、ユーザが没入する仮想空間４００を構成する天球状の仮想空間画像４０２を生成する。ＨＭＤセンサ１２０によってＨＭＤ１１０の位置や傾きが検知される。ＨＭＤセンサ１２０によって検知された情報はコンピュータ２００に送信される。ステップ１００６において、ＨＭＤ動作検知部９０３は、ＨＭＤ１１０の位置情報や傾き情報を取得する。ステップ１００８において、取得された位置情報及び傾き情報に基づいて視界方向が決定される。
【００９３】
注視センサ１４０がユーザの左右の目の眼球の動きを検出すると、当該情報がコンピュータ２００に送信される。ステップ１０１０において、視線検知部９０４は、右目及び左目の視線が向けられる方向を特定し、視線方向Ｎ０を決定する。ステップ１０１２において、基準視線決定部９０６は、ＨＭＤ１１０の傾きにより決定された視界方向又はユーザの視線方向Ｎ０を基準視線４０８として決定する。基準視線４０８はまた、ＨＭＤ１１０の位置や傾きに追随する仮想カメラ４０４の位置及び傾きに基づいて決定されてもよい。
【００９４】
ステップ１０１４において、視界領域決定部９０８は、仮想空間４００における仮想カメラ４０４の視界領域４１０を決定する。図４に示すように、視界領域４１０は、仮想空間画像４０２のうちユーザの視界を構成する部分である。視界領域４１０は基準視線４０８に基づいて決定される。視界領域４１０をｘ方向から見たｙｚ断面図及び視界領域４１０をｙ方向から見たｘｚ断面図は、既に説明した図６及び図７にそれぞれ示されている。
【００９５】
ステップ１０１６において、視野画像生成部９１２は、視界領域４１０に基づいて視野画像を生成する。視野画像は、右目用と左目用の２つの２次元画像を含む。これらの２次元画像が表示部１１２に重畳される（より具体的には、右目用画像が右目用表示部に出力され、左目用画像が左目用表示部に出力される）ことにより、３次元画像としての仮想空間４００がユーザに提供される。ステップ１０１８において、視野画像出力部９２６は、視野画像に関する情報を表示部１１２に出力する。表示部１１２は、受信した視野画像の情報に基づいて、当該視野画像を表示する。処理はステップ１０２０において終了する。
【００９６】
図１１は、本開示の一実施形態による方法１１００のフローチャートである。本開示の一実施形態において、コンピュータプログラムが、図１１に示される各ステップをプロセッサ２０２（又はコンピュータ２００）に実行させてもよい。また、本開示の別の実施形態は、方法１１００を実行するプロセッサ２０２（又はコンピュータ２００）として実施することができる。
【００９７】
図１１において、方法１１００はステップ１１０２において開始する。プロセッサ２０２は、メモリ２０４に格納されているアプリケーションデータ９３２に含まれるアプリケーションプログラム等のコンピュータプログラムを読み出して実行する。
【００９８】
処理はステップ１１０４に進み、仮想空間特定部９０２は、仮想空間データ９２８及びオブジェクトデータ９３０等に基づいて、実行されたアプリケーション（例えばゲーム）のための仮想空間データを特定する。仮想空間データは、例えば図４に示されるような仮想空間４００を規定するデータである。仮想空間４００は、少なくとも１つの仮想オブジェクトを含む。仮想オブジェクトは、例えば、ユーザがゲーム内で使用する各種のアイテム、仮想空間４００内に存在する椅子、棚、ランプなどの、様々なオブジェクトを含み得る。
【００９９】
処理はステップ１１０６に進み、仮想視点特定部９１０は、仮想空間４００における仮想視点を特定する。例えば、図４を参照すると、仮想視点特定部９１０は、仮想空間４００内における仮想カメラ４０４の現在位置を、仮想視点として特定する。
【０１００】
処理はステップ１１０８に進み、視野画像生成部９１２は、仮想空間データと、仮想視点と、ＨＭＤの向きとに基づいて、視野画像を生成する。視野画像は、例えば、図１０に関連して既に説明された処理によって生成される。生成された視野画像は、視野画像出力部９２６によって、ＨＭＤ１１０に関連付けられる表示部１１２に出力され、表示部１１２によって表示される。ＨＭＤ１１０を装着したユーザ１９０は、表示部１１２に表示された当該視野画像を見ることができる。
【０１０１】
処理はステップ１１１０に進み、視野画像生成部９１２は、ＨＭＤ１１０の動きに応じて視野画像を更新する。例えば、ＨＭＤ１１０を装着したユーザ１９０が部屋の中を歩き回ると、そのようなユーザ１９０の位置（ＨＭＤ１１０の位置）の移動が、ＨＭＤセンサ１２０によって検出される。仮想視点特定部９１０は、ＨＭＤセンサ１２０によって検出されたＨＭＤ１１０の新たな位置に基づいて仮想視点（仮想空間４００における仮想カメラ４０４の位置）を更新し、視野画像生成部９１２は、当該更新された仮想視点に基づいて、新たな視野画像を生成する。これにより、ＨＭＤ１１０の位置の移動に応じた視野画像の更新が行われる。また例えば、ＨＭＤ１１０を装着したユーザ１９０が頭の向きや傾きを変化させると、ユーザ１９０のそのような動作によるＨＭＤ１１０の向きの変化が、ＨＭＤセンサ１２０によって検出される。視野画像生成部９１２は、ＨＭＤセンサ１２０によって検出された変化後のＨＭＤ１１０の向きに基づいて、新たな視野画像を生成する。これにより、ＨＭＤ１１０の向きの変化に応じて、仮想カメラ４０４からの視野の方向が変化するように視野画像の更新が行われる。視野画像生成部９１２は、例えば、ＨＭＤ１１０の位置の移動とＨＭＤ１１０の向きの変化の両方に基づいて、視野画像を更新してもよいし（この場合、ユーザは仮想空間４００内を歩き回ることができるとともに、仮想空間４００内において自分の周囲を見回すことができる）、あるいは、ＨＭＤ１１０の向きの変化のみに基づいて、視野画像を更新するのであってもよい（この場合、ユーザは仮想空間４００内を歩き回ることができないが、仮想空間４００内において自分の周囲を見回すことはできる）。
【０１０２】
処理はステップ１１１２に進み、不整合事象判定部９１４は、ＨＭＤ１１０の動きと上記ステップ１１１０で更新された視野画像との不整合を生じさせる事象（以下、「不整合事象」と称する）の存否を判定する。不整合事象に起因して視野画像がＨＭＤ１１０の動きと整合しなくなると、ユーザにＶＲ酔いによる不快感がもたらされる可能性がある。このようなＶＲ酔いを防止するために、不整合事象が検出された場合は、処理はステップ１１１４に進む。一方、不整合事象が検出されない場合は、処理はステップ１１１８に進む。
【０１０３】
不整合事象の一例は、視野画像生成部９１２によって更新される視野画像のフレームレートが所定の閾値を下回ることである。このような事象は、「フレーム落ち」と呼ばれることもある。フレーム落ちは、例えば、プロセッサ２０２の有する処理能力に比べて、視野画像の生成に要求される画像処理の帯域幅が過大となるような状況で生じ得る。ＨＭＤシステム１００においてフレーム落ちが発生すると、ＨＭＤ１１０の実際の動きとユーザ１９０に提示される視野画像との間に不整合が発生して、ユーザがＶＲ酔いを感じる原因となり得る。所定の閾値は、ユーザがＶＲ酔いを感じることなく滑らかな視野画像を認識できるような所定のフレームレートの値（例えば９０ｆｐｓ）に設定される。この例において、例えば、不整合事象判定部９１４は、視野画像生成部９１２から出力される視野画像のフレームレートを監視し（例えば所定の時間間隔でフレームレートを計測し）、当該フレームレートを所定の閾値と比較して、フレームレートが所定の閾値を下回る場合に、不整合事象（フレーム落ち）が発生したことを検出する。
【０１０４】
不整合事象の別の例は、ＨＭＤセンサ１２０がＨＭＤ１１０の動きを検出するポジショントラッキングにエラー又は異常が生じることである。ＨＭＤ１１０に対するポジショントラッキングに問題が発生すると、ＨＭＤシステム１００はＨＭＤ１１０の位置を追尾することができなくなり、仮想視点特定部９１０がＨＭＤ１１０の位置に応じた正しい仮想視点（仮想カメラ４０４の位置）を特定することができなくなる。このような事象は、「トラッキング外れ」と呼ばれることもある。例えば、トラッキング外れが発生する状況として、ＨＭＤ１１０がＨＭＤセンサ１２０のトラッキング可能エリアの外に出てしまう、又はＨＭＤ１１０がＨＭＤ１１０とＨＭＤセンサ１２０との間に存在する障害物の陰に隠れてしまう等の理由により、ＨＭＤセンサ１２０がＨＭＤ１１０からのトラッキング信号を全く取得できなくなった場合や、トラッキング信号自体は取得できるものの、混線等の影響により、仮想視点特定部９１０において当該トラッキング信号から異常な仮想視点が算出されてしまう場合などが想定され得る。ＨＭＤシステム１００においてこのようなトラッキング外れが発生すると、仮想視点（仮想カメラ４０４の位置）が実際のＨＭＤ１１０の位置を正しく反映しなくなり両者にずれが生じる結果、上記のフレーム落ちの場合と同様に、ＨＭＤ１１０の動きとユーザ１９０に提示される視野画像との間に不整合が発生し、ＶＲ酔いの原因となり得る。トラッキング外れの不整合事象を検出するための具体的な処理については、図１６を参照して後述する。
【０１０５】
上記のようなフレーム落ち又はトラッキング外れの不整合事象が検出されると、ステップ１１１４において、視野画像生成部９１２は、仮想空間４００内でユーザが置かれているコンテキストを識別し、当該識別されたコンテキストに応じて、視野画像に付与すべき視覚効果を決定する。次いで、処理はステップ１１１６に進み、視野画像生成部９１２は、視野画像に上記決定した視覚効果を付与する。視覚効果が付与された視野画像は、ＨＭＤ１１０の表示部１１２に表示される。
【０１０６】
ＨＭＤ１１０の表示部１１２に表示された仮想空間４００の視野画像に実際のＨＭＤ１１０の動きとの不整合が生じていることをユーザに認識させにくくするために、視野画像の視覚的情報量を低減させる視覚効果を視野画像に付与することが有効である。視覚的情報量の低減とは、画像の少なくとも一部のディテールが失われるように（画像の少なくとも一部のディテールをユーザが視認できなくなるように）当該画像の視覚的な表現を変更することを意味する。このような視覚効果を、仮想空間４００内のコンテキストに応じたものとすることによって、ユーザのＶＲ体験（仮想空間への没入感）を損なうことなくＶＲ酔いを低減又は防止することができる。以下、いくつかの具体例を参照して、コンテキストに応じた視覚効果についてより詳しく説明する。
【０１０７】
図１２は、コンテキストに応じた視覚効果の一例を説明するための例示的な視野画像１２００Ａ及び１２００Ｂを示す。視野画像１２００Ａ及び１２００Ｂは、照明器具１２２０を含む部屋１２１０の情景を表している。はじめに、不整合事象が検出されていない時には、視野画像１２００ＡがＨＭＤ１１０の表示部１１２に表示される。視野画像１２００Ａにおいては、照明器具１２２０は正常に点灯している。視野画像１２００Ａが表示されている状態において不整合事象が検出されると、ＨＭＤ１１０の表示部１１２には、視野画像１２００Ａに代えて視野画像１２００Ｂが表示される。即ち、ＨＭＤ１１０に表示されていた視野画像１２００Ａは、視野画像１２００Ｂに更新される。視野画像１２００Ｂにおいては、照明器具１２２０は、例えば点滅、減光（即ち明るさの減少）、又は消灯するように表現され、これにより、部屋１２１０の中のディテールに対する視認性が低下している。即ち、視野画像１２００Ｂの視覚的情報量は、視野画像１２００Ａの視覚的情報量よりも少なくなっている。そのため、視野画像１２００Ｂを見たユーザが、ＨＭＤ１１０の動きと当該視野画像１２００Ｂとの不整合に気が付く可能性は低い。したがって、不整合事象が検出された場合に視野画像１２００Ｂを表示することで、ＶＲ酔いを低減又は防止することができる。
【０１０８】
図１２の例において、仮想空間４００内でユーザが置かれているコンテキストは、ユーザが仮想空間４００内の照明器具１２２０を含んだ部屋１２１０にいるということである。そのようなコンテキストの下では、照明器具１２２０を点滅、減光、又は消灯させるといったような視野画像１２００Ｂにおける視覚効果は、ユーザにとって特段の違和感を生ずる原因とはならないことが期待される。即ち、ユーザは、一般に照明器具というものは点滅等の動作をし得るものであると理解しているはずであるから、仮想空間４００内の部屋にいるというコンテキストにおいてその部屋の照明器具１２２０が点滅、減光、又は消灯した時には、それを現在のコンテキストから考えれば十分起こり得る自然な現象として認識するであろう。したがって、不整合事象が検出された場合にこのようなユーザのコンテキストに適合した視覚効果を有する視野画像１２００Ｂを表示することによって、仮想空間４００への高い没入感の維持とＶＲ酔いの低減又は防止とを同時に実現することができる。
【０１０９】
なお、視野画像１２００Ｂにおいて、照明器具１２２０の点滅や減光の度合い、又は消灯に至るまでの時間は、不整合事象の内容又は不整合の程度に応じて異ならせることとしてもよい。例えば、視野画像のフレームレートが所定の閾値を超えて低下していくにつれて（即ち不整合の程度が大きくなるにつれて）、点滅におけるオフ時間の長さをより長くしたり、明るさの減少量をより大きくしたり、あるいは消灯に至るまでの時間をより短くしたりする（即ち視野画像１２００Ｂの視覚的情報量をより大きく低減させる）こととしてもよい。
【０１１０】
図１３は、コンテキストに応じた視覚効果の別の例を説明するための例示的な視野画像１３００Ａ及び１３００Ｂを示す。視野画像１３００Ａ及び１３００Ｂは、ユーザが眼鏡１３２０を通して部屋１３１０を見た情景を表している。はじめに、不整合事象が検出されていない時には、視野画像１３００ＡがＨＭＤ１１０の表示部１１２に表示される。視野画像１３００Ａにおいては、眼鏡１３２０はクリアな視界を提供している。視野画像１３００Ａが表示されている状態において不整合事象が検出されると、ＨＭＤ１１０の表示部１１２には、視野画像１３００Ａに代えて視野画像１３００Ｂが表示される。即ち、ＨＭＤ１１０に表示されていた視野画像１３００Ａは、視野画像１３００Ｂに更新される。視野画像１３００Ｂにおいては、眼鏡１３２０は、例えばレンズに曇りが発生して視界が不明瞭となるように表現され、これにより、部屋１３１０の中のディテールに対する視認性が低下している。即ち、視野画像１３００Ｂの視覚的情報量は、視野画像１３００Ａの視覚的情報量よりも少なくなっている。そのため、視野画像１３００Ｂを見たユーザが、ＨＭＤ１１０の動きと当該視野画像１３００Ｂとの不整合に気が付く可能性は低い。したがって、不整合事象が検出された場合に視野画像１３００Ｂを表示することで、ＶＲ酔いを低減又は防止することができる。
【０１１１】
図１３の例において、仮想空間４００内でユーザが置かれているコンテキストは、ユーザが仮想空間４００内において眼鏡１３２０を装着しているということである。そのようなコンテキストの下では、眼鏡１３２０に曇りを生じさせて視界を不明瞭にするという視野画像１３００Ｂにおける視覚効果は、ユーザにとって特段の違和感を生ずる原因とはならず、ユーザは、眼鏡１３２０をかけているというコンテキストからすればその眼鏡１３２０に生じた曇りを自然な予期し得る現象として認識するであろう。したがって、不整合事象が検出された場合にこのようなユーザのコンテキストに適合した視覚効果を有する視野画像１３００Ｂを表示することによって、仮想空間４００への高い没入感の維持とＶＲ酔いの低減又は防止とを同時に実現することができる。
【０１１２】
なお、視野画像１３００Ｂにおいて、眼鏡１３２０の曇り方の度合い（眼鏡１３２０を通して見える視界の明瞭度）は、図１２の例と同様に不整合事象の内容又は不整合の程度に応じて異ならせることとしてもよい。
【０１１３】
図１４は、コンテキストに応じた視覚効果の更に別の例を説明するための例示的な視野画像１４００Ａ及び１４００Ｂを示す。視野画像１４００Ａ及び１４００Ｂは、加熱調理器１４２０を含むキッチン１４１０の情景を表している。はじめに、不整合事象が検出されていない時には、視野画像１４００ＡがＨＭＤ１１０の表示部１１２に表示される。視野画像１４００Ａにおいては、加熱調理器１４２０に異常は生じていない。視野画像１４００Ａが表示されている状態において不整合事象が検出されると、ＨＭＤ１１０の表示部１１２には、視野画像１４００Ａに代えて視野画像１４００Ｂが表示される。即ち、ＨＭＤ１１０に表示されていた視野画像１４００Ａは、視野画像１４００Ｂに更新される。視野画像１４００Ｂにおいては、例えば、加熱調理器から発生した煙１４３０がキッチン１４１０に充満している情景が表現され、これにより、キッチン１４１０内のディテールに対する視認性が低下している。即ち、視野画像１４００Ｂの視覚的情報量は、視野画像１４００Ａの視覚的情報量よりも少なくなっている。そのため、視野画像１４００Ｂを見たユーザが、ＨＭＤ１１０の動きと当該視野画像１４００Ｂとの不整合に気が付く可能性は低い。したがって、不整合事象が検出された場合に視野画像１４００Ｂを表示することで、ＶＲ酔いを低減又は防止することができる。
【０１１４】
図１４の例において、仮想空間４００内でユーザが置かれているコンテキストは、ユーザが仮想空間４００内の加熱調理器１４２０を含んだキッチン１４１０（即ち火気の生じ得る場所）にいるということである。そのようなコンテキストの下では、加熱調理器１４２０からの煙１４３０をキッチン１４１０に充満させるというような視野画像１４００Ｂにおける視覚効果は、ユーザにとって特段の違和感を生ずる原因とはならず、ユーザは、キッチン１４１０にいるというコンテキストからすれば発煙や発火は十分起こり得る現象であると認識するであろう。したがって、不整合事象が検出された場合にこのようなユーザのコンテキストに適合した視覚効果を有する視野画像１４００Ｂを表示することによって、仮想空間４００への高い没入感の維持とＶＲ酔いの低減又は防止とを同時に実現することができる。
【０１１５】
なお、視野画像１４００Ｂにおいて、発生させる煙１４３０の濃さ（キッチン１４１０内の視認性）は、図１２及び図１３の例と同様に不整合事象の内容又は不整合の程度に応じて異ならせることとしてもよい。
【０１１６】
図１５は、コンテキストに応じた視覚効果の更に別の例を説明するための例示的な視野画像１５００Ａ及び１５００Ｂを示す。視野画像１５００Ａ及び１５００Ｂは、ユーザの近くに存在するゲームキャラクタ１５２０を当該ユーザの視点から見た情景を表している。はじめに、不整合事象が検出されていない時には、視野画像１５００ＡがＨＭＤ１１０の表示部１１２に表示される。視野画像１５００Ａにおいては、ユーザにはゲームキャラクタ１５２０が見えている。視野画像１５００Ａが表示されている状態において不整合事象が検出されると、ＨＭＤ１１０の表示部１１２には、視野画像１５００Ａに代えて視野画像１５００Ｂが表示される。即ち、ＨＭＤ１１０に表示されていた視野画像１５００Ａは、視野画像１５００Ｂに更新される。視野画像１５００Ｂにおいては、ユーザの視界は、例えば、視野画像１５００Ａではユーザに見えていなかった第２のゲームキャラクタの手１５３０によって目隠しされた情景として表現され、これにより、ユーザの本来の視界内のディテールに対する視認性が低下している。即ち、視野画像１５００Ｂの視覚的情報量は、視野画像１５００Ａの視覚的情報量よりも少なくなっている。そのため、視野画像１５００Ｂを見たユーザが、ＨＭＤ１１０の動きと当該視野画像１５００Ｂとの不整合に気が付く可能性は低い。したがって、不整合事象が検出された場合に視野画像１５００Ｂを表示することで、ＶＲ酔いを低減又は防止することができる。
【０１１７】
図１５の例において、仮想空間４００内でユーザが置かれているコンテキストは、ユーザの近くに第２のゲームキャラクタが存在する（実際に存在する、又は存在することを想定し得る）ということである。そのようなコンテキストの下では、ユーザが当該第２のゲームキャラクタによって目隠しされるという視野画像１５００Ｂにおける視覚効果は、ユーザにとって特段の違和感を生ずる原因とはならず、ユーザは、目隠しされることを予期し得るものとして認識するであろう。したがって、不整合事象が検出された場合にこのようなユーザのコンテキストに適合した視覚効果を有する視野画像１５００Ｂを表示することによって、仮想空間４００への高い没入感の維持とＶＲ酔いの低減又は防止とを同時に実現することができる。
【０１１８】
図１２から図１５は、コンテキストに応じた視覚効果を含む視野画像の単なる例示にすぎず、限定的なものであると解されてはならない。したがって、本開示の範囲は、視野画像の視覚的情報量を低減させ、それによってＶＲ酔いを低減又は防止することが可能であるとともに、仮想空間におけるコンテキストにも適合している、任意の他の適切な視覚効果までも包含すると理解すべきである。
【０１１９】
上記ステップ１１１４において仮想空間内のコンテキストに応じた視覚効果を決定するために、例えば、メモリ２０４は、仮想空間４００内でユーザが置かれ得る複数のコンテキスト（例えば、ユーザが仮想空間内の照明器具を含んだ部屋にいる、ユーザが仮想空間内で眼鏡を装着している、ユーザが仮想空間内のキッチンにいる、仮想空間内でユーザの近くに第２のゲームキャラクタが存在する、等）と、各コンテキストに対する１又は複数の視覚効果候補（照明器具を点滅、減光、又は消灯する、眼鏡を曇らせる、煙をキッチンに充満させる、ユーザが第２のゲームキャラクタに目隠しされる、等）との関連付けを予め規定した視覚効果選択ルール９３４を保持する。視野画像生成部９１２は、メモリ２０４の視覚効果選択ルール９３４を参照して、仮想空間４００内でユーザが現在置かれているコンテキストに対応付けられた視覚効果候補を、視野画像に付与すべき視覚効果として選択する。視覚効果選択ルール９３４においてある１つのコンテキストに複数の視覚効果候補が関連付けられている場合、視野画像生成部９１２は、仮想空間４００内の様々な状態（例えばユーザの位置や向き、朝昼夜等の時間帯など）に基づいて、又はランダムで、当該複数の視覚効果候補から特定の１つの視覚効果を選択するのであってもよい。あるいは、視野画像生成部９１２は、不整合事象の種類や、不整合の程度に基づいて、複数の視覚効果候補から特定の１つの視覚効果を選択することとしてもよい。
【０１２０】
例えば、ユーザが仮想空間４００内の照明器具１２２０を含んだ部屋１２１０にいる図１２の例において、視野画像生成部９１２は、不整合事象がフレーム落ちである場合には、照明器具１２２０を点滅させる視覚効果を選択し、不整合事象がトラッキング外れである場合には、照明器具１２２０を減光させる視覚効果を選択してもよい。フレーム落ちが生じた時はカクカクとした映像が表示されるので、照明器具１２２０を点滅させてユーザの視界を断続的に失わせることで、ＶＲ酔いをより一層自然な形で低減することができる。また例えば、ユーザが、仮想空間４００内の照明器具を含んだ部屋にいるとともに眼鏡を装着しているコンテキストにおいて、視野画像生成部９１２は、不整合事象がフレーム落ちである場合には、照明器具を点滅、減光、又は消灯させる視覚効果を選択し、不整合事象がトラッキング外れである場合には、眼鏡を曇らせる視覚効果を選択するのであってもよい。トラッキング外れが生じると仮想視点（仮想カメラ４０４の位置）が大きく移動してしまうことがあるので、（照明器具の点滅により視界を断続的に失わせるのではなく）眼鏡を曇らせることによって連続的に視界を遮断することで、より効果的にＶＲ酔いを低減又は防止することができる。
【０１２１】
ステップ１１１２の判定において不整合事象が検出されなかった場合には、処理はステップ１１１２からステップ１１１８に進み、視野画像生成部９１２は、視野画像への視覚効果の付与をキャンセルする。ＨＭＤ１１０の表示部１１２には、視覚効果のない通常の視野画像が表示される。例えば、フレーム落ちとトラッキング外れの何れによる不整合事象もいまだ発生しておらず、したがってＨＭＤシステム１００の正常動作が維持されている間は、視覚効果を付与されていない視野画像がそのままＨＭＤ１１０に表示され続ける。また例えば、上述したようにステップ１１１４及び１１１６において視野画像にコンテキストに応じた視覚効果が付与された後、処理のループが繰り返されて再びステップ１１１２の判定が行われた時点で不整合事象が解消していれば、視覚効果が付与されていた視野画像から当該視覚効果が除去され、これにより視覚効果付与前の元の視野画像がＨＭＤ１１０に表示される（例えば、照明器具１２２０が正常に点灯し、眼鏡１３２０の曇りが晴れ、キッチン１４１０の煙１４３０が消失し、第２のゲームキャラクタの手１５３０による目隠しが外される）。
【０１２２】
ステップ１１１６及びステップ１１１８の後、処理はステップ１１２０に進み、プロセッサ２０２は、アプリケーションを終了するか否かを判定する。例えば、プロセッサ２０２は、ユーザ１９０からの所定の入力指示に従って、アプリケーションを終了するか否かを判定する。アプリケーションが続行される場合、処理はステップ１１１０へ戻り、再びステップ１１１０以降が繰り返される。アプリケーションの終了が選択された場合、ステップ１１２２において方法１１００は終了する。
【０１２３】
図１６は、トラッキング外れの不整合事象を検出するための方法１６００のフローチャートである。方法１６００は、上述した方法１１００におけるステップ１１１２のより具体的な手順の一例を示す。図１６において、方法１６００はステップ１６０２において開始する。
【０１２４】
処理はステップ１６０４に進み、プロセッサ２０２は、ユーザ１９０のＨＭＤ１１０からのトラッキング信号がＨＭＤセンサ１２０によって取得されたか否かを判定する。トラッキング信号は、ＨＭＤ１１０上のＬＥＤ光源が点灯若しくは点滅することによって定常的又は定期的に発せられる信号である。ＨＭＤ１１０から発せられたトラッキング信号は、ＨＭＤセンサ１２０に対するユーザ１９０の位置又は向きによってはＨＭＤセンサ１２０に全く届かず、完全に受信不能となることがある。このようにＨＭＤセンサ１２０がトラッキング信号を取得できなかった場合、処理はステップ１６１２に進み、不整合事象判定部９１４は、トラッキング外れの不整合事象が発生したと判定する。トラッキング信号がＨＭＤセンサ１２０によって取得された場合、処理はステップ１６０６に進む。
【０１２５】
トラッキング信号がＨＭＤセンサ１２０によって取得されると、ステップ１６０６において、プロセッサ２０２は、取得されたトラッキング信号に基づいて、現実空間におけるユーザ１９０の位置座標を計算する。ＨＭＤ１１０上のＬＥＤ光源がＨＭＤセンサ１２０の方向に向けられている配置では、トラッキング信号が良好な感度でＨＭＤセンサ１２０に受信されるため、プロセッサ２０２は、ＨＭＤ１１０からのトラッキング信号に基づいて、実際のユーザ１９０の位置座標を正しく計算することができる。一方、ＨＭＤ１１０上のＬＥＤ光源の向きがＨＭＤセンサ１２０の方向から所定角度以上ずれてしまっているような配置では、ＨＭＤセンサ１２０によるトラッキング信号の受信感度が十分でないということがあり得る。この場合、プロセッサ２０２は、良好なトラッキング信号を利用することができないため、実際のユーザ１９０の位置座標を正しく計算することができず、算出されたユーザ１９０の位置は、実際の位置とは異なる異常な位置を示すものとなり得る。
【０１２６】
処理はステップ１６０８に進み、プロセッサ２０２は、ステップ１６０６において算出された現実空間のユーザ１９０の位置に応じて、仮想空間４００内の仮想カメラ４０４の位置を制御する。例えば、プロセッサ２０２は、ステップ１６０６において算出された現実空間のユーザ１９０の位置座標に対応する仮想空間４００内の位置に、仮想カメラ４０４を配置する。ここで、ステップ１６０６において算出されたユーザ１９０の位置座標が正しいものである場合には、仮想カメラ４０４の配置位置は現実空間におけるユーザ１９０の位置に対応した正しいものとなる。しかしながら、ステップ１６０６においてユーザ１９０の異常な位置座標が算出された場合は、仮想カメラ４０４も仮想空間４００内で異常な位置に配置される結果となる。一例として、ユーザ１９０の位置座標が異常になると、仮想カメラ４０４が当該異常な位置座標に従って仮想空間４００内で本来とは異なる場所へ突然ジャンプし得る。
【０１２７】
処理はステップ１６１０に進み、不整合事象判定部９１４は、仮想空間４００内の仮想カメラ４０４の位置が正常であるか否かを判定する。例えば、不整合事象判定部９１４は、仮想空間４００における仮想カメラ４０４の位置を上記のステップ１６０８の実施前後で比較し、その差、即ち位置の時間的変化（移動スピード）に基づいて、仮想カメラ４０４の位置が正常であるか否かを判定する。より具体的に、不整合事象判定部９１４は、仮想カメラ４０４の位置の移動スピードが所定の閾値よりも小さい場合、仮想カメラ４０４の位置が正常であると判定し、当該移動スピードが所定の閾値よりも大きい場合、仮想カメラ４０４の位置が異常であると判定する。前述したように、ＨＭＤセンサ１２０によるトラッキング信号の受信状態が不調であると、ＨＭＤ１１０の正しい位置座標が算出できず、結果として仮想空間４００において仮想カメラ４０４が異常な位置へ突然ジャンプし得る。したがって、仮想カメラ４０４の位置が異様に速く移動したかどうかを判断基準として、仮想カメラ４０４の位置の異常を識別することができる。ステップ１６１０の判定の結果、仮想カメラ４０４の位置が異常である場合、処理はステップ１６１２に進み、不整合事象判定部９１４は、トラッキング外れの不整合事象が発生したと判断する。一方、ステップ１６１０の判定の結果、仮想カメラ４０４の位置が正常である場合、処理はステップ１６１４に進み、不整合事象判定部９１４は、トラッキング外れの不整合事象は発生していないと判断する。
【０１２８】
本開示の実施形態は、主に、プロセッサ２０２（もしくはコンピュータ２００）又は方法１１００として実施されるものとして説明された。しかし、本開示の実施形態が、プロセッサ２０２に方法１１００を実行させるコンピュータプログラムとして実施することができることは、当業者にとって明らかであろう。
【０１２９】
本開示の実施形態が説明されたが、これらが例示にすぎず、本開示の範囲を限定するものではないことが理解されるべきである。本開示の趣旨及び範囲から逸脱することなく、実施形態の変更、追加、改良等を適宜行うことができることが理解されるべきである。本開示の範囲は、上述した実施形態のいずれによっても限定されるべきではなく、特許請求の範囲及びその均等物によってのみ規定されるべきである。
【０１３０】
また、上述した様々な実施形態では、非透過型のＨＭＤ装置によってユーザが没入する仮想空間を提供する例について説明したが、ＨＭＤ装置として、透過型のＨＭＤ装置を採用してもよい。そのような実施形態においては、透過型のＨＭＤ装置を介してユーザが視認する現実空間に仮想オブジェクトを含む画像を重ねて表示することにより、拡張現実（ＡＲ：Augmented Reality）空間または複合現実（ＭＲ：Mixed Reality）空間におけるユーザ体験を提供してもよい。
【符号の説明】
【０１３１】
１００…ＨＭＤシステム、１１０…ＨＭＤ、１１２…表示部、１１４…センサ、１２０…ＨＭＤセンサ、１３０…モーションセンサ、１４０…注視センサ、１５０…サーバ、１６０…コントローラ、１９０…ユーザ、１９２…ネットワーク、２００…コンピュータ、２０２…プロセッサ、２０４…メモリ、２０５…通信制御部、２０６…ストレージ、２０８…入出力インターフェース、２１０…通信インターフェース、２１２…バス、４００…仮想空間、４０２…仮想空間画像、４０４…仮想カメラ、４０６…中心、４０８…基準視線、４１０…視認領域、６０２、７０２…領域、８００…コントローラ、８０２…グリップ、８０４…フレーム、８０６…天面、８０８、８１０、８１４、８１６…ボタン、８１８…アナログスティック、９０２…仮想空間特定部、９０３…ＨＭＤ動作検知部、９０４…視線検知部、９０６…基準視線決定部、９０８…視界領域決定部、９１０…仮想視点特定部、９１２…視界画像生成部、９１４…不整合事象判定部  ９２６…視界画像出力部、９２８…仮想空間データ、９３０…オブジェクトデータ、９３２…アプリケーションデータ、９３４…視覚効果選択ルール、１２００Ａ、１２００Ｂ…視野画像  １２１０…部屋  １２２０…照明器具  １３００Ａ、１３００Ｂ…視野画像  １３１０…部屋  １３２０…眼鏡  １４００Ａ、１４００Ｂ…視野画像  １４１０…キッチン  １４２０…加熱調理器  １４３０…煙  １５００Ａ、１５００Ｂ…視野画像  １５２０…ゲームキャラクタ  １５３０…第２のゲームキャラクタの手
【図１】
2019067195.tif 000003
【図２】
2019067195.tif 000004
【図３】
2019067195.tif 000005
【図４】
2019067195.tif 000006
【図５】
2019067195.tif 000007
【図６】
2019067195.tif 000008
【図７】
2019067195.tif 000009
【図８】
2019067195.tif 000010
【図９】
2019067195.tif 000011
【図１０】
2019067195.tif 000012
【図１１】
2019067195.tif 000013
【図１２】
2019067195.tif 000014
【図１３】
2019067195.tif 000015
【図１４】
2019067195.tif 000016
【図１５】
2019067195.tif 000017
【図１６】
2019067195.tif 000018