以下、添付図面を参照して、本発明の実施の形態について説明する。以下、効果に関する記載は、本発明の実施の形態の効果の一側面であり、ここに記載するものに限定されない。また、以下で説明するフローチャートを構成する各処理の順序は、処理内容に矛盾や不整合が生じない範囲で順不同である。
[第一の実施の形態]
本発明の第一の実施の形態の概要について説明をする。以下では、本発明の第一の実施の形態として、ユーザの頭部に装着することで利用される表示装置を備える表示システムを例示して説明をする。
図1は、本発明の実施の形態の少なくとも1つに対応する、表示システムの構成を示すブロック図である。表示システム1は、向き特定部101、第一表示部102、及び第二表示部103を少なくとも備える。
向き特定部101は、表示装置の向きを特定する機能を有する。第一表示部102は、表示装置の表示画面に、特定された向きに応じて仮想空間の状態を示す第一画像を表示する機能を有する。第二表示部103は、特定された向きに対応する視軸が、仮想空間内の所定のオブジェクトと重なる場合に、第一画像に重ねて生成された表示領域上に、第一画像とは異なる第二画像を表示する機能を有する。
本発明の第一の実施の形態における実行処理について説明する。図2は、本発明の実施の形態の少なくとも1つに対応する、実行処理のフローチャートである。
表示システム1は、向き特定部101により、ユーザの頭部に装着することで利用される表示装置の向きを特定する(ステップS1)。表示システム1は、表示装置の表示画面に、特定された向きに応じて仮想空間の状態を示す第一画像を表示する(ステップS2)。表示システム1は、特定された向きに対応する視軸が、仮想空間内の所定のオブジェクトと重なる場合に、第一画像に重ねて生成された表示領域上に、第一画像とは異なる第二画像を表示し(ステップS3)、終了する。
第一の実施の形態の一側面として、複雑な操作や動作を行わなくても、第一画像に重ねて生成された表示領域上に、第一画像とは異なる第二画像を表示することができる。
第一の実施の形態において、「頭部に装着」とは、例えば、帽子のように頭に被ること、眼鏡のように顔に付けること、あるいは、その他頭部の一部に付着させることをいい、身体の一部から延長させて頭部を覆うような場合も含む概念である。「表示装置」とは、例えば、両眼あるいは単眼で画像を視認可能な表示装置であって、装着すると外の様子を見ることができない非透過型や、眼鏡のように透明な部材で外の様子を見ることが可能な透過型を含むものである。「向き」とは、例えば、単に物体の方向や角度だけでなく、加速度のような単位時間の変化量に関する方向を含む概念である。「仮想空間」とは、例えば、プログラム及びデータにより定義される空間であって、コンピュータにより生成される仮想的な空間をいう。「第一画像」とは、例えば、仮想空間の状態を示す画像をいう。「視軸」とは、例えば、仮想カメラの視点から視線方向に延びる軸をいう。
[第二の実施の形態]
本発明の第二の実施の形態の概要について説明をする。以下では、本発明の第二の実施の形態として、ユーザの頭部に装着することで利用される表示装置を備える表示システムを例示して説明をする。
表示システムの構成に関しては、図1に記載された内容を必要な範囲で採用できる。実行処理のフローチャートに関しては、図2に記載された内容を必要な範囲で採用できる。
第二の実施の形態の一例として、視軸が仮想空間内の所定のオブジェクトと重なった状態が、所定の時間継続した場合に、第二表示部103が表示領域上に第二画像を表示することが好ましい。
第二の実施の形態の一側面として、複雑な操作や動作を行わなくても、第一画像に重ねて生成された表示領域上に、第一画像とは異なる第二画像を表示することができる。
第二の実施の形態の一側面として、視軸と仮想空間内の所定のオブジェクトとが重なった状態が所定の時間継続した場合に、第二画像を表示することで、ユーザが意図しない第二画像の表示を抑制し、ユーザが表示することを意図した第二画像だけを表示可能にして、利便性を向上させることができる。
第二の実施の形態において、「頭部に装着」、「表示装置」、「向き」、「仮想空間」、「第一画像」、及び「視軸」とは、それぞれ第一の実施の形態において記載した内容を必要な範囲で採用できる。
[第三の実施の形態]
本発明の第三の実施の形態の概要について説明をする。以下では、本発明の第三の実施の形態として、ユーザの頭部に装着することで利用される表示装置を備える表示システムを例示して説明をする。
表示システムの構成に関しては、図1に記載された内容を必要な範囲で採用できる。実行処理のフローチャートに関しては、図2に記載された内容を必要な範囲で採用できる。
第三の実施の形態の一例として、視軸が仮想空間内の第1オブジェクトと重なった状態が所定の時間継続することで、第二表示部103が表示領域上に第1オブジェクトに対応する第二画像を表示した後に、視軸が仮想空間内の第2オブジェクトと重なった状態が所定の時間継続した場合に、第二表示部103が表示領域上に第1オブジェクトに対応する第二画像に代えて、該第2オブジェクトに対応する第二画像を表示することが好ましい。
第三の実施の形態の一側面として、複雑な操作や動作を行わなくても、第一画像に重ねて生成された表示領域上に、第一画像とは異なる第二画像を表示することができる。
第三の実施の形態の一側面として、視軸と仮想空間内の所定のオブジェクトとが重なった状態が所定の時間継続した場合に、第二画像を表示することで、ユーザが意図しない第二画像の表示を抑制し、ユーザが表示することを意図した第二画像だけを表示可能にして、利便性を向上させることができる。
第三の実施の形態の一側面として、第1オブジェクトに対応する第二画像を表示した後に、視軸が第2オブジェクトと所定の時間継続して重なった場合に、第1オブジェクトに対応する第二画像に代えて、第2オブジェクトに対応する第二画像を表示することで、視軸をオブジェクトに重ねるだけで第二画像の表示を更新することができ、ユーザの操作性をより向上させることができる。複数の第二画像を表示しないため、処理負荷の軽減にも寄与する。
第三の実施の形態において、「頭部に装着」、「表示装置」、「向き」、「仮想空間」、「第一画像」、及び「視軸」とは、それぞれ第一の実施の形態において記載した内容を必要な範囲で採用できる。
[第四の実施の形態]
次に、本発明の第四の実施の形態の概要について説明する。本発明の第四の実施の形態として、ユーザの頭部に装着することで利用される表示装置を備える表示システムを例示して説明をする。
図3は、本発明の実施の形態の少なくとも1つに対応する、表示システムの構成を示すブロック図である。図3(a)は、表示システムの構成に関する1つの例を表す図である。表示システム1は、動きや向きを検知するためのセンサを搭載したディスプレイ装置201と、光線を照射する照射装置202と、ディスプレイ装置201にて表示される画像を生成又は処理するコンピュータ装置203と、センサを搭載したコントローラ204とから構成される。
ディスプレイ装置201は、視界を覆うようにして頭部に装着するゴーグル型の表示装置であることが好ましい。ディスプレイは高い透過率を有する透過型ディスプレイであっても、低い透過率を有する非透過型ディスプレイであってもよい。また、ディスプレイ装置201は、搭載された複数のセンサを用いて、ユーザの姿勢を特定することができる。ディスプレイ装置201の構成については後述する。
照射装置202は、広範囲にレーザ光線を照射する装置である。照射装置202の周囲にレーザ光線が照射されると、ディスプレイ装置201及びコントローラ204に搭載された光センサによってレーザ光線が感知され、ディスプレイ装置201及びコントローラ204の位置を特定する。この位置特定方法は、「Lighthouse方式」と呼ばれるものである。照射装置202は、より正確に位置を特定するために、所定の間隔を空けて少なくとも2台設置されることが好ましい。
コンピュータ装置203は、ディスプレイ装置201及びコントローラ204と通信により接続可能である。通信は、有線又は無線によるものであってもよい。コンピュータ装置203は、ディスプレイ装置201と互いに独立した装置であってもよいし、ディスプレイ装置201に組み込まれた一体の装置であってもよい。
コントローラ204は、ボタンとトリガを備え、ユーザの操作により入力を受け付ける入力装置である。また、光センサが搭載されており、照射装置202から照射されたレーザ光線を感知することができる。さらに、タッチセンサが搭載されており、ユーザの接触による入力を受け付けることができる。コントローラ204は、一対にして左右の手に把持して使用するものであるが、いずれか1つのみを使用するものであってもよい。
図3(b)は、図3(a)に示す表示システムとは異なる表示システムの構成に関する1つの例を表す図である。図3(b)に示す表示システムは、光源となる発光部を備えるディスプレイ装置251と、ディスプレイ装置251やコントローラ254の光源となる発光部から発せられた光を撮影する撮影装置252と、ディスプレイ装置251にて表示される画像を生成又は処理するコンピュータ装置253と、光源となる発光部を備えるコントローラ254とから構成される。
ディスプレイ装置251は、ディスプレイ装置201と同様に、視界を覆うようにして頭部に装着するゴーグル型の表示装置であることが好ましい。ディスプレイは高い透過率を有する透過型ディスプレイであっても、低い透過率を有する非透過型ディスプレイであってもよい。
撮影装置252は、ディスプレイ装置251及びコントローラ254の光源となる発光部から発せられた光を撮影することにより、ディスプレイ装置251及びコントローラ254の位置を特定するための装置である。
コンピュータ装置253は、ディスプレイ装置251及びコントローラ254と通信により接続可能である。通信は、有線又は無線によるものであってもよい。
コントローラ254は、ボタンを備え、ユーザの操作により入力を受け付ける入力装置である。光源となる発光部を備え、コントローラ254から発せられた光を撮影装置252が撮影することにより、コントローラ254の位置を特定する。コントローラは手に把持するものであり、対にして使用することが好ましいが、1つのコントローラを使用するものとしてもよい。
以下の説明において、本発明の実施の形態においては、図3(a)に示した方式により、ディスプレイ装置201及びコントローラ204の位置を特定するものとしたが、本発明はこの方式に限定されない。例えば、図3(b)に示した方式や、頭部以外の身体の一部に装着し、ディスプレイ装置201及びコントローラ204の位置を特定する方式であってもよい。
ディスプレイ装置201に表示される画像は、ディスプレイ装置201に搭載されたセンサにより測定された値、及び、コントローラ204へのユーザの入力操作に基づいて、コンピュータ装置203により生成又は処理された画像である。
ここで、ディスプレイ装置201の構成について説明する。図4は、本発明の実施の形態の少なくとも1つに対応する、ディスプレイ装置の構成を示すブロック図である。ディスプレイ装置201は、制御部11、RAM(Random Access Memory)12、ストレージ部13、撮像部14、グラフィックス処理部15、表示部16、センサ部18、通信インタフェース19、インタフェース部20、及びレンズ21からなり、それぞれ内部バスにより接続されている。
制御部11は、CPU(Central Processing Unit)やROM(Read Only Memory)から構成される。制御部11は、ストレージ部13に格納されたプログラムを実行し、ディスプレイ装置201の制御を行う。RAM12は、制御部11のワークエリアである。ストレージ部13は、プログラムやデータを保存するための記憶領域である。
制御部11は、プログラム及びデータをRAM12及びストレージ部13から読み出して処理を行う。制御部11は、RAM12にロードされたプログラム及びデータを処理することで、描画命令をグラフィックス処理部15に出力する。さらに、制御部11は、センサ部18において測定された各種の値に基づいて処理を行う、あるいは、インタフェース部20を介してコンピュータ装置3へデータを送信する。
撮像部14は、レンズ21を介して撮影した画像をグラフィックス処理部15へ出力する。ディスプレイ装置201を頭部に装着することによって視界が覆われる場合には、装置外部の情報を確認することができないため、後述する表示部16が備える表示画面17に、撮像部14により撮像された情報を表示させることで、ユーザは現実空間を認識することができ、安全性を確保することができる。
グラフィックス処理部15は、フレーム単位で1枚の画像の描画を実行する。画像の1フレーム時間は、例えば30分の1秒である。グラフィックス処理部15は、描画に関する演算処理の一部を受け持ち、システム全体の負荷を分散させる役割を有する。
表示部16は、表示画面17を備え、ユーザの視界を覆うディスプレイ装置201のゴーグル内部に設置される。表示画面17には、例えば、有機ELや無機ELが使用されるが、これに限定されるものではなく、スマートフォン等のディスプレイを備える端末装置を組み込むようにしてもよい。
センサ部18は、近接センサ18a、赤外線センサ18b、ジャイロセンサ18c、及び、加速度センサ18dを少なくとも備える。近接センサ18aは、ディスプレイ装置201のゴーグル部分に設置され、ユーザの顔部との接触有無を判定するために用いる。赤外線センサ18bは、ディスプレイ装置201に複数設置されるものであり、照射装置202から照射された光線を感知することで、ディスプレイ装置201の位置を特定するために用いる。ジャイロセンサ18c、及び加速度センサ18dは、ユーザの姿勢を特定するために用いる。
ここで、図を用いてユーザの姿勢の特定方法について説明する。図5は、本発明の実施の形態の少なくとも1つに対応する、ディスプレイ装置を頭部に装着した場合にユーザの姿勢を特定するための直交座標系を示す図である。
図示するように、ディスプレイ装置201を装着したユーザの頭部を中心にして、XYZ座標を規定する。ユーザが直立する垂直方向をY軸(ヨー角)、Y軸と直交し、かつ、ディスプレイ装置201の表示画面17の中心とユーザの頭部とを結ぶ方向をZ軸(ロール角)、Y軸及びZ軸と直交する方向をX軸(ピッチ角)とする。ジャイロセンサ18cでは、各軸回りの角度(傾き)を検出し、加速度センサ18dでは、ディスプレイ装置201の動きを検知し、検出された角度及び検知された動きに応じて、表示画面17に表示される画像を変化させる。ディスプレイ装置201は、複数のセンサにより測定された値(以下、姿勢情報という)を用いて、ユーザの姿勢を特定することができる。
続いて、通信インタフェース19は、無線又は有線により通信回線5に接続が可能であり、通信回線5を介してデータを受信することが可能である。通信インタフェース19を介して受信したデータは、RAM12にロードされ、制御部11により演算処理が行われる。
インタフェース部20は、主にコンピュータ装置203と接続され、コンピュータ装置203において処理又は生成された画像等のデータを受信することができる。また、センサ部18において取得した各種センサの測定値をコンピュータ装置203へ送信することもできる。
続いて、コンピュータ装置203について説明する。図6は、本発明の実施の形態の少なくとも1つに対応する、コンピュータ装置の構成を示すブロック図である。コンピュータ装置203は、制御部31、RAM32、ストレージ部33、サウンド処理部34、グラフィックス処理部35、DVD/CD−ROMドライブ36、通信インタフェース37、インタフェース部38、及びフレームメモリ39からなり、それぞれ内部バスにより接続されている。
制御部31は、CPUやROMから構成される。制御部31は、ストレージ部33に格納されたプログラムを実行し、コンピュータ装置203の制御を行う。また、制御部31は時間を計時する内部タイマを備えている。RAM32は、制御部31のワークエリアである。ストレージ部33は、プログラムやデータを保存するための記憶領域である。
制御部31は、プログラム及びデータをRAM32から読み出して処理を行なう。制御部31は、RAM32にロードされたプログラム及びデータを処理することで、描画命令をグラフィックス処理部35に出力する。
サウンド処理部34は、サウンド出力装置40に接続されている。制御部31がサウンド出力の指示をサウンド処理部34に出力すると、サウンド処理部34はサウンド出力装置40にサウンド信号を出力する。サウンド出力装置40は、例えば、ヘッドフォンであり、ユーザがディスプレイ装置201とともに頭部に装着してもよいし、スピーカがディスプレイ装置201に組み込まれていてもよい。
グラフィックス処理部35は、フレーム単位で1枚の画像の描画を実行する。画像の1フレーム時間は、例えば90分の1秒である。グラフィックス処理部35は描画に関する演算処理の一部を受け持ち、システム全体の負荷を分散させる役割を有する。コンピュータ装置203のグラフィックス処理部35は、ディスプレイ装置201の位置情報及び姿勢情報と、コントローラ204の位置情報とに基づいて、表示画面17に表示する画像を生成するため、ディスプレイ装置201に含まれるグラフィックス処理部15よりも高い性能を要する。
DVD/CD−ROMドライブ36は、ディスク41からデータを読み込み、RAM32にロードされ、制御部31により演算処理が行われる。なお、ディスク41の種類はDVD又はCDに限らず、Blu−ray(登録商標)ディスクやその他の規格であってもよい。
通信インタフェース37は無線又は有線により通信回線5に接続が可能であり、通信回線5を介してデータを受信することが可能である。通信インタフェース37を介して受信したデータは、ディスク41から読み込まれたデータと同様に、RAM32にロードされ、制御部31により演算処理が行われる。
インタフェース部38は、主にディスプレイ装置201と接続され、コンピュータ装置203において処理又は生成された画像等のデータを送信することができる。
なお、上述の説明において、ディスプレイ装置201とコンピュータ装置203とは別装置として記載したが、ディスプレイ装置201によりコンピュータ装置203の処理をすべて行うこととしてもよい。この場合には、コンピュータ装置203は不要となり、コントローラ204はディスプレイ装置201と通信により接続される。
続いて、本発明の実施の形態における表示システムの構成について説明する。図7は、本発明の実施の形態の少なくとも1つに対応する、表示システムの構成を示すブロック図である。表示システム1は、角度情報測定部301、位置及び向き特定部302、情報送信部303、情報受信部304、視線特定部305、交差判定部306、計時部307、経過時間判定部308、仮想カメラ位置特定部309、サブウィンドウ画像生成部310、コントローラ入力受付判定部311、表示画像生成部312、画像送信部313、画像受信部314、及び画像表示部315を少なくとも備える。
角度情報測定部301は、ディスプレイ装置201の姿勢から角度情報を測定する機能を有する。位置及び向き特定部302は、ディスプレイ装置201に搭載された光センサが、照射装置202から照射されたレーザ光線を感知し、ディスプレイ装置201の位置及び向きを特定する機能を有する。情報送信部303は、ディスプレイ装置201において測定された角度情報と特定された位置及び向き情報とをコンピュータ装置203へ送信する機能を有する。
情報受信部304は、情報送信部303により送信された情報を受信する機能を有する。視線特定部305は、情報受信部304により受信された情報に基づいて、仮想空間におけるユーザの視線を特定する機能を有する。交差判定部306は、仮想空間内に配置されたオブジェクトと、視線特定部305により特定された視線とが交差するか否かを判定する機能を有する。
計時部307は、オブジェクトと視線とが交差したと判定されてから継続して交差していた時間を計時する機能を有する。経過時間判定部308は、計時部307により計時された時間が、所定の時間を経過したか否かを判定する機能を有する。仮想カメラ位置特定部309は、視線特定部305により特定された視線と交差するオブジェクトを撮像可能な仮想カメラの位置を特定する機能を有する。
サブウィンドウ画像生成部310は、仮想カメラ位置特定部309により特定された位置から撮像した画像を生成する機能を有する。コントローラ入力受付判定部311は、コントローラ204からの入力を受け付けたか否か判定する機能を有する。表示画像生成部312は、表示する画像を生成する機能を有する。
画像送信部313は、表示画像生成部312により生成された表示画像をディスプレイ装置201へ送信する機能を有する。画像受信部314は、画像送信部313により送信された表示画像を受信する機能を有する。画像表示部315は、画像受信部314により受信された表示画像を表示画面17に表示する機能を有する。
続いて、本発明の第四の実施の形態における実行処理について説明する。本発明の第四の実施の形態の一例として、コンテンツを閲覧するシステムが挙げられる。より具体的には、コンテンツは複数枚の紙面から構成され、ストーリーの展開に応じて進行する漫画に関するデータであって、漫画の一コマ単位に、ユーザの操作により、漫画の一コマを表す仮想空間に入り込むことができる表示システムである。
図8は、本発明の実施の形態の少なくとも1つに対応する、実行画面の例である。図8(a)において、表示画面17には、漫画の一コマの状況が表示され、キャラクタ401と、サブウィンドウ402とが表示されている。サブウィンドウ402には、表示画面17に表示された画像を撮像する仮想カメラとは異なる仮想カメラにより撮像された画像が表示される。図8では、キャラクタ401の顔が拡大されて表示されている。
図8(b)は、図8(a)の状況から、ユーザが視線(以下、視軸ともいう)を左方向へ動かしてディスプレイ装置201の向きを変更した実行画面の例である。ユーザが頭部を動かすことで、ユーザに対して図8(a)より左側の仮想空間が表示画面17に表示される。この場合に、サブウィンドウ402は、表示画面17における所定の領域に表示されたままであり、ユーザの頭部の動きに応じて位置が変化しない。所定の領域とは、表示画面17に含まれる一部の領域であればよく、表示画面17の右下には限定されない。
サブウィンドウ402は、漫画の一コマに関連付けて記憶されることで、漫画の一コマを表す仮想空間に入り込むと常に表示されるように設計してもよい。つまり、表示画面17に表示される画像が属性情報として、例えば、サブウィンドウ402を表示するフラグを有するようにしてもよい。あるいは、画像が示す内容が特定のシーンである場合に、サブウィンドウ402を表示するように、画像の内容に応じて表示するものであってもよい。
サブウィンドウ402は、所定の条件を満たした場合に表示されるように設計してもよい。所定の条件とは、例えば、コントローラ204において入力操作を受け付けられた場合や、ディスプレイ装置201の姿勢から特定された向きと仮想カメラの視軸を対応させ、視軸が仮想空間内のオブジェクトと交差したと判定された場合等が挙げられる。
続いて、本発明の第四の実施の形態における、表示画面に表示する画像の生成について説明する。プログラムが実行されると、コンピュータ装置203の制御部31は、プログラムによって定義される仮想空間をグラフィックス処理部35に出力させる。また、ディスプレイ装置201を頭に装着したユーザの位置、及び、コントローラ204の位置を、照射装置202から照射された光線を受光した位置及び方向に基づいて特定する。さらに、ディスプレイ装置201のセンサ部18の各種センサの測定値により、ディスプレイ装置201の姿勢を特定する。
プログラムによって定義される仮想空間について説明する。図9は、本発明の実施の形態の少なくとも1つに対応する、仮想空間の概念を表す図である。プログラムにより定義される仮想空間70が、図示するように半球状の空間で表される場合に、ディスプレイ装置201を頭部に装着したユーザ80の視野は、可視領域81に該当する。すなわち、可視領域81に該当する映像が、ディスプレイ装置201の表示画面17に表示される。例えば、ユーザ80が左を向けば、ユーザ80の動きにしたがって、可視領域81は左側に移動する。上下方向についても同様に、例えば、ユーザ80が上を向けば、ユーザ80の動きにしたがって、可視領域81は上側に移動する。
[実行処理]
図10は、本発明の実施の形態の少なくとも1つに対応する、実行処理のフローチャートである。最初に、ディスプレイ装置201は、ディスプレイ装置201の姿勢から角度情報を測定する(ステップS11)。角度情報は、ディスプレイ装置201のセンサ部18に含まれる各種センサにより測定される。
次に、ディスプレイ装置201に搭載された光センサが、照射装置202から照射されたレーザ光線を感知することにより、ディスプレイ装置201は、ディスプレイ装置201の位置及び向きを特定する(ステップS12)。ステップS11及びステップS12の処理は、所定の間隔毎に行い、測定又は特定の都度、コンピュータ装置203へ送信して、ディスプレイ装置201の表示画面17において表示する表示用画像を生成してもよい。
次に、ディスプレイ装置201は、ステップS11において測定された角度情報、及び、ステップS12において特定された向き及び位置に関する情報をコンピュータ装置203へ送信する(ステップS13)。次に、コンピュータ装置203は、情報を受信し(ステップS14)、ステップS11において測定された角度情報、及び、ステップS12において特定された位置及び向きに関する情報に基づいて、仮想空間におけるユーザの視線を特定する(ステップS15)。
仮想空間におけるユーザの視線とは、ディスプレイ装置201の角度情報(水平面に対する傾きに関する情報)、位置に関する情報、及び向きに関する情報(水平面に平行な平面上でどの方向を向いているかに関する情報)に基づいて特定される可視領域81において、ユーザが仮想空間内で見ていると推測される方向である。つまり、特定された向きは、仮想空間内における仮想カメラの視軸に対応するものである。例えば、ディスプレイ装置201の位置に仮想カメラの視点を設定し、ディスプレイ装置201の向きをもとに、視点を始点として、仮想世界における水平面に平行な平面上でどの方向へ視線が向いているかを特定し、かつ、ディスプレイ装置201の姿勢情報をもとに、該水平面に対する視線の傾きを特定することができる。さらに、仮想カメラの視点から仮想スクリーン上へ透視変換することで、ユーザの視線に対応する画像を生成することができる。このようにすることで、ユーザに意識させることなく、仮想世界において、ユーザが見ていると推測される方向に存在するオブジェクトを、ディスプレイ装置201に表示させ、ユーザの利便性を向上させるとともに、より仮想世界に没入させることが可能となる。
ところで、ディスプレイ装置201が、ディスプレイ装置201を装着したユーザの視線を追跡することができる機能を有するようにしてもよい。この場合には、ユーザの眼球の動作から視線を算出することができる。
次に、コンピュータ装置203は、ステップS15において特定されたユーザの視線と仮想空間内に配置されたオブジェクトとが交差するか否かを判定する(ステップS16)。オブジェクトとは、例えば、仮想空間内に配置され得るものであって、キャラクタ、敵キャラクタ、アイテム、あるいは、仮想空間に表示される物体等をいう。交差とは、視線と、オブジェクトを形成する境界面とが交差することをいい、線と面とが接することも含む概念である。三次元空間における線分と物体の交差判定には、例えば、レイトレーシング法において物体とレイ(光線)との交点を求めるための方法を用いることができる。その他の方法によっても可能であり、本発明の実施の形態においては、交差判定の方法が限定されるものではない。
ユーザの視線が仮想空間内の所定のオブジェクトと交差していると判定された場合(ステップS16においてYES)には、コンピュータ装置203は、コンピュータ装置203の制御部31に備えられた内部タイマにより計時を開始する(ステップS17)。
次に、コンピュータ装置203は、ステップS17において開始した計時により、所定のオブジェクトと視線との交差が継続している時間が所定の時間を経過したか否かを判定する(ステップS18)。所定時間が経過したと判定された場合(ステップS18にてYES)には、コンピュータ装置203は、ステップS15において特定された視線と交差するオブジェクトを撮像可能な仮想カメラの位置を特定する(ステップS19)。所定時間が経過していない場合(ステップS18にてNO)には、サブウィンドウは表示されない。既にサブウィンドウが表示されている場合には、既存のサブウィンドウが表示されたままの状態を維持するようにしてもよい。
ステップS19における仮想カメラの位置の特定について説明する。ここで位置を特定される仮想カメラは、視線の方向に対応する画像を撮像する仮想カメラ(以下、主仮想カメラという)とは異なる仮想カメラ(以下、副仮想カメラという)である。ステップS15において特定される仮想カメラの位置とは、副仮想カメラの位置であって、交差したオブジェクトが仮想カメラにより撮像される位置であれば任意の位置でよく、例えば、視線に対応する画像を撮像する仮想カメラとは視点が異なる、あるいは、視軸が異なるものであればよい。
次に、コンピュータ装置203は、ステップS19において特定された位置から、副仮想カメラによりオブジェクトを撮像し、サブウィンドウに表示する画像を生成する(ステップS20)。
ユーザの視線が仮想空間内の所定のオブジェクトと交差していないと判定された場合(ステップS16においてNO)には、コントローラからの所定の入力操作が受け付けられたか否かを判定する(ステップS21)。コントローラから所定の入力操作が受け付けられたと判定された場合(ステップS21にてYES)には、ステップS19に移り、副仮想カメラの位置を特定する。コントローラから所定の入力操作が受け付けられていないと判定された場合(ステップS21にてNO)には、サブウィンドウ画像は生成されない。
次に、ステップS15で特定された視線の方向に対応する画像を生成する(ステップS22)。視線の方向に対応する画像とは、主仮想カメラにより撮像された画像である。次に、コンピュータ装置203は、ステップS20において生成されたサブウィンドウ画像と、ステップS22において生成された視線の方向に対応する画像とを、ディスプレイ装置201へ送信する(ステップS23)。
ディスプレイ装置201は、ステップS23において送信された画像を受信する(ステップS24)。ディスプレイ装置201は、ステップS24において受信した画像を表示し(ステップS25)、終了する。
表示画面17における、仮想カメラにより撮像される画像の表示態様について説明する。図11は、本発明の実施の形態の少なくとも1つに対応する、仮想カメラにより撮像される画像の一例を示す図である。図11(a)は、仮想カメラによりオブジェクトを撮像する様子を表す模式図である。主仮想カメラ98は、ユーザの視線の方向に対応した画像を撮像する仮想カメラである。図11(b)は、図11(a)の状態において撮像された画像を表す図である。図11(a)において、オブジェクト91及びオブジェクト92を撮像すると、視軸αはいずれのオブジェクトとも交差しないため、サブウィンドウは表示画面17に表示されない。視線を表す点90は、表示されてもよいし、非表示であってもよい。
図12は、本発明の実施の形態の少なくとも1つに対応する、複数の仮想カメラにより撮像される画像の一例を示す図である。図12(a)では、主仮想カメラ98の視軸αとオブジェクト92とが交差する状態を表す模式図である。図12(b)は、図12(a)の状態において撮像された複数の画像を重複して表す図である。視軸αがオブジェクト92と交差するため、サブウィンドウに表示される画像を生成する副仮想カメラ99により、主仮想カメラ98とは異なる視点からオブジェクト92を撮像する。副仮想カメラ99により撮像された画像は、サブウィンドウ93に表示される。
図示するように、副仮想カメラ99による撮像が、異なる視点から撮像される場合に、主仮想カメラ98により撮像された画像の一部を拡大して表示することができ、これまでユーザが視認できなかった特徴点94を、視認可能に表示することができる。
図13は、本発明の実施の形態の少なくとも1つに対応する、複数の仮想カメラにより撮像される画像の一例を示す図である。図13(a)では、主仮想カメラ98の視軸αがオブジェクト92と交差する状態が表されている。図13(b)は、図13(a)の状態において撮像された複数の画像を重複して表す図である。視軸αがオブジェクト92と交差するため、サブウィンドウに表示される画像を生成する副仮想カメラ99により、主仮想カメラ98とは異なる視軸からオブジェクト92を撮像する。副仮想カメラ99により撮像された画像は、サブウィンドウ93に表示される。
図示するように、副仮想カメラ99による撮像が、主仮想カメラ98とは異なる視軸から撮像されることで、主仮想カメラ98により撮像された画像ではユーザが視認できなかった特徴点95を、視認可能に表示することができる。
実行処理は、所定のタイミングで繰り返し実行されるものとしてもよい。所定のタイミングとは、例えば、画面のフレームレートごと、あるいは、フレームレートの倍数のタイミングで行うことができる。
ステップS25において、ディスプレイ装置201は、受信したサブウィンドウ画像と、視線の方向に対応する画像とを重畳させて表示する。ステップS25において、既にサブウィンドウが表示されている場合には、表示されているサブウィンドウの画像に代えて、ステップS20において生成されたサブウィンドウの画像を表示し、表示内容を更新するようにしてもよい。
第四の実施の形態では、ディスプレイ装置201及びコントローラ204の位置を特定するための光線はレーザ光線であって、例えば、赤外線が挙げられるが、光線はこれに限定されず、可視光線であってもよいし、その他の不可視光線であってもよい。
第四の実施の形態では、視線が所定のオブジェクトと所定の時間交差し続けた場合にサブウィンドウを表示することとしたが、所定の時間が経過したか否かを判定することなく、視線と所定のオブジェクトとの交差に関する判定のみでサブウィンドウを表示することとしてもよい。
第四の実施の形態では、サブウィンドウが表示される位置に言及していないが、所定のオブジェクトと重畳した場合等の所定の条件を満たす場合には、サブウィンドウの位置を変更する、あるいは、サブウィンドウを表示しないようにしてもよい。
第四の実施の形態では、サブウィンドウに表示させる画像を仮想カメラにより撮像した画像としたが、これに限定されない。すなわち、仮想カメラにより撮像された画像でなくても、ユーザの視軸と交差したオブジェクトに関する画像であってもよい。例えば、オブジェクトの属性情報やオブジェクトの心理状態等見えない情報を表示するものであってもよい。また、視軸と交差したオブジェクトとは関係のない情報を表示するものであってもよい。例えば、ユーザの視軸とオブジェクトとを交差させることで、次の場面に移動するための選択肢等を表示するようにしてもよい。
第四の実施の形態では、サブウィンドウに表示させる画像を仮想カメラにより撮像した画像としたが、コンピュータ装置203のストレージ部33に格納された画像を表示してもよい。例えば、主仮想カメラにより漫画の一コマが表示されている場合に、主人公キャラクタに視線方向を合わせると、主人公キャラクタの身体の一部がサブウィンドウに表示され、漫画のストーリーが進行されるようにしてもよい。また、サブウィンドウの表示に合わせて音声を出力するようにしてもよい。
第四の実施の形態の一側面として、表示画面の所定の領域に、複雑な操作や動作を行わなくても、第一画像に重ねて生成された表示領域上に、第一画像とは異なる第二画像を表示することができる。
第四の実施の形態の一側面として、視軸と仮想空間内の所定のオブジェクトとが重なった状態が所定の時間継続した場合に、第二画像を表示することで、ユーザが意図しない第二画像の表示を抑制し、ユーザが表示することを意図した第二画像だけを表示可能にして、利便性を向上させることができる。
第四の実施の形態の一側面として、第1オブジェクトに対応する第二画像を表示した後に、視軸が第2オブジェクトと所定の時間継続して重なった場合に、第1オブジェクトに対応する第二画像に代えて、第2オブジェクトに対応する第二画像を表示することで、視軸をオブジェクトに重ねるだけで第二画像の表示を更新することができ、ユーザの操作性をより向上させることができる。また、複数のサブウィンドウを表示しないため、処理負荷の軽減にも寄与する。
第四の実施の形態の一側面として、ユーザの視軸と交差した所定のオブジェクトに関する画像をサブウィンドウに表示することにより、ユーザが入力操作をすることなく所定のオブジェクトに関する情報を知ることができる。また、ユーザの視軸が当たっている場所を認識することができるという利点もある。
第四の実施の形態の一側面として、視軸が重なったオブジェクトを拡大した画像をサブウィンドウに表示することで、従来表示できなかった情報をユーザに与えることができ、ユーザの利便性を向上させることができる。また、仮想空間内のオブジェクトに対する関心を集めることができ、より深い没入感をユーザに与えることに寄与する。
第四の実施の形態において、「頭部に装着」、「表示装置」、「向き」、「仮想空間」、「第一画像」、及び「視軸」とは、それぞれ第一の実施の形態において記載した内容を必要な範囲で採用できる。
第四の実施の形態において、「拡大」とは、例えば、撮像されたオブジェクトを表す画素数と同じ又はより多くの画素数により、該オブジェクトの一部の画像を表示することをいう。
[付記]
上で述べた実施の形態の説明は、下記の発明を、発明の属する分野における通常の知識を有する者がその実施をすることができるように記載した。
[1] ユーザの頭部に装着することで利用される表示装置を備える表示システムであって、
表示装置の向きを特定する向き特定手段と、
表示装置の表示画面に、特定された向きに応じて仮想空間の状態を示す第一画像を表示する第一表示手段と、
特定された向きに対応する視軸が、仮想空間内の所定のオブジェクトと重なる場合に、第一画像に重ねて生成された表示領域上に、第一画像とは異なる第二画像を表示する第二表示手段と
を備える表示システム。
[2] 前記視軸が仮想空間内の所定のオブジェクトと重なった状態が、所定の時間継続した場合に、前記第二表示手段が表示領域上に第二画像を表示する、[1]に記載の表示システム。
[3] 前記視軸が仮想空間内の第1オブジェクトと重なった状態が、所定の時間継続することで、第二表示手段が表示領域上に第1オブジェクトに対応する第二画像を表示した後に、
前記視軸が仮想空間内の第2オブジェクトと重なった状態が、所定の時間継続した場合に、第二表示手段が表示領域上に第1オブジェクトに対応する第二画像に代えて、該第2オブジェクトに対応する第二画像を表示する、[2]に記載の表示システム。
[4] 第二画像が、前記所定のオブジェクトに関する画像である、[1]〜[3]のいずれかに記載の表示システム。
[5] 第二画像が、所定のオブジェクトを拡大した画像である、[4]に記載の表示システム。
[6] ユーザの頭部に装着することで利用される表示装置を備える表示システムにおいて実行される表示方法であって、
表示装置の向きを特定することと、
表示装置の表示画面に、特定された向きに応じて仮想空間の状態を示す第一画像を表示することと、
特定された向きに対応する視軸が、仮想空間内の所定のオブジェクトと重なる場合に、第一画像に重ねて生成された表示領域上に、第一画像とは異なる第二画像を表示することと
を実行する表示方法。