(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
[本発明の実施形態の説明]
最初に、本発明の実施形態の内容を列記して説明する。本発明の一実施形態によるHMDを制御するプログラムは、以下のような構成を備える。
(項目1)
ヘッドマウントディスプレイにユーザが没入する仮想空間を提供するプログラムであって、コンピュータに、
前記ユーザが没入する仮想空間を生成するステップと、
前記仮想空間に所定のコンテンツを構成するために連続性を有する複数の表示オブジェクトを生成し、複数の前記表示オブジェクトを前記連続性に基づいて前記仮想空間に配置するステップと、
ユーザ作用により複数の前記表示オブジェクトから選択された前記表示オブジェクトを、強調されたメイン表示として前記仮想空間に表示するステップと、
前記仮想空間を前記ヘッドマウントディスプレイに出力するステップと、
を実行させるプログラム。
(項目2)
前記仮想空間は、天球面に沿って構成されたパノラマ画像として生成され、
複数の前記表示オブジェクトは、前記天球面に沿って螺旋状に配置され、
前記螺旋の円周方向に隣接して配置された前記表示オブジェクトは、互いに連続する前記表示オブジェクトである、
項目1のプログラム。
(項目3)
前記ユーザからの第1アクションを受け付けるステップと、
前記第1アクションに基づいて、前記メイン表示とされた前記表示オブジェクトを、強調されていないサブ表示として前記仮想空間に表示するとともに、前記メイン表示とされていた前記表示オブジェクトに連続する前記表示オブジェクトを、前記メイン表示として前記仮想空間に表示するステップと、
を前記コンピュータにさらに実行させる、項目1または2のプログラム。
(項目4)
前記ユーザの基準視線を特定するステップと、
前記基準視線と前記メイン画像が関連付けられた第1モードに移行させるステップと、を前記コンピュータにさらに実行させ、
前記第1モードにおいて所定のユーザ作用を受け付けることにより、前記第1アクションが受け付けられる、
項目3のプログラム。
(項目5)
前記第1モードにおいて前記基準視線が移動された場合には、
前記メイン画像は前記基準視線に追随して移動されるとともに、前記メイン画像配置されていた前記仮想空間における部分には、前記表示オブジェクトが配置されない、
項目4のプログラム。
(項目6)
前記ユーザからの第2アクションを受け付けるステップと、
前記第2アクションに基づいて、強調されていないサブ表示として前記仮想空間に表示された前記表示オブジェクトのうちから選択された前記表示オブジェクトを、前記メイン表示として前記仮想空間に表示させるとともに、前記メイン表示とされていた前記表示オブジェクトを、前記サブ表示として前記仮想空間に表示するステップと、
を前記コンピュータにさらに実行させる、項目1〜5のいずれかのプログラム。
(項目7)
前記ユーザの基準視線を特定するステップと、
前記基準視線と前記メイン画像が関連付けられていない第2モードに移行させるステップと、を前記コンピュータにさらに実行させ、
前記第2モードにおいて所定のユーザ作用を受け付けることにより、前記第2アクションが受け付けられる、
項目6のプログラム。
(項目8)
前記ユーザの基準視線を特定するステップと、
前記基準視線と前記メイン画像が関連付けられた第1モードに移行させるステップと、
前記基準視線と前記メイン画像が関連付けられていない第2モードに移行させるステップと、を前記コンピュータにさらに実行させ、
前記第1モードと前記第2モードが切り替え可能である、項目1〜7のいずれかのプログラム。
(項目9)
前記メイン表示とされた前記表示オブジェクト以外の前記表示オブジェクトを、強調されていないサブ表示として前記仮想空間に表示させるステップと、
前記サブ表示として前記仮想空間に表示された前記表示オブジェクトのうちから選択された前記表示オブジェクトを、前記メイン表示として前記仮想空間に表示させるステップと、
前記メイン表示とされていた前記表示オブジェクトを、前記サブ表示として前記仮想空間に表示するともに、その他の前記サブ表示として前記仮想空間に表示された前記表示オブジェクトの表示を更新するステップと、
前記サブ表示として前記仮想空間に表示された前記表示オブジェクトの表示を更新する際に、表示されたコンテンツに関する視覚的効果を低減させる処理を施すステップと、
を前記コンピュータにさらに実行させる、項目1〜8のいずれかのプログラム。
【0009】
[本発明の実施形態の詳細]
本発明の実施形態に係るヘッドマウントディスプレイシステムを制御するプログラムの具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【0010】
図1は、本実施形態にかかるHMD110を備えるHMDシステム100を示す。HMDシステム100は、ユーザの頭部に装着されるHMD110と、制御回路部120と、動きセンサ130と、注視センサ140と、外部コントローラ150とを備える。
【0011】
HMD110は、非透過型の表示装置であるディスプレイ112と、センサ部114と、注視センサ140を含む。制御回路部120は、ディスプレイ112に右目用画像と左目用画像を表示することにより、両目の視差を利用した3次元画像を仮想空間として提供する。ディスプレイ112がユーザの眼前に配置されることによって、ユーザは仮想空間に没入できる。仮想空間は、背景やユーザが操作可能な各種オブジェクト、メニュー画像等を含む。
【0012】
ディスプレイ112は、右目用画像を提供する右目用サブディスプレイと、左目用画像を提供する左目用サブディスプレイを含んでもよい。また、右目用画像と左目用画像を提供できれば、1つの表示装置で構成されていても良い。例えば、表示画像が一方の目にしか認識できないようにするシャッターを高速に切り替えることにより、右目用画像と左目用画像を独立して提供し得る。
【0013】
制御回路部120は、HMD110に接続されるコンピュータである。
図2に示すように、制御回路部120は、データ伝送路としてのバスで互いに接続された処理回路と、メモリと、記憶媒体と、入出力インターフェースと、通信インターフェースを含む。処理回路は、CPU(Central Processing Unit)やMPU(Micro−processing unit)、GPU(Graphics Processing Unit)といった各種処理回路等を含んで構成され、制御回路部120およびHMDシステム100全体を制御する機能を有する。メモリはROM(Read Only Memory)やRAM(Random Access Memory)等を含んで構成され、処理回路が使用するプログラムや演算パラメータなどの制御用データを一時的に記憶する。記憶媒体は、フラッシュメモリやHDD(Hard Disc Drive)などの不揮発性記憶装置を含んで構成され、各種画像やオブジェクトに関するデータ、シミュレーションプログラムやユーザの認証プログラムが格納され、さらに、各種データを管理するためのテーブルを含むデータベースが構築されていてもよい。入出力インターフェースは、USB(Universal Serial Bus)端子やDVI(Digital Visual Interface)端子やHDMI(登録商標)(High−Definition Multimedia Interface)端子等の各種有線接続端子や、無線接続のための各種処理回路を含んで構成され、HMD110や動きセンサ130を含む各種センサ、外部コントローラ等を接続する。通信インターフェースは、ネットワークNWを介して外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んで構成され、LAN(Local Area Network)やインターネットを介して通信するための各種通信規格・プロトコルに適合するように構成されている。
【0014】
制御回路部120は、メモリや記憶媒体に格納された所定のアプリケーションを実行することにより、ディスプレイ112に仮想空間を提示する。また、メモリや記憶媒体には、当該仮想空間内に表示される各種オブジェクトを操作したり、各種メニュー画像等を表示・制御するためのプログラムが格納される。制御回路部120はHMD110に搭載されていなくてもよく、別のハードウェア(例えば公知のパーソナルコンピュータ、ネットワークを通じたサーバ・コンピュータ)として構成してもよい。また、制御回路部120は、一部の機能のみをHMD110に実装し、残りの機能を別のハードウェアに実装してもよい。
【0015】
動きセンサ130は、HMD110の位置や傾きに関する情報を検出する。動きセンサ130は、センサ部114と、検知部132を含む。センサ部114は、複数の光源を含んでもよい。光源は、例えば赤外線を発するLEDである。検知部132は例えば赤外線センサであり、光源からの赤外線をHMD110の検知点として検知することで、ユーザの動きに応じたHMD110の現実空間内における位置や角度に関する情報を経時的に検出する。そして、検知部132により検出された情報の経時的変化に基づいて、HMD110の位置や角度の時間変化を決定し、HMD110の動きに関する情報を検知することができる。
【0016】
動きセンサ130によって取得される位置や傾きに関する情報を、
図3を参照して説明する。HMD110を装着したユーザの頭部を中心として、3次元座標系を規定する。ユーザが直立する垂直方向をヨー方向とし、ヨー方向と直交しディスプレイ112の中心とユーザを結ぶ前後方向をロール方向とし、ヨー方向およびロール方向と直交する横方向をピッチ方向とする。これにより、ユーザの3次元空間内における位置の経時変化が取得される。また、ピッチ方向周りのHMD110の傾き角度としてのピッチ角、ヨー方向周りのHMD110の傾き角度としてのヨー角、ロール方向周りのHMD110の傾き角度としてのロール角が取得される。
【0017】
動きセンサ130は、ディスプレイ112の近くに固定されたセンサ部114と、検知部132の、一方のみから構成されてもよい。センサ部114が、地磁気センサ、加速度センサ、ジャイロセンサであってもよく、これらの少なくとも1つを用いて、ユーザの頭部に装着されたHMD110(特に、ディスプレイ112)の位置および傾きを検出する。これにより、HMD110の動きに関する情報を検出することができる。例えば、角速度センサは、HMD110の動きに応じて、HMD110の3軸回りの角速度を経時的に検出し、各軸回りの角度の時間変化を決定することができる。この場合には、検知部132は不要である。また、検知部132は光学カメラを含んで構成されても良い。この場合には、画像情報に基づいてHMD110の動きに関する情報を検出することができ、センサ部114は不要である。
【0018】
動きセンサ130を用いてHMD110の位置や傾きに関する情報を検出する機能をポジション・トラッキングと称する。動きセンサ130によるポジション・トラッキングと、仮想空間2内に配置される仮想カメラ1との関係を、
図4を参照して説明する。仮想カメラ1と動きセンサ130の位置関係を説明するために、以下では動きセンサ130の位置は、検知部132を有する場合には検知部132の位置とし、検知部132を有しない場合にはセンサ部114の位置とする。仮想空間2の内部に仮想カメラ1が配置され、および仮想空間2の外部(現実空間)に動きセンサ130が仮想的に配置される。
【0019】
仮想空間2は、略正方形または略長方形の複数のメッシュを有する天球状に形成される。各メッシュは仮想空間2の空間情報が関連付けられており、この空間情報に基づいて視界領域23が定義される。本実施形態では、XZ面において、天球の中心21が仮想カメラ1とセンサ130を結ぶ線上に常に配置されるように調整することが好ましい。例えば、仮想カメラ1が常に中心21に配置されてもよい。また、HMD110を装着したユーザが移動して仮想カメラ1の位置がX方向に移動した場合に、中心21が仮想カメラ1と動きセンサ130の線分上に位置するように、仮想空間2の領域が変更されてもよい。これらの場合には、仮想空間2における仮想カメラ1の位置は固定され、傾きのみが変化する。一方、動きセンサ130のXYZ方向への移動に連動して仮想カメラ1の位置を移動させるようにすれば、仮想空間2における仮想カメラ1の位置は可変に設定される。
【0020】
注視センサ140は、ユーザの右目および左目の視線が向けられる方向を検出するアイトラッキング機能を有する。注視センサ140は、右目用センサと左目用センサを備えていることが好ましく、それぞれが右目と左目の視線が向けられる方向を検出することにより、ユーザが注視する視線方向を検知する。注視センサ140はアイトラッキング機能を有する公知のセンサを採用することができ、例えば、右目及び左目に赤外光を照射し、角膜や虹彩からの反射光を取得することにより、眼球の回転角を求めることとしても良い。
【0021】
図5に示すように、注視センサ140はユーザUの右目および左目の視線方向を検知する。ユーザUが近くを見ている場合には視線R1およびL1が検知され、両者の交点である注視点N1が特定される。また、ユーザが遠くを見ている場合には、視線R1およびL1よりロール方向とのなす角が小さい視線R2およびL2が特定される。注視点N1が特定されると、ユーザUの視線方向N0が特定される。視線方向N0はユーザUが両目により実際に視線が向けられている方向である。視線方向N0は、例えばユーザUの右目Rおよび左目Lの中心と中心点N1が通る直線の伸びる方向として定義される。
【0022】
外部コントローラ150は、制御回路部120に対して各種指令を送ることができるように通信可能なデバイスであり、無線通信が可能な携帯端末で構成されてもよい。外部コントローラ150は、互いにバス接続された処理回路、メモリ、記憶媒体、通信部、表示部、および入力部を備える任意の携帯型デバイスとすることができる。例えば、スマートフォン、PDA、タブレット型コンピュータ、ゲーム用コンソール、ノートPCを適用可能であり、タッチパネルを備える携帯端末であることが好ましい。ユーザは、外部コントローラ150のタッチパネルに対し、タップ、スワイプおよびホールドを含む各種タッチ動作を実施することにより、仮想空間に表示されるオブジェクトに対して影響を及ぼすことができる。
【0023】
HMDシステム100はいずれかの要素にマイクを含むヘッドホンを備えていても良い。これにより、ユーザは仮想空間内の所定のオブジェクトに、音声による指示を与えることができる。また、仮想空間内の仮想テレビにテレビ番組の放送を受信するために、HMDシステム100はいずれかの要素にテレビジョン受像機を含んでいても良い。また、ユーザが取得した電子メール等を表示させるための、通信機能等を含んでいても良い。
【0024】
図6は、HMDシステム100における仮想空間2の表示処理や、当該仮想空間2内に表示される各種メニュー表示やオブジェクトの操作を実現するための、制御回路部120の機能を示すブロック図である。制御回路部120は、主に動きセンサ130、注視センサ140、外部コントローラ150からの入力に基づいて、ディスプレイ112への出力画像を制御する。
【0025】
制御回路部120は、表示制御部200と、オブジェクト制御部300と、通信制御部400と、記憶部500を備える。表示制御部200は、仮想空間画像生成部210と、HMD動作検知部220と、視線検知部230と、視界方向特定部240と、視界領域決定部250と、視界画像生成部260とを含む。オブジェクト制御部300は、オブジェクト特定部310と、表示態様決定部320と、表示調整部330と、モード設定部340と、判定部350と、描画部360とを含む。通信制御部400は、外部機器160にネットワークNWを介して各種データを要求する要求部410と、要求部410および外部機器との通信を処理する通信処理部420とを含む。記憶部500は、空間情報格納部510と、オブジェクト情報格納部520と、ユーザ情報格納部530とを含み、動きセンサ130や注視センサ140、外部コントローラ150からの入力に対応した出力情報をディスプレイ112へ提供するための演算に必要な各種データを含む。
【0026】
図6,
図7を参照して、仮想空間2を提供するためのHMDシステム100の処理フローを説明する。仮想空間2は、HMD110(注視センサ140、動きセンサ130)および制御回路部120の相互作用によって提供され得る。
【0027】
まず、制御回路部120(仮想空間画像生成部210)は、空間情報格納部510を参照して、ユーザが没入する仮想空間2を構成する天球状の仮想空間画像22を生成する(S120−1)。ユーザからHMD110に移動や傾きといった動作が入力されると(S110−1)、動きセンサ130によってHMD110の位置や傾きが検知される(S130−1)。動きセンサ130の検知情報は制御回路部120に送信され、HMD動作検出部220により、HMD110の位置情報や傾き情報が受け付けられる。これにより、HMD110の位置情報や傾き情報に基づく視界方向が決定される(S120−2)。
【0028】
注視センサ140がユーザの左右の目の眼球の動きを検出すると(S140−1)、当該情報が制御回路部120に送信される。視線検知部230は、右目および左目の視線が向けられる方向を特定し、視線方向N0が特定される(S120−3)。基準視線特定部240は、HMD110の傾きにより特定された視界方向、または、ユーザの視線方向N0を基準視線5として特定する(S120−4)。
【0029】
視界領域決定部250は、仮想空間2における仮想カメラ1の視界領域23を決定する(S120−5)。
図4に示すように、視界領域23は仮想空間画像22のうちユーザの視界を構成する部分である。視界領域23は基準視線5に基づいて定められ、基準視線5は仮想カメラ1の位置および傾きに基づいて定められる。
図8Aは視界領域23をX方向から見たYZ面図であり、
図8Bは視界領域23をY方向から見たXZ面図である。
【0030】
視界領域23は、基準視線5と仮想空間画像22のYZ断面によって定義される範囲である第1領域24(
図8A参照)と、基準視線5と仮想空間画像22のXZ断面によって定義される範囲である第2領域25(
図8B参照)とを有する。第1領域24は、基準視線5を中心として極角αを含む範囲として設定される。第2領域25は、基準視線5を中心として方位角βを含む範囲として設定される。
【0031】
視界画像生成部260は、視界領域23に基づいて視界画像26を生成する(S120−6)。視界画像は左目用と右目用の2つの2次元画像を含み、これらがディスプレイ112に重畳されることにより、3次元画像としての仮想空間2がユーザに提供されるものである。HMD110は、視界画像26に関する情報を制御回路部120から受信して、ディスプレイ112に視界画像26を表示させる(S110−2)。
【0032】
図6、および、
図9以降を参照して、ユーザに提供される仮想空間の具体例、および、当該仮想空間をユーザに提供するためのHMDシステム100の処理フローを説明する。まず、表示制御部300は、空間情報格納部510およびオブジェクト情報格納部520を参照して
図10に示すような仮想空間2と、表示オブジェクトDOを生成する(S120−7)。本実施形態では、表示オブジェクトDOは漫画といった文字やイラストを含むコンテンツを構成するものであり、複数の表示オブジェクトDOが当該コンテンツを構成するための各ページを含む。即ち、複数の表示オブジェクトDOは、当該コンテンツのストーリーに従った連続性を有する。なお、表示オブジェクトDOは、当該コンテンツとは連続性を有していないキャラクタオブジェクトCを含んでいてもよい。オブジェクト特定部310がこのような仮想空間2に配置される複数の表示オブジェクトDOを特定すると、表示態様決定部320は、複数の表示オブジェクトDOを、仮想空間2の天球面に沿って、螺旋状に配置する(S120−8)。複数の表示オブジェクトDOは、
図10および
図11A〜Dに示すように、天球面の底面側から頂部に向けてY方向に螺旋を描くように、円周方向に沿って当該コンテンツの連続性に基づいて配置される。即ち、当該螺旋の円周方向に隣接して配置された表示オブジェクトDOは、ストーリーにおいて互いに連続するページに関する表示オブジェクトDOである。また、初期状態では、螺旋状に配置される各表示オブジェクトDOは、強調表示等が施されていないサブ表示されたサブ画像Sとして配置される。
【0033】
仮想空間画像22に表示オブジェクトDOが重畳して表示される。本実施形態では、仮想空間画像22は、ユーザが仮想空間2においてコンテンツに集中できるように、色調で構成されている。例えば、仮想空間画像22は単一の色調で構成されていてもよいし、複数の色調を含むグラデーションで構成されていてもよい。
【0034】
モード設定部340は、制御回路部120における制御を第1モードに設定する(S120−9)。本実施形態では、初期状態において、第1モードに設定されている。第1モードは、後述するように、いずれかの表示オブジェクトDOを強調し、メイン表示とされたメイン画像Mを、基準視線5と関連付けて仮想空間2に表示する制御態様である。
【0035】
HMD110から位置や角度の変動といった所定の動きが入力されると(S110−3)、基準視線特定部240は基準視線5を特定する。そして、オブジェクト特定部310は、表示オブジェクトDOの中から、初期状態に基準視線5と関連付けて仮想空間に表示されるメイン画像Mを特定する(S120−10)。ユーザが初めて当該コンテンツを視聴する場合には、最初のページに相当する表示オブジェクトDOがメイン画像Mとして特定される。また、前回最後に視聴したページに栞が設定されている場合には、当該ページに相当する表示オブジェクトDOがメイン画像Mとして特定される。表示態様決定部320は、当該表示オブジェクトDOをメイン画像Mとして仮想空間2に表示するように決定する。表示調整部330は、メイン画像Mの仮想空間2における配置位置や配置角度を設定する(詳しくは後述する)。
【0036】
オブジェクト制御部300は表示オブジェクトDOの表示態様に関する情報を表示制御部200に出力し、視界画像生成部260は仮想空間画像22に表示オブジェクトDOを表示させた仮想空間2に関する情報を、HMD110に出力する。HMD110はこれを受信し、ディスプレイ112に仮想空間2を表示させる(S110−4)ことで、ユーザが没入する仮想空間2が提供される。
図10に示すように、ユーザが没入する仮想空間2は、仮想カメラ1が天球の中心21に配置され、基準視線に基づいて設定される視界領域23内にメイン画像M及びサブ画像Sが含まれることが好ましい。これにより、ユーザは漫画の各ページに囲まれた中で読み進めるという新たな体験を得ることができる。
【0037】
ユーザは、仮想空間2において第1アクションを入力することができる(S110−5)。第1アクションは、第1モードにおいてメイン画像Mとして表示されている表示オブジェクトDOを更新するための指示である。第1アクションは、HMD110の所定の動き(首を左右に振る動作)であってもよいし、注視センサ140によって取得される所定の視線移動(視線を左右に動かす動作)であってもよいし、外部コントローラ150からの入力(左右へのスワイプ操作)であってもよい。
【0038】
制御回路部120が第1モードである場合には、第1アクションによってメイン画像Mに表示されるページをめくることができる(S120−11,S120−12)。例えば、ユーザが右方向への移動操作(首、視線、スワイプ)を入力した場合、
図11Aに示すように、メイン画像として表示されていた画像が
図11Bに示すように一つ右へ移動されるとともに、サブ画像に変化される(S120−13)。また、
図11Aにおいてメイン画像の一つ左側に配置されていたサブ画像10が、一つ右へ移動されるとともに、メイン画像に変化される(S120−14)。また、その他の全てのサブ画像は、サブ画像のまま一つずつ右側へずれるように移動される。これにより、メイン画像Mに表示されるページが次のページに更新される。
【0039】
また、ユーザが左方向への移動操作(首、視線、スワイプ)を入力した場合、
図11Cに示すように、メイン画像として表示されていた画像が
図11Dに示すように一つ左へ移動されるとともに、サブ画像に変化される(S120−13)。また、
図11Cにおいてメイン画像の一つ右側に配置されていたサブ画像9が、一つ左へ移動されるとともに、メイン画像に変化される(S120−14)。また、その他の全てのサブ画像は、サブ画像のまま一つずつ左側へずれるように移動される。これにより、メイン画像Mに表示されるページが前のページに更新される。
【0040】
メイン画像Mに表示されるページを更新する場合には、各表示オブジェクトDOの位置を動かすこととしてもよいし、位置は動かすことなく表示される画像のみを更新することとしてもよい。これらの場合、表示調整部330は、
図12に示すように、各表示オブジェクトDOに表示されたコンテンツに関する視覚的効果を低減させる処理を施した上で、各表示オブジェクトに表示させるコンテンツを更新してもよい。視覚的効果を低減させる処理としては、
図12に示すように画像にブラーをかけたり、解像度を落としたり、スモークをかける等して、コンテンツの内容を認識できなくすることとしてもよい。これにより、ユーザはHMD110の動きに連動しない視覚的効果を受けることによる映像酔い(所謂VR(Virtual Reality)酔い)を低減することができる。
【0041】
本実施形態では、仮想空間画像22は色調から構成されている。この場合には、仮想空間画像22には上記の視覚的効果を低減させる処理を施さないことが好ましい。色調から構成される仮想空間画像22は、もともと視覚的効果としての情報量が少ないため、ユーザはHMD110の動きに連動しない視覚的効果を受けることによる影響が小さく、VR酔いを起こすおそれが小さい。従って、表示オブジェクトDOのみに上記の視覚的効果を低減させる処理を施すことで、制御回路部120における処理負荷を低減することができる。
【0042】
図13A,
図13B,
図14に、オブジェクト特定部310によって特定されるメイン画像Mの一例、および、表示調整部330によって決定されるメイン画像Mとサブ画像Sの関係を示す。
図13A,
図13Bに示すように、仮想カメラ1がサブ画像の中心に配置され、メイン画像はサブ画像が仮想カメラ1側に前進し、ユーザから拡大されるようにして強調表示されているものとして認識される。この時、メイン画像Mは前進すると共に、やや拡大される(例えば、1.2〜1.5倍)ことにより、さら強調して表示させることができる。本実施形態では、ユーザは仮想空間2の中心21に常に位置していることが好ましく、HMD110の動きにより、基準視線5の向きのみが変動することとされている。そして、基準視線5の向きが変動した場合、水平面(XZ面)内において全てのサブ画像Sおよびメイン画像Mが基準視線5と直交するように配置されることが好ましい。
【0043】
図14に、オブジェクト情報格納部520に格納される表示オブジェクト管理テーブルT1の一例を示す。表示オブジェクト管理テーブルT1は、コンテンツを構成する各ページ番号と画像ファイル、画像サイズ、表示方法が関連付けて記憶されている。表示態様特定部320は表示オブジェクト管理テーブルT1を参照し、表示方法が通常に設定されている場合には、
図13Aに示すように、単一の表示オブジェクトDOのみをメイン画像Mに表示させる。一方、表示方法が見開きに設定されている場合には、
図13Bに示すように、互いに連続する複数の表示オブジェクトDOを含むようにメイン画像Mに表示させる。この時、メイン画像Mのサイズは複数の表示オブジェクトDOのサイズの和とされているので、ユーザは迫力ある見開きのページを楽しむことができる。
【0044】
図15、
図16A〜Cを参照して、表示調整部330が設定するメイン画像Mの表示角度について説明する。モード設定部340により第1モードに設定されている場合に(S120−9)、HMD110から動き(基準視線5に関する情報)が入力されると(S110−3)、オブジェクト特定部310はメイン画像Mとして表示する表示オブジェクトDOを特定する(S120−10)。表示調整部330は、特定されたメイン画像Mの基準位置BPを特定する(S120−15)。
図16Aに示すように、基準位置BPはメイン画像Mに含まれる所定位置であり、サブ画像がメイン表示される場合の初期位置を設定するための基準となる位置である。本実施形態では、基準位置BPはメイン画像Mのピッチ方向における中心であり、ヨー方向における中心からヨー方向にシフトした位置(基準視線範囲BR内のいずれかの位置)に設定されている。初期状態では、基準視線5が基準位置BPと交差するように、メイン画像Mの位置が設定される。また、メイン画像Mの法線が基準視線5と仮想カメラ1の交点である基点Pと交差するように、メイン画像Mの角度が設定される(S120−16)。
【0045】
このとき、まず、基準位置BPを基準視線5に適合させるように(基準視線5が基準位置BPと交差する)ように、メイン画像Mの位置を設定する(S120−17)。そして、
図16Bに示すように、水平面(ピッチ方向とロール方向を含む面)内における基準視線5とメイン画像Mのなす角度を特定する。本実施形態では、基準視線5がメイン画像Mと直交するように、メイン画像Mの位置および角度が設定される。次に、
図16Cに示すように、垂直面(ヨー方向とロール方向を含む面)内における基準視線5とメイン画像Mのなす角度を特定する。本実施形態では、メイン画像Mの下端が仮想カメラ1側に近くなるようにメイン画像Mをピッチ方向軸周りに角度θだけ回転させ、垂直面内における基準視線5とメイン画像Mのなす角度を設定する。当該角度θは、60°より大きく、85°より小さいことが好ましい。また、垂直面内において、メイン画像Mの法線が基準視線5の基点Pと交差することが好ましい。
【0046】
描画部360は以上のように位置及び角度が設定されたメイン画像Mを描画して表示制御部200に出力し、表示制御部200はメイン画像MをHMD110に出力する(S110−4)。これにより、ユーザは基準視線5の方向に対して、水平面内において直交するようにメイン画像Mを視認できるとともに、垂直面内においてはやや上方に傾斜するようにメイン画像Mを視認できる。本実施形態では、基準視線5としてHMD110の傾きによって検出される視界方向として定義されることが好ましい。ユーザの視線は頭の正面であるロール方向よりやや下方に下がっていく傾向にあるため、前記のように配置されたメイン画像Mに自然な視線方向(注視方向GD)を送った場合、メイン画像Mをほぼ垂直な角度で視認することができる。また、メイン画像Mの法線が基準視線5の基点Pと交差するように基準位置BPを設定すれば、メイン画像Mを垂直面内においても自然に垂直な角度で視認することができる。なお、ユーザの好みに応じて基準位置BPを変更するなどして、基準視線5とメイン画像Mがなす角度θを変更できるようにしてもよい。この場合、メイン画像Mを、メイン画像Mの中心を軸として、ピッチ方向周りに回転させることにより、角度θを調整してもよい。これにより、ユーザの注視方向の下がる角度の個人差や、メイン画像Mを注視する角度の好みに応じて、仮想空間2を構成することができる。
【0047】
次に、
図17,
図18A〜Cを参照して、メイン画像Mが表示された後にユーザの基準視線5の変動が入力された場合の処理を説明する。HMD110の動きの変化により基準視線5の変化が入力された場合(S110−5)、判定部350は基準領域BREを特定する(S120−19)。本実施形態では、基準領域BREはメイン画像Mを囲む領域として設定されている。判定部350は基準視線5が基準領域BREと交差しているか否かを判定する(S120−20)。
【0048】
図18Aに示すように基準視線5が基準領域BREと交差している場合には、表示調整部330はメイン画像Mの配置位置や角度を調整しない。これにより、ユーザはメイン画像Mの隅に視線を送るために若干HMD110の傾きが変動した場合にも、それに追随してメイン画像Mの位置や角度が変動しないので、コンテンツ全体を容易に視認することができる。
【0049】
一方、
図18Bに示すように基準視線5が基準領域BREと交差していない場合には、表示調整部330はメイン画像Mの配置位置や角度を調整する。まず、
図18Cに示すように、基準視線5が基準領域BREと交差するように、メイン画像Mの位置を移動させる(S120−21)。このとき、基準視線5が基準位置BPと交差する位置までメイン画像Mを移動させることが好ましい。さらに、メイン画像Mの移動に伴って基準視線5とメイン画像Mの角度の関係を調整する(S120−22)。具体的には、
図16A〜Cに示した角度の関係とされるように、基準位置と基準視線の適合ステップ(S120−23)、水平面内における基準視線5とメイン画像Mの角度調整ステップ(S120−24)、垂直面内における基準視線5とメイン画像Mの角度調整ステップ(S120−25)を実行させる。
【0050】
描画部360は以上のように位置及び角度が設定されたメイン画像Mを描画して表示制御部200に出力し、表示制御部200はメイン画像MをHMD110に出力する(S110−6)。これにより、ユーザが姿勢を変えるような比較的大きな動きを行った場合には、基準視線の変動に追随してメイン画像Mを表示させることができる。これにより、ユーザは所望の姿勢で容易にコンテンツを楽しむことができる。
【0051】
図19,
図20A,
図20Bを参照して、モード設定部340により設定される第2モードについて説明する。所定のユーザ入力を受け付けることにより、モード設定部340が制御回路部120の制御を第2モードに設定する(S120−26)。これにより、表示態様決定部320は、
図20Aに示すように、メイン画像の表示態様を、強調されたメイン表示からサブ表示へと変更するとともに、上述のような基準視線5とメイン画像Mとの関連づけを解除する(S120−27)。これにより、ユーザは多くのサブ画像Sを一括して視認することができる。
【0052】
次に、ユーザは所望のサブ画像Sに対して、所定の第2アクションを入力する(S110−7)。第2アクションは、例えば基準視線5(HMD110の傾きに連動する視界方向、または、注視センサ140により特定される視線方向)を所望のサブ画像に一定時間以上向けるアクションである。また、外部コントローラ150により所望のサブ画像S(
図20Aにおける、見たい画像A)を選択するアクションであってもよい。制御回路部120が第2モードに設定されている場合には(S120−28)、オブジェクト制御部300はこれを受け付け、オブジェクト特定部310が第2アクションによって選択された表示オブジェクトDO(見たい画像A)を特定する(S120−29)。
【0053】
表示態様決定部320は、
図20Bに示すように、選択された表示オブジェクトDOをメイン画像として設定し、表示調整部330が当該表示オブジェクトDOの位置および角度を上述のように設定する(S120−30)。また、モード設定部340は制御回路部の処理を第1モードに設定し、ユーザの基準視線移動に従ったメイン画像の操作を可能にする(S120−30)。描画部360は以上のように位置及び角度が設定されたメイン画像Mを描画して表示制御部200に出力し、表示制御部200はメイン画像MをHMD110に出力する(S110−8)。これにより、ユーザは所望のサブ画像へとページをジャンプさせる操作が可能になるとともに、ページをジャンプした後は当該ページを読みやすい角度に表示させることができる。
【0054】
以上、本発明の実施の形態について説明したが、本発明は上記実施形態に限定されるものではない。前述の請求項に記載されるこの発明の精神及び範囲から逸脱することなく、様々な実施形態の変更がなされ得ることを当業者は理解するであろう。
【0055】
例えば、上述の実施形態においては、初期状態では制御回路部120の処理が第1モードに設定されている場合を説明したが、初期状態で第2モードに設定されていてもよい。また、第1モードと第2モードが、所定のユーザ入力によって任意に設定可能であってもよい。
【0056】
また、第1モードにおける
図13A、
図13Bに示した状態において、基準視線5が移動された際、メイン画像Mが配置されていた仮想空間2における部分には、表示オブジェクトDOが配置されないままとしてもよい。これにより、ユーザはメイン画像Mの当該コンテンツにおけるページ位置を、基準視線5を動かした場合にも容易に知ることができる。なお、基準視線5が移動された際、メイン画像Mが配置されていた仮想空間2における部分を詰めるように、サブ画像Sを移動させるようにしてもよい。