JP2023016226A - 情報処理装置、情報処理方法およびコンピュータプログラム - Google Patents
情報処理装置、情報処理方法およびコンピュータプログラム Download PDFInfo
- Publication number
- JP2023016226A JP2023016226A JP2021120404A JP2021120404A JP2023016226A JP 2023016226 A JP2023016226 A JP 2023016226A JP 2021120404 A JP2021120404 A JP 2021120404A JP 2021120404 A JP2021120404 A JP 2021120404A JP 2023016226 A JP2023016226 A JP 2023016226A
- Authority
- JP
- Japan
- Prior art keywords
- play area
- user
- mounted display
- image
- unit
- 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.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims description 49
- 238000004590 computer program Methods 0.000 title claims description 14
- 238000003672 processing method Methods 0.000 title description 7
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 37
- 238000001514 detection method Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 16
- 230000002093 peripheral effect Effects 0.000 abstract description 2
- 230000033001 locomotion Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 210000003128 head Anatomy 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 210000005069 ears Anatomy 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/212—Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/23—Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
- A63F13/235—Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console using a wireless connection, e.g. infrared or piconet
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/69—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/812—Ball games, e.g. soccer or baseball
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8082—Virtual reality
Abstract
【課題】ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアの設定を支援する技術を提供する。【解決手段】画像生成装置200は、ヘッドマウントディスプレイ100のカメラにより撮像されたユーザの周囲空間を映したカメラ画像に基づいて、プレイエリアを自動検出する。画像生成装置200は、自動検出されたプレイエリアを示す画像をヘッドマウントディスプレイ100に表示させる。画像生成装置200は、上記プレイエリアを編集するユーザの操作をコントローラ140から受け付け、その操作に応じて上記プレイエリアの形状を変更する。【選択図】図2
Description
本発明は、データ処理技術に関し、特に情報処理装置、情報処理方法およびコンピュータプログラムに関する。
ヘッドマウントディスプレイを装着したユーザが対象空間を自由な視点から鑑賞できる画像表示システムが普及している。例えば仮想3次元空間を表示対象とし、ユーザの視線方向に応じた画像がヘッドマウントディスプレイに表示されるようにすることで仮想現実(Virtual Reality:VR)を実現する電子コンテンツが知られている。ヘッドマウントディスプレイを利用することで、映像への没入感を高めたり、ゲーム等のアプリケーションの操作性を向上させたりすることもできる。また、ヘッドマウントディスプレイを装着したユーザが物理的に移動することで、映像として表示された空間内を仮想的に歩き回ることのできるウォークスルーシステムも開発されている。
ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能な範囲は、ユーザの部屋のサイズや、ユーザの部屋に設置された家具や荷物等の環境に応じて制限される必要がある。
本発明はこうした課題に鑑みてなされたものであり、1つの目的は、ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアの設定を支援する技術を提供することにある。
上記課題を解決するために、本発明のある態様の情報処理装置は、ヘッドマウントディスプレイのカメラにより撮像されたユーザの周囲空間を映したカメラ画像に基づいて、ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアを自動検出するプレイエリア検出部と、プレイエリア検出部により自動検出されたプレイエリアを示す画像をヘッドマウントディスプレイに表示させる表示制御部と、プレイエリアを編集するユーザの操作を受け付け、その操作に応じてプレイエリアの形状を変更するプレイエリア編集部とを備える。
本発明の別の態様は、情報処理方法である。この方法は、ヘッドマウントディスプレイのカメラにより撮像されたユーザの周囲空間を映したカメラ画像に基づいて、ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアを自動検出するステップと、自動検出されたプレイエリアを示す画像をヘッドマウントディスプレイに表示させるステップと、プレイエリアを編集するユーザの操作を受け付け、その操作に応じてプレイエリアの形状を変更するステップとをコンピュータが実行する。
なお、以上の構成要素の任意の組合せ、本発明の表現をシステム、コンピュータプログラム、コンピュータプログラムを読み取り可能に記録した記録媒体、データ構造などの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアの設定を支援することができる。
本実施例は、ユーザの頭部に装着されたヘッドマウントディスプレイにアプリケーションの画像を表示する画像表示システムに関する。図1は、ヘッドマウントディスプレイ100の外観例を示す。実施例のヘッドマウントディスプレイ100は、出力機構部102および装着機構部104で構成される。装着機構部104は、ユーザが被ることにより頭部を一周し装置の固定を実現する装着バンド106を含む。
出力機構部102は、ヘッドマウントディスプレイ100をユーザが装着した状態において左右の目を覆うような形状の筐体108を含み、内部には装着時に目に正対するように表示パネルを備える。実施例のヘッドマウントディスプレイ100の表示パネルは、透過性がないものとする。すなわち、実施例のヘッドマウントディスプレイ100は、光不透過型のヘッドマウントディスプレイである。
筐体108内部にはさらに、ヘッドマウントディスプレイ100の装着時に表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する接眼レンズを備えてよい。ヘッドマウントディスプレイ100はさらに、装着時にユーザの耳に対応する位置にスピーカーやイヤホンを備えてよい。また、ヘッドマウントディスプレイ100は、モーションセンサを内蔵し、ヘッドマウントディスプレイ100を装着したユーザの頭部の並進運動や回転運動、ひいては各時刻の位置や姿勢を検出する。
また、ヘッドマウントディスプレイ100は、筐体108の前面にステレオカメラ110を備える。ステレオカメラ110は、ユーザの視線に対応する視野で周囲の実空間を動画撮影する。撮影した画像を即時に表示させれば、ユーザが向いた方向の実空間の様子がそのまま見える、いわゆるビデオシースルーを実現できる。さらに撮影画像に写っている実物体の像上に仮想オブジェクトを描画すれば拡張現実(Augmented Reality:AR)を実現できる。
図2は、実施例の画像表示システム10の構成例を示す。画像表示システム10は、ヘッドマウントディスプレイ100、画像生成装置200、コントローラ140を備える。ヘッドマウントディスプレイ100は、無線通信により画像生成装置200に接続される。画像生成装置200は、さらにネットワークを介してサーバに接続されてもよい。その場合、サーバは、複数のユーザがネットワークを介して参加できるゲームなどのオンラインアプリケーションのデータを画像生成装置200に提供してもよい。
画像生成装置200は、ヘッドマウントディスプレイ100を装着したユーザの頭部の位置や姿勢に基づき視点の位置や視線の方向を特定し、それに応じた視野となるように表示画像を生成してヘッドマウントディスプレイ100に出力する情報処理装置である。例えば、画像生成装置200は、電子ゲームを進捗させつつゲームの舞台である仮想世界を表示画像として生成してもよいし、仮想世界か実世界かに関わらず観賞や情報提供のために動画像を表示させてもよい。また、ユーザの視点を中心に広い画角のパノラマ画像をヘッドマウントディスプレイ100に表示させることによって、表示世界への深い没入感をユーザに与えることができる。なお、画像生成装置200は、据置型ゲーム機であってもよく、PCであってもよい。
コントローラ140は、ユーザの手に把持され、画像生成装置200における画像生成や、ヘッドマウントディスプレイ100における画像表示を制御するためのユーザの操作が入力されるコントローラ(例えばゲームコントローラ)である。コントローラ140は、無線通信により画像生成装置200に接続される。変形例として、ヘッドマウントディスプレイ100とコントローラ140の一方または両方は、信号ケーブル等を介した有線通信により画像生成装置200に接続されてもよい。
図3は、画像生成装置200がヘッドマウントディスプレイ100に表示させる画像世界の例を説明するための図である。この例では、ユーザ12が仮想空間である部屋にいる状態を作り出している。仮想空間を定義するワールド座標系には、図示するように、壁、床、窓、テーブル、テーブル上の物などのオブジェクトを配置している。画像生成装置200は、当該ワールド座標系に、ユーザ12の視点の位置や視線の方向に応じてビュースクリーン14を定義し、そこにオブジェクトの像を表すことで表示画像を描画する。
画像生成装置200は、ユーザ12の視点の位置や視線の方向(以後、これらを包括的に「視点」と呼ぶ場合がある)を所定のレートでヘッドマウントディスプレイ100から取得し、これに応じてビュースクリーン14の位置や方向を変化させる。これにより、ユーザの視点に対応する視野で画像をヘッドマウントディスプレイ100に表示させることができる。また、画像生成装置200は、視差を有するステレオ画像を生成し、ヘッドマウントディスプレイ100の表示パネルの左右の領域にステレオ画像を表示させれば、仮想空間をユーザ12に立体視させることもできる。これにより、ユーザ12は、あたかも表示世界の部屋の中にいるような仮想現実を体験することができる。
図4は、画像生成装置200の内部回路構成を示す。画像生成装置200は、CPU(Central Processing Unit)222、GPU(Graphics Processing Unit)224、メインメモリ226を含む。これらの各部は、バス230を介して相互に接続される。バス230にはさらに入出力インターフェース228が接続される。入出力インターフェース228には、通信部232、記憶部234、出力部236、入力部238、記録媒体駆動部240が接続される。
通信部232は、USBやIEEE1394などの周辺機器インターフェースや、有線LANまたは無線LAN等のネットワークインターフェースを含む。記憶部234は、ハードディスクドライブや不揮発性メモリ等を含む。出力部236は、ヘッドマウントディスプレイ100へのデータを出力する。入力部238は、ヘッドマウントディスプレイ100からのデータ入力を受け付け、また、コントローラ140からのデータ入力を受け付ける。記録媒体駆動部240は、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する。
CPU222は、記憶部234に記憶されているオペレーティングシステムを実行することにより画像生成装置200の全体を制御する。また、CPU222は、記憶部234またはリムーバブル記録媒体から読み出されてメインメモリ226にロードされた、あるいは通信部232を介してダウンロードされた各種プログラム(例えばVRゲームアプリケーション等)を実行する。GPU224は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、CPU222からの描画命令にしたがって描画処理を行い、描画結果を出力部236に出力する。メインメモリ226は、RAM(Random Access Memory)により構成され、処理に必要なプログラムやデータを記憶する。
図5は、ヘッドマウントディスプレイ100の内部回路構成を示す。ヘッドマウントディスプレイ100は、CPU120、メインメモリ122、表示部124、音声出力部126を含む。これらの各部はバス128を介して相互に接続されている。バス128にはさらに入出力インターフェース130が接続されている。入出力インターフェース130には、無線通信のインターフェースを含む通信部132、モーションセンサ134、およびステレオカメラ110が接続される。
CPU120は、バス128を介してヘッドマウントディスプレイ100の各部から取得した情報を処理するとともに、画像生成装置200から取得した表示画像や音声のデータを表示部124や音声出力部126に供給する。メインメモリ122は、CPU120における処理に必要なプログラムやデータを格納する。
表示部124は、液晶パネルや有機ELパネルなどの表示パネルを含み、ヘッドマウントディスプレイ100を装着したユーザの眼前に画像を表示する。表示部124は、左右の目に対応する領域に一対のステレオ画像を表示することにより立体視を実現してもよい。表示部124はさらに、ヘッドマウントディスプレイ100装着時に表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する一対のレンズを含んでもよい。
音声出力部126は、ヘッドマウントディスプレイ100の装着時にユーザの耳に対応する位置に設けたスピーカーやイヤホンで構成され、ユーザに音声を聞かせる。通信部132は、画像生成装置200との間でデータを送受するためのインターフェースであり、Bluetooth(登録商標)などの既知の無線通信技術により通信を実現する。モーションセンサ134はジャイロセンサおよび加速度センサを含み、ヘッドマウントディスプレイ100の角速度や加速度を取得する。
ステレオカメラ110は、図1で示したとおり、ユーザの視点に対応する視野で周囲の実空間を左右の視点から撮影するビデオカメラの対である。ステレオカメラ110により撮像された画像であり、ユーザの周囲空間を映した画像を以下「カメラ画像」とも呼ぶ。カメラ画像は、ユーザの視線方向(典型的にはユーザの正面)に存在する物体が映る画像とも言える。モーションセンサ134による計測値や、ステレオカメラ110による撮影画像(カメラ画像)のデータは、必要に応じて、通信部132を介して画像生成装置200へ送信される。
実施例の画像表示システム10では、ヘッドマウントディスプレイ100を装着したユーザがアプリケーションのプレイ中に移動可能な実世界の範囲を規定したプレイエリアが設定される。プレイエリアは、ユーザの周囲空間(ユーザの周囲に広がる実世界の空間)うち、ユーザが仮想現実の画像(以下「VR画像」とも呼ぶ。)を視聴中に動き回ることが許可されたエリアまたは範囲と言える。アプリケーションのプレイ中にユーザがプレイエリアを逸脱しようとする場合や逸脱した場合、画像表示システム10は、注意を促す内容、または、プレイエリアへの復帰を促す内容の警告をユーザに提供する。
上記のアプリケーションは、VR画像をヘッドマウントディスプレイ100に表示させるゲームアプリケーションであることとし、以下「VRゲーム」とも呼ぶ。例えば、VRゲームは、仮想世界のテニスコートを示すVR画像を表示させ、実世界でのユーザの移動(歩行等)に伴って、仮想世界のテニスコートにおけるキャラクタの位置を変化させるテニスゲームであってもよい。
実施例の画像表示システム10の第1の特徴を説明する。画像生成装置200は、第1のステップとして、ヘッドマウントディスプレイ100を装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアを自動検出する。画像生成装置200は、第1のステップより後の第2のステップとして、自動検出されたプレイエリアを編集するユーザの操作を受け付け、その操作に応じてプレイエリアの形状を変更する。これにより、ユーザが任意形状のプレイエリアを効率的に設定できるよう支援する。
実施例の画像表示システム10の第2の特徴を説明する。画像生成装置200は、ユーザがプレイエリアを手動編集する際に、ユーザの操作に応じてプレイエリアを縮小する。例えば、画像生成装置200は、プレイエリアの手動編集のためのユーザインタフェースであり、かつ、プレイエリアから除外するエリアを指定可能なユーザインタフェースを提供する。画像生成装置200は、上記ユーザインタフェースを介してユーザが指定したエリアをプレイエリアから削除する。これにより、ユーザが所望のプレイエリアを効率的に設定できるよう支援する。
実施例の画像表示システム10の第3の特徴を説明する。画像生成装置200は、設定されたプレイエリアのサイズに応じて、そのプレイエリアを加味してVR画像を生成するアプリケーション(実施例ではVRゲーム)の動作モードを自動的に切り替える。具体的には、画像生成装置200は、設定されたプレイエリアのサイズに応じて、ユーザが移動可能なモードでアプリケーションを動作させるか、または、ユーザが移動不可能なモードでアプリケーションを動作させるかを決定する。これにより、アプリケーションの動作モードをプレイエリアのサイズに応じて自動的に切り替えることができる。
図6は、画像生成装置の機能ブロックを示すブロック図である。上述したように、画像生成装置200は、VRゲームの進行やサーバとの通信等、一般的な情報処理を実行するが、図6では特に、プレイエリアの設定に関する機能ブロックを詳細に示している。なお、図6に示す画像生成装置200の機能のうち少なくとも一部は、ネットワークを介して画像生成装置200に接続されたサーバに実装されてもよい。
また、図6に示す複数の機能ブロックは、ハードウェア的には、図4に示したCPU222、GPU224、メインメモリ226、記憶部234等の構成で実現でき、ソフトウェア的には、複数の機能ブロックの機能を実装したコンピュータプログラムにより実現できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
画像生成装置200は、データ処理部250とデータ記憶部252を備える。データ処理部250は、各種のデータ処理を実行する。データ処理部250は、図4に示した通信部232、出力部236、入力部238を介して、ヘッドマウントディスプレイ100およびコントローラ140とデータを送受信する。データ記憶部252は、データ処理部250により参照または更新されるデータを記憶する。
データ記憶部252は、App記憶部254、プレイエリア記憶部256、マップ記憶部258を備える。App記憶部254は、VR画像を生成するアプリケーション(実施例ではVRゲーム)のデータを記憶する。
プレイエリア記憶部256は、プレイエリアに関するデータを記憶する。プレイエリアに関するデータは、プレイエリアの境界を構成する点群の位置を示すデータ(例えばワールド座標系における各点の座標値)を含む。
マップ記憶部258は、ヘッドマウントディスプレイ100の位置(すなわちヘッドマウントディスプレイ100を装着したユーザの位置)を推定するためのマップデータを記憶する。実施例のマップデータは、ユーザがVRゲームをプレイする部屋が映る画像(当該画像に映る特徴点)であり、位置関係(位置および方向)が判明している画像(当該画像に映る特徴点)の集合を含む。具体的には、マップデータは、ヘッドマウントディスプレイ100の位置、視線方向、およびキーフレームを対応付けた組を複数組含む。なお、マップデータは、いわゆる自己位置推定に必要な他の項目を含んでもよい。
或る組のキーフレームは、同じ組の位置および視線方向で見える像の特徴を示すデータである。キーフレームは、ヘッドマウントディスプレイ100のステレオカメラ110により撮像された画像(以下「カメラ画像」とも呼ぶ。)をもとに生成された画像であり、かつ、所定個数以上の特徴点を含む画像である。キーフレームに含まれるべき特徴点の個数は24個以上であってもよい。特徴点は、公知のコーナー検出法により検出されたコーナーを含んでもよく、また、輝度の勾配に基づいて検出されてもよい。キーフレームは、カメラ画像から切り出された部分画像の集合とも言える。
データ処理部250は、システム部260、App実行部290、表示制御部292を備える。これら複数の機能ブロックの機能は、コンピュータプログラムに実装されてもよい。画像生成装置200のCPU222とGPU224は、上記コンピュータプログラムを記憶部234や記録媒体からメインメモリ226に読み出して実行することにより上記複数の機能ブロックの機能を発揮してもよい。
App実行部290は、ユーザにより選択されたアプリケーション(実施例ではVRゲーム)のデータをApp記憶部254から読み出し、ユーザにより選択されたアプリケーションを実行する。表示制御部292は、システム部260およびApp実行部290により生成された様々な画像(例えばVR画像やAR画像)のデータをヘッドマウントディスプレイ100へ送信し、それらの画像をヘッドマウントディスプレイ100の表示部124(表示パネル)に表示させる。
システム部260は、ヘッドマウントディスプレイ100に関するシステムの処理を実行する。システム部260は、ヘッドマウントディスプレイ100用の複数のアプリケーション(例えばVRゲーム)に対して共通のサービスを提供する。システム部260は、カメラ画像取得部262、プレイエリア設定部264、マップ生成部274、モード決定部276、通知部278、位置推定部280、警告処理部282を含む。
カメラ画像取得部262は、ヘッドマウントディスプレイ100から送信された、ヘッドマウントディスプレイ100のステレオカメラ110により撮像されたカメラ画像を取得する。
プレイエリア設定部264は、プレイエリアの設定を支援するための各種処理を実行する、プレイエリア設定部264は、カメラ画像取得部262により取得されたカメラ画像と、コントローラ140を介して入力されたユーザの操作とに基づいて、プレイエリアを設定する。プレイエリア設定部264は、プレイエリア検出部266、床面設定部268、プレイエリア編集部270、テンポラリ設定部272を含む。
プレイエリア検出部266は、カメラ画像取得部262により取得されたカメラ画像に基づいて、ヘッドマウントディスプレイ100を装着したユーザの周囲空間からプレイエリアを自動検出する。床面設定部268は、プレイエリア検出部266によりプレイエリアとして検出された床面の高さを編集するユーザの操作を受け付け、その操作に応じて床面の高さを変更する。
プレイエリア編集部270は、プレイエリア検出部266により自動検出されたプレイエリアを編集するユーザの操作を受け付け、その操作に応じてプレイエリアの形状を変更する。例えば、プレイエリア編集部270は、プレイエリア検出部266により自動検出されたプレイエリアを、ユーザの操作に応じて縮小する。
テンポラリ設定部272は、ユーザにより設定されたプレイエリア(すなわちユーザによる手動編集後のプレイエリア)のサイズが所定の閾値より小さい場合、ユーザにより設定されたプレイエリアに代えて一時的に有効なテンポラリプレイエリアを設定する。テンポラリプレイエリアは、ユーザが移動不可能なプレイエリア(言い換えればユーザの移動が禁止されたプレイエリア)であり、かつ、固定形状のプレイエリアである。
マップ生成部274は、プレイエリア検出部266がプレイエリアを検出することと並行して、カメラ画像取得部262により取得されたカメラ画像に基づいて、ユーザの位置を推定するためのマップを生成する。マップ生成部274は、生成したマップデータをマップ記憶部258に格納する。マップ生成部274は、ユーザの周囲空間を複数の方向から映した複数枚のカメラ画像であって、予め定められた枚数以上のカメラ画像が入力された場合、マップの生成を終了する。
モード決定部276は、プレイエリア設定部264により設定されたプレイエリア(実施例ではユーザによる手動編集後のプレイエリア)のサイズに応じて、ユーザが移動可能なモードでVRゲームを動作させることを決定し、または、ユーザが移動不可能なモードでVRゲームを動作させることを決定する。モード決定部276は、プレイエリアのサイズが所定の閾値以上の場合、ユーザが移動可能なモードでVRゲームを動作させることを決定し、プレイエリアのサイズが上記閾値未満の場合、ユーザが移動不可能なモードでVRゲームを動作させることを決定する。
通知部278は、App実行部290によるVRゲームの実行に必要な情報をApp実行部290へ通知する。例えば、通知部278は、モード決定部276によりユーザが移動可能なモードでVRゲームを動作させることが決定された場合、ユーザが移動可能であることを示すデータをVRゲーム(実施例ではVRゲームを実行するApp実行部290)へ送信する。また、通知部278は、モード決定部276によりユーザが移動不可能なモードでVRゲームを動作させることが決定された場合、ユーザが移動不可能であることを示すデータをVRゲーム(実施例ではVRゲームを実行するApp実行部290)へ送信する。
位置推定部280は、マップ記憶部258に記憶されたマップデータと、カメラ画像取得部262により取得されたカメラ画像とに基づいて、実世界におけるユーザの位置を推定し、言い換えれば、プレイエリアにおけるユーザの位置を推定する。例えば、位置推定部280は、マップデータに含まれる複数のキーフレームとカメラ画像とを照合し、その照合結果と、各キーフレームに対応付けられたヘッドマウントディスプレイ100の位置および視線方向とに基づいて、ユーザの位置を推定してもよい。また、位置推定部280は、SLAM(Simultaneous Localization and Mapping)等、公知の自己位置推定技術を用いてユーザの位置を推定してもよい。警告処理部282は、プレイエリアの境界と、ユーザの位置との関係に応じて、ユーザに対する警告処理を実行する。
以上の構成による画像表示システム10の動作を説明する。
図7は、画像生成装置200の動作を示すフローチャートである。同図は、プレイエリアを設定する際の画像生成装置200の動作を示している。ユーザは、ヘッドマウントディスプレイ100のシステムの設定メニューの中で、プレイエリアの初期設定または再設定を選択可能である。プレイエリアの初期設定または再設定が選択された場合、画像生成装置200のプレイエリア設定部264は、表示制御部292を介して、周囲を見回すよう促す内容のメッセージをヘッドマウントディスプレイ100に表示させる。
図7は、画像生成装置200の動作を示すフローチャートである。同図は、プレイエリアを設定する際の画像生成装置200の動作を示している。ユーザは、ヘッドマウントディスプレイ100のシステムの設定メニューの中で、プレイエリアの初期設定または再設定を選択可能である。プレイエリアの初期設定または再設定が選択された場合、画像生成装置200のプレイエリア設定部264は、表示制御部292を介して、周囲を見回すよう促す内容のメッセージをヘッドマウントディスプレイ100に表示させる。
図8は、プレイエリア設定時のユーザの行動を模式的に示す。部屋30の中で、ユーザは、ヘッドマウントディスプレイ100を頭部に装着して周囲を見回しつつ移動する。図8のユーザ32は、このときのユーザの位置を示している。矢印34は、ユーザの視線方向を示している。プレイエリア36は、設定されるプレイエリアの一例を示している。後述のS10-S12(プレイエリア検出処理とマップ生成処理)の実行中、画像生成装置200のプレイエリア設定部264は、カメラ画像取得部262により取得されたカメラ画像を、表示制御部292を介して、ヘッドマウントディスプレイ100の表示パネルに表示させ、すなわち、ユーザが向いた方向の実空間の様子をそのままユーザに見せるビデオシースルーを行う。これによりユーザの安全性を高める。
ヘッドマウントディスプレイ100は、複数のカメラ画像のデータを画像生成装置200へ逐次送信する。複数のカメラ画像のデータのそれぞれは、各カメラ画像生成時のセンサデータを含む。センサデータは、モーションセンサ134による計測値を含み、例えば、ヘッドマウントディスプレイ100の角速度や加速度を含む。図7に戻り、画像生成装置200のカメラ画像取得部262は、ヘッドマウントディスプレイ100から送信されたカメラ画像のデータを取得する(S10)。
画像生成装置200のプレイエリア検出部266は、S10で取得されたカメラ画像に基づいて、ユーザの周囲空間におけるプレイエリアを自動検出する(S11)。具体的には、プレイエリア検出部266は、カメラ画像と、そのカメラ画像に対応するセンサデータとに基づいて、公知の手法によりユーザの部屋の3D形状を推定してもよい。プレイエリア検出部266は、推定した部屋の3D形状をもとに、センサデータが示す重力方向に対して垂直な平面(典型的には床面)を検出し、検出した同じ高さの複数の平面を合成した結果をプレイエリアとして検出してもよい。プレイエリア検出部266は、プレイエリアの境界を構成する点群の座標値を含むプレイエリアデータをプレイエリア記憶部256に格納する。
プレイエリア検出部266は、プレイエリア検出時、プレイエリアとしての床面の高さを検出する。床面の高さは、例えば、重力方向における床面とヘッドマウントディスプレイ100との距離であってもよい。プレイエリア検出部266は、床面の高さを示すデータをプレイエリア記憶部256に格納する。ヘッドマウントディスプレイ100の位置が原点の場合、床面の高さはマイナス1メートル等であってもよい。
画像生成装置200のマップ生成部274は、S11の処理と並行して、S10で取得されたカメラ画像に基づいて、ユーザの位置を推定するためのマップを生成する(S12)。図9は、カメラ画像の例を示し、図10は、キーフレームの例を示す。マップ生成部274は、コーナー検出法等の公知の手法を用いてカメラ画像40に含まれる複数の特徴点44を抽出し、抽出した複数の特徴点44を示すキーフレーム42を生成する。マップ生成部274は、1枚のカメラ画像40から24個以上の特徴点44を抽出した場合、抽出した24個以上の特徴点44を含むキーフレーム42を、センサデータにより特定されるユーザの位置および視線方向と対応付けてマップ記憶部258に格納する。
マップ生成部274は、ユーザの周囲空間のうち入力されたカメラ画像(実施例ではカメラ画像から生成されたキーフレーム)によりカバーされる割合に関するスコアを導出するための複数の基準(以下「ビン」と呼ぶ。)を記憶する。複数のビンは、ユーザの周囲空間を異なる態様で分割した複数の基準である。
図11は、複数のビンを示す。ビン50、ビン52、ビン54のそれぞれは、中心をユーザの位置とし、ユーザの周囲空間を重力方向を軸として分割したものである。ビン50は、プレイエリア設定開始時のユーザの視線方向と、視線方向に垂直な方向とに基づいて、ユーザの周囲空間を中心角90度で4分割した基準である。ビン52は、ビン50に対して位相を45度ずらしたものである。ビン54は、ユーザの周囲空間を中心角22.5度で16分割した基準である。以下、ビン50、ビン52、ビン54のそれぞれで規定された、ユーザの周囲空間における分割されたエリアを「分割エリア」と呼ぶ。
マップ生成部274は、ビン50、ビン52、ビン54に基づいて、ユーザの周囲空間のうち入力された複数枚のカメラ画像(実施例ではカメラ画像から生成されたキーフレーム)によりカバーされる割合に関するスコアを導出する。マップ生成部274は、そのスコアが予め定められた閾値以上になった場合、マップの生成処理を終了する。
具体的には、マップ生成部274は、カメラ画像からキーフレームを生成した場合、ビン50、ビン52、ビン54のそれぞれについて、当該キーフレームが得られた視線方向に合致する分割エリアが埋まったこととし、各ビンにおいて分割エリアが埋まった個数の合計をスコアとしてカウントする。マップ生成部274は、新たなキーフレームを生成すると、同様のアルゴリズムにより、各ビンにおいて新たに分割エリアが埋まった個数をスコアに加算する。
図7に戻り、実施例では、スコアが閾値「10」未満であれば(S13のN)、S10に戻り、プレイエリアの検出処理とマップの生成処理を継続する。スコアが閾値「10」以上になった場合(S13のY)、プレイエリア検出部266は、プレイエリアの検出処理を終了し、マップ生成部274は、マップの生成処理を終了する。スコアの閾値「10」は、ヘッドマウントディスプレイ100を装着したユーザが自身の周囲180度をぐるりと見渡せばクリアできる値であるが、ユーザが周囲を見渡さない場合にはクリアできない値として定められたものである。
プレイエリア検出処理とマップ生成処理の実行後、画像生成装置200の床面設定部268は、プレイエリア記憶部256に記憶された床面の高さを示すデータに基づいて、床面調整画面を生成する。床面調整画面は、カメラ画像取得部262により取得されたカメラ画像に床面を示すオブジェクト(例えば半透明の格子状のオブジェクト)を重畳したAR画像を含んでもよい。床面設定部268は、表示制御部292を介して、ヘッドマウントディスプレイ100の表示パネルに床面調整画面を表示させる。床面設定部268は、床面調整画面に入力された床面の高さを調整するユーザの操作を受け付け、ユーザの操作にしたがって床面の高さを変更する。床面設定部268は、変更後の床面の高さを示すデータをプレイエリア記憶部256に格納する(S14)。
画像生成装置200のプレイエリア編集部270は、プレイエリア検出部266により自動検出されたプレイエリアを示す画像を生成する。具体的には、プレイエリア編集部270は、プレイエリア記憶部256に格納されたプレイエリアデータに基づいて、プレイエリア編集画面を生成する。プレイエリア編集画面は、カメラ画像取得部262により取得されたカメラ画像の上にプレイエリアを示すオブジェクトを重畳したAR画像を含む。画像生成装置200の表示制御部292は、プレイエリア編集画面をヘッドマウントディスプレイ100の表示パネルに表示させる(S15)。
図12は、プレイエリア編集画面の例を示す。プレイエリア編集画面60は、プレイエリア62と境界64を含む。プレイエリア62は、プレイエリア(典型的には障害物のない床面)を示す画像であり、例えば半透明の格子状のオブジェクトを示す画像であってもよい。境界64は、プレイエリア62の境界を示す画像であり、プレイエリア62の境界においてプレイエリアに垂直に交わる画像である。境界64も、例えば半透明の格子状のオブジェクトであってもよい。
図7に戻り、プレイエリア編集部270は、プレイエリア編集画面60に入力されたプレイエリア62を編集するユーザの操作を受け付ける。プレイエリア編集部270は、ユーザの操作に応じてプレイエリア62の形状を変更し、すなわち、ユーザの操作に応じてプレイエリア62を拡大または縮小する。プレイエリア編集部270は、形状変更後のプレイエリア62のデータ(例えば境界を構成する点群の座標値)をプレイエリア記憶部256に格納することにより、プレイエリア記憶部256に記憶されたプレイエリアデータを更新する(S16)。
図13(a)-(d)は、図12のプレイエリア編集画面60を上から見た図であり、プレイエリア62を拡大させる編集の例を示す図である。コントローラカーソル66は、ヘッドマウントディスプレイ100を装着したユーザがコントローラ140に入力した操作により指定された位置を示すオブジェクトである。例えば、コントローラ140は、ポインティングデバイスの機能を備えてもよく、プレイエリア編集部270は、コントローラ140により指定された仮想空間の位置にコントローラカーソル66を表示させてもよい。
図13(a)~(c)に示すように、ユーザは、プレイエリア編集画面60においてコントローラカーソル66を移動させ、コントローラカーソル66の移動軌跡を示す線として、プレイエリア62の内からプレイエリア62の外に出てプレイエリア62の内に入る線を描く。この場合、図13(d)に示すように、プレイエリア編集部270は、描画された線により囲まれた領域をプレイエリア62に追加する。
ここでユーザが、コントローラカーソル66の移動軌跡を示す線として、プレイエリア62の内からプレイエリア62の外に出てプレイエリア62の外で終了する線を描いた場合を考える。この場合、プレイエリア編集部270は、描画された線(言い換えればコントローラカーソル66の移動軌跡)に沿った領域をプレイエリア62に追加する。例えば、ユーザが、図13(b)に示すコントローラカーソル66の位置でコントローラカーソル66の移動(言い換えれば線の描画)を終了させた場合、元のプレイエリア62から右に細く伸びた領域をプレイエリア62に追加する。
図14(a)-(d)は、プレイエリアの編集に関して、プレイエリア編集画面60にプレイエリアを設定する処理の詳細を示す。図14(a)に示すように、プレイエリア編集部270は、プレイエリア検出部266により自動検出されたプレイエリア62のデータを取得する。図14(b)に示すように、プレイエリア編集部270は、自動検出されたプレイエリア62をグリッド化し、言い換えればプレイエリア62をグリッド上に配置する。
図14(c)に示すように、プレイエリア編集部270は、プレイエリア62の内側のグリッドをオブジェクト68で埋める。この例では、1つのグリッドに1つのオブジェクト68を配置する。図14(d)に示すように、プレイエリア編集部270は、オブジェクト68で埋められたグリッドに基づいてプレイエリア62の境界を抽出し、プレイエリア62の境界線を確定する。
図15(a)-(e)は、プレイエリアの編集に関して、プレイエリアを拡大する処理の詳細を示す。ここでは、図15(a)に示すように、ユーザがコントローラ140のトリガー(すなわちコントローラカーソル66の表示契機となる入力部)を押したときのコントローラカーソル66の位置がプレイエリア62の内側である。ユーザは、トリガーを押したままコントローラカーソル66をプレイエリア62の外側に移動させ、さらにコントローラカーソル66をプレイエリア62の内側に移動させてトリガーを離す。この場合、図15(b)に示すように、プレイエリア編集部270は、コントローラカーソル66の移動に伴って、コントローラカーソル66の移動軌跡の内側のグリッドをオブジェクト68で埋めていく。
図15(c)に示すように、プレイエリア編集部270は、オブジェクト68で埋められたグリッドに基づいてプレイエリア62の境界を抽出する。図15(d)に示すように、プレイエリア編集部270は、ユーザがトリガーを離したとき、プレイエリア62の境界を確定させる。境界が複数存在する場合、プレイエリア編集部270は、より範囲が大きい境界、言い換えれば、外側の境界を選択する。図15(e)に示すように、プレイエリア編集部270は、境界線内側のグリッドをオブジェクト68で埋める。
図16(a)-(d)は、図12のプレイエリア編集画面60を上から見た図であり、プレイエリア62を縮小させる編集の例を示す図である。図16(a)-(c)に示すように、ユーザは、プレイエリア編集画面60においてコントローラカーソル66を移動させ、コントローラカーソル66の移動軌跡を示す線として、プレイエリア62の外からプレイエリア62の内に入ってプレイエリア62の外に出る線を描く。この場合、図16(d)に示すように、プレイエリア編集部270は、描画された線により分断されたプレイエリア62の一方を削除する。
実施例では、プレイエリア編集部270は、位置推定部280により推定されたユーザの位置に基づいて、分断されたプレイエリアの一方にユーザが存在する場合、そのことを検出する。プレイエリア編集部270は、分断されたプレイエリアの一方(例えば図16(c)のプレイエリア62a)がユーザが存在するエリアであり、他方(例えば図16(c)のプレイエリア62b)がユーザが存在しないエリアである場合、ユーザが存在しないエリア(例えばプレイエリア62b)を削除する。
変形例として、プレイエリア編集部270は、分断されたプレイエリアのうち相対的に大きいプレイエリア(例えばプレイエリア62a)を残し、相対的に小さいプレイエリア(例えばプレイエリア62b)を削除してもよい。また、プレイエリア編集部270は、分断されたプレイエリアのいずれかにユーザが存在する場合、分断されたプレイエリアのうちユーザが存在しないプレイエリアを削除し、分断されたプレイエリアのいずれにもユーザが存在しない場合、分断されたプレイエリアのうち相対的に小さいプレイエリアを削除してもよい。
ここでユーザが、コントローラカーソル66の移動軌跡を示す線として、プレイエリア62の外からプレイエリア62の内に入ってプレイエリア62の内で終了する線を描いたとする。この場合、プレイエリア編集部270は、描画された線(言い換えればコントローラカーソル66の移動軌跡)に沿った領域をプレイエリア62から削除する。例えば、ユーザが、図16(b)に示すコントローラカーソル66の位置でコントローラカーソル66の移動を終了させた場合、元のプレイエリア62からコントローラカーソル66が通った領域を削除する。
図17(a)-(d)は、プレイエリアの編集に関して、プレイエリアを縮小する処理の詳細を示す。ここでは、図17(a)に示すように、ユーザがコントローラ140のトリガーを押したときのコントローラカーソル66の位置がプレイエリア62の外側である。ユーザは、トリガーを押したままコントローラカーソル66をプレイエリア62の内側に移動させ、さらにコントローラカーソル66をプレイエリア62の外側に移動させてトリガーを離す。この場合、図17(b)に示すように、プレイエリア編集部270は、コントローラカーソル66の移動に伴って、コントローラカーソル66の移動軌跡内のグリッドを埋めたオブジェクト68を削除する。
図17(c)に示すように、プレイエリア編集部270は、オブジェクト68で埋められたグリッドに基づいてプレイエリア62の境界を抽出する。図17(d)に示すように、プレイエリア編集部270は、ユーザがトリガを離したとき、ユーザが存在するプレイエリア62のみ境界線を確定し、ユーザが存在しないプレイエリア62を削除する。
図7に戻る。S16までの処理によって、プレイエリア設定部264により設定されたプレイエリアであり、言い換えれば、ユーザにより設定された任意形状のプレイエリア(以下「ユーザ設定プレイエリア」とも呼ぶ。)のデータ(例えばプレイエリアの境界を構成する点群の座標値)がプレイエリア記憶部256に記憶される。画像生成装置200のモード決定部276は、ユーザ設定プレイエリアのデータに基づいて、ユーザ設定プレイエリアのサイズおよび形状を導出する。
ユーザ設定プレイエリアのサイズ(ここでは形状を含む)が所定の第1閾値以上の場合(S17のY)、モード決定部276は、ユーザ設定プレイエリアを移動可能なプレイエリアと判定し、VRゲームをユーザが移動可能なモードで動作させることを決定する。実施例では、ユーザ設定プレイエリアに縦2メートル×横2メートルの正方形が含まれる場合、ユーザ設定プレイエリアのサイズが第1閾値以上と判定する。モード決定部276は、ユーザ設定プレイエリアが移動可能なプレイエリアであることを示すデータをプレイエリア記憶部256に格納する(S18)。
ユーザ設定プレイエリアのサイズが第1閾値未満であり(S17のN)、かつ、ユーザ設定プレイエリアのサイズが第1閾値より小さい所定の第2閾値以上の場合(S19のY)、モード決定部276は、ユーザ設定プレイエリアを移動不可能なプレイエリアと判定し、VRゲームをユーザが移動不可能なモードで動作させることを決定する。実施例では、ユーザ設定プレイエリアに縦1メートル×横1メートルの正方形が含まれる場合、ユーザ設定プレイエリアのサイズが第2閾値以上と判定する。モード決定部276は、ユーザ設定プレイエリアが移動不可能なプレイエリアであることを示すデータをプレイエリア記憶部256に格納する(S20)。
ユーザ設定プレイエリアのサイズが第2閾値未満の場合、すなわち、ユーザ設定プレイエリアに縦1メートル×横1メートルの正方形が含まれない場合(S19のN)、モード決定部276は、テンポラリプレイエリアを設定することを決定する。テンポラリ設定部272は、テンポラリ設定エリアを設定する旨のメッセージをヘッドマウントディスプレイ100に表示させ、また、ユーザがコントローラ140を介して指定した位置にテンポラリプレイエリアを設定する。テンポラリプレイエリアは、ユーザによる編集が禁止された固定形状(言い換えれば固定サイズ)のプレイエリアである。実施例のテンポラリプレイエリアの形状は、半径1.5メートルの円である。
テンポラリプレイエリアを設定した場合、テンポラリ設定部272は、それまでプレイエリア記憶部256に記憶されたユーザ設定プレイエリアに関するデータに代えて、テンポラリプレイエリアに関するデータをプレイエリア記憶部256に格納する。このデータは、例えば、テンポラリプレイエリアの境界を構成する点群の座標値を含む。また、テンポラリ設定部272は、移動不可能なプレイエリアであることを示すデータをプレイエリア記憶部256に格納する(S21)。
図18も、画像生成装置200の動作を示すフローチャートである。同図は、VRゲーム実行時の画像生成装置200の動作を示している。ユーザが画像生成装置200においてVRゲームを起動すると(S30のY)、通知部278は、プレイエリア記憶部256に記憶されたプレイエリア(ユーザ設定プレイエリアまたはテンポラリプレイエリア)のデータ、例えば、プレイエリアの形状およびサイズを示すデータをApp実行部290へ送信する。また、通知部278は、上記プレイエリアが移動可能なプレイエリアと移動不可能なプレイエリアのいずれであるかを示すデータをApp実行部290へ送信する(S31)。
S31の処理と並行して、通知部278は、表示制御部292を介して、VRゲームプレイ中の移動可否をユーザに通知する(S32)。具体的には、表示制御部292は、モード決定部276によりユーザが移動可能なモードでVRゲームを動作させることが決定された場合であり、すなわち、移動可能なプレイエリアであることを示すデータがプレイエリア記憶部256に記憶されている場合、VRゲームのプレイ中にユーザが移動可能であることを示すメッセージをヘッドマウントディスプレイ100の表示パネルに表示させる。
一方、モード決定部276によりユーザが移動不可能なモードでVRゲームを動作させることが決定された場合であり、すなわち、移動不可能なプレイエリアであることを示すデータがプレイエリア記憶部256に記憶されている場合、表示制御部292は、VRゲームのプレイ中にユーザが移動不可能であることを示すメッセージをヘッドマウントディスプレイ100の表示パネルに表示させる。このメッセージは、例えば、VRゲームのプレイ中に移動しないよう警告する内容のメッセージであってもよい。
画像生成装置200のApp実行部290は、App記憶部254からVRゲームのプログラムデータを読み出し、VRゲームを開始する(S33)。例えば、App実行部290は、ゲーム世界を描いた仮想空間の中でプレイエリア(テンポラリプレイエリアを含む)の範囲内にゲームアイテムを配置することによりユーザにそのアイテムを取得させてもよい。表示制御部292は、App実行部290により生成されたVRゲームの画像(例えばVR画像)をヘッドマウントディスプレイ100の表示パネルに表示させる。
画像生成装置200のカメラ画像取得部262は、ヘッドマウントディスプレイ100から逐次送信されたカメラ画像を逐次取得し、位置推定部280は、実世界におけるユーザの位置および視線方向を逐次推定する(S34)。通知部278は、位置推定部280により推定されたユーザの位置および視線方向をApp実行部290へ通知する(S35)。App実行部290は、推定されたユーザの位置および視線方向に応じてVRゲームを進行させる(S36)。例えば、ユーザが移動可能なプレイエリアである場合、App実行部290は、実世界(言い換えればプレイエリア内)におけるユーザの位置の変化に応じて、VRゲーム内のユーザキャラクタを移動させてもよい。
画像生成装置200の警告処理部282は、実世界におけるユーザの位置がプレイエリアの境界近傍に至った場合、例えば、ユーザに装着されたヘッドマウントディスプレイ100からプレイエリアの境界までの距離が所定の閾値(例えば30センチ)以下になった場合(S37のY)、そのことを検出する。警告処理部282は、ユーザに対する所定の警告処理を実行する(S38)。
例えば、警告処理部282は、ユーザの位置がプレイエリアの境界近傍に至った場合、プレイエリアの境界を示す画像(例えば図12に示した境界64)を表示制御部292に渡してもよい。表示制御部292は、App実行部290により生成されたゲーム画像に、プレイエリアの境界を示す画像を重畳したものを表示画像としてヘッドマウントディスプレイ100の表示パネルに表示させてもよい。また、警告処理部282は、実世界におけるユーザの位置がプレイエリアの境界近傍に至った場合やプレイエリアの境界を超えてしまった場合、表示制御部292を介してヘッドマウントディスプレイ100の表示パネルにビデオシースルー画像を表示させても良い。また、警告処理部282は、実世界におけるユーザの位置がプレイエリアの境界近傍に至った場合(例えば30センチ)、最初にプレイエリアの境界を示す画像を表示させ、実世界におけるユーザの位置がさらにプレイエリアの境界近傍に至った場合(例えば10センチ)は、ビデオシースルー画像を表示させても良い 。一方、実世界におけるユーザの位置がプレイエリアの境界近傍でなければ(S37のN)、S38をスキップする。
ユーザによりVRゲームの実行が停止された場合等、所定の終了条件を満たした場合(S39のY)、本図のフローを終了する。終了条件が満たされなければ(S39のN)、S34に戻り、VRゲームを続行する。VRゲームが起動されなければ(S30のN)、S31以降の処理をスキップする。
実施例の画像表示システム10によると、ヘッドマウントディスプレイ100で撮像されたカメラ画像に基づいてプレイエリアを自動検出した後に、ユーザにプレイエリアを手動編集させる。また、プレイエリアの手動編集では、プレイエリアの拡大と縮小の両方が可能なユーザインタフェース(プレイエリア編集画面60)を提供する。これにより、ユーザが任意形状のプレイエリアを効率的に設定できるよう支援できる。
また、実施例の画像表示システム10によると、設定されたプレイエリアのサイズに応じて、ユーザが移動可能なモードでVRゲームを動作させるか、または、ユーザが移動不可能なモードでVRゲームを動作させるかを自動で決定する。このように、設定されたプレイエリアのサイズに応じてアプリケーションの動作モードを自動的に切り替えることにより、ユーザに何回ものプレイエリアの設定を試行させることを抑制し、また、ヘッドマウントディスプレイ100を装着してアプリケーションをプレイするユーザの安全性を高めることができる。
また、VR画像を生成するアプリケーションは、プレイエリアの中に様々なオブジェクト(ゲームのアイテム等)を配置することがあり、プレイエリアはある程度のサイズが確保されることが望ましい。実施例の画像表示システム10は、ユーザ設定プレイエリアのサイズが小さい場合(上記の第2閾値未満の場合)、固定形状のテンポラリプレイエリアを設定する。これにより、プレイエリアのサイズを一定程度確保でき、プレイエリアが小さすぎてヘッドマウントディスプレイ100での画像表示による世界観の醸成(例えばVRゲームの興趣)が損なわれることを防止できる。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
プレイエリアの手動編集に関する変形例を説明する。
図19(a)-(d)は、プレイエリアを拡大させる編集の変形例を示す。実施例と同様に、図19(a)~(c)に示すように、ユーザは、プレイエリア編集画面60においてコントローラカーソル66を移動させ、コントローラカーソル66の移動軌跡を示す線として、プレイエリア62の内からプレイエリア62の外に出てプレイエリア62の内に入る線を描く。この場合、図19(d)に示すように、プレイエリア編集部270は、描かれた線により囲まれた領域をプレイエリア62に追加する。なお、変形例におけるコントローラカーソル66の移動軌跡を示す線の幅は、実施例におけるコントローラカーソル66の移動軌跡を示す線の幅より細い。
図19(a)-(d)は、プレイエリアを拡大させる編集の変形例を示す。実施例と同様に、図19(a)~(c)に示すように、ユーザは、プレイエリア編集画面60においてコントローラカーソル66を移動させ、コントローラカーソル66の移動軌跡を示す線として、プレイエリア62の内からプレイエリア62の外に出てプレイエリア62の内に入る線を描く。この場合、図19(d)に示すように、プレイエリア編集部270は、描かれた線により囲まれた領域をプレイエリア62に追加する。なお、変形例におけるコントローラカーソル66の移動軌跡を示す線の幅は、実施例におけるコントローラカーソル66の移動軌跡を示す線の幅より細い。
ここでユーザが、コントローラカーソル66の移動軌跡を示す線として、プレイエリア62の内からプレイエリア62の外に出てプレイエリア62の外で終了する線を描いた場合を考える。この場合、本変形例では、プレイエリア編集部270は、プレイエリア62のそれまでの形状を維持する。言い換えれば、プレイエリア編集部270は、描かれた線をキャンセルし、言い換えれば、プレイエリア62を拡大させない。
図20(a)-(b)は、プレイエリアを縮小させる編集の変形例を示す。実施例と同様に、図20(a)に示すように、ユーザは、プレイエリア編集画面60においてコントローラカーソル66を移動させ、コントローラカーソル66の移動軌跡を示す線として、プレイエリア62の外からプレイエリア62の内に入ってプレイエリア62の外に出る線を描く。この場合、図20(b)に示すように、プレイエリア編集部270は、描かれた線により分断されたプレイエリア62の一方を削除する。プレイエリア編集部270は、分断されたプレイエリアの一方がユーザが存在するエリアであり、他方がユーザが存在しないエリアである場合、ユーザが存在しないエリアを削除する。
ここでユーザが、コントローラカーソル66の移動軌跡を示す線として、プレイエリア62の外からプレイエリア62の内に入ってプレイエリア62の内で終了する線を描いた場合を考える。この場合、本変形例では、プレイエリア編集部270は、プレイエリア62のそれまでの形状を維持する。言い換えれば、プレイエリア編集部270は、描かれた線をキャンセルし、言い換えれば、プレイエリア62を縮小させない。
上述した実施例および変形例の任意の組み合わせもまた本開示の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
実施例および変形例の記載に基づく技術思想は、以下の各項目のように表現することができる。
[項目1-1]
ヘッドマウントディスプレイのカメラにより撮像されたユーザの周囲空間を映したカメラ画像に基づいて、前記ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアを自動検出するプレイエリア検出部と、
前記プレイエリア検出部により自動検出されたプレイエリアを示す画像を前記ヘッドマウントディスプレイに表示させる表示制御部と、
前記プレイエリアを編集するユーザの操作を受け付け、その操作に応じて前記プレイエリアの形状を変更するプレイエリア編集部と、
を備える情報処理装置。
この情報処理装置によると、ユーザが任意形状のプレイエリアを効率的に設定できるよう支援できる。
[項目1-2]
前記プレイエリア検出部が前記プレイエリアを検出することと並行して、前記カメラ画像に基づいて、ユーザの位置を推定するためのマップを生成するマップ生成部と、
前記マップ生成部は、前記ユーザの周囲空間を複数の方向から映した複数枚のカメラ画像であって、予め定められた枚数以上のカメラ画像が入力された場合、前記マップの生成処理を終了する、
項目1-1に記載の情報処理装置。
この情報処理装置によると、ユーザの位置を推定する精度を高めることができる。
[項目1-3]
前記マップ生成部は、前記ユーザの周囲空間を異なる態様で分割した複数の基準に基づいて、前記ユーザの周囲空間のうち入力された複数枚のカメラ画像によりカバーされる割合に関するスコアを導出し、そのスコアが所定の閾値以上になった場合、前記マップの生成処理を終了する、
項目1-2に記載の情報処理装置。
この情報処理装置によると、ユーザの位置を推定するためのマップの網羅性を高めることができる。
[項目1-4]
ヘッドマウントディスプレイのカメラにより撮像されたユーザの周囲空間を映したカメラ画像に基づいて、前記ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアを自動検出するステップと、
自動検出されたプレイエリアを示す画像を前記ヘッドマウントディスプレイに表示させるステップと、
前記プレイエリアを編集するユーザの操作を受け付け、その操作に応じて前記プレイエリアの形状を変更するステップと、
をコンピュータが実行する情報処理方法。
この情報処理方法によると、ユーザが任意形状のプレイエリアを効率的に設定できるようコンピュータに支援させることができる。
[項目1-5]
ヘッドマウントディスプレイのカメラにより撮像されたユーザの周囲空間を映したカメラ画像に基づいて、前記ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアを自動検出する機能と、
自動検出されたプレイエリアを示す画像を前記ヘッドマウントディスプレイに表示させる機能と、
前記プレイエリアを編集するユーザの操作を受け付け、その操作に応じて前記プレイエリアの形状を変更する機能と、
をコンピュータに実現させるためのコンピュータプログラム。
このコンピュータプログラムによると、ユーザが任意形状のプレイエリアを効率的に設定できるようコンピュータに支援させることができる。
[項目1-1]
ヘッドマウントディスプレイのカメラにより撮像されたユーザの周囲空間を映したカメラ画像に基づいて、前記ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアを自動検出するプレイエリア検出部と、
前記プレイエリア検出部により自動検出されたプレイエリアを示す画像を前記ヘッドマウントディスプレイに表示させる表示制御部と、
前記プレイエリアを編集するユーザの操作を受け付け、その操作に応じて前記プレイエリアの形状を変更するプレイエリア編集部と、
を備える情報処理装置。
この情報処理装置によると、ユーザが任意形状のプレイエリアを効率的に設定できるよう支援できる。
[項目1-2]
前記プレイエリア検出部が前記プレイエリアを検出することと並行して、前記カメラ画像に基づいて、ユーザの位置を推定するためのマップを生成するマップ生成部と、
前記マップ生成部は、前記ユーザの周囲空間を複数の方向から映した複数枚のカメラ画像であって、予め定められた枚数以上のカメラ画像が入力された場合、前記マップの生成処理を終了する、
項目1-1に記載の情報処理装置。
この情報処理装置によると、ユーザの位置を推定する精度を高めることができる。
[項目1-3]
前記マップ生成部は、前記ユーザの周囲空間を異なる態様で分割した複数の基準に基づいて、前記ユーザの周囲空間のうち入力された複数枚のカメラ画像によりカバーされる割合に関するスコアを導出し、そのスコアが所定の閾値以上になった場合、前記マップの生成処理を終了する、
項目1-2に記載の情報処理装置。
この情報処理装置によると、ユーザの位置を推定するためのマップの網羅性を高めることができる。
[項目1-4]
ヘッドマウントディスプレイのカメラにより撮像されたユーザの周囲空間を映したカメラ画像に基づいて、前記ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアを自動検出するステップと、
自動検出されたプレイエリアを示す画像を前記ヘッドマウントディスプレイに表示させるステップと、
前記プレイエリアを編集するユーザの操作を受け付け、その操作に応じて前記プレイエリアの形状を変更するステップと、
をコンピュータが実行する情報処理方法。
この情報処理方法によると、ユーザが任意形状のプレイエリアを効率的に設定できるようコンピュータに支援させることができる。
[項目1-5]
ヘッドマウントディスプレイのカメラにより撮像されたユーザの周囲空間を映したカメラ画像に基づいて、前記ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアを自動検出する機能と、
自動検出されたプレイエリアを示す画像を前記ヘッドマウントディスプレイに表示させる機能と、
前記プレイエリアを編集するユーザの操作を受け付け、その操作に応じて前記プレイエリアの形状を変更する機能と、
をコンピュータに実現させるためのコンピュータプログラム。
このコンピュータプログラムによると、ユーザが任意形状のプレイエリアを効率的に設定できるようコンピュータに支援させることができる。
[項目2-1]
ヘッドマウントディスプレイを装着したユーザの周囲空間においてアプリケーションのプレイ中にユーザが移動可能なプレイエリアを記憶する記憶部と、
前記記憶部に記憶されたプレイエリアを示す画像を前記ヘッドマウントディスプレイに表示させる表示制御部と、
前記プレイエリアを編集するユーザの操作を受け付け、前記ユーザの操作に応じて前記プレイエリアを縮小するプレイエリア編集部と、
を備える情報処理装置。
この情報処理装置によると、ユーザが所望の形状のプレイエリアを設定できるよう支援できる。
[項目2-2]
前記ヘッドマウントディスプレイのカメラにより撮像されたユーザの周囲空間を映したカメラ画像に基づいて、前記プレイエリアを自動検出するプレイエリア検出部をさらに備え、
前記プレイエリア編集部は、前記プレイエリア検出部により自動検出されたプレイエリアを前記ユーザの操作に応じて縮小する、
項目2-1に記載の情報処理装置。
この情報処理装置によると、ユーザが所望の形状のプレイエリアを効率的に設定できるよう支援できる。
[項目2-3]
前記プレイエリア編集部は、前記プレイエリアの外から前記プレイエリアの内に入って前記プレイエリアの外に出る線をユーザが描いた場合、前記線により分断されたプレイエリアの一方を削除する、
項目2-1または2-2に記載の情報処理装置。
この情報処理装置によると、直感的な操作で不要なプレイエリアを削除可能なユーザインタフェースを提供できる。
[項目2-4]
前記プレイエリア編集部は、前記線により分断されたプレイエリアの一方がユーザが存在するエリアであり、他方がユーザが存在しないエリアである場合、前記ユーザが存在しないエリアを削除する、
項目2-3に記載の情報処理装置。
この情報処理装置によると、直感的な操作で不要なプレイエリアを削除可能なユーザインタフェースを提供できる。
[項目2-5]
前記プレイエリア編集部は、前記プレイエリアの外から前記プレイエリアの内に入って前記プレイエリアの内で終了する線をユーザが描いた場合、前記線に沿った領域を前記プレイエリアから削除する、
項目2-3または2-4に記載の情報処理装置。
この情報処理装置によると、直感的な操作で不要なプレイエリアを削除可能なユーザインタフェースを提供できる。
[項目2-6]
前記プレイエリア編集部は、前記プレイエリアの外から前記プレイエリアの内に入って前記プレイエリアの内で終了する線をユーザが描いた場合、前記プレイエリアのそれまでの形状を維持する、
項目2-3または2-4に記載の情報処理装置。
この情報処理装置によると、ユーザの意図に反してプレイエリアが削除されることを防止できる。
[項目2-7]
前記プレイエリア編集部は、前記プレイエリアの内から前記プレイエリアの外に出て前記プレイエリアの内に入る線をユーザが描いた場合、前記線により囲まれた領域を前記プレイエリアに追加する、
項目2-3に記載の情報処理装置。
この情報処理装置によると、直感的な操作でプレイエリアを拡大可能なユーザインタフェースを提供できる。
[項目2-8]
前記プレイエリア編集部は、前記プレイエリアの内から前記プレイエリアの外に出て前記プレイエリアの外で終了する線をユーザが描いた場合、前記線に沿った領域を前記プレイエリアに追加する、
項目2-7に記載の情報処理装置。
この情報処理装置によると、直感的な操作でプレイエリアを拡大可能なユーザインタフェースを提供できる。
[項目2-9]
前記プレイエリア編集部は、前記プレイエリアの内から前記プレイエリアの外に出て前記プレイエリアの外で終了する線をユーザが描いた場合、前記プレイエリアのそれまでの形状を維持する、
項目2-7に記載の情報処理装置。
この情報処理装置によると、ユーザの意図に反してプレイエリアが拡大されることを防止できる。
[項目2-10]
ヘッドマウントディスプレイを装着したユーザの周囲空間においてアプリケーションのプレイ中にユーザが移動可能なプレイエリアを記憶する記憶部を備えるコンピュータが、
前記記憶部に記憶されたプレイエリアを示す画像を前記ヘッドマウントディスプレイに表示させるステップと、
前記プレイエリアを編集するユーザの操作を受け付け、前記ユーザの操作に応じて前記プレイエリアを縮小するステップと、
を実行する情報処理方法。
この情報処理方法によると、ユーザが所望の形状のプレイエリアを設定できるようコンピュータに支援させることができる。
[項目2-11]
ヘッドマウントディスプレイを装着したユーザの周囲空間においてアプリケーションのプレイ中にユーザが移動可能なプレイエリアを記憶する記憶部を備えるコンピュータに、
前記記憶部に記憶されたプレイエリアを示す画像を前記ヘッドマウントディスプレイに表示させる機能と、
前記プレイエリアを編集するユーザの操作を受け付け、前記ユーザの操作に応じて前記プレイエリアを縮小する機能と、
を実現させるためのコンピュータプログラム。
このコンピュータプログラムによると、ユーザが所望の形状のプレイエリアを設定できるようコンピュータに支援させることができる。
ヘッドマウントディスプレイを装着したユーザの周囲空間においてアプリケーションのプレイ中にユーザが移動可能なプレイエリアを記憶する記憶部と、
前記記憶部に記憶されたプレイエリアを示す画像を前記ヘッドマウントディスプレイに表示させる表示制御部と、
前記プレイエリアを編集するユーザの操作を受け付け、前記ユーザの操作に応じて前記プレイエリアを縮小するプレイエリア編集部と、
を備える情報処理装置。
この情報処理装置によると、ユーザが所望の形状のプレイエリアを設定できるよう支援できる。
[項目2-2]
前記ヘッドマウントディスプレイのカメラにより撮像されたユーザの周囲空間を映したカメラ画像に基づいて、前記プレイエリアを自動検出するプレイエリア検出部をさらに備え、
前記プレイエリア編集部は、前記プレイエリア検出部により自動検出されたプレイエリアを前記ユーザの操作に応じて縮小する、
項目2-1に記載の情報処理装置。
この情報処理装置によると、ユーザが所望の形状のプレイエリアを効率的に設定できるよう支援できる。
[項目2-3]
前記プレイエリア編集部は、前記プレイエリアの外から前記プレイエリアの内に入って前記プレイエリアの外に出る線をユーザが描いた場合、前記線により分断されたプレイエリアの一方を削除する、
項目2-1または2-2に記載の情報処理装置。
この情報処理装置によると、直感的な操作で不要なプレイエリアを削除可能なユーザインタフェースを提供できる。
[項目2-4]
前記プレイエリア編集部は、前記線により分断されたプレイエリアの一方がユーザが存在するエリアであり、他方がユーザが存在しないエリアである場合、前記ユーザが存在しないエリアを削除する、
項目2-3に記載の情報処理装置。
この情報処理装置によると、直感的な操作で不要なプレイエリアを削除可能なユーザインタフェースを提供できる。
[項目2-5]
前記プレイエリア編集部は、前記プレイエリアの外から前記プレイエリアの内に入って前記プレイエリアの内で終了する線をユーザが描いた場合、前記線に沿った領域を前記プレイエリアから削除する、
項目2-3または2-4に記載の情報処理装置。
この情報処理装置によると、直感的な操作で不要なプレイエリアを削除可能なユーザインタフェースを提供できる。
[項目2-6]
前記プレイエリア編集部は、前記プレイエリアの外から前記プレイエリアの内に入って前記プレイエリアの内で終了する線をユーザが描いた場合、前記プレイエリアのそれまでの形状を維持する、
項目2-3または2-4に記載の情報処理装置。
この情報処理装置によると、ユーザの意図に反してプレイエリアが削除されることを防止できる。
[項目2-7]
前記プレイエリア編集部は、前記プレイエリアの内から前記プレイエリアの外に出て前記プレイエリアの内に入る線をユーザが描いた場合、前記線により囲まれた領域を前記プレイエリアに追加する、
項目2-3に記載の情報処理装置。
この情報処理装置によると、直感的な操作でプレイエリアを拡大可能なユーザインタフェースを提供できる。
[項目2-8]
前記プレイエリア編集部は、前記プレイエリアの内から前記プレイエリアの外に出て前記プレイエリアの外で終了する線をユーザが描いた場合、前記線に沿った領域を前記プレイエリアに追加する、
項目2-7に記載の情報処理装置。
この情報処理装置によると、直感的な操作でプレイエリアを拡大可能なユーザインタフェースを提供できる。
[項目2-9]
前記プレイエリア編集部は、前記プレイエリアの内から前記プレイエリアの外に出て前記プレイエリアの外で終了する線をユーザが描いた場合、前記プレイエリアのそれまでの形状を維持する、
項目2-7に記載の情報処理装置。
この情報処理装置によると、ユーザの意図に反してプレイエリアが拡大されることを防止できる。
[項目2-10]
ヘッドマウントディスプレイを装着したユーザの周囲空間においてアプリケーションのプレイ中にユーザが移動可能なプレイエリアを記憶する記憶部を備えるコンピュータが、
前記記憶部に記憶されたプレイエリアを示す画像を前記ヘッドマウントディスプレイに表示させるステップと、
前記プレイエリアを編集するユーザの操作を受け付け、前記ユーザの操作に応じて前記プレイエリアを縮小するステップと、
を実行する情報処理方法。
この情報処理方法によると、ユーザが所望の形状のプレイエリアを設定できるようコンピュータに支援させることができる。
[項目2-11]
ヘッドマウントディスプレイを装着したユーザの周囲空間においてアプリケーションのプレイ中にユーザが移動可能なプレイエリアを記憶する記憶部を備えるコンピュータに、
前記記憶部に記憶されたプレイエリアを示す画像を前記ヘッドマウントディスプレイに表示させる機能と、
前記プレイエリアを編集するユーザの操作を受け付け、前記ユーザの操作に応じて前記プレイエリアを縮小する機能と、
を実現させるためのコンピュータプログラム。
このコンピュータプログラムによると、ユーザが所望の形状のプレイエリアを設定できるようコンピュータに支援させることができる。
[項目3-1]
ヘッドマウントディスプレイを装着したユーザの周囲空間においてアプリケーションのプレイ中にユーザが移動可能なプレイエリアを設定するプレイエリア設定部と、
前記プレイエリア設定部により設定されたプレイエリアのサイズに応じて、ユーザが移動可能なモードで前記アプリケーションを動作させることを決定し、または、ユーザが移動不可能なモードで前記アプリケーションを動作させることを決定する決定部と、
を備える情報処理装置。
この情報処理装置によると、ヘッドマウントディスプレイを装着してアプリケーションをプレイするユーザの安全性を高めることができる。
[項目3-2]
前記決定部は、前記プレイエリアのサイズが所定の第1閾値以上の場合、ユーザが移動可能なモードで前記アプリケーションを動作させることを決定し、前記プレイエリアのサイズが前記第1閾値未満の場合、ユーザが移動不可能なモードで前記アプリケーションを動作させることを決定する、
項目3-1に記載の情報処理装置。
この情報処理装置によると、ヘッドマウントディスプレイを装着してアプリケーションをプレイするユーザの安全性を高めることができる。
[項目3-3]
前記プレイエリア設定部は、ユーザにより設定されたプレイエリアのサイズが前記第1閾値より小さい第2閾値未満の場合、前記ユーザにより設定されたプレイエリアに代えて、ユーザが移動不可能なプレイエリアであり、かつ、固定形状のプレイエリアであるテンポラリプレイエリアを設定する、
項目3-2に記載の情報処理装置。
この情報処理装置によると、プレイエリアのサイズを一定程度確保でき、プレイエリアが小さすぎてヘッドマウントディスプレイでの画像表示による世界観の醸成が損なわれることを防止できる。
[項目3-4]
前記決定部によりユーザが移動可能なモードで前記アプリケーションを動作させることが決定された場合、ユーザが移動可能であることを前記アプリケーションに通知し、前記決定部によりユーザが移動不可能なモードで前記アプリケーションを動作させることが決定された場合、ユーザが移動不可能であることを前記アプリケーションに通知する通知部をさらに備える、
項目3-1から3-3のいずれかに記載の情報処理装置。
この情報処理装置によると、プレイエリアのサイズに適合するモードでアプリケーションを動作させることができる。
[項目3-5]
前記決定部によりユーザが移動不可能なモードで前記アプリケーションを動作させることが決定された場合、前記アプリケーションのプレイ中にユーザが移動不可能であることを前記ヘッドマウントディスプレイに表示させる表示制御部をさらに備える、
項目3-1から3-4のいずれかに記載の情報処理装置。
この情報処理装置によると、アプリケーションのプレイ中に移動不可能であることをユーザに認知させることができる。
[項目3-6]
ヘッドマウントディスプレイを装着したユーザの周囲空間においてアプリケーションのプレイ中にユーザが移動可能なプレイエリアを設定するステップと、
設定されたプレイエリアのサイズに応じて、ユーザが移動可能なモードで前記アプリケーションを動作させるか、または、ユーザが移動不可能なモードで前記アプリケーションを動作させるかを決定するステップと、
をコンピュータが実行する情報処理方法。
この情報処理方法によると、ヘッドマウントディスプレイを装着してアプリケーションをプレイするユーザの安全性を高めることができる。
[項目3-7]
ヘッドマウントディスプレイを装着したユーザの周囲空間においてアプリケーションのプレイ中にユーザが移動可能なプレイエリアを設定する機能と、
設定されたプレイエリアのサイズに応じて、ユーザが移動可能なモードで前記アプリケーションを動作させるか、または、ユーザが移動不可能なモードで前記アプリケーションを動作させるかを決定する機能と、
をコンピュータに実現させるためのコンピュータプログラム。
このコンピュータプログラムによると、ヘッドマウントディスプレイを装着してアプリケーションをプレイするユーザの安全性を高めることができる。
ヘッドマウントディスプレイを装着したユーザの周囲空間においてアプリケーションのプレイ中にユーザが移動可能なプレイエリアを設定するプレイエリア設定部と、
前記プレイエリア設定部により設定されたプレイエリアのサイズに応じて、ユーザが移動可能なモードで前記アプリケーションを動作させることを決定し、または、ユーザが移動不可能なモードで前記アプリケーションを動作させることを決定する決定部と、
を備える情報処理装置。
この情報処理装置によると、ヘッドマウントディスプレイを装着してアプリケーションをプレイするユーザの安全性を高めることができる。
[項目3-2]
前記決定部は、前記プレイエリアのサイズが所定の第1閾値以上の場合、ユーザが移動可能なモードで前記アプリケーションを動作させることを決定し、前記プレイエリアのサイズが前記第1閾値未満の場合、ユーザが移動不可能なモードで前記アプリケーションを動作させることを決定する、
項目3-1に記載の情報処理装置。
この情報処理装置によると、ヘッドマウントディスプレイを装着してアプリケーションをプレイするユーザの安全性を高めることができる。
[項目3-3]
前記プレイエリア設定部は、ユーザにより設定されたプレイエリアのサイズが前記第1閾値より小さい第2閾値未満の場合、前記ユーザにより設定されたプレイエリアに代えて、ユーザが移動不可能なプレイエリアであり、かつ、固定形状のプレイエリアであるテンポラリプレイエリアを設定する、
項目3-2に記載の情報処理装置。
この情報処理装置によると、プレイエリアのサイズを一定程度確保でき、プレイエリアが小さすぎてヘッドマウントディスプレイでの画像表示による世界観の醸成が損なわれることを防止できる。
[項目3-4]
前記決定部によりユーザが移動可能なモードで前記アプリケーションを動作させることが決定された場合、ユーザが移動可能であることを前記アプリケーションに通知し、前記決定部によりユーザが移動不可能なモードで前記アプリケーションを動作させることが決定された場合、ユーザが移動不可能であることを前記アプリケーションに通知する通知部をさらに備える、
項目3-1から3-3のいずれかに記載の情報処理装置。
この情報処理装置によると、プレイエリアのサイズに適合するモードでアプリケーションを動作させることができる。
[項目3-5]
前記決定部によりユーザが移動不可能なモードで前記アプリケーションを動作させることが決定された場合、前記アプリケーションのプレイ中にユーザが移動不可能であることを前記ヘッドマウントディスプレイに表示させる表示制御部をさらに備える、
項目3-1から3-4のいずれかに記載の情報処理装置。
この情報処理装置によると、アプリケーションのプレイ中に移動不可能であることをユーザに認知させることができる。
[項目3-6]
ヘッドマウントディスプレイを装着したユーザの周囲空間においてアプリケーションのプレイ中にユーザが移動可能なプレイエリアを設定するステップと、
設定されたプレイエリアのサイズに応じて、ユーザが移動可能なモードで前記アプリケーションを動作させるか、または、ユーザが移動不可能なモードで前記アプリケーションを動作させるかを決定するステップと、
をコンピュータが実行する情報処理方法。
この情報処理方法によると、ヘッドマウントディスプレイを装着してアプリケーションをプレイするユーザの安全性を高めることができる。
[項目3-7]
ヘッドマウントディスプレイを装着したユーザの周囲空間においてアプリケーションのプレイ中にユーザが移動可能なプレイエリアを設定する機能と、
設定されたプレイエリアのサイズに応じて、ユーザが移動可能なモードで前記アプリケーションを動作させるか、または、ユーザが移動不可能なモードで前記アプリケーションを動作させるかを決定する機能と、
をコンピュータに実現させるためのコンピュータプログラム。
このコンピュータプログラムによると、ヘッドマウントディスプレイを装着してアプリケーションをプレイするユーザの安全性を高めることができる。
10 画像表示システム、 100 ヘッドマウントディスプレイ、 200 画像生成装置、 256 プレイエリア記憶部、 264 プレイエリア設定部、 266 プレイエリア検出部、 270 プレイエリア編集部、 272 テンポラリ設定部、 274 マップ生成部、 276 モード決定部、 292 表示制御部。
Claims (5)
- ヘッドマウントディスプレイのカメラにより撮像されたユーザの周囲空間を映したカメラ画像に基づいて、前記ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアを自動検出するプレイエリア検出部と、
前記プレイエリア検出部により自動検出されたプレイエリアを示す画像を前記ヘッドマウントディスプレイに表示させる表示制御部と、
前記プレイエリアを編集するユーザの操作を受け付け、その操作に応じて前記プレイエリアの形状を変更するプレイエリア編集部と、
を備える情報処理装置。 - 前記プレイエリア検出部が前記プレイエリアを検出することと並行して、前記カメラ画像に基づいて、ユーザの位置を推定するためのマップを生成するマップ生成部と、
前記マップ生成部は、前記ユーザの周囲空間を複数の方向から映した複数枚のカメラ画像であって、予め定められた枚数以上のカメラ画像が入力された場合、前記マップの生成処理を終了する、
請求項1に記載の情報処理装置。 - 前記マップ生成部は、前記ユーザの周囲空間を異なる態様で分割した複数の基準に基づいて、前記ユーザの周囲空間のうち入力された複数枚のカメラ画像によりカバーされる割合に関するスコアを導出し、そのスコアが所定の閾値以上になった場合、前記マップの生成処理を終了する、
請求項2に記載の情報処理装置。 - ヘッドマウントディスプレイのカメラにより撮像されたユーザの周囲空間を映したカメラ画像に基づいて、前記ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアを自動検出するステップと、
自動検出されたプレイエリアを示す画像を前記ヘッドマウントディスプレイに表示させるステップと、
前記プレイエリアを編集するユーザの操作を受け付け、その操作に応じて前記プレイエリアの形状を変更するステップと、
をコンピュータが実行する情報処理方法。 - ヘッドマウントディスプレイのカメラにより撮像されたユーザの周囲空間を映したカメラ画像に基づいて、前記ヘッドマウントディスプレイを装着したユーザがアプリケーションのプレイ中に移動可能なプレイエリアを自動検出する機能と、
自動検出されたプレイエリアを示す画像を前記ヘッドマウントディスプレイに表示させる機能と、
前記プレイエリアを編集するユーザの操作を受け付け、その操作に応じて前記プレイエリアの形状を変更する機能と、
をコンピュータに実現させるためのコンピュータプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021120404A JP2023016226A (ja) | 2021-07-21 | 2021-07-21 | 情報処理装置、情報処理方法およびコンピュータプログラム |
CN202280050367.7A CN117677981A (zh) | 2021-07-21 | 2022-06-21 | 信息处理设备、信息处理方法和计算机程序 |
PCT/JP2022/024696 WO2023002792A1 (ja) | 2021-07-21 | 2022-06-21 | 情報処理装置、情報処理方法およびコンピュータプログラム |
KR1020247003712A KR20240038728A (ko) | 2021-07-21 | 2022-06-21 | 정보 처리 장치, 정보 처리 방법 및 컴퓨터 프로그램 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021120404A JP2023016226A (ja) | 2021-07-21 | 2021-07-21 | 情報処理装置、情報処理方法およびコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023016226A true JP2023016226A (ja) | 2023-02-02 |
Family
ID=84979970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021120404A Pending JP2023016226A (ja) | 2021-07-21 | 2021-07-21 | 情報処理装置、情報処理方法およびコンピュータプログラム |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP2023016226A (ja) |
KR (1) | KR20240038728A (ja) |
CN (1) | CN117677981A (ja) |
WO (1) | WO2023002792A1 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6675209B2 (ja) * | 2016-01-20 | 2020-04-01 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびユーザガイド提示方法 |
JP2021140194A (ja) * | 2018-05-24 | 2021-09-16 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、およびプログラム |
-
2021
- 2021-07-21 JP JP2021120404A patent/JP2023016226A/ja active Pending
-
2022
- 2022-06-21 WO PCT/JP2022/024696 patent/WO2023002792A1/ja active Application Filing
- 2022-06-21 CN CN202280050367.7A patent/CN117677981A/zh active Pending
- 2022-06-21 KR KR1020247003712A patent/KR20240038728A/ko unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023002792A1 (ja) | 2023-01-26 |
KR20240038728A (ko) | 2024-03-25 |
CN117677981A (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10864433B2 (en) | Using a portable device to interact with a virtual space | |
US10845969B2 (en) | System and method for navigating a field of view within an interactive media-content item | |
CN110944727B (zh) | 控制虚拟照相机的系统和方法 | |
US10671239B2 (en) | Three dimensional digital content editing in virtual reality | |
US9781354B2 (en) | Controlling a virtual camera | |
US11361542B2 (en) | Augmented reality apparatus and method | |
US7639233B2 (en) | Man-machine interface using a deformable device | |
TWI567659B (zh) | 照片表示視圖的基於主題的增強 | |
US11250633B2 (en) | Image processing apparatus, display method, and non-transitory computer-readable storage medium, for displaying a virtual viewpoint image including an object at different points in time | |
JP2005310020A (ja) | 3次元画像生成装置および3次元画像生成プログラム | |
KR102484197B1 (ko) | 정보 처리장치, 정보 처리방법 및 기억매체 | |
US20210306616A1 (en) | Information processing apparatus, information processing method and storage medium | |
WO2020050103A1 (ja) | 仮想視点の制御装置及びその制御方法 | |
US20230353717A1 (en) | Image processing system, image processing method, and storage medium | |
WO2023002792A1 (ja) | 情報処理装置、情報処理方法およびコンピュータプログラム | |
WO2023002793A1 (ja) | 情報処理装置、情報処理方法およびコンピュータプログラム | |
WO2023002652A1 (ja) | 情報処理装置、情報処理方法およびコンピュータプログラム | |
JP2005267006A (ja) | 情報処理装置および画像生成プログラム | |
JP2023057124A (ja) | 画像処理装置及び方法、プログラム | |
KR20160114481A (ko) | 객체 상태 저장 방식 게임 동영상 녹화 및 재생 방법 | |
JP3951246B2 (ja) | ゲーム装置 | |
JPH10230075A (ja) | ゲーム装置 | |
WO2023140004A1 (ja) | 情報処理装置および情報処理方法 | |
WO2023157471A1 (ja) | 情報処理装置および情報処理方法 | |
WO2024038787A1 (ja) | 情報処理装置および情報処理方法 |