(57)【特許請求の範囲】
【請求項１】
仮想空間情報を格納した空間情報格納部と、
ヘッドマウント・ディスプレイが具備する傾きセンサで検知される傾き情報に基づいて、仮想空間に配置した仮想カメラからの視界領域を決定する視界決定部と、
前記ヘッドマウント・ディスプレイに表示するために、前記仮想空間情報を用いて、前記視界領域に対する視界画像を生成する画像生成部と、
前記ヘッドマウント・ディスプレイを装着したユーザの姿勢を、前記傾き情報において水平面に対する垂直方向の角度情報に基づいて判定すると共に、第１姿勢から第２姿勢への姿勢変更を検知する姿勢検知部と、
前記姿勢変更の検知に応じて、前記第２姿勢での前記仮想カメラからの視界領域に対し、前記第１姿勢に対する視界画像を適用するように視界を調整する視界調整部と
として前記ヘッドマウント・ディスプレイに接続されたコンピュータに機能させ、
前記第１姿勢が座位であり、前記第２姿勢が臥位であり、
前記視界決定部において、前記第１姿勢における前記傾き情報が有する傾け移動量に対応した仮想空間内の仮想カメラ移動量に対し、前記第２姿勢における傾け移動量に対応した仮想空間内の仮想カメラ移動量の方が大きくなるように加重される、コンピュータ・プログラム。
【請求項２】
請求項１記載のコンピュータ・プログラムであって、
前記視界決定部において、前記視界領域が更に、前記コンピュータに接続され且つ前記ヘッドマウント・ディスプレイを検知可能な位置センサによって検知される前記ヘッドマウント・ディスプレイの位置情報に基づいて決定される、コンピュータ・プログラム。
【請求項３】
請求項１または２記載のコンピュータ・プログラムであって、
前記視界調整部において、前記第１姿勢から前記第２姿勢への傾き情報の変化に従って、前記第２姿勢における仮想カメラの位置を中心に前記仮想空間の軸を回転させて座標変換する、コンピュータ・プログラム。
【請求項４】
仮想空間情報を格納した空間情報格納部と、
ヘッドマウント・ディスプレイが具備する傾きセンサで検知される傾き情報に基づいて、仮想空間に配置した仮想カメラからの視界領域を決定する視界決定部と、
前記ヘッドマウント・ディスプレイに表示するために、前記仮想空間情報を用いて、前記視界領域に対する視界画像を生成する画像生成部と、
前記傾き情報に基づいて、前記ヘッドマウント・ディスプレイを装着したユーザの姿勢を判定すると共に、第１姿勢から第２姿勢への姿勢変更を検知する姿勢検知部と、
前記姿勢変更の検知に応じて、前記第２姿勢での前記仮想カメラからの視界領域に対し、前記第１姿勢に対する視界画像を適用するように視界を調整する視界調整部と
として前記ヘッドマウント・ディスプレイに接続されたコンピュータに機能させ、
前記仮想空間が複数のメッシュを有する天球状に形成され、
前記空間情報格納部において、前記仮想空間情報が各メッシュに関連付けられ、
前記視界調整部において、前記第２姿勢での前記仮想カメラからの視界領域を構成する各メッシュに前記第１姿勢の視界領域を構成する各メッシュを位置合わせするように、前記第１姿勢の視界画像を天球面に沿ってスライド移動させる、コンピュータ・プログラム。
【請求項５】
前記第２姿勢における前記仮想カメラの位置が、前記第１姿勢における前記仮想カメラの位置とは異なる、請求項４記載のコンピュータ・プログラム。
【請求項６】
請求項４または５記載のコンピュータ・プログラムであって、
前記視界決定部において、前記視界領域が更に、前記コンピュータに接続され且つ前記ヘッドマウント・ディスプレイを検知可能な位置センサによって検知される前記ヘッドマウント・ディスプレイの位置情報に基づいて決定される、コンピュータ・プログラム。
【請求項７】
請求項４から６のいずれか一項記載のコンピュータ・プログラムであって、
前記姿勢検知部において、前記ユーザの姿勢が、前記傾き情報において水平面に対する垂直方向の角度情報に基づいて判定される、コンピュータ・プログラム。
【請求項８】
請求項７記載のコンピュータ・プログラムであって、
前記第１姿勢が座位であり、前記第２姿勢が臥位であり、
前記視界決定部において、前記第１姿勢における前記傾き情報が有する傾け移動量に対応した仮想空間内の仮想カメラ移動量に対し、前記第２姿勢における傾け移動量に対応した仮想空間内の仮想カメラ移動量の方が大きくなるように加重される、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・プログラムに関し、より詳細には、ユーザがヘッドマウント・ディスプレイ（ＨＭＤ）を頭部に装着し、３次元仮想空間に没入している状況において、自身の姿勢を変更した場合に、ＨＭＤに表示される３次元仮想空間の視界を調整するようコンピュータに制御させるコンピュータ・プログラムに関するものである。
【背景技術】
【０００２】
ユーザの頭部に装着され、眼前に配置されたディスプレイ等によってユーザに３次元仮想空間画像を提示可能なＨＭＤが知られている。特に、特許文献１に開示されるようなＨＭＤでは、３次元仮想空間に３６０度のパノラマ画像を表示可能である。このようなＨＭＤは通例、各種センサ（例えば、加速度センサや角速度センサ）を備え、ＨＭＤ本体の姿勢データを計測する。特に、頭部の回転角に関する情報に従ってパノラマ画像の視線方向変更を可能にする。即ち、ＨＭＤを装着したユーザが自身の頭部を回転させると、それに併せて、３６０度のパノラマ画像の視線方向を変更するのを可能にする。このようなＨＭＤは、ユーザに対し、映像世界への没入感を高め、エンタテインメント性を向上させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２５８６１４号公報  しかしながら、特許文献１の上記開示は、単に、パノラマ画像の視界特定のために、センサにより取得される頭部動作の情報を用いるに過ぎない。他方、ＨＭＤを使用した没入型の３次元仮想空間に対応した各種アプリケーションが、今後、数多く開発されることにより、ＨＭＤがより広範に普及することが見込まれる。この点、頭部動作の情報は、ＨＭＤに基づく没入型３次元仮想空間の多くのアプリケーションにおいて様々な場面で効果的に用いられることが期待される。
【０００４】
その例として、図１に示す各画面が３次元仮想空間としてＨＭＤに表示されるアプリケーションを想定する。例えば、図１（ａ）は、３次元仮想空間内の所定の視界領域に複数の仮想テレビが配置されるような仮想マルチディスプレイ・アプリケーションである。また、図１（ｂ）は、３次元仮想空間平面をユーザのキャラクタが動き回るようなアクション型ＲＰＧのゲーム・アプリケーションである。
【０００５】
これらアプリケーション・プログラムが実行され、ユーザが操作している最中に、例えば、図２に示すような座位から仰臥位への姿勢変更をユーザが実施したとする。上記のような従来技術のＨＭＤに表示される画像は、当該姿勢変更と連動して、図１（ａ）や図１（ｂ）のような水平方向の視界画像から垂直方向の視界画像へと移行されることになる。この点、３次元仮想空間に没入した状態で座位から仰臥位に姿勢変更したユーザは、図１（ａ）や図１（ｂ）のような水平方向の視界画像を見続けることは困難となる（臥位の状態で無理矢理ＨＭＤを水平方向に向けなければ視界画像を見ることができない）。他方、図１（ａ）や図１（ｂ）の画面表示を行うアプリケーションでは、主に水平方向の視界にコンテンツが用意され、垂直方向の視界には「空」や「雲」程度しか表示されないことも多い。
【０００６】
特に図１（ａ）の仮想マルチディスプレイ・アプリケーションのようなアプリケーションによっては、図２のようにユーザが座位から仰臥位への姿勢変更を実施した場合であっても、座位状態の視界を維持させることにより、コンピュータが視界を制御して水平方向の視界のコンテンツをＨＭＤに表示させ続けることが好ましい。ユーザにとっては、寝ながらにして上を向いたままコンテンツを視聴可能となるからである。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、ユーザがＨＭＤを装着して３次元仮想空間に没入している状態において、実世界でのユーザの姿勢に応じてＨＭＤに表示される仮想的な視界を適切に自動調整するようコンピュータに仮想カメラを制御させ、ユーザの姿勢変更に伴う３次元仮想空間内の視界変更を効果的に実施することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明によるコンピュータ・プログラムは、仮想空間情報を格納した空間情報格納部と、ヘッドマウント・ディスプレイが具備する傾きセンサで検知される傾き情報に基づいて、仮想空間に配置した仮想カメラからの視界領域を決定する視界決定部と、ヘッドマウント・ディスプレイに表示するために、仮想空間情報を用いて、視界領域に対する視界画像を生成する画像生成部と、傾き情報に基づいて、ヘッドマウント・ディスプレイを装着したユーザの姿勢を判定すると共に、第１姿勢から第２姿勢への姿勢変更を検知する姿勢検知部と、姿勢変更の検知に応じて、第２姿勢での仮想カメラからの視界領域に対し、第１姿勢に対する視界画像を適用するように視界を調整する視界調整部と、としてヘッドマウント・ディスプレイに接続されたコンピュータに機能させる。
【０００９】
また、本発明によるコンピュータ・プログラムは、上記視界決定部において、視界領域が更に、コンピュータに接続され且つヘッドマウント・ディスプレイを検知可能な位置センサによって検知されるヘッドマウント・ディスプレイの位置情報に基づいて決定される。
【００１０】
更に、本発明によるコンピュータ・プログラムでは、仮想空間が複数のメッシュを有する天球状に形成され、空間情報格納部において、仮想空間情報が各メッシュに関連付けられ、上記視界調整部において、第２姿勢での仮想カメラからの視界領域を構成する各メッシュに第１姿勢の視界領域を構成する各メッシュを位置合わせするように、第１姿勢の視界画像を球面に沿ってスライド移動させる。
【００１１】
加えて、本発明によるコンピュータ・プログラムは、上記視界調整部において、第１姿勢から第２姿勢への傾き情報の変化に従って、第２姿勢における仮想カメラの位置を中心に仮想空間の軸を回転して座標変換する。
【発明の効果】
【００１２】
本発明によれば、ＨＭＤを装着し、３次元仮想空間に没入した状態にあるユーザは、特定の視界を維持するために、自身の姿勢を無理に維持する必要がなくなる。例えば、ユーザが座位姿勢で前方を向いている状態から、仰臥位姿勢で上方を向いている状態に姿勢変更した場合であっても、同一の視界画像情報をＨＭＤに表示することが可能になる。即ち、本発明は、実世界でのユーザの姿勢変更に伴う３次元仮想空間内の視界変更を効果的に実施でき、ＨＭＤの傾け動作に関する効果的なユーザ操作支援を実現することを可能にするものである。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施形態によるコンピュータ・プログラムによって実装される例示の表示画面である。
【図２】図２は、ＨＭＤを装着したユーザによる姿勢変更動作を示した模式図である。
【図３】図３は、本発明の実施形態によるコンピュータ・プログラムを実施するためのＨＭＤシステムを示した模式図である。
【図４】図４は、図３に示したＨＭＤを装着したユーザの頭部を中心にして規定される実空間の直交座標系を示す。
【図５】図５は、ポジション・トラッキング・カメラによって検知される、ＨＭＤ上に仮想的に設けられた複数の検知点を示す概要図である。
【図６】図６は、３次元仮想空間内の仮想カメラとポジション・トラッキング・カメラの位置関係を示した模式図である。
【図７】図７は、３次元仮想空間内の仮想カメラとポジション・トラッキング・カメラの位置関係を示した模式図である。
【図８】図８は、図３のＨＭＤシステムにおける制御回路部に関する機能ブロック図である。
【図９】図９は、３次元仮想空間における視界領域を示した３次元の模式図である。
【図１０】図１０は、３次元仮想空間における視界領域を示す２次元の模式図である。
【図１１】図１１は、本発明の実施形態により、ユーザの姿勢変更に伴う視界調整を行うための処理フロー図である。
【図１２】図１２は、本発明の実施態様により、ユーザの姿勢変更に伴う視界調整を行うための処理フロー図である。
【図１３】図１３は、本発明の実施態様により、ユーザの姿勢および姿勢変更を検知するための概略図である。
【図１４】図１４は、本発明の実施態様により、第１実施例の視界調整処理について示した模式図である。
【図１５】図１５は、本発明の実施の態様により、第１実施例の視界調整について示した処理フロー図である。
【図１６】図１６は、本発明の実施態様により、第２実施例の視界調整について示した模式図である。
【図１７】図１７は、本発明の実施態様により、第２実施例の視界調整について示した処理フロー図である。
【発明を実施するための形態】
【００１４】
以下に、図面を参照して、本発明の実施の形態による、ユーザの姿勢変更に伴う視界調整をコンピュータに制御させるためのコンピュータ・プログラムについて説明する。図中、同一の構成要素には同一の符号を付してある。
【００１５】
図３は、本発明の実施形態によるコンピュータ・プログラムを実施するための、ヘッドマウント・ディスプレイ（以下、「ＨＭＤ」と称する。）を用いたＨＭＤシステム１００の全体概略図である。図示のように、ＨＭＤシステム１００は、ＨＭＤ本体１１０、コンピュータ（制御回路部）１２０、およびポジション・トラッキング・カメラ（位置センサ）１３０を備える。
【００１６】
ＨＭＤ１１０は、ディスプレイ１１２およびセンサ１１４を具備する。ディスプレイ１１２は、ユーザの視界を完全に覆うよう構成された非透過型の表示装置であり、ユーザはディスプレイ１１２に表示される画面のみを観察することができる。当該非透過型のＨＭＤ１１０を装着したユーザは、外界の視界を全て失うため、制御回路部１２０において実行されるアプリケーションによりディスプレイ１１２に表示される３次元仮想空間に完全に没入する表示態様となる。ＨＭＤ１１０が具備するセンサ１１４は、ディスプレイ１１２近辺に固定される。センサ１１４は、地磁気センサ、加速度センサ、および／または傾き（角速度、ジャイロ）センサを含み、これらの１つ以上を通じて、ユーザの頭部に装着されたＨＭＤ１１０（ディスプレイ１１２）の各種動きを検知することができる。特に角速度センサの場合には、図４のように、ＨＭＤ１１０の動きに応じて、ＨＭＤ１１０の３軸回りの角速度を経時的に検知し、各軸回りの角度（傾き）の時間変化を決定することができる。
【００１７】
そこで、図４を参照して傾きセンサで検知可能な角度情報データについて具体的に説明する。図示のように、ＨＭＤを装着したユーザの頭部を中心として、ＸＹＺ座標が規定される。ユーザが直立する垂直方向をＹ軸、Ｙ軸と直交しディスプレイ１１２の中心とユーザを結ぶ方向をＺ軸、Ｙ軸およびＺ軸と直交する方向の軸をＸ軸とする。傾きセンサでは、各軸回りの角度、具体的にはＹ軸を軸とした回転を示すヨー角、Ｘ軸を軸とした回転を示すピッチ角、およびＺ軸を軸とした回転を示すロール角で決定される傾きを検知し、その経時的な変化により、動き検知部２２０が視界情報として角度（傾き）情報データを決定する。
【００１８】
図３に戻り、ＨＭＤシステム１００が備えるコンピュータ（制御回路部）１２０は、ＨＭＤを装着したユーザを３次元仮想空間に没入させ、３次元仮想空間に基づく動作を実施させるための制御回路装置として機能する。図示のように、制御回路部１２０は、ＨＭＤ１１０とは別のハードウェアとして構成してよい。当該ハードウェアは、パーソナルコンピュータやネットワークを通じたサーバ・コンピュータのようなコンピュータとすることができる。即ち、図示はしないが、互いにバス接続されたＣＰＵ、主記憶、補助記憶、送受信部、表示部、および入力部を備える任意のコンピュータとすることができる。代替として、制御回路部１２０は、視界調整装置としてＨＭＤ１１０内部に搭載されてもよい。この場合は、制御回路部１２０は、視界調整装置の全部または一部の機能のみを実装することができる。一部のみを実装した場合には、残りの機能をＨＭＤ１１０側、またはネットワークを通じたサーバ・コンピュータ（非図示）側に実装してもよい。
【００１９】
ＨＭＤシステム１００が備えるポジション・トラッキング・カメラ（位置センサ）１３０は、制御回路部１２０に通信可能に接続され、ＨＭＤ１１０の位置追跡機能を有する。ポジション・トラッキング・カメラ１３０は、赤外線センサおよび／または複数の光学カメラを用いて実現される。ＨＭＤシステム１００は、ポジション・トラッキング・カメラ１３０を具備し、ユーザ頭部のＨＭＤの位置を検知することによって、実空間のＨＭＤの位置および３次元仮想空間における仮想カメラ／没入ユーザの仮想空間位置を正確に対応付けて、特定することができる。
【００２０】
より具体的には、ポジション・トラッキング・カメラ１３０は、図５に例示的に示すように、ＨＭＤ１１０上に仮想的に設けられ、赤外線を検知する複数の検知点の実空間位置をユーザの動きに対応して経時的に検知する。そして、ポジション・トラッキング・カメラ１３０により検知された実空間位置の経時的変化に基づいて、ＨＭＤ１１０の動きに応じて、実空間のＨＭＤの位置および３次元仮想空間における仮想カメラ／没入ユーザの仮想空間位置を正確に対応付けて、特定することができる。
【００２１】
ポジション・トラッキング・カメラ１３０による位置特定に関連し、本発明の実施形態による、３次元仮想空間２内に配置される仮想カメラ１およびポジション・トラッキング・カメラ１３０の位置関係について図６および図７の模式図を参照して説明する。図６はＸＹＺ軸で構成される３次元の模式図であり、一方、図７はＸＺ軸で構成されるＹ軸方向から見た２次元の模式図（平面図）である。図６に示すように、３次元仮想空間中に仮想カメラ１、仮想カメラ１を収容する３次元仮想空間２、および３次元仮想空間２の外側のポジション・トラッキング・カメラ１３０が仮想的に配置される。
【００２２】
３次元仮想空間２は、天球状に複数のメッシュを有するように形成される。より正確には、３次元仮想空間を構成する各メッシュは、略正方形または長方形の平板として構成される。そして、当該メッシュごとに、仮想空間情報が関連付けられており、該関連付けられた仮想空間情報に基づいて視界画像がそれぞれ形成される。本発明の実施形態では、一例として、図７に更に示すように、ＸＺ平面において、天球の中心点が仮想カメラ１とポジション・トラッキング・カメラ１３０を結ぶ線上に常に配置されるように位置調整するのがよい。即ち、例えば、ＨＭＤを装着したユーザが移動して仮想カメラ１の位置がＸ軸方向に移動した場合には、規定される３次元仮想空間２は、その中心が仮想カメラ１とポジション・トラッキング・カメラ１３０の線分上となるよう領域変更されることになる。
【００２３】
これより図８以降を参照して、本発明の実施形態により、ユーザの姿勢変更に伴う視界調整処理について説明する。図８は、本発明の実施形態による、当該視界調整処理に関するコンピュータ・プログラムを実装するために、制御回路部１２０に関係するコンポーネントの主要機能の構成を示したブロック図である。制御回路部１２０では、主に、センサ１１４／１３０からの入力を受け、該入力を処理してＨＭＤ（ディスプレイ）１１２への出力を行う。制御回路部１２０は、主に、動き検知部２１０、視界決定部２２０および視界画像生成部２３０、並びに、姿勢検知部２５０および視界調整部２６０を含む。そして、仮想空間情報を格納した空間情報格納部２８０等の各種テーブルと相互作用することにより各種情報を処理するように構成される。
【００２４】
動き検知部２１０では、センサ１１４／１３０で測定された動き情報の入力に基づいて、ユーザの頭部に装着されたＨＭＤ１１０の各種動きデータを決定する。本発明の実施形態では、特に、ＨＭＤが具備する傾きセンサ（ジャイロ・センサ）１１４により経時的に検知される傾き（角度）情報、およびＨＭＤを検知可能な位置センサ（ポジション・トラッキング・カメラ）１３０により経時的に検知される位置情報を決定する。
【００２５】
視界決定部２２０では、空間情報格納部２８０に格納された３次元仮想空間情報、並びに、動き検知部２１０で検知された傾き情報および位置情報に基づいて、３次元仮想空間に配置した仮想カメラの位置、方向、そして、該仮想カメラからの視界領域を決定する。なお、位置センサ１３０は任意としてよく、位置センサを使用しない場合は、仮想カメラは常に天球の中心点に配置するように構成するのがよい。
【００２６】
そこで、図９および図１０の模式図を参照して、上記視界決定部２２０で決定される、３次元仮想空間２の天球面に沿った視界領域について説明する。図９は、視界領域に関する３次元の模式図であり、図１０は２次元の模式図（側面図および平面図）である。図９に示したように、視界領域６は、仮想カメラ１の位置および方向（視界方向５）に従って、所定の視界角度に基づいて決定される。視界角度は、図１０（ａ）に示したＸＹ平面図（側面図）における極角α、および図１０（ｂ）に示したＸＺ平面図（平面図）における方位角βとして予め設定することができる。つまり、視界領域６は、仮想カメラ１の位置からの視線方向５に対して、ＸＹ平面図における極角θおよびＸＺ平面図における方位角βを有した球面上の領域とすることができる。
【００２７】
図８に戻り、視界画像生成部２３０では、ＨＭＤに表示するために、上記図９および図１０で説明したような視界決定部２２０で決定した視界領域に対する３６０度パノラマの一部の視界画像を、仮想空間情報を用いて生成することができる。なお、視界画像は、２次元画像を左目用と右目用の２つを生成し、ＨＭＤにおいてこれら２つを重畳させて生成することで、ユーザには３次元画像の如くＨＭＤに表示可能である。
【００２８】
姿勢検知部２５０では、傾きセンサ１１４により経時的に検知される傾き情報に基づいて、ＨＭＤを装着したユーザの姿勢を判定すると共に、１つの姿勢から他の姿勢への姿勢変更を検知する。例えば、図２のように、座位の姿勢から臥位の姿勢への変更（またはその逆）を検知することができる。なお、姿勢検知部２５０で検知される姿勢として、図２の座位および臥位のみならず、ユーザがリクライニングした座席に座った際の斜位も含めてもよい。また、これらに限定されず、例えば、立位を座位と更に区別してもよいし、臥位として仰臥位だけでなく伏臥位、右側臥位、左側臥位を更に区別してもよいし、斜位として右前斜位および左斜位を更に区別してもよい。
【００２９】
視界調整部２６０では、姿勢検知部２５０での姿勢変更の検知に応じてＨＭＤを視界調整モード（例えば「寝たまま」モード）に移行する。そして、第２姿勢での仮想カメラからの視界領域に対し、第１姿勢に対する視界画像を適用するように視界を調整する。即ち、姿勢変更前の姿勢（例えば「座位」姿勢）時における視界画像を、姿勢変更後の姿勢（例えば「臥位」姿勢）での仮想カメラからの視界領域に提供してＨＭＤに表示する。当該視界調整処理の詳細については、図１１以降を用いて処理フローを用いて後記する。
【００３０】
なお図８において、様々な処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の集積回路で構成することができ、ソフトウェア的には、メモリにロードされた各種プログラムなどによって実現される。したがって、これらの機能ブロックがハードウェア、ソフトウェア、又はそれらの組み合わせによって実現できることが当業者に理解されて然るべきである。
【００３１】
次に、図１１および図１２を参照して、ユーザの姿勢変更に伴う視界調整をコンピュータに制御させるための処理フローについて説明する。図示のように、情報処理は、主に、ＨＭＤ１１０とコンピュータ（制御回路部）１２０の間の相互作用を通じて実施される。図１１は、ユーザのＨＭＤ傾け動作と共に没入型３次元仮想空間における視界を変更しながら視界画像を表示する所謂通常モードでの処理フローについて示す。一方、図１２は、ユーザの実世界における姿勢変更を検知することを通じて、仮想空間内での視界調整を実施する所謂視界調整モードでの処理フローについて示す。
【００３２】
まず図１１では、ＨＭＤ１１０は、ステップＳ１０−１のように、定常的に各センサ１１４／１３０を用いてユーザ頭部の動きを検知している。それを受けて、制御回路部１２０では、動き検知部２１０によってＨＭＤ１１０の位置情報および傾き情報を決定する。そして、ステップＳ２０−１では、動き検知部２１０により、位置情報に基づいて３次元仮想空間内に配置される仮想カメラの位置を決定すると共に、ステップＳ２０−２では、同じく動き検知部２１０により、傾き情報に基づき仮想カメラの向きを決定する。
【００３３】
引き続き、ステップＳ２０−３では、視界決定部２２０により、仮想カメラの位置および向き、並びに仮想カメラの所定の視野角度に基づいて、３次元仮想空間内の仮想カメラからの視界領域を決定する（図９および図１０も参照のこと。）。そして、ステップＳ２０−４では、ＨＭＤ１１２に表示するために、視界画像生成部２３０により、当該決定した視界領域に対する視界画像を生成する。具体的には、３次元仮想空間の天球面が複数のメッシュに分割されており、視界画像生成部２３０は、視界領域に対応するメッシュ部分に関連づけられた、空間情報格納部２８０に格納した仮想空間情報を用いることによって視界画像を生成することができる。次いで、ステップS１０−２に進み、ステップＳ２０−４で生成した視界画像をＨＭＤのディスプレイ１１２に表示する。
【００３４】
上記ステップＳ１０−１、Ｓ２０−１からＳ２０−４、次いでＳ１０−２が一連の基本処理ルーチンであり、アプリケーション実行中は、これらステップは基本的に繰り返し処理される。３次元仮想空間に没入したユーザにとっては、通常の動作モードとして、自身の頭部を傾ける動作を通じて、様々な位置および方向からの３次元仮想空間の視界をビュー可能である。他方、このような基本処理ルーチンと併せて、制御回路部１２０の姿勢検知部２５０では、ＨＭＤの位置センサによる傾き情報からユーザの姿勢を定常的に検知している。そこで、図１２に、ユーザの姿勢検知に関連する処理フローについて示す。
【００３５】
ステップＳ２０−５では、姿勢検知部２５０により、傾きセンサで検知される傾き情報に基づいてＨＭＤを装着した姿勢を検知する。これに併せて、ステップＳ２０−６では、姿勢検知部２５０により検知された姿勢が、第１姿勢から第２姿勢へと姿勢変更があったかを判定する。ユーザの姿勢は、傾き情報において水平面（ＸＺ平面）に対する垂直方向（Ｙ軸方向）の角度情報に基づいて判定される。また、第１姿勢から第２姿勢への姿勢変更は、第２姿勢が一定時間維持されたことをトリガにして決定するのがよい。
【００３６】
図１３に示すように、ユーザの姿勢は、例えばＨＭＤの傾き方向（視線方向）について水平面からの垂直方向の角度で決定することができる。図１３では、第１視線方向の角度がΓ１、第２視線方向の角度がΓ２であり、例えば、−１０度＜Γ１＜＋１０度である場合のユーザ姿勢は「座位」、８０度＜Γ２＜１００度である場合のユーザ姿勢は「臥位」といった具合に、視線方向についての垂直方向の角度が予め決められた範囲内にあるかに従ってユーザ姿勢を決定することができる。なお、当該範囲は任意に設定可能である。そして、角度Γ１の「座位」姿勢から角度Γ２の「臥位」姿勢へと遷移し、且つ当該「臥位」姿勢が一定時間維持された場合に、姿勢検知部２５０では実空間におけるユーザの姿勢変更があったものと判定される。
【００３７】
図１２に戻り、上記ステップＳ２０−６でユーザの姿勢変更を判定後、制御回路部１２０では、視界調整のための視界調整モードにモード変更を行う。例えば、「臥位」への姿勢変更後は「寝たままモード」として、ユーザが寝ながらにして「座位」の時の視界画像をビューできるよう視界調整用のモード変更を行う。そしてステップＳ２０−８では、視界調整部２６０によって視界調整処理を実施する。即ち、「臥位」姿勢での仮想カメラからの視界領域に対し、「座位」姿勢に対する視界画像を適用するように視界を調整する（詳細は図１４〜図１７に関連して後記する）。そして、ＨＭＤ１１０では、「座位」姿勢に対する視界画像を表示するよう、「臥位」姿勢の視界画像から画像移行させる。なお、画像移行の態様として、一度に画像切り替えを行ってもよいし、これ以外にも、時間と共に徐々にトランジションさせるものとしてもよい。このような視界調整処理を通じて、ユーザが「臥位」姿勢であっても、以前の「座位」姿勢に対する視界画像を継続してビュー可能なように視界を調整することができる。
【００３８】
ところで、人間による「座位」姿勢での頭部傾け動作と「臥位」姿勢での頭部傾け動作を比較すると、一般的には、「臥位」姿勢における方が首の可動域が小さいものとなる。即ち、「臥位」姿勢の場合に表示可能な視界全体が狭いものとなる。そこで、本発明の実施形態では、ＨＭＤの傾け動作によりユーザが仮想空間内で視界を変更する際は、視界決定部２２０において、ユーザ操作性を考慮して、「座位」姿勢時に傾きセンサにより検知される傾き情報の傾け移動量に対応した仮想カメラ移動量に対し、「臥位」姿勢時の傾け移動量に対応した仮想カメラ移動量の方が大きくなるように加重するよう工夫するのがよい。
【００３９】
次に、図１４から図１７を参照して、先に説明した図１２のステップＳ２０−８での視界調整部２６０による、第２姿勢の視界領域に対し、第１姿勢に対する視界画像を適用する視界調整処理について、その詳細を幾らかの実施例を用いて説明する。なお、ここでも第１姿勢として「座位」姿勢を、第２姿勢として「臥位」姿勢を想定する。即ち、図２に示すような姿勢変更を想定する。図１４および図１５は第１実施例を示し、図１６および図１７に第２実施例を示している。
【００４０】
図１４は、本発明の第１実施例による視界調整処理についての模式図である。図示のように、「座位」姿勢での仮想カメラからの視界領域６ａが「座位」姿勢での視界領域６ｂに対応付けられる。より詳細には、図６に示したように、３次元仮想空間は複数のメッシュを有する天球状に形成され、ここでは、仮想空間情報が各メッシュに関連付けられている。そして、「臥位」姿勢での仮想カメラからの視界領域６ｂを構成する各メッシュに対して、「座位」姿勢の視界領域を構成する各メッシュを位置合わせするように構成する。その上で、「座位」姿勢の視界領域に対する視界画像を、図１４の点線のように球面に沿ってスライド移動させることにより、視界領域６ｂにおいて表示するよう視界調整を実施する。なお、図示のように、当該視界調整時には、仮想カメラの位置が第１点（ｘａ，ｙａ，ｚａ）から第２点（ｘｂ，ｙｂ，ｚｂ）に変更され、異なる配置としている。これは、ユーザが「座位」姿勢から「臥位」姿勢へと変更する際のユーザの上半身の長さ（座高）を考慮したものである。
【００４１】
図１５は、図１４に模式的に示した第１実施例の視界調整処理についての全般処理フロー図である。ステップＳ１００−１では、視界決定部２２０により「座位」姿勢での視界領域６ａを形成するメッシュを特定する。また、視界画像生成部２３０により各メッシュに関連付けられた空間情報から視界画像を生成する。次いで、ステップＳ１００−２では、ユーザが視界を変更させた際に、視界決定部２２０により視界領域６ｂを形成するメッシュを特定する。ここでは、ユーザは「臥位」姿勢に変更したものと想定する。
【００４２】
そして、ステップＳ１００−３において、姿勢検知部２５０によりユーザの「座位」姿勢から「臥位」姿勢への姿勢変更を検知する。引き続き、ステップＳ１００−４において、視界調整部２６０により、ステップＳ１００−２で特定された視界領域６ｂのメッシュが、ステップＳ１００−１で特定された視界領域６ａのメッシュに対応付けられる。そして、ステップＳ１００−５では、視界調整部２６０により、「臥位」姿勢での視界領域６ｂの各メッシュに「座位」姿勢での視界領域６ａの各メッシュを位置合わせするように、「座位」姿勢での視界画像を天球面に沿ってスライド移動させる。そうすると、「臥位」姿勢での視界領域６ｂに「座位」姿勢での視界画像を表示される。このようにして、視界調整処理が実施される。
【００４３】
図１６は、本発明の第２実施例による視界調整処理についての模式図である。図示のように、「臥位」姿勢における仮想カメラの位置（ｘｂ，ｙｂ，ｚｂ）を中心にＸＹＺ座標の３次元仮想空間を回転させてＸ’Ｙ’Ｚ’座標に軸変換する。即ち、「座位」姿勢での視界領域６ａが回転された結果、「臥位」姿勢での視界領域６ｃとなる。より具体的には、姿勢検知部２５０によって、ユーザによる実世界での「座位」姿勢から「臥位」姿勢への姿勢変更を検知すると、傾き情報の変化に従って、視界調整部２６０によって、「臥位」姿勢における仮想カメラの位置（ｘｂ，ｙｂ，ｚｂ）を中心に３次元仮想空間の軸を回転して座標変換することを通じて視界調整を実施する。なお、実施例２においても、ユーザが「座位」姿勢から「臥位」姿勢へと変更する際のユーザの座高を考慮し、第１実施例と同様、仮想カメラの位置が回転前の第１点（ｘａ，ｙａ，ｚａ）と回転後の第２点（ｘｂ，ｙｂ，ｚｂ）で異なるものとしている。
【００４４】
図１７は、図１６に模式的に示した第２実施例の視界調整処理についての全般処理フロー図である。ステップＳ２００−１では、視界決定部２２０により「座位」姿勢での視界領域６ａを形成するメッシュを特定する。また、各メッシュに関連付けられた空間情報を用いて視界画像を生成する。その後に、ステップＳ２００−２では、姿勢検知部２５０により「座位」姿勢から「臥位」姿勢への姿勢変更を検知すると共に、視界調整部２６０により「座位」姿勢から「臥位」姿勢への傾き情報の変化を回転行列として特定する。より具体的には、図４に示したようなＸ軸を軸とした回転を示すピッチ角、Ｙ軸を軸とした回転を示すヨー角、そしてＺ軸を軸とした回転を示すロール角で決定される傾きを特定し、各角度に従って軸回転のための回転行列を決定する。なお、当業者にとって当該回転行列は公知のものである。
【００４５】
併せて、ステップＳ２００−３では、視界決定部２２０により「臥位」姿勢における３次元仮想空間内の仮想カメラの位置を特定する。そして、ステップＳ２００−４において、視界調整部２６０により３次元仮想空間の軸回転を通じた座標変換を実施する。より具体的には、ステップＳ２００−２で決定した回転行列を用いて、ステップＳ２００−３で特定した仮想カメラ位置を中心に、「座位」視界領域を「臥位」視界領域に回転させる。このようにして、最後にステップＳ２００−５において、ＨＭＤには「臥位」視界領域に「座位」視界領域の視界画像が適用され表示される。
【００４６】
以上、本発明の実施形態についていくつかの例示と共に説明してきたが、本発明は上記実施形態に限定されるものではない。特許請求の範囲に記載される本発明の趣旨及び範囲から逸脱することなく、様々な実施形態の変更がなされ得ることを当業者は理解するであろう。
【符号の説明】
【００４７】
１                仮想カメラ
２                没入型３次元仮想空間
５                視界方向
６，６ａ〜６ｃ    視界領域
１００                ＨＭＤシステム
１１０                ＨＭＤ
１１２                ディスプレイ
１１４                傾きセンサ（ジャイロ・センサ）
１２０                コンピュータ（制御回路部）
１３０                位置センサ（ポジション・トラッキング・カメラ）
２１０                動き検知部
２２０                視界決定部
２３０                視界画像生成部
２５０                姿勢検知部
２６０                視界調整部
２８０                空間情報格納部
【要約】
【課題】ユーザがＨＭＤを装着して仮想空間に没入している状態において、ユーザの姿勢に応じてＨＭＤに表示される視界を適切に自動調整して、ユーザの姿勢変更に伴う仮想空間内の視界変更を効果的に実施すること
【解決手段】本コンピュータ・プログラムは、ヘッドマウント・ディスプレイが具備する傾きセンサで検知される傾き情報に基づいて、仮想空間の仮想カメラからの視界領域を決定する視界決定部、ヘッドマウント・ディスプレイに表示するために、仮想空間情報を用いて視界領域に対する視界画像を生成する画像生成部、傾き情報に基づいて、ヘッドマウント・ディスプレイを装着したユーザの姿勢を判定すると共に、第１姿勢から第２姿勢への姿勢変更を検知する姿勢検知部、並びに、第２姿勢での仮想カメラからの視界領域に対し、第１姿勢に対する視界画像を適用するように視界を調整する視界調整部としてヘッドマウント・ディスプレイに接続されたコンピュータに機能させる。
【選択図】図８【図３】
0005952931.tif 000002
【図４】
0005952931.tif 000003
【図５】
0005952931.tif 000004
【図８】
0005952931.tif 000005
【図１３】
0005952931.tif 000006
【図１５】
0005952931.tif 000007
【図１７】
0005952931.tif 000008
【図１】
0005952931.tif 000009
【図２】
0005952931.tif 000010
【図６】
0005952931.tif 000011
【図７】
0005952931.tif 000012
【図９】
0005952931.tif 000013
【図１０】
0005952931.tif 000014
【図１１】
0005952931.tif 000015
【図１２】
0005952931.tif 000016
【図１４】
0005952931.tif 000017
【図１６】
0005952931.tif 000018