特許第6927797号(P6927797)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社コロプラの特許一覧

特許6927797ヘッドマウントデバイスを介して仮想空間をユーザに提供するための方法、プログラム及びコンピュータ
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6927797
(24)【登録日】2021年8月10日
(45)【発行日】2021年9月1日
(54)【発明の名称】ヘッドマウントデバイスを介して仮想空間をユーザに提供するための方法、プログラム及びコンピュータ
(51)【国際特許分類】
   G06T 19/00 20110101AFI20210823BHJP
   G06F 3/01 20060101ALI20210823BHJP
   G06F 3/0481 20130101ALI20210823BHJP
【FI】
   G06T19/00 300B
   G06F3/01 510
   G06F3/01 570
   G06F3/0481 150
【請求項の数】8
【全頁数】30
(21)【出願番号】特願2017-160326(P2017-160326)
(22)【出願日】2017年8月23日
(65)【公開番号】特開2019-40303(P2019-40303A)
(43)【公開日】2019年3月14日
【審査請求日】2020年7月29日
(73)【特許権者】
【識別番号】509070463
【氏名又は名称】株式会社コロプラ
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100120112
【弁理士】
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100147991
【弁理士】
【氏名又は名称】鳥居 健一
(72)【発明者】
【氏名】青山 真弥
【審査官】 片岡 利延
(56)【参考文献】
【文献】 特開2017−059196(JP,A)
【文献】 特開2017−138701(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06F 3/01
G06F 3/0481
(57)【特許請求の範囲】
【請求項1】
ヘッドマウントデバイスを介して仮想空間をユーザに提供するためのコンピュータにより実施される方法であって、
前記仮想空間に配置された仮想カメラを動作させるステップと、
前記仮想カメラの移動方向を特定するステップと、
前記仮想空間を前記仮想カメラの視界の範囲で表した視界画像を生成するステップと、
前記仮想カメラの向きを基準に定まる1以上の方向に対する視認性の低下度合いを定めた第1低下度合い情報に基づいて、前記移動方向における視認性の低下度合いを特定するステップと、
特定された前記視認性の低下度合いに基づいて、前記視界画像の視認性を低下させるステップと、
視認性が低下された前記視界画像を、前記ヘッドマウントデバイスの表示部に出力するステップと、
を含み、
前記第1低下度合い情報は、前記仮想カメラの向きを基準に定まる複数の軸方向に対する視認性の低下度合いを定め、
前記視認性の低下度合いを特定するステップは、
前記移動方向を前記複数の軸方向の成分に分解するステップと、
前記第1低下度合い情報と前記複数の軸方向の成分とを用いて、前記移動方向における前記成分毎の視認性の低下度合いを特定するステップと、
特定された前記成分毎の視認性の低下度合いに基づいて、前記移動方向における視認性の低下度合いを特定するステップと、
を含む、方法。
【請求項2】
前記軸方向の成分は、前記移動方向に対する当該軸方向での移動割合を示し、
前記分解するステップでは、前記軸方向と前記移動方向との角度差が小さいほど当該軸方向の成分の値が大きくなるように、前記移動方向を前記複数の軸方向の成分に分解し、
前記移動方向における前記成分毎の視認性の低下度合いを特定するステップでは、前記軸方向毎に、前記第1低下度合い情報が示す当該軸方向での視認性の低下度合いに当該軸方向の成分を乗じることで、前記移動方向における前記成分毎の視認性の低下度合いを特定し、
前記移動方向における視認性の低下度合いを特定するステップでは、特定された前記成分毎の視認性の低下度合いを合算して、前記移動方向における視認性の低下度合いを特定する、請求項に記載の方法。
【請求項3】
前記複数の軸方向は、ロール軸方向、ピッチ軸方向及びヨー軸方向を含み、
前記第1低下度合い情報は、前記ロール軸方向に対する視認性の低下度合いを、前記ピッチ軸方向及び前記ヨー軸方向に対する視認性の低下度合いよりも小さく定めている、請求項又はに記載の方法。
【請求項4】
前記第1低下度合い情報は、前記ロール軸方向のうちの前記仮想カメラの正面方向に対する視認性の低下度合いを、前記ロール軸方向のうちの前記正面方向と反対方向に対する視認性の低下度合いよりも小さく定めている、請求項に記載の方法。
【請求項5】
前記仮想カメラの回転速度を特定するステップをさらに含み、
前記視認性の低下度合いを特定するステップでは、前記第1低下度合い情報と、前記仮想カメラの回転速度に対する視認性の低下度合いを定めた第2低下度合い情報とに基づいて、前記移動方向及び特定された前記回転速度における視認性の低下度合いを特定する、請求項1からのいずれか1項に記載の方法。
【請求項6】
前記第2低下度合い情報は、前記回転速度が所定速度に達するまでの間、前記回転速度が速くなるほど、前記視認性の低下度合いが高くなるように定めている、請求項に記載の方法。
【請求項7】
請求項1からのいずれかに記載の方法をプロセッサに実行させるためのプログラム。
【請求項8】
コンピュータであって、
前記コンピュータが備えるプロセッサによる、ヘッドマウントデバイスを介して仮想空間をユーザに提供するための制御により、
前記仮想空間に配置された仮想カメラを動作させるステップと、
前記仮想カメラの移動方向を特定するステップと、
前記仮想空間を前記仮想カメラの視界の範囲で表した視界画像を生成するステップと、
前記仮想カメラの向きを基準に定まる1以上の方向に対する視認性の低下度合いを定めた第1低下度合い情報に基づいて、前記移動方向における視認性の低下度合いを特定するステップと、
特定された前記視認性の低下度合いに基づいて、前記視界画像の視認性を低下させるステップと、
視認性が低下された前記視界画像を、前記ヘッドマウントデバイスの表示部に出力するステップと、
が実行され
前記第1低下度合い情報は、前記仮想カメラの向きを基準に定まる複数の軸方向に対する視認性の低下度合いを定め、
前記視認性の低下度合いを特定するステップは、
前記移動方向を前記複数の軸方向の成分に分解するステップと、
前記第1低下度合い情報と前記複数の軸方向の成分とを用いて、前記移動方向における前記成分毎の視認性の低下度合いを特定するステップと、
特定された前記成分毎の視認性の低下度合いに基づいて、前記移動方向における視認性の低下度合いを特定するステップと、
を含む、コンピュータ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ヘッドマウントデバイスを介して仮想空間をユーザに提供するための方法、プログラム及びコンピュータに関する。
【背景技術】
【0002】
特許文献1には、ヘッドマウントデバイス(Head−Mounted Device、HMD)の移動以外の要因により仮想空間内で仮想カメラが移動し、仮想カメラの移動量が所定量を超える場合に、視野画像のうち、視軸を中心とする所定範囲を除く領域について、情報量を低減させる技術が開示されている。
【0003】
特許文献1に開示された技術は、仮想現実(VR:Virtual Reality)空間における酔い(いわゆる「VR酔い」)を低減する技術の一例である。今後、仮想体験を損なうことなくVR酔いを低減するための様々な技術の開発が進むものと考えられる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2017−59196号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、仮想体験を損なうことなくVR酔いを低減するための新規な手法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の一実施形態によれば、ヘッドマウントデバイスを介して仮想空間をユーザに提供するためのコンピュータにより実施される方法であって、
前記仮想空間に配置された仮想カメラを動作させるステップと、
前記仮想カメラの移動方向を特定するステップと、
前記仮想空間を前記仮想カメラの視界の範囲で表した視界画像を生成するステップと、
前記仮想カメラの向きを基準に定まる1以上の方向に対する視認性の低下度合いを定めた第1低下度合い情報に基づいて、前記移動方向における視認性の低下度合いを特定するステップと、
特定された前記視認性の低下度合いに基づいて、前記視界画像の視認性を低下させるステップと、
視認性が低下された前記視界画像を、前記ヘッドマウントデバイスの表示部に出力するステップと、
を含む、方法が提供される。
【0007】
本開示の別の実施形態によれば、上記方法をプロセッサに実行させるためのプログラムが提供される。
【0008】
本開示の別の実施形態によれば、コンピュータであって、
前記コンピュータが備えるプロセッサによる、ヘッドマウントデバイスを介して仮想空間をユーザに提供するための制御により、
前記仮想空間に配置された仮想カメラを動作させるステップと、
前記仮想カメラの移動方向を特定するステップと、
前記仮想空間を前記仮想カメラの視界の範囲で表した視界画像を生成するステップと、
前記仮想カメラの向きを基準に定まる1以上の方向に対する視認性の低下度合いを定めた第1低下度合い情報に基づいて、前記移動方向における視認性の低下度合いを特定するステップと、
特定された前記視認性の低下度合いに基づいて、前記視界画像の視認性を低下させるステップと、
視認性が低下された前記視界画像を、前記ヘッドマウントデバイスの表示部に出力するステップと、
が実行される、コンピュータが提供される。
【発明の効果】
【0009】
本開示の実施形態により、仮想体験を損なうことなくVR酔いを低減するための新規な手法を提供することができる。
【0010】
本開示のその他の特徴及び利点は、後述する実施形態の説明、添付の図面及び特許請求の範囲の記載から明らかなものとなる。
【図面の簡単な説明】
【0011】
図1】HMDシステムの構成を概略的に示す図である。
図2】本開示の一実施形態による、コンピュータの基本的なハードウェア構成の例を表すブロック図である。
図3】一実施形態に従う、HMDに設定されるuvw視野座標系を概念的に表す図である。
図4】一実施形態に従う、仮想空間を表現する一態様を概念的に表す図である。
図5】一実施形態に従う、HMDを装着するユーザの頭部を上から表した図である。
図6】仮想空間において視認領域をx方向から見たyz断面を表す図である。
図7】仮想空間において視認領域をy方向から見たxz断面を表す図である。
図8A】一実施形態に従う、コントローラの概略構成を表す図である。
図8B】一実施形態に従う、コントローラの概略構成を表す図である。
図9】本開示の一実施形態による、HMDシステムを介してユーザに仮想体験を提供するための、コンピュータの機能を示すブロック図である。
図10】ユーザが没入する仮想空間の画像を表示部に表示するための一般的な処理のフロー図である。
図11】本開示の一実施形態による方法のフローチャートである。
図12図11のステップ1110において実行される処理の具体例を示すフローチャートである。
図13】一実施形態における、ユーザに対応するアバターが仮想空間内を移動する様子を概略的に表す図である。
図14】移動方向を複数の成分に分解する様子を概略的に説明する図である。
図15】第1低下度合い情報の例を示す図である。
図16】一実施形態における、ユーザに対応するアバターが仮想空間内を移動する様子を概略的に表す図である。
図17A】移動方向を複数の成分に分解する様子を概略的に説明する図である。
図17B】移動方向を複数の成分に分解する様子を概略的に説明する図である。
図17C】移動方向を複数の成分に分解する様子を概略的に説明する図である。
図18】一実施形態における、ユーザに対応するアバターが仮想空間内を移動する様子を概略的に表す図である。
図19】第2低下度合い情報の例を示す図である。
図20図19のグラフから読み取られて数値化された第2低下度合い情報の例を示す図である。
図21】本開示の実施形態に従って生成される、視認性が低下した視界画像の例を示す図である。
【発明を実施するための形態】
【0012】
[本開示の実施形態の説明]
はじめに、本開示の例示的な実施形態の構成を列記して説明する。本開示の実施形態による方法、プログラム及びコンピュータは、以下のような構成を備えてもよい。
【0013】
(項目1)
ヘッドマウントデバイスを介して仮想空間をユーザに提供するためのコンピュータにより実施される方法であって、
前記仮想空間に配置された仮想カメラを動作させるステップと、
前記仮想カメラの移動方向を特定するステップと、
前記仮想空間を前記仮想カメラの視界の範囲で表した視界画像を生成するステップと、
前記仮想カメラの向きを基準に定まる1以上の方向に対する視認性の低下度合いを定めた第1低下度合い情報に基づいて、前記移動方向における視認性の低下度合いを特定するステップと、
特定された前記視認性の低下度合いに基づいて、前記視界画像の視認性を低下させるステップと、
視認性が低下された前記視界画像を、前記ヘッドマウントデバイスの表示部に出力するステップと、
を含む、方法。
【0014】
(項目2)
前記第1低下度合い情報は、前記仮想カメラの向きを基準に定まる複数の軸方向に対する視認性の低下度合いを定め、
前記視認性の低下度合いを特定するステップは、
前記移動方向を前記複数の軸方向の成分に分解するステップと、
前記第1低下度合い情報と前記複数の軸方向の成分とを用いて、前記移動方向における前記成分毎の視認性の低下度合いを特定するステップと、
特定された前記成分毎の視認性の低下度合いに基づいて、前記移動方向における視認性の低下度合いを特定するステップと、
を含む、項目1に記載の方法。
【0015】
(項目3)
前記軸方向の成分は、前記移動方向に対する当該軸方向での移動割合を示し、
前記分解するステップでは、前記軸方向と前記移動方向との角度差が小さいほど当該軸方向の成分の値が大きくなるように、前記移動方向を前記複数の軸方向の成分に分解し、
前記移動方向における前記成分毎の視認性の低下度合いを特定するステップでは、前記軸方向毎に、前記第1低下度合い情報が示す当該軸方向での視認性の低下度合いに当該軸方向の成分を乗じることで、前記移動方向における前記成分毎の視認性の低下度合いを特定し、
前記移動方向における視認性の低下度合いを特定するステップでは、特定された前記成分毎の視認性の低下度合いを合算して、前記移動方向における視認性の低下度合いを特定する、項目2に記載の方法。
【0016】
(項目4)
前記複数の軸方向は、ロール軸方向、ピッチ軸方向及びヨー軸方向を含み、
前記第1低下度合い情報は、前記ロール軸方向に対する視認性の低下度合いを、前記ピッチ軸方向及び前記ヨー軸方向に対する視認性の低下度合いよりも小さく定めている、項目2又は3に記載の方法。
【0017】
(項目5)
前記第1低下度合い情報は、前記ロール軸方向のうちの前記仮想カメラの正面方向に対する視認性の低下度合いを、前記ロール軸方向のうちの前記正面方向と反対方向に対する視認性の低下度合いよりも小さく定めている、項目4に記載の方法。
【0018】
(項目6)
前記仮想カメラの回転速度を特定するステップをさらに含み、
前記視認性の低下度合いを特定するステップでは、前記第1低下度合い情報と、前記仮想カメラの回転速度に対する視認性の低下度合いを定めた第2低下度合い情報とに基づいて、前記移動方向及び特定された前記回転速度における視認性の低下度合いを特定する、項目1から5のいずれか1項に記載の方法。
【0019】
(項目7)
前記第2低下度合い情報は、前記回転速度が所定速度に達するまでの間、前記回転速度が速くなるほど、前記視認性の低下度合いが高くなるように定めている、項目6に記載の方法。
【0020】
(項目8)
項目1から7のいずれかに記載の方法をプロセッサに実行させるためのプログラム。
【0021】
(項目9)
コンピュータであって、
前記コンピュータが備えるプロセッサによる、ヘッドマウントデバイスを介して仮想空間をユーザに提供するための制御により、
前記仮想空間に配置された仮想カメラを動作させるステップと、
前記仮想カメラの移動方向を特定するステップと、
前記仮想空間を前記仮想カメラの視界の範囲で表した視界画像を生成するステップと、
前記仮想カメラの向きを基準に定まる1以上の方向に対する視認性の低下度合いを定めた第1低下度合い情報に基づいて、前記移動方向における視認性の低下度合いを特定するステップと、
特定された前記視認性の低下度合いに基づいて、前記視界画像の視認性を低下させるステップと、
視認性が低下された前記視界画像を、前記ヘッドマウントデバイスの表示部に出力するステップと、
が実行されるコンピュータ。
【0022】
[本開示の実施形態の詳細]
以下、図面を参照しつつ、本開示の実施形態について説明する。以下の説明では、同様の要素には同様の符号を付してある。それらの名称及び機能も同様である。このような要素については重複する説明が省略される。
【0023】
図1を参照して、ヘッドマウントデバイス(Head−Mounted Device、HMD)システム100の構成について説明する。図1は、HMDシステム100の構成を概略的に示す。一例では、HMDシステム100は、家庭用のシステム又は業務用のシステムとして提供される。HMDは、表示部を備える所謂ヘッドマウントディスプレイであってもよく、表示部を有するスマートフォン等の端末を装着可能なヘッドマウント機器であってもよい。
【0024】
HMDシステム100は、HMD110と、HMDセンサ120と、コントローラ160と、コンピュータ200とを備える。HMD110は、表示部112と、注視センサ140とを含む。コントローラ160は、モーションセンサ130を含んでもよい。
【0025】
一例では、コンピュータ200は、インターネット等のネットワーク192に接続可能であってもよく、ネットワーク192に接続されるサーバ150等のコンピュータと通信可能であってもよい。別の態様において、HMD110は、HMDセンサ120の代わりにセンサ114を含んでもよい。
【0026】
HMD110は、ユーザ190の頭部に装着され、動作中に仮想空間をユーザに提供し得る。より具体的には、HMD110は、右目用の画像及び左目用の画像を表示部112にそれぞれ表示する。ユーザの各目がそれぞれの画像を視認すると、ユーザは、両目の視差に基づき当該画像を3次元の画像として認識し得る。
【0027】
表示部112は、例えば、非透過型の表示装置として実現される。一例では、表示部112は、ユーザの両目の前方に位置するように、HMD110の本体に配置される。したがって、ユーザは、表示部112に表示される3次元画像を視認すると、仮想空間に没入することができる。ある実施形態において、仮想空間は、例えば、背景、ユーザが操作可能なオブジェクト、ユーザが選択可能なメニューの画像等を含む。ある実施形態において、表示部112は、スマートフォン等の情報表示端末が備える液晶表示部又は有機EL(Electro Luminescence)表示部として実現され得る。
【0028】
一例では、表示部112は、右目用の画像を表示するためのサブ表示部と、左目用の画像を表示するためのサブ表示部とを含み得る。別の態様において、表示部112は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、表示部112は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
【0029】
一例では、HMD110は、複数の光源(図示せず)を含む。各光源は、例えば、赤外線を発するLED(Light Emitting Diode)により実現される。HMDセンサ120は、HMD110の動きを検出するためのポジショントラッキング機能を有する。より具体的には、HMDセンサ120は、HMD110が発する複数の赤外線を読み取り、現実空間内におけるHMD110の位置及び傾きを検出してもよい。
【0030】
ある態様において、HMDセンサ120は、カメラにより実現されてもよい。この場合、HMDセンサ120は、カメラから出力されるHMD110の画像情報を用いて、画像解析処理を実行することにより、HMD110の位置及び傾きを検出することができる。
【0031】
別の態様において、HMD110は、位置検出器として、HMDセンサ120の代わりに、センサ114を備えてもよい。HMD110は、センサ114を用いて、HMD110自身の位置及び傾きを検出し得る。例えば、センサ114が角速度センサ、地磁気センサ、加速度センサ、ジャイロセンサ等である場合、HMD110は、HMDセンサ120の代わりに、これらの各センサのいずれかを用いて、自身の位置及び傾きを検出し得る。一例として、センサ114が角速度センサである場合、角速度センサは、現実空間におけるHMD110の3軸周りの角速度を経時的に検出する。HMD110は、各角速度に基づいて、HMD110の3軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、HMD110の傾きを算出する。また、HMD110は、透過型表示装置を備えていても良い。この場合、当該透過型表示装置は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。また、視界画像は、仮想空間を構成する画像の一部に、現実空間を提示する構成を含んでいてもよい。例えば、HMD110に搭載されたカメラで撮影した画像を視界画像の一部に重畳して表示させてもよいし、当該透過型表示装置の一部の透過率を高く設定することにより、視界画像の一部から現実空間を視認可能にしてもよい。
【0032】
注視センサ140は、ユーザ190の右目及び左目の視線が向けられる方向(視線)を検出する。当該方向の検出は、例えば、公知のアイトラッキング機能によって実現される。注視センサ140は、当該アイトラッキング機能を有するセンサにより実現される。ある態様において、注視センサ140は、右目用のセンサ及び左目用のセンサを含むことが好ましい。注視センサ140は、例えば、ユーザ190の右目及び左目に赤外光を照射するとともに、照射光に対する角膜及び虹彩からの反射光を受けることにより各眼球の回転角を検出するセンサであってもよい。注視センサ140は、検出した各回転角に基づいて、ユーザ190の視線を検知することができる。
【0033】
サーバ150は、コンピュータ200にプログラムを送信し得る。別の態様において、サーバ150は、他のユーザによって使用されるHMDに仮想現実を提供するための他のコンピュータ200と通信し得る。例えば、アミューズメント施設において、複数のユーザが参加型のゲームを行う場合、各コンピュータ200は、各ユーザの動作に基づく信号を他のコンピュータ200と通信して、同じ仮想空間において複数のユーザが共通のゲームを楽しむことを可能にする。
【0034】
コントローラ160は、有線又は無線によりコンピュータ200に接続される。コントローラ160は、ユーザ190からコンピュータ200への命令の入力を受け付ける。ある態様において、コントローラ160は、ユーザ190によって把持可能に構成される。別の態様において、コントローラ160は、ユーザ190の身体又は衣類の一部に装着可能に構成される。別の態様において、コントローラ160は、コンピュータ200から送信される信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。別の態様において、コントローラ160は、ユーザ190から、仮想空間に配置されるオブジェクトの位置や動きを制御するための操作を受け付ける。
【0035】
ある態様において、モーションセンサ130は、ユーザの手に取り付けられて、ユーザの手の動きを検出する。例えば、モーションセンサ130は、手の回転速度、回転数等を検出する。検出された信号は、コンピュータ200に送られる。モーションセンサ130は、例えば、手袋型のコントローラ160Aに設けられる。ある実施形態において、現実空間における安全のため、コントローラ160Aは、手袋型のようにユーザ190の手に装着されることにより容易に飛んで行かないものに装着されるのが望ましい。別の態様において、複数の操作ボタンを有する一般的な構造のコントローラ160Bが用いられてもよい。別の態様において、ユーザ190に装着されないセンサがユーザ190の手の動きを検出してもよい。ユーザ190の身体の様々な部分の位置、向き、動きの方向、動きの距離などを検知する光学式センサが用いられてもよい。例えば、ユーザ190を撮影するカメラの信号が、ユーザ190の動作を表す信号として、コンピュータ200に入力されてもよい。モーションセンサ130とコンピュータ200とは、一例として、無線により互いに接続される。無線の場合、通信形態は特に限られず、例えば、Bluetooth(登録商標)その他の公知の通信手法が用いられる。
【0036】
図2を参照して、本開示の実施形態に係るコンピュータ200について説明する。図2は、本開示の一実施形態によるコンピュータ200の基本的なハードウェア構成の例を表すブロック図である。コンピュータ200は、主たる構成要素として、プロセッサ202と、メモリ204と、ストレージ206と、入出力インターフェース208と、通信インターフェース210とを備える。各構成要素は、それぞれ、バス212に接続される。
【0037】
プロセッサ202は、コンピュータ200に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ204又はストレージ206に格納されているプログラムに含まれる一連の命令を実行する。ある態様において、プロセッサ202は、CPU(Central Processing Unit)、MPU(Micro Processor Unit)、FPGA(Field−Programmable Gate Array)等のデバイスとして実現される。
【0038】
メモリ204は、プログラム及びデータを一時的に保存する。プログラムは、例えば、ストレージ206からロードされる。データは、コンピュータ200に入力されたデータと、プロセッサ202によって生成されたデータとを含む。ある態様において、メモリ204は、RAM(Random Access Memory)等の揮発性メモリとして実現される。
【0039】
ストレージ206は、プログラム及びデータを永続的に保持する。ストレージ206は、例えば、ROM(Read−Only Memory)、ハードディスク装置、フラッシュメモリ等の不揮発性記憶装置として実現される。ストレージ206に格納されるプログラムは、HMDシステム100において仮想空間を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、他のコンピュータ200との通信を実現するためのプログラム等を含む。ストレージ206に格納されるデータは、仮想空間を規定するためのデータ及びオブジェクト等を含む。
【0040】
別の態様において、ストレージ206は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の態様において、コンピュータ200に内蔵されたストレージ206の代わりに、外部の記憶装置に保存されているプログラム及びデータを使用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のHMDシステム100が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。
【0041】
ある実施形態において、入出力インターフェース208は、HMD110、HMDセンサ120及びモーションセンサ130との間で信号を通信する。ある態様において、入出力インターフェース208は、USB(Universal Serial Bus、USB)、DVI(Digital Visual Interface)、HDMI(登録商標)(High−Definition Multimedia Interface)等の端子を用いて実現される。なお、入出力インターフェース208は上述のものに限られない。
【0042】
ある実施形態において、入出力インターフェース208は、さらに、コントローラ160と通信し得る。例えば、入出力インターフェース208は、コントローラ160及びモーションセンサ130から出力された信号の入力を受ける。別の態様において、入出力インターフェース208は、プロセッサ202から出力された命令を、コントローラ160に送る。当該命令は、振動、音声出力、発光等をコントローラ160に指示する。コントローラ160は、当該命令を受信すると、その命令に応じて、振動、音声出力、発光等を実行する。
【0043】
通信インターフェース210は、ネットワーク192に接続され、ネットワーク192に接続されている他のコンピュータ(例えば、サーバ150)と通信する。ある態様において、通信インターフェース210は、例えば、LAN(Local Area Network)等の有線通信インターフェース、あるいは、WiFi(Wireless Fidelity)、Bluetooth(登録商標)、NFC(Near Field Communication)等の無線通信インターフェースとして実現される。なお、通信インターフェース210は上述のものに限られない。
【0044】
ある態様において、プロセッサ202は、ストレージ206にアクセスし、ストレージ206に格納されている1つ以上のプログラムをメモリ204にロードし、当該プログラムに含まれる一連の命令を実行する。当該1つ以上のプログラムは、コンピュータ200のオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ202は、入出力インターフェース208を介して、仮想空間を提供するための信号をHMD110に送る。HMD110は、その信号に基づいて表示部112に映像を表示する。
【0045】
図2に示される例では、コンピュータ200は、HMD110の外部に設けられている。しかし、別の態様において、コンピュータ200は、HMD110に内蔵されてもよい。一例として、表示部112を含む携帯型の情報通信端末(例えば、スマートフォン)がコンピュータ200として機能してもよい。
【0046】
また、コンピュータ200は、複数のHMD110に共通して用いられる構成であってもよい。このような構成によれば、例えば、複数のユーザに同一の仮想空間を提供することもできるので、各ユーザは同一の仮想空間で他のユーザと同一のアプリケーションを楽しむことができる。
【0047】
ある実施形態において、HMDシステム100では、グローバル座標系が予め設定されている。グローバル座標系は、現実空間における鉛直方向、鉛直方向に直交する水平方向、ならびに、鉛直方向及び水平方向の双方に直交する前後方向にそれぞれ平行な、3つの基準方向(軸)を有する。本実施形態では、グローバル座標系は視点座標系の1つである。そこで、グローバル座標系における水平方向、鉛直方向(上下方向)、及び前後方向は、それぞれ、x軸、y軸、z軸として規定される。より具体的には、グローバル座標系において、x軸は現実空間の水平方向に平行である。y軸は、現実空間の鉛直方向に平行である。z軸は現実空間の前後方向に平行である。
【0048】
ある態様において、HMDセンサ120は、赤外線センサを含む。赤外線センサが、HMD110の各光源から発せられた赤外線をそれぞれ検出すると、HMD110の存在を検出する。HMDセンサ120は、さらに、各点の値(グローバル座標系における各座標値)に基づいて、HMD110を装着したユーザ190の動きに応じた、現実空間内におけるHMD110の位置及び傾きを検出する。より詳しくは、HMDセンサ120は、経時的に検出された各値を用いて、HMD110の位置及び傾きの時間的変化を検出できる。
【0049】
グローバル座標系は現実空間の座標系と平行である。したがって、HMDセンサ120によって検出されたHMD110の各傾きは、グローバル座標系におけるHMD110の3軸周りの各傾きに相当する。HMDセンサ120は、グローバル座標系におけるHMD110の傾きに基づき、uvw視野座標系をHMD110に設定する。HMD110に設定されるuvw視野座標系は、HMD110を装着したユーザ190が仮想空間において物体を見る際の視点座標系に対応する。
【0050】
図3を参照して、uvw視野座標系について説明する。図3は、ある実施形態に従うHMD110に設定されるuvw視野座標系を概念的に表す図である。HMDセンサ120は、HMD110の起動時に、グローバル座標系におけるHMD110の位置及び傾きを検出する。プロセッサ202は、検出された値に基づいて、uvw視野座標系をHMD110に設定する。
【0051】
図3に示されるように、HMD110は、HMD110を装着したユーザの頭部を中心(原点)とした3次元のuvw視野座標系を設定する。より具体的には、HMD110は、グローバル座標系を規定する水平方向、鉛直方向、及び前後方向(x軸、y軸、z軸)を、グローバル座標系内においてHMD110の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって新たに得られる3つの方向を、HMD110におけるuvw視野座標系のピッチ方向(u軸)、ヨー方向(v軸)、及びロール方向(w軸)として設定する。
【0052】
ある態様において、HMD110を装着したユーザ190が直立し、かつ、正面を視認している場合、プロセッサ202は、グローバル座標系に平行なuvw視野座標系をHMD110に設定する。この場合、グローバル座標系における水平方向(x軸)、鉛直方向(y軸)、及び前後方向(z軸)は、HMD110におけるuvw視野座標系のピッチ方向(u軸)、ヨー方向(v軸)及びロール方向(w軸)に一致する。
【0053】
uvw視野座標系がHMD110に設定された後、HMDセンサ120は、HMD110の動きに基づいて、設定されたuvw視野座標系におけるHMD110の傾き(傾きの変化量)を検出できる。この場合、HMDセンサ120は、HMD110の傾きとして、uvw視野座標系におけるHMD110のピッチ角(θu)、ヨー角(θv)及びロール角(θw)をそれぞれ検出する。ピッチ角(θu)は、uvw視野座標系におけるピッチ方向周りのHMD110の傾き角度を表す。ヨー角(θv)は、uvw視野座標系におけるヨー方向周りのHMD110の傾き角度を表す。ロール角(θw)は、uvw視野座標系におけるロール方向周りのHMD110の傾き角度を表す。
【0054】
HMDセンサ120は、検出されたHMD110の傾き角度に基づいて、HMD110が動いた後のHMD110におけるuvw視野座標系を、HMD110に設定する。HMD110と、HMD110のuvw視野座標系との関係は、HMD110の位置及び傾きに関わらず、常に一定である。HMD110の位置及び傾きが変わると、当該位置及び傾きの変化に連動して、グローバル座標系におけるHMD110のuvw視野座標系の位置及び傾きが変化する。
【0055】
ある態様において、HMDセンサ120は、赤外線センサからの出力に基づいて取得される赤外線の光強度及び複数の点間の相対的な位置関係(例えば、各点間の距離等)に基づいて、HMD110の現実空間内における位置を、HMDセンサ120に対する相対位置として特定してもよい。また、プロセッサ202は、特定された相対位置に基づいて、現実空間内(グローバル座標系)におけるHMD110のuvw視野座標系の原点を決定してもよい。
【0056】
図4を参照して、仮想空間についてさらに説明する。図4は、ある実施形態に従う仮想空間400を表現する一態様を概念的に表す図である。仮想空間400は、中心406の360度方向の全体を覆う全天球状の構造を有する。図4では、説明を複雑にしないために、仮想空間400のうちの上半分の天球が例示されている。仮想空間400では各メッシュが規定される。各メッシュの位置は、仮想空間400に規定されるXYZ座標系における座標値として予め規定されている。コンピュータ200は、仮想空間400に展開可能なコンテンツ(静止画、動画等)を構成する各部分画像を、仮想空間400において対応する各メッシュにそれぞれ対応付けて、ユーザによって視認可能な仮想空間画像が展開される仮想空間400をユーザに提供する。
【0057】
ある態様において、仮想空間400では、中心406を原点とするxyz座標系が規定される。xyz座標系は、例えば、グローバル座標系に平行である。xyz座標系は視点座標系の一種であるため、xyz座標系における水平方向、鉛直方向(上下方向)及び前後方向は、それぞれx軸、y軸及びz軸として規定される。したがって、xyz座標系のx軸(水平方向)がグローバル座標系のx軸と平行であり、xyz座標系のy軸(鉛直方向)がグローバル座標系のy軸と平行であり、xyz座標系のz軸(前後方向)がグローバル座標系のz軸と平行である。
【0058】
HMD110の起動時、すなわちHMD110の初期状態において、仮想カメラ404が、仮想空間400の中心406に配置される。ある態様において、プロセッサ202は、仮想カメラ404が撮影する画像をHMD110の表示部112に表示する。仮想カメラ404は、現実空間におけるHMD110の動きに連動して、仮想空間400を同様に移動する。これにより、現実空間におけるHMD110の位置及び向きの変化が、仮想空間400において同様に再現され得る。
【0059】
HMD110の場合と同様に、仮想カメラ404には、uvw視野座標系が規定される。仮想空間400における仮想カメラ404のuvw視野座標系は、現実空間(グローバル座標系)におけるHMD110のuvw視野座標系に連動するように規定される。したがって、HMD110の傾きが変化すると、それに応じて、仮想カメラ404の傾きも変化する。また、仮想カメラ404は、HMD110を装着したユーザの現実空間における移動に連動して、仮想空間400において移動することもできる。
【0060】
コンピュータ200のプロセッサ202は、仮想カメラ404の配置位置と、基準視線408とに基づいて、仮想空間400における視認領域410を規定する。視認領域410は、仮想空間400のうち、HMD110を装着したユーザが視認する領域に対応する。
【0061】
注視センサ140によって検出されるユーザ190の視線は、ユーザ190が物体を視認する際の視点座標系における方向である。HMD110のuvw視野座標系は、ユーザ190が表示部112を視認する際の視点座標系に等しい。また、仮想カメラ404のuvw視野座標系は、HMD110のuvw視野座標系に連動している。したがって、ある態様に従うHMDシステム100は、注視センサ140によって検出されたユーザ190の視線を、仮想カメラ404のuvw視野座標系におけるユーザの視線とみなすことができる。
【0062】
図5を参照して、ユーザの視線の決定について説明する。図5は、ある実施形態に従うHMD110を装着するユーザ190の頭部を上から表した図である。
【0063】
ある態様において、注視センサ140は、ユーザ190の右目及び左目の各視線を検出する。ある態様において、ユーザ190が近くを見ている場合、注視センサ140は、視線R1及びL1を検出する。別の態様において、ユーザ190が遠くを見ている場合、注視センサ140は、視線R2及びL2を検出する。この場合、ロール方向wに対して視線R2及びL2がなす角度は、ロール方向wに対して視線R1及びL1がなす角度よりも小さい。注視センサ140は、検出結果をコンピュータ200に送信する。
【0064】
コンピュータ200が、視線の検出結果として、視線R1及びL1の検出値を注視センサ140から受信した場合には、その検出値に基づいて、視線R1及びL1の交点である注視点N1を特定する。一方、コンピュータ200は、視線R2及びL2の検出値を注視センサ140から受信した場合には、視線R2及びL2の交点を注視点として特定する。コンピュータ200は、特定した注視点N1の位置に基づき、ユーザ190の視線N0を特定する。コンピュータ200は、例えば、ユーザ190の右目Rと左目Lとを結ぶ直線の中点と、注視点N1とを通る直線の延びる方向を、視線N0として検出する。視線N0は、ユーザ190が両目により実際に視線を向けている方向である。また、視線N0は、視認領域410に対してユーザ190が実際に視線を向けている方向に相当する。
【0065】
別の態様において、HMDシステム100は、HMDシステム100を構成するいずれかの部分に、マイク及びスピーカを備えてもよい。ユーザは、マイクに発話することにより、仮想空間400に対して、音声による指示を与えることができる。
【0066】
また、別の態様において、HMDシステム100は、テレビジョン放送受信チューナを備えてもよい。このような構成によれば、HMDシステム100は、仮想空間400においてテレビ番組を表示することができる。
【0067】
さらに別の態様において、HMDシステム100は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。
【0068】
図6及び図7を参照して、視認領域410について説明する。図6は、仮想空間400において視認領域410をx方向から見たyz断面を表す図である。図7は、仮想空間400において視認領域410をy方向から見たxz断面を表す図である。
【0069】
図6に示されるように、yz断面における視認領域410は、領域602を含む。領域602は、仮想カメラ404の配置位置と基準視線408と仮想空間400のyz断面とによって定義される。プロセッサ202は、仮想空間おける基準視線408を中心として極角αを含む範囲を、領域602として規定する。
【0070】
図7に示されるように、xz断面における視認領域410は、領域702を含む。領域702は、仮想カメラ404の配置位置と基準視線408と仮想空間400のxz断面とによって定義される。プロセッサ202は、仮想空間400における基準視線408を中心とした方位角βを含む範囲を、領域702として規定する。極角α及びβは、仮想カメラ404の配置位置と仮想カメラ404の向きとに応じて定まる。
【0071】
ある態様において、HMDシステム100は、コンピュータ200からの信号に基づいて、視界画像を表示部112に表示させることにより、仮想空間における視界をユーザ190に提供する。視界画像は、仮想空間画像402のうち視認領域410に重畳する部分に相当する。ユーザ190が、頭に装着したHMD110を動かすと、その動きに連動して仮想カメラ404も動く。その結果、仮想空間400における視認領域410の位置が変化する。これにより、表示部112に表示される視界画像は、仮想空間画像402のうち、仮想空間400においてユーザが向いた方向の視認領域410に重畳する画像に更新される。ユーザは、仮想空間400における所望の方向を視認することができる。
【0072】
このように、仮想カメラ404の向き(傾き)は仮想空間400におけるユーザの視線(基準視線408)に相当し、仮想カメラ404が配置される位置は、仮想空間400におけるユーザの視点に相当する。したがって、仮想カメラ404を移動(配置位置を変える動作、向きを変える動作を含む)させることにより、表示部112に表示される画像が更新され、ユーザ190の視界(視点、視線を含む)が移動される。
【0073】
ユーザ190は、HMD110を装着している間、現実世界を視認することなく、仮想空間400に展開される仮想空間画像402のみを視認できる。そのため、HMDシステム100は、仮想空間400への高い没入感覚をユーザに与えることができる。
【0074】
ある態様において、プロセッサ202は、HMD110を装着したユーザ190の現実空間における移動に連動して、仮想空間400において仮想カメラ404を移動し得る。この場合、プロセッサ202は、仮想空間400における仮想カメラ404の位置及び向きに基づいて、HMD110の表示部112に投影される画像領域(すなわち、仮想空間400における視認領域410)を特定する。
【0075】
ある実施形態に従うと、仮想カメラ404は、2つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含んでもよい。また、ユーザ190が3次元の仮想空間400を認識できるように、適切な視差が、2つの仮想カメラに設定されてもよい。
【0076】
図8Aを参照して、コントローラ160の一例であるコントローラ160Aについて説明する。図8Aは、ある実施形態に従うコントローラ160Aの概略構成を表す図である。
【0077】
ある態様において、コントローラ160Aは、右コントローラと左コントローラとを含み得る。説明を簡単にするために、図8Aにおけるコントローラ160Aは右コントローラを示す。右コントローラは、ユーザ190の右手で操作される。左コントローラは、ユーザ190の左手で操作される。ある態様において、右コントローラと左コントローラとは、別個の装置として対称に構成される。したがって、ユーザ190は、右コントローラを把持した右手と、左コントローラを把持した左手とをそれぞれ自由に動かすことができる。別の態様において、コントローラ160は両手の操作を受け付ける一体型のコントローラであってもよい。以下、右コントローラ160Aについて説明する。
【0078】
右コントローラ160Aは、グリップ802と、フレーム804と、天面806とを備える。グリップ802は、ユーザ190の右手によって把持されるように構成されている。例えば、グリップ802は、ユーザ190の右手の掌と3本の指(中指、薬指、小指)とによって保持され得る。
【0079】
グリップ802は、ボタン808及び810と、モーションセンサ130とを含む。ボタン808は、グリップ802の側面に配置され、右手の中指による操作を受け付ける。ボタン810は、グリップ802の前面に配置され、右手の人差し指による操作を受け付ける。ある態様において、ボタン808、810は、トリガー式のボタンとして構成される。モーションセンサ130は、グリップ802の筐体に内蔵されている。なお、ユーザ190の動作がカメラその他の装置によってユーザ190の周りから検出可能である場合には、グリップ802は、モーションセンサ130を備えなくてもよい。
【0080】
フレーム804は、その円周方向に沿って配置された複数の赤外線LED812を含む。赤外線LED812は、コントローラ160Aを使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線LED812から発せられた赤外線は、右コントローラ160Aと左コントローラ(図示しない)との各位置や姿勢(傾き、向き)を検出するために使用され得る。図8に示される例では、2列に配置された赤外線LED812が示されているが、配列の数は図8に示されるものに限られない。1列あるいは3列以上の配列が使用されてもよい。
【0081】
天面806は、ボタン814及び816と、アナログスティック818とを備える。ボタン814及び816は、プッシュ式ボタンとして構成される。ボタン814及び816は、ユーザ190の右手の親指による操作を受け付ける。アナログスティック818は、ある態様において、初期位置(ニュートラルの位置)から360度任意の方向への操作を受け付ける。当該操作は、例えば、仮想空間400に配置されるオブジェクトを移動するための操作を含む。
【0082】
ある態様において、右コントローラ160A及び左コントローラは、赤外線LED812等の部材を駆動するための電池を含む。電池は、1次電池及び2次電池のいずれであってもよく、その形状は、ボタン型、乾電池型等任意であり得る。別の態様において、右コントローラ160Aと左コントローラは、例えば、コンピュータ200のUSBインターフェースに接続され得る。この場合、右コントローラ800及び左コントローラは、USBインターフェースを介して電力を供給され得る。
【0083】
図8Bを参照して、コントローラ160の一例であるコントローラ160Bについて説明する。図8Bは、ある実施形態に従うコントローラ160Bの概略構成を表す図である。
【0084】
コントローラ160Bは、複数のボタン820(820a、820b、820c、820d)及び822(822a、822b、822c、822d)と、左右のアナログスティック824L及び824Rとを備える。各ボタン820及び822は、プッシュ式ボタンとして構成される。ボタン820及び822は、ユーザ190の手の親指による操作を受け付ける。ユーザ190の手の人差し指又は中指による操作を受け付けることが可能な不図示のトリガー式のボタンが、更にコントローラ160Bに設けられてもよい。アナログスティック824L及び824Rは、ある態様において、それぞれ初期位置(ニュートラルの位置)から360度任意の方向への操作を受け付ける。当該操作は、例えば、仮想空間400に配置されるオブジェクトを移動するための操作を含む。ボタン820(820a、820b、820c、820d)及び822(822a、822b、822c、822d)並びにアナログスティック824L及び824R(更に、含まれる場合には不図示のトリガー式ボタン)には、それぞれ別個の操作コマンドが割り当てられる。操作コマンドは、例えば、仮想空間400内のオブジェクトに指令を与えるためのコマンド、ゲームのメニュー画面等において各種の設定を行うためのコマンド、及びユーザ190が仮想空間400を体験している際にコンピュータ200に入力し得る任意の他のコマンドを含む。各ボタン又はアナログスティックに割り当てられた操作コマンドは、例えばゲームの進行や場面の変化に応じて、動的に変更されてもよい。
【0085】
ある態様において、コントローラ160Bは、その外表面に配置された不図示の複数の赤外線LEDを含んでもよい。赤外線LEDは、コントローラ160Bを使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線LEDから発せられた赤外線は、コントローラ160Bの位置や姿勢(傾き、向き)を検出するために使用され得る。またコントローラ160Bは、内部の電子部品を駆動するための電池を含む。電池は、1次電池及び2次電池のいずれであってもよく、その形状は、ボタン型、乾電池型等任意であり得る。別の態様において、コントローラ160Bは、例えば、コンピュータ200のUSBインターフェースに接続され得る。この場合、コントローラ160Bは、USBインターフェースを介して電力を供給され得る。
【0086】
図9は、本開示の一実施形態による、HMDシステム100を介してユーザに仮想体験を提供するための、コンピュータ200の機能を示すブロック図である。コンピュータ200は、主にHMDセンサ120、モーションセンサ130、注視センサ140、コントローラ160からの入力に基づいて、様々な処理を実行する。
【0087】
コンピュータ200は、プロセッサ202と、メモリ204と、通信制御部205とを備える。プロセッサ202は、仮想空間特定部902と、HMD動作検知部904と、視線検知部906と、基準視線決定部908と、視界領域決定部910と、仮想視点特定部912と、視界画像生成部914と、仮想カメラ制御部916と、移動方向分析部918と、回転速度分析部920と、視認性特定部922と、視界画像出力部924とを含み得る。メモリ204は様々な情報を格納するように構成され得る。一例では、メモリ204は、仮想空間データ926、オブジェクトデータ928、アプリケーションデータ930、視認性低下度合い情報932、その他のデータ934を含んでもよい。メモリ204はまた、HMDセンサ120、モーションセンサ130、注視センサ140、コントローラ160等からの入力に対応した出力情報をHMD110に関連付けられる表示部112へ提供するための演算に必要な、各種データを含んでもよい。オブジェクトデータ928は、仮想空間内に配置される様々なオブジェクトに関するデータを含んでもよい。表示部112は、HMD110に内蔵されてもよいし、HMD110に取り付け可能な別のデバイス(例えば、スマートフォン)のディスプレイであってもよい。
【0088】
図9においてプロセッサ202内に含まれるコンポーネントは、プロセッサ202が実行する機能を具体的なモジュールとして表現する1つの例にすぎない。複数のコンポーネントの機能が単一のコンポーネントによって実現されてもよい。プロセッサ202がすべてのコンポーネントの機能を実行するように構成されてもよい。
【0089】
図10は、ユーザが没入する仮想空間の画像を表示部112に表示するための一般的な処理のフロー図である。
【0090】
図9及び図10を参照して、仮想空間の画像を提供するためのHMDシステム100の一般的な処理を説明する。仮想空間400は、HMDセンサ120、注視センサ140及びコンピュータ200等の相互作用によって提供され得る。
【0091】
処理はステップ1002において開始する。一例として、アプリケーションデータ930に含まれるゲームアプリケーションがコンピュータ200によって実行されてもよい。ステップ1004において、プロセッサ202(又は、仮想空間特定部902)は、仮想空間データ926を参照するなどして、ユーザが没入する仮想空間400を構成する天球状の仮想空間画像402を生成する。HMDセンサ120によってHMD110の位置や傾きが検知される。HMDセンサ120によって検知された情報はコンピュータ200に送信される。ステップ1006において、HMD動作検知部904は、HMD110の位置情報、傾き情報等を取得する。ステップ1008において、取得された位置情報及び傾き情報に基づいて視界方向が決定される。
【0092】
注視センサ140がユーザの左右の目の眼球の動きを検出すると、当該情報がコンピュータ200に送信される。ステップ1010において、視線検知部906は、右目及び左目の視線が向けられる方向を特定し、視線方向N0を決定する。ステップ1012において、基準視線決定部908は、HMD110の傾きにより決定された視界方向又はユーザの視線方向N0を基準視線408として決定する。基準視線408はまた、HMD110の位置や傾きに追随する仮想カメラ404の位置及び傾きに基づいて決定されてもよい。
【0093】
ステップ1014において、視界領域決定部910は、仮想空間400における仮想カメラ404の視界領域410を決定する。図4に示すように、視界領域410は、仮想空間画像402のうちユーザの視界を構成する部分である。視界領域410は基準視線408に基づいて決定される。視界領域410をx方向から見たyz断面図及び視界領域410をy方向から見たxz断面図は、既に説明した図6及び図7にそれぞれ示されている。
【0094】
ステップ1016において、視界画像生成部914は、視界領域410に基づいて視界画像を生成する。視界画像は、右目用と左目用の2つの2次元画像を含む。これらの2次元画像が表示部112に重畳される(より具体的には、右目用画像が右目用表示部に出力され、左目用画像が左目用表示部に出力される)ことにより、3次元画像としての仮想空間400がユーザに提供される。ステップ1018において、視界画像出力部924は、視界画像に関する情報を表示部112に出力する。表示部112は、受信した視界画像の情報に基づいて、当該視界画像を表示する。処理はステップ1020において終了する。
【0095】
図11は、本開示の一実施形態による方法1100のフローチャートである。図12は、図11のステップ1110において実行される処理の具体例を示すフローチャートである。本開示の一実施形態において、コンピュータプログラムが、図11及び図12に示される各ステップをプロセッサ202(又はコンピュータ200)に実行させてもよい。また、本開示の別の実施形態は、少なくともプロセッサを備え、当該プロセッサの制御により方法1100を実行するコンピュータとして実施することもできる。
【0096】
以下、本開示の実施形態について具体的に説明する。ここでは、本開示の実施形態を適用することができる具体例として、ユーザが、当該ユーザに関連付けられるアバター、他のオブジェクト等が配置された仮想空間に没入して楽しむことができるゲームを想定する。しかし、本開示の実施形態は、必ずしもこのような態様に限定されない。本開示の実施形態が、特許請求の範囲において規定される範囲に含まれる様々な態様を取り得ることは、当業者にとって明らかであろう。
【0097】
図13は、ゲームのプレイ中、HMDの動き以外の要因(ユーザによるコントローラの操作、アプリケーションによって予め規定されるアバターの移動など)に応じて、ユーザに対応するアバターが仮想空間内を移動する様子を概略的に表す図である。ユーザ1304はHMD110を頭部に装着する。この例では、ユーザ1304は、図8Bに示す構成を有するコントローラ160Bを操作する。これはコントローラの一例にすぎないことが理解されよう。図8Aに示すコントローラ160Aなどの、ユーザの身体に装着可能な他の態様のコントローラを含む、様々なコントローラを本開示の実施形態に適用することができる。別の例において、ユーザ1304がコントローラを装着せず、ユーザ1304に装着されないセンサがユーザ1304の動きを検出してもよい。例えば、ユーザ1304を撮影するカメラの信号が、ユーザ1304の動きを表す信号として、コンピュータ200に入力されてもよい。
【0098】
本開示の実施形態においては、仮想カメラが移動しないときにはVR酔いが生じにくいことを前提とする。また、HMDの動きに起因して仮想カメラが移動する場合、仮想カメラが回転してもVR酔いが生じにくいことを前提とする。
【0099】
仮想空間1300内には、ユーザ1304によって操作されるアバター1306が配置される。この例では、アバター1306は、仮想空間1300内を自由に移動できる円盤状のオブジェクト1308に乗っているものと仮定する。ゲームのプレイ中、ユーザ1304は、コントローラ160Bを操作すること等によって、ユーザ1304に関連付けられるアバター1306に様々な動作を行わせることができる。
【0100】
図13に示されるように、アバター1306の位置に仮想カメラ1302が配置されてもよい。ユーザ1304は、仮想カメラ1302により(アバター1306の視点から)得られた仮想空間1300の映像を見ることができる。
【0101】
図11に戻り、処理はステップ1102において開始する。プロセッサ202は、メモリ204に格納されているアプリケーションデータ930に含まれるゲームプログラムを読み出して実行する。仮想空間特定部902は、仮想空間データ926、オブジェクトデータ928等に基づいて、実行されたゲームのための仮想空間データを特定する。アバター1306に関するデータは、オブジェクトデータ928、アプリケーションデータ930等に含まれてもよい。仮想空間データは、ユーザ1304に関連付けられるアバター1306を含む仮想空間を規定する。
【0102】
処理はステップ1104に進み、仮想カメラ制御部916は、ユーザ1304による操作に基づいて、仮想空間1300内で仮想カメラ1302を動作させる。本実施形態では、ユーザ1304が頭部190を動かさず、仮想カメラ1302が、ユーザ1304によるコントローラ160Bに対する操作、アプリケーションによって予め規定されるアバター1306の移動などの、HMD110の動き以外の要因によって動作されることを想定する。
【0103】
処理はステップ1106に進む。図13の例において、オブジェクト1308に乗っているアバター1306は、位置13Aから位置13Bへと、水平面上を移動する。上述のように、この例ではユーザ1304は頭部190を動かしていないので、HMD110も動かない。したがって、点線矢印1310により示される仮想カメラ1302の向きが変化しないまま、仮想カメラ1302は、仮想カメラ1302の向き1310とは異なる、実線矢印1312により示される移動方向に移動する。移動方向分析部918は、仮想カメラ1302の移動方向1312を特定する。特定された移動方向1312に関する情報はメモリ204に格納されてもよい。
【0104】
処理はステップ1108に進む。視界画像生成部914は、仮想空間データ、仮想カメラ1302の位置及び向き等に基づいて、視界画像を生成する。視界画像は、例えば、図10に関連して既に説明された処理によって生成される。
【0105】
処理はステップ1110に進み、視認性特定部922は、ステップ1108において生成された視界画像に対して適用するべき視認性の低下度合いを特定する。
【0106】
図12は、ステップ1110において実行される処理の具体例を示すフローチャートである。
【0107】
ステップ1202において、移動方向分析部918は、ステップ1106により特定された仮想カメラ1302の移動方向1312を複数の軸方向の成分に分解する。
【0108】
図14は、移動方向1312を複数の成分に分解する様子を概略的に説明する図である。移動方向分析部918は、仮想カメラ1302の向き1310を基準として、ロール軸方向、ピッチ軸方向及びヨー軸方向を設定する。図13の例において、仮想カメラ1302は、位置13Aから位置13Bへと水平に移動する。したがって、移動方向1312は、ロール軸方向成分及びピッチ軸方向成分を有し、ヨー軸方向成分を有さない。各軸方向の成分は、移動方向1312に対する当該軸方向での移動割合を示す。
【0109】
移動方向分析部918は、それぞれの軸の方向と移動方向1312との間の角度差が小さいほど当該軸方向の成分の値が大きくなるように、移動方向1312を複数の軸方向の成分に分解してもよい。この例では、移動方向1312は、正のロール軸方向(以下、「ロール(+)軸方向」とも呼ぶ)に対して時計回りに30°だけ傾き、正のピッチ軸方向(以下、「ピッチ(+)軸方向」とも呼ぶ)に対して反時計回りに60°だけ傾いている。したがって、移動方向1312は、ロール(+)軸方向の成分がピッチ(+)軸方向の成分より大きくなるように分解されてもよい。例えば、ロール(+)軸方向の成分が(90°−30°)/90°=60/90と計算され、ピッチ(+)軸方向の成分が(90°−60°)/90°=30/90と計算されてもよい。各軸方向の成分は、他の方法で計算されてもよい。例えば、上記の例において、ロール(+)軸方向の成分はcos(30°)=√3/2と計算され、ピッチ(+)軸方向の成分はcos(60°)=1/2と計算されてもよい。
【0110】
処理はステップ1204に進み、視認性特定部922は、移動方向1312における成分毎の視認性の低下度合いを特定する。視認性特定部922は、仮想カメラ1302の向きを基準として定まる1つ以上の方向に対する視認性の低下度合いを定めた第1低下度合い情報と、ステップ1202により得られた複数の軸方向の成分とを用いて、成分毎の視認性の低下度合いを特定してもよい。
【0111】
図15は、第1低下度合い情報の例を示す。第1低下度合い情報は、ロール軸方向に対する視認性の低下度合いがピッチ軸方向及びヨー軸方向に対する視認性の低下度合いよりも小さくなるように規定されてもよい。第1低下度合い情報はまた、ロール軸方向のうちの仮想カメラ1302の正面方向(ロール(+)軸方向)に対する視認性の低下度合いが、ロール軸方向のうちの正面方向とは反対方向(ロール(−)軸方向)に対する視認性の低下度合いよりも小さくなるように規定されてもよい。本実施形態のように、ユーザ1304が頭部190を動かさずに仮想カメラ1302を移動させる場合、ロール(+)軸方向への移動が最もVR酔いが発生しにくく、ロール(−)軸方向への移動がその次にVR酔いが発生しにくく、ピッチ軸方向やヨー軸方向への移動が最もVR酔いが発生し易いと考えられるためである。これは、ロール(+)軸方向への移動が最も画面変化を予測し易く、ロール(−)軸方向への移動がその次に画面変化を予測し易く、ピッチ軸方向やヨー軸方向への移動が最も画面変化を予測しにくいと考えられるためである。図15に示す例示的な第1低下度合い情報1500において、ロール(+)軸方向、ロール(−)軸方向、ピッチ(+)軸方向、ピッチ(−)軸方向、ヨー(+)軸方向及びヨー(−)軸方向に対応する視認性の低下度合いは、それぞれ、10、30、50、50、50及び50である。これは一例にすぎず、第1低下度合い情報は実施態様に合わせて様々に規定され得ることが理解されるべきである。
【0112】
視認性特定部922は、それぞれの軸方向に関して、第1低下度合い情報が示す当該軸方向に対応する視認性の低下度合いにステップ1202により得られた当該軸方向の成分を乗じることによって、移動方向1312における成分毎の視認性の低下度合いを特定してもよい。例えば、上述のように、図14の例の場合には、移動方向1312は、60/90の大きさを有するロール(+)軸方向の成分と30/90の大きさを有するピッチ(+)軸方向の成分とに分解される。図15に示すように、ロール(+)軸方向に対応する視認性の低下度合いは10であり、ピッチ(+)軸方向に対応する視認性の低下度合いは50である。したがって、移動方向1312のロール(+)軸方向の成分の視認性の低下度合いは、10(ロール(+)軸方向に対応する視認性の低下度合い)×(60/90)(ロール(+)軸方向の成分)=20/3という計算により求められてもよい。移動方向1312のピッチ(+)軸方向の成分の視認性の低下度合いは、50(ピッチ(+)軸方向に対応する視認性の低下度合い)×(30/90)(ピッチ(+)軸方向の成分)=50/3として求められてもよい。
【0113】
ステップ1206及び1208は、仮想カメラ1302が回転する場合に実行される処理であるので、図13の例では実行されない。これらのステップの処理については別の例に関連して後述する。
【0114】
処理はステップ1210に進み、視認性特定部922は、ステップ1204により特定された成分毎の視認性の低下度合いに基づいて、移動方向1312における視認性の低下度合いを特定する。視認性特定部922は、成分毎の視認性の低下度合いを合算することによって、移動方向1312における視認性の低下度合いを求めてもよい。例えば、移動方向1312の視認性の低下度合いは、20/3(ロール(+)軸方向の成分の視認性の低下度合い)+50/3(ピッチ(+)軸方向の成分の視認性の低下度合い)≒23という計算により求められてもよい。
【0115】
図11に戻り、ステップ1112において、視界画像生成部914は、ステップ1110により特定された視認性の低下度合いを用いて、ステップ1108により生成された視界画像の視認性を低下させる。例えば、視界画像の視認性の最大値が100(%)であるとき、図13の例における視界画像の視認性は100(%)−23(%)=77(%)に低下する。視認性を低下させる処理は様々な手法により実現することができる。例えば、ブラー処理、光量低下処理、コントラスト低下処理などが行われてもよい。視界画像の任意の領域の視認性が低下されてもよい。例えば、視界画像内の周辺領域の視認性が低下されてもよい。
【0116】
処理はステップ1114に進み、視界画像出力部924は、ステップ1112により得られた、視認性が低下した視界画像を、HMD110に関連付けられる表示部112に出力する。これにより、HMD110の動き以外の要因によってアバター1306が位置13Aから位置13Bへと移動するとき、表示部112を介してユーザ1304に提供される視界画像の視認性が低下する。
【0117】
このように、本実施形態によれば、ユーザの仮想体験を損なうことなくVR酔いを低減する新規な手法を提供することができる。
【0118】
図16は、HMD110の動き以外の要因(ユーザ1304によるコントローラ160Bの操作、アプリケーションによって予め規定されるアバター1306の移動など)に応じて、ユーザに対応するアバターが仮想空間内を移動する様子を概略的に表す図である。図13の例とは異なり、アバター1306(及び仮想カメラ1302)は、実線矢印1612により示されるように、位置16Aから位置16Bへと、仮想空間内で斜め上方向に移動する。図13の例と同様に、移動方向1612は、点線矢印1610により示される仮想カメラ1302の向きとは異なる。
【0119】
図16の例において視界画像の視認性を低下させる処理は基本的に図13の例の場合と同様である。但し、図13において仮想カメラ1302が水平方向に2次元的に移動するのに対して、図16において仮想カメラ1302は3次元的に移動するので、処理は部分的に異なる。以下では、図13及び図16の例について共通する処理に関する詳細な説明は適宜省略される。
【0120】
図17A図17B及び図17Cは、ステップ1202の処理によって移動方向1612が複数の成分に分解される様子を概略的に説明する図である。移動方向分析部918は、仮想カメラ1302の向き1610を基準として、ロール軸方向、ピッチ軸方向及びヨー軸方向を設定する。図16の例において、仮想カメラ1302は、位置16Aから位置16Bへと3次元的に移動する。したがって、移動方向1612は、ロール軸方向の成分、ピッチ軸方向の成分及びヨー軸方向の成分を有する。それぞれの軸方向の成分は、移動方向1612に対する当該軸方向での移動割合を示す。
【0121】
この例では、図17Aに示すように、ヨー軸方向から見た場合、移動方向1612は、ロール(+)軸方向に対して時計回りに45°だけ傾き、ピッチ(+)軸方向に対して反時計回りに45°だけ傾いている。また、図17Bに示すように、ピッチ軸方向から見た場合、移動方向1612は、ヨー(+)軸方向に対して時計回りに60°だけ傾き、ロール(+)軸方向に対して反時計回りに30°だけ傾いている。また、図17Cに示すように、ロール軸方向から見た場合、移動方向1612は、ヨー(+)軸方向に対して時計回りに60°だけ傾き、ピッチ(+)軸方向に対して反時計回りに30°だけ傾いている。
【0122】
図17Aに示される関係から、ヨー軸方向から見た移動方向1612のロール(+)軸方向の成分が(90°−45°)/90°=45/90という計算により求められてもよく、ピッチ(+)軸方向の成分が(90°−45°)/90°=45/90という計算により求められてもよい。図17Bに示される関係から、ピッチ軸方向から見た移動方向1612のヨー(+)軸方向の成分が(90°−60°)/90°=30/90という計算により求められてもよく、ロール(+)軸方向の成分が(90°−30°)/90°=60/90という計算により求められてもよい。図17Cに示される関係から、ロール軸方向から見た移動方向1612のヨー(+)軸方向の成分が(90°−60°)/90°=30/90という計算により求められてもよく、ピッチ(+)軸方向の成分が(90°−30°)/90°=60/90という計算により求められてもよい。各軸方向の成分は、他の方法で計算されてもよい。
【0123】
図13の例と同様に、ステップ1204において、視認性特定部922は、移動方向1612における成分毎の視認性の低下度合いを特定する。図15に示される第1低下度合い情報1500を用いる場合、ロール(+)軸方向、ピッチ(+)軸方向及びヨー(+)軸方向に対する視認性の低下度合いは、それぞれ、10、50及び50である。一例として、移動方向1612のロール(+)軸方向の成分の視認性の低下度合いは、(10(ロール(+)軸方向の成分の視認性の低下度合い)×(45/90)(ヨー軸方向から見たロール(+)軸方向の成分+10×(60/90)(ピッチ軸方向から見たロール(+)軸方向の成分))/3(重み付けの例示的な値)=35/9という計算により求められてもよい。また、移動方向1612のピッチ(+)軸方向の成分の視認性の低下度合いは、(50(ピッチ(+)軸方向の成分の視認性の低下度合い)×(45/90)(ヨー軸方向から見たピッチ(+)軸方向の成分+50×(60/90)(ロール軸方向から見たピッチ(+)軸方向の成分))/3=175/9という計算により求められてもよい。また、移動方向1612のヨー(+)軸方向の成分の視認性の低下度合いは、(50(ヨー(+)軸方向の成分の視認性の低下度合い)×(30/90)(ピッチ軸方向から見たヨー(+)軸方向の成分+50×(30/90)(ロール軸方向から見たヨー(+)軸方向の成分))/3=100/9という計算により求められてもよい。
【0124】
図13の例と同様に、ステップ1210において、視認性特定部922は、それぞれの成分の視認性の低下度合いを合算してもよい。例えば、移動方向1612の視認性の低下度合いは、35/9(ロール(+)軸方向の成分の視認性の低下度合い)+175/9(ピッチ(+)軸方向の成分の視認性の低下度合い)+100/9(ヨー(+)軸方向の成分の視認性の低下度合い)≒34という計算により求められてもよい。したがって、この例の場合、ステップ1112において、視界画像生成部914は、視界画像の視認性を最大値の100(%)から100(%)−34(%)=66(%)へと低下させてもよい。ステップ1114において、視界画像出力部924は、視認性が低下した視界画像を、HMD110に関連付けられる表示部112に出力する。
【0125】
図18は、HMDの動き以外の要因に応じて、ユーザに対応するアバターが仮想空間内を移動する様子を概略的に表す図である。この例では、アバター1306(及び仮想カメラ1302)は、実線矢印1812により示されるように、位置18Aから位置18Bへと、仮想空間内で水平方向に移動し、さらに、矢印1814及び1815により示されるように回転する。移動方向1812は図13における移動方向1312と同じ方向であり、点線矢印1810により示される仮想カメラ1302の向きとは異なるものとする。位置18A及び18Bはそれぞれ位置13A及び13Bと同じであるものとする。したがって、ステップ1202及び1204の処理により求められる、移動方向1812におけるロール(+)軸方向の成分の視認性低下度合い及びピッチ(+)軸方向の成分の視認性低下度合いは、それぞれ、20/3及び50/3である。
【0126】
仮想カメラ1302は、位置18Aから位置18Bへ移動するだけでなく、矢印1814及び1816で示すように回転する。本実施形態において、当該回転は、HMD110の動き以外の要因(ユーザ1304によるコントローラ160Bに対する操作、アプリケーションによって予め規定されるアバター1306の移動など)により引き起こされる。
【0127】
ステップ1204の後、処理はステップ1206に進み、回転速度分析部920は、仮想カメラ1302の回転速度を特定する。特定された回転速度はメモリ204に格納されてもよい。
【0128】
処理はステップ1208に進み、回転速度分析部920は、ステップ1206により得られた回転速度に対応する視認性の低下度合いを特定する。回転速度分析部920は、回転速度に対する視認性の低下度合いを定めた第2低下度合い情報を用いて、視認性の低下度合いを特定してもよい。
【0129】
図19は、第2低下度合い情報の一例を示す。図19において、第2低下度合い情報1900は、回転速度(回転/秒、rps)と視認性低下度合いとの間の関係を示すグラフとして表現されている。第2低下度合い情報1900は、回転速度が所定速度に達するまでの間、回転速度が速くなるほど視認性の低下度合いが大きくなるように規定されてもよい。さらに、視認性低下度合いの増加率は、回転速度が小さいときほど大きく、回転速度が大きいほど緩やかであってもよい。図19に示される関係は、予めメモリ204に格納されていてもよい。
【0130】
図20は、図19のグラフから読み取られて数値化された第2低下度合い情報の例を示す。この例において、回転速度0.05rps、0.1rps、0.2rps、0.3rps、0.4rps、0.5rps、0.6rps、0.7rps、0.8rps、0.9rps及び1.0rpsに対応する視認性低下度合いは、それぞれ、15、25、37.5、44、47、48.5、49.5、49.8、50、50及び50である。これは一例にすぎず、第2低下度合い情報2000は実施態様に合わせて様々に規定され得ることが理解されるべきである。図18の例における回転速度が0.1rpsであると仮定すると、ステップ1208において、回転速度に対応する視認性低下度合いは25であると特定される。
【0131】
処理はステップ1210に進む。視認性特定部922は、ステップ1204により特定された移動方向1812における成分毎の視認性の低下度合い、及びステップ1208により特定された回転速度に対応する視認性の低下度合いに基づいて、最終的な視認性の低下度合いを特定する。この例では、第1低下度合い情報1500に基づいて求められる移動方向1812に対する視認性の低下度合いは、20/3+50/3≒23である。第2低下度合い情報2000に基づいて求められる回転速度に対する視認性の低下度合いは25である。最終的な視認性の低下度合いは、上記2つの視認性低下度合いを合算し、23+25=48という計算により求められてもよい。この場合、ステップ1112において、視界画像生成部914は、視界画像の視認性を最大値の100(%)から100(%)−48(%)=52(%)へと低下させる。ステップ1114において、視界画像出力部924は、視認性が低下した視界画像を、HMD110に関連付けられる表示部112に出力する。
【0132】
このように、本実施形態によれば、HMDの動き以外の要因に応じてユーザに対応するアバターが仮想空間内で移動し且つ回転する場合、仮想カメラの移動による視認性の低下度合い及び仮想カメラの回転による視認性の低下度合いの両方に基づいて、視界画像の視認性の低下度合いが特定される。
【0133】
図21は、本開示の実施形態に従って生成される、視認性が低下した視界画像の例を示す。図21(A)、(B)及び(C)は、それぞれ、図13図16及び図18の例に対応する。上述のように、図13図16及び図18における視認性の低下度合いは、それぞれ、23、34及び48である。したがって、図21(B)の視界画像の視認性は図21(A)の視界画像の視認性より低く、図21(C)の視界画像の視認性は図21(B)の視界画像の視認性よりさらに低い。視認性を低下させる手法はどのような手法を採用してもよく、例えば、ブラ―処理、光量低下処理、解像度低下処理、及びコントラスト低下処理などが挙げられるが、これらの手法に限定されるものではない。なお、図21(A)、(B)及び(C)に示す例では、視界画像全体の視認性を低下させた場合を例にとり説明したが、視認性を低下させる領域はこれに限定されるものではない。例えば、仮想カメラ404の基準視線408で注視される視界画像上の要素を含む所定の領域については視認性を低下させず、当該所定の領域外の領域に対して視認性を低下させるようにしてもよい。所定の領域は、例えば、仮想カメラ404の基準視線408で注視される視界画像上の要素を中心とした矩形領域や円状の領域などが挙げられるが、これらに限定されるものではない。
【0134】
上述のように、本開示の実施形態によれば、ユーザによるコントローラの操作、アプリケーションによって予め規定されるアバターの移動などの、HMDの動き以外の要因によって仮想カメラが移動されるときでも、仮想体験を損なうことなくVR酔いを低減するための新規な手法を提供することができる。
【0135】
本開示の実施形態が、プロセッサ202(又は、コンピュータ200)、方法1100、プロセッサ202(又は、コンピュータ200)に方法1100を実行させるコンピュータプログラム等として実施することができることは、当業者にとって明らかであろう。
【0136】
上述の実施形態においては、HMD装置によってユーザが没入する仮想空間(VR空間)を例示して説明したが、HMD装置として、透過型のHMD装置を採用してもよい。この場合、透過型のHMD装置を介してユーザが視認する現実空間に仮想空間を構成する画像の一部を合成した視界画像を出力することにより、拡張現実(AR:Augumented Reality)空間又は複合現実(MR:Mixed Reality)空間における仮想体験をユーザに提供してもよい。この場合、手オブジェクトに代えて、ユーザの手の動きに基づいて、仮想空間内における対象オブジェクトへの作用を生じさせてもよい。具体的には、プロセッサは、現実空間におけるユーザの手の位置の座標情報を特定するとともに、仮想空間内における対象オブジェクトの位置を現実空間における座標情報との関係で定義してもよい。これにより、プロセッサは、現実空間におけるユーザの手と仮想空間における対象オブジェクトとの位置関係を把握し、ユーザの手と対象オブジェクトとの間でコリジョン制御等に対応する処理を実行可能となる。その結果、ユーザの手の動きに基づいて対象オブジェクトに作用を与えることが可能となる。
【0137】
本開示の実施形態が説明されたが、これらが例示にすぎず、本開示の範囲を限定するものではないことが理解されるべきである。本開示の趣旨及び範囲から逸脱することなく、実施形態の変更、追加、改良等を適宜行うことができることが理解されるべきである。本開示の範囲は、上述した実施形態のいずれによっても限定されるべきではなく、特許請求の範囲及びその均等物によって規定されるべきである。
【符号の説明】
【0138】
100…HMDシステム、112…表示部、114…センサ、120…HMDセンサ、130…モーションセンサ、140…注視センサ、150…サーバ、160A、160B…コントローラ、190…頭部、192…ネットワーク、200…コンピュータ、202…プロセッサ、204…メモリ、205…通信制御部、206…ストレージ、208…入出力インターフェース、210…通信インターフェース、212…バス、400…仮想空間、402…仮想空間画像、404…仮想カメラ、406…中心、408…基準視線、410…視界領域、800…右コントローラ、802…グリップ、804…フレーム、806…天面、808、810、814、816…ボタン、812…赤外線LED、818…アナログスティック、820、822…ボタン、824R、824L…アナログスティック、902…仮想空間特定部、904…HMD動作検知部、906…視線検知部、908…基準視線決定部、910…視界領域決定部、912…仮想視点特定部、914…視界画像生成部、916…仮想カメラ制御部、918…移動方向分析部、920…回転速度分析部、922…視認性特定部、924…視界画像出力部、926…仮想空間データ、928…オブジェクトデータ、930…アプリケーションデータ、932…視認性低下度合い情報、934…その他のデータ、1300…仮想空間、1302…仮想カメラ、1304…ユーザ、1306…アバター、1308…オブジェクト、1500…第1低下度合い情報、1900、2000…第2低下度合い情報
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
図9
図10
図11
図12
図13
図14
図15
図16
図17A
図17B
図17C
図18
図19
図20
図21