(57)【要約】  挙動履歴データ取得部３０４は、ヘッドマウントディスプレイを頭部に装着した複数のユーザであって、同じ３次元コンテンツ空間を体験した複数のユーザの挙動履歴データを取得する。視線方向取得部３１２は、複数のユーザの挙動履歴データから、３次元コンテンツ空間における複数のユーザの視線方向を取得する。画面生成部３１６は、取得された複数のユーザの視線方向にもとづいて、３次元仮想空間における複数のユーザの視線に関する画像を生成する。
2018225218.tif 000002
【特許請求の範囲】
【請求項１】
ヘッドマウントディスプレイを頭部に装着した複数のユーザであって、同じ３次元コンテンツ空間を体験した複数のユーザの挙動履歴データを取得する挙動履歴データ取得部と、
複数のユーザの挙動履歴データから、３次元コンテンツ空間における複数のユーザの視線方向を取得する視線方向取得部と、
取得された複数のユーザの視線方向にもとづいて、３次元仮想空間における複数のユーザの視線に関する画像を生成する画面生成部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記挙動履歴データ取得部は、ユーザの挙動履歴データとして、３次元コンテンツ空間におけるユーザキャラクタの操作情報を取得する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記挙動履歴データ取得部は、３次元コンテンツ空間を体験していたユーザの状態検知情報を取得する、
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記挙動履歴データ取得部は、ヘッドマウントディスプレイ未装着時のユーザを撮影した撮影画像にもとづいて推定されたプロファイルデータを取得する、
ことを特徴とする請求項１から３のいずれかに記載の情報処理装置。
【請求項５】
前記画面生成部は、３次元コンテンツ空間に対応する３次元仮想空間に、各ユーザの視線方向を示す視線インジケータを配置した画像を生成する、
ことを特徴とする請求項１から４のいずれかに記載の情報処理装置。
【請求項６】
前記画面生成部は、３次元コンテンツ空間において発生したイベント、実施された演出、ユーザが発した音声の少なくとも１つに関する情報を、時間軸に関連づけて示す画像を生成する、
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
ヘッドマウントディスプレイを頭部に装着した複数のユーザであって、同じ３次元コンテンツ空間を体験した複数のユーザの挙動履歴データを取得するステップと、
複数のユーザの挙動履歴データから、３次元コンテンツ空間における複数のユーザの視線方向を取得するステップと、
取得された複数のユーザの視線方向にもとづいて、３次元仮想空間における複数のユーザの視線に関する画像を生成するステップと、
を備えることを特徴とする画像生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ヘッドマウントディスプレイを装着したユーザの挙動履歴データを処理する技術に関する。
【背景技術】
【０００２】
特許文献１は、自分と他のユーザとが３次元仮想現実空間を共有するシステムを開示する。このシステムにおいて自分のクライアント端末は、仮想現実空間を構成する基本オブジェクトに関するデータを情報サーバ端末から提供され、また他人のアバタに関するデータを共有サーバ端末から提供されることで、自分のアバタの視点から見える仮想現実空間を表示装置に表示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第６０５７８５６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数のユーザが仮想現実空間に参加可能なシステムを構築することで、サービス提供主体は、複数のユーザに様々な体験を提供できる。たとえば仮想コンテンツ空間として複数のユーザが参加するクラスルームを構築すれば、ユーザは自宅にいながらにして他のユーザと一緒に授業を受けられるようになる。また仮想コンテンツ空間として海外の名所や町並みを構築すると、複数のユーザが一緒に海外旅行を楽しむことができる。仮想コンテンツ空間で、各ユーザはそれぞれのキャラクタを自由に動かせる。【０００５】
サービス提供主体は、ユーザに楽しんでもらうために、仮想コンテンツ空間に様々な仕掛けを施す。たとえば注目するべき対象物を登場させたり、演出効果を高める効果音を発生したり、ユーザが持っている入力装置を物理的に振動させたりするなど、仕掛けの種類は様々である。このような仕掛けを施したサービス提供主体は、仕掛けが有効に作用したか、つまり設定した演出等によってユーザの関心を引くことができたかを確認したい。このような情報は、提供するサービスの改善に役立ち、コンテンツの魅力を高めることにつながる。【０００６】
本発明はこうした課題に鑑みてなされたものであり、その目的は、ユーザの挙動履歴データを処理する技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様の情報処理装置は、ヘッドマウントディスプレイを頭部に装着した複数のユーザであって、同じ３次元コンテンツ空間を体験した複数のユーザの挙動履歴データを取得する挙動履歴データ取得部と、複数のユーザの挙動履歴データから、３次元コンテンツ空間における複数のユーザの視線方向を取得する視線方向取得部と、取得された複数のユーザの視線方向にもとづいて、３次元仮想空間における複数のユーザの視線に関する画像を生成する画面生成部と、を備える。【０００８】
本発明の別の態様は、画像生成方法である。この方法は、ヘッドマウントディスプレイを頭部に装着した複数のユーザであって、同じ３次元コンテンツ空間を体験した複数のユーザの挙動履歴データを取得するステップと、複数のユーザの挙動履歴データから、３次元コンテンツ空間における複数のユーザの視線方向を取得するステップと、取得された複数のユーザの視線方向にもとづいて、３次元仮想空間における複数のユーザの視線に関する画像を生成するステップとを備える。【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを読み取り可能に記録した記録媒体、データ構造などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によれば、ユーザの挙動履歴データを処理する技術を提供できる。
【図面の簡単な説明】
【００１１】
【図１】実施例における情報処理システムを示す図である。
【図２】仮想空間の画像の一例を示す図である。
【図３】実施例におけるユーザシステムの構成例を示す図である。
【図４】ＨＭＤの外観形状の例を示す図である。
【図５】ＨＭＤの機能ブロックを示す図である。
【図６】ユーザ装置の機能ブロックを示す図である。
【図７】仮想空間の画像の一例を示す図である。
【図８】情報処理装置の構成を示す図である。
【図９】行動解析画面の一例を示す図である。
【図１０】行動解析画面の別の例を示す図である。
【発明を実施するための形態】
【００１２】
図１は、実施例における情報処理システム１を示す。情報処理システム１は、複数のユーザが３次元仮想空間を共有するサービスを提供する。情報処理システム１は複数のユーザシステム３ａ、３ｂ・・・３ｍ、３ｎ（以下、総称する場合には「ユーザシステム３」と呼ぶ）と、サーバシステム４と、情報処理装置３００とを備える。サーバシステム４はサービスの提供主体により運営・管理され、各ユーザシステム３は、それぞれのユーザにより使用される。情報処理装置３００は、サービスの提供主体より委託を受けて、サービスにおけるユーザの挙動履歴データをもとに、解析など様々な処理を実施する。
【００１３】
サーバシステム４および複数のユーザシステム３はインターネットなどのネットワーク２に接続し、サーバシステム４と各ユーザシステム３とは、互いにデータを送受信できる。なお複数のユーザシステム３が、互いにデータを送受信できてもよい。
【００１４】
サーバシステム４は管理サーバ５および記憶装置６を備える。記憶装置６は、３次元仮想空間を生成するための３次元画像データを保持するコンテンツＤＢ７と、３次元仮想空間におけるユーザの挙動情報を蓄積するためのユーザ挙動ＤＢ８と、３次元仮想空間において発生したイベント情報を蓄積するためのイベントＤＢ９とを有する。以下、コンテンツＤＢ７が保持する３次元画像データを「コンテンツデータ」と呼ぶ。実施例でサーバシステム４は、都市や観光地の３次元仮想空間をユーザシステム３に提供し、オペレータがツアーガイドとなり、複数のユーザが旅行参加者となることで、複数のユーザがガイド付きで旅行を楽しむサービスを提供する。
【００１５】
情報処理装置３００は、サーバシステム４から、ユーザ挙動ＤＢ８に蓄積されたユーザ挙動履歴データ、およびイベントＤＢ９に蓄積されたイベント情報を取得する。情報処理装置３００はサーバシステム４と接続して、ユーザ挙動ＤＢ８およびイベントＤＢ９の蓄積データをオンラインで取得してよいが、サーバシステム４と接続していなければ、ユーザ挙動ＤＢ８およびイベントＤＢ９の蓄積データをオフラインで取得する。
【００１６】
サーバシステム４は、３次元コンテンツ空間を複数のユーザで共有するサービスを提供する。コンテンツＤＢ７に記憶されるコンテンツデータは、基本的に位置情報や姿勢情報などが更新されない静的なオブジェクトデータにより構成される。たとえば観光地の仮想空間を表現するコンテンツデータは、相対的な位置関係を定義された建物オブジェクト、道路オブジェクト、街灯オブジェクト、看板オブジェクトなどを含んで構成される。なお仮想空間内でユーザが動かすことのできるオブジェクトが存在してもよい。
【００１７】
ユーザシステム３は、サービスの提供を受ける前に、コンテンツデータを再生するためのビューワアプリケーションをインストールする。ユーザシステム３がネットワーク２を介してサーバシステム４からコンテンツデータをダウンロードすると、ビューワアプリケーションは、コンテンツデータをもとに仮想空間を構築し、仮想空間内でユーザによる操作情報をもとにキャラクタを動かし、ユーザキャラクタの位置および姿勢（視線方向）に応じて仮想空間をレンダリングする。これによりユーザはユーザキャラクタを通じて、仮想空間内を自由に移動し、自由視点からの画像を見ることができる。
【００１８】
図２は、あるユーザキャラクタの視点から見た仮想空間の画像の一例を示す。ビューワアプリケーションは、ユーザキャラクタの位置および視線方向に応じて、ユーザキャラクタの視点からの画像を生成する。
【００１９】
それぞれのユーザシステム３がコンテンツデータをダウンロードすることで、複数のユーザによる仮想空間の共有が実現される。以下、１０人のユーザＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈ、Ｉ、Ｊが仮想空間を共有する例について説明する。管理サーバ５は、複数ユーザによる仮想空間の共有処理を担当する。各ユーザは、仮想空間内でそれぞれのユーザキャラクタを操作するが、その操作情報は、当該ユーザのユーザシステム３においてビューワアプリケーションによる処理に使用されるとともに、管理サーバ５に送信され、管理サーバ５は、他のユーザのユーザシステム３に転送する。つまりユーザＡが自身のキャラクタを操作した操作情報は、他の９人のユーザＢ〜Ｊのユーザシステム３にも提供されて、それぞれのユーザシステム３のビューワアプリケーションによる処理に使用される。このように各ユーザによるキャラクタの操作情報が全てのユーザに共有されることで、各ユーザシステム３において全ユーザＡ〜Ｊのユーザキャラクタは、通信遅延の影響を除けば基本的に同じ挙動を示すようになる。
【００２０】
図３は、実施例におけるユーザシステム３の構成例を示す。ユーザシステム３は、ユーザ装置１０と、ヘッドマウントディスプレイ装置（ＨＭＤ）１００と、ユーザが手指で操作する入力装置１６と、ユーザを撮影する撮像装置１４と、画像を表示する出力装置１５とを備える。ユーザ装置１０は、アクセスポイント（ＡＰ）１７を介してネットワーク２に接続される。ＡＰ１７は無線アクセスポイントおよびルータの機能を有し、ユーザ装置１０はＡＰ１７とケーブルで接続してもよく、既知の無線通信プロトコルで接続してもよい。
【００２１】
ＨＭＤ１００はユーザの頭部に装着されて仮想現実（ＶＲ）の世界をユーザに提供する。ＨＭＤ１００にヘッドトラッキング機能をもたせ、ユーザの頭部の動きに連動して表示画面を更新することで、映像世界への没入感を高められる。なお実施例では、レンダリングした画像をＨＭＤ１００の表示パネルに表示するが、レンダリングした画像は出力装置１５に表示されてもよい。
【００２２】
ユーザ装置１０は、処理装置１１、出力制御装置１２および記憶装置１３を備える。処理装置１１は、ユーザにより入力装置１６に入力された操作情報を受け付けて、ビューワアプリケーションを実行する端末装置である。処理装置１１と入力装置１６とはケーブルで接続されてよく、また既知の無線通信プロトコルで接続されてもよい。なお実施例の処理装置１１は、ＨＭＤ１００の姿勢情報をビューワアプリケーションに対するユーザの操作情報として受け付けて、ビューワアプリケーションを実行する機能ももつ。出力制御装置１２は、処理装置１１で生成された画像データをＨＭＤ１００に出力する処理ユニットである。出力制御装置１２とＨＭＤ１００とはケーブルで接続されてよく、また既知の無線通信プロトコルで接続されてもよい。
【００２３】
撮像装置１４はステレオカメラであって、ＨＭＤ１００を装着したユーザを所定の周期で撮影し、撮影画像を処理装置１１に供給する。後述するがＨＭＤ１００にはユーザ頭部をトラッキングするためのマーカ（トラッキング用ＬＥＤ）が設けられ、処理装置１１は、撮影画像に含まれるマーカの位置にもとづいてＨＭＤ１００の動きを検出する。なおＨＭＤ１００には姿勢センサ（加速度センサおよびジャイロセンサ）が搭載され、処理装置１１は、姿勢センサで検出されたセンサデータをＨＭＤ１００から取得することで、マーカの撮影画像の利用とあわせて、高精度のトラッキング処理を実施する。なおトラッキング処理については従来より様々な手法が提案されており、処理装置１１はＨＭＤ１００の動きを検出できるのであれば、どのようなトラッキング手法を採用してもよい。
【００２４】
実施例のユーザシステム３では、ＨＭＤ１００にユーザキャラクタの視点から見た画像を提供するビューワアプリケーションを実行する。実施例ではユーザがＨＭＤ１００で画像を見るため、ユーザシステム３において出力装置１５は必ずしも必要ではないが、変形例ではユーザがＨＭＤ１００を装着せず、出力制御装置１２または処理装置１１が、画像を出力装置１５から出力させてもよい。
【００２５】
ＨＭＤ１００は、ユーザが頭に装着することによりその眼前に位置する表示パネルに画像を表示する表示装置である。ＨＭＤ１００は、左目用表示パネルに左目用の画像を、右目用表示パネルに右目用の画像を、それぞれ別個に表示する。これらの画像は左右の視点から見た視差画像を構成し、立体視を実現する。なおユーザは光学レンズを通して表示パネルを見るため、ユーザ装置１０は、レンズによる光学歪みを補正した視差画像データをＨＭＤ１００に供給する。この光学歪みの補正処理は、処理装置１１、出力制御装置１２のいずれが行ってもよい。
【００２６】
処理装置１１、記憶装置１３、出力装置１５、入力装置１６および撮像装置１４は、従来型のゲームシステムを構築してよい。この場合、処理装置１１はゲームを実行するゲーム装置であり、入力装置１６はゲームコントローラ、キーボード、マウス、ジョイスティックなど処理装置１１にユーザによる操作情報を供給する機器である。このゲームシステムの構成要素に、出力制御装置１２およびＨＭＤ１００を追加することで、ＶＲのビューワアプリケーションを実施するユーザシステム３が構築される。
【００２７】
なお出力制御装置１２による機能は、ビューワアプリケーションの一部の機能として処理装置１１に組み込まれてもよい。つまりユーザ装置１０の処理ユニットは、１台の処理装置１１から構成されても、また処理装置１１および出力制御装置１２から構成されてもよい。以下においては、ビューワアプリケーションの実施に必要な処理装置１１および出力制御装置１２の機能を、まとめてユーザ装置１０の機能として説明する。
【００２８】
ビューワアプリケーションを実施する前段階として、処理装置１１は、サーバシステム４の記憶装置６に記憶されているコンテンツデータを記憶装置１３にダウンロードする。またユーザは、ビューワアプリケーションを開始する際に自身のキャラクタを設定する。設定したユーザキャラクタデータは、記憶装置１３に記憶されるとともに、サーバシステム４に送信されて、サーバシステム４から他のユーザのユーザシステム３に送信される。
【００２９】
ビューワアプリケーションは、入力装置１６から入力された操作情報にもとづいて仮想空間内でユーザキャラクタを動かし、ユーザの頭部に装着されたＨＭＤ１００の姿勢情報にもとづいてユーザキャラクタの視線方向を定める。実施例ではビューワアプリケーションが、ＨＭＤ１００の姿勢情報を、ユーザキャラクタの視線方向を操作するための操作情報として利用するが、入力装置１６における入力情報を、視線方向を操作するための操作情報として利用してもよい。またユーザキャラクタを移動させるための操作情報は、入力装置１６の入力情報を用いずに、ＨＭＤ１００の位置情報を利用してもよい。実施例において、ユーザキャラクタの操作情報は、入力装置１６およびＨＭＤ１００のいずれから取得されてもよく、また他のユーザインタフェースから取得されてもよい。
【００３０】
ユーザ装置１０は、ユーザのヘッドトラッキング処理を行うことで、ユーザ頭部（実際にはＨＭＤ１００）の位置座標および姿勢を検出する。ここでＨＭＤ１００の位置座標とは、基準位置を原点とした３次元空間における位置座標（ｘ、ｙ、ｚ）であり、基準位置はＨＭＤ１００の電源がオンされたときの位置座標（ｘ0、ｙ0、ｚ0）であってよい。またＨＭＤ１００の姿勢とは、３次元空間における基準姿勢に対する３軸方向の傾き（ヨー、ロール、ピッチ）である。なお基準姿勢は、ユーザの視線方向が水平方向となる姿勢であり、ＨＭＤ１００の電源がオンされたときに基準姿勢が設定されてよい。
【００３１】
ユーザ装置１０は、ＨＭＤ１００の姿勢センサが検出したセンサデータのみから、ＨＭＤ１００の位置座標（ｘ、ｙ、ｚ）および姿勢（ヨー、ロール、ピッチ）を検出でき、さらに撮像装置１４で撮影したＨＭＤ１００のマーカ（トラッキング用ＬＥＤ）を画像解析することで、高精度にＨＭＤ１００の位置座標および姿勢を検出できる。上記したようにユーザ装置１０は、ＨＭＤ１００の位置情報をもとにユーザキャラクタの仮想空間内の位置を算出し、ＨＭＤ１００の姿勢情報をもとにユーザキャラクタの視線方向を算出してもよいが、実施例では仮想空間内におけるユーザキャラクタの位置は、入力装置１６の操作情報をもとに算出する。
【００３２】
図４は、ＨＭＤ１００の外観形状の例を示す。ＨＭＤ１００は、出力機構部１０２および装着機構部１０４から構成される。装着機構部１０４は、ユーザが被ることにより頭部を一周してＨＭＤ１００を頭部に固定する装着バンド１０６を含む。装着バンド１０６はユーザの頭囲に合わせて長さの調節が可能な素材または構造をもつ。
【００３３】
出力機構部１０２は、ＨＭＤ１００をユーザが装着した状態において左右の目を覆う形状の筐体１０８を含み、内部には装着時に目に正対する表示パネルを備える。表示パネルは液晶パネルや有機ＥＬパネルなどであってよい。筐体１０８内部にはさらに、表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する左右一対の光学レンズが備えられる。ＨＭＤ１００はさらに、ユーザの耳に対応する位置にスピーカーやイヤホンを備えてよい。
【００３４】
筐体１０８の外面には、発光マーカ１１０ａ、１１０ｂ、１１０ｃ、１１０ｄが備えられる。この例ではトラッキング用ＬＥＤが発光マーカ１１０を構成するが、その他の種類のマーカであってよく、いずれにしても撮像装置１４により撮影されて、ユーザ装置１０がマーカ位置を画像解析できるものであればよい。発光マーカ１１０の数や配置は特に限定されないが、ＨＭＤ１００の姿勢を検出できるための数および配置である必要があり、図示した例では筐体１０８の前面の４隅に設けている。さらにユーザが撮像装置１４に対して背を向けたときにも撮影できるように、発光マーカ１１０は装着バンド１０６の側部や後部に設けられてもよい。
【００３５】
ＨＭＤ１００は、ユーザ装置１０にケーブルで接続されても、既知の無線通信プロトコルで接続されてもよい。ＨＭＤ１００は、姿勢センサが検出したセンサデータをユーザ装置１０に送信し、またユーザ装置１０で生成された画像データを受信して、左目用表示パネルおよび右目用表示パネルに表示する。
【００３６】
図５は、ＨＭＤ１００の機能ブロックを示す。制御部１２０は、画像データ、音声データ、センサデータなどの各種データや、命令を処理して出力するメインプロセッサである。記憶部１２２は、制御部１２０が処理するデータや命令などを一時的に記憶する。姿勢センサ１２４は、ＨＭＤ１００の姿勢情報を検出する。姿勢センサ１２４は、少なくとも３軸の加速度センサおよび３軸のジャイロセンサを含む。
【００３７】
通信制御部１２８は、ネットワークアダプタまたはアンテナを介して、有線または無線通信により、制御部１２０から出力されるデータを外部のユーザ装置１０に送信する。また通信制御部１２８は、ネットワークアダプタまたはアンテナを介して、有線または無線通信により、ユーザ装置１０からデータを受信し、制御部１２０に出力する。
【００３８】
制御部１２０は、画像データや音声データをユーザ装置１０から受け取ると、表示パネル１３０に供給して表示させ、また音声出力部１３２に供給して音声出力させる。表示パネル１３０は、左目用表示パネル１３０ａと右目用表示パネル１３０ｂから構成され、各表示パネルに一対の視差画像が表示される。また制御部１２０は、姿勢センサ１２４からのセンサデータや、マイク１２６からの音声データを、通信制御部１２８からユーザ装置１０に送信させる。
【００３９】
図６は、ユーザ装置１０の機能ブロックを示す。ユーザ装置１０は、外部との入出力インタフェースとして、センサデータ受信部２０、撮影画像受信部２２、入力データ受信部２４、サーバデータ受信部２６、音声データ受信部２８、操作情報送信部３０、画像提供部３２、音声提供部３４および音声データ送信部３６を備える。サーバデータ受信部２６は、管理サーバ５から送信されるデータを受信する通信インタフェースである。
【００４０】
ユーザ装置１０は、さらに取得部４０、処理部５０および記憶装置１３を備える。取得部４０は、入出力インタフェースで受信したデータからビューワアプリケーションで使用する情報を取得する機能をもち、第１操作情報取得部４２および第２操作情報取得部４４を有する。処理部５０は、取得部４０で取得した情報から画像データを生成する機能をもち、キャラクタ制御部５２および画像生成部５４を有する。記憶装置１３は、３次元仮想空間を構築するためのコンテンツデータや、ユーザ装置１０の利用ユーザのキャラクタデータおよび他のユーザのキャラクタデータなどを記憶する。
【００４１】
図６において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００４２】
以下、「ユーザＡ」が使用するユーザ装置１０の動作について説明する。第１操作情報取得部４２は、仮想空間においてユーザＡのキャラクタを動かすための操作情報を取得する。一方で、第２操作情報取得部４４は、仮想空間においてユーザＡとは別のユーザ、つまりユーザＢ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈ、Ｉ、Ｊのキャラクタを動かすための操作情報を取得する。
【００４３】
なお「ユーザＢ」が使用するユーザ装置１０においては、第１操作情報取得部４２が、ユーザＢのキャラクタを動かすための操作情報を取得し、第２操作情報取得部４４が、ユーザＢとは別のユーザのキャラクタを動かすための操作情報を取得する。
【００４４】
以下、ユーザＡによる操作情報について説明する。
センサデータ受信部２０は、ユーザＡが装着したＨＭＤ１００の姿勢センサ１２４から所定の周期でセンサデータを受信して、第１操作情報取得部４２に供給する。撮影画像受信部２２は、撮像装置１４から所定の周期でＨＭＤ１００を撮影した画像を受信して、第１操作情報取得部４２に供給する。たとえば撮像装置１４は（１／６０）秒ごとに前方の空間を撮影し、撮影画像受信部２２は、（１／６０）秒ごとに撮影画像を受信する。入力データ受信部２４は入力装置１６から、ユーザＡが入力したキーデータを受信して、第１操作情報取得部４２に供給する。
【００４５】
第１操作情報取得部４２は、ユーザの頭部に装着されたＨＭＤ１００の動きにもとづいてＨＭＤ１００の姿勢の変化を検出し、仮想空間におけるユーザＡのキャラクタの視線方向の変化を示す操作情報を取得する。具体的に第１操作情報取得部４２は、姿勢センサ１２４のセンサデータからＨＭＤ１００の姿勢の変化を検出する。第１操作情報取得部４２は３軸ジャイロセンサのセンサデータから、ＨＭＤ１００の姿勢変化を特定してよい。なお第１操作情報取得部４２は、トラッキング用の発光マーカ１１０の撮影結果をさらに利用して、姿勢変化の検出精度を高めることが好ましい。第１操作情報取得部４２は、検出したＨＭＤ１００の姿勢の変化から、ユーザＡの視線方向の変化を示す操作情報を取得する。
【００４６】
また第１操作情報取得部４２は、入力データ受信部２４で受信した入力装置１６のキーデータにもとづいて、仮想空間におけるユーザＡのキャラクタの移動量および移動方向を示す操作情報を取得する。入力装置１６の操作により仮想空間内のキャラクタを動作させる処理は、既知の技術を利用してよい。実施例ではユーザＡがＨＭＤ１００を装着するため、キャラクタの視線方向を、ＨＭＤ１００を装着したユーザＡの視線方向に合わせているが、変形例ではユーザＡがＨＭＤ１００を装着しない実施態様も想定され、この場合はユーザＡが、入力装置１６から、キャラクタの位置および視線方向を制御するためのキーデータを入力してもよい。
【００４７】
このようにして第１操作情報取得部４２は、仮想空間においてユーザＡのキャラクタを動かすための操作情報を取得する。この操作情報は、位置および視線方向の変化量を指定する情報であってよいが、位置および視線方向を直接指定する情報であってもよい。第１操作情報取得部４２は、ユーザＡのキャラクタを動かすための操作情報をキャラクタ制御部５２に供給する。第１操作情報取得部４２がどのような操作情報を取得するかは、ビューワアプリケーションに依存し、いずれにしてもキャラクタ制御部５２が処理できる操作情報であればよい。第１操作情報取得部４２は、所定の周期で操作情報を生成してキャラクタ制御部５２に供給してよいが、状態変化が生じたとき、つまりＨＭＤ１００の姿勢が変化したとき又は入力装置１６でキー入力が生じたときに操作情報を生成してキャラクタ制御部５２に供給してもよい。
【００４８】
キャラクタ制御部５２は、第１操作情報取得部４２から供給される操作情報にもとづいて、仮想空間内のユーザＡのキャラクタの動作、具体的にはキャラクタの位置および視線方向を制御する。
【００４９】
画像生成部５４は、仮想空間におけるユーザキャラクタの位置（３次元仮想空間座標値）にもとづいて、仮想空間の３次元レンダリングを行う。具体的に画像生成部５４は、ユーザキャラクタの位置に、ユーザキャラクタの視線方向を光軸とする仮想カメラを配置して、画像データを生成する。画像提供部３２は、生成された画像データをＨＭＤ１００に出力する。
【００５０】
実施例のビューワアプリケーションでは、ユーザＡが入力装置１６のキー入力によりキャラクタを移動させ、また首を傾けてＨＭＤ１００の向きを変更することで、キャラクタの視線方向を変えることができる。ＨＭＤ１００の表示パネル１３０には、キャラクタの位置および視線方向に応じた画像が表示される（図２参照）。
【００５１】
以上はユーザＡのキャラクタの動作制御であるが、実施例の情報処理システム１は、３次元仮想空間を複数のユーザで共有するサービスを提供する。そのため第１操作情報取得部４２で取得されたユーザＡのキャラクタの操作情報は、操作情報送信部３０から管理サーバ５に送信され、管理サーバ５から別のユーザＢ〜Ｊのユーザ装置１０に転送される。
【００５２】
別のユーザＢ〜Ｊのユーザ装置１０においても、それぞれのユーザのキャラクタを動かすための操作情報が取得され、管理サーバ５に送信される。管理サーバ５は、ユーザＡのユーザ装置１０に、ユーザＢ〜Ｊのユーザ装置１０で取得されたキャラクタの操作情報を送信する。サーバデータ受信部２６は、管理サーバ５から送信される別のユーザのキャラクタ操作情報を受信する。
【００５３】
管理サーバ５は、仮想コンテンツ空間共有サービスに参加するユーザの情報を管理する。ユーザ情報は、ユーザを識別するためのユーザアカウント、ユーザのキャラクタデータを少なくとも含み、管理サーバ５はサービス開始前に、各参加ユーザのユーザ情報を、すべての参加ユーザのユーザ装置１０に送信しておく。サービス開始後、管理サーバ５は、ユーザのキャラクタの操作情報をユーザアカウントに紐付けて各ユーザ装置１０に送信し、したがってユーザ装置１０は、サーバデータ受信部２６で受信した操作情報がどのユーザのキャラクタの動作に反映させる情報であるかを特定できる。
【００５４】
第２操作情報取得部４４は、サーバデータ受信部２６から、別のユーザＢ〜Ｊのキャラクタを動かすための操作情報を取得し、キャラクタ制御部５２に供給する。キャラクタ制御部５２は、第２操作情報取得部４４から供給される操作情報にもとづいて、仮想空間内の別のユーザのキャラクタの動作、具体的にはキャラクタの位置および視線方向を制御する。なおキャラクタの視線方向の制御は、キャラクタの首の向きを制御することで実施される。
【００５５】
上記したように画像生成部５４は、ユーザＡのキャラクタの位置から、キャラクタの視線方向に見える仮想空間の画像を生成する。そのためユーザＡのキャラクタの視野に、別のユーザのキャラクタが含まれていれば、画像生成部５４は、ユーザＡとは別のユーザのキャラクタを含む画像データを生成する。画像提供部３２は、生成された画像データを、表示装置であるＨＭＤ１００に出力する。音声データ受信部２８は、ＨＭＤ１００のマイク１２６に入力されたユーザＡの音声データを受信し、音声データ送信部３６が、ユーザＡの音声データを管理サーバ５に送信する。
【００５６】
図７は、ユーザＡのキャラクタの視点から見た仮想空間の画像の一例を示す。ここでは、ユーザＡのキャラクタの視野に、５人のユーザのキャラクタが含まれている様子が示される。それぞれのユーザキャラクタは、左から順に、ユーザＢ、ユーザＤ、ユーザＦ、ユーザＧ、ユーザＨのキャラクタであるとする。なお、それ以外のユーザＣ、ユーザＥ、ユーザＩ、ユーザＪのキャラクタについては、ユーザＡのキャラクタの後ろにいたり、また建物の中に入っているなどの理由により、ユーザＡのキャラクタの視野角内に存在せず、画像データには含まれていない。ＨＭＤ１００において、通信制御部１２８がユーザ装置１０から画像データを受信し、制御部１２０が仮想空間画像を表示パネル１３０に表示する。
【００５７】
実施例ではサーバシステム４が観光地の仮想空間を複数のユーザシステム３に提供し、サーバシステム４のオペレータがツアーガイドとなり、また複数のユーザが旅行参加者となることで、複数のユーザがガイド付きで一緒に旅行するサービスを提供する。オペレータは管理サーバ５を操作して、音声ガイドを各ユーザシステム３に配信し、ユーザが移動する方向や注目する対象（オブジェクト）を音声で指定する。各ユーザシステム３において、サーバデータ受信部２６が音声案内用の音声データを受信すると、音声提供部３４が音声データをＨＭＤ１００に送信する。ＨＭＤ１００において通信制御部１２８が音声データを受信し、制御部１２０が音声案内を音声出力部１３２からイヤホン（不図示）に出力する。
【００５８】
このような仮想空間において、注目するべきオブジェクトが存在する場合、ツアーガイドであるオペレータは、そのオブジェクトに注目させるように音声案内を行う。それは「通路脇にある看板に注目してください」というものであってよい。この音声案内により「説明イベント」が開始される。図７に示す画面例において、オブジェクト２００が注目するべきオブジェクトとして設定されている。続けてオペレータは、オブジェクト２００の注目ポイント（たとえば看板の店の歴史など）を説明する。注目ポイントの説明が終了すると、説明イベントは終了となり、次の注目オブジェクトへの移動案内が行われる。なお説明イベントの開始および終了は、オペレータにより任意のタイミングで行われてよい。イベントの開始および終了のタイミングは、イベントＤＢ９に記憶される。
【００５９】
なお実施例では、サーバシステム４のオペレータが、旅行参加者の様子を見ながら音声ガイドを配信するイベントを管理しているが、たとえば音声ガイドは、定められた時刻に配信されるように管理されてもよい。つまりオペレータがイベント管理するのではなく、ツアーは、見学する場所および時間等が予めプログラムされたものであって、そのプログラムにしたがって音声ガイドなどの様々なイベントおよび演出が実施されてよい。この場合、イベントＤＢ９は、ツアー共通の予め定められたイベント内容およびイベントの発生時間を記憶する。
【００６０】
「通路脇にある看板に注目してください」とする音声案内が行われたときに、ユーザは仮想空間における通路脇にある看板（オブジェクト２００）を見つけ出そうと、視線を動かす。サービス提供主体側からすれば、すべての参加者を効率よく（短時間で）オブジェクト２００に注目させることで、サービス価値の高いツアーを実現できる。そのためサービス提供主体は、どのような案内をすれば、言い換えると、どのような演出をすることで、ツアー参加者がオブジェクト２００に注目してくれるのか把握したいという要求がある。
【００６１】
そこで情報処理装置３００は、ユーザ挙動ＤＢ８に記憶されたユーザの挙動履歴データをもとに、ツアー参加者の挙動を解析する。サービス提供主体は、あるオブジェクト２００に参加者の注目を向けさせようする場合に、音声案内のメッセージ内容、話し方や声の大きさ、話し手の性別など、様々なパラメータを調整して、ツアー参加者の関心をオブジェクト２００に向けさせる最も効果的な音声案内のタイプを知りたい。情報処理装置３００は、このようなサービス提供主体の要求に応じて、ユーザ挙動ＤＢ８に記憶されたユーザ挙動履歴データをもとに、様々な解析を実施する機能をもつ。
【００６２】
図８は、情報処理装置３００の構成を示す。情報処理装置３００は、サーバシステム４からデータを取得するデータ取得部３０２と、取得したデータを処理する処理部３１０とを備える。データ取得部３０２は、ユーザ挙動ＤＢ８に蓄積された複数のユーザの挙動履歴データを取得する挙動履歴データ取得部３０４と、イベントＤＢ９に蓄積されたイベントデータを取得するイベントデータ取得部３０６とを有する。なおイベントＤＢ９には、３次元仮想コンテンツ空間において実施された演出データも時間情報とともに記録され、イベントデータ取得部３０６は、イベントＤＢ９に蓄積された演出データも取得する。データ取得部３０２は、サーバシステム４とオンラインで接続して、管理サーバ５から各種の蓄積データを取得してもよいが、各種の蓄積データを記録した記録媒体から取得してもよい。
【００６３】
処理部３１０は、３次元コンテンツ空間における複数のユーザの視線方向を導出する視線方向取得部３１２、演出データを解析する演出データ解析部３１４、３次元仮想空間における状況を示す画面を生成する画面生成部３１６、および画面生成部３１６が生成した画面をディスプレイに表示する表示処理部３２２を備える。画面生成部３１６は、３次元仮想空間におけるユーザの視線に関する画像を生成する空間画像生成部３１８、および演出データなどの解析結果を示すタイムライン画像を生成するタイムライン生成部３２０とを備える。
【００６４】
挙動履歴データ取得部３０４は、ユーザ挙動ＤＢ８から以下のデータを取得する。
（Ａ１）ユーザプロファイルデータ
ユーザプロファイルデータは、コンテンツ分析および／またはユーザ行動解析に用いる性別や年齢のデータであり、個人を特定するようなデータは必要ない。ユーザプロファイルデータは、管理サーバ５に登録されており、管理サーバ５は、各ユーザの挙動履歴データに、プロファイルデータを含ませてユーザ挙動ＤＢ８に記憶させる。
【００６５】
なおユーザのプロファイルデータは、ユーザシステム３において自動生成されて、サーバシステム４に送信されるようにしてもよい。ユーザがユーザ装置１０を起動すると、撮像装置１４が、ＨＭＤ１００を装着する前のユーザを撮影する。ＨＭＤ１００を未装着時のユーザを撮影した撮影画像は処理装置１１に供給され、処理装置１１は、画像解析処理によって、ユーザの性別や年齢を推定する。推定された性別や年齢は、ユーザのプロファイルデータとして管理サーバ５に送信され、管理サーバ５は、プロファイルデータをユーザ挙動ＤＢ８に記憶させてもよい。
【００６６】
（Ａ２）キャラクタの操作情報
上記したように、各ユーザのユーザ装置１０は、それぞれのキャラクタの操作情報をサーバシステム４に送信し、管理サーバ５は、３次元コンテンツ空間におけるユーザキャラクタの操作情報を、ユーザの挙動履歴データとしてユーザ挙動ＤＢ８に記憶する。
【００６７】
（Ａ３）ユーザの状態検知情報
ユーザシステム３は、仮想ツアーを楽しんでいるユーザの状態を検知し、サーバシステム４に送信する。ユーザシステム３は、ユーザの体温、脳波、脈拍などの状態情報を検知して、これらの状態検知情報をサーバシステム４に送信する。状態情報は周期的に検知されてよい。管理サーバ５は、これらの状態検知情報を、ユーザの挙動履歴データとしてユーザ挙動ＤＢ８に記憶する。
【００６８】
（Ａ４）ユーザの音声データ
ユーザシステム３において、音声データ送信部３６は、ＨＭＤ１００のマイク１２６に入力された音声データを、サーバシステム４に送信し、管理サーバ５は、ユーザの音声データを、ユーザの挙動履歴データとしてユーザ挙動ＤＢ８に記憶する。
【００６９】
イベントデータ取得部３０６は、イベントＤＢ９から以下のデータを取得する。
（Ｂ１）イベントデータ
イベントデータは、イベントの内容、イベント開始および終了のタイミングを特定するデータを含む。
【００７０】
（Ｂ２）演出データ
演出データは、演出の内容、演出の開始および終了のタイミングを特定するデータを含む。たとえば演出データは、３次元コンテンツ空間に流す背景音楽（ＢＧＭ）や、ユーザの入力装置１６に含まれる振動子を駆動するための駆動データなどを含む。
【００７１】
処理部３１０は、同じ３次元コンテンツ空間を体験した複数のユーザの行動解析を行う。たとえばツアーの内容が予めプログラムされており、つまりイベントが毎回同じ時間に発生するツアーに関しては、毎回のツアーで共通の３次元コンテンツ空間が提供されることになる。そのため処理部３１０は、ツアーに参加した全てのユーザの挙動履歴データから、ユーザの行動解析を行うことができる。
【００７２】
一方で実施例で説明したように、オペレータがツアーをガイドする場合、ツアーごとにイベントの発生時間が異なるため、処理部３１０は、時間軸に沿った行動解析をツアーごとに実施する。なおイベントに対するユーザの反応など、時間軸に沿って解析する必要のないユーザ行動については、処理部３１０は、ツアーに参加した全てのユーザの挙動履歴データから解析してよい。
【００７３】
挙動履歴データ取得部３０４は、ＨＭＤ１００を頭部に装着した複数のユーザであって、同じ３次元コンテンツ空間を体験した複数のユーザの挙動履歴データを取得する。視線方向取得部３１２は、複数のユーザの挙動履歴データから、３次元コンテンツ空間における複数のユーザの位置および視線方向を取得する。空間画像生成部３１８は、取得された複数のユーザの位置および視線方向にもとづいて、３次元仮想空間における複数のユーザの視線に関する画像を生成する。
【００７４】
図９は、画面生成部３１６が生成する行動解析画面３３０の一例を示す。空間画像生成部３１８は、３次元コンテンツ空間に対応する３次元仮想空間３４０に、各ユーザの視線方向を示す視線インジケータ３４２ａ〜３４２ｄを配置して、レンダリングした空間画像を生成する。この空間画像は、ユーザインタフェースを操作することで、視点を切り替えることができる。
【００７５】
なお実施例では、１０人のユーザがツアーに参加する例を説明したが、図９に示す例では便宜上、４人のユーザの視線インジケータ３４２ａ〜３４２ｄを示している。ここで視線インジケータ３４２は、球体に円錐体が差し込まれたような３次元形状を有している。球体はユーザ（ユーザキャラクタ）の頭を表現し、円錐体が延びる方向は、ユーザの視線方向を表現し、円錐体の広がりは、ユーザの視野を表現している。
【００７６】
空間画像生成部３１８は、３次元コンテンツ空間における複数のユーザの位置および視線方向にもとづいて、３次元仮想空間３４０に視線インジケータ３４２を配置する。再生ボタンが操作されると、空間画像生成部３１８は、視線インジケータ３４２の位置および向きを時間の経過とともに動かし、したがって行動解析画面３３０には、各ユーザが視ている方向が視線インジケータ３４２により表現される。そのためサービス提供主体は、３次元仮想空間３４０に配置された視線インジケータ３４２の動きを見ることで、音声案内を行ったタイミングで各ユーザの視線にどのような変化が生じるかを確認できる。
【００７７】
タイムライン生成部３２０は、３次元コンテンツ空間において発生したイベントに関する情報を、時間軸に関連づけて示すタイムライン画像３５０を生成する。タイムライン画像３５０は、左端をコンテンツの開始時刻、右端をコンテンツの終了時刻とする矩形状の時間帯に、イベントの発生時刻および終了時刻を示すように表示される。スライダ３５２は、３次元仮想空間３４０における再生位置を示し、この例では、イベント１中のユーザの視線インジケータ３４２が３次元仮想空間３４０に表示されている。
【００７８】
図１０は、行動解析画面３３０の別の例を示す。この例ではタイムライン生成部３２０が、タイムライン画像３５０に加えて、演出（ＢＧＭ）、ユーザ音声、演出（振動）の解析結果を表示している。演出データ解析部３１４はＢＧＭの出力データから、ＢＧＭの強弱の時間変化を解析し、タイムライン生成部３２０が、ＢＧＭの解析結果として表示する。また演出データ解析部３１４は、同じ３次元コンテンツ空間を体験した複数のユーザ音声をまとめて、音声の強弱の時間変化を解析し、タイムライン生成部３２０が、ユーザ音声の解析結果として表示する。また演出データ解析部３１４は、入力装置１６の振動子を駆動する駆動データの波形を取得し、タイムライン生成部３２０が、入力装置１６の振動波形として表示する。
【００７９】
このようにタイムライン生成部３２０は、３次元コンテンツ空間において発生したイベント、実施された演出、ユーザが発した音声の少なくとも１つに関する情報を、時間軸に関連づけて示す画像を生成してよい。サービス提供主体は、行動解析画面３３０をみて、３次元コンテンツ空間においてユーザがどのような反応を示し、また演出がユーザに対してどのように作用しているかを確認することができる。サービス提供主体は、このような情報をもとに、サービス内容を改善したり、また新たな演出をサービスに組み込んだりしてよい。
【００８０】
また空間画像生成部３１８は、ユーザの状態検知情報から、ユーザの感情を推定してもよい。たとえばユーザの状態検知情報から、興奮しているか、冷静であるかを推定できる場合、空間画像生成部３１８は、興奮しているユーザの視線インジケータ３４２を赤色に、冷静なユーザの視線インジケータ３４２を青色に色分けしてもよい。これにより３次元コンテンツ空間において、演出を行ったことでユーザが興奮したことなどを確認できるようになる。つまり空間画像生成部３１８は、推定したユーザの感情に応じて視線インジケータ３４２の表示態様を異ならせることで、サービス提供主体は、感情によってユーザのとる行動が変化する様子を確認することができる。
【００８１】
３次元仮想空間３４０において、音声発信位置３５４は、サービス音声が発信された位置を示す。３次元仮想空間３４０に音声発信位置３５４を示すことで、サービス提供主体は、音声発信位置３５４をユーザが見るように動作するか、確認できる。なお各視線インジケータ３４２には、ユーザのプロファイルデータが紐づけられていてもよい。たとえばサービス提供主体は、マウスのカーソルを視線インジケータ３４２に当てることで、当該ユーザのプロファイルが表示されてもよい。
【００８２】
なおユーザシステム３では、撮像装置１４によりＨＭＤ１００を装着したユーザの動きを撮影して、ユーザの動きを解析してもよい。たとえば処理装置１１は、ユーザの姿勢推定処理を実施して、推定した姿勢データを、管理サーバ５に送信する。管理サーバ５は、推定した姿勢データを、ユーザ挙動ＤＢ８に記憶する。情報処理装置３００において挙動履歴データ取得部３０４は、ユーザの挙動履歴データとともに、推定した姿勢データを取得してもよい。
【００８３】
以上、本発明を実施例をもとに説明した。実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【００８４】
１・・・情報処理システム、３００・・・情報処理装置、３０２・・・データ取得部、３０４・・・挙動履歴データ取得部、３０６・・・イベントデータ取得部、３１０・・・処理部、３１２・・・視線方向取得部、３１４・・・演出データ解析部、３１６・・・画面生成部、３１８・・・空間画像生成部、３２０・・・タイムライン生成部、３２２・・・表示処理部、３３０・・・行動解析画面、３４０・・・３次元仮想空間、３４２・・・視線インジケータ、３５０・・・タイムライン画像、３５２・・・スライダ、３５４・・・音声発信位置。
【産業上の利用可能性】
【００８５】
本発明は、ユーザの挙動履歴データを処理する分野に利用できる。
【図１】
2018225218.tif 000003
【図２】
2018225218.tif 000004
【図３】
2018225218.tif 000005
【図４】
2018225218.tif 000006
【図５】
2018225218.tif 000007
【図６】
2018225218.tif 000008
【図７】
2018225218.tif 000009
【図８】
2018225218.tif 000010
【図９】
2018225218.tif 000011
【図１０】
2018225218.tif 000012
【国際調査報告】
2018225218.tif 000013
2018225218.tif 000014