(57)【特許請求の範囲】
【請求項１】
外界をユーザが視認できるヘッドマウントデバイスで映像を再生するための方法であっ
て、
前記ヘッドマウントデバイスの制御部が、
パノラマ映像として撮影された、被写体が抽出された映像コンテンツを、前記ヘッドマウントデバイスを装着するユーザに対し表示する範囲を定義する第1の処理部、
前記ヘッドマウントデバイスの外界および前記定義された範囲の前記映像コンテンツを、前記ユーザに対し表示する第2の処理部、として動作し、
前記第1の処理部において、
仮想空間を定義し、
当該仮想空間に前記映像コンテンツを配置し、
前記仮想空間の中心とは異なる所定の位置に仮想カメラを設定し、当該仮想カメラの設定に基づき前記範囲を定義し、
前記ヘッドマウントデバイスを装着するユーザの操作に連動させて、前記仮想カメラを回転させ、
前記制御部が、
前記映像コンテンツの一部を遮蔽して、前記ユーザに前記映像コンテンツを提示し、
前記制御部が、
前記映像コンテンツを遮蔽しない範囲の情報を取得して、取得した前記遮蔽しない範囲の情報と、前記ユーザが前記映像コンテンツを視聴する空間に関する情報とに基づいて、前記仮想空間における前記仮想カメラを設定する、方法。
【請求項２】
前記ユーザの操作として、前記ヘッドマウントデバイスを装着するユーザの頭部の動きを検出し、検出した前記頭部の動きに連動させて、前記仮想カメラを回転させる、請求項１に記載の方法。
【請求項３】
前記中心の位置と、前記仮想カメラが設定される前記所定の位置とに基づいて、前記ユーザの操作に連動させて、前記仮想カメラを回転させる、請求項１または２に記載の方法。
【請求項４】
前記ユーザの操作として、前記ユーザの頭部の動きと連動させて、前記中心の位置を軸として前記仮想カメラを回転させる、請求項３に記載の方法。
【請求項５】
前記ヘッドマウントデバイスの属性の情報を取得し、前記ヘッドマウントデバイスの属性に応じて、前記仮想カメラの前記所定の位置を定義する、請求項１から４のいずれかに記載の方法。
【請求項６】
前記ヘッドマウントデバイスの制御部が、
前記ヘッドマウントデバイスの外界の所定の面を設置面として定義する第３の処理部、
前記定義された設置面上に、前記映像コンテンツの一部または全部が沿うように配置する第４の処理部として動作する、請求項１から５のいずれかに記載の方法。
【請求項７】
前記第４の処理部は、
前記映像コンテンツに付されたタグの種別に応じて、現実世界において、前記ユーザが前記映像コンテンツを視聴するための位置を前記ユーザに対し提示する、請求項６に記載の方法。
【請求項８】
前記パノラマ映像が、予め撮影された映像だけでなく、ライブ撮影された映像も含む、請求項１から７のいずれかに記載の方法。
【請求項９】
前記制御部が、
前記ユーザが前記ヘッドマウントデバイスで視聴する空間の情報を取得して、当該情報に基づいて、前記ユーザが視聴する前記映像コンテンツの候補を提示する、請求項１から８のいずれかに記載の方法。
【請求項１０】
前記映像コンテンツには、当該映像コンテンツを視聴するための空間の広さに関する情報が関連付けられており、
前記制御部が、
前記映像コンテンツに関連付けられる前記空間の広さに関する情報に基づいて、当該映像コンテンツを視聴するための空間の候補を前記ユーザに提示する、請求項１から９のいずれかに記載の方法。
【請求項１１】
前記制御部が、
前記映像コンテンツの前記被写体までの距離と、前記ユーザが前記映像コンテンツを視聴するための空間に関する情報とに基づいて、前記映像コンテンツを遮蔽する範囲を特定し、特定した範囲に基づき前記ユーザに映像コンテンツを提示する、請求項１から１０のいずれかに記載の方法。
【請求項１２】
外界をユーザが視認できるヘッドマウントデバイスで映像を再生するためのプログラムであって、コンピュータを情報処理装置として機能させ、
前記ヘッドマウントデバイスの制御部が、
パノラマ映像として撮影された、被写体が抽出された映像コンテンツを、前記ヘッドマウントデバイスを装着するユーザに対し表示する範囲を定義する第１の処理部、
前記ヘッドマウントデバイスの外界および前記定義された範囲の前記映像コンテンツを、前記ユーザに対し表示する第２の処理部、として動作し、
前記第1の処理部において、
仮想空間を定義し、
当該仮想空間に前記映像コンテンツを配置し、
前記仮想空間の中心とは異なる所定の位置に仮想カメラを設定し、当該仮想カメラの設定に基づき前記範囲を定義し、
前記ヘッドマウントデバイスを装着するユーザの操作に連動させて、前記仮想カメラを
回転させ、
前記制御部が、
前記映像コンテンツの一部を遮蔽して、前記ユーザに前記映像コンテンツを提示し、
前記制御部が、
前記映像コンテンツを遮蔽しない範囲の情報を取得して、取得した前記遮蔽しない範囲の情報と、前記ユーザが前記映像コンテンツを視聴する空間に関する情報とに基づいて、前記仮想空間における前記仮想カメラを設定する、プログラム。
【請求項１３】
外界をユーザが視認できるヘッドマウントデバイスで映像を再生するための情報処理装置であって、
前記ヘッドマウントデバイスの制御部が、
パノラマ映像として撮影された、被写体が抽出された映像コンテンツを、前記ヘッドマウントデバイスを装着するユーザに対し表示する範囲を定義する第１の処理部、
前記ヘッドマウントデバイスの外界および前記定義された範囲の前記映像コンテンツを、前記ユーザに対し表示する第２の処理部、として動作し、
前記第１の処理部において、
仮想空間を定義し、
当該仮想空間に前記映像コンテンツを配置し、
前記仮想空間の中心とは異なる所定の位置に仮想カメラを設定し、当該仮想カメラの設定に基づき前記範囲を定義し、
前記ヘッドマウントデバイスを装着するユーザの操作に連動させて、前記仮想カメラを回転させ、
前記制御部が、
前記映像コンテンツの一部を遮蔽して、前記ユーザに前記映像コンテンツを提示し、
前記制御部が、
前記映像コンテンツを遮蔽しない範囲の情報を取得して、取得した前記遮蔽しない範囲の情報と、前記ユーザが前記映像コンテンツを視聴する空間に関する情報とに基づいて、前記仮想空間における前記仮想カメラを設定する、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、映像を再生する方法、プログラム、および情報処理装置に関する。
【背景技術】
【０００２】
スマートフォンなどのデバイス、またはヘッドマウントデバイスのカメラ機能などを利用し、ディスプレイに表示された外景上に、キャラクターあるいは人物などの映像コンテンツを重ねて表示させることで、現実世界に当該キャラクターが実際にいるかのように見せる技術がある。
【０００３】
例えば、特開２０１５−０８４１５０（特許文献１）には、虚像と外景を視認可能な頭部装着型表示装置において、仮想オブジェクトに対する目標視差角などを算出し、算出結果に基づいて、仮想オブジェクトを立体表示させる技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−０８４１５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、よりユーザの没入感を高めるためのシステムが必要とされている。そこで、本開示は、キャラクター、または人物などの映像コンテンツが、現実世界の「そこ」にあるかのような没入感を高めることができる技術を提供する。
【課題を解決するための手段】
【０００６】
一実施形態によると、外界をユーザが視認できるヘッドマウントデバイスで映像を再生するための方法であって、ヘッドマウントデバイスの制御部が、パノラマ映像として撮影された、被写体が抽出された映像コンテンツを、ヘッドマウントデバイスを装着するユーザに対し表示する範囲を定義する第１の処理部、ヘッドマウントデバイスの外界および定義された範囲の映像コンテンツを、ユーザに対し表示する第２の処理部、として動作し、第１の処理部において、仮想空間を定義し、当該仮想空間に映像コンテンツを配置し、仮想空間の中心とは異なる所定の位置に仮想カメラを設定し、当該仮想カメラの設定に基づき範囲を定義し、ヘッドマウントデバイスを装着するユーザの操作に連動させて、仮想カメラを回転させる。
【発明の効果】
【０００７】
本開示によれば、キャラクターあるいは人物の映像コンテンツが、現実世界の「そこ」にあるかのような没入感を高めることができる。
【図面の簡単な説明】
【０００８】
【図１】ＨＭＤシステム１の全体およびコンピュータの構成を示すブロック図である。
【図２】ＨＭＤシステム１の全体およびコンピュータの機能的な構成を示す図である。
【図３】仮想空間を表現する一態様を概念的に表す図である。
【図４】ＨＭＤ１００を装着するユーザの頭部を上から表した図である。
【図５】仮想空間２において視界領域２３をＸ方向から見たＹＺ断面を表す図である。
【図６】仮想空間２において視界領域２３をＹ方向から見たＸＺ断面を表す図である。
【図７】コンピュータのメモリモジュールに記憶されているユーザ情報、コンテンツ情報、オブジェクト情報のデータ構造である。
【図８】ＨＭＤシステム１が視界画像データを生成する処理を表すフローチャートである。
【図９】ＨＭＤシステム１が視界画像データを生成する処理および手オブジェクトの処理を表すフローチャートである。
【図１０】ＨＭＤ１００を装着するユーザが頭部を横に動かしたとき画面例を示す図である。
【図１１】ＨＭＤ１００を装着するユーザが映像コンテンツの表示位置から離れた位置に移動したときの画面例を示す図である。
【図１２】ＨＭＤ１００を装着するユーザが映像コンテンツの表示位置の近くで頭部を縦・横に動かしたときの画面例を示す図である。
【図１３】ＨＭＤ１００を装着するユーザがタグ付けられた映像コンテンツを視聴するときの画面例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００１０】
＜第１の実施の形態＞
＜概要＞
以下の実施形態では、外界をユーザが視認できるヘッドマウントデバイス（ＨＭＤ）において、ユーザが外界を視認しつつ、パノラマ映像として撮影された映像コンテンツを重畳させて表示する技術について説明する。ここで、外界に重畳して表示される映像コンテンツは、以下のように予め用意されている場合もあれば、ライブ配信によりヘッドマウントデバイスに提供されることもある。
映像コンテンツを予め用意する場合について説明すると、映像コンテンツは、予め撮影されたパノラマ映像から、被写体を抽出したものである。パノラマ映像は、２眼カメラにより撮影された１８０度動画、または、３６０度カメラにより撮影される３６０度動画等である。パノラマ映像としては、人物のイメージ映像、複数人からなるグループにより実施される興行などを収録した映像など、商用コンテンツまたは非商用コンテンツとして予め動画配信プラットフォームまたは記録媒体等に記録された形態で一般消費者に提供されうるものを用いることとしてもよい。本実施形態では、当該パノラマ映像から、さらに、被写体を抽出したパノラマ映像を用いて、外界に重畳させて表示させる映像コンテンツとして使用する例を説明する。
【００１１】
ここで、パノラマ映像は、上記のように２眼カメラ等により撮影することで生成される。典型的には、パノラマ映像を視聴する場合、左目用のパノラマ映像と、右目用のパノラマ映像それぞれについて、全天球または半天球の仮想空間を生成し、パノラマ映像を張りつけて、仮想空間の中心に仮想カメラを設定する。そして、ヘッドマウントデバイスを装着するユーザの頭部の動き等に応じて仮想カメラを回転させることにより、パノラマ映像を視聴することができる。いわば、２眼カメラのレンズの位置を中心に、仮想空間でパノラマ映像を視聴することになる。
【００１２】
一方、ヘッドマウントデバイスでユーザが外界を視認する場合、ヘッドマウントデバイスが非透過型のものであれば、ヘッドマウントデバイスに装着され、外界を撮影するカメラの撮影画像を視認することで、ユーザが外界を視認することになる。また、透過型のヘッドマウントデバイスの場合も、同様に、ユーザの目の位置は、ユーザの体軸（頭部、胴体などを貫く回転軸）よりも離れた位置にある。
【００１３】
よって、ヘッドマウントデバイスで、ユーザに外界を視認させつつ、映像コンテンツを重ねて表示した場合に、仮想カメラを動かした（ユーザの頭部の動きに連動させて回転させる等）際、外界を視認できる範囲が変化することと、映像コンテンツを視認できる範囲が変化することとでずれが発生し、ユーザにとって違和感を与えるおそれがある。
以下、パノラマ映像として撮影された、被写体が切り抜かれた映像コンテンツを、全天球または半天球の仮想空間の中心とは異なる所定の位置に設定された仮想カメラの設定に基づき、ＨＭＤを装着するユーザの頭部の動きに連動させることで、ユーザの没入感を高めることのできるＨＭＤシステム１について説明する。
【００１４】
映像コンテンツは、以下が含まれる。
・  パノラマ映像として撮影されたコンテンツから、被写体（例えば、キャラクター、人物、または動物など）の部分のみを抽出したもの
・  ３Ｄ映像（例えば、３ＤＣＧ映像、または、立体視可能な映像など）として撮影されたコンテンツから、被写体の部分のみを抽出したもの
・  ２Ｄ映像（例えば、平面映像、イラストなど）から３Ｄ映像を生成（例えば、多方面から撮影した平面映像に基づき３Ｄ映像を生成するなど）したコンテンツから、被写体の部分のみを抽出したもの
映像コンテンツは、これらに限定されない。
【００１５】
一般的なＨＭＤでは、全天球または半天球の仮想空間を生成し、その天球型の仮想空間に映像コンテンツを貼り付けており、ユーザはＨＭＤを通じて貼り付けられた当該映像コンテンツを見ることになる。他にも、当該仮想空間中に、板状あるいは曲面状のオブジェクトを配置して当該オブジェクトに映像コンテンツを投影することとしてもよい。また、全天球または半天球の仮想空間中心に設定された仮想カメラを、ユーザの頭部の動きと連動させることにより、仮想空間上に表示された映像コンテンツの表示領域を変化させている。しかし、仮想空間に表示されている映像コンテンツは、ユーザ頭部とは異なる回転軸で撮影されたものであるために、仮想カメラを全天球または半天球の仮想空間中心に設定してしまうと、特に外景が視認可能なＨＭＤ等においては、外景の映像の変化量と映像コンテンツの変化量とにずれ（例えば、映像コンテンツの被写体が外景の変化よりも大きく動きすぎる、または外景が変化しているのに動かない）が生じ、映像コンテンツを視聴しているユーザに違和感を与え、ユーザの没入感を削いでしまうおそれがある。
【００１６】
そこで、ＨＭＤシステム１では、全天球または半天球の仮想空間２の中心ではない位置に仮想カメラ３を設定し、当該仮想カメラ３をユーザの頭部の動きと連動させることで、ユーザの没入感を高めたＨＭＤシステムを提供する。
【００１７】
また、ユーザの使用するデバイスの種類によって、ＨＭＤシステム１における仮想カメラ３の設定位置が定義される。例えば、一般的なＨＭＤとアイウェア型のＨＭＤでは、ユーザの目とモニタの距離が異なっている場合がある。そのため、全てのデバイスで仮想カメラの設定位置を同じ位置に定義してしまうと、前述のように、外景と映像コンテンツの変化量にずれが生じてしまい、ユーザの没入感を削いでしまうおそれがある。そのため、ユーザの使用するデバイスの種類によって、仮想カメラの位置が定義される。
【００１８】
よりユーザの没入感を高めるために、映像コンテンツは所定の位置（例えばユーザの部屋の床やベッド、椅子等）に沿うような形態で表示される。たとえば、ＨＭＤ１００に備えられたカメラ１０５がRGB-Dカメラのように距離を計測可能である場合に、当該カメラ１０５によってユーザの部屋を撮影し、撮影画像からユーザの部屋の床面または壁面を判定することにより、面を抽出する。カメラが距離を計測することなく、撮影画像における面を抽出するよう学習された学習済みモデルを用いて、撮影画像における面を抽出することとしてもよい。ＨＭＤシステム１は、抽出された床面または壁面に沿うように、被写体の身体（例えば、足、背中など）を配置する。また、映像コンテンツに予め付されたタグ（例えば、立位、座位、などユーザが視聴する際の推奨姿勢、位置を示すタグ）に従い、例えば、座って視聴する映像コンテンツの場合には、ユーザに視聴位置を表示することで、映像コンテンツによってユーザの没入感を削ぐことになることを防止する。
【００１９】
以上のように、ＨＭＤシステム１は、ユーザがより没入感を得られるＨＭＤシステムを提供する。
【００２０】
ＨＭＤシステム１は、例えば、商用利用または非商用利用かの目的に応じて使用され得る。例えば、商用利用においては、企業におけるイベント開催時（例えば、アイドル、または芸能人によるイベント）に、ユーザがＨＭＤシステム１を使用することで、より身近に当該アイドル、芸能人を感じることができる。また、自宅などのパーソナルスペースにおいては、当該アイドル、芸能人が実際に自宅にいるかのように感じることができる。他にも、ペットが禁止されている住居などにおいて、動物と触れ合っているかのような体験を演出することができる。
【００２１】
他にも、スポーツ観戦などにおいて、試合中の選手の目線で試合を鑑賞したり、試合前に選手との触れ合いを演出したりすることで、まるで自分の部屋がグラウンドになったかのような没入感、実際に試合会場に行っているかのような感覚を得ることができる。スポーツの種類としては、サッカー、野球、バドミントン、テニスなどの球技もあれば、レスリングなど球技ではないスポーツがあり得る。また、アーチェリー、射撃といったスコアを競う型のスポーツもあり得る。この場合、被写体のみを抽出するのではなく、グラウンドなども抽出する処理を実施してもよい。また、ミュージカルや伝統芸能などの舞台、コンサートやライブを鑑賞することで、人気のアーティストのコンサート、ライブを最前列で見ることができる。
【００２２】
その他の目的としては、ホラーゲームなど、プレイヤーが画面上の演出にのめりこんでプレイするコンテンツにも利用でき、例えば、ホラーゲームにおいて幽霊が画面から飛び出してくるような体験を提供することができる。
【００２３】
また、ＨＭＤシステム１は、例えば、レンタルスペース、商業施設等のイベントスペース、個人の家庭内等に設置され得る。例えば、各家庭内において、アイドルなどの被写体が切り抜かれた映像コンテンツを表示することで、自身の部屋に被写体が本当に居てまるで共同生活をしているかのように体験するため、ＨＭＤシステム１を導入することがあり得る。また、レンタルスペースまたはイベントスペースにおいて、ライブ映像を表示することにより、遠方で直接被写体に会いにいけないユーザに対し、ＨＭＤシステム１を利用することにより、まるでその被写体のイベントに直接参加しているかのような体験をユーザに提供することがあり得る。ここで、ライブ映像における被写体の抽出方式については、グリーンバックの背景の前に被写体を立たせ、被写体部分のみを抽出する方法でもよいし、被写体が３ＤＣＧなどのデジタルコンテンツの場合には、元となる被写体にモーションセンサ等を取り付け、センサからの信号に基づき被写体部分を抽出する方法でもよいし、ＡＩや学習済モデルに基づいて抽出すべき被写体を認識し、抽出してもよい。例えば、ライブ配信中において、被写体（配信者を含む）を撮影する撮影画像に対し、学習済みモデルを用いることにより、被写体の背景部分をぼかす、除去するなどの処理を行うこととしてもよく、これらは限定されない。
【００２４】
＜１  ＨＭＤシステム全体の構成図＞
図１は、第１の実施の形態におけるＨＭＤシステム１の全体の構成を表している。
【００２５】
図１に示すように、コンピュータ２００は、プロセッサ１０と、メモリ１１と、ストレージ１２と、入出力インターフェース１３と、通信インターフェース１４とを有している。コンピュータ２００は、図１では特に図示していない機能及び構成（例えば、電力を保持するためのバッテリ、バッテリから各回路への電力の供給を制御する電力供給回路など）も有している。図１に示すように、コンピュータ２００に含まれる各ブロックは、バス等により電気的に接続される。
【００２６】
プロセッサ１０は、コンピュータ２００に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ１１またはストレージ１２に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ１０は、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processor  Unit）、ＦＰＧＡ（Field-Programmable  Gate  Array）その他のデバイスとして実現される。
【００２７】
メモリ１１は、プログラムおよびデータを一時的に保存する。プログラムは、たとえば、ストレージ１２からロードされる。データは、コンピュータ２００に入力されたデータと、プロセッサ１０によって生成されたデータとを含む。ある局面において、メモリ１１は、ＲＡＭ（Random  Access  Memory）その他の揮発メモリとして実現される。
【００２８】
ストレージ１２は、プログラムおよびデータを永続的に保持する。ストレージ１２は、たとえば、ＲＯＭ（Read-Only  Memory）、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。ストレージ１２に格納されるプログラムは、ＨＭＤ１００において仮想空間２を提供するためのプログラム、シミュレーションプログラム、ユーザ認証プログラム、他のコンピュータ２００との通信を実現するためのプログラムを含む。ストレージ１２に格納されるデータは、仮想空間２を規定するためのデータおよびオブジェクトなどを含む。
【００２９】
なお、他の局面において、ストレージ１２は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに他の局面において、コンピュータ２００に内蔵されるストレージ１２の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する構成が使用されてもよい。このような構成によれば、たとえば、新たな映像コンテンツを取得する場面において、外部の記憶装置に保存されているプログラムおよびデータを使用することで、ネットワークを経由せずとも映像コンテンツの追加が可能になる。
【００３０】
ある実施の形態において、入出力インターフェース１３は、ＨＭＤ１００、ＨＭＤセンサ１１０またはセンサ１２０との間で信号を通信する。ある局面において、入出力インターフェース１３は、ＵＳＢ（Universal  Serial  Bus）インターフェース、ＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High-Definition  Multimedia  Interface）その他の端子を用いて実現される。なお、入出力インターフェース１３は上述のものに限られない。
【００３１】
ある実施の形態において、入出力インターフェース１３は、さらに、コントローラ１３０と通信し得る。たとえば、入出力インターフェース１３は、センサ１２０から出力された信号の入力を受ける。他の局面において、入出力インターフェース１３は、プロセッサ１０から出力された命令を、コントローラ１３０に送る。当該命令は、振動、音声出力、発光などをコントローラ１３０に指示する。コントローラ１３０は、当該命令を受信すると、その命令に応じて、振動、音声出力または発光のいずれかを実行する。
【００３２】
通信インターフェース１４は、ネットワーク１９に接続されて、ネットワーク１９に接続されている他のコンピュータ（たとえば、サーバ１５０、他のユーザのコンピュータ２００など）と通信する。ある局面において、通信インターフェース１４は、たとえば、ＬＡＮ（Local  Area  Network）その他の有線通信インターフェース、あるいは、ＷｉＦｉ（Wireless  Fidelity）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Near  Field  Communication）その他の無線通信インターフェースとして実現される。なお、通信インターフェース１４は上述のものに限られない。
【００３３】
ある局面において、プロセッサ１０は、ストレージ１２にアクセスし、ストレージ１２に格納されている１つ以上のプログラムをメモリ１１にロードし、当該プログラムに含まれる一連の命令を実行する。当該１つ以上のプログラムは、コンピュータ２００のオペレーティングシステム、仮想空間２を提供するためのアプリケーションプログラム、コントローラ１３０を用いて仮想空間２で実行可能なソフトウェアなどを含み得る。プロセッサ１０は、入出力インターフェース１３を介して、仮想空間２を提供するための信号をＨＭＤ１００に送る。ＨＭＤ１００は、その信号に基づいてモニタ１０１に映像を表示する。
【００３４】
なお、図１に示される例では、コンピュータ２００は、ＨＭＤ１００の外部に設けられる構成が示されているが、他の局面において、コンピュータ２００は、ＨＭＤ１００に内蔵されてもよい。一例として、モニタ１０１を含む携帯型の情報通信端末（たとえば、スマートフォン）がコンピュータ２００として機能してもよい。
【００３５】
第１の実施形態において、ＨＭＤ１００は、モニタ１０１と、注視センサ１０２と、スピーカ１０３と、マイク１０４と、カメラ１０５とを含む。
【００３６】
ＨＭＤ１００は、ユーザの頭部に装着され、動作中に仮想空間２をユーザに提供し得る。より具体的には、ＨＭＤ１００は、右目用の画像および左目用の画像をモニタ１０１にそれぞれ表示する。ユーザの各目がそれぞれの画像を視認すると、ユーザは、両目の視差に基づき当該画像を３次元の画像として認識し得る。
【００３７】
モニタ１０１は、たとえば、透過型の表示装置として実現される。ある局面において、モニタ１０１は、ユーザの両目の前方に位置するようにＨＭＤ１００の本体に配置されている。したがって、ユーザは、モニタ１０１に表示される外景を視認しながらも、モニタ１０１に映し出されたコンテンツ映像を視認することができ、現実世界にまるでコンテンツ映像が実際に「ある」かのように感じることができ、よりコンテンツに没入することができる。
【００３８】
また、ＨＭＤ１００は、透過型表示装置を備えていても良い。この場合、当該透過型表示装置は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。また、視野画像は仮想空間２を構成する画像の一部に、現実空間を提示する構成を含んでいてもよい。たとえば、ＨＭＤ１００に搭載されたカメラ１０５で撮影した画像を視野画像の一部に重畳して表示させてもよいし、当該透過型表示装置の一部の透過率を高く設定することにより、視野画像の一部から現実空間を視認可能にしてもよい。
【００３９】
ある実施の形態において、モニタ１０１は、所謂スマートフォンその他の情報表示端末が備える液晶モニタまたは有機ＥＬ（Electro  Luminescence）モニタとして実現され得
る。
【００４０】
ある局面において、モニタ１０１は、右目用の画像を表示するためのサブモニタと、左目用の画像を表示するためのサブモニタとを含み得る。他の局面において、モニタ１０１は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、モニタ１０１は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
【００４１】
スピーカ１０３は、コンピュータ２００から受信した音声データに対応する音声を外部に出力する。マイク１０４は、ユーザの発話に対応する音声データをコンピュータ２００に出力する。ユーザは、マイク１０４を用いてライブ配信中の被写体に対して発話する一方で、スピーカ１０３を用いてライブ配信中の被写体からの音声（発話）、または映像コンテンツに収録された音声（発話）などを聞くことができる。
【００４２】
より具体的には、ユーザがマイク１０４に向かって発話すると、当該ユーザの発話に対応する音声データがコンピュータ２００に入力される。コンピュータ２００は、その音声データを、ネットワーク１９を介してサーバ１５０に出力する。サーバ１５０は、コンピュータ２００から受信した音声データを、ネットワーク１９を介して他のコンピュータ２００に出力する。他のコンピュータ２００は、サーバ１５０から受信した音声データを、ライブ配信している被写体側に出力する。これにより、ライブ配信している被写体は、ユーザとコミュニケーションをとることができる。
【００４３】
ＨＭＤセンサ１１０は、複数の光源（図示しない）を含む。各光源は、たとえば、赤外線を発するＬＥＤ（Light  Emitting  Diode）により実現される。ＨＭＤセンサ１１０は、ＨＭＤ１００の動きを検出するためのポジショントラッキング機能を有する。ＨＭＤセンサ１１０は、この機能を用いて、現実空間内におけるＨＭＤ１００の位置および傾きを検出する。
【００４４】
なお、他の局面において、ＨＭＤセンサ１１０は、カメラ１０５により実現されてもよい。この場合、ＨＭＤセンサ１１０は、カメラから出力されるＨＭＤ１００の画像情報を用いて、画像解析処理を実行することにより、ＨＭＤ１００の位置および傾きを検出することができる。
【００４５】
他の局面において、ＨＭＤ１００は、位置検出器として、ＨＭＤセンサ１１０の代わりに、センサ１２０を備えてもよい。ＨＭＤ１００は、センサ１２０を用いて、ＨＭＤ１００自身の位置および傾きを検出し得る。たとえば、センサ１２０が、角速度センサ、地磁気センサ、加速度センサ、モーションセンサ、あるいはジャイロセンサなどである場合、ＨＭＤ１００は、ＨＭＤセンサ１１０の代わりに、これらの各センサのいずれかを用いて、自身の位置および傾きを検出し得る。一例として、センサ１２０が角速度センサである場合、角速度センサは、現実空間におけるＨＭＤ１００の３軸周りの角速度を経時的に検出する。ＨＭＤ１００は、各角速度に基づいて、ＨＭＤ１００の３軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、ＨＭＤ１００の傾きを算出する。
【００４６】
サーバ１５０は、コンピュータ２００にプログラムを送信し得る。他の局面において、サーバ１５０は、ユーザによって使用されるＨＭＤ１００に仮想現実を提供するための他のコンピュータ２００と通信し得る。たとえば、イベント施設において、施設に紐づけられたコンテンツを視聴する場合、コンピュータ２００は、イベント施設のコンピュータ２００と通信して、ユーザが被写体のライブイベントなどを楽しむことを可能にする。
【００４７】
コントローラ１３０は、ユーザからコンピュータ２００への命令の入力を受け付ける。ある局面において、コントローラ１３０は、ユーザによって把持可能に構成される。他の局面において、コントローラ１３０は、ユーザの身体あるいは衣類の一部に装着可能に構成される。他の局面において、コントローラ１３０は、コンピュータ２００から送られる信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。他の局面において、コントローラ１３０は、仮想現実を提供する空間に配置されるオブジェクトの位置あるいは動きを制御するためにユーザによって与えられる操作を受け付ける。
【００４８】
センサ１２０は、他の局面において、ユーザの手に取り付けられて、ユーザの手の動きを検出する。たとえば、センサ１２０は、手の回転速度、回転数などを検出する。センサ１２０によって得られたユーザの手の動きの検出結果を表すデータ（以下、検出データともいう）は、コンピュータ２００に送られる。センサ１２０は、たとえば、手袋型のコントローラ１３０に設けられている。ある実施の形態において、現実空間における安全のため、コントローラ１３０は、手袋型のようにユーザの手に装着されることにより容易に飛んで行かないものに装着されるのが望ましい。他の局面において、ユーザに装着されないセンサがユーザの手の動きを検出してもよい。たとえば、ユーザを撮影するカメラの信
号が、ユーザの動作を表す信号として、コンピュータ２００に入力されてもよい。センサ１２０とコンピュータ２００とは、有線により、または無線により互いに接続される。無線の場合、通信形態は特に限られず、たとえば、Ｂｌｕｅｔｏｏｔｈ（登録商標）その他の公知の通信手法が用いられる。
【００４９】
他の局面において、ＨＭＤシステム１は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。
【００５０】
ある実施の形態において、ＨＭＤシステム１では、グローバル座標系が予め設定されている。グローバル座標系は、現実空間における鉛直方向、鉛直方向に直交する水平方向、ならびに、鉛直方向および水平方向の双方に直交する前後方向にそれぞれ平行な、３つの基準方向（軸）を有する。本実施の形態では、グローバル座標系は視点座標系の一つである。そこで、グローバル座標系における水平方向、鉛直方向（上下方向）、および前後方向は、それぞれ、ｘ軸、ｙ軸、ｚ軸と規定される。より具体的には、グローバル座標系において、ｘ軸は現実空間の水平方向に平行である。ｙ軸は、現実空間の鉛直方向に平行である。ｚ軸は現実空間の前後方向に平行である。
【００５１】
ある局面において、ＨＭＤセンサ１１０は、赤外線センサを含む。赤外線センサが、ＨＭＤ１００の各光源から発せられた赤外線をそれぞれ検出すると、ＨＭＤ１００の存在を検出する。ＨＭＤセンサ１１０は、さらに、各点の値（グローバル座標系における各座標値）に基づいて、ＨＭＤ１００を装着したユーザの動きに応じた、現実空間内におけるＨＭＤ１００の位置および傾きを検出する。より詳しくは、ＨＭＤセンサ１１０は、経時的に検出された各値を用いて、ＨＭＤ１００の位置および傾きの時間的変化を検出できる。
【００５２】
グローバル座標系は現実空間の座標系と平行になるように設定することとしてもよい。したがって、ＨＭＤセンサ１１０によって検出されたＨＭＤ１００の各傾きは、グローバル座標系におけるＨＭＤ１００の３軸周りの各傾きに相当する。ＨＭＤセンサ１１０は、グローバル座標系におけるＨＭＤ１００の傾きに基づき、ｕｖｗ視野座標系をＨＭＤ１００に設定する。ＨＭＤ１００に設定されるｕｖｗ視野座標系は、ＨＭＤ１００を装着したユーザが仮想空間２において物体を見る際の視点座標系に対応する。
【００５３】
＜１．１  コンピュータ２００の機能的な構成図＞
図２は、コンピュータ２００の機能的な構成を示す図である。図２に示すように、コンピュータ２００は、表示制御モジュール２１０と、仮想空間制御モジュール２２０と、音声制御モジュール２２５と、メモリモジュール２３０と、通信制御モジュール２４０としての機能を発揮する。
【００５４】
表示制御モジュール２１０は、サブモジュールとして、仮想カメラ制御モジュール２１１と、視界領域決定モジュール２１２と、視界画像生成モジュール２１３と、基準視線特定モジュール２１４と、視線検出モジュール２１５とを含む。
【００５５】
仮想空間制御モジュール２２０は、サブモジュールとして、仮想空間定義モジュール２２１と、仮想オブジェクト生成モジュール２２２と、手オブジェクト制御モジュール２２３とを含む。
【００５６】
ある実施の形態において、表示制御モジュール２１０、仮想空間制御モジュール２２０、および音声制御モジュール２２５は、プロセッサ１０によって実現される。他の実施の形態において、複数のプロセッサ１０が表示制御モジュール２１０、仮想空間制御モジュール２２０、および音声制御モジュール２２５として作動してもよい。メモリモジュール２３０は、メモリ１１またはストレージ１２によって実現される。通信制御モジュール２４０は、通信インターフェース１４によって実現される。
【００５７】
ある局面において、表示制御モジュール２１０は、ＨＭＤ１００のモニタ１０１における画像表示を制御する。仮想カメラ制御モジュール２１１は、仮想空間２に仮想カメラ３を配置し、仮想カメラ３の挙動、向きなどを制御する。視界領域決定モジュール２１２は、仮想カメラ制御モジュール２１１により制御された仮想カメラの設定に基づき、仮想空間２における視界領域２３を規定する。視界画像生成モジュール２１３は、決定された視界領域２３に基づいて、モニタ１０１に表示される視界画像のデータ（視界画像データともいう）を生成する。さらに、視界画像生成モジュール２１３は、仮想カメラ３の設定に基づいてレンダリング処理を実行し、視界画像データを生成する。視界画像生成モジュール２１３によって生成された視界画像データは、通信制御モジュール２４０によってＨＭＤ１００に出力される。基準視線特定モジュール２１４は、ＨＭＤセンサ１１０またはセンサ１２０からの信号に基づいて基準視線４（ＨＭＤ１００の傾き）を検出する。視線検出モジュール２１５は、注視センサ１０２からの信号に基づいて、ユーザの視線を特定する。
【００５８】
仮想空間制御モジュール２２０は、ユーザに提供される仮想空間２を制御する。仮想空間定義モジュール２２１は、仮想空間２を表す仮想空間データを生成することにより、仮想空間２を規定する。
【００５９】
仮想オブジェクト生成モジュール２２２は、仮想空間２に配置されるオブジェクトのデータを生成する。オブジェクトは、ライブ配信における被写体への仮想的なプレゼントを含む。例えば、仮想手紙、仮想花、仮想雑貨、あるいは仮想アクセサリーなどを含み得る。仮想オブジェクト生成モジュール２２２によって生成されたデータは、視界画像生成モジュール２１３に出力される。これにより、ユーザは、例えばライブ配信の映像コンテンツを視聴時に、被写体とコミュニケーションを取るために仮想手紙にメッセージを記入して送信したり、被写体へのプレゼントとして仮想花、あるいは仮想アクセサリーなどをプレゼントしたりできる。また、プレゼントされた仮想花、あるいは仮想アクセサリーなどは、被写体が着用するように表示することもでき、ユーザと被写体とのコミュニケーションの活性化を図ることができる。例えば、被写体が人物である場合に、被写体の身体の部位を特定して、当該身体の部位（頭部、肩、腕、手、腰、脚部など）と関連付けて、オブジェクトを表示することができる。
【００６０】
手オブジェクト制御モジュール２２３は、手オブジェクトを仮想空間２に配置する。手オブジェクトは、たとえば、コントローラ１３０を保持したユーザの右手あるいは左手に対応する。ある局面において、手オブジェクト制御モジュール２２３は、右手あるいは左手に対応する手オブジェクトを仮想空間２に配置するためのデータを生成する。また、手オブジェクト制御モジュール２２３は、ユーザによるコントローラ１３０の操作に応じて、手オブジェクトを動かすためのデータを生成する。手オブジェクト制御モジュール２２３によって生成されたデータは、視界画像生成モジュール２１３に出力される。
【００６１】
他の局面において、ユーザの体の一部の動き（たとえば、左手、右手、左足、右足、頭などの動き）がコントローラ１３０に関連付けられている場合、仮想空間制御モジュール２２０は、ユーザの体の一部に対応する部分オブジェクトを仮想空間２に配置するためのデータを生成する。仮想空間制御モジュール２２０は、ユーザが体の一部を用いてコントローラ１３０を操作すると、部分オブジェクトを動かすためのデータを生成する。これらのデータは、視界画像生成モジュール２１３に出力される。
【００６２】
音声制御モジュール２２５は、ＨＭＤ１００から、ユーザのマイク１０４を用いた発話を検出すると、当該発話に対応する音声データの送信対象のコンピュータ２００を特定する。音声データは、音声制御モジュール２２５によって特定されたコンピュータ２００に送信される。
【００６３】
メモリモジュール２３０は、コンピュータ２００が仮想空間２をユーザに提供するために使用されるデータを保持している。ある局面において、メモリモジュール２３０は、空間情報２３１と、ユーザ情報２３２と、コンテンツ情報２３３と、オブジェクト情報２３４とを保持している。
【００６４】
空間情報２３１は、仮想空間２を提供するために規定された１つ以上のテンプレートを保持している。
【００６５】
ユーザ情報２３２は、映像コンテンツを視聴するユーザの情報を保持している。たとえば、ユーザのＩＤ情報、年齢、視聴履歴、部屋の間取りなどである。当該ユーザ情報２３２は、ＨＭＤ１００のユーザによって直接入力される。または、当該ユーザ情報２３２は、ＨＭＤ１００に備え付けられたカメラ１０５によってユーザの部屋を撮影し、撮影画像から部屋の広さを推定する。撮影画像に家具が含まれる場合は、家具情報もあわせて取得してもよい。
【００６６】
コンテンツ情報２３３は、仮想空間２において再生される映像コンテンツの情報を保持している。たとえば、コンテンツの属性、被写体の人数、視聴位置のタグなどである。当該情報はコンテンツごとに設定されており、ユーザ情報２３２を照会し、おすすめのコンテンツ情報をユーザに提示してもよい。例えば、ユーザの部屋の広さをＨＭＤ１００に備え付けられたカメラ１０５で撮影し、撮影画像から部屋の広さ、設置してある家具などの情報を特定する。特定されたユーザの部屋情報に基づき、部屋情報と映像コンテンツの被写体の移動範囲とが適合したコンテンツをおすすめする。これにより、ユーザが映像コンテンツ視聴時に、被写体がユーザの部屋をすり抜ける、家具と重複して動くなど、現実では起こりえないことが起きてしまい、映像コンテンツを視聴しているユーザの没入感が阻害されることを防ぐことができる。
【００６７】
オブジェクト情報２３４は、仮想空間２において使用されるオブジェクトを配置するための情報を保持している。たとえば、コントローラ１３０を操作するユーザの手に相当する手オブジェクトを仮想空間２に配置するためのデータと、仮想手紙などのその他のオブジェクトを仮想空間２に配置するためのデータとを含む。
【００６８】
通信制御モジュール２４０は、ネットワーク１９を介して、サーバ１５０その他の情報通信装置と通信し得る。
【００６９】
ある局面において、表示制御モジュール２１０および仮想空間制御モジュール２２０は、たとえば、３次元レンダリングツール、ゲーム開発エンジン等として提供されているものを利用することとしてもよい。他の局面において、表示制御モジュール２１０および仮想空間制御モジュール２２０は、各処理を実現する回路素子の組み合わせとしても実現され得る。
【００７０】
コンピュータ２００における処理は、ハードウェアと、プロセッサ１０により実行されるソフトウェアとによって実現される。このようなソフトウェアは、ハードディスクその他のメモリモジュール２３０に予め格納されている場合がある。また、ソフトウェアは、ＣＤ−ＲＯＭその他のコンピュータ読み取り可能な不揮発性のデータ記録媒体に格納されて、プログラム製品として流通している場合もある。あるいは、当該ソフトウェアは、インターネットその他のネットワークに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。このようなソフトウェアは、光ディスク駆動装置その他のデータ読取装置によってデータ記録媒体から読み取られて、あるいは、通信制御モジュール２４０を介してサーバ１５０その他のコンピュータからダウンロードされた後、記憶モジュールに一旦格納される。そのソフトウェアは、プロセッサ１０によって記憶モジュールから読み出され、実行可能なプログラムの形式でＲＡＭに格納される。プロセッサ１０は、そのプログラムを実行する。
【００７１】
コンピュータ２００を構成するハードウェアは、一般的なものである。したがって、本実施の形態に係る最も本質的な部分は、コンピュータ２００に格納されたプログラムであるともいえる。なお、コンピュータ２００のハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【００７２】
なお、データ記録媒体としては、ＢＤ（Blu-ray（登録商標））−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ、ＦＤ（Flexible  Disk）、ハードディスクに限られず、磁気テープ、カセットテープ、光ディスク（ＭＯ（Magnetic  Optical  Disc）／ＭＤ（Mini  Disc）／ＤＶＤ（Digital  Versatile  Disc））、ＩＣ（Integrated  Circuit）カード（メモリカードを含む）、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Electronically  Programmable  Read-Only  Memory）、ＥＥＰＲＯＭ（Electronically  Erasable  Programmable  Read-Only  Memory）、フラッシュＲＯＭなどの半導体メモリなどの固定的にプログラムを担持する不揮発性のデータ記録媒体でもよい。
【００７３】
ここでいうプログラムとは、プロセッサ１０により直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラムなどを含み得る。
【００７４】
＜１．２  仮想空間２の構造図＞
図３は、仮想空間２の構造を表す概念図である。仮想空間２は、中心２１の３６０度方向の全体を覆う全天球状または半天球状の構造を有する。図３では、仮想空間２のうちの上半分の天球が例示されている。仮想空間２では各メッシュが規定される。各メッシュの位置は、仮想空間２に規定されるＸＹＺ座標系における座標値として予め規定されている。コンピュータ２００は、仮想空間２に展開可能なコンテンツ（静止画、動画など）を構成する各部分画像を、仮想空間２において対応する各メッシュにそれぞれ対応付けて、ユーザによって視認可能な仮想空間画像２２が展開される仮想空間２をユーザに提供する。
【００７５】
ある局面において、仮想空間２では、中心２１を原点とするＸＹＺ座標系が規定される。ＸＹＺ座標系は、たとえば、グローバル座標系に平行である。ＸＹＺ座標系は視点座標系の一種であるため、ＸＹＺ座標系における水平方向、鉛直方向（上下方向）、および前後方向は、それぞれＸ軸、Ｙ軸、Ｚ軸として規定される。したがって、ＸＹＺ座標系のＸ軸（水平方向）がグローバル座標系のｘ軸と平行であり、ＸＹＺ座標系のＹ軸（鉛直方向）がグローバル座標系のｙ軸と平行であり、ＸＹＺ座標系のＺ軸（前後方向）がグローバル座標系のｚ軸と平行である。
【００７６】
ＨＭＤ１００の起動時、すなわちＨＭＤ１００の初期状態（図３（Ａ））において、仮想カメラ３が、仮想空間２の中心２１に配置される。その後、映像コンテンツに対応して仮想カメラ３が、仮想空間２の中心ではない所定の位置に配置される（図３（Ｂ））。仮想カメラ３は、現実空間におけるＨＭＤ１００の動きに連動して、仮想空間２を同様に移動する。これにより、現実空間におけるＨＭＤ１００の位置および向きの変化が、仮想空間２において同様に再現される。
【００７７】
仮想カメラ３には、ＨＭＤ１００の場合と同様に、ｕｖｗ視野座標系が規定される。仮想空間２における仮想カメラのｕｖｗ視野座標系は、現実空間（グローバル座標系）におけるＨＭＤ１００のｕｖｗ視野座標系に連動するように規定されている。したがって、ＨＭＤ１００の傾きが変化すると、それに応じて、仮想カメラ３の傾きも変化する。また、仮想カメラ３は、ＨＭＤ１００を装着したユーザの現実空間における移動に連動して、仮想空間２において移動することもできる。
【００７８】
仮想カメラ３の向きは、仮想カメラ３の位置および傾きに応じて決まるので、ユーザが仮想空間画像２２を視認する際に基準となる視線（基準視線４）は、仮想カメラ３の向きに応じて決まる。コンピュータ２００のプロセッサ１０は、基準視線４に基づいて、仮想空間２における視界領域２３を規定する。視界領域２３は、仮想空間２のうち、ＨＭＤ１００を装着したユーザの視界に対応する。
【００７９】
注視センサ１０２によって検出されるユーザの視線方向は、ユーザが物体を視認する際の視点座標系における方向である。ＨＭＤ１００のｕｖｗ視野座標系は、ユーザがモニタ１０１を視認する際の視点座標系に等しい。また、仮想カメラ３のｕｖｗ視野座標系は、ＨＭＤ１００のｕｖｗ視野座標系に連動している。したがって、ある局面に従うシステム１は、注視センサ１０２によって検出されたユーザの視線方向を、仮想カメラ３のｕｖｗ視野座標系におけるユーザの視線方向とみなすことができる。
【００８０】
＜１．３  ＨＭＤを装着するユーザの頭部を上から表した図＞
図４は、ＨＭＤを装着するユーザの頭部を上から表した図である。注視センサ１０２は、ユーザの右目および左目の各視線を検出する。ある局面において、ユーザが近くを見ている場合、注視センサ１０２は、視線Ｒ１およびＬ１を検出する。他の局面において、ユーザが遠くを見ている場合、注視センサ１０２は、視線Ｒ２およびＬ２を検出する。この場合、ロール方向ｗに対して視線Ｒ２およびＬ２がなす角度は、ロール方向ｗに対して視線Ｒ１およびＬ１がなす角度よりも小さい。注視センサ１０２は、検出結果をコンピュータ２００に送信する。
【００８１】
コンピュータ２００が、視線の検出結果として、視線Ｒ１およびＬ１の検出値を注視センサ１０２から受信した場合には、その検出値に基づいて、視線Ｒ１およびＬ１の交点である注視点Ｎ１を特定する。一方、コンピュータ２００は、視線Ｒ２およびＬ２の検出値を注視センサ１０２から受信した場合には、視線Ｒ２およびＬ２の交点を注視点として特定する。コンピュータ２００は、特定した注視点Ｎ１の位置に基づき、ユーザの視線方向Ｎ０を特定する。コンピュータ２００は、たとえば、ユーザの右目Ｒと左目Ｌとを結ぶ直線の中点と、注視点Ｎ１とを通る直線の延びる方向を、視線方向Ｎ０として検出する。視線方向Ｎ０は、ユーザが両目により実際に視線を向けている方向である。また、視線方向Ｎ０は、視界領域２３に対してユーザが実際に視線を向けている方向に相当する。
【００８２】
＜１．４  仮想空間２において視界領域２３をＸ方向から見たＹＺ断面を表す図＞
図５は、仮想空間２において視界領域２３をＸ方向から見たＹＺ断面を表す図である。
【００８３】
ＹＺ断面における視界領域２３は、領域２４を含む。領域２４は、仮想カメラ３の基準視線４と仮想空間２のＹＺ断面とによって定義される。プロセッサ１０は、仮想空間２における基準視線４を中心として極角αを含む範囲を、領域２４として規定する。
【００８４】
＜１．５  仮想空間２において視界領域２３をＹ方向から見たＸＺ断面を表す図＞
図６は、仮想空間２において視界領域２３をＹ方向から見たＸＺ断面を表す図である。
【００８５】
ＸＺ断面における視界領域２３は、領域２５を含む。領域２５は、基準視線４と仮想空間２のＸＺ断面とによって定義される。プロセッサ１０は、仮想空間２における基準視線４を中心とした方位角βを含む範囲を、領域２５として規定する。
【００８６】
ＸＺ断面において、第１の実施の形態における仮想カメラ３の位置について説明する。図６（Ａ）は、一般的な仮想空間２における仮想カメラ３の位置を示している。図６（Ａ）によると、仮想カメラ３は仮想空間２の中心２１に設定され、ユーザの頭部の動きに連動して、仮想カメラ３の回転軸と仮想空間２の中心２１が一致した状態で仮想カメラ３を回転させる。一方、図６（Ｂ）は、映像コンテンツに対応して仮想空間２の中心２１ではない位置に仮想カメラ３の位置を設定する。たとえば、映像コンテンツを撮影したカメラのレンズ位置に相当する位置に仮想カメラ３を設定することで、映像コンテンツの変化量を、ＨＭＤ１００を装着したユーザ頭部の回転角度ではなく、仮想カメラ３の回転角度に合わせて変化させることができ、映像コンテンツを撮影したカメラと同じ動きにすることができ、外景と映像コンテンツの変化量にずれが生じることを防止することができる。ここで、中心２１とは異なる位置に設定された仮想カメラ３は、ユーザの頭部の動きに連動し、仮想カメラ３の中心ではなく、仮想空間２の中心２１を回転軸とし、仮想カメラ３を回転させる。
ＨＭＤシステム１は、回転軸となる中心２１と、仮想カメラ３との距離を、ＨＭＤ１００の属性（機種名など）に応じて設定することとしてもよい。ＨＭＤ１００がカメラ１０５により外景を撮影可能である場合、ＨＭＤ１００それぞれについて、ユーザの頭部の位置（体軸）からＨＭＤ１００に装着されるカメラ１０５までの距離が異なりうる。ユーザは、カメラ１０５の撮影画像を通じて外景を視認するため、いわば、カメラ１０５の位置に目があるものとして外景を視認している。一方、映像コンテンツは、例えば２眼カメラにより撮影される１８０度動画である。
ここで、仮に、映像コンテンツを構成する左目用の映像と右目用の映像それぞれについて仮想空間２を生成し、仮想空間２の中心２１を回転軸として、中心２１において仮想カメラ３をユーザの頭部に連動させて回転させると、いわば、ユーザの体軸に目があるものとして映像コンテンツを視聴することになる。よって、ユーザが頭部を動かした際に、外景については体軸よりも距離が離れたＨＭＤ１００のカメラ１０５の撮影画像をユーザに提示する一方で、映像コンテンツについては体軸に目があるものとしてユーザの頭部の動きに応じて画像が表示されるため、外界の変化と映像コンテンツの変化とのずれをユーザに認識させてしまうおそれがある。そこで、このようなずれた感覚を低減させるよう、ＨＭＤ１００の属性（例えば、デバイスごとにカメラの位置が規定されている）の情報に基づいて、仮想カメラ３の位置（回転軸からの距離）を設定することとしてもよい。例えば、ユーザの体軸を回転軸とし、ＨＭＤ１００のカメラ１０５の位置に相当する位置に、仮想カメラ３を配置することとしてもよい。
【００８７】
第１の実施の形態において、ＨＭＤシステム１は、コンピュータ２００からの信号に基づいて、視界画像をモニタ１０１に表示させることにより、ユーザに仮想空間２を提供する。視界画像は、仮想空間画像２２のうちの視界領域２３に重畳する部分に相当する。ユーザが、頭に装着したＨＭＤ１００を動かすと、その動きに連動して仮想カメラ３も動く。その結果、仮想空間２における視界領域２３の位置が変化する。これにより、モニタ１０１に表示される視界画像は、仮想空間画像２２のうち、仮想空間２においてユーザが向いた方向の視界領域２３に重畳する画像に更新される。ユーザは、仮想空間２における所望の方向を視認することができる。
【００８８】
ユーザは、ＨＭＤ１００を装着している間にも、モニタ１０１を通じて外景を視認することができる。外景の視認方法としては、例えば、モニタ１０１が透過型の場合、光学的に視認してもよいし、ＨＭＤ１００に外景を撮影するカメラ１０５を備え、カメラ１０５の撮影した外景を視認してもよい。外景の視認方法についてはこれらに限定されない。そのため、ＨＭＤシステム１は、外景と仮想空間２とを同時に表示しつつ、ユーザが頭部を動かした際に視認する外景の変化の量と、映像コンテンツの被写体の見え方とを適合させることができるため、ユーザは映像コンテンツにおける被写体が現実に「そこ」にいるように認識することができ、高い没入感をユーザに与えることができる。
【００８９】
第１の実施の形態において、プロセッサ１０は、ＨＭＤ１００を装着したユーザの現実空間における移動に連動して、仮想空間２において仮想カメラ３を移動し得る。この場合、プロセッサ１０は、仮想空間２における仮想カメラ３の位置および向きに基づいて、ＨＭＤ１００のモニタ１０１に投影される画像領域（すなわち、仮想空間２における視界領域２３）を特定する。
【００９０】
第１の実施の形態において、仮想カメラ３は、二つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含むことが望ましい。また、ユーザが３次元の仮想空間２を認識できるように、適切な視差が、二つの仮想カメラに設定されていることが好ましい。本実施の形態においては、仮想カメラ３が二つの仮想カメラを含み、二つの仮想カメラのロール方向が合成されることによって生成されるロール方向（ｗ）がＨＭＤ１００のロール方向（ｗ）に適合されるように構成されている。
【００９１】
＜３  データ構造＞
図７は、コンピュータ２００のメモリモジュール２３０に記憶されているユーザ情報２３２、コンテンツ情報２３３、オブジェクト情報２３４のデータ構造を示す図である。
【００９２】
図７（Ａ）に示すように、ユーザ情報２３２は、項目「ユーザＩＤ」と、項目「性別」と、項目「年齢」と、項目「視聴履歴」と、項目「最多視聴コンテンツ」と、項目「部屋情報」と、項目「家具情報」と、項目「おすすめコンテンツ」等を含む。
【００９３】
項目「ユーザＩＤ」は、ユーザそれぞれを識別する情報である。
【００９４】
項目「性別」は、ユーザそれぞれの性別を識別する情報である。
【００９５】
項目「年齢」は、ユーザそれぞれの年齢を識別する情報である。
【００９６】
項目「視聴履歴」は、各ユーザがどの映像コンテンツを視聴したかを示す情報である。
【００９７】
項目「最多視聴コンテンツ」は、映像コンテンツの中で、どのコンテンツを最も多く視聴したかを示す情報である。たとえば、一週間ごとなど所定の期間中に蓄積された視聴履歴を分析し、最多視聴コンテンツを特定しユーザに提示する。または、ユーザにおすすめコンテンツを提示する際に、視聴履歴を分析して最多視聴コンテンツ情報を特定し、特定された情報から、付与されているコンテンツ情報の傾向を判定し、合致した映像コンテンツをおすすめコンテンツとしてユーザに提示してもよい。
【００９８】
項目「部屋情報」は、各ユーザの部屋の広さ、間取りなどを示す情報である。
【００９９】
項目「家具情報」は、各ユーザの保持する家具の種類などを示す情報である。
【０１００】
項目「おすすめコンテンツ」は、上記情報をもとに、どの映像コンテンツがおすすめかを判断し、ユーザに提示するための情報である。たとえば、ユーザＩＤ「Ｕ００１」で示されるユーザの年齢、性別、視聴履歴、部屋の情報などから、コンテンツＩＤ「Ｃ００８」と識別された映像コンテンツがよりおすすめと判断し、当該ユーザのＨＭＤ１００に提示する。
【０１０１】
図７（Ｂ）に示すように、コンテンツ情報２３３は、項目「コンテンツＩＤ」と、項目「コンテンツ属性」と、項目「視聴タグ」と、項目「被写体数」と、項目「屋外・屋内向け」と、項目「おすすめユーザ属性」等を含む。
【０１０２】
項目「コンテンツＩＤ」は、コンテンツそれぞれを識別する情報である。
【０１０３】
項目「コンテンツ属性」は、各映像コンテンツの属性を示す情報である。たとえば、人物、動物などを表し、具体的には、アイドルグループ（同性で編成されるグループなど）の映像コンテンツ、動物（猫）の映像コンテンツなどである。
【０１０４】
項目「視聴タグ」は、各映像コンテンツを視聴するときに推奨されるユーザの姿勢・体勢を示す情報である。たとえば、立位、座位、臥床位などである。
【０１０５】
項目「被写体数」は、各映像コンテンツに表示される被写体の数を示す情報である。例えば、映像コンテンツから被写体を抽出する工程において、被写体の数を特定し、特定された被写体の数を項目「被写体数」に含めることとしてもよい。例えば、映像コンテンツに対し、人物として映っている範囲を特定する学習済みモデルを用いることにより、当該人物を認識する。このように認識される人物の数をカウントすることにより、被写体の数を特定することができる。
【０１０６】
項目「屋外・屋内向け」は各映像コンテンツを視聴するとき、屋外環境と屋内環境のどちらが適しているかを示す情報である。たとえば、屋外で撮影された映像コンテンツを室内で視聴するとき、撮影時の光の状況と室内の光の状況に差が生じ、没入感をそいでしまうおそれがある。そのため、当該項目により、映像コンテンツが撮影された環境に近い状況での視聴を促す。
【０１０７】
項目「おすすめ視聴環境」は、各コンテンツを視聴するとき、どのような視聴環境で視聴するのが適しているのかを示す情報である。たとえば、少人数の被写体による映像コンテンツであれば、自室での視聴も問題ないが、大人数での被写体による映像コンテンツであれば、自室の広さでの視聴に適さない（被写体が部屋の壁よりも遠くに移動するように見える、壁に重畳する等）ことが想定され、ユーザの没入感を削いでしまうおそれがある。そこで、映像コンテンツごとに、視聴に適した部屋の広さなどを設定し、ユーザが当該映像コンテンツを視聴時に、ユーザに提示する。また、当該情報は、視聴コンテンツ決定時にユーザに提示してもよいし、ユーザの部屋の広さを撮影した撮影画像（例えばＨＭＤ１００のカメラ１０５で撮影）に基づき（学習済みモデルなどで）解析し、解析結果に基づいて、ユーザがコンテンツ選択中に、選択画面上に重畳してもよい。また、ＨＭＤシステム１がユーザの居住地の情報を取得して（例えば、ユーザの操作により居住地を入力する）、当該居住地の情報に基づいて、ユーザの部屋の広さを取得することとしてもよい。
また、当該項目は、部屋の広さだけでなく、設置してある家具の種類（例えば、ソファ、ベッド、椅子）、備品（花、スタンドライト、楽器）など、映像コンテンツの視聴をより盛り上げるための情報も提示してもよい。
【０１０８】
項目「提携レンタルスペース」は、各コンテンツを視聴するとき、視聴に適した空間（例えば、レンタルスペース）をユーザに示す情報である。たとえば、ライブ配信の視聴や、大人数の被写体による映像コンテンツを視聴時、自室などでは部屋の広さが足りず視聴が困難であり、せっかくの視聴期間を損失してしまう恐れがある。そのため、提携しているレンタルスペースをユーザに提示し、自室では視聴が困難な場合でも、ライブ配信やアイドルのコンサートなどを身近に楽しむことができる。レンタルスペースの情報は、コンテンツ視聴時にユーザに提示してもよいし、ユーザの選択に応じ情報を出力してもよい。また、当該レンタルスペースの選択時、予約などの決済処理を同時に行ってもよい。
【０１０９】
項目「おすすめユーザ属性」は、各コンテンツに紐づけられた情報から、どのようなユーザに提供するのが好ましいかを示す情報である。たとえば、コンテンツＩＤ「Ｃ００１」のコンテンツは、男性、２０代のユーザに適しているコンテンツのため、ユーザ情報を照会し、当該コンテンツの視聴が好ましいユーザにおすすめコンテンツとして提示する。
【０１１０】
図７（Ｃ）に示すように、オブジェクト情報２３４は、項目「オブジェクトＩＤ」と、項目「オブジェクト種別」と、項目「コントローラ操作要否」と、項目「ＬＩＶＥ配信時使用可否」等を含む。
【０１１１】
項目「オブジェクトＩＤ」は、オブジェクトそれぞれを識別する情報である。
【０１１２】
項目「オブジェクト種別」は、各オブジェクトの種類を示す情報である。たとえば、仮オブジェクトの種類として、身体の部位、コミュニケ―ションツール、あるいは雑貨などがあげられる。具体的には、仮想手オブジェクト、仮想手紙オブジェクト、仮想花オブジェクトなどを含むが、これに限定されない。
【０１１３】
項目「コントローラ操作要否」は、当該オブジェクトを使用するとき、コントローラ１３０によるユーザの操作が必要か否かを示す情報である。
【０１１４】
項目「ＬＩＶＥ配信時使用可否」は、ライブ配信を視聴するときに、ユーザが当該オブジェクトを使用することが可能か否かを示す情報である。たとえば、オブジェクトＩＤ「ＯＢ００２」の仮想手紙をライブ配信時に使用することで、ライブ配信している被写体に対しユーザからのメッセージを送付することができる。
【０１１５】
＜３  動作＞
以下、ＨＭＤシステム１が仮想空間２の視界画像データを生成する生成処理を説明する。
【０１１６】
＜３．１  視界画像データを生成する処理を表すフローチャート＞
図８は、ＨＭＤシステム１が視界画像データを生成する処理を表すフローチャートである。
【０１１７】
ステップＳ８２０１において、コンピュータ２００のプロセッサ１０は、仮想空間定義モジュール２２１として、仮想空間２を定義する。
ステップＳ８２０２において、プロセッサ１０は、仮想オブジェクト生成モジュール２２２として、仮想空間２の中心とは異なる所定の位置に仮想カメラ３を設定する。
【０１１８】
ステップＳ８２０３において、プロセッサ１０は、視界画像生成モジュール２１３として、視界画像を表示するための視界画像データを生成する。生成された視界画像データは、通信制御モジュール２４０によってＨＭＤ１００に出力される。
【０１１９】
ステップＳ８１０１において、ＨＭＤ１００のモニタ１０１は、コンピュータ２００から受信した視界画像データに基づいて、視界画像を表示する。ＨＭＤ１００を装着したユーザは、視界画像を視認すると仮想空間２を認識する。
【０１２０】
ステップＳ８１２１において、センサ１２０は、ＨＭＤ１００の傾き（つまり、ユーザの頭部の傾き）を表す動き検知データをコンピュータ２００に出力する。
ステップＳ８２０４において、コンピュータ２００のプロセッサ１０は、基準視線特定モジュール２１４として、センサ１２０から受信した動き検知データに基づいてユーザの頭部の動き（傾き）を検出する。ある局面において、センサ１２０は、３軸角速度センサと、３軸加速度センサとの組み合わせにより構成される。コンピュータ２００は、これらのセンサの出力に基づいて、ＨＭＤ１００の基準方向（たとえば、重力（鉛直）方向）に対する角度を算出する。
【０１２１】
ステップＳ８０２１において、注視センサ１０２は、ユーザの両目の各々の視線の検出結果をコンピュータ２００に出力する。
ステップＳ８２０５において、プロセッサ１０は、視線検出モジュール２１５として、注視センサ１０２の出力に基づいてユーザの視線の動き（たとえば、基準視線（たとえば、正面）に対する傾き）を検出する。
【０１２２】
ステップＳ８２０６にて、プロセッサ１０は、仮想空間２においてモニタ１０１に表示する範囲を特定する。より具体的には、プロセッサ１０は、検出された頭部の動きと、視線の動きとに連動するように、仮想カメラ３の傾きを制御する。たとえば、ユーザが頭を右方向に１０°傾け、ユーザが視線を右方向に１０°傾けた場合、プロセッサ１０は、仮想カメラ３を右方向に２０°傾ける。プロセッサ１０は、傾けた後の仮想カメラ３の撮影範囲（視界領域２３）を、モニタ１０１に表示する範囲として特定する。このとき、プロセッサ１０は、仮想カメラ３の設定を参照して、仮想カメラ３の撮影範囲を決定する。例えば、仮想カメラ３の設定は、仮想カメラ３の画角を含む。
【０１２３】
ステップＳ８２０７において、プロセッサ１０は、特定した表示範囲に含まれるパノラマ映像をレンダリングして視界画像データを生成する。生成された視界画像データは、通信制御モジュール２４０によってＨＭＤ１００に出力される。
【０１２４】
ステップＳ８１０２において、ＨＭＤ１００は、受信した視界画像データに基づいて視界画像を更新し、更新後の視界画像をモニタ１０１に表示する。
【０１２５】
上記によれば、実施形態に従うＨＭＤシステム１は、外景の映像を表示しつつ、ユーザの頭部の動きと、ユーザの視線の動きとに連動するように、ユーザに提供する視界画像を更新する。これにより、実施形態に従うＨＭＤシステム１は、現実空間における視界の更新方法と同じ更新方法を仮想空間において実現できる。その結果、ユーザは、外景の映像を視認しながらも、仮想空間において違和感を覚えることなく自身の視界を更新できるため、より仮想空間に没入し得る。
【０１２６】
なお、上記の例ではプロセッサ１０はステップＳ８２０６において、検出された頭部の動きと、視線の動きとに連動するように仮想カメラ３の傾きを制御して、仮想空間２においてモニタ１０１に表示する範囲を特定しているが、表示範囲の特定方法は当該方法に限られない。
【０１２７】
＜３．２  視界画像データを生成する処理および手オブジェクトの処理を表すフローチャート＞
図９は、ＨＭＤシステム１が視界画像データを生成する処理および手オブジェクトの処理を表すフローチャートである。
【０１２８】
ステップＳ９２０１において、コンピュータ２００のプロセッサ１０は、仮想空間定義モジュール２２１として、仮想空間２を定義する。
ステップＳ９２０２において、プロセッサ１０は、仮想オブジェクト生成モジュール２２２として、仮想カメラ３を仮想空間２における所定の位置（例えば図３（Ｂ）の位置）に配置する。
【０１２９】
ステップＳ９２０３において、プロセッサ１０は、視界画像生成モジュール２１３として、視界画像を表示するための視界画像データを生成する。生成された視界画像データは、通信制御モジュール２４０によってＨＭＤ１００に出力される。
【０１３０】
ステップＳ９１０１において、ＨＭＤ１００のモニタ１０１は、コンピュータ２００から受信した視界画像データに基づいて、視界画像を表示する。ＨＭＤ１００を装着したユーザは、視界画像を視認すると仮想空間２を認識する。
【０１３１】
ステップＳ９１２１において、センサ１２０は、ＨＭＤ１００の傾き（つまり、ユーザの頭部の傾き）を表す動き検知データをコンピュータ２００に出力する。
ステップＳ９２０４において、コンピュータ２００のプロセッサ１０は、基準視線特定モジュール２１４として、センサ１２０から受信した動き検知データに基づいてユーザの頭部の動き（傾き）を検出する。ある局面において、センサ１２０は、３軸角速度センサと、３軸加速度センサとの組み合わせにより構成される。コンピュータ２００は、これらのセンサの出力に基づいて、ＨＭＤ１００の基準方向（たとえば、重力（鉛直）方向）に対する角度を算出する。
【０１３２】
ステップＳ９０２１において、注視センサ１０２は、ユーザの両目の各々の視線の検出結果をコンピュータ２００に出力する。
ステップＳ９２０５において、プロセッサ１０は、視線検出モジュール２１５として、注視センサ１０２の出力に基づいてユーザの視線の動き（たとえば、基準視線（たとえば、正面）に対する傾き）を検出する。
【０１３３】
ステップＳ９２０６にて、プロセッサ１０は、仮想空間２においてモニタ１０１に表示する範囲を特定する。より具体的には、プロセッサ１０は、検出された頭部の動きと、視線の動きとに連動するように、仮想カメラ３の傾きを制御する。たとえば、ユーザが頭を右方向に１０°傾け、ユーザが視線を右方向に１０°傾けた場合、プロセッサ１０は、仮想カメラ３を右方向に２０°傾ける。プロセッサ１０は、傾けた後の仮想カメラ３の撮影範囲（視界領域２３）を、モニタ１０１に表示する範囲として特定する。このとき、プロセッサ１０は、仮想カメラ３の設定を参照して、仮想カメラ３の撮影範囲を決定する。例えば、仮想カメラ３の設定は、仮想カメラ３の画角を含む。
【０１３４】
ステップＳ９２０７において、プロセッサ１０は、特定した表示範囲に含まれるパノラマ映像をレンダリングして視界画像データを生成する。生成された視界画像データは、通信制御モジュール２４０によってＨＭＤ１００に出力される。
【０１３５】
ステップＳ９１０２において、ＨＭＤ１００は、受信した視界画像データに基づいて視界画像を更新し、更新後の視界画像をモニタ１０１に表示する。
【０１３６】
ステップＳ９１３１において、コントローラ１３０は、センサ１２０から出力される信号に基づいて、ユーザの操作を検出し、その検出された操作を表す検出データをコンピュータ２００に出力する。なお、他の局面において、ユーザによるコントローラ１３０の操作は、ユーザの周囲に配置されたカメラ１０５からの画像に基づいて検出されてもよい。
ステップＳ９２０８において、プロセッサ１０は、コントローラ１３０から取得した検出データに基づいて、ユーザによるコントローラ１３０の操作を検出する。
【０１３７】
ステップＳ９２０９において、プロセッサ１０は、手オブジェクトを仮想空間２に提示するための視界画像データを生成する。
【０１３８】
ステップＳ９２１０において、プロセッサ１０は、ユーザによるコントローラ１３０の操作に基づく視界画像データを生成する。生成された視界画像データは、通信制御モジュール２４０によってＨＭＤ１００に出力される。
【０１３９】
ステップＳ９１０３において、ＨＭＤ１００は、受信した視界画像データに基づいて視界画像を更新し、更新後の視界画像をモニタ１０１に表示する。
【０１４０】
＜４  画面例＞
図１０〜図１３は、ＨＭＤ１００を装着するユーザにおける画面例を示す図である。
【０１４１】
図１０は、ＨＭＤ１００を装着するユーザが頭部を横に動かしたとき画面例を示す図である。
【０１４２】
図１０の画面例（Ａ）は、ＨＭＤ１００のモニタ１０１に外景および映像コンテンツが表示されていることを示す。ここで、映像コンテンツは、人物を抽出して生成されたものである。左目、右目の表記はそれぞれ左目用モニタ４０１Ｌ、右目用モニタ４０１Ｒを示す。
【０１４３】
図１０の画面例（Ｂ）は、上記画面例（Ａ）の状態から、ユーザが頭部あるいは視線を左右に動かしたときの画面例を示す。図１０の画面例（Ｂ）の左目用モニタ４０２Ｌ、右目用モニタ４０２Ｒが示すように、ユーザが頭部あるいは視線を左右に動かしても、外景と映像コンテンツの位置関係および表示の変化量に差がないことを示す。
【０１４４】
図１１は、ＨＭＤ１００を装着するユーザが映像コンテンツの表示位置から離れた位置に移動したときの画面例を示す図である。
【０１４５】
図１１の画面例（Ａ）は、ＨＭＤ１００のモニタ１０１に外景および映像コンテンツが表示されていることを示す。左目、右目の表記はそれぞれ左目用モニタ４０３Ｌ、右目用モニタ４０３Ｒを示す。
【０１４６】
図１１の画面例（Ｂ）は、上記画面例（Ａ）の状態から、ユーザが映像コンテンツの表示位置から離れた位置に移動したときの画面例を示す。図１１の画面例（Ｂ）の左目用モニタ４０４Ｌ、右目用モニタ４０４Ｒが示すように、ユーザが映像コンテンツの表示位置から離れた位置に移動しても、外景と映像コンテンツの位置関係および表示の変化量に差がなく、かつ映像コンテンツは所定の位置（例えば、ユーザの部屋の床）に沿うように表示されていることを示す。
【０１４７】
図１２は、ＨＭＤを装着するユーザが映像コンテンツの表示位置の近くで頭部あるいは視線を上下左右に動かしたときの画面例を示す図である。
【０１４８】
図１２の画面例（Ａ）は、ＨＭＤ１００のモニタ１０１にユーザの至近距離で映像コンテンツが表示されていることを示す。左目、右目の表記はそれぞれ左目用モニタ４０５Ｌ、右目用モニタ４０５Ｒを示す。
【０１４９】
図１２の画面例（Ｂ）は、上記画面例（Ａ）の状態から、ユーザが頭部あるいは視線を左右に動かしたときの画面例を示す。
図１２の画面例（Ｃ）は、上記画面例（Ａ）の状態から、ユーザが頭部あるいは視線を上下に動かしたときの画面例を示す。
図１２の画面例（Ｂ）および（Ｃ）の左目用モニタ４０６Ｌ、４０７Ｌ、右目用モニタ４０６Ｒ、４０７Ｒが示すように、ユーザが映像コンテンツの表示位置の近くで頭部あるいは視線を上下左右に動かしても、外景と映像コンテンツの位置関係および表示の変化量に差がないことを示す。
【０１５０】
図１３は、ＨＭＤ１００を装着するユーザがタグ付けられた映像コンテンツを視聴するときの画面例を示す図である。
【０１５１】
図１３の画面例（Ａ）は、座った状態での視聴がタグ付けられた映像コンテンツを、ユーザが立った状態で視聴しているときの画面例を示す。左目、右目の表記はそれぞれ左目用モニタ４０８Ｌ、右目用モニタ４０８Ｒを示す。
図１３の画面例（Ａ）が示すように、座った状態での視聴がタグ付けられているため、ＨＭＤ１００のモニタ１０１に座って視聴することを勧める表示が示される。ここではモニタ上に文言が表示されている例を挙げているが、音声、振動など他の方法で提示してもよく、これらに限られない。
【０１５２】
図１３の画面例（Ｂ）は、上記画面例（Ａ）の状態から、ユーザが座った状態になったときの画面例を示す。図１３の画面例（Ｂ）の左目用モニタ４０９Ｌ、右目用モニタ４０９Ｒが示すように、座った状態での視聴がタグ付けられた映像コンテンツの視聴において、ユーザが座った状態になったとき、ユーザを視聴位置に誘導する表示はなくなり、ユーザは映像コンテンツの全体像を視聴することができる。
【０１５３】
＜ユーザへの映像コンテンツの提案＞
以上のように、ＨＭＤシステム１は、ユーザ情報２３２と、コンテンツ情報２３３とに基づいて、ユーザの部屋の広さに適した１または複数の映像コンテンツを、視聴の候補としてＨＭＤ１００のモニタ１０１等に表示してもよい。これにより、ユーザは、複数ある映像コンテンツのうち、視聴対象の映像コンテンツを容易に特定することができる。
【０１５４】
＜映像コンテンツを視聴するのに適した場所（空間）の提案＞
以上のように、ＨＭＤシステム１は、ユーザ情報２３２と、コンテンツ情報２３３とに基づいて、ユーザの部屋が、映像コンテンツを視聴するのに適した広さであるかどうかを判断し、判断結果に応じて、異なる映像コンテンツを視聴の候補として提示すること、また、別の場所で映像コンテンツを視聴するよう提示することとしてもよい。例えば、ＨＭＤシステム１は、ユーザの部屋が、映像コンテンツを視聴するのに適した広さよりも狭い場合に、当該映像コンテンツに関連付けられている情報（コンテンツ情報２３３の「おすすめ視聴環境」）に基づいて、コンテンツを視聴するのに適した広さを有する場所（例えば、レンタルスペースでの空き部屋（空き会議室など））を検索し、検索結果（例えば、空き部屋を予約可能な日時の情報を含む）をユーザに対しモニタ１０１等により表示することとしてもよい。ＨＭＤシステム１は、ユーザから、当該場所を予約する入力操作を受け付けて、予約の処理、および、決済処理を行うこととしてもよい。
【０１５５】
＜第２の実施の形態＞
＜概要＞
第２の実施の形態のＨＭＤシステム１では、映像コンテンツの一部を遮蔽して、ＨＭＤ１００を装着するユーザに対し表示する例を説明する。
【０１５６】
（１）ＨＭＤシステム１は、予め保持している映像コンテンツについて、所定の情報に基づいて、映像の一部を遮蔽する範囲を定義する。
具体的には、ＨＭＤシステム１は、ユーザの部屋の撮影結果等により特定されるユーザの部屋の情報（部屋の間取り、部屋に配置される家具など）に基づいて、映像コンテンツの映像のうち遮蔽する範囲を特定する。
例えば、映像コンテンツに含まれる被写体までの距離と、ＨＭＤ１００を装着するユーザの位置からユーザの部屋の家具等までの距離とを比較して、家具等までの距離よりも被写体までの距離のほうが遠い場合に、被写体が家具等に隠れるように映像コンテンツのレンダリングを行うこととしてもよい。
また、ＨＭＤシステム１において、例えば、ユーザの部屋の間取り（入口となる扉の位置、部屋を仕切る仕切りの位置、キッチンなど部屋の機能として定義される範囲など）に基づいて、映像コンテンツを遮蔽する範囲を特定することとしてもよい。例えば、部屋の入口、通路となる部分については遮蔽しない範囲とすることで、入口、通路となる部分から被写体が登場するかのように映像コンテンツをユーザに対しモニタ１０１等により提示することができる。
ＨＭＤシステム１は、映像コンテンツについて、予め映像コンテンツに含まれる被写体までの距離（映像コンテンツを生成する際に使用されたカメラの位置から被写体までの距離など）の情報を、当該映像コンテンツと関連付けて保持しておくこととしてもよい。例えば、２眼カメラ等において、距離を計測できるカメラにより被写体を撮影するとする。当該撮影により得られる撮影画像に基づいて学習を行い、学習済みモデルを生成することにより、映像コンテンツにおける被写体までの距離を推定することができる。また、映像の再生タイミングに応じて被写体までの距離が変動しうるため、映像の再生タイミングと関連付けて被写体までの距離の情報を保持することとしてもよい。
【０１５７】
（１−１）ＨＭＤシステム１は、例えば、仮想カメラ３の設定に基づき、遮蔽されない範囲についてレンダリングを行うことにより、映像コンテンツの一部を遮蔽してユーザに対し提示する。例えば、被写体が家具等に隠れるように描画する場合、ＨＭＤ１００を装着するユーザの位置から当該家具等の位置（方向および距離）を特定し、当該家具等の位置を、映像コンテンツに置いて遮蔽する範囲として定義することとしてもよい。これにより、映像コンテンツの被写体が家具等に隠れるように表示することができ、ユーザの部屋に被写体がいるかのような没入感を、よりいっそう向上させることができる。
【０１５８】
（１−２）この他に、ＨＭＤシステム１は、映像コンテンツの映像のうち遮蔽する範囲に、遮蔽物となるオブジェクト（ユーザが視覚的に認識できない）を配置して、仮想カメラの設定に基づきレンダリングを行うこととしてもよい。
【０１５９】
（２）ＨＭＤシステム１は、予め、映像コンテンツと関連付けて、映像コンテンツにおいて遮蔽されている範囲または遮蔽されていない範囲の情報を保持しており、当該情報に基づいて、ユーザに映像コンテンツを提示する。
【０１６０】
具体的には、ＨＭＤシステム１は、映像コンテンツにおいて遮蔽されていない範囲を特定し、当該特定される範囲と、ユーザが映像コンテンツを視聴する部屋の情報とに基づいて、仮想カメラを設定する。例えば、ＨＭＤシステム１は、映像コンテンツにおいて当該特定される範囲（遮蔽されていない範囲）と、ユーザの部屋の情報を構成する家具、入口等が合わさるように、仮想空間２に置ける仮想カメラ３の方向を特定する。例えば、ＨＭＤ１００のカメラ１０５の撮影画像を通じてユーザが外界を視認している場合（シースルー等）、ＨＭＤシステム１は、ユーザの位置に対し、部屋にある家具、入口等の位置（つまり、部屋におけるユーザの位置からの距離と方向）を特定する。一方、ＨＭＤシステム１は、全天球または半天球状の仮想空間２において映像コンテンツを展開している場合に、当該映像コンテンツを遮蔽しない範囲を特定する。当該仮想空間２において、当該遮蔽しない範囲と、ユーザの部屋における家具、入口等の位置とを合わせるように、仮想カメラ３を設定する。これにより、ＨＭＤ１００を装着するユーザが頭部を回転させて部屋の家具、入口を視認した場合に、映像コンテンツを視認できるようにすることができる。例えば、ユーザが部屋を見渡すと、突然、映像コンテンツの被写体が登場するかのような視聴体験を提供することができ、驚きや恐怖などの感情を惹起させつつ、ユーザの滞在する空間に被写体が登場したかのような没入感を高めることができる。
【０１６１】
以上のように、本実施形態によれば、映像コンテンツ内の被写体が、ユーザの部屋の家具の後ろに隠れる、屋外の建物または木の後ろから現れる、家具、または屋外の設備から被写体が飛び出してくるなど、よりユーザに没入感のある体験を提供することができる。具体的には、映像コンテンツにおける被写体と、ユーザの現実の周囲環境に存在する物体（屋内：家具・扉など、屋外：家の壁・街路樹など）との距離を解析し、映像コンテンツにおける被写体を当該物体の後方に配置することができる。サーバ構成などは第１の実施の形態と共通のため省略する。
なお、画像に含まれる人物などの被写体の３Ｄモデルを生成することができる学習済みモデルを用いて、映像コンテンツに含まれる被写体の３Ｄモデルを生成することとしてもよい。ユーザがコンテンツを視聴する環境（部屋など）において、床面などを検出して、床面と３Ｄモデルの足とを関連付けて映像コンテンツを表示させることとしてもよい。
【０１６２】
＜５  変形例＞
本実施形態の変形例について説明する。すなわち、以下のような態様を採用してもよい。
（１）プログラムであって、コンピュータにこのプログラムを実行させる方法。このとき、コンピュータにこのプログラムが予めインストールされていてもよいし、事後的にインストールされてもよいし、このようなプログラムを外部の記憶媒体に記憶させてもよいし、クラウドコンピューティングで動作させてもよい。
（２）情報処理装置であって、このプログラムが予めインストールされていてもよいし、事後的にインストールされてもよいし、このようなプログラムを外部の非一時的な記憶媒体に記憶させてもよいし、クラウドコンピューティングで動作させてもよい。
【０１６３】
＜６  付記＞
以上の各実施形態で説明した事項を以下に付記する。
【０１６４】
（付記１）
外界をユーザが視認できるヘッドマウントデバイス１００で映像を再生するための方法であって、ヘッドマウントデバイス１００の制御部が、パノラマ映像として撮影された、被写体が抽出された映像コンテンツを、ヘッドマウントデバイス１００を装着するユーザに対し表示する範囲を定義する第１の処理部、ヘッドマウントデバイス１００の外界および定義された範囲の映像コンテンツを、ユーザに対し表示する第２の処理部、として動作し、第１の処理部において、仮想空間２を定義し、当該仮想空間２に映像コンテンツを配置し、仮想空間２の中心２１とは異なる所定の位置に仮想カメラ３を設定し、当該仮想カメラ３の設定に基づき範囲を定義し、ヘッドマウントデバイス１００を装着するユーザの操作に連動させて、仮想カメラ３を回転させる。
【０１６５】
（付記２）
ユーザの操作として、ヘッドマウントデバイス１００を装着するユーザの頭部の動きを検出し、検出した頭部の動きに連動させて、仮想カメラ３を回転させる、付記１に記載の方法。
【０１６６】
（付記３）
中心２１の位置と、仮想カメラ３が設定される所定の位置とに基づいて、ユーザの操作に連動させて、仮想カメラ３を回転させる、付記１または２に記載の方法。
【０１６７】
（付記４）
ユーザの操作として、ユーザの頭部の動きと連動させて、中心２１の位置を軸として仮想カメラ３を回転させる、付記３に記載の方法。
【０１６８】
（付記５）
ヘッドマウントデバイス１００の属性の情報を取得し、ヘッドマウントデバイス１００の属性に応じて、仮想カメラ３の所定の位置を定義する、付記１から４のいずれかに記載の方法。
【０１６９】
（付記６）
ヘッドマウントデバイス１００の制御部が、
ヘッドマウントデバイス１００の外界の所定の面を設置面として定義する第３の処理部、
定義された設置面上に、映像コンテンツの一部または全部が沿うように配置する第４の処理部として動作する、付記１から５のいずれかに記載の方法。
【０１７０】
（付記７）
第４の処理部は、
映像コンテンツに付されたタグの種別に応じて、現実世界において、ユーザが映像コンテンツを視聴するための位置をユーザに対し提示する、付記６に記載の方法。
【０１７１】
（付記８）
パノラマ映像が、予め撮影された映像だけでなく、ライブ撮影された映像も含む、付記１から７のいずれかに記載の方法。
【０１７２】
（付記９）
制御部が、ユーザがヘッドマウントデバイス１００で視聴する空間の情報を取得して、当該情報に基づいて、ユーザが視聴する映像コンテンツの候補を提示する、付記１から８のいずれかに記載の方法。
【０１７３】
（付記１０）
映像コンテンツには、当該映像コンテンツを視聴するための空間の広さに関する情報が関連付けられており、制御部が、映像コンテンツに関連付けられる空間の広さに関する情報に基づいて、当該映像コンテンツを視聴するための空間の候補をユーザに提示する、付記１から９のいずれかに記載の方法。
【０１７４】
（付記１１）
ヘッドマウントデバイス１００の制御部が、
映像コンテンツの一部を遮蔽して、ユーザに当該映像コンテンツを提示する、付記１から１０のいずれかに記載の方法。
【０１７５】
（付記１２）
ヘッドマウントデバイス１００の制御部が、
映像コンテンツの被写体までの距離と、ユーザが当該映像コンテンツを視聴するための空間に関する情報とに基づいて、当該映像コンテンツを遮蔽する範囲を特定し、特定した範囲に基づきユーザに当該映像コンテンツを提示する、付記１１に記載の方法。
【０１７６】
（付記１３）
ヘッドマウントデバイス１００の制御部が、
映像コンテンツを遮蔽しない範囲の情報を取得して、取得した遮蔽しない範囲の情報と、ユーザが当該映像コンテンツを視聴する空間に関する情報とに基づいて、仮想空間２における仮想カメラ３を設定する、付記１１に記載の方法。
【符号の説明】
【０１７７】
２  仮想空間、３  仮想カメラ、４  基準視線、１０  プロセッサ、１１  メモリ、１２  ストレージ、１３  入出力インターフェース、１４  通信インターフェース、１９  ネットワーク、２２  仮想空間画像、１０１  モニタ、１０２  注視センサ、１０３  スピーカ、１０４  マイク、１０５  カメラ、１１０  ＨＭＤセンサ、１２０  センサ、１３０  コントローラ、１５０  サーバ、２００  コンピュータ、２１０  表示制御モジュール、２１１  仮想カメラ制御モジュール、２１２  視界領域決定モジュール、２１３  視界画像生成モジュール、２１４  基準視線特定モジュール、２１５  視線検出モジュール、２２０  仮想空間制御モジュール、２２１  仮想空間定義モジュール、２２２  仮想オブジェクト生成モジュール、２２３  手オブジェクト制御モジュール、２２５  音声制御モジュール、２３０  メモリモジュール、２３１  空間情報、２３２  ユーザ情報、２３３  コンテンツ情報、２３４  オブジェクト情報、２４０  通信制御モジュール
【要約】
【課題】ヘッドマウントデバイスシステムにおいて、キャラクター、または人物などの映像コンテンツが、現実世界の「そこ」にあるかのような没入感を高めることができる技術を提供する。
【解決手段】ヘッドマウントデバイスの第１の処理部において、仮想空間を定義し、当該仮想空間に前記映像コンテンツを配置し、仮想空間の中心とは異なる所定の位置に仮想カメラを設定し、当該仮想カメラの設定に基づき範囲を定義し、ヘッドマウントデバイスを装着するユーザの操作に連動させて、仮想カメラを回転させる。
【選択図】図６【図１】
0006875029.tif 000002
【図２】
0006875029.tif 000003
【図３】
0006875029.tif 000004
【図４】
0006875029.tif 000005
【図５】
0006875029.tif 000006
【図６】
0006875029.tif 000007
【図７】
0006875029.tif 000008
【図８】
0006875029.tif 000009
【図９】
0006875029.tif 000010
【図１０】
0006875029.tif 000011
【図１１】
0006875029.tif 000012
【図１２】
0006875029.tif 000013
【図１３】
0006875029.tif 000014