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

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

▶ 株式会社ソニー・コンピュータエンタテインメントの特許一覧

<>
  • 特開-情報処理装置および情報処理方法 図1
  • 特開-情報処理装置および情報処理方法 図2
  • 特開-情報処理装置および情報処理方法 図3
  • 特開-情報処理装置および情報処理方法 図4
  • 特開-情報処理装置および情報処理方法 図5
  • 特開-情報処理装置および情報処理方法 図6
  • 特開-情報処理装置および情報処理方法 図7
  • 特開-情報処理装置および情報処理方法 図8
  • 特開-情報処理装置および情報処理方法 図9
  • 特開-情報処理装置および情報処理方法 図10
  • 特開-情報処理装置および情報処理方法 図11
  • 特開-情報処理装置および情報処理方法 図12
  • 特開-情報処理装置および情報処理方法 図13
  • 特開-情報処理装置および情報処理方法 図14
  • 特開-情報処理装置および情報処理方法 図15
  • 特開-情報処理装置および情報処理方法 図16
  • 特開-情報処理装置および情報処理方法 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023104609
(43)【公開日】2023-07-28
(54)【発明の名称】情報処理装置および情報処理方法
(51)【国際特許分類】
   G06T 19/00 20110101AFI20230721BHJP
   G06F 3/01 20060101ALI20230721BHJP
【FI】
G06T19/00 600
G06F3/01 510
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022005706
(22)【出願日】2022-01-18
(71)【出願人】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(74)【代理人】
【識別番号】100109047
【弁理士】
【氏名又は名称】村田 雄祐
(74)【代理人】
【識別番号】100109081
【弁理士】
【氏名又は名称】三木 友由
(74)【代理人】
【識別番号】100134256
【弁理士】
【氏名又は名称】青木 武司
(72)【発明者】
【氏名】中川 武
(72)【発明者】
【氏名】畑田 敬志
(72)【発明者】
【氏名】大江 邦明
(72)【発明者】
【氏名】小原 静華
(72)【発明者】
【氏名】岩城 春香
【テーマコード(参考)】
5B050
5E555
【Fターム(参考)】
5B050AA03
5B050BA06
5B050BA09
5B050BA11
5B050BA13
5B050CA08
5B050DA07
5B050EA05
5B050EA19
5B050EA26
5B050FA02
5B050FA13
5B050FA17
5E555AA63
5E555AA69
5E555AA76
5E555BA20
5E555BA38
5E555BB38
5E555BC13
5E555BE17
5E555CA42
5E555DA08
5E555DA09
5E555DB53
5E555DC09
5E555DC10
5E555DC21
5E555DC31
5E555DC64
5E555DD06
5E555EA03
5E555EA09
5E555EA22
5E555FA00
(57)【要約】
【課題】ヘッドマウントディスプレイを装着したユーザに対する、自分の周囲を見回したくなるUXの提供を少ないメモリ量で実現する技術を提供する。
【解決手段】画像生成装置200は、ヘッドマウントディスプレイ100を装着したユーザにプレイエリアを見回させるための見回し画面を生成する。画像生成装置200は、ヘッドマウントディスプレイ100のカメラにより撮像された、ユーザの周囲の空間を複数の方向から写した複数枚のカメラ画像に基づいて、ユーザの位置を推定するためのマップを生成する。見回し画面では、プレイエリアを示す画像に所定の特殊画像が重畳され、かつ、特殊画像の中でユーザの視線方向に一致した領域がそれまでとは異なる表示態様に変化する。特殊画像は、ヘッドマウントディスプレイ100の周囲の空間であって、プレイエリアの最大範囲より狭い範囲の空間に設定される。
【選択図】図1
【特許請求の範囲】
【請求項1】
ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアについて、前記プレイエリアを前記ユーザに見回させるための画面である見回し画面を生成する見回し画面生成部と、
前記見回し画面を前記ヘッドマウントディスプレイに表示させる表示制御部と、
前記ヘッドマウントディスプレイのカメラにより撮像された、前記ユーザの周囲の空間を複数の方向から写した複数枚のカメラ画像に基づいて、前記プレイエリアにおける前記ユーザの位置を推定するためのマップを生成するマップ生成部と、
を備え、
前記見回し画面では、前記プレイエリアを示す画像に所定の特殊画像が重畳され、かつ、前記特殊画像の中で前記ユーザの視線方向に一致した領域がそれまでとは異なる表示態様に変化し、
前記見回し画面生成部は、前記ヘッドマウントディスプレイの周囲の空間であって、前記プレイエリアの最大範囲より狭い範囲の空間に前記特殊画像を設定する、
情報処理装置。
【請求項2】
前記見回し画面生成部は、前記特殊画像を設定する空間である特定空間の位置を、前記ヘッドマウントディスプレイの位置の変化に追従して変更する、
請求項1に記載の情報処理装置。
【請求項3】
前記見回し画面生成部は、前記ヘッドマウントディスプレイが回動しても前記特定空間を回動させない、
請求項2に記載の情報処理装置。
【請求項4】
前記見回し画面では、前記特殊画像の中で前記ユーザの視線方向に一致したことがない領域に第1の透過度が設定され、前記特殊画像の中で前記ユーザの視線方向に一致したことがある領域に前記第1の透過度より高い第2の透過度が設定される、
請求項1から3のいずれかに記載の情報処理装置。
【請求項5】
前記見回し画面生成部は、前記特殊画像の中で前記ユーザの視線方向に一致したことがない領域と、前記特殊画像の中で前記ユーザの視線方向に一致したことがある領域との境界において透過度を漸次変化させる、
請求項4に記載の情報処理装置。
【請求項6】
前記特殊画像の中で前記ユーザの視線方向に一致した場合に表示態様が変化する領域のサイズは、当該領域の両端とユーザの視点とのなす角が略40度になるよう定められている、
請求項1から5のいずれかに記載の情報処理装置。
【請求項7】
ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアについて、前記プレイエリアを前記ユーザに見回させるための画面である見回し画面を生成するステップと、
前記見回し画面を前記ヘッドマウントディスプレイに表示させるステップと、
前記ヘッドマウントディスプレイのカメラにより撮像された、前記ユーザの周囲の空間を複数の方向から写した複数枚のカメラ画像に基づいて、前記プレイエリアにおける前記ユーザの位置を推定するためのマップを生成するステップと、
をコンピュータが実行し、
前記見回し画面では、前記プレイエリアを示す画像に所定の特殊画像が重畳され、かつ、前記特殊画像の中で前記ユーザの視線方向に一致した領域がそれまでとは異なる表示態様に変化し、
前記見回し画面を生成するステップは、前記ヘッドマウントディスプレイの周囲の空間であって、前記プレイエリアの最大範囲より狭い範囲の空間に前記特殊画像を設定する、
情報処理方法。
【請求項8】
ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアについて、前記プレイエリアを前記ユーザに見回させるための画面である見回し画面を生成する機能と、
前記見回し画面を前記ヘッドマウントディスプレイに表示させる機能と、
前記ヘッドマウントディスプレイのカメラにより撮像された、前記ユーザの周囲の空間を複数の方向から写した複数枚のカメラ画像に基づいて、前記プレイエリアにおける前記ユーザの位置を推定するためのマップを生成する機能と、
をコンピュータに実現させ、
前記見回し画面では、前記プレイエリアを示す画像に所定の特殊画像が重畳され、かつ、前記特殊画像の中で前記ユーザの視線方向に一致した領域がそれまでとは異なる表示態様に変化し、
前記見回し画面を生成する機能は、前記ヘッドマウントディスプレイの周囲の空間であって、前記プレイエリアの最大範囲より狭い範囲の空間に前記特殊画像を設定する、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理技術に関し、特に情報処理装置および情報処理方法に関する。
【背景技術】
【0002】
ヘッドマウントディスプレイを装着したユーザが対象空間を自由な視点から鑑賞できる画像表示システムが普及している。例えば仮想3次元空間を表示対象とし、ユーザの視線方向に応じた画像がヘッドマウントディスプレイに表示されるようにすることで仮想現実(Virtual Reality:VR)を実現する電子コンテンツが知られている。ヘッドマウントディスプレイを利用することで、映像への没入感を高めたり、ゲーム等のアプリケーションの操作性を向上させたりすることもできる。また、ヘッドマウントディスプレイを装着したユーザが物理的に移動することで、映像として表示された空間内を仮想的に歩き回ることのできるウォークスルーシステムも開発されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なエリア(以下「プレイエリア」とも呼ぶ。)におけるユーザの位置を精度よく推定するためには、詳細なマップデータが必要である。そして、詳細なマップデータを得るためには、カメラを備えるヘッドマウントディスプレイを装着したユーザに、自分の周囲を見回してもらう必要がある。また、周囲を見回したくなるユーザ体験(UX:User eXperience)の提供は、省メモリで実現できることが望ましい。
【0004】
本発明はこうした課題に鑑みてなされたものであり、1つの目的は、ヘッドマウントディスプレイを装着したユーザに対する、自分の周囲を見回したくなるUXの提供を少ないメモリ量で実現する技術を提供することにある。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明のある態様の情報処理装置は、ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアについて、プレイエリアをユーザに見回させるための画面である見回し画面を生成する見回し画面生成部と、見回し画面をヘッドマウントディスプレイに表示させる表示制御部と、ヘッドマウントディスプレイのカメラにより撮像された、ユーザの周囲の空間を複数の方向から写した複数枚のカメラ画像に基づいて、プレイエリアにおけるユーザの位置を推定するためのマップを生成するマップ生成部と、を備える。見回し画面では、プレイエリアを示す画像に所定の特殊画像が重畳され、かつ、特殊画像の中でユーザの視線方向に一致した領域がそれまでとは異なる表示態様に変化し、見回し画面生成部は、ヘッドマウントディスプレイの周囲の空間であって、プレイエリアの最大範囲より狭い範囲の空間に特殊画像を設定する。
【0006】
本発明の別の態様は、情報処理方法である。この方法は、ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアについて、プレイエリアをユーザに見回させるための画面である見回し画面を生成するステップと、見回し画面をヘッドマウントディスプレイに表示させるステップと、ヘッドマウントディスプレイのカメラにより撮像された、ユーザの周囲の空間を複数の方向から写した複数枚のカメラ画像に基づいて、プレイエリアにおけるユーザの位置を推定するためのマップを生成するステップと、をコンピュータが実行し、見回し画面では、プレイエリアを示す画像に所定の特殊画像が重畳され、かつ、特殊画像の中でユーザの視線方向に一致した領域がそれまでとは異なる表示態様に変化し、見回し画面を生成するステップは、ヘッドマウントディスプレイの周囲の空間であって、プレイエリアの最大範囲より狭い範囲の空間に特殊画像を設定する。
【0007】
なお、以上の構成要素の任意の組合せ、本発明の表現をシステム、コンピュータプログラム、コンピュータプログラムを読み取り可能に記録した記録媒体、データ構造などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0008】
本発明によれば、ヘッドマウントディスプレイを装着したユーザに対する、自分の周囲を見回したくなるUXの提供を少ないメモリ量で実現することができる。
【図面の簡単な説明】
【0009】
図1】実施例のヘッドマウントディスプレイの外観例を示す図である。
図2】実施例の画像表示システムの構成例を示す図である。
図3】画像生成装置がヘッドマウントディスプレイに表示させる画像世界の例を説明するための図である。
図4】画像生成装置の内部回路構成を示す図である。
図5】ヘッドマウントディスプレイの内部回路構成を示す図である。
図6】画像生成装置の機能ブロックを示すブロック図である。
図7】見回し画面の例を示す図である。
図8】視認済領域の単位形状を示す図である。
図9】見回し画面の例を示す図である。
図10】記憶対象となる視認領域の範囲を示す図である。
図11】記憶対象となる視認領域の範囲を示す図である。
図12】画像生成装置の動作を示すフローチャートである。
図13】初期設定時のユーザの行動を模式的に示す図である。
図14】カメラ画像の例を示す図である。
図15】キーフレームの例を示す図である。
図16】複数のビンを示す図である。
図17】画像生成装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0010】
本実施例は、ユーザの頭部に装着されたヘッドマウントディスプレイにアプリケーションの画像を表示する画像表示システムに関する。図1は、実施例のヘッドマウントディスプレイ100の外観例を示す。ヘッドマウントディスプレイ100は、出力機構部102と装着機構部104を備える。装着機構部104は、ユーザが被ることにより頭部を一周し装置の固定を実現する装着バンド106を含む。
【0011】
出力機構部102は、ヘッドマウントディスプレイ100をユーザが装着した状態において左右の目を覆うような形状の筐体108を含み、内部には装着時に目に正対するように表示パネルを備える。実施例のヘッドマウントディスプレイ100の表示パネルは、透過性がないものとする。すなわち、実施例のヘッドマウントディスプレイ100は、光不透過型のヘッドマウントディスプレイである。
【0012】
筐体108内部にはさらに、ヘッドマウントディスプレイ100の装着時に表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する接眼レンズを備えてよい。ヘッドマウントディスプレイ100はさらに、装着時にユーザの耳に対応する位置にスピーカーやイヤホンを備えてよい。また、ヘッドマウントディスプレイ100は、モーションセンサを内蔵し、ヘッドマウントディスプレイ100を装着したユーザの頭部の並進運動や回転運動、ひいては各時刻の位置や姿勢を検出する。
【0013】
また、ヘッドマウントディスプレイ100は、筐体108の前面にステレオカメラ110を備える。ステレオカメラ110は、ユーザの視線に対応する視野で周囲の実空間を動画撮影する。撮影した画像を即時に表示させれば、ユーザが向いた方向の実空間の様子がそのまま見える、いわゆるビデオシースルーを実現できる。さらに撮影画像に写っている実物体の像上に仮想オブジェクトを描画すれば拡張現実(Augmented Reality:AR)を実現できる。なお、画像表示システム10が備えるカメラの台数に制限はなく、ヘッドマウントディスプレイ100は、1台のカメラを備えてもよく、3台以上のカメラを備えてもよい。
【0014】
図2は、実施例の画像表示システム10の構成例を示す。画像表示システム10は、ヘッドマウントディスプレイ100、画像生成装置200、コントローラ140を備える。ヘッドマウントディスプレイ100は、無線通信により画像生成装置200に接続される。画像生成装置200は、さらにネットワークを介してサーバに接続されてもよい。その場合、サーバは、複数のユーザがネットワークを介して参加できるゲームなどのオンラインアプリケーションのデータを画像生成装置200に提供してもよい。
【0015】
画像生成装置200は、ヘッドマウントディスプレイ100を装着したユーザの頭部の位置や姿勢に基づき視点の位置や視線の方向を特定し、それに応じた視野となるように表示画像を生成してヘッドマウントディスプレイ100に出力する情報処理装置である。例えば、画像生成装置200は、電子ゲームを進捗させつつゲームの舞台である仮想世界の表示画像を生成し、表示させてもよいし、仮想世界か実世界かに関わらず観賞や情報提供のための動画像を生成し、表示させてもよい。また、ユーザの視点を中心に広い画角のパノラマ画像をヘッドマウントディスプレイ100に表示させることによって、表示世界への深い没入感をユーザに与えることができる。画像生成装置200は、据置型ゲーム機、PCまたはタブレット端末であってもよい。
【0016】
コントローラ140は、ユーザの手に把持され、ユーザの操作が入力される入力装置(例えばゲームコントローラ)である。ユーザの操作は、画像生成装置200における画像生成を制御する操作や、ヘッドマウントディスプレイ100における画像表示を制御する操作を含む。コントローラ140は、無線通信により画像生成装置200に接続される。変形例として、ヘッドマウントディスプレイ100とコントローラ140の一方または両方は、信号ケーブル等を介した有線通信で画像生成装置200に接続されてもよい。
【0017】
図3は、画像生成装置200がヘッドマウントディスプレイ100に表示させる画像世界の例を説明するための図である。この例では、ユーザ12が仮想空間である部屋にいる状態を作り出している。図示するように、仮想空間を定義するワールド座標系には、壁、床、窓、テーブル、テーブル上の物などのオブジェクトを配置している。画像生成装置200は、当該ワールド座標系に、ユーザ12の視点の位置や視線の方向に応じてビュースクリーン14を定義し、そこにオブジェクトの像を表すことで表示画像を描画する。
【0018】
画像生成装置200は、ユーザ12の視点の位置や視線の方向(以後、これらを包括的に「視点」と呼ぶ場合がある)を所定のレートでヘッドマウントディスプレイ100から取得し、これに応じてビュースクリーン14の位置や方向を変化させる。これにより、ユーザの視点に対応する視野で画像をヘッドマウントディスプレイ100に表示させることができる。また、画像生成装置200は、視差を有するステレオ画像を生成し、ヘッドマウントディスプレイ100の表示パネルの左右の領域にステレオ画像を表示させれば、仮想空間をユーザ12に立体視させることもできる。これにより、ユーザ12は、あたかも表示世界の部屋の中にいるような仮想現実を体験することができる。
【0019】
図4は、画像生成装置200の内部回路構成を示す。画像生成装置200は、CPU(Central Processing Unit)222、GPU(Graphics Processing Unit)224、メインメモリ226を含む。これらの各部は、バス230を介して相互に接続される。バス230にはさらに入出力インターフェース228が接続される。入出力インターフェース228には、通信部232、記憶部234、出力部236、入力部238、記録媒体駆動部240が接続される。
【0020】
通信部232は、USBやIEEE1394などの周辺機器インターフェースや、有線LANまたは無線LAN等のネットワークインターフェースを含む。記憶部234は、ハードディスクドライブや不揮発性メモリ等を含む。出力部236は、ヘッドマウントディスプレイ100へのデータを出力する。入力部238は、ヘッドマウントディスプレイ100からのデータ入力を受け付け、また、コントローラ140からのデータ入力を受け付ける。記録媒体駆動部240は、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する。
【0021】
CPU222は、記憶部234に記憶されているオペレーティングシステムを実行することにより画像生成装置200の全体を制御する。また、CPU222は、記憶部234またはリムーバブル記録媒体から読み出されてメインメモリ226にロードされた、あるいは通信部232を介してダウンロードされた各種プログラム(例えばVRゲームアプリケーション等)を実行する。GPU224は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、CPU222からの描画命令にしたがって描画処理を行い、描画結果を出力部236に出力する。CPU222とGPU224の一方または両方をプロセッサと呼ぶこともできる。メインメモリ226は、RAM(Random Access Memory)により構成され、処理に必要なプログラムやデータを記憶する。
【0022】
図5は、ヘッドマウントディスプレイ100の内部回路構成を示す。ヘッドマウントディスプレイ100は、CPU120、メインメモリ122、表示部124、音声出力部126を含む。これらの各部はバス128を介して相互に接続されている。バス128にはさらに入出力インターフェース130が接続されている。入出力インターフェース130には、無線通信のインターフェースを含む通信部132、モーションセンサ134、およびステレオカメラ110が接続される。
【0023】
CPU120は、バス128を介してヘッドマウントディスプレイ100の各部から取得した情報を処理するとともに、画像生成装置200から取得した表示画像や音声のデータを表示部124や音声出力部126に供給する。メインメモリ122は、CPU120における処理に必要なプログラムやデータを格納する。
【0024】
表示部124は、液晶パネルや有機ELパネルなどの表示パネルを含み、ヘッドマウントディスプレイ100を装着したユーザの眼前に画像を表示する。表示部124は、左右の目に対応する領域に一対のステレオ画像を表示することにより立体視を実現してもよい。表示部124はさらに、ヘッドマウントディスプレイ100装着時に表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する一対のレンズを含んでもよい。
【0025】
音声出力部126は、ヘッドマウントディスプレイ100の装着時にユーザの耳に対応する位置に設けたスピーカーやイヤホンで構成され、ユーザに音声を聞かせる。通信部132は、画像生成装置200との間でデータを送受するためのインターフェースであり、Bluetooth(登録商標)などの既知の無線通信技術により通信を実現する。モーションセンサ134はジャイロセンサおよび加速度センサを含み、ヘッドマウントディスプレイ100の角速度や加速度を取得する。
【0026】
ステレオカメラ110は、図1で示したとおり、ユーザの視点に対応する視野で周囲の実空間を左右の視点から撮影するビデオカメラの対である。ステレオカメラ110により撮像されたユーザの周囲空間を写した画像を以下「カメラ画像」とも呼ぶ。カメラ画像は、ユーザの視線方向(典型的にはユーザの正面)の実空間を写した画像と言え、ユーザの視線方向に存在する物体が写る画像とも言える。モーションセンサ134による計測値や、ステレオカメラ110による撮影画像(カメラ画像)のデータは、必要に応じて、通信部132を介して画像生成装置200へ送信される。
【0027】
実施例の画像表示システム10では、ヘッドマウントディスプレイ100を装着したユーザがアプリケーションのプレイ中に移動可能な実世界の範囲を規定したプレイエリアが設定される。プレイエリアは、ユーザの周囲空間(ユーザの周囲に広がる実世界の空間)うち、ユーザが仮想現実画像(以下「VR画像」とも呼ぶ。)を視聴中に動き回ることが許可されたエリアまたは範囲と言える。アプリケーションのプレイ中にユーザがプレイエリアを逸脱しようとする場合や逸脱した場合、画像表示システム10は、注意を促す内容またはプレイエリアへの復帰を促す内容の警告をユーザに提供する。
【0028】
上記のアプリケーションは、VR画像をヘッドマウントディスプレイ100に表示させるゲームアプリケーションであることとし、以下「VRゲーム」とも呼ぶ。VRゲームは、例えば、仮想世界のテニスコートを示すVR画像を表示させ、実世界でのユーザの移動(歩行等)に伴って、仮想世界のテニスコートにおけるキャラクタの位置を変化させるテニスゲームであってもよい。
【0029】
実施例の画像表示システム10の特徴を説明する。画像表示システム10は、ヘッドマウントディスプレイ100を装着したユーザがVRゲームのプレイ中に移動可能なプレイエリアにおけるユーザの位置を推定するトラッキング処理を実行し、ユーザの位置に応じたVR画像をヘッドマウントディスプレイ100に表示させる。トラッキング処理においてユーザの位置を精度よくかつ安定的に得るには、プレイエリアに関する詳細なマップデータが必要である。そして、詳細なマップデータを得るには、ヘッドマウントディスプレイ100を装着したユーザに、自分の周囲を見回してもらう必要がある。また、自分の周囲を見回したくなるUXの提供は、省メモリで実現できることが望ましい。
【0030】
そこで、実施例の画像表示システム10では、システムの初期設定において、周囲を見回したくなるARコンテンツを含むユーザインタフェース(UI)である見回し画面を提供する。また、実施例の画像表示システム10では、ユーザが見た場所の記憶量を抑制する工夫を設けたことにより、自分の周囲を見回したくなるUXの提供を省メモリで実現する。
【0031】
図6は、画像生成装置の機能ブロックを示すブロック図である。画像生成装置200は、VRゲームの進行やサーバとの通信等、様々な情報処理を実行するが、図6では特にプレイエリアおよびマップデータの設定に関する機能ブロックを詳細に示している。
【0032】
図6に示す複数の機能ブロックは、ハードウェア的には、図4に示したCPU222、GPU224、メインメモリ226、記憶部234等の構成で実現でき、ソフトウェア的には、複数の機能ブロックの機能を実装したコンピュータプログラムにより実現できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0033】
画像生成装置200は、データ処理部250とデータ記憶部252を備える。データ処理部250は、各種のデータ処理を実行する。データ処理部250は、図4に示した通信部232、出力部236、入力部238を介して、ヘッドマウントディスプレイ100およびコントローラ140とデータを送受信する。
【0034】
データ記憶部252は、データ処理部250により参照または更新されるデータを記憶する。データ記憶部252は、App記憶部254、プレイエリア記憶部255、マップ記憶部256、視認領域記憶部257を備える。App記憶部254は、VR画像を生成するアプリケーション(実施例ではVRゲーム)のデータを記憶する。
【0035】
プレイエリア記憶部255は、プレイエリアに関するデータを記憶する。プレイエリアに関するデータは、プレイエリアの境界を構成する点群の位置を示すデータ(例えばワールド座標系における各点の座標値)を含んでもよい。
【0036】
マップ記憶部256は、ヘッドマウントディスプレイ100の位置(すなわちヘッドマウントディスプレイ100を装着したユーザの位置)を推定するためのマップデータを記憶する。実施例のマップデータは、ユーザがVRゲームをプレイする部屋(実空間)を写した画像(当該画像に映る特徴点)であり、位置関係(位置および方向)が判明している画像(当該画像に映る特徴点)の集合を含む。具体的には、マップデータは、ヘッドマウントディスプレイ100の位置、視線方向、およびキーフレームを対応付けた組を複数組含んでもよい。また、マップデータは、いわゆる自己位置推定に必要な他の項目を含んでもよい。
【0037】
或る組のキーフレームは、同じ組の位置および視線方向で見える像の特徴を示すデータである。実施例のキーフレームは、ヘッドマウントディスプレイ100のステレオカメラ110により撮像されたカメラ画像をもとに生成された画像であり、かつ、所定個数以上の特徴点を含む画像である。キーフレームに含まれるべき特徴点の個数は24個以上であってもよい。特徴点は、公知のコーナー検出法により検出されたコーナーを含んでもよく、また、輝度の勾配に基づいて検出されてもよい。キーフレームは、カメラ画像から切り出された部分画像(特徴点の画像)の集合とも言える。
【0038】
視認領域記憶部257は、ヘッドマウントディスプレイ100(言い換えればユーザ)の周囲の空間のうちユーザが視認した領域(言い換えればユーザの視線方向と一致したことがある領域であり、以下「視認領域」とも呼ぶ。)を示すデータを記憶する。
【0039】
データ処理部250は、システム部260、App実行部290、表示制御部292を備える。これら複数の機能ブロックの機能は、コンピュータプログラムに実装されてもよい。画像生成装置200のプロセッサ(例えばCPU222とGPU224)は、上記コンピュータプログラムを記憶部234や記録媒体からメインメモリ226に読み出して実行することにより上記複数の機能ブロックの機能を発揮してもよい。
【0040】
App実行部290は、ユーザにより選択されたアプリケーション(実施例ではVRゲーム)に関するデータをApp記憶部254から読み出し、ユーザにより選択されたアプリケーションを実行する。App実行部290は、システム部260(後述の位置推定部272)により推定されたヘッドマウントディスプレイ100の位置(言い換えればユーザの位置)に応じたアプリケーションの実行結果を生成する。
【0041】
表示制御部292は、システム部260およびApp実行部290により生成された様々な画像(例えばVRゲームの実行結果を示すVR画像やAR画像)や様々な画面(後述の見回し画面を含む)のデータをヘッドマウントディスプレイ100へ送信する。表示制御部292は、それらの画像や画面をヘッドマウントディスプレイ100の表示部124に表示させる。
【0042】
システム部260は、ヘッドマウントディスプレイ100に関するシステムの処理を実行する。システム部260は、ヘッドマウントディスプレイ100用の複数のアプリケーション(例えばVRゲーム)に対して共通のサービスを提供する。共通のサービスは、プレイエリアの設定、マップデータの生成および設定、ユーザの位置推定を含む。システム部260は、カメラ画像取得部262、プレイエリア設定部264、視線方向検出部266、見回し画面生成部268、マップ生成部270、位置推定部272、警告処理部274を含む。
【0043】
カメラ画像取得部262は、ヘッドマウントディスプレイ100から送信された、ヘッドマウントディスプレイ100のステレオカメラ110により撮像されたカメラ画像のデータを取得する。
【0044】
プレイエリア設定部264は、プレイエリアの設定を支援するための各種処理を実行する、プレイエリア設定部264は、カメラ画像取得部262により取得されたカメラ画像と、コントローラ140を介して入力されたユーザの操作とに基づいて、プレイエリアを検出して設定する。プレイエリア設定部264は、検出および設定したプレイエリアに関するデータをプレイエリア記憶部255に格納する。
【0045】
プレイエリア設定部264は、カメラ画像取得部262により取得されたカメラ画像に基づいて、ヘッドマウントディスプレイ100を装着したユーザの周囲空間からプレイエリアを自動検出するプレイエリア検出機能を含む。なお、プレイエリア設定部264は、自動検出されたプレイエリアを編集するユーザの操作を受け付け、その操作に応じてプレイエリアの形状を変更するプレイエリア編集機能を含んでもよい。
【0046】
視線方向検出部266は、ヘッドマウントディスプレイ100のモーションセンサ134により検知されたヘッドマウントディスプレイ100の角速度や加速度、および、ステレオカメラ110により撮影されたヘッドマウントディスプレイ100の周囲の画像に基づいて、ヘッドマウントディスプレイ100を装着したユーザの頭部の位置や姿勢を検出する。視線方向検出部266はさらに、ユーザの頭部の位置や姿勢に基づいて、ユーザの視点の位置や視線方向を検出する。ユーザの頭部の位置や姿勢、ユーザの視点の位置や視線方向の検出には公知技術が用いられてよい。
【0047】
見回し画面生成部268は、プレイエリアをユーザに見回させるための画面である見回し画面のデータを生成する。見回し画面では、プレイエリアを示す画像に所定の特殊画像が重畳され、かつ、特殊画像の中でユーザの視線方向に一致した領域がそれまでとは異なる表示態様に変化する。見回し画面生成部268は、ヘッドマウントディスプレイ100の周囲の空間であって、プレイエリアの最大範囲より狭い範囲の空間に特殊画像を設定する。
【0048】
マップ生成部270は、プレイエリア設定部264がプレイエリアを検出することと並行して、カメラ画像取得部262により取得された、ユーザの周囲の空間を複数の方向から写した複数枚のカメラ画像に基づいて、プレイエリアにおけるユーザの位置を推定するためのマップデータを生成する。マップ生成部270は、生成したマップデータをマップ記憶部256に格納する。マップ生成部270は、ユーザの周囲空間を複数の方向から写した複数枚のカメラ画像であって、予め定められた枚数以上のカメラ画像が入力された場合、マップの生成を終了する。
【0049】
位置推定部272は、マップ記憶部256に記憶されたマップデータと、カメラ画像取得部262により取得されたカメラ画像とに基づいて、実世界におけるヘッドマウントディスプレイ100(言い換えればユーザ)の位置を推定するトラッキング処理を実行する。すなわち、位置推定部272は、プレイエリアにおけるヘッドマウントディスプレイ100(言い換えればユーザ)の位置を推定する。例えば、位置推定部272は、マップデータに含まれる複数のキーフレームとカメラ画像とを照合し、その照合結果と、各キーフレームに対応付けられたヘッドマウントディスプレイ100の位置および視線方向とに基づいて、ヘッドマウントディスプレイ100の位置を推定してもよい。また、位置推定部272は、SLAM(Simultaneous Localization and Mapping)等、公知の自己位置推定技術を用いてユーザの位置を推定してもよい。
【0050】
警告処理部274は、プレイエリアの境界と、ユーザの位置との関係に応じて、ユーザに対する警告処理を実行する。
【0051】
図7は、見回し画面の例を示す。図7の見回し画面300は、左目用画像301と右目用画像302を示している。左目用画像301と右目用画像302のそれぞれは、ビデオシースルーによるAR画像を含み、具体的には、プレイエリア画像303に特殊画像304を重畳させたものである。プレイエリア画像303は、ユーザの周囲のプレイエリアを示す画像であり、実施例では、ヘッドマウントディスプレイ100のステレオカメラ110により撮像された、ユーザの周囲の実空間の様子を写した画像である。
【0052】
特殊画像304は、ユーザの視線方向と一致したことがない領域(以下「未確認領域305」とも呼ぶ。)を所定の色彩で塗りつぶすことにより、未確認領域305を強調して示す画像である。特殊画像304は、ユーザの視線方向と一致したことがある領域(以下「視認済領域306」とも呼ぶ。)と、未確認領域305とを異なる態様で示す。具体的には、見回し画面生成部268は、特殊画像304の中で未確認領域305に第1の透過度(例えば透過率50%)を設定し、特殊画像304の中で視認済領域306に第1の透過度より高い第2の透過度(例えば透過率100%)を設定する。変形例として、見回し画面生成部268は、視認済領域306の特殊画像304を非表示に変更してもよく、また、視認済領域306の特殊画像304を消去してもよい。
【0053】
特殊画像304の中でユーザの視線方向に一致した場合に表示態様(実施例では透過度)が変化する領域であり、言い換えれば、透過度が一時に変化する視認済領域306の単位形状は円である。また、単位形状である円のサイズ(すなわち視認済領域306の単位サイズ)は、仮想空間内の見かけのサイズで直径40cmである。
【0054】
図8は、視認済領域306の単位形状を示す。ヘッドマウントディスプレイ100の視野角311は120度である。後述するが、特殊画像304は、ユーザの視点310から50cm離れた位置に設けられる。視認済領域306の単位形状である円の直径40cmは、その円の両端とユーザの視点310とのなす角度312が略40度になるように決定されたものである。角度312の値は、開発者の知見および実験により導出された、ユーザが実施すべき頭部の回動量を適切な範囲に収める値であり、例えば、40度~44度の値であってもよい。
【0055】
見回し画面生成部268は、初期状態の見回し画面300として、プレイエリア画像303の全体を第1の透過度(例えば透過率50%)の特殊画像304が覆った見回し画面300を生成する。図9に示すように、見回し画面生成部268は、ユーザが周囲を見回すにつれて、第2の透過度(例えば透過率100%)の特殊画像304の領域(すなわち視認済領域306)が徐々に拡大した見回し画面300を生成する。変形例として、見回し画面生成部268は、視認済領域306の特殊画像304を非表示に変更する場合、ユーザが周囲を見回すにつれて、特殊画像304の表示領域を徐々に狭めてもよい。
【0056】
このように、実施例の画像表示システム10では、自分の周囲を見回すことにより、半透明のペンキで覆われた視界が徐々にクリアになっていくUIを提供でき、自分の周囲を見回したくなるUXを提供できる。その結果、詳細なマップデータの作成と、精度のよいトラッキングを実現できる。
【0057】
見回し画面生成部268は、特殊画像304の中の未確認領域305と視認済領域306との境界において透過度を漸次変化させる。具体的には、見回し画面生成部268は、特殊画像304の未確認領域305から視認済領域306に亘って、第1の透過度(例えば透過率50%)から第2の透過度(例えば透過率100%)へ徐々に透過度を高めるようグラデーションを設定する。これにより、ユーザのデプスコンフリクトを抑制でき、ユーザの3D酔いを抑制できる。
【0058】
図10は、記憶対象となる視認領域の範囲を示す。視認領域は、ユーザが見た領域であり、言い換えれば、ユーザの視線方向と一致したことがある領域である。実施例の画像表示システム10では、プレイエリア320の最大範囲が縦5m×横5mに規定される。そのため、正確には、縦5m×横5mの空間(キューブ)を記憶対象領域322としてユーザがどこを見たかを視認領域記憶部257に記憶する必要がある。この場合、視認領域記憶部257には広大なメモリが必要になる。
【0059】
図11も、記憶対象となる視認領域の範囲を示す。図11に示すように、実施例では、プレイエリア320の最大範囲より狭い範囲の空間である特定空間324を記憶対象領域322としてユーザがどこを見たかを視認領域記憶部257に記憶する。実施例の記憶対象領域322(すなわち特定空間324)は、縦1m×横1mの6つの正方形により構成されるキューブとして構成される。見回し画面生成部268は、特定空間324のキューブの各面に特殊画像304を描画する。したがって、ユーザの視点から50cm先に特殊画像304が描画される。見回し画面生成部268は、公知のキューブマップ(「テクスチャキューブ」とも呼ばれる。)の技術を適用して、特定空間324のキューブの各面に特殊画像304を描画してもよい。
【0060】
特殊画像304の描画位置は、プレイエリアの境界よりも手前であることが好ましい。プレイエリアの境界(例えば部屋の壁)より奥に特殊画像304が描かれると、ユーザにデプスコンフリクトを生じさせやすくなり、3D酔いを感じさせ易くなるからである。そのため、特殊画像の描画位置をユーザの視点から50cm先とすることは好適である。また、ヘッドマウントディスプレイ100においてピントが最も合う位置(映し出される映像の焦点距離)は視点から2m先である。特殊画像の描画位置は、ヘッドマウントディスプレイ100の焦点距離より手前に設定される。
【0061】
見回し画面生成部268は、特定空間324(キューブの各面)において視線方向検出部266により検出されたユーザの視線方向に一致する領域(視認領域)を特定し、特定空間324における視認領域の位置を示すデータを視認領域記憶部257に格納する。視認領域の位置を示すデータは、ユーザの視点を原点とする座標系における座標値であってもよく、特定空間324を構成するキューブの各面におけるユーザの支援方向に一致した領域の座標値であってもよい。見回し画面生成部268は、特殊画像304の描画時、視認領域記憶部257に記憶された視認領域の透過度を、未確認領域の透過度より高く設定する。
【0062】
また、図11に示すように、見回し画面生成部268は、特定空間324(キューブの各面)の位置をヘッドマウントディスプレイ100(ユーザの頭部)の位置の変化に追従して変更する。例えば、見回し画面生成部268は、ヘッドマウントディスプレイ100の位置が変化した場合、その変化量だけ特定空間324を平行移動させる。
【0063】
一方、見回し画面生成部268は、ヘッドマウントディスプレイ100(ユーザの頭部)が回動しても、特定空間324(キューブ)を回動させない。言い換えれば、見回し画面生成部268は、ヘッドマウントディスプレイ100の姿勢が変化しても、特定空間324の角度を変化させない。このように、実施例では、ヘッドマウントディスプレイ100の周囲の空間だけ視認領域を記録するため、視認領域記憶部257のメモリ使用量を大幅に低減できる。
【0064】
以上の構成による画像表示システム10の動作を説明する。
図12は、画像生成装置200の動作を示すフローチャートである。画像生成装置200のシステム部260は、画像表示システム10の設定メニューをヘッドマウントディスプレイ100に表示させる。設定メニューの中の初期設定がユーザにより選択された場合、ヘッドマウントディスプレイ100は、ユーザの視線方向の実空間を写したカメラ画像および各種センサデータを画像生成装置200へ送信することを開始する。センサデータは、モーションセンサ134による計測値を含み、例えば、ヘッドマウントディスプレイ100の角速度や加速度を含む。画像生成装置200のカメラ画像取得部262は、ヘッドマウントディスプレイ100から送信されたカメラ画像を取得する(S10)。
【0065】
図13は、初期設定時のユーザの行動を模式的に示す。部屋30の中で、ユーザは、ヘッドマウントディスプレイ100を頭部に装着して周囲を見回しつつ移動する。図13のユーザ32は、このときのユーザの位置を示している。矢印34は、ユーザの視線方向を示している。プレイエリア36は、設定されるプレイエリアの一例を示している。画像生成装置200の視線方向検出部266は、カメラ画像取得部262により取得されたカメラ画像や、ヘッドマウントディスプレイ100のセンサで検知されたヘッドマウントディスプレイ100の角速度や加速度等に基づいて、ヘッドマウントディスプレイ100(ユーザの頭部)の位置と視線方向とを検出する(S11)。
【0066】
画像生成装置200の見回し画面生成部268は、プレイエリア320の最大サイズ(縦5m×横5m)より狭い予め定められた特定空間324においてユーザの視線方向と一致した領域(例えば特定空間324を構成するキューブの各面における点群等)を視認領域として識別する。マップ生成部270は、特定空間324における視認領域を示すデータを視認領域記憶部257に格納する。
【0067】
見回し画面生成部268は、カメラ画像取得部262により取得されたカメラ画像(言い換えればプレイエリア画像303)を含む見回し画面のデータを生成する。すなわち、見回し画面生成部268は、ユーザが向いた方向の実空間の様子をそのままユーザに見せるビデオシースルーを行う。これによりユーザの安全性を高める。
【0068】
また、見回し画面生成部268は、特定空間324(キューブの各面)に半透明の特殊画像304を設定する。具体的には、見回し画面生成部268は、特定空間324(キューブの各面)における、視認領域記憶部257に記憶された視認領域を除いた領域(未確認領域)に半透明の特殊画像304を設定する。そして見回し画面生成部268は、プレイエリア画像303の上に特殊画像304を重畳したAR画像を含む見回し画面のデータを生成する。表示制御部292は、ヘッドマウントディスプレイ100の表示部124に見回し画面を表示させる(S12)。ユーザは、見回し画面を見ながら、自分の周囲を見回す。
【0069】
画像生成装置200のプレイエリア設定部264は、S10で取得されたカメラ画像およびセンサデータに基づいて、ユーザの周囲空間におけるプレイエリアを自動検出する(S13)。例えば、プレイエリア設定部264は、カメラ画像と、そのカメラ画像に対応するセンサデータとに基づいて、公知の手法によりユーザの部屋の3D形状を推定してもよい。プレイエリア設定部264は、推定した部屋の3D形状をもとに、センサデータが示す重力方向に対して垂直な平面(典型的には床面)を検出し、検出した同じ高さの複数の平面を合成した結果をプレイエリアとして検出してもよい。プレイエリア設定部264は、プレイエリアの境界を構成する点群の座標値を含むプレイエリアデータをプレイエリア記憶部255に格納する。
【0070】
画像生成装置200のマップ生成部270は、S13の処理と並行して、S10で取得されたカメラ画像およびセンサデータに基づいて、ユーザの位置を推定するためのマップデータを生成する(S14)。図14は、カメラ画像の例を示し、図15は、キーフレームの例を示す。マップ生成部270は、コーナー検出法等の公知の手法を用いてカメラ画像40に含まれる複数の特徴点44を抽出し、抽出した複数の特徴点44を示すキーフレーム42を生成する。マップ生成部270は、1枚のカメラ画像40から24個以上の特徴点44を抽出した場合、抽出した24個以上の特徴点44を含むキーフレーム42を、センサデータにより特定されるユーザの位置および視線方向と対応付けたマップデータをマップ記憶部256に格納する(S15)。
【0071】
マップ生成部270は、ユーザの周囲空間のうち入力されたカメラ画像(実施例ではカメラ画像から生成されたキーフレーム)によりカバーされる割合に関するスコアを導出するための複数の基準(以下「ビン」と呼ぶ。)を記憶する。複数のビンは、ユーザの周囲空間を異なる態様で分割した複数の基準である。
【0072】
図16は、複数のビンを示す。ビン50、ビン52、ビン54のそれぞれは、中心をユーザの位置とし、ユーザの周囲空間を重力方向を軸として分割したものである。ビン50は、プレイエリア設定開始時のユーザの視線方向と、視線方向に垂直な方向とに基づいて、ユーザの周囲空間を中心角90度で4分割した基準である。ビン52は、ビン50に対して位相を45度ずらしたものである。ビン54は、ユーザの周囲空間を中心角22.5度で16分割した基準である。以下、ビン50、ビン52、ビン54のそれぞれで規定された、ユーザの周囲空間における分割されたエリアを「分割エリア」と呼ぶ。
【0073】
マップ生成部270は、ビン50、ビン52、ビン54に基づいて、ユーザの周囲空間のうち入力された複数枚のカメラ画像(実施例ではカメラ画像から生成されたキーフレーム)によりカバーされる割合に関するスコアを導出する。マップ生成部270は、そのスコアが予め定められた閾値以上になった場合、マップの生成処理を終了する。
【0074】
具体的には、マップ生成部270は、カメラ画像からキーフレームを生成した場合、ビン50、ビン52、ビン54のそれぞれについて、当該キーフレームが得られた視線方向に合致する分割エリアが埋まったこととし、各ビンにおいて分割エリアが埋まった個数の合計をスコアとしてカウントする。マップ生成部270は、新たなキーフレームを生成すると、同様のアルゴリズムにより、各ビンにおいて新たに分割エリアが埋まった個数をスコアに加算する。
【0075】
図12に戻り、実施例では、スコアが閾値「10」未満であれば(S16のN)、S10に戻り、見回し画面の更新処理、プレイエリア検出処理、マップ生成処理を繰り返す。スコアが閾値「10」以上になった場合(S16のY)、プレイエリア設定部264は、プレイエリアの検出処理を終了し、マップ生成部270は、マップの生成処理を終了する。スコアの閾値「10」は、ヘッドマウントディスプレイ100を装着したユーザが自身の周囲180度をぐるりと見渡せばクリアできる値であるが、ユーザが周囲を見渡さない場合にはクリアできない値として定められたものである。
【0076】
図17も、画像生成装置200の動作を示すフローチャートである。同図は、VRゲーム実行時の動作を示している。ユーザが画像生成装置200においてVRゲームが起動されると(S20のY)、画像生成装置200のApp実行部290は、プレイエリア記憶部255に記憶されたプレイエリアのデータ、例えば、プレイエリアの形状およびサイズを示すデータを読み込む(S21)。
【0077】
App実行部290は、App記憶部254からVRゲームのプログラムデータを読み出し、VRゲームを開始する(S22)。例えば、App実行部290は、ゲーム世界を描いた仮想空間の中でプレイエリアの範囲内にゲームアイテムを配置することによりユーザにそのアイテムを取得させてもよい。表示制御部292は、App実行部290により生成されたゲーム画像(例えばVR画像)をヘッドマウントディスプレイ100の表示部124に表示させる。
【0078】
画像生成装置200のカメラ画像取得部262は、ヘッドマウントディスプレイ100から逐次送信されたカメラ画像を逐次取得し、画像生成装置200の位置推定部272は、実世界におけるユーザの位置および視線方向を逐次推定する(S23)。App実行部290は、位置推定部272により推定されたユーザの位置および視線方向に基づいて、VRゲームを進行させる(S24)。例えば、App実行部290は、実世界(言い換えればプレイエリア内)におけるユーザの位置の変化に応じて、VRゲーム内のユーザキャラクタを移動させてもよい。
【0079】
画像生成装置200の警告処理部274は、実世界におけるユーザの位置がプレイエリアの境界近傍に至った場合、例えば、ユーザに装着されたヘッドマウントディスプレイ100からプレイエリアの境界までの距離が所定の閾値(例えば30センチ)以下になった場合(S25のY)、そのことを検出する。警告処理部274は、ユーザに対する所定の警告処理を実行する(S26)。
【0080】
例えば、警告処理部274は、ユーザの位置がプレイエリアの境界近傍に至った場合、プレイエリアの境界を示す画像を表示制御部292に渡してもよい。表示制御部292は、App実行部290により生成されたゲーム画像に、プレイエリアの境界を示す画像を重畳したものを表示画像としてヘッドマウントディスプレイ100の表示部124に表示させてもよい。また、警告処理部274は、実世界におけるユーザの位置がプレイエリアの境界近傍に至った場合やプレイエリアの境界を超えてしまった場合、表示制御部292を介してヘッドマウントディスプレイ100の表示部124にビデオシースルー画像を表示させてもよい。一方、実世界におけるユーザの位置がプレイエリアの境界近傍でなければ(S25のN)、S26をスキップする。
【0081】
ユーザによりVRゲームの実行が停止された場合等、所定の終了条件を満たした場合(S27のY)、本図のフローを終了する。終了条件が満たされなければ(S27のN)、S23に戻り、VRゲームを続行する。VRゲームが起動されなければ(S20のN)、S21以降の処理をスキップする。
【0082】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0083】
変形例を説明する。上記実施例では、見まわし画面300において特殊画像304の背後に設定するプレイエリア画像303は、ユーザの周囲の実空間を写した画像とした。変形例として、見回し画面300のプレイエリア画像303は、仮想世界のプレイエリアを示すVR画像であってもよい。
【0084】
別の変形例を説明する。上記実施例で画像生成装置200に実装された複数の機能のうち少なくとも一部の機能は、ヘッドマウントディスプレイ100に実装されてもよく、ネットワークを介して画像生成装置200に接続されたサーバに実装されてもよい。例えば、ヘッドマウントディスプレイ100は、カメラ画像やセンサ計測値に基づいて、各種画面や画像のデータを生成する機能を備えてもよい。また、サーバは、カメラ画像やセンサ計測値に基づいて、各種画面や画像のデータを生成する機能を備えてもよく、ヘッドマウントディスプレイ100は、サーバにより生成された画面や画像を表示してもよい。
【0085】
上述した実施例および変形例の任意の組み合わせもまた本開示の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【0086】
実施例および変形例の記載に基づく技術思想は、以下の各項目に示す態様で表現することができる。
[項目1]
ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアについて、前記プレイエリアを前記ユーザに見回させるための画面である見回し画面を生成する見回し画面生成部と、
前記見回し画面を前記ヘッドマウントディスプレイに表示させる表示制御部と、
前記ヘッドマウントディスプレイのカメラにより撮像された、前記ユーザの周囲の空間を複数の方向から写した複数枚のカメラ画像に基づいて、前記プレイエリアにおける前記ユーザの位置を推定するためのマップを生成するマップ生成部と、
を備え、
前記見回し画面では、前記プレイエリアを示す画像に所定の特殊画像が重畳され、かつ、前記特殊画像の中で前記ユーザの視線方向に一致した領域がそれまでとは異なる表示態様に変化し、
前記見回し画面生成部は、前記ヘッドマウントディスプレイの周囲の空間であって、前記プレイエリアの最大範囲より狭い範囲の空間に前記特殊画像を設定する、
情報処理装置。
この情報処理装置によると、ヘッドマウントディスプレイを装着したユーザに対する、自分の周囲を見回したくなるUXの提供を少ないメモリ量で実現できる。
[項目2]
前記見回し画面生成部は、前記特殊画像を設定する空間である特定空間の位置を、前記ヘッドマウントディスプレイの位置の変化に追従して変更する、
項目1に記載の情報処理装置。
この情報処理装置によると、ユーザの位置が変化しても自分の周囲を見回したくなるUXを継続して提供できる。
[項目3]
前記見回し画面生成部は、前記ヘッドマウントディスプレイが回動しても前記特定空間を回動させない、
項目2に記載の情報処理装置。
この情報処理装置によると、特定空間に特殊画像を表示するための処理負荷およびメモリ量を低減できる。
[項目4]
前記見回し画面では、前記特殊画像の中で前記ユーザの視線方向に一致したことがない領域に第1の透過度が設定され、前記特殊画像の中で前記ユーザの視線方向に一致したことがある領域に前記第1の透過度より高い第2の透過度が設定される、
項目1から3のいずれかに記載の情報処理装置。
この情報処理装置によると、ユーザが見た領域のプレイエリアがそれまでよりクリアに表示されるため、自分の首位を見回したくなるUXを提供できる。
[項目5]
前記見回し画面生成部は、前記特殊画像の中で前記ユーザの視線方向に一致したことがない領域と、前記特殊画像の中で前記ユーザの視線方向に一致したことがある領域との境界において透過度を漸次変化させる、
項目4に記載の情報処理装置。
この情報処理装置によると、デプスコンフリクトを抑制し、3D酔いを抑制できる。
[項目6]
前記特殊画像の中で前記ユーザの視線方向に一致した場合に表示態様が変化する領域のサイズは、当該領域の両端とユーザの視点とのなす角が略40度になるよう定められている、
項目1から5のいずれかに記載の情報処理装置。
この情報処理装置によると、ユーザが実施すべき頭部の回動量を適切な範囲に収めることができる。
[項目7]
ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアについて、前記プレイエリアを前記ユーザに見回させるための画面である見回し画面を生成するステップと、
前記見回し画面を前記ヘッドマウントディスプレイに表示させるステップと、
前記ヘッドマウントディスプレイのカメラにより撮像された、前記ユーザの周囲の空間を複数の方向から写した複数枚のカメラ画像に基づいて、前記プレイエリアにおける前記ユーザの位置を推定するためのマップを生成するステップと、
をコンピュータが実行し、
前記見回し画面では、前記プレイエリアを示す画像に所定の特殊画像が重畳され、かつ、前記特殊画像の中で前記ユーザの視線方向に一致した領域がそれまでとは異なる表示態様に変化し、
前記見回し画面を生成するステップは、前記ヘッドマウントディスプレイの周囲の空間であって、前記プレイエリアの最大範囲より狭い範囲の空間に前記特殊画像を設定する、
情報処理方法。
この情報処理方法によると、ヘッドマウントディスプレイを装着したユーザに対する、自分の周囲を見回したくなるUXの提供を少ないメモリ量で実現できる。
[項目8]
ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアについて、前記プレイエリアを前記ユーザに見回させるための画面である見回し画面を生成する機能と、
前記見回し画面を前記ヘッドマウントディスプレイに表示させる機能と、
前記ヘッドマウントディスプレイのカメラにより撮像された、前記ユーザの周囲の空間を複数の方向から写した複数枚のカメラ画像に基づいて、前記プレイエリアにおける前記ユーザの位置を推定するためのマップを生成する機能と、
をコンピュータに実現させ、
前記見回し画面では、前記プレイエリアを示す画像に所定の特殊画像が重畳され、かつ、前記特殊画像の中で前記ユーザの視線方向に一致した領域がそれまでとは異なる表示態様に変化し、
前記見回し画面を生成する機能は、前記ヘッドマウントディスプレイの周囲の空間であって、前記プレイエリアの最大範囲より狭い範囲の空間に前記特殊画像を設定する、
コンピュータプログラム。
このコンピュータプログラムによると、コンピュータに、ヘッドマウントディスプレイを装着したユーザに対する、自分の周囲を見回したくなるUXの提供を少ないメモリ量で実現させることができる。
【符号の説明】
【0087】
10 画像表示システム、 100 ヘッドマウントディスプレイ、 200 画像生成装置、 262 カメラ画像取得部、 268 見回し画面生成部、 270 マップ生成部、 292 表示制御部、 300 見回し画面。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17