JP6875029B1 - 方法、プログラム、情報処理装置 - Google Patents

方法、プログラム、情報処理装置 Download PDF

Info

Publication number
JP6875029B1
JP6875029B1 JP2020093705A JP2020093705A JP6875029B1 JP 6875029 B1 JP6875029 B1 JP 6875029B1 JP 2020093705 A JP2020093705 A JP 2020093705A JP 2020093705 A JP2020093705 A JP 2020093705A JP 6875029 B1 JP6875029 B1 JP 6875029B1
Authority
JP
Japan
Prior art keywords
user
video content
information
virtual
virtual camera
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020093705A
Other languages
English (en)
Other versions
JP2021189695A (ja
Inventor
航 藤原
航 藤原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spacial Inc
Original Assignee
Spacial Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Spacial Inc filed Critical Spacial Inc
Priority to JP2020093705A priority Critical patent/JP6875029B1/ja
Priority to JP2021068862A priority patent/JP2021190100A/ja
Application granted granted Critical
Publication of JP6875029B1 publication Critical patent/JP6875029B1/ja
Publication of JP2021189695A publication Critical patent/JP2021189695A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】ヘッドマウントデバイスシステムにおいて、キャラクター、または人物などの映像コンテンツが、現実世界の「そこ」にあるかのような没入感を高めることができる技術を提供する。
【解決手段】ヘッドマウントデバイスの第1の処理部において、仮想空間を定義し、当該仮想空間に前記映像コンテンツを配置し、仮想空間の中心とは異なる所定の位置に仮想カメラを設定し、当該仮想カメラの設定に基づき範囲を定義し、ヘッドマウントデバイスを装着するユーザの操作に連動させて、仮想カメラを回転させる。
【選択図】図6

Description

本開示は、映像を再生する方法、プログラム、および情報処理装置に関する。
スマートフォンなどのデバイス、またはヘッドマウントデバイスのカメラ機能などを利用し、ディスプレイに表示された外景上に、キャラクターあるいは人物などの映像コンテンツを重ねて表示させることで、現実世界に当該キャラクターが実際にいるかのように見せる技術がある。
例えば、特開2015−084150(特許文献1)には、虚像と外景を視認可能な頭部装着型表示装置において、仮想オブジェクトに対する目標視差角などを算出し、算出結果に基づいて、仮想オブジェクトを立体表示させる技術が記載されている。
特開2015−084150号公報
しかしながら、よりユーザの没入感を高めるためのシステムが必要とされている。そこで、本開示は、キャラクター、または人物などの映像コンテンツが、現実世界の「そこ」にあるかのような没入感を高めることができる技術を提供する。
一実施形態によると、外界をユーザが視認できるヘッドマウントデバイスで映像を再生するための方法であって、ヘッドマウントデバイスの制御部が、パノラマ映像として撮影された、被写体が抽出された映像コンテンツを、ヘッドマウントデバイスを装着するユーザに対し表示する範囲を定義する第1の処理部、ヘッドマウントデバイスの外界および定義された範囲の映像コンテンツを、ユーザに対し表示する第2の処理部、として動作し、第1の処理部において、仮想空間を定義し、当該仮想空間に映像コンテンツを配置し、仮想空間の中心とは異なる所定の位置に仮想カメラを設定し、当該仮想カメラの設定に基づき範囲を定義し、ヘッドマウントデバイスを装着するユーザの操作に連動させて、仮想カメラを回転させる。
本開示によれば、キャラクターあるいは人物の映像コンテンツが、現実世界の「そこ」にあるかのような没入感を高めることができる。
HMDシステム1の全体およびコンピュータの構成を示すブロック図である。 HMDシステム1の全体およびコンピュータの機能的な構成を示す図である。 仮想空間を表現する一態様を概念的に表す図である。 HMD100を装着するユーザの頭部を上から表した図である。 仮想空間2において視界領域23をX方向から見たYZ断面を表す図である。 仮想空間2において視界領域23をY方向から見たXZ断面を表す図である。 コンピュータのメモリモジュールに記憶されているユーザ情報、コンテンツ情報、オブジェクト情報のデータ構造である。 HMDシステム1が視界画像データを生成する処理を表すフローチャートである。 HMDシステム1が視界画像データを生成する処理および手オブジェクトの処理を表すフローチャートである。 HMD100を装着するユーザが頭部を横に動かしたとき画面例を示す図である。 HMD100を装着するユーザが映像コンテンツの表示位置から離れた位置に移動したときの画面例を示す図である。 HMD100を装着するユーザが映像コンテンツの表示位置の近くで頭部を縦・横に動かしたときの画面例を示す図である。 HMD100を装着するユーザがタグ付けられた映像コンテンツを視聴するときの画面例を示す図である。
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
<第1の実施の形態>
<概要>
以下の実施形態では、外界をユーザが視認できるヘッドマウントデバイス(HMD)において、ユーザが外界を視認しつつ、パノラマ映像として撮影された映像コンテンツを重畳させて表示する技術について説明する。ここで、外界に重畳して表示される映像コンテンツは、以下のように予め用意されている場合もあれば、ライブ配信によりヘッドマウントデバイスに提供されることもある。
映像コンテンツを予め用意する場合について説明すると、映像コンテンツは、予め撮影されたパノラマ映像から、被写体を抽出したものである。パノラマ映像は、2眼カメラにより撮影された180度動画、または、360度カメラにより撮影される360度動画等である。パノラマ映像としては、人物のイメージ映像、複数人からなるグループにより実施される興行などを収録した映像など、商用コンテンツまたは非商用コンテンツとして予め動画配信プラットフォームまたは記録媒体等に記録された形態で一般消費者に提供されうるものを用いることとしてもよい。本実施形態では、当該パノラマ映像から、さらに、被写体を抽出したパノラマ映像を用いて、外界に重畳させて表示させる映像コンテンツとして使用する例を説明する。
ここで、パノラマ映像は、上記のように2眼カメラ等により撮影することで生成される。典型的には、パノラマ映像を視聴する場合、左目用のパノラマ映像と、右目用のパノラマ映像それぞれについて、全天球または半天球の仮想空間を生成し、パノラマ映像を張りつけて、仮想空間の中心に仮想カメラを設定する。そして、ヘッドマウントデバイスを装着するユーザの頭部の動き等に応じて仮想カメラを回転させることにより、パノラマ映像を視聴することができる。いわば、2眼カメラのレンズの位置を中心に、仮想空間でパノラマ映像を視聴することになる。
一方、ヘッドマウントデバイスでユーザが外界を視認する場合、ヘッドマウントデバイスが非透過型のものであれば、ヘッドマウントデバイスに装着され、外界を撮影するカメラの撮影画像を視認することで、ユーザが外界を視認することになる。また、透過型のヘッドマウントデバイスの場合も、同様に、ユーザの目の位置は、ユーザの体軸(頭部、胴体などを貫く回転軸)よりも離れた位置にある。
よって、ヘッドマウントデバイスで、ユーザに外界を視認させつつ、映像コンテンツを重ねて表示した場合に、仮想カメラを動かした(ユーザの頭部の動きに連動させて回転させる等)際、外界を視認できる範囲が変化することと、映像コンテンツを視認できる範囲が変化することとでずれが発生し、ユーザにとって違和感を与えるおそれがある。
以下、パノラマ映像として撮影された、被写体が切り抜かれた映像コンテンツを、全天球または半天球の仮想空間の中心とは異なる所定の位置に設定された仮想カメラの設定に基づき、HMDを装着するユーザの頭部の動きに連動させることで、ユーザの没入感を高めることのできるHMDシステム1について説明する。
映像コンテンツは、以下が含まれる。
・ パノラマ映像として撮影されたコンテンツから、被写体(例えば、キャラクター、人物、または動物など)の部分のみを抽出したもの
・ 3D映像(例えば、3DCG映像、または、立体視可能な映像など)として撮影されたコンテンツから、被写体の部分のみを抽出したもの
・ 2D映像(例えば、平面映像、イラストなど)から3D映像を生成(例えば、多方面から撮影した平面映像に基づき3D映像を生成するなど)したコンテンツから、被写体の部分のみを抽出したもの
映像コンテンツは、これらに限定されない。
一般的なHMDでは、全天球または半天球の仮想空間を生成し、その天球型の仮想空間に映像コンテンツを貼り付けており、ユーザはHMDを通じて貼り付けられた当該映像コンテンツを見ることになる。他にも、当該仮想空間中に、板状あるいは曲面状のオブジェクトを配置して当該オブジェクトに映像コンテンツを投影することとしてもよい。また、全天球または半天球の仮想空間中心に設定された仮想カメラを、ユーザの頭部の動きと連動させることにより、仮想空間上に表示された映像コンテンツの表示領域を変化させている。しかし、仮想空間に表示されている映像コンテンツは、ユーザ頭部とは異なる回転軸で撮影されたものであるために、仮想カメラを全天球または半天球の仮想空間中心に設定してしまうと、特に外景が視認可能なHMD等においては、外景の映像の変化量と映像コンテンツの変化量とにずれ(例えば、映像コンテンツの被写体が外景の変化よりも大きく動きすぎる、または外景が変化しているのに動かない)が生じ、映像コンテンツを視聴しているユーザに違和感を与え、ユーザの没入感を削いでしまうおそれがある。
そこで、HMDシステム1では、全天球または半天球の仮想空間2の中心ではない位置に仮想カメラ3を設定し、当該仮想カメラ3をユーザの頭部の動きと連動させることで、ユーザの没入感を高めたHMDシステムを提供する。
また、ユーザの使用するデバイスの種類によって、HMDシステム1における仮想カメラ3の設定位置が定義される。例えば、一般的なHMDとアイウェア型のHMDでは、ユーザの目とモニタの距離が異なっている場合がある。そのため、全てのデバイスで仮想カメラの設定位置を同じ位置に定義してしまうと、前述のように、外景と映像コンテンツの変化量にずれが生じてしまい、ユーザの没入感を削いでしまうおそれがある。そのため、ユーザの使用するデバイスの種類によって、仮想カメラの位置が定義される。
よりユーザの没入感を高めるために、映像コンテンツは所定の位置(例えばユーザの部屋の床やベッド、椅子等)に沿うような形態で表示される。たとえば、HMD100に備えられたカメラ105がRGB-Dカメラのように距離を計測可能である場合に、当該カメラ105によってユーザの部屋を撮影し、撮影画像からユーザの部屋の床面または壁面を判定することにより、面を抽出する。カメラが距離を計測することなく、撮影画像における面を抽出するよう学習された学習済みモデルを用いて、撮影画像における面を抽出することとしてもよい。HMDシステム1は、抽出された床面または壁面に沿うように、被写体の身体(例えば、足、背中など)を配置する。また、映像コンテンツに予め付されたタグ(例えば、立位、座位、などユーザが視聴する際の推奨姿勢、位置を示すタグ)に従い、例えば、座って視聴する映像コンテンツの場合には、ユーザに視聴位置を表示することで、映像コンテンツによってユーザの没入感を削ぐことになることを防止する。
以上のように、HMDシステム1は、ユーザがより没入感を得られるHMDシステムを提供する。
HMDシステム1は、例えば、商用利用または非商用利用かの目的に応じて使用され得る。例えば、商用利用においては、企業におけるイベント開催時(例えば、アイドル、または芸能人によるイベント)に、ユーザがHMDシステム1を使用することで、より身近に当該アイドル、芸能人を感じることができる。また、自宅などのパーソナルスペースにおいては、当該アイドル、芸能人が実際に自宅にいるかのように感じることができる。他にも、ペットが禁止されている住居などにおいて、動物と触れ合っているかのような体験を演出することができる。
他にも、スポーツ観戦などにおいて、試合中の選手の目線で試合を鑑賞したり、試合前に選手との触れ合いを演出したりすることで、まるで自分の部屋がグラウンドになったかのような没入感、実際に試合会場に行っているかのような感覚を得ることができる。スポーツの種類としては、サッカー、野球、バドミントン、テニスなどの球技もあれば、レスリングなど球技ではないスポーツがあり得る。また、アーチェリー、射撃といったスコアを競う型のスポーツもあり得る。この場合、被写体のみを抽出するのではなく、グラウンドなども抽出する処理を実施してもよい。また、ミュージカルや伝統芸能などの舞台、コンサートやライブを鑑賞することで、人気のアーティストのコンサート、ライブを最前列で見ることができる。
その他の目的としては、ホラーゲームなど、プレイヤーが画面上の演出にのめりこんでプレイするコンテンツにも利用でき、例えば、ホラーゲームにおいて幽霊が画面から飛び出してくるような体験を提供することができる。
また、HMDシステム1は、例えば、レンタルスペース、商業施設等のイベントスペース、個人の家庭内等に設置され得る。例えば、各家庭内において、アイドルなどの被写体が切り抜かれた映像コンテンツを表示することで、自身の部屋に被写体が本当に居てまるで共同生活をしているかのように体験するため、HMDシステム1を導入することがあり得る。また、レンタルスペースまたはイベントスペースにおいて、ライブ映像を表示することにより、遠方で直接被写体に会いにいけないユーザに対し、HMDシステム1を利用することにより、まるでその被写体のイベントに直接参加しているかのような体験をユーザに提供することがあり得る。ここで、ライブ映像における被写体の抽出方式については、グリーンバックの背景の前に被写体を立たせ、被写体部分のみを抽出する方法でもよいし、被写体が3DCGなどのデジタルコンテンツの場合には、元となる被写体にモーションセンサ等を取り付け、センサからの信号に基づき被写体部分を抽出する方法でもよいし、AIや学習済モデルに基づいて抽出すべき被写体を認識し、抽出してもよい。例えば、ライブ配信中において、被写体(配信者を含む)を撮影する撮影画像に対し、学習済みモデルを用いることにより、被写体の背景部分をぼかす、除去するなどの処理を行うこととしてもよく、これらは限定されない。
<1 HMDシステム全体の構成図>
図1は、第1の実施の形態におけるHMDシステム1の全体の構成を表している。
図1に示すように、コンピュータ200は、プロセッサ10と、メモリ11と、ストレージ12と、入出力インターフェース13と、通信インターフェース14とを有している。コンピュータ200は、図1では特に図示していない機能及び構成(例えば、電力を保持するためのバッテリ、バッテリから各回路への電力の供給を制御する電力供給回路など)も有している。図1に示すように、コンピュータ200に含まれる各ブロックは、バス等により電気的に接続される。
プロセッサ10は、コンピュータ200に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ11またはストレージ12に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ10は、CPU(Central Processing Unit)、MPU(Micro Processor Unit)、FPGA(Field-Programmable Gate Array)その他のデバイスとして実現される。
メモリ11は、プログラムおよびデータを一時的に保存する。プログラムは、たとえば、ストレージ12からロードされる。データは、コンピュータ200に入力されたデータと、プロセッサ10によって生成されたデータとを含む。ある局面において、メモリ11は、RAM(Random Access Memory)その他の揮発メモリとして実現される。
ストレージ12は、プログラムおよびデータを永続的に保持する。ストレージ12は、たとえば、ROM(Read-Only Memory)、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。ストレージ12に格納されるプログラムは、HMD100において仮想空間2を提供するためのプログラム、シミュレーションプログラム、ユーザ認証プログラム、他のコンピュータ200との通信を実現するためのプログラムを含む。ストレージ12に格納されるデータは、仮想空間2を規定するためのデータおよびオブジェクトなどを含む。
なお、他の局面において、ストレージ12は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに他の局面において、コンピュータ200に内蔵されるストレージ12の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する構成が使用されてもよい。このような構成によれば、たとえば、新たな映像コンテンツを取得する場面において、外部の記憶装置に保存されているプログラムおよびデータを使用することで、ネットワークを経由せずとも映像コンテンツの追加が可能になる。
ある実施の形態において、入出力インターフェース13は、HMD100、HMDセンサ110またはセンサ120との間で信号を通信する。ある局面において、入出力インターフェース13は、USB(Universal Serial Bus)インターフェース、DVI(Digital Visual Interface)、HDMI(登録商標)(High-Definition Multimedia Interface)その他の端子を用いて実現される。なお、入出力インターフェース13は上述のものに限られない。
ある実施の形態において、入出力インターフェース13は、さらに、コントローラ130と通信し得る。たとえば、入出力インターフェース13は、センサ120から出力された信号の入力を受ける。他の局面において、入出力インターフェース13は、プロセッサ10から出力された命令を、コントローラ130に送る。当該命令は、振動、音声出力、発光などをコントローラ130に指示する。コントローラ130は、当該命令を受信すると、その命令に応じて、振動、音声出力または発光のいずれかを実行する。
通信インターフェース14は、ネットワーク19に接続されて、ネットワーク19に接続されている他のコンピュータ(たとえば、サーバ150、他のユーザのコンピュータ200など)と通信する。ある局面において、通信インターフェース14は、たとえば、LAN(Local Area Network)その他の有線通信インターフェース、あるいは、WiFi(Wireless Fidelity)、Bluetooth(登録商標)、NFC(Near Field Communication)その他の無線通信インターフェースとして実現される。なお、通信インターフェース14は上述のものに限られない。
ある局面において、プロセッサ10は、ストレージ12にアクセスし、ストレージ12に格納されている1つ以上のプログラムをメモリ11にロードし、当該プログラムに含まれる一連の命令を実行する。当該1つ以上のプログラムは、コンピュータ200のオペレーティングシステム、仮想空間2を提供するためのアプリケーションプログラム、コントローラ130を用いて仮想空間2で実行可能なソフトウェアなどを含み得る。プロセッサ10は、入出力インターフェース13を介して、仮想空間2を提供するための信号をHMD100に送る。HMD100は、その信号に基づいてモニタ101に映像を表示する。
なお、図1に示される例では、コンピュータ200は、HMD100の外部に設けられる構成が示されているが、他の局面において、コンピュータ200は、HMD100に内蔵されてもよい。一例として、モニタ101を含む携帯型の情報通信端末(たとえば、スマートフォン)がコンピュータ200として機能してもよい。
第1の実施形態において、HMD100は、モニタ101と、注視センサ102と、スピーカ103と、マイク104と、カメラ105とを含む。
HMD100は、ユーザの頭部に装着され、動作中に仮想空間2をユーザに提供し得る。より具体的には、HMD100は、右目用の画像および左目用の画像をモニタ101にそれぞれ表示する。ユーザの各目がそれぞれの画像を視認すると、ユーザは、両目の視差に基づき当該画像を3次元の画像として認識し得る。
モニタ101は、たとえば、透過型の表示装置として実現される。ある局面において、モニタ101は、ユーザの両目の前方に位置するようにHMD100の本体に配置されている。したがって、ユーザは、モニタ101に表示される外景を視認しながらも、モニタ101に映し出されたコンテンツ映像を視認することができ、現実世界にまるでコンテンツ映像が実際に「ある」かのように感じることができ、よりコンテンツに没入することができる。
また、HMD100は、透過型表示装置を備えていても良い。この場合、当該透過型表示装置は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。また、視野画像は仮想空間2を構成する画像の一部に、現実空間を提示する構成を含んでいてもよい。たとえば、HMD100に搭載されたカメラ105で撮影した画像を視野画像の一部に重畳して表示させてもよいし、当該透過型表示装置の一部の透過率を高く設定することにより、視野画像の一部から現実空間を視認可能にしてもよい。
ある実施の形態において、モニタ101は、所謂スマートフォンその他の情報表示端末が備える液晶モニタまたは有機EL(Electro Luminescence)モニタとして実現され得
る。
ある局面において、モニタ101は、右目用の画像を表示するためのサブモニタと、左目用の画像を表示するためのサブモニタとを含み得る。他の局面において、モニタ101は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、モニタ101は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
スピーカ103は、コンピュータ200から受信した音声データに対応する音声を外部に出力する。マイク104は、ユーザの発話に対応する音声データをコンピュータ200に出力する。ユーザは、マイク104を用いてライブ配信中の被写体に対して発話する一方で、スピーカ103を用いてライブ配信中の被写体からの音声(発話)、または映像コンテンツに収録された音声(発話)などを聞くことができる。
より具体的には、ユーザがマイク104に向かって発話すると、当該ユーザの発話に対応する音声データがコンピュータ200に入力される。コンピュータ200は、その音声データを、ネットワーク19を介してサーバ150に出力する。サーバ150は、コンピュータ200から受信した音声データを、ネットワーク19を介して他のコンピュータ200に出力する。他のコンピュータ200は、サーバ150から受信した音声データを、ライブ配信している被写体側に出力する。これにより、ライブ配信している被写体は、ユーザとコミュニケーションをとることができる。
HMDセンサ110は、複数の光源(図示しない)を含む。各光源は、たとえば、赤外線を発するLED(Light Emitting Diode)により実現される。HMDセンサ110は、HMD100の動きを検出するためのポジショントラッキング機能を有する。HMDセンサ110は、この機能を用いて、現実空間内におけるHMD100の位置および傾きを検出する。
なお、他の局面において、HMDセンサ110は、カメラ105により実現されてもよい。この場合、HMDセンサ110は、カメラから出力されるHMD100の画像情報を用いて、画像解析処理を実行することにより、HMD100の位置および傾きを検出することができる。
他の局面において、HMD100は、位置検出器として、HMDセンサ110の代わりに、センサ120を備えてもよい。HMD100は、センサ120を用いて、HMD100自身の位置および傾きを検出し得る。たとえば、センサ120が、角速度センサ、地磁気センサ、加速度センサ、モーションセンサ、あるいはジャイロセンサなどである場合、HMD100は、HMDセンサ110の代わりに、これらの各センサのいずれかを用いて、自身の位置および傾きを検出し得る。一例として、センサ120が角速度センサである場合、角速度センサは、現実空間におけるHMD100の3軸周りの角速度を経時的に検出する。HMD100は、各角速度に基づいて、HMD100の3軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、HMD100の傾きを算出する。
サーバ150は、コンピュータ200にプログラムを送信し得る。他の局面において、サーバ150は、ユーザによって使用されるHMD100に仮想現実を提供するための他のコンピュータ200と通信し得る。たとえば、イベント施設において、施設に紐づけられたコンテンツを視聴する場合、コンピュータ200は、イベント施設のコンピュータ200と通信して、ユーザが被写体のライブイベントなどを楽しむことを可能にする。
コントローラ130は、ユーザからコンピュータ200への命令の入力を受け付ける。ある局面において、コントローラ130は、ユーザによって把持可能に構成される。他の局面において、コントローラ130は、ユーザの身体あるいは衣類の一部に装着可能に構成される。他の局面において、コントローラ130は、コンピュータ200から送られる信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。他の局面において、コントローラ130は、仮想現実を提供する空間に配置されるオブジェクトの位置あるいは動きを制御するためにユーザによって与えられる操作を受け付ける。
センサ120は、他の局面において、ユーザの手に取り付けられて、ユーザの手の動きを検出する。たとえば、センサ120は、手の回転速度、回転数などを検出する。センサ120によって得られたユーザの手の動きの検出結果を表すデータ(以下、検出データともいう)は、コンピュータ200に送られる。センサ120は、たとえば、手袋型のコントローラ130に設けられている。ある実施の形態において、現実空間における安全のため、コントローラ130は、手袋型のようにユーザの手に装着されることにより容易に飛んで行かないものに装着されるのが望ましい。他の局面において、ユーザに装着されないセンサがユーザの手の動きを検出してもよい。たとえば、ユーザを撮影するカメラの信
号が、ユーザの動作を表す信号として、コンピュータ200に入力されてもよい。センサ120とコンピュータ200とは、有線により、または無線により互いに接続される。無線の場合、通信形態は特に限られず、たとえば、Bluetooth(登録商標)その他の公知の通信手法が用いられる。
他の局面において、HMDシステム1は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。
ある実施の形態において、HMDシステム1では、グローバル座標系が予め設定されている。グローバル座標系は、現実空間における鉛直方向、鉛直方向に直交する水平方向、ならびに、鉛直方向および水平方向の双方に直交する前後方向にそれぞれ平行な、3つの基準方向(軸)を有する。本実施の形態では、グローバル座標系は視点座標系の一つである。そこで、グローバル座標系における水平方向、鉛直方向(上下方向)、および前後方向は、それぞれ、x軸、y軸、z軸と規定される。より具体的には、グローバル座標系において、x軸は現実空間の水平方向に平行である。y軸は、現実空間の鉛直方向に平行である。z軸は現実空間の前後方向に平行である。
ある局面において、HMDセンサ110は、赤外線センサを含む。赤外線センサが、HMD100の各光源から発せられた赤外線をそれぞれ検出すると、HMD100の存在を検出する。HMDセンサ110は、さらに、各点の値(グローバル座標系における各座標値)に基づいて、HMD100を装着したユーザの動きに応じた、現実空間内におけるHMD100の位置および傾きを検出する。より詳しくは、HMDセンサ110は、経時的に検出された各値を用いて、HMD100の位置および傾きの時間的変化を検出できる。
グローバル座標系は現実空間の座標系と平行になるように設定することとしてもよい。したがって、HMDセンサ110によって検出されたHMD100の各傾きは、グローバル座標系におけるHMD100の3軸周りの各傾きに相当する。HMDセンサ110は、グローバル座標系におけるHMD100の傾きに基づき、uvw視野座標系をHMD100に設定する。HMD100に設定されるuvw視野座標系は、HMD100を装着したユーザが仮想空間2において物体を見る際の視点座標系に対応する。
<1.1 コンピュータ200の機能的な構成図>
図2は、コンピュータ200の機能的な構成を示す図である。図2に示すように、コンピュータ200は、表示制御モジュール210と、仮想空間制御モジュール220と、音声制御モジュール225と、メモリモジュール230と、通信制御モジュール240としての機能を発揮する。
表示制御モジュール210は、サブモジュールとして、仮想カメラ制御モジュール211と、視界領域決定モジュール212と、視界画像生成モジュール213と、基準視線特定モジュール214と、視線検出モジュール215とを含む。
仮想空間制御モジュール220は、サブモジュールとして、仮想空間定義モジュール221と、仮想オブジェクト生成モジュール222と、手オブジェクト制御モジュール223とを含む。
ある実施の形態において、表示制御モジュール210、仮想空間制御モジュール220、および音声制御モジュール225は、プロセッサ10によって実現される。他の実施の形態において、複数のプロセッサ10が表示制御モジュール210、仮想空間制御モジュール220、および音声制御モジュール225として作動してもよい。メモリモジュール230は、メモリ11またはストレージ12によって実現される。通信制御モジュール240は、通信インターフェース14によって実現される。
ある局面において、表示制御モジュール210は、HMD100のモニタ101における画像表示を制御する。仮想カメラ制御モジュール211は、仮想空間2に仮想カメラ3を配置し、仮想カメラ3の挙動、向きなどを制御する。視界領域決定モジュール212は、仮想カメラ制御モジュール211により制御された仮想カメラの設定に基づき、仮想空間2における視界領域23を規定する。視界画像生成モジュール213は、決定された視界領域23に基づいて、モニタ101に表示される視界画像のデータ(視界画像データともいう)を生成する。さらに、視界画像生成モジュール213は、仮想カメラ3の設定に基づいてレンダリング処理を実行し、視界画像データを生成する。視界画像生成モジュール213によって生成された視界画像データは、通信制御モジュール240によってHMD100に出力される。基準視線特定モジュール214は、HMDセンサ110またはセンサ120からの信号に基づいて基準視線4(HMD100の傾き)を検出する。視線検出モジュール215は、注視センサ102からの信号に基づいて、ユーザの視線を特定する。
仮想空間制御モジュール220は、ユーザに提供される仮想空間2を制御する。仮想空間定義モジュール221は、仮想空間2を表す仮想空間データを生成することにより、仮想空間2を規定する。
仮想オブジェクト生成モジュール222は、仮想空間2に配置されるオブジェクトのデータを生成する。オブジェクトは、ライブ配信における被写体への仮想的なプレゼントを含む。例えば、仮想手紙、仮想花、仮想雑貨、あるいは仮想アクセサリーなどを含み得る。仮想オブジェクト生成モジュール222によって生成されたデータは、視界画像生成モジュール213に出力される。これにより、ユーザは、例えばライブ配信の映像コンテンツを視聴時に、被写体とコミュニケーションを取るために仮想手紙にメッセージを記入して送信したり、被写体へのプレゼントとして仮想花、あるいは仮想アクセサリーなどをプレゼントしたりできる。また、プレゼントされた仮想花、あるいは仮想アクセサリーなどは、被写体が着用するように表示することもでき、ユーザと被写体とのコミュニケーションの活性化を図ることができる。例えば、被写体が人物である場合に、被写体の身体の部位を特定して、当該身体の部位(頭部、肩、腕、手、腰、脚部など)と関連付けて、オブジェクトを表示することができる。
手オブジェクト制御モジュール223は、手オブジェクトを仮想空間2に配置する。手オブジェクトは、たとえば、コントローラ130を保持したユーザの右手あるいは左手に対応する。ある局面において、手オブジェクト制御モジュール223は、右手あるいは左手に対応する手オブジェクトを仮想空間2に配置するためのデータを生成する。また、手オブジェクト制御モジュール223は、ユーザによるコントローラ130の操作に応じて、手オブジェクトを動かすためのデータを生成する。手オブジェクト制御モジュール223によって生成されたデータは、視界画像生成モジュール213に出力される。
他の局面において、ユーザの体の一部の動き(たとえば、左手、右手、左足、右足、頭などの動き)がコントローラ130に関連付けられている場合、仮想空間制御モジュール220は、ユーザの体の一部に対応する部分オブジェクトを仮想空間2に配置するためのデータを生成する。仮想空間制御モジュール220は、ユーザが体の一部を用いてコントローラ130を操作すると、部分オブジェクトを動かすためのデータを生成する。これらのデータは、視界画像生成モジュール213に出力される。
音声制御モジュール225は、HMD100から、ユーザのマイク104を用いた発話を検出すると、当該発話に対応する音声データの送信対象のコンピュータ200を特定する。音声データは、音声制御モジュール225によって特定されたコンピュータ200に送信される。
メモリモジュール230は、コンピュータ200が仮想空間2をユーザに提供するために使用されるデータを保持している。ある局面において、メモリモジュール230は、空間情報231と、ユーザ情報232と、コンテンツ情報233と、オブジェクト情報234とを保持している。
空間情報231は、仮想空間2を提供するために規定された1つ以上のテンプレートを保持している。
ユーザ情報232は、映像コンテンツを視聴するユーザの情報を保持している。たとえば、ユーザのID情報、年齢、視聴履歴、部屋の間取りなどである。当該ユーザ情報232は、HMD100のユーザによって直接入力される。または、当該ユーザ情報232は、HMD100に備え付けられたカメラ105によってユーザの部屋を撮影し、撮影画像から部屋の広さを推定する。撮影画像に家具が含まれる場合は、家具情報もあわせて取得してもよい。
コンテンツ情報233は、仮想空間2において再生される映像コンテンツの情報を保持している。たとえば、コンテンツの属性、被写体の人数、視聴位置のタグなどである。当該情報はコンテンツごとに設定されており、ユーザ情報232を照会し、おすすめのコンテンツ情報をユーザに提示してもよい。例えば、ユーザの部屋の広さをHMD100に備え付けられたカメラ105で撮影し、撮影画像から部屋の広さ、設置してある家具などの情報を特定する。特定されたユーザの部屋情報に基づき、部屋情報と映像コンテンツの被写体の移動範囲とが適合したコンテンツをおすすめする。これにより、ユーザが映像コンテンツ視聴時に、被写体がユーザの部屋をすり抜ける、家具と重複して動くなど、現実では起こりえないことが起きてしまい、映像コンテンツを視聴しているユーザの没入感が阻害されることを防ぐことができる。
オブジェクト情報234は、仮想空間2において使用されるオブジェクトを配置するための情報を保持している。たとえば、コントローラ130を操作するユーザの手に相当する手オブジェクトを仮想空間2に配置するためのデータと、仮想手紙などのその他のオブジェクトを仮想空間2に配置するためのデータとを含む。
通信制御モジュール240は、ネットワーク19を介して、サーバ150その他の情報通信装置と通信し得る。
ある局面において、表示制御モジュール210および仮想空間制御モジュール220は、たとえば、3次元レンダリングツール、ゲーム開発エンジン等として提供されているものを利用することとしてもよい。他の局面において、表示制御モジュール210および仮想空間制御モジュール220は、各処理を実現する回路素子の組み合わせとしても実現され得る。
コンピュータ200における処理は、ハードウェアと、プロセッサ10により実行されるソフトウェアとによって実現される。このようなソフトウェアは、ハードディスクその他のメモリモジュール230に予め格納されている場合がある。また、ソフトウェアは、CD−ROMその他のコンピュータ読み取り可能な不揮発性のデータ記録媒体に格納されて、プログラム製品として流通している場合もある。あるいは、当該ソフトウェアは、インターネットその他のネットワークに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。このようなソフトウェアは、光ディスク駆動装置その他のデータ読取装置によってデータ記録媒体から読み取られて、あるいは、通信制御モジュール240を介してサーバ150その他のコンピュータからダウンロードされた後、記憶モジュールに一旦格納される。そのソフトウェアは、プロセッサ10によって記憶モジュールから読み出され、実行可能なプログラムの形式でRAMに格納される。プロセッサ10は、そのプログラムを実行する。
コンピュータ200を構成するハードウェアは、一般的なものである。したがって、本実施の形態に係る最も本質的な部分は、コンピュータ200に格納されたプログラムであるともいえる。なお、コンピュータ200のハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
なお、データ記録媒体としては、BD(Blu-ray(登録商標))−ROM、DVD−ROM、CD−ROM、FD(Flexible Disk)、ハードディスクに限られず、磁気テープ、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、IC(Integrated Circuit)カード(メモリカードを含む)、光カード、マスクROM、EPROM(Electronically Programmable Read-Only Memory)、EEPROM(Electronically Erasable Programmable Read-Only Memory)、フラッシュROMなどの半導体メモリなどの固定的にプログラムを担持する不揮発性のデータ記録媒体でもよい。
ここでいうプログラムとは、プロセッサ10により直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラムなどを含み得る。
<1.2 仮想空間2の構造図>
図3は、仮想空間2の構造を表す概念図である。仮想空間2は、中心21の360度方向の全体を覆う全天球状または半天球状の構造を有する。図3では、仮想空間2のうちの上半分の天球が例示されている。仮想空間2では各メッシュが規定される。各メッシュの位置は、仮想空間2に規定されるXYZ座標系における座標値として予め規定されている。コンピュータ200は、仮想空間2に展開可能なコンテンツ(静止画、動画など)を構成する各部分画像を、仮想空間2において対応する各メッシュにそれぞれ対応付けて、ユーザによって視認可能な仮想空間画像22が展開される仮想空間2をユーザに提供する。
ある局面において、仮想空間2では、中心21を原点とするXYZ座標系が規定される。XYZ座標系は、たとえば、グローバル座標系に平行である。XYZ座標系は視点座標系の一種であるため、XYZ座標系における水平方向、鉛直方向(上下方向)、および前後方向は、それぞれX軸、Y軸、Z軸として規定される。したがって、XYZ座標系のX軸(水平方向)がグローバル座標系のx軸と平行であり、XYZ座標系のY軸(鉛直方向)がグローバル座標系のy軸と平行であり、XYZ座標系のZ軸(前後方向)がグローバル座標系のz軸と平行である。
HMD100の起動時、すなわちHMD100の初期状態(図3(A))において、仮想カメラ3が、仮想空間2の中心21に配置される。その後、映像コンテンツに対応して仮想カメラ3が、仮想空間2の中心ではない所定の位置に配置される(図3(B))。仮想カメラ3は、現実空間におけるHMD100の動きに連動して、仮想空間2を同様に移動する。これにより、現実空間におけるHMD100の位置および向きの変化が、仮想空間2において同様に再現される。
仮想カメラ3には、HMD100の場合と同様に、uvw視野座標系が規定される。仮想空間2における仮想カメラのuvw視野座標系は、現実空間(グローバル座標系)におけるHMD100のuvw視野座標系に連動するように規定されている。したがって、HMD100の傾きが変化すると、それに応じて、仮想カメラ3の傾きも変化する。また、仮想カメラ3は、HMD100を装着したユーザの現実空間における移動に連動して、仮想空間2において移動することもできる。
仮想カメラ3の向きは、仮想カメラ3の位置および傾きに応じて決まるので、ユーザが仮想空間画像22を視認する際に基準となる視線(基準視線4)は、仮想カメラ3の向きに応じて決まる。コンピュータ200のプロセッサ10は、基準視線4に基づいて、仮想空間2における視界領域23を規定する。視界領域23は、仮想空間2のうち、HMD100を装着したユーザの視界に対応する。
注視センサ102によって検出されるユーザの視線方向は、ユーザが物体を視認する際の視点座標系における方向である。HMD100のuvw視野座標系は、ユーザがモニタ101を視認する際の視点座標系に等しい。また、仮想カメラ3のuvw視野座標系は、HMD100のuvw視野座標系に連動している。したがって、ある局面に従うシステム1は、注視センサ102によって検出されたユーザの視線方向を、仮想カメラ3のuvw視野座標系におけるユーザの視線方向とみなすことができる。
<1.3 HMDを装着するユーザの頭部を上から表した図>
図4は、HMDを装着するユーザの頭部を上から表した図である。注視センサ102は、ユーザの右目および左目の各視線を検出する。ある局面において、ユーザが近くを見ている場合、注視センサ102は、視線R1およびL1を検出する。他の局面において、ユーザが遠くを見ている場合、注視センサ102は、視線R2およびL2を検出する。この場合、ロール方向wに対して視線R2およびL2がなす角度は、ロール方向wに対して視線R1およびL1がなす角度よりも小さい。注視センサ102は、検出結果をコンピュータ200に送信する。
コンピュータ200が、視線の検出結果として、視線R1およびL1の検出値を注視センサ102から受信した場合には、その検出値に基づいて、視線R1およびL1の交点である注視点N1を特定する。一方、コンピュータ200は、視線R2およびL2の検出値を注視センサ102から受信した場合には、視線R2およびL2の交点を注視点として特定する。コンピュータ200は、特定した注視点N1の位置に基づき、ユーザの視線方向N0を特定する。コンピュータ200は、たとえば、ユーザの右目Rと左目Lとを結ぶ直線の中点と、注視点N1とを通る直線の延びる方向を、視線方向N0として検出する。視線方向N0は、ユーザが両目により実際に視線を向けている方向である。また、視線方向N0は、視界領域23に対してユーザが実際に視線を向けている方向に相当する。
<1.4 仮想空間2において視界領域23をX方向から見たYZ断面を表す図>
図5は、仮想空間2において視界領域23をX方向から見たYZ断面を表す図である。
YZ断面における視界領域23は、領域24を含む。領域24は、仮想カメラ3の基準視線4と仮想空間2のYZ断面とによって定義される。プロセッサ10は、仮想空間2における基準視線4を中心として極角αを含む範囲を、領域24として規定する。
<1.5 仮想空間2において視界領域23をY方向から見たXZ断面を表す図>
図6は、仮想空間2において視界領域23をY方向から見たXZ断面を表す図である。
XZ断面における視界領域23は、領域25を含む。領域25は、基準視線4と仮想空間2のXZ断面とによって定義される。プロセッサ10は、仮想空間2における基準視線4を中心とした方位角βを含む範囲を、領域25として規定する。
XZ断面において、第1の実施の形態における仮想カメラ3の位置について説明する。図6(A)は、一般的な仮想空間2における仮想カメラ3の位置を示している。図6(A)によると、仮想カメラ3は仮想空間2の中心21に設定され、ユーザの頭部の動きに連動して、仮想カメラ3の回転軸と仮想空間2の中心21が一致した状態で仮想カメラ3を回転させる。一方、図6(B)は、映像コンテンツに対応して仮想空間2の中心21ではない位置に仮想カメラ3の位置を設定する。たとえば、映像コンテンツを撮影したカメラのレンズ位置に相当する位置に仮想カメラ3を設定することで、映像コンテンツの変化量を、HMD100を装着したユーザ頭部の回転角度ではなく、仮想カメラ3の回転角度に合わせて変化させることができ、映像コンテンツを撮影したカメラと同じ動きにすることができ、外景と映像コンテンツの変化量にずれが生じることを防止することができる。ここで、中心21とは異なる位置に設定された仮想カメラ3は、ユーザの頭部の動きに連動し、仮想カメラ3の中心ではなく、仮想空間2の中心21を回転軸とし、仮想カメラ3を回転させる。
HMDシステム1は、回転軸となる中心21と、仮想カメラ3との距離を、HMD100の属性(機種名など)に応じて設定することとしてもよい。HMD100がカメラ105により外景を撮影可能である場合、HMD100それぞれについて、ユーザの頭部の位置(体軸)からHMD100に装着されるカメラ105までの距離が異なりうる。ユーザは、カメラ105の撮影画像を通じて外景を視認するため、いわば、カメラ105の位置に目があるものとして外景を視認している。一方、映像コンテンツは、例えば2眼カメラにより撮影される180度動画である。
ここで、仮に、映像コンテンツを構成する左目用の映像と右目用の映像それぞれについて仮想空間2を生成し、仮想空間2の中心21を回転軸として、中心21において仮想カメラ3をユーザの頭部に連動させて回転させると、いわば、ユーザの体軸に目があるものとして映像コンテンツを視聴することになる。よって、ユーザが頭部を動かした際に、外景については体軸よりも距離が離れたHMD100のカメラ105の撮影画像をユーザに提示する一方で、映像コンテンツについては体軸に目があるものとしてユーザの頭部の動きに応じて画像が表示されるため、外界の変化と映像コンテンツの変化とのずれをユーザに認識させてしまうおそれがある。そこで、このようなずれた感覚を低減させるよう、HMD100の属性(例えば、デバイスごとにカメラの位置が規定されている)の情報に基づいて、仮想カメラ3の位置(回転軸からの距離)を設定することとしてもよい。例えば、ユーザの体軸を回転軸とし、HMD100のカメラ105の位置に相当する位置に、仮想カメラ3を配置することとしてもよい。
第1の実施の形態において、HMDシステム1は、コンピュータ200からの信号に基づいて、視界画像をモニタ101に表示させることにより、ユーザに仮想空間2を提供する。視界画像は、仮想空間画像22のうちの視界領域23に重畳する部分に相当する。ユーザが、頭に装着したHMD100を動かすと、その動きに連動して仮想カメラ3も動く。その結果、仮想空間2における視界領域23の位置が変化する。これにより、モニタ101に表示される視界画像は、仮想空間画像22のうち、仮想空間2においてユーザが向いた方向の視界領域23に重畳する画像に更新される。ユーザは、仮想空間2における所望の方向を視認することができる。
ユーザは、HMD100を装着している間にも、モニタ101を通じて外景を視認することができる。外景の視認方法としては、例えば、モニタ101が透過型の場合、光学的に視認してもよいし、HMD100に外景を撮影するカメラ105を備え、カメラ105の撮影した外景を視認してもよい。外景の視認方法についてはこれらに限定されない。そのため、HMDシステム1は、外景と仮想空間2とを同時に表示しつつ、ユーザが頭部を動かした際に視認する外景の変化の量と、映像コンテンツの被写体の見え方とを適合させることができるため、ユーザは映像コンテンツにおける被写体が現実に「そこ」にいるように認識することができ、高い没入感をユーザに与えることができる。
第1の実施の形態において、プロセッサ10は、HMD100を装着したユーザの現実空間における移動に連動して、仮想空間2において仮想カメラ3を移動し得る。この場合、プロセッサ10は、仮想空間2における仮想カメラ3の位置および向きに基づいて、HMD100のモニタ101に投影される画像領域(すなわち、仮想空間2における視界領域23)を特定する。
第1の実施の形態において、仮想カメラ3は、二つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含むことが望ましい。また、ユーザが3次元の仮想空間2を認識できるように、適切な視差が、二つの仮想カメラに設定されていることが好ましい。本実施の形態においては、仮想カメラ3が二つの仮想カメラを含み、二つの仮想カメラのロール方向が合成されることによって生成されるロール方向(w)がHMD100のロール方向(w)に適合されるように構成されている。
<3 データ構造>
図7は、コンピュータ200のメモリモジュール230に記憶されているユーザ情報232、コンテンツ情報233、オブジェクト情報234のデータ構造を示す図である。
図7(A)に示すように、ユーザ情報232は、項目「ユーザID」と、項目「性別」と、項目「年齢」と、項目「視聴履歴」と、項目「最多視聴コンテンツ」と、項目「部屋情報」と、項目「家具情報」と、項目「おすすめコンテンツ」等を含む。
項目「ユーザID」は、ユーザそれぞれを識別する情報である。
項目「性別」は、ユーザそれぞれの性別を識別する情報である。
項目「年齢」は、ユーザそれぞれの年齢を識別する情報である。
項目「視聴履歴」は、各ユーザがどの映像コンテンツを視聴したかを示す情報である。
項目「最多視聴コンテンツ」は、映像コンテンツの中で、どのコンテンツを最も多く視聴したかを示す情報である。たとえば、一週間ごとなど所定の期間中に蓄積された視聴履歴を分析し、最多視聴コンテンツを特定しユーザに提示する。または、ユーザにおすすめコンテンツを提示する際に、視聴履歴を分析して最多視聴コンテンツ情報を特定し、特定された情報から、付与されているコンテンツ情報の傾向を判定し、合致した映像コンテンツをおすすめコンテンツとしてユーザに提示してもよい。
項目「部屋情報」は、各ユーザの部屋の広さ、間取りなどを示す情報である。
項目「家具情報」は、各ユーザの保持する家具の種類などを示す情報である。
項目「おすすめコンテンツ」は、上記情報をもとに、どの映像コンテンツがおすすめかを判断し、ユーザに提示するための情報である。たとえば、ユーザID「U001」で示されるユーザの年齢、性別、視聴履歴、部屋の情報などから、コンテンツID「C008」と識別された映像コンテンツがよりおすすめと判断し、当該ユーザのHMD100に提示する。
図7(B)に示すように、コンテンツ情報233は、項目「コンテンツID」と、項目「コンテンツ属性」と、項目「視聴タグ」と、項目「被写体数」と、項目「屋外・屋内向け」と、項目「おすすめユーザ属性」等を含む。
項目「コンテンツID」は、コンテンツそれぞれを識別する情報である。
項目「コンテンツ属性」は、各映像コンテンツの属性を示す情報である。たとえば、人物、動物などを表し、具体的には、アイドルグループ(同性で編成されるグループなど)の映像コンテンツ、動物(猫)の映像コンテンツなどである。
項目「視聴タグ」は、各映像コンテンツを視聴するときに推奨されるユーザの姿勢・体勢を示す情報である。たとえば、立位、座位、臥床位などである。
項目「被写体数」は、各映像コンテンツに表示される被写体の数を示す情報である。例えば、映像コンテンツから被写体を抽出する工程において、被写体の数を特定し、特定された被写体の数を項目「被写体数」に含めることとしてもよい。例えば、映像コンテンツに対し、人物として映っている範囲を特定する学習済みモデルを用いることにより、当該人物を認識する。このように認識される人物の数をカウントすることにより、被写体の数を特定することができる。
項目「屋外・屋内向け」は各映像コンテンツを視聴するとき、屋外環境と屋内環境のどちらが適しているかを示す情報である。たとえば、屋外で撮影された映像コンテンツを室内で視聴するとき、撮影時の光の状況と室内の光の状況に差が生じ、没入感をそいでしまうおそれがある。そのため、当該項目により、映像コンテンツが撮影された環境に近い状況での視聴を促す。
項目「おすすめ視聴環境」は、各コンテンツを視聴するとき、どのような視聴環境で視聴するのが適しているのかを示す情報である。たとえば、少人数の被写体による映像コンテンツであれば、自室での視聴も問題ないが、大人数での被写体による映像コンテンツであれば、自室の広さでの視聴に適さない(被写体が部屋の壁よりも遠くに移動するように見える、壁に重畳する等)ことが想定され、ユーザの没入感を削いでしまうおそれがある。そこで、映像コンテンツごとに、視聴に適した部屋の広さなどを設定し、ユーザが当該映像コンテンツを視聴時に、ユーザに提示する。また、当該情報は、視聴コンテンツ決定時にユーザに提示してもよいし、ユーザの部屋の広さを撮影した撮影画像(例えばHMD100のカメラ105で撮影)に基づき(学習済みモデルなどで)解析し、解析結果に基づいて、ユーザがコンテンツ選択中に、選択画面上に重畳してもよい。また、HMDシステム1がユーザの居住地の情報を取得して(例えば、ユーザの操作により居住地を入力する)、当該居住地の情報に基づいて、ユーザの部屋の広さを取得することとしてもよい。
また、当該項目は、部屋の広さだけでなく、設置してある家具の種類(例えば、ソファ、ベッド、椅子)、備品(花、スタンドライト、楽器)など、映像コンテンツの視聴をより盛り上げるための情報も提示してもよい。
項目「提携レンタルスペース」は、各コンテンツを視聴するとき、視聴に適した空間(例えば、レンタルスペース)をユーザに示す情報である。たとえば、ライブ配信の視聴や、大人数の被写体による映像コンテンツを視聴時、自室などでは部屋の広さが足りず視聴が困難であり、せっかくの視聴期間を損失してしまう恐れがある。そのため、提携しているレンタルスペースをユーザに提示し、自室では視聴が困難な場合でも、ライブ配信やアイドルのコンサートなどを身近に楽しむことができる。レンタルスペースの情報は、コンテンツ視聴時にユーザに提示してもよいし、ユーザの選択に応じ情報を出力してもよい。また、当該レンタルスペースの選択時、予約などの決済処理を同時に行ってもよい。
項目「おすすめユーザ属性」は、各コンテンツに紐づけられた情報から、どのようなユーザに提供するのが好ましいかを示す情報である。たとえば、コンテンツID「C001」のコンテンツは、男性、20代のユーザに適しているコンテンツのため、ユーザ情報を照会し、当該コンテンツの視聴が好ましいユーザにおすすめコンテンツとして提示する。
図7(C)に示すように、オブジェクト情報234は、項目「オブジェクトID」と、項目「オブジェクト種別」と、項目「コントローラ操作要否」と、項目「LIVE配信時使用可否」等を含む。
項目「オブジェクトID」は、オブジェクトそれぞれを識別する情報である。
項目「オブジェクト種別」は、各オブジェクトの種類を示す情報である。たとえば、仮オブジェクトの種類として、身体の部位、コミュニケ―ションツール、あるいは雑貨などがあげられる。具体的には、仮想手オブジェクト、仮想手紙オブジェクト、仮想花オブジェクトなどを含むが、これに限定されない。
項目「コントローラ操作要否」は、当該オブジェクトを使用するとき、コントローラ130によるユーザの操作が必要か否かを示す情報である。
項目「LIVE配信時使用可否」は、ライブ配信を視聴するときに、ユーザが当該オブジェクトを使用することが可能か否かを示す情報である。たとえば、オブジェクトID「OB002」の仮想手紙をライブ配信時に使用することで、ライブ配信している被写体に対しユーザからのメッセージを送付することができる。
<3 動作>
以下、HMDシステム1が仮想空間2の視界画像データを生成する生成処理を説明する。
<3.1 視界画像データを生成する処理を表すフローチャート>
図8は、HMDシステム1が視界画像データを生成する処理を表すフローチャートである。
ステップS8201において、コンピュータ200のプロセッサ10は、仮想空間定義モジュール221として、仮想空間2を定義する。
ステップS8202において、プロセッサ10は、仮想オブジェクト生成モジュール222として、仮想空間2の中心とは異なる所定の位置に仮想カメラ3を設定する。
ステップS8203において、プロセッサ10は、視界画像生成モジュール213として、視界画像を表示するための視界画像データを生成する。生成された視界画像データは、通信制御モジュール240によってHMD100に出力される。
ステップS8101において、HMD100のモニタ101は、コンピュータ200から受信した視界画像データに基づいて、視界画像を表示する。HMD100を装着したユーザは、視界画像を視認すると仮想空間2を認識する。
ステップS8121において、センサ120は、HMD100の傾き(つまり、ユーザの頭部の傾き)を表す動き検知データをコンピュータ200に出力する。
ステップS8204において、コンピュータ200のプロセッサ10は、基準視線特定モジュール214として、センサ120から受信した動き検知データに基づいてユーザの頭部の動き(傾き)を検出する。ある局面において、センサ120は、3軸角速度センサと、3軸加速度センサとの組み合わせにより構成される。コンピュータ200は、これらのセンサの出力に基づいて、HMD100の基準方向(たとえば、重力(鉛直)方向)に対する角度を算出する。
ステップS8021において、注視センサ102は、ユーザの両目の各々の視線の検出結果をコンピュータ200に出力する。
ステップS8205において、プロセッサ10は、視線検出モジュール215として、注視センサ102の出力に基づいてユーザの視線の動き(たとえば、基準視線(たとえば、正面)に対する傾き)を検出する。
ステップS8206にて、プロセッサ10は、仮想空間2においてモニタ101に表示する範囲を特定する。より具体的には、プロセッサ10は、検出された頭部の動きと、視線の動きとに連動するように、仮想カメラ3の傾きを制御する。たとえば、ユーザが頭を右方向に10°傾け、ユーザが視線を右方向に10°傾けた場合、プロセッサ10は、仮想カメラ3を右方向に20°傾ける。プロセッサ10は、傾けた後の仮想カメラ3の撮影範囲(視界領域23)を、モニタ101に表示する範囲として特定する。このとき、プロセッサ10は、仮想カメラ3の設定を参照して、仮想カメラ3の撮影範囲を決定する。例えば、仮想カメラ3の設定は、仮想カメラ3の画角を含む。
ステップS8207において、プロセッサ10は、特定した表示範囲に含まれるパノラマ映像をレンダリングして視界画像データを生成する。生成された視界画像データは、通信制御モジュール240によってHMD100に出力される。
ステップS8102において、HMD100は、受信した視界画像データに基づいて視界画像を更新し、更新後の視界画像をモニタ101に表示する。
上記によれば、実施形態に従うHMDシステム1は、外景の映像を表示しつつ、ユーザの頭部の動きと、ユーザの視線の動きとに連動するように、ユーザに提供する視界画像を更新する。これにより、実施形態に従うHMDシステム1は、現実空間における視界の更新方法と同じ更新方法を仮想空間において実現できる。その結果、ユーザは、外景の映像を視認しながらも、仮想空間において違和感を覚えることなく自身の視界を更新できるため、より仮想空間に没入し得る。
なお、上記の例ではプロセッサ10はステップS8206において、検出された頭部の動きと、視線の動きとに連動するように仮想カメラ3の傾きを制御して、仮想空間2においてモニタ101に表示する範囲を特定しているが、表示範囲の特定方法は当該方法に限られない。
<3.2 視界画像データを生成する処理および手オブジェクトの処理を表すフローチャート>
図9は、HMDシステム1が視界画像データを生成する処理および手オブジェクトの処理を表すフローチャートである。
ステップS9201において、コンピュータ200のプロセッサ10は、仮想空間定義モジュール221として、仮想空間2を定義する。
ステップS9202において、プロセッサ10は、仮想オブジェクト生成モジュール222として、仮想カメラ3を仮想空間2における所定の位置(例えば図3(B)の位置)に配置する。
ステップS9203において、プロセッサ10は、視界画像生成モジュール213として、視界画像を表示するための視界画像データを生成する。生成された視界画像データは、通信制御モジュール240によってHMD100に出力される。
ステップS9101において、HMD100のモニタ101は、コンピュータ200から受信した視界画像データに基づいて、視界画像を表示する。HMD100を装着したユーザは、視界画像を視認すると仮想空間2を認識する。
ステップS9121において、センサ120は、HMD100の傾き(つまり、ユーザの頭部の傾き)を表す動き検知データをコンピュータ200に出力する。
ステップS9204において、コンピュータ200のプロセッサ10は、基準視線特定モジュール214として、センサ120から受信した動き検知データに基づいてユーザの頭部の動き(傾き)を検出する。ある局面において、センサ120は、3軸角速度センサと、3軸加速度センサとの組み合わせにより構成される。コンピュータ200は、これらのセンサの出力に基づいて、HMD100の基準方向(たとえば、重力(鉛直)方向)に対する角度を算出する。
ステップS9021において、注視センサ102は、ユーザの両目の各々の視線の検出結果をコンピュータ200に出力する。
ステップS9205において、プロセッサ10は、視線検出モジュール215として、注視センサ102の出力に基づいてユーザの視線の動き(たとえば、基準視線(たとえば、正面)に対する傾き)を検出する。
ステップS9206にて、プロセッサ10は、仮想空間2においてモニタ101に表示する範囲を特定する。より具体的には、プロセッサ10は、検出された頭部の動きと、視線の動きとに連動するように、仮想カメラ3の傾きを制御する。たとえば、ユーザが頭を右方向に10°傾け、ユーザが視線を右方向に10°傾けた場合、プロセッサ10は、仮想カメラ3を右方向に20°傾ける。プロセッサ10は、傾けた後の仮想カメラ3の撮影範囲(視界領域23)を、モニタ101に表示する範囲として特定する。このとき、プロセッサ10は、仮想カメラ3の設定を参照して、仮想カメラ3の撮影範囲を決定する。例えば、仮想カメラ3の設定は、仮想カメラ3の画角を含む。
ステップS9207において、プロセッサ10は、特定した表示範囲に含まれるパノラマ映像をレンダリングして視界画像データを生成する。生成された視界画像データは、通信制御モジュール240によってHMD100に出力される。
ステップS9102において、HMD100は、受信した視界画像データに基づいて視界画像を更新し、更新後の視界画像をモニタ101に表示する。
ステップS9131において、コントローラ130は、センサ120から出力される信号に基づいて、ユーザの操作を検出し、その検出された操作を表す検出データをコンピュータ200に出力する。なお、他の局面において、ユーザによるコントローラ130の操作は、ユーザの周囲に配置されたカメラ105からの画像に基づいて検出されてもよい。
ステップS9208において、プロセッサ10は、コントローラ130から取得した検出データに基づいて、ユーザによるコントローラ130の操作を検出する。
ステップS9209において、プロセッサ10は、手オブジェクトを仮想空間2に提示するための視界画像データを生成する。
ステップS9210において、プロセッサ10は、ユーザによるコントローラ130の操作に基づく視界画像データを生成する。生成された視界画像データは、通信制御モジュール240によってHMD100に出力される。
ステップS9103において、HMD100は、受信した視界画像データに基づいて視界画像を更新し、更新後の視界画像をモニタ101に表示する。
<4 画面例>
図10〜図13は、HMD100を装着するユーザにおける画面例を示す図である。
図10は、HMD100を装着するユーザが頭部を横に動かしたとき画面例を示す図である。
図10の画面例(A)は、HMD100のモニタ101に外景および映像コンテンツが表示されていることを示す。ここで、映像コンテンツは、人物を抽出して生成されたものである。左目、右目の表記はそれぞれ左目用モニタ401L、右目用モニタ401Rを示す。
図10の画面例(B)は、上記画面例(A)の状態から、ユーザが頭部あるいは視線を左右に動かしたときの画面例を示す。図10の画面例(B)の左目用モニタ402L、右目用モニタ402Rが示すように、ユーザが頭部あるいは視線を左右に動かしても、外景と映像コンテンツの位置関係および表示の変化量に差がないことを示す。
図11は、HMD100を装着するユーザが映像コンテンツの表示位置から離れた位置に移動したときの画面例を示す図である。
図11の画面例(A)は、HMD100のモニタ101に外景および映像コンテンツが表示されていることを示す。左目、右目の表記はそれぞれ左目用モニタ403L、右目用モニタ403Rを示す。
図11の画面例(B)は、上記画面例(A)の状態から、ユーザが映像コンテンツの表示位置から離れた位置に移動したときの画面例を示す。図11の画面例(B)の左目用モニタ404L、右目用モニタ404Rが示すように、ユーザが映像コンテンツの表示位置から離れた位置に移動しても、外景と映像コンテンツの位置関係および表示の変化量に差がなく、かつ映像コンテンツは所定の位置(例えば、ユーザの部屋の床)に沿うように表示されていることを示す。
図12は、HMDを装着するユーザが映像コンテンツの表示位置の近くで頭部あるいは視線を上下左右に動かしたときの画面例を示す図である。
図12の画面例(A)は、HMD100のモニタ101にユーザの至近距離で映像コンテンツが表示されていることを示す。左目、右目の表記はそれぞれ左目用モニタ405L、右目用モニタ405Rを示す。
図12の画面例(B)は、上記画面例(A)の状態から、ユーザが頭部あるいは視線を左右に動かしたときの画面例を示す。
図12の画面例(C)は、上記画面例(A)の状態から、ユーザが頭部あるいは視線を上下に動かしたときの画面例を示す。
図12の画面例(B)および(C)の左目用モニタ406L、407L、右目用モニタ406R、407Rが示すように、ユーザが映像コンテンツの表示位置の近くで頭部あるいは視線を上下左右に動かしても、外景と映像コンテンツの位置関係および表示の変化量に差がないことを示す。
図13は、HMD100を装着するユーザがタグ付けられた映像コンテンツを視聴するときの画面例を示す図である。
図13の画面例(A)は、座った状態での視聴がタグ付けられた映像コンテンツを、ユーザが立った状態で視聴しているときの画面例を示す。左目、右目の表記はそれぞれ左目用モニタ408L、右目用モニタ408Rを示す。
図13の画面例(A)が示すように、座った状態での視聴がタグ付けられているため、HMD100のモニタ101に座って視聴することを勧める表示が示される。ここではモニタ上に文言が表示されている例を挙げているが、音声、振動など他の方法で提示してもよく、これらに限られない。
図13の画面例(B)は、上記画面例(A)の状態から、ユーザが座った状態になったときの画面例を示す。図13の画面例(B)の左目用モニタ409L、右目用モニタ409Rが示すように、座った状態での視聴がタグ付けられた映像コンテンツの視聴において、ユーザが座った状態になったとき、ユーザを視聴位置に誘導する表示はなくなり、ユーザは映像コンテンツの全体像を視聴することができる。
<ユーザへの映像コンテンツの提案>
以上のように、HMDシステム1は、ユーザ情報232と、コンテンツ情報233とに基づいて、ユーザの部屋の広さに適した1または複数の映像コンテンツを、視聴の候補としてHMD100のモニタ101等に表示してもよい。これにより、ユーザは、複数ある映像コンテンツのうち、視聴対象の映像コンテンツを容易に特定することができる。
<映像コンテンツを視聴するのに適した場所(空間)の提案>
以上のように、HMDシステム1は、ユーザ情報232と、コンテンツ情報233とに基づいて、ユーザの部屋が、映像コンテンツを視聴するのに適した広さであるかどうかを判断し、判断結果に応じて、異なる映像コンテンツを視聴の候補として提示すること、また、別の場所で映像コンテンツを視聴するよう提示することとしてもよい。例えば、HMDシステム1は、ユーザの部屋が、映像コンテンツを視聴するのに適した広さよりも狭い場合に、当該映像コンテンツに関連付けられている情報(コンテンツ情報233の「おすすめ視聴環境」)に基づいて、コンテンツを視聴するのに適した広さを有する場所(例えば、レンタルスペースでの空き部屋(空き会議室など))を検索し、検索結果(例えば、空き部屋を予約可能な日時の情報を含む)をユーザに対しモニタ101等により表示することとしてもよい。HMDシステム1は、ユーザから、当該場所を予約する入力操作を受け付けて、予約の処理、および、決済処理を行うこととしてもよい。
<第2の実施の形態>
<概要>
第2の実施の形態のHMDシステム1では、映像コンテンツの一部を遮蔽して、HMD100を装着するユーザに対し表示する例を説明する。
(1)HMDシステム1は、予め保持している映像コンテンツについて、所定の情報に基づいて、映像の一部を遮蔽する範囲を定義する。
具体的には、HMDシステム1は、ユーザの部屋の撮影結果等により特定されるユーザの部屋の情報(部屋の間取り、部屋に配置される家具など)に基づいて、映像コンテンツの映像のうち遮蔽する範囲を特定する。
例えば、映像コンテンツに含まれる被写体までの距離と、HMD100を装着するユーザの位置からユーザの部屋の家具等までの距離とを比較して、家具等までの距離よりも被写体までの距離のほうが遠い場合に、被写体が家具等に隠れるように映像コンテンツのレンダリングを行うこととしてもよい。
また、HMDシステム1において、例えば、ユーザの部屋の間取り(入口となる扉の位置、部屋を仕切る仕切りの位置、キッチンなど部屋の機能として定義される範囲など)に基づいて、映像コンテンツを遮蔽する範囲を特定することとしてもよい。例えば、部屋の入口、通路となる部分については遮蔽しない範囲とすることで、入口、通路となる部分から被写体が登場するかのように映像コンテンツをユーザに対しモニタ101等により提示することができる。
HMDシステム1は、映像コンテンツについて、予め映像コンテンツに含まれる被写体までの距離(映像コンテンツを生成する際に使用されたカメラの位置から被写体までの距離など)の情報を、当該映像コンテンツと関連付けて保持しておくこととしてもよい。例えば、2眼カメラ等において、距離を計測できるカメラにより被写体を撮影するとする。当該撮影により得られる撮影画像に基づいて学習を行い、学習済みモデルを生成することにより、映像コンテンツにおける被写体までの距離を推定することができる。また、映像の再生タイミングに応じて被写体までの距離が変動しうるため、映像の再生タイミングと関連付けて被写体までの距離の情報を保持することとしてもよい。
(1−1)HMDシステム1は、例えば、仮想カメラ3の設定に基づき、遮蔽されない範囲についてレンダリングを行うことにより、映像コンテンツの一部を遮蔽してユーザに対し提示する。例えば、被写体が家具等に隠れるように描画する場合、HMD100を装着するユーザの位置から当該家具等の位置(方向および距離)を特定し、当該家具等の位置を、映像コンテンツに置いて遮蔽する範囲として定義することとしてもよい。これにより、映像コンテンツの被写体が家具等に隠れるように表示することができ、ユーザの部屋に被写体がいるかのような没入感を、よりいっそう向上させることができる。
(1−2)この他に、HMDシステム1は、映像コンテンツの映像のうち遮蔽する範囲に、遮蔽物となるオブジェクト(ユーザが視覚的に認識できない)を配置して、仮想カメラの設定に基づきレンダリングを行うこととしてもよい。
(2)HMDシステム1は、予め、映像コンテンツと関連付けて、映像コンテンツにおいて遮蔽されている範囲または遮蔽されていない範囲の情報を保持しており、当該情報に基づいて、ユーザに映像コンテンツを提示する。
具体的には、HMDシステム1は、映像コンテンツにおいて遮蔽されていない範囲を特定し、当該特定される範囲と、ユーザが映像コンテンツを視聴する部屋の情報とに基づいて、仮想カメラを設定する。例えば、HMDシステム1は、映像コンテンツにおいて当該特定される範囲(遮蔽されていない範囲)と、ユーザの部屋の情報を構成する家具、入口等が合わさるように、仮想空間2に置ける仮想カメラ3の方向を特定する。例えば、HMD100のカメラ105の撮影画像を通じてユーザが外界を視認している場合(シースルー等)、HMDシステム1は、ユーザの位置に対し、部屋にある家具、入口等の位置(つまり、部屋におけるユーザの位置からの距離と方向)を特定する。一方、HMDシステム1は、全天球または半天球状の仮想空間2において映像コンテンツを展開している場合に、当該映像コンテンツを遮蔽しない範囲を特定する。当該仮想空間2において、当該遮蔽しない範囲と、ユーザの部屋における家具、入口等の位置とを合わせるように、仮想カメラ3を設定する。これにより、HMD100を装着するユーザが頭部を回転させて部屋の家具、入口を視認した場合に、映像コンテンツを視認できるようにすることができる。例えば、ユーザが部屋を見渡すと、突然、映像コンテンツの被写体が登場するかのような視聴体験を提供することができ、驚きや恐怖などの感情を惹起させつつ、ユーザの滞在する空間に被写体が登場したかのような没入感を高めることができる。
以上のように、本実施形態によれば、映像コンテンツ内の被写体が、ユーザの部屋の家具の後ろに隠れる、屋外の建物または木の後ろから現れる、家具、または屋外の設備から被写体が飛び出してくるなど、よりユーザに没入感のある体験を提供することができる。具体的には、映像コンテンツにおける被写体と、ユーザの現実の周囲環境に存在する物体(屋内:家具・扉など、屋外:家の壁・街路樹など)との距離を解析し、映像コンテンツにおける被写体を当該物体の後方に配置することができる。サーバ構成などは第1の実施の形態と共通のため省略する。
なお、画像に含まれる人物などの被写体の3Dモデルを生成することができる学習済みモデルを用いて、映像コンテンツに含まれる被写体の3Dモデルを生成することとしてもよい。ユーザがコンテンツを視聴する環境(部屋など)において、床面などを検出して、床面と3Dモデルの足とを関連付けて映像コンテンツを表示させることとしてもよい。
<5 変形例>
本実施形態の変形例について説明する。すなわち、以下のような態様を採用してもよい。
(1)プログラムであって、コンピュータにこのプログラムを実行させる方法。このとき、コンピュータにこのプログラムが予めインストールされていてもよいし、事後的にインストールされてもよいし、このようなプログラムを外部の記憶媒体に記憶させてもよいし、クラウドコンピューティングで動作させてもよい。
(2)情報処理装置であって、このプログラムが予めインストールされていてもよいし、事後的にインストールされてもよいし、このようなプログラムを外部の非一時的な記憶媒体に記憶させてもよいし、クラウドコンピューティングで動作させてもよい。
<6 付記>
以上の各実施形態で説明した事項を以下に付記する。
(付記1)
外界をユーザが視認できるヘッドマウントデバイス100で映像を再生するための方法であって、ヘッドマウントデバイス100の制御部が、パノラマ映像として撮影された、被写体が抽出された映像コンテンツを、ヘッドマウントデバイス100を装着するユーザに対し表示する範囲を定義する第1の処理部、ヘッドマウントデバイス100の外界および定義された範囲の映像コンテンツを、ユーザに対し表示する第2の処理部、として動作し、第1の処理部において、仮想空間2を定義し、当該仮想空間2に映像コンテンツを配置し、仮想空間2の中心21とは異なる所定の位置に仮想カメラ3を設定し、当該仮想カメラ3の設定に基づき範囲を定義し、ヘッドマウントデバイス100を装着するユーザの操作に連動させて、仮想カメラ3を回転させる。
(付記2)
ユーザの操作として、ヘッドマウントデバイス100を装着するユーザの頭部の動きを検出し、検出した頭部の動きに連動させて、仮想カメラ3を回転させる、付記1に記載の方法。
(付記3)
中心21の位置と、仮想カメラ3が設定される所定の位置とに基づいて、ユーザの操作に連動させて、仮想カメラ3を回転させる、付記1または2に記載の方法。
(付記4)
ユーザの操作として、ユーザの頭部の動きと連動させて、中心21の位置を軸として仮想カメラ3を回転させる、付記3に記載の方法。
(付記5)
ヘッドマウントデバイス100の属性の情報を取得し、ヘッドマウントデバイス100の属性に応じて、仮想カメラ3の所定の位置を定義する、付記1から4のいずれかに記載の方法。
(付記6)
ヘッドマウントデバイス100の制御部が、
ヘッドマウントデバイス100の外界の所定の面を設置面として定義する第3の処理部、
定義された設置面上に、映像コンテンツの一部または全部が沿うように配置する第4の処理部として動作する、付記1から5のいずれかに記載の方法。
(付記7)
第4の処理部は、
映像コンテンツに付されたタグの種別に応じて、現実世界において、ユーザが映像コンテンツを視聴するための位置をユーザに対し提示する、付記6に記載の方法。
(付記8)
パノラマ映像が、予め撮影された映像だけでなく、ライブ撮影された映像も含む、付記1から7のいずれかに記載の方法。
(付記9)
制御部が、ユーザがヘッドマウントデバイス100で視聴する空間の情報を取得して、当該情報に基づいて、ユーザが視聴する映像コンテンツの候補を提示する、付記1から8のいずれかに記載の方法。
(付記10)
映像コンテンツには、当該映像コンテンツを視聴するための空間の広さに関する情報が関連付けられており、制御部が、映像コンテンツに関連付けられる空間の広さに関する情報に基づいて、当該映像コンテンツを視聴するための空間の候補をユーザに提示する、付記1から9のいずれかに記載の方法。
(付記11)
ヘッドマウントデバイス100の制御部が、
映像コンテンツの一部を遮蔽して、ユーザに当該映像コンテンツを提示する、付記1から10のいずれかに記載の方法。
(付記12)
ヘッドマウントデバイス100の制御部が、
映像コンテンツの被写体までの距離と、ユーザが当該映像コンテンツを視聴するための空間に関する情報とに基づいて、当該映像コンテンツを遮蔽する範囲を特定し、特定した範囲に基づきユーザに当該映像コンテンツを提示する、付記11に記載の方法。
(付記13)
ヘッドマウントデバイス100の制御部が、
映像コンテンツを遮蔽しない範囲の情報を取得して、取得した遮蔽しない範囲の情報と、ユーザが当該映像コンテンツを視聴する空間に関する情報とに基づいて、仮想空間2における仮想カメラ3を設定する、付記11に記載の方法。
2 仮想空間、3 仮想カメラ、4 基準視線、10 プロセッサ、11 メモリ、12 ストレージ、13 入出力インターフェース、14 通信インターフェース、19 ネットワーク、22 仮想空間画像、101 モニタ、102 注視センサ、103 スピーカ、104 マイク、105 カメラ、110 HMDセンサ、120 センサ、130 コントローラ、150 サーバ、200 コンピュータ、210 表示制御モジュール、211 仮想カメラ制御モジュール、212 視界領域決定モジュール、213 視界画像生成モジュール、214 基準視線特定モジュール、215 視線検出モジュール、220 仮想空間制御モジュール、221 仮想空間定義モジュール、222 仮想オブジェクト生成モジュール、223 手オブジェクト制御モジュール、225 音声制御モジュール、230 メモリモジュール、231 空間情報、232 ユーザ情報、233 コンテンツ情報、234 オブジェクト情報、240 通信制御モジュール

Claims (13)

  1. 外界をユーザが視認できるヘッドマウントデバイスで映像を再生するための方法であっ
    て、
    前記ヘッドマウントデバイスの制御部が、
    パノラマ映像として撮影された、被写体が抽出された映像コンテンツを、前記ヘッドマウントデバイスを装着するユーザに対し表示する範囲を定義する第1の処理部、
    前記ヘッドマウントデバイスの外界および前記定義された範囲の前記映像コンテンツを、前記ユーザに対し表示する第2の処理部、として動作し、
    前記第1の処理部において、
    仮想空間を定義し、
    当該仮想空間に前記映像コンテンツを配置し、
    前記仮想空間の中心とは異なる所定の位置に仮想カメラを設定し、当該仮想カメラの設定に基づき前記範囲を定義し、
    前記ヘッドマウントデバイスを装着するユーザの操作に連動させて、前記仮想カメラを回転させ、
    前記制御部が、
    前記映像コンテンツの一部を遮蔽して、前記ユーザに前記映像コンテンツを提示し、
    前記制御部が、
    前記映像コンテンツを遮蔽しない範囲の情報を取得して、取得した前記遮蔽しない範囲の情報と、前記ユーザが前記映像コンテンツを視聴する空間に関する情報とに基づいて、前記仮想空間における前記仮想カメラを設定する、方法。
  2. 前記ユーザの操作として、前記ヘッドマウントデバイスを装着するユーザの頭部の動きを検出し、検出した前記頭部の動きに連動させて、前記仮想カメラを回転させる、請求項1に記載の方法。
  3. 前記中心の位置と、前記仮想カメラが設定される前記所定の位置とに基づいて、前記ユーザの操作に連動させて、前記仮想カメラを回転させる、請求項1または2に記載の方法。
  4. 前記ユーザの操作として、前記ユーザの頭部の動きと連動させて、前記中心の位置を軸として前記仮想カメラを回転させる、請求項3に記載の方法。
  5. 前記ヘッドマウントデバイスの属性の情報を取得し、前記ヘッドマウントデバイスの属性に応じて、前記仮想カメラの前記所定の位置を定義する、請求項1から4のいずれかに記載の方法。
  6. 前記ヘッドマウントデバイスの制御部が、
    前記ヘッドマウントデバイスの外界の所定の面を設置面として定義する第3の処理部、
    前記定義された設置面上に、前記映像コンテンツの一部または全部が沿うように配置する第4の処理部として動作する、請求項1から5のいずれかに記載の方法。
  7. 前記第4の処理部は、
    前記映像コンテンツに付されたタグの種別に応じて、現実世界において、前記ユーザが前記映像コンテンツを視聴するための位置を前記ユーザに対し提示する、請求項6に記載の方法。
  8. 前記パノラマ映像が、予め撮影された映像だけでなく、ライブ撮影された映像も含む、請求項1から7のいずれかに記載の方法。
  9. 前記制御部が、
    前記ユーザが前記ヘッドマウントデバイスで視聴する空間の情報を取得して、当該情報に基づいて、前記ユーザが視聴する前記映像コンテンツの候補を提示する、請求項1から8のいずれかに記載の方法。
  10. 前記映像コンテンツには、当該映像コンテンツを視聴するための空間の広さに関する情報が関連付けられており、
    前記制御部が、
    前記映像コンテンツに関連付けられる前記空間の広さに関する情報に基づいて、当該映像コンテンツを視聴するための空間の候補を前記ユーザに提示する、請求項1から9のいずれかに記載の方法。
  11. 前記制御部が、
    前記映像コンテンツの前記被写体までの距離と、前記ユーザが前記映像コンテンツを視聴するための空間に関する情報とに基づいて、前記映像コンテンツを遮蔽する範囲を特定し、特定した範囲に基づき前記ユーザに映像コンテンツを提示する、請求項1から10のいずれかに記載の方法。
  12. 外界をユーザが視認できるヘッドマウントデバイスで映像を再生するためのプログラムであって、コンピュータを情報処理装置として機能させ、
    前記ヘッドマウントデバイスの制御部が、
    パノラマ映像として撮影された、被写体が抽出された映像コンテンツを、前記ヘッドマウントデバイスを装着するユーザに対し表示する範囲を定義する第1の処理部、
    前記ヘッドマウントデバイスの外界および前記定義された範囲の前記映像コンテンツを、前記ユーザに対し表示する第2の処理部、として動作し、
    前記第1の処理部において、
    仮想空間を定義し、
    当該仮想空間に前記映像コンテンツを配置し、
    前記仮想空間の中心とは異なる所定の位置に仮想カメラを設定し、当該仮想カメラの設定に基づき前記範囲を定義し、
    前記ヘッドマウントデバイスを装着するユーザの操作に連動させて、前記仮想カメラを
    回転させ、
    前記制御部が、
    前記映像コンテンツの一部を遮蔽して、前記ユーザに前記映像コンテンツを提示し、
    前記制御部が、
    前記映像コンテンツを遮蔽しない範囲の情報を取得して、取得した前記遮蔽しない範囲の情報と、前記ユーザが前記映像コンテンツを視聴する空間に関する情報とに基づいて、前記仮想空間における前記仮想カメラを設定する、プログラム。
  13. 外界をユーザが視認できるヘッドマウントデバイスで映像を再生するための情報処理装置であって、
    前記ヘッドマウントデバイスの制御部が、
    パノラマ映像として撮影された、被写体が抽出された映像コンテンツを、前記ヘッドマウントデバイスを装着するユーザに対し表示する範囲を定義する第1の処理部、
    前記ヘッドマウントデバイスの外界および前記定義された範囲の前記映像コンテンツを、前記ユーザに対し表示する第2の処理部、として動作し、
    前記第1の処理部において、
    仮想空間を定義し、
    当該仮想空間に前記映像コンテンツを配置し、
    前記仮想空間の中心とは異なる所定の位置に仮想カメラを設定し、当該仮想カメラの設定に基づき前記範囲を定義し、
    前記ヘッドマウントデバイスを装着するユーザの操作に連動させて、前記仮想カメラを回転させ、
    前記制御部が、
    前記映像コンテンツの一部を遮蔽して、前記ユーザに前記映像コンテンツを提示し、
    前記制御部が、
    前記映像コンテンツを遮蔽しない範囲の情報を取得して、取得した前記遮蔽しない範囲の情報と、前記ユーザが前記映像コンテンツを視聴する空間に関する情報とに基づいて、前記仮想空間における前記仮想カメラを設定する、情報処理装置。
JP2020093705A 2020-05-28 2020-05-28 方法、プログラム、情報処理装置 Active JP6875029B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020093705A JP6875029B1 (ja) 2020-05-28 2020-05-28 方法、プログラム、情報処理装置
JP2021068862A JP2021190100A (ja) 2020-05-28 2021-04-15 方法、プログラム、情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020093705A JP6875029B1 (ja) 2020-05-28 2020-05-28 方法、プログラム、情報処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021068862A Division JP2021190100A (ja) 2020-05-28 2021-04-15 方法、プログラム、情報処理装置

Publications (2)

Publication Number Publication Date
JP6875029B1 true JP6875029B1 (ja) 2021-05-19
JP2021189695A JP2021189695A (ja) 2021-12-13

Family

ID=75900118

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020093705A Active JP6875029B1 (ja) 2020-05-28 2020-05-28 方法、プログラム、情報処理装置
JP2021068862A Pending JP2021190100A (ja) 2020-05-28 2021-04-15 方法、プログラム、情報処理装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2021068862A Pending JP2021190100A (ja) 2020-05-28 2021-04-15 方法、プログラム、情報処理装置

Country Status (1)

Country Link
JP (2) JP6875029B1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7412617B1 (ja) 2023-02-10 2024-01-12 株式会社コロプラ 情報処理システムおよびプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6353214B2 (ja) * 2013-11-11 2018-07-04 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置および画像生成方法
JP6234622B1 (ja) * 2017-01-16 2017-11-22 株式会社コロプラ 仮想空間を介して通信するための方法、当該方法をコンピュータに実行させるためのプログラム、および当該プログラムを実行するための情報処理装置
JP2019053423A (ja) * 2017-09-13 2019-04-04 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP7085816B2 (ja) * 2017-09-26 2022-06-17 キヤノン株式会社 情報処理装置、情報提供装置、制御方法、及びプログラム
JP2021140194A (ja) * 2018-05-24 2021-09-16 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
EP3864575A4 (en) * 2018-10-09 2021-12-01 Magic Leap, Inc. VIRTUAL AND AUGMENTED REALITY SYSTEMS AND PROCESSES

Also Published As

Publication number Publication date
JP2021189695A (ja) 2021-12-13
JP2021190100A (ja) 2021-12-13

Similar Documents

Publication Publication Date Title
US10453248B2 (en) Method of providing virtual space and system for executing the same
US20180373413A1 (en) Information processing method and apparatus, and program for executing the information processing method on computer
CN105377117B (zh) 基于用户的光学处方的头戴式显示器
US10545339B2 (en) Information processing method and information processing system
US20190073830A1 (en) Program for providing virtual space by head mount display, method and information processing apparatus for executing the program
US10313481B2 (en) Information processing method and system for executing the information method
US10546407B2 (en) Information processing method and system for executing the information processing method
US20180196506A1 (en) Information processing method and apparatus, information processing system, and program for executing the information processing method on computer
US20180373328A1 (en) Program executed by a computer operable to communicate with head mount display, information processing apparatus for executing the program, and method executed by the computer operable to communicate with the head mount display
US10459599B2 (en) Method for moving in virtual space and information processing apparatus for executing the method
US10410395B2 (en) Method for communicating via virtual space and system for executing the method
JP6290467B1 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるプログラム
JP6298563B1 (ja) ヘッドマウントデバイスによって仮想空間を提供するためのプログラム、方法、および当該プログラムを実行するための情報処理装置
US20190005731A1 (en) Program executed on computer for providing virtual space, information processing apparatus, and method of providing virtual space
JP6321263B1 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP6470859B1 (ja) ユーザの動きをアバタに反映するためのプログラム、当該プログラムを実行するための情報処理装置、およびアバタを含む映像を配信するための方法
US20180348531A1 (en) Method executed on computer for controlling a display of a head mount device, program for executing the method on the computer, and information processing apparatus therefor
JP2019128721A (ja) ユーザの動きをアバタに反映するためのプログラム、当該プログラムを実行するための情報処理装置、およびアバタを含む映像を配信するための方法
US20190114841A1 (en) Method, program and apparatus for providing virtual experience
US20180373884A1 (en) Method of providing contents, program for executing the method on computer, and apparatus for providing the contents
JP6875029B1 (ja) 方法、プログラム、情報処理装置
JP2018125003A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるプログラム
JP2018106579A (ja) 情報提供方法、プログラム、および、情報提供装置
JP6225242B1 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるプログラム
JP2018192238A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200528

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201105

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210415

R150 Certificate of patent or registration of utility model

Ref document number: 6875029

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250