IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

6999538情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置
<>
  • -情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 図1
  • -情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 図2
  • -情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 図3
  • -情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 図4
  • -情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 図5
  • -情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 図6
  • -情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 図7
  • -情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 図8
  • -情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 図9
  • -情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 図10
  • -情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 図11
  • -情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 図12
  • -情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 図13
  • -情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 図14
  • -情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 図15
  • -情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 図16
  • -情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-24
(45)【発行日】2022-01-18
(54)【発明の名称】情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置
(51)【国際特許分類】
   G06T 19/00 20110101AFI20220111BHJP
【FI】
G06T19/00 300B
【請求項の数】 13
(21)【出願番号】P 2018242474
(22)【出願日】2018-12-26
(62)【分割の表示】P 2017137146の分割
【原出願日】2017-07-13
(65)【公開番号】P2019083029
(43)【公開日】2019-05-30
【審査請求日】2020-06-29
(73)【特許権者】
【識別番号】509070463
【氏名又は名称】株式会社コロプラ
(74)【代理人】
【識別番号】110001416
【氏名又は名称】特許業務法人 信栄特許事務所
(72)【発明者】
【氏名】澤木 一晃
【審査官】村松 貴士
(56)【参考文献】
【文献】特開2017-068851(JP,A)
【文献】特開2017-040970(JP,A)
【文献】特開2009-129398(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00 - 19/20
G06F 3/01
G06F 3/048 - 3/0489
A63F 13/00 - 13/98
(57)【特許請求の範囲】
【請求項1】
ヘッドマウントデバイスを備えたシステムにおける情報処理方法であって、
仮想空間を定義する仮想空間データを生成するステップと、
前記ヘッドマウントデバイスの動きおよび前記仮想空間データに基づいて、前記ヘッドマウントデバイスに表示される視野画像を示す視野画像データを生成するステップと、
前記ヘッドマウントデバイスを装着したユーザの行動を特定するステップと、
特定された前記行動が予め定められた第一条件を満たした場合には、前記ヘッドマウントデバイスの向きに応じた前記仮想空間における第一領域の評価値を更新するステップと、
前記評価値に基づいて、前記第一領域に関する映像を生成するステップと、
を含
前記ユーザの行動を特定するステップにおいて、少なくとも前記ユーザの表情が特定され、
前記評価値を更新するステップは、前記表情に関する情報の評価を含んで行われる、情報処理方法。
【請求項2】
前記行動が第二条件を満たした場合には、前記評価値をさらに更新するステップを、さらに含む、請求項1に記載の情報処理方法。
【請求項3】
前記第二条件は、前記仮想空間内において複数のユーザ間で会話およびジェスチャの少なくとも一方がなされたことを含む、請求項2に記載の情報処理方法。
【請求項4】
前記会話は、前記第一領域を指す言語的表現を含む、請求項3に記載の情報処理方法。
【請求項5】
前記会話は、前記第一条件を満たした時刻を指す時制的表現を含む、請求項3または4に記載の情報処理方法。
【請求項6】
前記第二条件は、前記ユーザが前記仮想空間において前記第一領域を写真撮影することを含む、請求項2から5のいずれか一項に記載の情報処理方法。
【請求項7】
前記第二条件は、前記ユーザが前記仮想空間において前記第一領域を撮影した写真をソーシャルネットワーキングサイトへ投稿する行動を含む、請求項6に記載の情報処理方法。
【請求項8】
前記評価値が第三条件を満たした場合には、前記第一条件を満たした時刻における前記第一領域を注目領域として指定するステップと、
前記時刻を含む第一時間幅に亘って、前記注目領域に関する映像を生成するステップと、
をさらに含む、請求項1から7のいずれか一項に記載の情報処理方法。
【請求項9】
前記映像は、前記注目領域の前記仮想空間における位置と、前記ヘッドマウントデバイスの動きに基づいて前記視野画像を定義するために前記仮想空間に配置された仮想カメラとに基づいて生成される、請求項8に記載の情報処理方法。
【請求項10】
ヘッドマウントデバイスを備えたシステムにおける情報処理方法であって、
仮想空間を定義する仮想空間データを生成するステップと、
前記ヘッドマウントデバイスの動きおよび前記仮想空間データに基づいて、前記ヘッドマウントデバイスに表示される視野画像を示す視野画像データを生成するステップと、
前記ヘッドマウントデバイスを装着したユーザの感情を特定するステップと、
特定された前記感情が予め定められた第二条件を満たした場合には、前記ヘッドマウントデバイスの向きに応じた前記仮想空間における第一領域の評価値を更新するステップと、
前記評価値に基づいて、前記第一領域に関する映像を生成するステップと、
を含む、情報処理方法。
【請求項11】
請求項1から10のいずれか一項に記載の情報処理方法をコンピュータに実行させるための情報処理プログラム。
【請求項12】
ヘッドマウントデバイスと、前記ヘッドマウントデバイスと通信可能に接続されて、請求項1から10のうちいずれか一項に記載の情報処理方法を実行する情報処理装置と、を備えた、情報処理システム。
【請求項13】
プロセッサと、
コンピュータ可読命令を記憶するメモリと、を備えた情報処理装置であって、
前記コンピュータ可読命令が前記プロセッサにより実行されると、前記情報処理装置は請求項1から10のうちいずれか一項に記載の情報処理方法を実行する、情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置に関する。
【背景技術】
【0002】
特許文献1には、複数ユーザの視野範囲の重複に基づいて、ビデオコンテンツの注目範囲を決定することが開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開2016/009864号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、ユーザの視覚情報に基づいてビデオコンテンツの注目範囲を決定しているが、ユーザがコンテンツを注目する行動は視覚情報にのみ反映されるものではないため、コンテンツにおける注目範囲の特定には改善の余地がある。
【0005】
本開示は、コンテンツの注目範囲を適切に特定可能な情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示が示す一態様によれば、ヘッドマウントデバイスを備えたシステムにおける情報処理方法は、
(a)仮想空間を定義する仮想空間データを生成するステップと、
(b)前記ヘッドマウントデバイスの動きおよび前記仮想空間データに基づいて、前記ヘッドマウントデバイスに表示される視野画像を示す視野画像データを生成するステップと、
(c)前記ヘッドマウントデバイスを装着したユーザの感情を特定するステップと、
(d)特定された前記感情が予め定められた第一条件を満たした場合には、前記第一条件を満たした時刻における前記ヘッドマウントデバイスの向きに応じた前記仮想空間における第一領域の評価値を更新するステップと、
を含む。
【発明の効果】
【0007】
本開示によれば、コンテンツの注目範囲を適切に特定可能な情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置を提供することができる。
【図面の簡単な説明】
【0008】
図1】本発明の実施形態(以下、単に本実施形態という。)に係る仮想体験コンテンツ配信システムを示す概略図である。
図2】ユーザ端末である携帯端末を示す概略図である。
図3】携帯端末のハードウェア構成を示す図である。
図4】ヘッドマウントデバイス(HMD)を含むユーザ端末の構成を示す概略図である。
図5】HMDを装着したユーザの頭部を示す図である。
図6】制御装置のハードウェア構成を示す図である。
図7】視野画像をHMDに表示する処理を示すフローチャートである。
図8】仮想空間の一例を示すxyz空間図である。
図9】(a)は、図8に示す仮想空間のyx平面図である。(b)は、図8に示す仮想空間のzx平面図である。
図10】HMDに表示された視野画像の一例を示す図である。
図11図1に示すサーバのハードウェア構成を示す図である。
図12】本実施形態に係る仮想体験コンテンツ配信システムの動作を説明するためのフローチャートである。
図13】本実施形態に係る仮想体験コンテンツ配信システムの動作を説明するためのフローチャートである。
図14図13のステップ120(各部分領域の評価値データを更新するステップ)における各ステップを示すフローチャートである。
図15】仮想体験コンテンツを構成する仮想空間を示す図である。
図16】仮想体験コンテンツを構成する仮想空間の別の例を示す図である。
図17】ダイジェスト映像を生成するための仮想空間内での仮想カメラの配置構成を示す模式図である。
【発明を実施するための形態】
【0009】
[本開示が示す実施形態の説明]
本開示が示す実施形態の概要を説明する。
(1)本開示の実施形態に係る、ヘッドマウントデバイスを備えたシステムにおける情報処理方法は、
(a)仮想空間を定義する仮想空間データを生成するステップと、
(b)前記ヘッドマウントデバイスの動きおよび前記仮想空間データに基づいて、前記ヘッドマウントデバイスに表示される視野画像を示す視野画像データを生成するステップと、
(c)前記ヘッドマウントデバイスを装着したユーザの感情を特定するステップと、
(d)特定された前記感情が予め定められた第一条件を満たした場合には、前記第一条件を満たした時刻における前記ヘッドマウントデバイスの向きに応じた前記仮想空間における第一領域の評価値を更新するステップと、
を含む。
【0010】
この方法によれば、仮想空間におけるコンテンツの注目領域(注目範囲)を適切に特定することができる。すなわち、ユーザの特定の感情が検知された時をコンテンツの盛り上がり時点として特定し、その時点でのHMDの向き(視野)に応じて注目領域の評価点を更新するため、当該コンテンツの真の盛り上がりポイントを見逃すことがない。
【0011】
(2)(e)前記第一条件を満たした後に前記ユーザの行動が第二条件を満たした場合には、前記評価値をさらに更新するステップを、さらに含んでもよい。
【0012】
特定の感情が検知された後のユーザの行動をさらに加味して、注目領域の重要度(注目度)を調整することで、注目範囲の特性の適格性を高めることができる。
【0013】
(3)前記第二条件は、前記仮想空間内において複数のユーザ間で会話がなされたことを含んでもよい。
【0014】
注目領域の重要度を調整するために、複数のユーザ間でのコミュニケーション行動を用いることができる。
【0015】
(4)前記会話は、前記第一領域を指す言語的表現を含んでもよい。
【0016】
(5)前記会話は、前記時刻を指す時制的表現を含んでもよい。
【0017】
注目領域に対するユーザ間のコミュニケーション行動を用いることで、容易に注目領域の重要度の調整を行うことができる。
【0018】
(6)前記第二条件は、前記ユーザが前記仮想空間において前記第一領域を写真撮影することを含んでもよい。
【0019】
注目領域に対する撮影行動を用いることで、容易に注目領域の重要度の調整を行うことができる。
【0020】
(7)前記第二条件は、前記ユーザが前記仮想空間において前記第一領域を撮影した写真をソーシャルネットワーキングサイトへ投稿する行動を含んでもよい。
【0021】
注目領域の重要度を調整するために、SNSへの投稿行動を用いることができる。
【0022】
(8)(f)前記評価値が第三条件を満たした場合には、前記時刻における前記第一領域を注目領域として指定するステップと、
(g)前記時刻を含む第一時間幅に亘って、前記注目領域に関する映像を生成するステップと、
をさらに含んでもよい。
【0023】
この方法によれば、注目領域を用いて広告映像等を生成することができる。
【0024】
(9)前記映像は、前記注目領域の前記仮想空間における位置と、前記ヘッドマウントデバイスの動きに基づいて前記視野画像を定義するために前記仮想空間に配置された仮想カメラとに基づいて生成されてもよい。
【0025】
この方法によれば、広告映像等を容易かつ適切に生成することができる。
【0026】
(10)本開示の実施形態に係る、ヘッドマウントデバイスを備えたシステムにおける情報処理方法は、
(a´)仮想空間を定義する仮想空間データを生成するステップと、
(b´)前記ヘッドマウントデバイスの動きおよび前記仮想空間データに基づいて、前記ヘッドマウントデバイスに表示される視野画像を示す視野画像データを生成するステップと、
(c´)前記ヘッドマウントデバイスを装着したユーザの行動を特定するステップと、
(d´)特定された前記行動が予め定められた第二条件を満たした場合には、前記第二条件を満たした時刻における前記ヘッドマウントデバイスの向きに応じた前記仮想空間における第一領域の評価値を更新するステップと、
を含む。
【0027】
この方法によれば、コンテンツの真の盛り上がりポイントを見逃すことがなく、コンテンツの注目領域を適切に特定することができる。
【0028】
(11)本開示の一実施形態に係る情報処理プログラムは、(1)から(10)のいずれかに記載の情報処理方法をコンピュータに実行させるための情報処理プログラムである。
【0029】
上記によれば、コンテンツの注目範囲を適切に特定可能な情報処理プログラムを提供することができる。
【0030】
(12)本開示の一実施形態に係る、ヘッドマウントデバイスを用いた情報処理システムは、(1)から(10)のいずれかに記載の情報処理方法を実行するように構成された情報処理システムである。
【0031】
上記によれば、コンテンツの注目範囲を適切に特定可能な情報処理システムを提供することができる。
【0032】
(13)本開示の一実施形態に係る情報処理装置は、
プロセッサと、
コンピュータ可読命令を記憶するメモリと、を備えた情報処理装置であって、
前記コンピュータ可読命令が前記プロセッサにより実行されると、前記情報処理装置は(1)から(10)のいずれか一項に記載の情報処理方法を実行する、情報処理装置である。
【0033】
上記によれば、コンテンツの注目範囲を適切に特定可能な情報処理装置を提供することができる。情報処理装置は、ユーザ端末またはサーバのいずれか一方である点に留意されたい。
【0034】
[本開示が示す実施形態の詳細]
以下、本開示が示す実施形態について図面を参照しながら説明する。本実施形態の説明において既に説明された要素と同一の参照番号を有する要素については、説明の便宜上、その説明は繰り返さない。
【0035】
最初に、仮想空間配信システム100(情報処理システム)の構成の概略について図1を参照して説明する。図1は、仮想空間配信システム100(以下、単に配信システム100という。)の概略図である。図1に示すように、配信システム100は、ヘッドマウントデバイス(HMD)110を装着したユーザAによって操作されるユーザ端末1A(第一ユーザ端末)と、HMD110を装着したユーザBによって操作されるユーザ端末1Bと、仮想体験コンテンツを配信するサーバ2とを備える。ユーザ端末1A,1Bは、インターネット等の通信ネットワーク3を介してサーバ2に通信可能に接続されている。以降では、説明の便宜上、各ユーザ端末1A,1Bを単にユーザ端末1と総称する場合がある。各ユーザA,Bを単にユーザUと総称する場合がある。本実施形態では、ユーザ端末1A,1Bは、同一の構成を備えているものとする。仮想体験コンテンツとは、ユーザ端末1A,1Bのユーザに仮想体験を提供するための映像コンテンツ等であって、複数のオブジェクトを含む仮想空間または全天球画像等の360度空間画像を含む仮想空間として提供されてもよい。360度空間画像を含む仮想空間では、仮想空間の表面上に360度空間画像が表示される。仮想空間とは、VR(Virtual Reality)空間と、AR(Argumented Reality)空間と、MR(Mixed Reality)空間を含む。
【0036】
次に、図2を参照してユーザ端末1の構成について説明する。図2は、ユーザ端末1を示す概略図である。図2に示すように、ユーザ端末1は、ユーザUの頭部に装着されたヘッドマウントデバイス(HMD)110と、ヘッドフォン116と、フェイスカメラ117と、マイク118と、位置センサ130と、外部コントローラ320と、制御装置120とを備える。
【0037】
HMD110は、表示部112と、HMDセンサ114と、注視センサ140と、フェイスカメラ113とを備える。表示部112は、HMD110を装着したユーザUの視界(視野)を完全に覆うように構成された非透過型の表示装置を備える。これにより、ユーザUは、表示部112に表示された視野画像のみを見ることで仮想空間に没入することができる。尚、表示部112は、ユーザUの左目に画像を提供するように構成された左目用表示部と、ユーザUの右目に画像を提供するように構成された右目用表示部とから構成されてもよい。また、HMD110は、透過型の表示装置を備えてもよい。この場合、透過型の表示装置は、その透過率を調整することで、一時的に非透過型の表示装置として構成されてもよい。
【0038】
HMDセンサ114は、HMD110の表示部112の近傍に搭載される。HMDセンサ114は、地磁気センサ、加速度センサ、傾きセンサ(角速度センサやジャイロセンサ等)のうちの少なくとも1つを含み、ユーザUの頭部に装着されたHMD110の各種動き(傾き等)を検出することができる。
【0039】
注視センサ140は、ユーザUの視線を検出するアイトラッキング機能を有する。注視センサ140は、例えば、右目用注視センサと、左目用注視センサを備えてもよい。右目用注視センサは、ユーザUの右目に例えば赤外光を照射して、右目(特に、角膜や虹彩)から反射された反射光を検出することで、右目の眼球の回転角に関する情報を取得してもよい。一方、左目用注視センサは、ユーザUの左目に例えば赤外光を照射して、左目(特に、角膜や虹彩)から反射された反射光を検出することで、左目の眼球の回転角に関する情報を取得してもよい。注視センサ140によって取得された検出データの取得レートは、アバター制御情報(後述する)の送信レート及びHMD110に表示される視野画像のフレームレートより大きい。例えば、検出データの取得レートは、200Hzである。
【0040】
フェイスカメラ113は、HMD110がユーザUに装着された状態でユーザUの目(左目と右目)とまゆげ(左まゆげと右まゆげ)が表示された画像(特に、動画像)を取得するように構成されている。フェイスカメラ113は、ユーザUの目とまゆげを撮像可能なようにHMD110の内側の所定箇所に配置されている。フェイスカメラ113によって取得された動画像のフレームレートは、アバター制御情報の送信レート及びHMD110に表示される視野画像のフレームレートより大きい。例えば、当該取得された動画像のフレームレートは、200fpsである。
【0041】
ヘッドフォン116(音声出力部)は、ユーザUの左耳と右耳にそれぞれ装着されている。ヘッドフォン116は、制御装置120から音声データ(電気信号)を受信し、当該受信した音声データに基づいて音声を出力するように構成されている。マイク118(音声入力部)は、ユーザUから発声された音声を収集し、当該収集された音声に基づいて音声データ(電気信号)を生成するように構成されている。さらに、マイク118は、音声データを制御装置120に送信するように構成されている。
【0042】
フェイスカメラ117は、ユーザUの口及びその周辺が表示された画像(特に、動画像)を取得するように構成されている。フェイスカメラ117は、ユーザUの口及びその周辺を撮像可能なようにユーザUの口に対向する位置に配置されてもよい。また、フェイスカメラ117は、HMD110に連結されていてもよい。フェイスカメラ117によって取得される動画像のフレームレートは、HMD110に表示される視野画像のフレームレートよりも大きくてもよい。
【0043】
位置センサ130は、例えば、ポジション・トラッキング・カメラにより構成され、HMD110と外部コントローラ320の位置を検出するように構成されている。位置センサ130は、制御装置120に無線又は有線により通信可能に接続されており、HMD110に設けられた図示しない複数の検知点の位置、傾き又は発光強度に関する情報を検出するように構成されている。さらに、位置センサ130は、外部コントローラ320に設けられた図示しない複数の検知点の位置、傾き及び/又は発光強度に関する情報を検出するように構成されている。検知点は、例えば、赤外線や可視光を放射する発光部である。また、位置センサ130は、赤外線センサや複数の光学カメラを含んでもよい。
【0044】
外部コントローラ320は、ユーザUの手の動きを検知することにより、仮想空間内に表示されるアバターの手の動作を制御するために使用される。外部コントローラ320は、ユーザUの右手によって操作される右手用外部コントローラ320R(以下、単にコントローラ320Rという。)と、ユーザUの左手によって操作される左手用外部コントローラ320L(以下、単にコントローラ320Lという。)と、を有する。コントローラ320Rは、ユーザUの右手の位置や右手の手指の動きを示す装置である。また、コントローラ320Rの動きに応じて仮想空間内に存在するアバターの右手が動く。コントローラ320Lは、ユーザUの左手の位置や左手の手指の動きを示す装置である。また、コントローラ320Lの動きに応じて仮想空間内に存在するアバターの左手が動く。
【0045】
制御装置120は、HMD110を制御するように構成されたコンピュータである。制御装置120は、位置センサ130から取得された情報に基づいて、HMD110の位置情報を特定し、当該特定された位置情報に基づいて、仮想空間における仮想カメラの位置(アバターの位置)と、現実空間におけるHMD110を装着したユーザUの位置を正確に対応付けることができる。さらに、制御装置120は、位置センサ130及び/又は外部コントローラ320に内蔵されたセンサから取得された情報に基づいて、外部コントローラ320の動作を特定し、当該特定された外部コントローラ320の動作に基づいて、仮想空間内に表示されるアバターの手の動作と現実空間における外部コントローラ320の動作を正確に対応付けることができる。特に、制御装置120は、位置センサ130及び/又はコントローラ320Lに内蔵されたセンサから取得された情報に基づいて、コントローラ320Lの動作を特定し、当該特定されたコントローラ320Lの動作に基づいて、仮想空間内に表示されるアバターの左手の動作と現実空間におけるコントローラ320Lの動作(ユーザUの左手の動作)を正確に対応付けることができる。同様に、制御装置120は、位置センサ及び/コントローラ320Rに内蔵されたセンサから取得された情報に基づいて、コントローラ320Rの動作を特定し、当該特定されたコントローラ320Rの動作に基づいて、仮想空間内に表示されるアバターの右手の動作と現実空間におけるコントローラ320Rの動作(ユーザUの右手の動作)を正確に対応付けることができる。
【0046】
また、制御装置120は、フェイスカメラ113,117によって取得された動画像に基づいて、ユーザUの顔の表情(状態)とユーザUのアバターの顔の表情(状態)を対応付けることができる。ユーザUの顔の表情とアバターの顔の表情を互いに対応づける処理の詳細については後述する。
【0047】
また、制御装置120は、ユーザUの右目の視線と左目の視線をそれぞれ特定し、当該右目の視線と当該左目の視線の交点である注視点を特定することができる。さらに、制御装置120は、特定された注視点に基づいて、ユーザUの両目の視線(ユーザUの視線)を特定することができる。ここで、ユーザUの視線は、ユーザUの両目の視線であって、ユーザUの右目と左目を結ぶ線分の中点と注視点を通る直線の方向に一致する。また、制御装置120は、注視センサ140(左目用注視センサと右目用注視センサ)から送信された検出データ(アイトラッキングデータ)に基づいて、ユーザUの右目の黒目の中心位置とユーザUの左目の黒目の中心位置とをそれぞれ特定することができる。
【0048】
次に、図3を参照して、HMD110の位置や傾きに関する情報を取得する方法について以下に説明する。図3は、HMD110を装着したユーザUの頭部を示す図である。HMD110を装着したユーザUの頭部の動きに連動したHMD110の位置や傾きに関する情報は、位置センサ130および/またはHMD110に搭載されたHMDセンサ114により検出可能である。図2に示すように、HMD110を装着したユーザUの頭部を中心として、3次元座標(uvw座標)が規定される。ユーザUが直立する垂直方向をv軸として規定し、v軸と直交しHMD110の中心を通る方向をw軸として規定し、v軸およびw軸と直交する方向をu軸として規定する。位置センサ130および/またはHMDセンサ114は、各uvw軸回りの角度(すなわち、v軸を中心とする回転を示すヨー角、u軸を中心とした回転を示すピッチ角、w軸を中心とした回転を示すロール角で決定される傾き)を検出する。制御装置120は、検出された各uvw軸回りの角度変化に基づいて、仮想カメラの視軸を制御するための角度情報を決定する。
【0049】
次に、図4を参照することで、制御装置120のハードウェア構成について説明する。図4は、制御装置120のハードウェア構成を示す図である。図4に示すように、制御装置120は、制御部121と、記憶部123と、I/O(入出力)インターフェース124と、通信インターフェース125と、バス126とを備える。制御部121と、記憶部123と、I/Oインターフェース124と、通信インターフェース125は、バス126を介して互いに通信可能に接続されている。
【0050】
制御装置120は、HMD110とは別体に、パーソナルコンピュータ、スマートフォン、ファブレット、タブレットまたはウェアラブルデバイスとして構成されてもよいし、HMD110に内蔵されていてもよい。また、制御装置120の一部の機能がHMD110に搭載されると共に、制御装置120の残りの機能がHMD110とは別体の他の装置に搭載されてもよい。
【0051】
制御部121は、メモリとプロセッサを備えている。メモリは、例えば、各種プログラム等が格納されたROM(Read Only Memory)やプロセッサにより実行される各種プログラム等が格納される複数ワークエリアを有するRAM(Random Access Memory)等から構成される。プロセッサは、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)および/またはGPU(Graphics Processing Unit)であって、ROMに組み込まれた各種プログラムから指定されたプログラムをRAM上に展開し、RAMとの協働で各種処理を実行するように構成されている。
【0052】
特に、プロセッサが制御プログラムをRAM上に展開し、RAMとの協働で制御プログラムを実行することで、制御部121は、制御装置120の各種動作を制御してもよい。制御部121は、視野画像データに基づいてHMD110の表示部112に視野画像を表示する。これにより、ユーザUは、仮想空間に没入することができる。
【0053】
記憶部(ストレージ)123は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、USBフラッシュメモリ等の記憶装置であって、プログラムや各種データを格納するように構成されている。記憶部123は、本実施形態に係る情報処理方法の少なくとも一部をコンピュータに実行させるための制御プログラムや、複数のユーザによる仮想空間の共有を実現するための制御プログラムを格納してもよい。また、記憶部123には、ユーザUの認証プログラムや各種画像やオブジェクト(例えば、アバター等)に関するデータが格納されてもよい。さらに、記憶部123には、各種データを管理するためのテーブルを含むデータベースが構築されてもよい。
【0054】
I/Oインターフェース124は、HMD110と、位置センサ130と、外部コントローラ320と、ヘッドフォン116と、フェイスカメラ117と、マイク118とをそれぞれ制御装置120に通信可能に接続するように構成されており、例えば、USB(Universal Serial Bus)端子、DVI(Digital Visual Interface)端子、HDMI(登録商標)(High―Definition Multimedia Interface)端子等により構成されている。尚、制御装置120は、HMD110と、位置センサ130と、外部コントローラ320と、ヘッドフォン116と、フェイスカメラ117と、マイク118とのそれぞれと無線接続されていてもよい。
【0055】
通信インターフェース125は、制御装置120をLAN(Local Area Network)、WAN(Wide Area Network)又はインターネット等の通信ネットワーク3に接続させるように構成されている。通信インターフェース125は、通信ネットワーク3を介してサーバ2等の外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んでおり、通信ネットワーク3を介して通信するための通信規格に適合するように構成されている。
【0056】
次に、図5を参照して外部コントローラ320の具体的構成の一例について説明する。外部コントローラ320は、ユーザUの身体の一部(頭部以外の部位であり、本実施形態においてはユーザUの手)の動きを検知することにより、仮想空間内に表示される手オブジェクトの動作を制御するために使用される。外部コントローラ320は、ユーザUの右手によって操作される右手用外部コントローラ320R(以下、単にコントローラ320Rという。)と、ユーザUの左手によって操作される左手用外部コントローラ320L(以下、単にコントローラ320Lという。)と、を有する。コントローラ320Rは、ユーザUの右手の位置や右手の手指の動きを示す装置である。また、コントローラ320Rの動きに応じて仮想空間内に存在する右手オブジェクト400R(図16参照)が移動する。コントローラ320Lは、ユーザUの左手の位置や左手の手指の動きを示す装置である。また、コントローラ320Lの動きに応じて仮想空間内に存在する左手オブジェクト400L(図16参照)が移動する。コントローラ320Rとコントローラ320Lは略同一の構成を有するので、以下では、図5を参照してコントローラ320Rの具体的構成についてのみ説明する。以降の説明では、便宜上、コントローラ320L,320Rを単にコントローラ320と総称する場合がある。
【0057】
図5に示すように、コントローラ320Rは、操作ボタン302と、複数の検知点304と、図示しないセンサと、図示しないトランシーバとを備える。検知点304とセンサは、どちらか一方のみが設けられていてもよい。操作ボタン302は、ユーザUからの操作入力を受付けるように構成された複数のボタン群により構成されている。操作ボタン302は、プッシュ式ボタン、トリガー式ボタン及びアナログスティックを含む。プッシュ式ボタンは、親指による押下する動作によって操作されるボタンである。例えば、天面322上に2つのプッシュ式ボタン302a,302bが設けられている。トリガー式ボタンは、人差し指や中指で引き金を引くような動作によって操作されるボタンである。例えば、グリップ324の前面部分にトリガー式ボタン302eが設けられると共に、グリップ324の側面部分にトリガー式ボタン302fが設けられる。トリガー式ボタン302e,302fは、人差し指と中指によってそれぞれ操作されることが想定されている。アナログスティックは、所定のニュートラル位置から360度任意の方向へ傾けて操作されうるスティック型のボタンである。例えば、天面322上にアナログスティック320iが設けられており、親指を用いて操作されることが想定されている。
【0058】
コントローラ320Rは、グリップ324の両側面から天面322とは反対側の方向へ延びて半円状のリングを形成するフレーム326を備える。フレーム326の外側面には、複数の検知点304が埋め込まれている。複数の検知点304は、例えば、フレーム326の円周方向に沿って一列に並んだ複数の赤外線LEDである。位置センサ130は、複数の検知点304の位置、傾きまたは発光強度に関する情報を検出した後に、制御装置120は、位置センサ130によって検出された情報に基づいて、コントローラ320Rの位置や姿勢(傾き・向き)に関する情報を取得する。
【0059】
コントローラ320Rのセンサは、例えば、磁気センサ、角速度センサ、若しくは加速度センサのいずれか、又はこれらの組み合わせであってもよい。センサは、ユーザUがコントローラ320Rを動かしたときに、コントローラ320Rの向きや動きに応じた信号(例えば、磁気、角速度、又は加速度に関する情報を示す信号)を出力する。制御装置120は、センサから出力された信号に基づいて、コントローラ320Rの位置や姿勢に関する情報を取得する。
【0060】
コントローラ320Rのトランシーバは、コントローラ320Rと制御装置120との間でデータを送受信するように構成されている。例えば、トランシーバは、ユーザUの操作入力に対応する操作信号を制御装置120に送信してもよい。また、トランシーバは、検知点304の発光をコントローラ320Rに指示する指示信号を制御装置120から受信してもよい。さらに、トランシーバは、センサによって検出された値を示す信号を制御装置120に送信してもよい。
【0061】
次に、図6から図9を参照することで視野画像をHMD110に表示するための処理について説明する。図6は、視野画像をHMD110に表示する処理を示すフローチャートである。図7は、仮想空間200の一例を示すxyz空間図である。図8の状態(a)は、図7に示す仮想空間200のyx平面図である。図8の状態(b)は、図7に示す仮想空間200のzx平面図である。図9は、HMD110に表示された視野画像Vの一例を示す図である。
【0062】
図6に示すように、ステップS1において、制御部121(図4参照)は、仮想カメラ300と、各種オブジェクトとを含む仮想空間200を示す仮想空間データを生成する。図7に示すように、仮想空間200は、中心位置210を中心とした全天球として規定される(図7では、上半分の天球のみが図示されている)。仮想空間200では、中心位置210を原点とするxyz座標系が設定されている。仮想カメラ300は、HMD110に表示される視野画像V(図9参照)を特定するための視軸Lを規定している。仮想カメラ300の視野を定義するuvw座標系は、現実空間におけるユーザUの頭部を中心として規定されたuvw座標系に連動するように決定される。HMD110を装着したユーザUの現実空間における移動に連動して、制御部121は、仮想カメラ300を仮想空間200内で移動させてもよい。
【0063】
次に、ステップS2において、制御部121は、仮想カメラ300の視野CV(図8参照)を特定する。具体的には、制御部121は、位置センサ130および/またはHMDセンサ114から送信されたHMD110の状態を示すデータに基づいて、HMD110の位置や傾きに関する情報を取得する。次に、制御部121は、HMD110の位置や傾きに関する情報に基づいて、仮想空間200内における仮想カメラ300の位置や向きを特定する。次に、制御部121は、仮想カメラ300の位置や向きから仮想カメラ300の視軸Lを決定し、決定された視軸Lから仮想カメラ300の視野CVを特定する。仮想カメラ300の視野CVは、HMD110を装着したユーザUが視認可能な仮想空間200の一部の領域に相当する(換言すれば、HMD110に表示される仮想空間200の一部の領域に相当する)。視野CVは、図8の状態(a)に示すxy平面において、視軸Lを中心とした極角αの角度範囲として設定される第一領域CVaと、図8の状態(b)に示すxz平面において、視軸Lを中心とした方位角βの角度範囲として設定される第二領域CVbとを有する。制御部121は、注視センサ140から送信されたユーザUの視線を示すデータに基づいてユーザUの視線を特定し、特定されたユーザUの視線とHMD110の位置や傾きに関する情報に基づいて、仮想カメラ300の向き(仮想カメラの視軸L)を決定してもよい。また、後述するように、制御部121は、HMD110の位置や傾きに関する情報に基づいて、ユーザUのアバターの顔の向きを決定してもよい。
【0064】
このように、制御部121は、位置センサ130および/またはHMDセンサ114からのデータに基づいて、仮想カメラ300の視野CVを特定することができる。HMD110を装着したユーザUが動くと、制御部121は、位置センサ130および/またはHMDセンサ114から送信されたHMD110の動きを示すデータに基づいて、仮想カメラ300の視野CVを更新することができる。つまり、制御部121は、HMD110の動きに応じて、視野CVを更新することができる。同様に、ユーザUの視線が変化すると、制御部121は、注視センサ140から送信されたユーザUの視線を示すデータに基づいて、仮想カメラ300の視野CVを更新してもよい。つまり、制御部121は、ユーザUの視線の変化に応じて、視野CVを変化させてもよい。
【0065】
次に、ステップS3において、制御部121は、HMD110の表示部112に表示される視野画像Vを示す視野画像データを生成する。具体的には、制御部121は、仮想空間200を規定する仮想空間データと、仮想カメラ300の視野CVとに基づいて、視野画像データを生成する。
【0066】
次に、ステップS4において、制御部121は、視野画像データに基づいて、HMD110の表示部112に視野画像Vを表示する(図9参照)。このように、HMD110を装着しているユーザUの動きに応じて、仮想カメラ300の視野CVが変化し、HMD110の表示部112に表示される視野画像Vが変化するので、ユーザUは仮想空間200に没入することができる。
【0067】
仮想カメラ300は、左目用仮想カメラと右目用仮想カメラを含んでもよい。この場合、制御部121は、仮想空間データと左目用仮想カメラの視野に基づいて、左目用の視野画像を示す左目用視野画像データを生成する。さらに、制御部121は、仮想空間データと、右目用仮想カメラの視野に基づいて、右目用の視野画像を示す右目用視野画像データを生成する。その後、制御部121は、左目用視野画像データに基づいて、左目用表示部に左目用の視野画像を表示すると共に、右目用視野画像データに基づいて、右目用表示部に右目用の視野画像を表示する。このようにして、ユーザUは、左目用視野画像と右目用視野画像との間の視差により、視野画像を3次元的に視認することができる。仮想カメラは、ユーザによって操作されるアバターの目の位置に配置されてもよい。例えば、左目用仮想カメラは、アバターの左目に配置される一方で、右目用仮想カメラは、アバターの右目に配置されてもよい。
【0068】
図6に示すステップS1~S4の処理は1フレーム毎に実行されてもよい。例えば、動画のフレームレートが90fpsである場合、ステップS1~S4の処理はΔT=1/90(秒)間隔で繰り返し実行されてもよい。このように、ステップS1~S4の処理が所定間隔ごとに繰り返し実行されるため、HMD110の動作に応じて仮想カメラ300の視野が更新されると共に、HMD110の表示部112に表示される視野画像Vが更新される。
【0069】
次に、図1に示すサーバ2のハードウェア構成について図10を参照して説明する。図10は、サーバ2のハードウェア構成を示す図である。図10に示すように、サーバ2は、制御部23と、記憶部22と、通信インターフェース21と、バス24とを備える。制御部23と、記憶部22と、通信インターフェース21は、バス24を介して互いに通信可能に接続されている。制御部23は、メモリとプロセッサを備えており、メモリは、例えば、ROMおよびRAM等から構成されると共に、プロセッサは、例えば、CPU、MPUおよび/またはGPUにより構成される。
【0070】
記憶部(ストレージ)22は、例えば、大容量のHDD等である。記憶部22は、本実施形態に係る情報処理方法の少なくとも一部をコンピュータに実行させるための制御プログラムや、複数のユーザによる仮想空間の共有を実現させるための制御プログラムを格納してもよい。また、記憶部22は、各ユーザを管理するためのユーザ管理情報や各種画像やオブジェクト(例えば、手オブジェクト等)に関するデータを格納してもよい。通信インターフェース21は、サーバ2を通信ネットワーク3に接続させるように構成されている。
【0071】
サーバ2は、ユーザ端末1A,1B、またはユーザ端末1A,1B以外の端末(例えば、パーソナルコンピュータやタブレット端末)に対して、ウェブブラウザ上で実行されるアプリケーションを介して動画配信サービスを提供し得る。記憶部22には、動画配信サービスを提供するためのアプリケーションも記憶され得る。記憶部22に記憶されたアプリケーションは、配信要求に応じて端末機器に配信される。なお、端末機器は、アプリケーションを、サーバ2以外の他のサーバ(アプリマーケットを提供するサーバ等)等からダウンロードすることもできる。
【0072】
このように、サーバ2は、動画配信サービスを提供するためのウェブサイトを管理し、当該ウェブサイトを構成するウェブページ(HTMLデータ)を端末機器からの要求に応答して配信することができる。サーバ2は、動画配信サービスの提供に必要な各種データ(画面表示に必要なデータを含む)を端末機器との間で送受信することができる。また、サーバ2は、各ユーザを識別する識別情報(例えば、ユーザID)毎に各種データを記憶し、ユーザ毎に動画配信サービスの提供状況を管理することができる。詳細な説明は省略するが、サーバ2は、ユーザの認証処理や課金処理等を行う機能を有することもできる。
【0073】
[アバター間の動作制御に関する説明]
次に、図1図11および図12を参照してユーザ端末1Aとユーザ端末1B間において各アバター4A,4Bの動きを同期制御する処理の一例について説明する。図11の状態(a)は、ユーザAに提供される仮想空間200Aを示す図である。図11の状態(b)は、ユーザBに提供される仮想空間200Bを示す図である。図12は、ユーザ端末1Aとユーザ端末1B間において各アバター4A,4Bの動きを同期させる処理の一例を説明するためのフローチャートである。本説明では、前提条件として、図11に示すように、ユーザ端末1A(ユーザA)に関連付けられたアバター4Aと、ユーザ端末1B(ユーザB)に関連付けられたアバター4Bが同一の仮想空間を共有しているものとする。つまり、通信ネットワーク3を介してユーザAとユーザBが一つの仮想空間を共有するものとする。
【0074】
図11の状態(a)に示すように、ユーザAの仮想空間200Aは、アバター4Aと、アバター4Bとを含む。アバター4Aは、ユーザAによって操作されるとともに、ユーザAの動作に連動する。アバター4Aは、ユーザ端末1Aのコントローラ320Lの動作(ユーザAの左手の動作)に連動する左手と、ユーザ端末1Aのコントローラ320Rの動作に連動する右手と、表情がユーザAの顔の表情に連動する顔を有する。アバター4Aの顔は、複数の顔パーツ(例えば、目、まゆげ、口等)を有する。アバター4Bは、ユーザBによって操作されると共に、ユーザBの動作に連動する。アバター4Bは、ユーザBの左手の動作を示すユーザ端末1Bのコントローラ320Lの動作に連動する左手と、ユーザBの右手の動作を示すユーザ端末1Bのコントローラ320Rの動作に連動する右手と、表情がユーザBの顔の表情と連動する顔を有する。アバター4Bの顔は、複数の顔パーツ(例えば、目、まゆげ、口等)を有する。
【0075】
また、ユーザ端末1A,1BのHMD110の位置に応じてアバター4A,4Bの位置が特定されてもよい。同様に、ユーザ端末1A,1BのHMD110の傾きに応じてアバター4A,4Bの顔の向きが特定されてもよい。さらに、ユーザ端末1A,1Bの外部コントローラ320の動作に応じてアバター4A,4Bの手の動作が特定されてもよい。また、ユーザA,Bの顔の表情(状態)に応じてアバター4A,4Bの顔の表情が特定されてもよい。特に、ユーザA,Bの白目に対する黒目の位置に応じてアバター4A,4Bの白目に対する黒目の位置が特定されてもよい。
【0076】
図11の状態(b)に示すように、ユーザBの仮想空間200Bは、アバター4Aと、アバター4Bとを含む。仮想空間200A内におけるアバター4A,4Bの位置は、仮想空間200B内におけるアバター4A,4Bの位置に対応してもよい。
【0077】
次に、図12を参照すると、ステップS10において、ユーザ端末1Aの制御部121は、ユーザAの音声データを生成する。例えば、ユーザAがユーザ端末1Aのマイク118(音声入力部)に音声を入力したときに、マイク118は、入力された音声を示す音声データを生成する。その後、マイク118は生成された音声データをI/Oインターフェース124を介して制御部121に送信する。
【0078】
次に、ステップS11において、ユーザ端末1Aの制御部121は、アバター4Aの制御情報を生成した上で、当該生成したアバター4Aの制御情報とユーザAの音声を示す音声データ(ユーザAの音声データ)をサーバ2に送信する。その後、サーバ2の制御部23は、ユーザ端末1Aからアバター4Aの制御情報とユーザAの音声データを受信する(ステップS12)。
【0079】
ここで、アバター4Aの制御情報は、アバター4Aの動作を制御するために必要な情報である。アバター4Aの制御情報は、アバター4Aの位置に関する情報(位置情報)と、アバター4Aの顔の向きに関する情報(顔向き情報)と、アバター4Aの手(左手と右手)の状態に関する情報(手情報)と、アバター4Aの顔の表情に関する情報(顔情報)とを含んでもよい。
【0080】
アバター4Aの顔情報は、複数の顔パーツの状態を示す情報を有する。複数の顔パーツの状態を示す情報は、アバター4Aの目の状態(白目の形状及び白目に対する黒目の位置等)を示す情報(目情報)と、アバター4Aのまゆげの情報(まゆげの位置及び形状等)を示す情報(まゆげ情報)と、アバター4Aの口の状態(口の位置及び形状等)を示す情報(口情報)を有する。
【0081】
詳細には、アバター4Aの目情報は、アバター4Aの左目の状態を示す情報と、アバター4Aの右目の状態を示す情報を有する。アバター4Aのまゆげ情報は、アバター4Aの左まゆげの状態を示す情報と、アバター4Aの右まゆげの状態を示す情報を有する。
【0082】
ユーザ端末1Aの制御部121は、HMD110に搭載されたフェイスカメラ113からユーザAの目(左目と右目)とまゆげ(左まゆげと右まゆげ)を示す画像を取得した上で、当該取得された画像と所定の画像処理アルゴリズムに基づいてユーザAの目(左目と右目)とまゆげ(左まゆげと右まゆげ)の状態を特定する。次に、制御部121は、特定されたユーザAの目とまゆげの状態に基づいて、アバター4Aの目(左目と右目)の状態を示す情報とアバター4Aのまゆげ(左まゆげと右まゆげ)の状態を示す情報をそれぞれ生成する。尚、ユーザAの目の状態を示す情報のうち、ユーザAの黒目の位置(中心位置)を示す情報は、フェイスカメラ113の代わりに注視センサ140によって取得されてもよい。
【0083】
同様に、ユーザ端末1Aの制御部121は、フェイスカメラ117からユーザAの口及びその周辺を示す画像を取得した上で、当該取得された画像と所定の画像処理アルゴリズムに基づいてユーザAの口の状態を特定する。次に、制御部121は、特定されたユーザAの口の状態に基づいて、アバター4Aの口の状態を示す情報を生成する。
【0084】
このように、ユーザ端末1Aの制御部121は、ユーザAの目に対応するアバター4Aの目情報と、ユーザAのまゆげに対応するアバター4Aのまゆげ情報と、ユーザAの口に対応するアバター4Aの口情報を生成することが可能となる。
【0085】
また、制御部121は、フェイスカメラ113によって撮像された画像と、フェイスカメラ117によって撮像された画像と、所定の画像処理アルゴリズムに基づいて、記憶部123又はメモリに記憶された複数の種類の顔の表情(例えば、笑顔、悲しい表情、無表情、怒りの表情、驚いた表情、困った表情等)の中からユーザAの顔の表情(例えば、笑顔)を特定してもよい。その後、制御部121は、特定されたユーザAの顔の表情に基づいて、アバター4Aの顔の表情(例えば、笑顔)を示す顔情報を生成することが可能となる。この場合、アバター4Aの複数の種類の顔の表情と、各々が当該複数の種類の顔の表情の一つに関連付けられた複数のアバター4Aの顔情報を含む表情データベースが記憶部123に保存されてもよい。
【0086】
例えば、制御部121は、アバター4Aの顔の表情が笑顔であると特定した場合、笑顔を示す顔情報を取得する。ここで、アバター4Aの笑顔を示す顔情報は、アバター4Aの顔の表情が笑顔のときのアバター4Aの目情報、まゆげ情報及び口情報を含む。
【0087】
次に、ステップS13において、ユーザ端末1Bの制御部121は、アバター4Bの制御情報を生成した上で、当該生成したアバター4Bの制御情報をサーバ2に送信する。その後、サーバ2の制御部23は、ユーザ端末1Bからアバター4Bの制御情報を受信する(ステップS14)。
【0088】
ここで、アバター4Bの制御情報は、アバター4Bの動作を制御するために必要な情報である。アバター4Bの制御情報は、アバター4Bの位置に関する情報(位置情報)と、アバター4Bの顔の向きに関する情報(顔向き情報)と、アバター4Bの手(左手と右手)の状態に関する情報(手情報)と、アバター4Bの顔の表情に関する情報(顔情報)とを含んでもよい。
【0089】
アバター4Bの顔情報は、複数の顔パーツの状態を示す情報を有する。複数の顔パーツの状態を示す情報は、アバター4Bの目の状態(白目の形状及び白目に対する黒目の位置等)を示す情報(目情報)と、アバター4Bのまゆげの情報(まゆげの位置及び形状等)を示す情報(まゆげ情報)と、アバター4Bの口の状態(口の位置及び形状等)を示す情報(口情報)を有する。アバター4Bの顔情報の取得方法は、アバター4Aの顔情報の取得方法と同様である。
【0090】
次に、サーバ2は、アバター4Bの制御情報をユーザ端末1Aに送信する一方(ステップS15)、アバター4Aの制御情報とユーザAの音声データをユーザ端末1Bに送信する(ステップS19)。その後、ユーザ端末1Aの制御部121は、ステップS16においてアバター4Bの制御情報を受信した後に、アバター4A,4Bの制御情報に基づいて、アバター4A,4Bの状態を更新した上で、仮想空間200A(図11の状態(a)参照)を示す仮想空間データを更新する(ステップS17)。
【0091】
詳細には、ユーザ端末1Aの制御部121は、アバター4A,4Bの位置情報に基づいて、アバター4A,4Bの位置を更新する。制御部121は、アバター4A,4Bの顔向き情報に基づいて、アバター4A,4Bの顔の向きを更新する。制御部121は、アバター4A,4Bの手情報に基づいて、アバター4A,4Bの手を更新する。制御部121は、アバター4A,4Bの顔情報に基づいて、アバター4A,4Bの顔の表情を更新する。このように、更新されたアバター4A,4Bを含む仮想空間200Aを示す仮想空間データが更新される。
【0092】
その後、ユーザ端末1Aの制御部121は、HMD110の位置や傾きに応じてアバター4A(仮想カメラ300)の視野CVを特定した上で、更新された仮想空間データと、アバター4Aの視野CVとに基づいて、HMD110に表示される視野画像を更新する(ステップS18)。
【0093】
一方、ユーザ端末1Bの制御部121は、ステップS20においてアバター4Aの制御情報とユーザAの音声データを受信した後に、アバター4A,4Bの制御情報に基づいて、アバター4A,4Bの状態を更新した上で、仮想空間200B(図11の状態(b)参照)を示す仮想空間データを更新する(ステップS21)。
【0094】
詳細には、ユーザ端末1Bの制御部121は、アバター4A,4Bの位置情報に基づいて、アバター4A,4Bの位置を更新する。制御部121は、アバター4A,4Bの顔向き情報に基づいて、アバター4A,4Bの顔の向きを更新する。制御部121は、アバター4A,4Bの手情報に基づいて、アバター4A,4Bの手を更新する。制御部121は、アバター4A,4Bの顔情報に基づいて、アバター4A,4Bの顔の表情を更新する。このように、更新されたアバター4A,4Bを含む仮想空間を示す仮想空間データが更新される。
【0095】
その後、ユーザ端末1Bの制御部121は、HMD110の位置や傾きに応じてアバター4B(仮想カメラ300)の視野CVを特定した上で、更新された仮想空間データと、アバター4Bの視野CVとに基づいて、HMD110に表示される視野画像を更新する(ステップS22)。
【0096】
次に、ユーザ端末1Bの制御部121は、受信したユーザAの音声データと、アバター4Aの制御情報に含まれるアバター4Aの位置に関する情報と、アバター4Bの位置に関する情報と、所定の音声処理アルゴリズムに基づいてユーザAの音声データを加工する。その後、制御部121は、加工された音声データをヘッドフォン116(音声出力部)に送信した上で、ヘッドフォン116は、加工された音声データに基づいてユーザAの音声を出力する(ステップS23)。このように、仮想空間上においてユーザ間(アバター間)の音声チャット(VRチャット)を実現することができる。
【0097】
本実施形態では、ユーザ端末1A,1Bがサーバ2にアバター4Aの制御情報とアバター4Bの制御情報をそれぞれ送信した後に、サーバ2がアバター4Aの制御情報をユーザ端末1Bに送信する一方、アバター4Bの制御情報をユーザ端末1Aに送信する。このように、ユーザ端末1Aとユーザ端末1B間において各アバター4A,4Bの動きを同期させることが可能となる。
【0098】
[第1実施形態に係る情報処理方法についての説明]
次に、図7図13図16を参照することで、本実施形態に係る情報処理方法を説明する。図13図14は、本実施形態に係る情報処理方法を説明するためのフローチャートである。図15は、仮想空間200の各部分領域の評価値を更新する方法を示す模式図である。本実施形態では、図15に示すように、ユーザ端末1A(ユーザA)に関連付けられたアバター4Aと、ユーザ端末1B(ユーザB)に関連付けられたアバター4Bと、ユーザ端末1C(ユーザC)に関連付けられたアバター4Cとが同一の仮想空間200を共有しているものとする。つまり、通信ネットワーク3を介して、ユーザAとユーザBとユーザCとが一つの仮想空間200を共有するものとする。また、図示は省略するが、ユーザ端末1AのHMD110に対応する仮想カメラ300は、仮想空間200内のアバター4Aに対応付けて配置され、ユーザ端末1BのHMD110に対応する仮想カメラ300は、仮想空間200内のアバター4Bに対応付けて配置され、ユーザ端末1CのHMD110に対応する仮想カメラ300は、仮想空間200内のアバター4Cに対応付けて配置されるものとする。すなわち、各ユーザ端末1A,1B,1CのHMD110の移動に基づいて、各アバター4A,4B,4Cの位置および/または向きが変更される。
【0099】
なお、図7では、説明の便宜上、仮想空間200の表面Sのうち手前側(-z側)において複数の緯線loと経線laの図示を省略する一方、仮想空間200の表面Sのうち奥側(+Z側)において複数の緯線loと経線la、および複数の部分領域Rを図示する。図15では、仮想空間200の表面の緯線lo、経線la、および複数の部分領域Rの図示を省略している。
【0100】
図13に示すように、ステップS100において、サーバ2の制御部23(図10参照)は、仮想空間200を示す仮想空間データを生成する。具体的には、制御部23は、ユーザ端末1A,1B,1Cからの入力信号に応じて、記憶部22に記憶された仮想体験コンテンツ(360度コンテンツ)を読出し、仮想空間または全天球画像等の360度空間画像を含む仮想空間データを生成する。360度コンテンツとしては、360度動画を含んでもよい。360度コンテンツは、例えば、360度空間映像の複数の領域においてそれぞれ異なるコンテンツを含むものであってもよい。これにより、仮想空間200を共有する各ユーザA,B,Cは、仮想空間200内の様々な領域を観賞して、他のユーザに注目ポイントを薦めるなどして、アバター4A,4B,4C間でのコミュニケーションを楽しむことができる。
【0101】
次に、ステップS102において、制御部23は、所定の角度間隔で配置された複数の緯線loと所定の角度間隔で配置された複数の経線laを用いることで仮想空間200の表面Sを複数の部分領域Rに区分する。換言すれば、制御部23は、緯線loと経線laから構成されるグリッドを半球状の仮想空間200の表面Sに設けることで、表面Sに複数の部分領域Rを設定する(図7参照)。
【0102】
緯線loの本数は、隣接する緯線loの角度間隔に応じて設定される。例えば、隣接する緯線loの角度間隔が15度の場合には、(90度÷15度)-1=5となり、緯線loの本数は5本となる。同様に、経線laの本数は、隣接する経線laの角度間隔に応じて設定される。例えば、隣接する経線laの角度間隔が15度の場合には、360度÷15度=24となり、経線laの本数は24本となる。制御部121は、仮想空間データの種類に応じて、適宜、緯線loと経線laの本数を設定することができる。
【0103】
部分領域Rの数は、経線laの本数と緯線loの本数に応じて決定される。例えば、経線laの本数がn本で、緯線loの本数がm本である場合、部分領域Rの総数Nは、N=n×(m+1)となる(但し、n≧2)。
【0104】
次に、ステップS104において、サーバ2の制御部23は、仮想空間200の表面Sに複数の部分領域Rが設定された状態の仮想空間データを、各ユーザ端末1A,1B,1Cに送信する。次に、ステップS106において、各ユーザ端末1A,1B,1Cの制御部121(図4参照)は、サーバ2の制御部23から配信された仮想空間データを表示部112に表示する。
【0105】
次に、ステップS108において、各ユーザ端末1A,1B,1Cの制御部121は、HMD110の位置および向きを特定する。具体的には、制御部121は、位置センサ130及び/又はHMDセンサ114からHMD110の状態を示すデータを受信することで、HMD110の位置および向きを特定してもよい。または、制御部121は、位置センサ130及び/又はHMDセンサ114から送信されたHMD110の状態を示すデータに基づいて、HMD110の位置や傾きに関する情報を取得してもよい。
【0106】
次に、ステップS110において、各ユーザ端末1A,1B,1Cの制御部121は、HMD110の位置および向きに基づいて、仮想空間200内における各アバター4A,4B,4C(仮想カメラ300)の位置や向きを更新するとともに、各アバター4A,4B,4Cの視線方向(視軸L)と仮想空間200の表面Sとが交差する交差点Cの位置を決定する。例えば、交差点Cは、仮想空間200の半径rと、図7に示す視軸Lの緯度θ,経度φに基づいて決定される。ここで、仮想空間200の半径rは既知の値であるため、制御部121は、視軸Lの緯度θと経度φとに基づいて、交差点Cを決定する。視軸Lは、各アバター4A,4B,4Cの位置と、各アバター4A,4B,4Cの視線の向きとに基づいて決定される。
【0107】
本ステップS110において、各ユーザ端末1A,1B,1Cの制御部121は、HMD110の位置および向きに基づいて各アバター4A,4B,4Cの視線方向を特定しているが、これに代わり、各ユーザA,B,Cの視線に基づいて各アバター4A,4B,4Cの視線方向を特定してもよい。この場合、制御部121は、注視センサ140から情報を受信することで、各ユーザA,B,Cの視線が変化したと判定してもよい。または、制御部121は、注視センサ140から送信された情報に基づいて、各ユーザA,B,Cの視線に関する情報を取得し、当該取得された情報に基づいて、各ユーザA,B,Cの視線が変化したかどうかを判定してもよい。
【0108】
次に、ステップS112において、各ユーザ端末1A,1B,1Cの制御部121は、仮想空間200の表面Sを区分する複数の部分領域Rのうち、交差点Cが含まれている部分領域を特定する。ここで、部分領域Rは、複数の緯線loと複数の経線laによって設定されるので、各部分領域Rは、緯度θと経度φの角度範囲を有する。また、上述したように、交差点Cは、視軸Lの緯度θと経度φとに基づいて決定される。このように、制御部121は、移動後の視軸Lの緯度θと経度φを決定することで、複雑な演算を行うことなく交差点Cがどの部分領域Rに含まれるかを決定することができる。
【0109】
なお、各アバター4A,4B,4Cの視線方向(視軸L)は時々刻々変わり得るため、本ステップS112では、各時刻において交差点Cが含まれている部分領域Rを示す視野情報(各アバター4A,4B,4Cの視線方向が指し示す部分領域を示す情報)は、時刻を定義する時刻情報と関連付けられて特定される。時刻情報は、現実の時刻に対応して規定してもよく、仮想空間データとして各ユーザ端末1A,1B,1Cに送信される360度コンテンツの再生開始時間からの経過時間として規定してもよい。
【0110】
例えば、ユーザ端末1Aの制御部121は、アバター4Aの視線方向LAと仮想空間200の表面Sとが交差する交差点CAを含む部分領域R(図15では部分領域R1)を時刻情報と関連付けて特定する。同様に、ユーザ端末1Bの各制御部121は、アバター4Bの視線方向LBと仮想空間200の表面Sとが交差する交差点CBを含む部分領域R(図15では部分領域R1)を時刻情報と関連付けて特定する。同様に、ユーザ端末1Cの各制御部121は、アバター4Cの視線方向LCと仮想空間200の表面Sとが交差する交差点CCを含む部分領域R(図15では部分領域R3)を時刻情報と関連付けて特定する。
【0111】
次に、ステップS114において、各ユーザ端末1A,1B,1Cの制御部121は、各時刻における各アバター4A,4B,4Cの顔情報と、各時刻における各アバター4A,4B,4Cの音声情報とを取得する。上述の通り、制御部121は、フェイスカメラ113やフェイスカメラ117によって撮像された画像に基づいて、各アバター4A,4B,4Cの顔の表情を特定し、特定された表情に基づいて顔情報を取得する。また、制御部121は、各ユーザA,B,Cから発声された音声に基づいて生成された音声データをマイク118から受信し、受信した音声データに基づいて音声情報を取得する。
【0112】
次に、ステップS116において、各ユーザ端末1A,1B,1Cの制御部121は、取得した時刻情報と、視野情報と、顔情報と、音声情報とをサーバ2へ送信する。次に、ステップS118において、サーバ2は、記憶部22に保存された視野情報データを更新する。視野情報データの一例を以下に示す。
【0113】
(表1)
【0114】
ここで、表1に示す視野情報データは、時刻情報と、各時刻における各アバター4A,4B,4Cの視野情報、感情情報、および感情評価値を含む。感情情報は、各アバター4A,4B,4Cの顔情報と音声情報とに基づいて特定される。感情情報は、顔情報と音声情報との少なくとも一方のみに基づいて特定されてもよい。感情評価値は、各アバター4A,4B,4Cの感情情報と、360度コンテンツの属性とに基づいて決定される。例えば、仮想空間200に配信されている360度コンテンツが娯楽番組(お笑い番組、クイズ番組等)や娯楽映画である場合には、感情情報が笑顔や驚き顔である場合にプラスの感情評価値がつき、感情情報が無表情や怒り顔の場合にはマイナスの感情評価値がついてもよい。一方、360度コンテンツがシリアスなドラマや社会派映画である場合には、感情情報が悲しい表情や驚き顔である場合にプラスの感情評価値がついてもよい。また、特定の感情情報(例えば、無表情)の場合に感情評価値がつかなくてもよい。なお、本例では、感情情報が笑顔の場合には感情評価値を「+1」とし、感情情報が驚き顔の場合には感情評価値を「+2」とし、感情情報が無表情の場合には感情評価値を「-1」とする。
【0115】
図15に示すように、例えば、アバター4Aが時刻T1~T5の間に部分領域R1を注視し(交差点CAが時刻T1~T5において部分領域R1に含まれている)、時刻T1~T5間のアバター4Aの顔情報が無表情であるとする。また、時刻T1~T5間の所定の時刻(例えば、時刻T2)に、ユーザAから「そうでもないな。」という音声が発声されたとする。この場合、ユーザ端末1Aの制御部121から時刻情報および視野情報を受信したサーバ2の制御部23は、各時刻T1~T5のアバター4Aの視野情報を部分領域R1と特定して、表1に示す視野情報データの時刻T1~T5におけるアバター4Aの視野情報を更新する。さらに、制御部23は、ユーザ端末1Aの制御部121から受信した各時刻T1~T5におけるアバター4Aの顔情報と、時刻T2におけるユーザAの音声情報とに基づいて、表1のアバター4Aの感情情報を特定する。このとき、制御部23は、受信した音声情報を言語解析して、音声情報の解析結果に基づいて感情情報を調整することができる。本例の場合は、例えば、「そうでもないな。」という音声情報はプラス評価でもマイナス評価でもないと判断される。そのため、時刻T1~T5間のアバター4Aの顔情報(無表情)と、ゼロ評価である音声情報とに基づいて、制御部121は、時刻T1~T5におけるアバター4Aの感情情報を「無表情」と特定する(表1参照)。そして、制御部23は、特定された感情情報と、仮想空間200に配信されている360度コンテンツの属性とに基づいて、アバター4Aの感情評価値を更新する。例えば、仮想空間200に配信されている360度コンテンツが娯楽番組である場合、制御部23は、アバター4Aの感情情報が無表情であることに基づいて、時刻T1~T5におけるアバター4Aの感情評価値を「-1」と更新する。
【0116】
図15に示すように、例えば、アバター4Bが、時刻T1,T2では部分領域R1を注視し、続いて、図16に示すように、時刻T3,T4ではアバター4Cの方(部分領域R2)を向く、続いて、時刻T5において部分領域R1を再び注視するとする。時刻T1~T5を通じて、アバター4Bの顔情報は笑顔であるとする。また、時刻T1~T5間の所定の時刻(例えば、時刻T2)に、ユーザBから「イイネ。」という音声が発声されたとする。この場合、ユーザ端末1Bの制御部121から時刻情報および視野情報を受信したサーバ2の制御部23は、各時刻T1,T2,T5でのアバター4Bの視野情報を部分領域R1と特定するとともに、T3,T4でのアバター4Bの視野情報を部分領域R2と特定し、表1に示す視野情報データの時刻T1~T5におけるアバター4Bの視野情報を更新する。さらに、制御部23は、ユーザ端末1Bの制御部121から受信した各時刻T1~T5におけるアバター4Bの顔情報と、時刻T2におけるユーザBの音声情報とに基づいて、表1のアバター4Bの感情情報を特定する。本例の場合は、例えば、「イイネ。」という音声情報はプラス評価であると判断される。そのため、時刻T1~T5間のアバター4Bの顔情報(笑顔)と、プラス評価である音声情報とに基づいて、制御部121は、時刻T1~T5におけるアバター4Bの感情情報を「笑顔」と特定する(表1参照)。そして、制御部23は、特定された感情情報と、仮想空間200に配信されている360度コンテンツの属性とに基づいて、アバター4Bの感情評価値を更新する。仮想空間200に配信されている360度コンテンツが娯楽番組であるため、制御部23は、アバター4Bの感情情報が笑顔であることに基づいて、時刻T1~T5におけるアバター4Bの感情評価値を「+1」と更新する。
【0117】
なお、アバター4Bが笑いながら特定のジェスチャ(例えば、手オブジェクトでアバターの口を覆うようなジェスチャや手オブジェクトを叩くようなジェスチャ)をしている場合には、笑いの度合いが高いと判断して、感情評価値をさらにアップさせてもよい。すなわち、アバターの顔情報や音声情報だけでなく、手オブジェクトによるジェスチャを加味して、感情を特定してもよい。また、ジェスチャの種類に応じて、笑顔の度合いに差をつけてもよい。例えば、アバターの顔情報が笑顔であるとした場合に、制御部23は、例えば、特定のジェスチャがなければ笑いの度合いが軽度(小笑い)であると判断し、感情評価値をさらにプラスすることはしない。手オブジェクトでアバターの口を覆うようなジェスチャをした場合には、制御部23は、笑いの度合いが中度(中笑い)であると判断し、感情評価値をさらにプラスする。手オブジェクトを叩くようなジェスチャをした場合には、制御部23は、笑いの度合いが高度(大笑い)であると判断し、感情評価値を、中笑いの場合よりもさらに多くプラスする。
【0118】
図15に示すように、例えば、アバター4Cが、時刻T1~T5の間に部分領域R1や部分領域R2とは異なる部分領域R3を注視しているとする。時刻T1~T5のアバター4Cの顔情報は驚き顔であるとする。また、時刻T1~T5間の所定の時刻(例えば、時刻T2)に、ユーザCから「おお!」という音声が発声されたとする。この場合、ユーザ端末1Cの制御部121から時刻情報および視野情報を受信したサーバ2の制御部23は、各時刻T1~T5でのアバター4Cの視野情報を部分領域R3と特定し、表1に示す視野情報データの時刻T1~T5におけるアバター4Cの視野情報を更新する。さらに、制御部23は、ユーザ端末1Cの制御部121から受信した各時刻T1~T5におけるアバター4Cの顔情報と、時刻T2におけるユーザCの音声情報とに基づいて、表1のアバター4Cの感情情報を特定する。本例の場合は、例えば、「おお!」という音声情報はプラス評価であると判断される。そのため、時刻T1~T5間のアバター4Cの顔情報(驚き顔)と、プラス評価である音声情報とに基づいて、時刻T1~T5におけるアバター4Cの感情情報を「驚き顔」と特定する(表1参照)。そして、制御部23は、特定された感情情報と、仮想空間200に配信されている360度コンテンツの属性とに基づいて、アバター4Cの感情評価値を更新する。仮想空間200に配信されている360度コンテンツが娯楽番組であるため、制御部23は、時刻T1~T5でのアバター4Cの感情情報が驚き顔であることに基づいて、時刻T1~T5におけるアバター4Cの感情評価値を「+2」と更新する。なお、アバター4Cが驚きながら特定のジェスチャ(例えば、両手オブジェクトを広げるようなジェスチャ)をしている場合には、驚きの度合いが強いと判断して、プラスの感情評価値をさらにつけてもよい。
【0119】
次に、ステップS120において、サーバ2は、各部分領域の評価値データを更新する。表2に評価値データの一例を示す。
【0120】
(表2)
【0121】
評価値データは、各時刻(例えば時刻T1~T5)における各部分領域(例えば、部分領域R1,R3)の評価値を示すデータである。各部分領域の評価値は、感情合計評価値と、コミュニケーション評価値と、感情合計評価値とコミュニケーション評価値とを合算した総合評価値とを含む。感情合計評価値とは、各時刻(時刻T1~T5)における複数のアバター4A,4B,4Cの感情評価値を合算した評価値である。コミュニケーション評価値とは、例えば、仮想空間200内におけるアバター4A,4B,4C間でなされたコミュニケーション行動に関連付けられた評価値である。コミュニケーション行動とは、例えば、アバター4A,4B,4C間でなされた会話や、各アバター4A,4B,4Cの動作(ジェスチャなど)を含んでもよい。本例では、特に、アバターから他のアバターに対して360度コンテンツの特定エリアを注視するように促すような会話や特定のジェスチャがなされた場合には、当該特定エリアに該当する部分領域に対する評価値を加算する。
【0122】
図14は、各部分領域の評価値データを更新するステップS120における各ステップを示すフローチャートである。
図14に示すように、まず、ステップS120-1において、サーバ2の制御部23は、各時刻(時刻T1~T5)での複数のアバター4A,4B,4Cの感情評価値を合算して、部分領域ごとの感情合計評価値を更新する。続いて、制御部23は、ステップS120-2において、アバター4A,4B,4C間でコミュニケーション行動がなされたか否かを判定する。アバター4A,4B,4C間でコミュニケーション行動がなされたと判定された場合には(ステップS120-2のYes)、ステップS120-3において、制御部23は、当該コミュニケーション行動に関する情報(以下、行動情報と称する)を各ユーザ端末1A,1B,1Cから受信する。そして、ステップS120-4において、制御部23は、行動情報に基づいてコミュニケーション評価値を更新する。
【0123】
アバター4A,4B,4C間でのコミュニケーション行動について、図16を参照して、以下説明する。
図16に示すように、例えば、アバター4Bが、時刻T3~T4の間に、右手オブジェクト400Rにより部分領域R1を指差しながら、アバター4Cの方を向いて「あの部分が良かったよ。」と話しかけたとする。このとき、ユーザ端末1Bの制御部121は、「あの部分が良かったよ。」という会話情報と、右手オブジェクト400Rによる指差しのジェスチャ(ジェスチャ情報)を、時刻情報とともに、サーバ2へ送信する。サーバ2の制御部23は、ユーザ端末1Bより受信した会話情報を言語解析し、会話情報の解析結果とジェスチャ情報とに基づいて、コミュニケーション行動がなされたか否かを判定する。ここで、制御部23は、アバター4Aの会話情報に含まれる各種表現、例えば、特定領域を指す言語的表現(指示語)や時制的表現を抽出して、当該会話情報を解析する。例えば、「あの部分が良かったよ。」という会話情報である場合には、制御部23は、アバター4Bのジェスチャ情報に基づいて、「あの部分」という指示語が部分領域R1を示すものと判断する。そして、「良かったよ」という文言に過去形の時制的表現が含まれるため、制御部23は、アバター4Bからアバター4Cに対して部分領域R1に関連付けられたコミュニケーション行動がなされたと判定する。そして、制御部23は、アバター4Bからアバター4Cに対してコミュニケーション行動がなされた時刻(例えば、発話がなされている間の時刻T3~T4)について、部分領域R1のコミュニケーション評価値を、例えば「+2」とする。なお、会話情報に現在形や未来形の時制的表現が含まれている場合には、会話情報に含まれる指示語(例えば、「あの部分」)が部分領域R1を示すものとは必ずしも言えないため、部分領域Rにプラスのコミュニケーション評価値をつけないこととしてもよい。
【0124】
また、図16に示すように、アバター4Bから「あの部分が良かったよ。」と話しかけられたアバター4Cが、アバター4Bに対して「そうなんだ。」と返答したとする。この場合、ユーザ端末1Cの制御部121は、アバター4Cの視野情報とともに「そうなんだ。」という会話情報をサーバ2へ送信する。サーバ2の制御部23は、ユーザ端末1Cから受信した会話情報を言語解析し、その解析結果と視野情報に基づいて、アバター4Cがアバター4Bの発話に対して同意する旨の発話をしたと判断する。このアバター4Cの発話については、特定の部分領域を示す指示語が含まれておらず、また、時制が現在形であるため、部分領域のコミュニケーション評価値をアップさせる発話ではないと判断される。そのため、制御部23は、このアバター4Cの「そうなんだ。」という返答については、コミュニケーション評価値をつけない。なお、仮に、アバター4Cの発話に特定の部分領域を示す指示語が含まれており、且つ、時制が過去形である場合には、当該特定の部分領域のコミュニケーション評価値をアップさせる発話であると評価することができる。
【0125】
次に、ステップS120-5において、サーバ2の制御部23は、上記のように特定された感情合計評価値とコミュニケーション評価値とを合算して、総合評価値を更新する。例えば、表2に示すように、部分領域R1の時刻T1,T2における総合評価値は「0」となり、部分領域R1の時刻T3,T4における総合評価値は「+1」となり、部分領域R1の時刻T5における総合評価値は「+3」となる。
【0126】
図13に戻り、次に、ステップS122において、サーバ2の制御部23は、総合評価値が閾値(例えば、「+3」)以上となった部分領域があるか否かを判定する。総合評価値が閾値以上となった部分領域がないと判定された場合には(ステップS122のNo)、ステップS108以降の処理が繰り返される。一方、総合評価値が閾値以上となった部分領域があると判定された場合には(ステップS122のYes)、ステップS124において、制御部23は、総合評価値が閾値以上となった部分領域を注目領域として指定する。例えば、表2に示す例では、時刻T5における部分領域R1の総合評価値が「+4」であるため、制御部23は、時刻T5における部分領域R1を注目領域として指定する。
【0127】
次に、ステップS126において、サーバ2の制御部23は、総合評価値が閾値以上となった時刻を含む所定の時間幅(第一時間幅の一例)において、注目領域に関する映像(以下、注目映像と称す)を生成する。注目映像としては、例えば、部分領域R1について、総合評価値が「+3」である時刻T5を含む前後5秒ずつの映像を生成することができる。この注目映像は、図17に示すように、仮想空間200内の注目領域R1を、例えば、仮想空間200を構成する天球の中心に配置された注目映像生成用の仮想カメラ300Aで撮像することにより生成されてもよい。アバター4A,4B,4Cやこれらのアバター4A,4B,4Cに関連付けられた仮想カメラ300は、必ずしも仮想空間200を構成する天球の中心に位置しているわけではないが、仮想空間200の中心に配置された仮想カメラ300により注目領域を撮像して注目映像を生成することで、見やすいアングルから適切な注目映像を生成することができる。注目映像は、3次元映像として生成されてもよく、2次元映像として生成されてもよい。なお、ステップS126で複数の注目映像が生成された場合には、制御部23は、当該複数の注目映像を繋ぎ合わせることによって、ダイジェスト映像コンテンツを生成してもよい。
【0128】
次に、ステップS128において、サーバ2の制御部23は、ネットワーク3を通じて、生成したダイジェスト映像コンテンツ(または注目映像)を、ウェブブラウザ上の動画配信サービスに配信する。このとき、制御部23は、多数のユーザの動画視聴情報を収集し、各ユーザの視聴履歴情報を参照して、注目領域(例えば部分領域R1)に関する履歴データが、対象のダイジェスト映像コンテンツの属性に似ているユーザ端末(ユーザID)を特定し、当該ユーザ端末に対して、当該ダイジェスト映像コンテンツを配信するようにしてもよい。例えば、制御部23は、収集した視聴履歴情報から、各ユーザのユーザ属性を推定し、そのユーザ属性が対象のダイジェスト映像コンテンツの属性と近いユーザに対して、当該ダイジェスト映像コンテンツを提供する。ダイジェスト映像コンテンツは、例えば、各ユーザ端末が登録しているソーシャルネットワーキングサービス(例えば、ライン(LINE(登録商標))、フェイスブック(FACEBOOK(登録商標))、ツイッター(TWITTER(登録商標)))のタイムラインに配信される。また、このように、サーバ2の制御部23は、多数のユーザから対象のダイジェスト映像コンテンツに興味を持つであろうユーザをピックアップし、当該ユーザに対して当該ダイジェスト映像コンテンツをリコメンドすることで、360度コンテンツの広告効果を高めることができる。また、HMD110を装着して360度コンテンツの視聴を完了したユーザA,B,Cが、HMD110を外した後に再びHMD110を装着して、別の360度コンテンツの視聴を開始しようとする場合に、サーバ2の制御部23は、各ユーザA,B,Cの注目領域の履歴情報に基づいて、各ユーザA,B,Cの興味に応じた各種の360度コンテンツのダイジェスト映像をおすすめ映像として、各ユーザA,B,Cが装着するHMD110の表示部112に表示させるようにしてもよい。
【0129】
以上説明したように、本実施形態によれば、サーバ2の制御部23は、HMD110を装着したユーザA,B,Cの感情を特定し、特定された感情が予め定められた条件(第一条件の一例)を満たした場合には、当該条件を満たした時刻におけるHMD110の向きに応じた仮想空間200における領域(第一領域の一例)の評価値を更新する。これにより、ユーザA,B,Cの特定の感情が検知された時を360度コンテンツの盛り上がり時点として特定し、その時点での各ユーザA,B,Cが装着するHMD110の向き(視野)に応じて注目領域の評価値を更新することができる。そのため、360度コンテンツの真の盛り上がりポイントを見逃すことがなく、仮想空間200における360度コンテンツの注目領域(注目範囲)を適切に特定することができる。
【0130】
また、制御部23は、ユーザA,B,Cの感情が第一条件を満たした後にユーザA,B,Cのコミュニケーション行動が所定の条件(第二条件の一例)を満たした場合には、評価値をさらに更新するようにしてもよい。ユーザA,B,Cの感情に加え、ユーザA,B,Cのコミュニケーション行動にも基づいて、注目領域の重要度(注目度)を調整することで、注目範囲の特定の精度を高めることができる。
【0131】
ユーザA,B,Cのコミュニケーション行動に関する条件は、仮想空間200内において複数のアバター4A,4B,4C間で会話がなされたことを含んでもよい。注目領域の重要度を調整するために、複数のアバター4A,4B,4C間でなされた会話を用いることが好ましい。なお、仮想空間200に配置されたアバター4A,4B,4Cを介さずに、ユーザA,B,C同士が直接会話をすることもでき、この場合のユーザA,B,C間のコミュニケーション行動を評価値の更新に用いてもよい。あるいは、VR空間である仮想空間200から現実空間に電話をかける等して、ユーザA,B,C同士が直接会話をすることもできる。
【0132】
アバター4A,4B,4C間あるいはユーザA,B,C間でなされる会話に、特定の部分領域を指す言語的表現が含まれている場合に、評価点をさらに更新してもよい。また、アバター4A,4B,4C間あるいはユーザA,B,C間でなされる会話に、時刻を指す時制的表現が含まれている場合に、評価点をさらに更新してもよい。このように会話内の各種表現を用いることで、容易に注目領域の重要度の調整を行うことができる。
【0133】
なお、評価値を更新するために用いられるユーザA,B,Cのコミュニケーション行動は、アバター4A,4B,4C間あるいはユーザA,B,C間でなされた会話に限られない。例えば、ユーザA,B,Cが仮想空間200において特定の部分領域を写真(動画)撮影した場合に、その撮影された領域の評価値を更新するようにしてもよい。さらに、ユーザA,B,Cが仮想空間200において特定の領域(例えば、部分領域R1)を写真撮影して、その写真をソーシャルネットワーキングサイト(SNS)へ投稿した場合に、その領域(部分領域R1)の評価値を更新するようにしてもよい。このように、注目領域の重要度を調整するためのコミュニケーション行動として、仮想空間200内での写真撮影やSNSへの投稿行動を用いることも可能である。
【0134】
なお、上記の実施形態では、アバター4A,4B,4Cの視野情報および顔情報に基づいて特定の部分領域の評価値を更新し、それに加えて、アバター4A,4B,4C間、あるいはユーザA,B,C間のコミュニケーション行動に基づいて各部分領域Rの評価値をさらに更新しているが、この例に限られない。例えば、アバター4A,4B,4Cの顔情報に基づいて各部分領域Rの評価値を更新することなく、アバター4A,4B,4C間、あるいはユーザA,B,C間のコミュニケーション行動のみに基づいて、各部分領域Rの評価値を更新してもよい。
【0135】
以上、本開示の実施形態について説明をしたが、本発明の技術的範囲が本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は特許請求の範囲に記載された発明の範囲およびその均等の範囲に基づいて定められるべきである。
【0136】
制御部121によって実行される各種処理をソフトウェアによって実現するために、本実施形態に係る表示制御方法をコンピュータ(プロセッサ)に実行させるための表示制御プログラムが記憶部123又はROMに予め組み込まれていてもよい。または、表示制御プログラムは、磁気ディスク(HDD、フロッピーディスク)、光ディスク(CD-ROM,DVD-ROM、Blu-rayディスク等)、光磁気ディスク(MO等)、フラッシュメモリ(SDカード、USBメモリ、SSD等)等のコンピュータ読取可能な記憶媒体に格納されていてもよい。この場合、記憶媒体が制御装置120に接続されることで、当該記憶媒体に格納されたプログラムが、記憶部123に組み込まれる。そして、記憶部123に組み込まれた表示制御プログラムがRAM上にロードされて、プロセッサがロードされた当該プログラムを実行することで、制御部121は本実施形態に係る表示制御方法を実行する。
【0137】
表示制御プログラムは、通信ネットワーク3上のコンピュータから通信インターフェース125を介してダウンロードされてもよい。この場合も同様に、ダウンロードされた当該プログラムが記憶部123に組み込まれる。
【0138】
本実施形態の説明では、仮想空間200を示す仮想空間データがユーザ端末1側で更新されていることを前提としているが、仮想空間データはサーバ2側で更新されてもよい。さらに、視野画像に対応する視野画像データがユーザ端末1側で更新されていることを前提としているが、視野画像データはサーバ2側で更新されてもよい。この場合、ユーザ端末1は、サーバ2から送信された視野画像データに基づいて、HMD110に視野画像を表示する。
【0139】
また、ユーザ端末1の制御部121によって実行される各種処理をソフトウェアによって実現するために、各種処理をコンピュータ(プロセッサ)に実行させるための制御プログラムが記憶部123またはメモリに予め組み込まれていてもよい。または、制御プログラムは、磁気ディスク(HDD、フロッピーディスク)、光ディスク(CD-ROM,DVD-ROM、Blu-ray(登録商標)ディスク等)、光磁気ディスク(MO等)、フラッシュメモリ(SDカード、USBメモリ、SSD等)等のコンピュータ読取可能な記憶媒体に格納されていてもよい。この場合、記憶媒体が制御装置120に接続されることで、当該記憶媒体に格納された制御プログラムが、記憶部123に組み込まれる。そして、記憶部123に組み込まれた制御プログラムがRAM上にロードされて、プロセッサがロードされた当該プログラムを実行することで、制御部121は各種処理を実行する。
【0140】
また、制御プログラムは、通信ネットワーク3上のコンピュータから通信インターフェース125を介してダウンロードされてもよい。この場合も同様に、ダウンロードされた当該制御プログラムが記憶部123に組み込まれる。
【0141】
本実施形態において、仮想空間は、ユーザにVR(Virtual Reality)、AR(Argumented Reality)およびMR(Mixed Reality)といった、仮想体験を提供するために用いられる。仮想空間がVRを提供する場合、仮想空間の背景にはメモリに保存された背景データが使用される。仮想空間がARまたはMRを提供する場合、背景には現実空間が使用される。この場合、HMD110が透過型の表示装置(光学シースルーまたはビデオシースルー型の表示装置)を備えることにより、現実空間が背景として使用され得る。仮想空間がMRに適用される場合、オブジェクトは、現実空間によって影響を与えられてもよい。このように、仮想空間が背景や仮想オブジェクトといった仮想シーンを少なくとも一部に含むことにより、ユーザには当該仮想シーンとの相互作用が可能な仮想体験が提供され得る。また、仮想空間がARまたはMRに適用される場合、手オブジェクトの代わりにユーザの手が用いられてもよい。この場合、図16に示す左手オブジェクト400Lの代わりにユーザの左手が仮想空間200に配置されるとともに、右手オブジェクト400Rの代わりにユーザの右手が仮想空間200に配置される。そして、サーバ2は、ユーザの手によるジェスチャに基づいてコミュニケーション行動がなされたか否かを判定し得る。
【符号の説明】
【0142】
1(1A~1C):ユーザ端末(端末機器の一例)
2:サーバ
3:通信ネットワーク
4A~4C:アバター
110:ヘッドマウントデバイス(HMD)
112:表示部
114:センサ
116:ヘッドフォン
118:マイク
120:制御装置
121:制御部
123:記憶部(ストレージ)
124:I/Oインターフェース
125:通信インターフェース
130:位置センサ
140:注視センサ
200,200A:仮想空間
300:仮想カメラ
320:外部コントローラ
400L:左手オブジェクト
400R:右手オブジェクト
C:交差点
R(R1~R3):部分領域
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17