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

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

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

<>
  • 特開-情報処理装置および情報処理方法 図1
  • 特開-情報処理装置および情報処理方法 図2
  • 特開-情報処理装置および情報処理方法 図3
  • 特開-情報処理装置および情報処理方法 図4
  • 特開-情報処理装置および情報処理方法 図5
  • 特開-情報処理装置および情報処理方法 図6
  • 特開-情報処理装置および情報処理方法 図7
  • 特開-情報処理装置および情報処理方法 図8
  • 特開-情報処理装置および情報処理方法 図9
  • 特開-情報処理装置および情報処理方法 図10
  • 特開-情報処理装置および情報処理方法 図11
  • 特開-情報処理装置および情報処理方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024033849
(43)【公開日】2024-03-13
(54)【発明の名称】情報処理装置および情報処理方法
(51)【国際特許分類】
   G06T 19/00 20110101AFI20240306BHJP
   G06V 20/20 20220101ALI20240306BHJP
   G06T 7/70 20170101ALI20240306BHJP
【FI】
G06T19/00 600
G06V20/20
G06T7/70 Z
G06T19/00 A
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022137724
(22)【出願日】2022-08-31
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り https://blog.ja.playstation.com/2022/07/26/20220726-psvr2/(令和4年7月26日)
(71)【出願人】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(74)【代理人】
【識別番号】100109047
【弁理士】
【氏名又は名称】村田 雄祐
(74)【代理人】
【識別番号】100109081
【弁理士】
【氏名又は名称】三木 友由
(74)【代理人】
【識別番号】100134256
【弁理士】
【氏名又は名称】青木 武司
(72)【発明者】
【氏名】早川 雄登
(72)【発明者】
【氏名】南野 孝範
【テーマコード(参考)】
5B050
5L096
【Fターム(参考)】
5B050AA08
5B050AA09
5B050BA04
5B050BA06
5B050BA09
5B050BA11
5B050BA13
5B050CA01
5B050DA01
5B050EA07
5B050EA19
5B050EA26
5B050FA02
5B050FA06
5L096CA05
5L096DA04
5L096FA69
(57)【要約】
【課題】ヘッドマウントディスプレイが備えるカメラによる撮影画像を用いて、高い精度の環境地図を効率的に取得する。
【解決手段】画像生成装置のマップ生成部は、ヘッドマウントディスプレイのステレオカメラが撮影する画像に基づき周囲空間における実物体の面を検出し、マップデータを生成する。その期間において見回し画面生成部は、面が検出された範囲74aのうち、ビデオシースルーにおけるカメラ画像の視野76aの中心領域に映る面の形状を表すメッシュ78aを、カメラ画像に重畳させる。見回し画面生成部は、カメラ画像の視野76b、76cの変化に応じ、メッシュ78b、78cで表す範囲を広げていく。
【選択図】図10
【特許請求の範囲】
【請求項1】
ヘッドマウントディスプレイのカメラにより撮像されたカメラ画像に基づいて、3次元空間における実物体の面を検出し、その情報を表すマップデータを生成するマップ生成部と、
前記マップデータと前記カメラ画像とを照合して、アプリケーションの実行に用いるユーザの位置を推定する位置推定部と、
前記マップデータの生成期間において、検出済みの実物体の面を表すオブジェクトを、前記カメラ画像の対応する面の像に重畳させた合成画像を、前記ヘッドマウントディスプレイに表示させる見回し画面生成部と、
を備えたことを特徴とする情報処理装置。
【請求項2】
前記見回し画面生成部は、前記検出済みの実物体の面のうち、ユーザの視線の変化に基づき選択した範囲について、前記オブジェクトを表すことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記見回し画面生成部は、前記視線の変化により、前記カメラ画像の視野における所定範囲の領域に入った前記実物体の面を表すオブジェクトを、それまでに表されたオブジェクトに追加して表すことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記見回し画面生成部は前記オブジェクトとして、前記実物体の面の3次元形状を表すポリゴンメッシュを表すことを特徴とする請求項1から3のいずれかに記載の情報処理装置。
【請求項5】
ユーザの視線の方向を所定のレートで検出する視線方向検出部をさらに備え、
前記見回し画面生成部は、前記視線の方向の変化に基づき所定時間後の前記カメラ画像の視野を予測し、当該予測結果に基づき、前記オブジェクトを表す範囲を決定したうえ、前記所定時間後の前記カメラ画像に重畳させることを特徴とする請求項2または3に記載の情報処理装置。
【請求項6】
前記見回し画面生成部は、前記3次元空間における、前記オブジェクトを表示させた範囲に係る情報を記憶部に記憶させ、前記カメラ画像の視野に当該範囲が再度入ったとき、対応するオブジェクトを再表示することを特徴とする請求項2または3に記載の情報処理装置。
【請求項7】
ヘッドマウントディスプレイのカメラにより撮像されたカメラ画像に基づいて、3次元空間における実物体の面を検出し、その情報を表すマップデータを生成するステップと、
前記マップデータと前記カメラ画像とを照合して、アプリケーションの実行に用いるユーザの位置を推定するステップと、
前記マップデータの生成期間において、検出済みの実物体の面を表すオブジェクトを、前記カメラ画像の対応する面の像に重畳させた合成画像を、前記ヘッドマウントディスプレイに表示させるステップと、
を含むことを特徴とする情報処理方法。
【請求項8】
ヘッドマウントディスプレイのカメラにより撮像されたカメラ画像に基づいて、3次元空間における実物体の面を検出し、その情報を表すマップデータを生成する機能と、
前記マップデータと前記カメラ画像とを照合して、アプリケーションの実行に用いるユーザの位置を推定する機能と、
前記マップデータの生成期間において、検出済みの実物体の面を表すオブジェクトを、前記カメラ画像の対応する面の像に重畳させた合成画像を、前記ヘッドマウントディスプレイに表示させる機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ヘッドマウントディスプレイに係るデータを処理する情報処理装置および情報処理方法に関する。
【背景技術】
【0002】
ヘッドマウントディスプレイを装着したユーザが対象空間を自由な視点から鑑賞できる画像表示システムが普及している。例えば仮想3次元空間を表示対象とし、ユーザの視線方向に応じた画像がヘッドマウントディスプレイに表示されるようにすることで仮想現実(Virtual Reality:VR)を実現する電子コンテンツが知られている。ヘッドマウントディスプレイを利用することで、映像への没入感を高めたり、ゲーム等のアプリケーションの操作性を向上させたりすることもできる。また、ヘッドマウントディスプレイを装着したユーザが物理的に移動することで、映像として表示された空間内を仮想的に歩き回ることのできるウォークスルーシステムも開発されている。
【0003】
ヘッドマウントディスプレイに表示させた画像世界への臨場感を高め、高品質なユーザ体験を提供するには、ユーザの頭部の位置や姿勢を精度よく取得し、それに応じて表示画像の視野を適切に変化させることが求められる。そのため、ユーザのいる空間の環境地図を事前に取得し、ヘッドマウントディスプレイが備えるカメラによる撮影画像との照合を行うことにより位置姿勢の情報を取得する技術が実用化されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の技術では、環境地図の精度が運用時のユーザ体験の質を決定づける。一方、環境地図の取得は、ユーザが個々の環境で行う必要があるため、その精度や取得作業の効率はユーザ自身や部屋にある物など個々の事情に依存しやすい。精度の高い環境地図を安定的に得るため、ユーザの負担を最小限に、必要十分な情報を効率的に得られるようにするしくみが求められている。
【0005】
本発明はこうした課題に鑑みてなされたものであり、その目的は、ヘッドマウントディスプレイが備えるカメラによる撮影画像を用いて、高い精度の環境地図を効率的に取得できる技術を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のある態様は情報処理装置に関する。この情報処理装置は、ヘッドマウントディスプレイのカメラにより撮像されたカメラ画像に基づいて、3次元空間における実物体の面を検出し、その情報を表すマップデータを生成するマップ生成部と、マップデータとカメラ画像とを照合して、アプリケーションの実行に用いるユーザの位置を推定する位置推定部と、マップデータの生成期間において、検出済みの実物体の面を表すオブジェクトを、カメラ画像の対応する面の像に重畳させた合成画像を、ヘッドマウントディスプレイに表示させる見回し画面生成部と、を備えたことを特徴とする。
【0007】
本発明の別の態様は情報処理方法に関する。この情報処理方法は、ヘッドマウントディスプレイのカメラにより撮像されたカメラ画像に基づいて、3次元空間における実物体の面を検出し、その情報を表すマップデータを生成するステップと、マップデータとカメラ画像とを照合して、アプリケーションの実行に用いるユーザの位置を推定するステップと、マップデータの生成期間において、検出済みの実物体の面を表すオブジェクトを、カメラ画像の対応する面の像に重畳させた合成画像を、ヘッドマウントディスプレイに表示させるステップと、を含むことを特徴とする。
【0008】
なお、以上の構成要素の任意の組合せ、本発明の表現をシステム、コンピュータプログラム、コンピュータプログラムを読み取り可能に記録した記録媒体、データ構造などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0009】
本発明によれば、ヘッドマウントディスプレイが備えるカメラによる撮影画像を用いて、高い精度の環境地図を効率的に取得できる。
【図面の簡単な説明】
【0010】
図1】本実施の形態におけるヘッドマウントディスプレイの外観例を示す図である。
図2】本実施の形態における画像表示システムの構成例を示す図である。
図3】本実施の形態において画像生成装置がヘッドマウントディスプレイに表示させる画像世界の例を説明するための図である。
図4】本実施の形態における画像生成装置の内部回路構成を示す図である。
図5】本実施の形態におけるヘッドマウントディスプレイの内部回路構成を示す図である。
図6】本実施の形態における画像生成装置の機能ブロックを示すブロック図である。
図7】本実施の形態における、マップデータの生成とプレイエリアの設定に係る画像生成装置の処理手順を示すフローチャートである。
図8】本実施の形態のマップ生成部によるマップデータ生成時の、実空間の様子を模式的に示す図である。
図9】本実施の形態のマップデータ生成前後における見回し画面の変化を模式的に示す図である。
図10】本実施の形態において見回し画面生成部がメッシュを成長させていく過程を模式的に示す図である。
図11】本実施の形態において、ユーザの見回しによりメッシュで表される範囲が広がる様子を模式的に示す図である。
図12】本実施の形態において見回し画面生成部がユーザの頭部の位置姿勢を先読みしてメッシュを表す際の各処理のタイムチャートを示す図である。
【発明を実施するための形態】
【0011】
本実施の形態は、ユーザの頭部に装着されたヘッドマウントディスプレイにアプリケーションの画像を表示する画像表示システムに関する。図1は、ヘッドマウントディスプレイ100の外観例を示す。本実施の形態のヘッドマウントディスプレイ100は、出力機構部102および装着機構部104で構成される。装着機構部104は、ユーザが被ることにより頭部を一周し装置の固定を実現する装着バンド106を含む。
【0012】
出力機構部102は、ヘッドマウントディスプレイ100をユーザが装着した状態において左右の目を覆うような形状の筐体108を含み、内部には装着時に目に正対するように表示パネルを備える。本実施の形態のヘッドマウントディスプレイ100の表示パネルは、透過性がないものとする。すなわちヘッドマウントディスプレイ100は、光不透過型のヘッドマウントディスプレイである。
【0013】
筐体108内部にはさらに、ヘッドマウントディスプレイ100の装着時に表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する接眼レンズを備えてよい。ヘッドマウントディスプレイ100はさらに、装着時にユーザの耳に対応する位置にスピーカーやイヤホンを備えてよい。また、ヘッドマウントディスプレイ100は、モーションセンサを内蔵し、ヘッドマウントディスプレイ100を装着したユーザの頭部の並進運動や回転運動、ひいては各時刻の位置や姿勢を検出する。
【0014】
また、ヘッドマウントディスプレイ100は、筐体108の前面にステレオカメラ110を備える。ステレオカメラ110は、ユーザの視線に対応する視野で周囲の実空間を動画撮影する。撮影した画像を即時に表示させれば、ユーザが向いた方向の実空間の様子がそのまま見える、いわゆるビデオシースルーを実現できる。さらに撮影画像に映っている実物体の像上に仮想オブジェクトを描画すれば拡張現実(Augmented Reality:AR)を実現できる。
【0015】
図2は、本実施の形態の画像表示システムの構成例を示す。画像表示システムは、ヘッドマウントディスプレイ100、画像生成装置200、コントローラ140を備える。ヘッドマウントディスプレイ100は、無線通信により画像生成装置200に接続される。画像生成装置200は、さらにネットワークを介してサーバに接続されてもよい。その場合、サーバは、複数のユーザがネットワークを介して参加できるゲームなどのオンラインアプリケーションのデータを画像生成装置200に提供してもよい。
【0016】
画像生成装置200は、ヘッドマウントディスプレイ100を装着したユーザの頭部の位置や姿勢に基づき視点の位置や視線の方向を特定し、それに応じた視野となるように表示画像を生成してヘッドマウントディスプレイ100に出力する情報処理装置である。例えば、画像生成装置200は、電子ゲームを進捗させつつゲームの舞台である仮想世界を表示画像として生成してもよいし、仮想世界か実世界かに関わらず観賞や情報提供のために動画像を表示させてもよい。また、ユーザの視点を中心に広い画角のパノラマ画像をヘッドマウントディスプレイ100に表示させることによって、表示世界への深い没入感をユーザに与えることができる。なお、画像生成装置200は、据置型ゲーム機であってもよく、PCであってもよい。
【0017】
コントローラ140は、ユーザの手に把持され、画像生成装置200における画像生成や、ヘッドマウントディスプレイ100における画像表示を制御するためのユーザの操作が入力されるコントローラ(例えばゲームコントローラ)である。コントローラ140は、無線通信により画像生成装置200に接続される。変形例として、ヘッドマウントディスプレイ100とコントローラ140の一方、または両方は、信号ケーブル等を介した有線通信により画像生成装置200に接続されてもよい。
【0018】
図3は、画像生成装置200がヘッドマウントディスプレイ100に表示させる画像世界の例を説明するための図である。この例では、ユーザ12が仮想空間である部屋にいる状態を作り出している。仮想空間を定義するワールド座標系には、図示するように、壁、床、窓、テーブル、テーブル上の物などのオブジェクトを配置している。画像生成装置200は、当該ワールド座標系に、ユーザ12の視点の位置や視線の方向に応じてビュースクリーン14を定義し、そこにオブジェクトの像を表すことで表示画像を描画する。
【0019】
画像生成装置200は、ユーザ12の視点の位置や視線の方向を所定のレートでヘッドマウントディスプレイ100から取得し、これに応じてビュースクリーン14の位置や方向を変化させる。これにより、ユーザの視点に対応する視野で画像をヘッドマウントディスプレイ100に表示させることができる。また、画像生成装置200は、視差を有するステレオ画像を生成し、ヘッドマウントディスプレイ100の表示パネルの左右の領域にステレオ画像を表示させれば、仮想空間をユーザ12に立体視させることもできる。これにより、ユーザ12は、あたかも表示世界の部屋の中にいるような仮想現実を体験することができる。
【0020】
図4は、画像生成装置200の内部回路構成を示す。画像生成装置200は、CPU(Central Processing Unit)222、GPU(Graphics Processing Unit)224、メインメモリ226を含む。これらの各部は、バス230を介して相互に接続される。バス230にはさらに入出力インターフェース228が接続される。入出力インターフェース228には、通信部232、記憶部234、出力部236、入力部238、記録媒体駆動部240が接続される。
【0021】
通信部232は、USBやIEEE1394などの周辺機器インターフェースや、有線LANまたは無線LAN等のネットワークインターフェースを含む。記憶部234は、ハードディスクドライブや不揮発性メモリ等を含む。出力部236は、ヘッドマウントディスプレイ100へのデータを出力する。入力部238は、ヘッドマウントディスプレイ100からのデータ入力を受け付け、また、コントローラ140からのデータ入力を受け付ける。記録媒体駆動部240は、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する。
【0022】
CPU222は、記憶部234に記憶されているオペレーティングシステムを実行することにより画像生成装置200の全体を制御する。また、CPU222は、記憶部234またはリムーバブル記録媒体から読み出されてメインメモリ226にロードされた、あるいは通信部232を介してダウンロードされた各種プログラム(例えばVRゲームアプリケーション等)を実行する。GPU224は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、CPU222からの描画命令にしたがって描画処理を行い、描画結果を出力部236に出力する。メインメモリ226は、RAM(Random Access Memory)により構成され、処理に必要なプログラムやデータを記憶する。
【0023】
図5は、ヘッドマウントディスプレイ100の内部回路構成を示す。ヘッドマウントディスプレイ100は、CPU120、メインメモリ122、表示部124、音声出力部126を含む。これらの各部はバス128を介して相互に接続されている。バス128にはさらに入出力インターフェース130が接続されている。入出力インターフェース130には、無線通信のインターフェースを含む通信部132、モーションセンサ134、およびステレオカメラ110が接続される。
【0024】
CPU120は、バス128を介してヘッドマウントディスプレイ100の各部から取得した情報を処理するとともに、画像生成装置200から取得した表示画像や音声のデータを表示部124や音声出力部126に供給する。メインメモリ122は、CPU120における処理に必要なプログラムやデータを格納する。
【0025】
表示部124は、液晶パネルや有機ELパネルなどの表示パネルを含み、ヘッドマウントディスプレイ100を装着したユーザの眼前に画像を表示する。表示部124は、左右の目に対応する領域に一対のステレオ画像を表示することにより立体視を実現してもよい。表示部124はさらに、ヘッドマウントディスプレイ100装着時に表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する一対のレンズを含んでもよい。
【0026】
音声出力部126は、ヘッドマウントディスプレイ100の装着時にユーザの耳に対応する位置に設けたスピーカーやイヤホンで構成され、ユーザに音声を聞かせる。通信部132は、画像生成装置200との間でデータを送受するためのインターフェースであり、Bluetooth(登録商標)などの既知の無線通信技術により通信を実現する。モーションセンサ134はジャイロセンサおよび加速度センサを含み、ヘッドマウントディスプレイ100の角速度や加速度を取得する。
【0027】
ステレオカメラ110は、図1で示したとおり、ユーザの視点に対応する視野で周囲の実空間を左右の視点から撮影するビデオカメラの対である。ステレオカメラ110により撮像された画像であり、ユーザの周囲空間を映した画像を以下「カメラ画像」とも呼ぶ。カメラ画像は、ユーザの視線方向(典型的にはユーザの正面)に存在する物体が映る画像とも言える。モーションセンサ134による計測値や、ステレオカメラ110による撮影画像(カメラ画像)のデータは、必要に応じて、通信部132を介して画像生成装置200へ送信される。
【0028】
本実施の形態の画像表示システムでは、ヘッドマウントディスプレイ100を装着したユーザがアプリケーションのプレイ中に移動可能な実世界の範囲を規定したプレイエリアが設定される。プレイエリアは、ユーザの周囲空間(ユーザの周囲に広がる実世界の空間)のうち、ユーザが仮想現実の画像(以下「VR画像」とも呼ぶ。)を視聴中に動き回ることが許可されたエリアまたは範囲と言える。アプリケーションのプレイ中にユーザがプレイエリアを逸脱しようとする場合や逸脱した場合、画像表示システムは、注意を促す内容、または、プレイエリアへの復帰を促す内容の警告をユーザに提供する。
【0029】
本実施の形態において画像表示システム10は、ヘッドマウントディスプレイ100を装着したユーザの動きを追跡するトラッキング処理を実行し、その結果に基づき視野を変化させたVR画像をヘッドマウントディスプレイ100に表示させる。ここで画像表示システム10は、ステレオカメラ110が撮影するカメラ画像を、事前に取得した環境地図と照合し、ヘッドマウントディスプレイ100の位置や姿勢を所定のレートで取得する。
【0030】
カメラを備えた移動体の位置や姿勢を、環境地図を用いて推定する技術は広く知られている。以後の説明では環境地図を単にマップと呼ぶ。本実施の形態においてマップは、画像表示システムを用いるユーザ個々の環境に応じて生成する必要がある。そのためユーザは、VRゲームなどのアプリケーションを実行するための準備段階として、周囲空間の様々な方向を満遍なく見回し、家具、壁、床面などの実物体の像をステレオカメラ110により撮影する。画像表示システム10は、そのカメラ画像を収集し、実物体表面における特徴点の3次元分布を取得することによりマップのデータを生成する。
【0031】
アプリケーションを高い精度で実現するには、事前の見回しを抜けなく行い、実物体に係る十分な情報をマップに反映させておくことが肝要である。実物体に係る情報は、上述のプレイエリアを精度よく検出するためにも有用となる。そのため本実施の画像生成装置200は、見回し動作の拠り所となる画像をヘッドマウントディスプレイ100に表示させ、ユーザが無理なく自然に必要な見回しを行えるようにする。
【0032】
図6は、画像生成装置の機能ブロックを示すブロック図である。上述したように、画像生成装置200は、VRゲームの進行やサーバとの通信等、一般的な情報処理を実行するが、図6では特に、マップの生成とプレイエリアの設定に関する機能ブロックを詳細に示している。なお、図6に示す画像生成装置200の機能のうち少なくとも一部は、ネットワークを介して画像生成装置200に接続されたサーバに実装されてもよいし、ヘッドマウントディスプレイ100に実装されてもよい。
【0033】
また、図6に示す複数の機能ブロックは、ハードウェア的には、図4に示したCPU222、GPU224、メインメモリ226、記憶部234等の構成で実現でき、ソフトウェア的には、複数の機能ブロックの機能を実装したコンピュータプログラムにより実現できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0034】
画像生成装置200は、データ処理部250とデータ記憶部252を備える。データ処理部250は、各種のデータ処理を実行する。データ処理部250は、図4に示した通信部232、出力部236、入力部238を介して、ヘッドマウントディスプレイ100およびコントローラ140とデータを送受信する。データ記憶部252は、データ処理部250により参照または更新されるデータを記憶する。
【0035】
データ記憶部252は、App記憶部254、プレイエリア記憶部255、マップ記憶部256、および視認領域記憶部257を備える。App記憶部254は、VR画像を生成するアプリケーション(実施形態ではVRゲーム)のデータを記憶する。プレイエリア記憶部255は、プレイエリアに関するデータを記憶する。プレイエリアに関するデータは、プレイエリアの境界を構成する点群の位置を示すデータ(例えばワールド座標系における各点の座標値)を含む。
【0036】
マップ記憶部256は、ヘッドマウントディスプレイ100の位置や姿勢(すなわちヘッドマウントディスプレイ100を装着したユーザの位置や姿勢)を推定するためのマップデータを記憶する。本実施の形態のマップデータは、カメラ画像から抽出された特徴点の、3次元空間における分布を表すマップと、当該特徴点の抽出元であるキーフレームとを対応づけたデータである。キーフレームは、カメラ画像をもとに生成された画像であり、かつ、所定個数以上の特徴点を含む画像である。各キーフレームには、それを撮影した際のヘッドマウントディスプレイ100の位置および視線方向を対応づけておく。
【0037】
視認領域記憶部257は、ヘッドマウントディスプレイ100(言い換えればユーザ)の周囲の空間のうちユーザが視認した領域(言い換えればユーザの視線方向と一致したことがある領域であり、以下「視認領域」とも呼ぶ。)を示すデータを記憶する。
【0038】
データ処理部250は、システム部260、App実行部290、表示制御部292を備える。これら複数の機能ブロックの機能は、コンピュータプログラムに実装されてもよい。画像生成装置200のCPU222とGPU224は、上記コンピュータプログラムを記憶部234や記録媒体からメインメモリ226に読み出して実行することにより上記複数の機能ブロックの機能を発揮してもよい。
【0039】
App実行部290は、ユーザにより選択されたアプリケーション(実施形態ではVRゲーム)のデータをApp記憶部254から読み出し、ユーザにより選択されたアプリケーションを実行する。App実行部290は、システム部260(後述の位置推定部272)により推定されたヘッドマウントディスプレイ100の位置や姿勢(言い換えればユーザの位置や姿勢)に応じたアプリケーションの実行結果を生成する。
【0040】
表示制御部292は、システム部260およびApp実行部290により生成された様々な画像(例えばVR画像やAR画像)のデータをヘッドマウントディスプレイ100へ送信し、それらの画像をヘッドマウントディスプレイ100の表示部124(表示パネル)に表示させる。なお表示制御部292は、音声のデータをヘッドマウントディスプレイ100に送信し、ヘッドマウントディスプレイ100の音声出力部126から出力させてもよい。
【0041】
システム部260は、ヘッドマウントディスプレイ100に関するシステムの処理を実行する。システム部260は、ヘッドマウントディスプレイ100用の複数のアプリケーション(例えばVRゲーム)に対して共通のサービスを提供する。共通のサービスは、プレイエリアの設定、マップデータの生成および設定、ユーザの位置推定を含む。システム部260は、カメラ画像取得部262、プレイエリア設定部264、視線方向検出部266、見回し画面生成部268、マップ生成部270、位置推定部272、警告処理部274を含む。
【0042】
カメラ画像取得部262は、ヘッドマウントディスプレイ100から送信された、ステレオカメラ110によるカメラ画像を取得する。プレイエリア設定部264は、プレイエリアの設定に係る各種処理を実行する。具体的にはプレイエリア設定部264は、カメラ画像取得部262により取得されたカメラ画像と、コントローラ140を介して入力されたユーザの操作とに基づいて、プレイエリアを設定する。プレイエリア設定部264は、設定したプレイエリアに関するデータをプレイエリア記憶部255に格納する。
【0043】
プレイエリア設定部264は、カメラ画像取得部262により取得されたカメラ画像に基づいて、ヘッドマウントディスプレイ100を装着したユーザの周囲空間からプレイエリアを自動検出するプレイエリア検出機能を含む。なお、プレイエリア設定部264は、自動検出されたプレイエリアを編集するユーザの操作を受け付け、その操作に応じてプレイエリアの形状を変更するプレイエリア編集機能を含んでもよい。
【0044】
視線方向検出部266は、ヘッドマウントディスプレイ100のモーションセンサ134により検知されたヘッドマウントディスプレイ100の角速度や加速度、および、ステレオカメラ110により撮影された周囲空間の画像に基づいて、ヘッドマウントディスプレイ100を装着したユーザの頭部の位置や姿勢を検出する。視線方向検出部266はさらに、ユーザの頭部の位置や姿勢に基づいて、ユーザの視点の位置や視線方向を検出する。ユーザの頭部の位置や姿勢、ユーザの視点の位置や視線方向の検出には公知技術が用いられてよい。
【0045】
見回し画面生成部268は、マップデータ生成期間において、ユーザに自然な見回しを促すための画面である見回し画面のデータを生成する。見回し画面は、ビデオシースルーにより表示されるカメラ画像に、それまでに検出された特徴点分布に基づく、実物体の面を表すオブジェクトを重畳した合成画像(AR画像)を含む。見回し画面生成部268は、ユーザの見回しとともにオブジェクトが表される範囲が広がり、やがては周囲空間全体がオブジェクトで埋め尽くされる様子をユーザに見せる。これによりユーザは、自分の見回しにより実物体の面が検出されていくことを実感でき、周囲を見回すモチベーションが喚起される。
【0046】
マップ生成部270は、ユーザが周囲空間を見回すことにより撮影された様々な方位のカメラ画像を解析し、マップデータを生成する。マップ生成部270は、生成したマップデータをマップ記憶部256に格納する。マップ生成部270は、例えば全方位に対し、予め定められた枚数以上のカメラ画像が入力されたとき、マップデータの生成を終了する。
【0047】
位置推定部272は、マップ記憶部256に記憶されたマップデータと、カメラ画像取得部262により取得されたカメラ画像とに基づいて、実世界におけるユーザの位置や姿勢を推定し、言い換えれば、プレイエリアにおけるユーザの位置や姿勢を推定する。例えば、位置推定部272は、マップデータに含まれる複数のキーフレームとカメラ画像とを照合し、その照合結果と、各キーフレームに対応付けられたヘッドマウントディスプレイ100の位置および視線方向とに基づいて、ユーザの位置や姿勢を推定してもよい。
【0048】
また、位置推定部272は、SLAM(Simultaneous Localization and Mapping)等、公知の自己位置推定技術を用いてユーザの位置や姿勢を推定してもよい。警告処理部274は、プレイエリアの境界と、ユーザの位置との関係に応じて、ユーザに対する警告処理を実行する。例えば警告処理部274は、ユーザがプレイエリアの境界に所定値以上、近づいたとき、その旨を警告する画像や音声を、表示制御部292を介してヘッドマウントディスプレイ100に出力させる。この際、警告処理部274は、表示をビデオシースルーモードに切り替えてもよい。これによりユーザは、プレイエリアの中心など、より安全な位置に移動して、ゲームプレイを再開できる。
【0049】
次に、以上の構成によって実現される画像表示システムの動作を説明する。図7は、マップデータの生成とプレイエリアの設定に係る画像生成装置200の処理手順を示すフローチャートである。画像生成装置200のシステム部260は、画像表示システム10の設定メニューをヘッドマウントディスプレイ100に表示させる。設定メニューの中の初期設定がユーザにより選択された場合、ヘッドマウントディスプレイ100は、ユーザの視線方向の実空間を写したカメラ画像および各種センサデータの、画像生成装置200への送信を開始する。
【0050】
センサデータは、モーションセンサ134による計測値を含み、例えば、ヘッドマウントディスプレイ100の角速度や加速度を含む。画像生成装置200のカメラ画像取得部262は、ヘッドマウントディスプレイ100から送信されるカメラ画像の取得を開始する(S10)。また見回し画面生成部268は、カメラ画像取得部262により取得されたカメラ画像を含む見回し画面のデータを生成する。
【0051】
表示制御部292は、ヘッドマウントディスプレイ100の表示部124に見回し画面を表示させる(S12)。この時点で見回し画面は、ユーザが向いた方向の実空間の様子をそのままユーザに見せるビデオシースルーの状態でよい。表示制御部292はこの際、周囲を見回すよう促す内容のメッセージをヘッドマウントディスプレイ100に表示させてもよい。
【0052】
なお見回し画面の表示と並行して、視線方向検出部266はモーションセンサ134の計測値などに基づき、ユーザの視点の位置や視線の方向を所定のレートで継続的に検出する。検出結果は視認領域記憶部257に蓄積して格納する。これにより見回し画面生成部268は、見回し動作においてユーザが視認済みの領域を、見回し画面におけるオブジェクトの表示に反映させる。
【0053】
画像生成装置200のマップ生成部270は、ユーザによる見回し動作中のカメラ画像から特徴点を抽出し、その3次元位置座標を取得することによりマップデータを生成する(S14)。マップ生成部270は、生成したマップデータをマップ記憶部256に格納していく。プレイエリア設定部264は、当該3次元位置座標に基づき、ユーザの周囲空間におけるプレイエリアを自動検出する(S16)。具体的にはプレイエリア設定部264は、特徴点の3次元分布に基づき実物体の面を検出したうえ、センサデータが示す重力方向に対して垂直な平面を床面として特定する。
【0054】
そしてプレイエリア設定部264は、家具や壁など、ユーザの周囲の実物体の面を、床面を基準として特定し、そのような障害物のない床面の領域をプレイエリアとして検出する。プレイエリア設定部264は、プレイエリアのデータをプレイエリア記憶部255に格納していく。ただしS14、S16の処理では、ユーザの見回しとともに収集されるカメラ画像を用い、徐々にデータが形成されてよい。
【0055】
ユーザの位置を推定するのに十分なマップデータが得られたことを示す所定条件が満たされるまで、マップ生成部270およびプレイエリア設定部264は、新たなカメラ画像を用いてS14、S16の処理を繰り返す(S18のN)。当該処理のループにおいて、見回し画面生成部268は見回し画面において、周囲空間における実物体のうち検出済みの面、すなわち特徴点の3次元位置座標が得られている面について、その3次元形状を表すオブジェクトをカメラ画像に重畳させる。
【0056】
見回し画面生成部268は例えば、特徴点の3次元分布に基づき、実物体の面の3次元形状を表すポリゴンメッシュを生成する。当該ポリゴンメッシュを、カメラ画像の対応する実物体の像に重畳させることにより、検出された実物体がポリゴンメッシュで覆われる様子が表される。マップ生成部270によりマップの生成が進むと、見回し画面生成部268は、それに合わせてポリゴンメッシュの領域を増やしていく。
【0057】
ただし見回し画面生成部268は演出として、面を検出済みであってもポリゴンメッシュを表さない領域を設ける。すなわち見回し画面生成部268は、一画面においてポリゴンメッシュで表す領域を制限する。これにより、見回し画面において検出が不完全である様子を作り出し、見回しを積極的に行い検出処理を完了させる意欲をユーザに喚起させる。見回し画面生成部268は、一度表示させたポリゴンメッシュについては、その後の視野の変化によらずそのまま残すことにより、見回しにより不可逆的に面検出が進んでいることを表現できる。
【0058】
好適には、見回し画面生成部268は、S18において十分なマップデータが得られた時点で、見回し画面上、周囲空間の全体がポリゴンメッシュで覆われている状態とする。なお実物体の面を表すオブジェクトはポリゴンメッシュに限定されない。S18において、十分なマップデータが得られたことが判定されたら、マップ生成部270はマップデータの生成処理を終了し、プレイエリア設定部264はプレイエリアの検出処理を終了する(S18のY)。
【0059】
続いてプレイエリア設定部264は、検出したプレイエリアを表すオブジェクトをカメラ画像に重畳させたプレイエリア編集画面を、表示制御部292を介してヘッドマウントディスプレイ100に表示させ、ユーザによる編集操作を受け付ける(S20)。この時点で、見回し画面生成部268が表示させていた、実物体の面を表すオブジェクトは非表示としてよい。
【0060】
なおS20においてプレイエリア設定部264はまず、検出された床面の高さを修正するユーザ操作を受け付け、そのうえでプレイエリアの編集操作を受け付けてもよい。プレイエリア設定部264は、ユーザの操作に応じてプレイエリアの形状を変更し、すなわち、ユーザの操作に応じてプレイエリアを拡張または縮小する。プレイエリア設定部264は、プレイエリア記憶部255に格納したプレイエリアのデータを、編集後のデータで更新する。
【0061】
図8は、マップ生成部270によるマップデータ生成時の、実空間の様子を模式的に示している。マップ生成部270は、ヘッドマウントディスプレイ100を装着したユーザが周囲を見回すことによりステレオカメラ110が撮影した様々な方向の画像と、それぞれが撮影された際のヘッドマウントディスプレイ100の位置や姿勢に基づき、実物体表面の特徴点の3次元位置座標を特定していく。図では、ユーザが周囲を見回すにつれ、その視線方向(例えば方向S、S’)で撮影された実物体(例えば実物体70a、70b)表面の特徴点(例えば特徴点74)の3次元位置座標が徐々に特定される様子を示している。
【0062】
その結果、実物体表面の位置が特定された実空間の領域が広がっていき、それとともにプレイエリア設定部264は、検出された実物体の手前などにプレイエリアの境界72を設定していく。図7のS18においてマップ生成部270は、例えば、ユーザが周囲360°を見回し、全ての実物体の面に対し所定値以上の割合で特徴点が得られたと推定できたら、十分なマップデータが得られたと判定する。実際にはマップ生成部270は、ヘッドマウントディスプレイ100からの方角を所定数に区分けし、全ての区分に対し所定数のキーフレームが得られたことを、十分なマップデータが得られたことの判定条件としてよい。
【0063】
いずれにしろユーザが満遍なく周囲を見回し、マップデータを抜けなく詳細に生成しておくほど、プレイエリアの設定や、以後のアプリケーション実行時におけるユーザの位置情報取得を高い精度で行える。そのため見回し画面生成部268は上述のとおり、マップ生成部270が検出中の面を可視化したオブジェクトをビデオシースルーの画像に重畳させることにより、見回しの拠り所を提示するとともに、検出処理を完了させるユーザの意欲を喚起する。
【0064】
図9は、マップデータ生成前後における見回し画面の変化を模式的に示している。(a)はマップ生成前の見回し画面であり、特徴点が未検出であることからカメラ画像がそのまま表される。図の例では、ユーザの存在する部屋の画像が表示されている。ユーザが頭部を動かし視線を変化させれば、当然、カメラ画像の視野も変化する。また実際にはヘッドマウントディスプレイ100は、左目用、右目用の画像を表示することにより立体視を実現する。
【0065】
(b)は十分なマップデータが得られた後の、(a)と同じ視野での見回し画面である。すなわち(b)は、(a)で示した椅子やテーブルなどの実物体の面が、特徴点の3次元分布として得られている状態である。図の例では見回し画面生成部268は、各実物体の面を表すオブジェクトとして、3次元のポリゴンメッシュを重畳させている。実物体表面の検出が適正になされれば、ポリゴンメッシュは実物体の像に貼り付いた状態で表される。なお3次元の物体に対しポリゴンメッシュを生成する処理には、コンピュータグラフィクスにおける一般的な手法を適用できる。
【0066】
見回し画面生成部268は、(a)の状態から(b)の状態への遷移過程において、実物体表面の検出の進捗とともにポリゴンメッシュ(以後、単にメッシュと呼ぶ)が成長していく様子を、見回し画面として表す。ただし上述のとおり見回し画面生成部268は、面の検出処理自体というよりは、ユーザの視線の動きを根拠としてメッシュを選択的に表示させ、未検出であるように見える部分をあえて残すことで、ユーザに積極的な見回しを促す。
【0067】
図10は、見回し画面生成部268がメッシュを成長させていく過程を模式的に示している。図の下方向は時間経過を表し、3つの時刻t1、t2、t3における見回し画面の視野76a、76b、76cと、メッシュの変化を表している。ここで小さい三角形はメッシュを構成する各ポリゴンを模式的に表し、見回し画面にメッシュとして表す部分を黒、面を検出済みであるがメッシュを非表示とする部分をグレーで表している。
【0068】
まず時刻t1において、周囲空間における範囲74aで実物体の面が検出されているとする。ここでユーザが視野76aの方向を向いている場合、見回し画面生成部268は、当該視野76aのうち中心領域を含む所定範囲のメッシュ78aのみを見回し画面に表す。すなわち見回し画面生成部268は、中心領域を含む所定範囲に映る実物体のみ、メッシュ78aを貼り付け、その他の実物体はシースルーの状態とする。
【0069】
詳細には、見回し画面生成部268は、時刻t1におけるユーザの視点の位置と視線の方向を視線方向検出部266から取得し、それに対応するビュースクリーンを設定する。さらに見回し画面生成部268は、当該ビュースクリーンにおける中心領域に対応する、3次元空間の角度範囲において、取得済みの特徴点をマップデータから取得する。そして見回し画面生成部268は、当該特徴点の分布に基づき3次元空間でメッシュ78aを生成したうえ、ビュースクリーン上に射影してなる像を描画する。
【0070】
これをカメラ画像に重畳させることにより、中心領域に映る実物体がメッシュで覆われた様子を表現できる。なお見回し画面生成部268は、視野76aの中心領域において未検出の面がある場合、当然、対応するメッシュを表示させない。マップ生成部270がその視野でのカメラ画像に基づき特徴点を取得した時点で、見回し画面生成部268は追加でメッシュを表示させてよい。また見回し画面生成部268は、視野76aの中心領域に対応する角度範囲、ひいてはメッシュ78aを表した角度範囲を、視認領域記憶部257に格納しておく。以後の時刻でも同様である。
【0071】
時刻t1からt2にかけてユーザが右方向へ徐々に顔を向けると、マップ生成部270が新たなカメラ画像から抽出した特徴点により、面を検出済みの範囲74aが範囲74bへ広がっていく。一方、見回し画面生成部268は、新たな視野76bで中心領域に入った部分をメッシュ78bとして見回し画面に表す。この際、見回し画面生成部268は、視野76aなどそれまでの視野において表してきたメッシュはそのまま残す。
【0072】
時刻t2からt3にかけてユーザがさらに右上方向へ徐々に顔を向けるとすると、マップ生成部270が新たなカメラ画像から抽出した特徴点により、面を検出済みの範囲74bが範囲74cへ広がっていく。一方、見回し画面生成部268は、新たな視野76cで中心領域に入った部分をメッシュ78cとして見回し画面に表す。この際、見回し画面生成部268は、視野76a、視野76bなどそれまでの視野において表してきたメッシュはそのまま残す。
【0073】
すなわち見回し画面生成部268は、ビデオシースルーにおいて視野の中心領域に位置する実物体の面について、メッシュを可視化することを基本とする。また見回し画面生成部268は、それまでの視野で表されていたメッシュについてはそのまま表し、新たに視野の中心領域に入った面のメッシュを追加で表す。
【0074】
図11は、ユーザの見回しによりメッシュで表される範囲が広がる様子を模式的に示している。図はユーザのいる部屋の一部の3次元空間80を表している。ユーザが見回し画面を見ながら見回し動作をすると、当該画面中のカメラ画像の視野が、視野82a、82b、82c、・・・のように徐々に移動する。上述のとおり、見回し画面生成部268は、視野の中心領域に新たに入った、実物体の面を表すメッシュを順次追加していく。これを繰り返すことにより、メッシュが表される領域84が増えていく。領域84は実際には、実物体の面に貼り付いたメッシュで構成される。
【0075】
つまりユーザが視野を変化させていくとともに、メッシュで表される実空間の範囲が広がっていくように演出できる。また新たに追加されるメッシュを視野の中心領域に絞ることにより、ユーザは自分の顔の向きによってメッシュを描いている感覚を得ることができる。結果としてユーザは、3次元空間における実物体の表面を塗りつぶすように、メッシュが抜けている方向に自然に顔を向けるようになる。
【0076】
ユーザが全方位に顔を向けるなどしてマップデータが十分得られたと判定されるまで、見回し画面生成部268はメッシュを追加で表していき、やがては図9の(b)に示すような全面的なメッシュが、全天周に近い範囲で表されることになる。見回し画面生成部268は、視野の中心領域に入りメッシュが表された角度範囲を、視認領域記憶部257に記憶させておくことにより、以後の見回しにおいて再度視野に入ったメッシュも再表示されるようにする。
【0077】
見回しを促すオブジェクトとして、実物体の検出処理と親和性の高いポリゴンメッシュを表すことにより、ユーザは検出処理の最中であることを直感的に理解できる。また実際には、マップ生成部270が取得する特徴点の密度によって、メッシュの密度も様々となる。例えば白い壁など特徴点の乏しい面はメッシュの密度が低くなり、その見かけは、近づいたり見る方向を変えたりしても変化しにくい。一方、特徴点が多い面や形状が複雑な実物体は、近づいたり回り込んだりすると、新たな特徴点が取得され、メッシュの詳細度も上がる。
【0078】
このように実物体の特性に応じてメッシュの見かけが変化するため、ユーザは、見回し画面におけるメッシュの変化から、自然に、近づいたり回り込んだりすべき対象を把握できる。このようにユーザが見回し方に変化をつけることにより、マップ生成部270は、選択的に高い分解能で特徴点を取得したり、一方向からでは見づらい部分の特徴点を取得したりでき、効率的に、マップデータの詳細度および精度を上げることができる。
【0079】
見回し画面の視野のうち、メッシュを新たに追加する中心領域のサイズは、ユーザの頭部の動きでメッシュの範囲が広がっていくことを実感できる適正値を、実験などにより決定しておく。またユーザが違和感なく見回せるようにするため、頭部が素早く動いてもそれに追随するようにメッシュの範囲を広げられるようにすることが肝要である。そこで見回し画面生成部268は、メッシュの描画処理に要する時間を考慮し、ユーザの頭部の位置姿勢、ひいては視点や視野を先読みしてもよい。
【0080】
図12は、見回し画面生成部268がユーザの頭部の位置姿勢を先読みしてメッシュを表す際の各処理のタイムチャートを示している。図の右方向は時間経過を表し、格段に示した処理の時間を矩形で表している。ただし処理時間の比率をこれに限定する趣旨ではない。上述のとおりヘッドマウントディスプレイ100のモーションセンサ134の計測値に基づき、視線方向検出部266は、ユーザの頭部の位置や姿勢を定期的に取得する。すなわち視線方向検出部266は図の最上段に表すように、所定間隔の時刻t1、t2、t3、t4、・・・における頭部の位置や姿勢、ひいてはユーザの視点の位置や視線方向を取得する。
【0081】
一方、見回し画面生成部268が視点や視線を先読みし、その視野でのメッシュの描画を完了するまでの時間をΔtとする。時間Δtはあらかじめ、実験などにより見積もっておく。これに応じて見回し画面生成部268は、時刻t1までのユーザの視点の位置や視線方向の変化を外挿することにより、Δt後の視野を予測する(S30)。そして見回し画面生成部268は、予測した視野で中心領域に表されるべき実物体のメッシュを特定し、表示制御部292に描画させる(S32)。
【0082】
これによりヘッドマウントディスプレイ100には、時刻t1+Δtのタイミングで、そのときのカメラ画像の視野の中心領域にメッシュを表すことができる(S34)。その間の時刻t2で得られた頭部の位置姿勢に基づき、見回し画面生成部268はΔt後の視野を予測し、中心領域のメッシュを描画する。これにより、ヘッドマウントディスプレイ100には、時刻t2+Δtのタイミングで、新たなメッシュが適切に表示される。以後、同様の処理を繰り返すことにより、頭部の速度によらず、その動きにメッシュの成長が追随する状態を継続させることができる。
【0083】
以上述べた本実施の形態によれば、画像処理装置は、ヘッドマウントディスプレイが備えるステレオカメラを用いて、実空間の3次元構造を表すマップを生成する際、必要な撮影画像が得られるよう、ユーザに周囲の見回しを促す画面を表示する。具体的には、画像処理装置は、検出中の実物体の面を表すオブジェクトを、ビデオシースルーの画像に重畳させたAR画像を表示させる。この際、画像処理装置は、カメラ画像の視野の動きに応じてオブジェクトが表される範囲を増やしていく。
【0084】
つまり画像処理装置は、視野の中心領域に入った実物体の面を表すオブジェクトを、それまで表示されていたオブジェクトに追加で示していく。これにより、ユーザは自分の顔の向きにより、実空間をオブジェクトで埋め尽くす感覚が得られ、見回しへの意欲が喚起される。視野のうちオブジェクトを表さない領域をあえて設けることにより、その方向に視野が誘導され、効率的に必要な方位の撮影画像が得られる。
【0085】
また実物体の像に貼り付くポリゴンメッシュをオブジェクトとして表すことにより、実物体の面を検出中であることをユーザが直感的に把握できるとともに、実物体の特性に合わせた見回しを容易に促せる。結果として、抜けが少なく、精度の高いマップを効率的に生成でき、以後のアプリケーションの実行において、質の高いユーザ体験を提供できる。
【0086】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【0087】
100 ヘッドマウントディスプレイ、 200 画像生成装置、 255 プレイエリア記憶部、 256 マップ記憶部、 257 視認領域記憶部、 262 カメラ画像取得部、 264 プレイエリア設定部、 266 視線方向検出部、 268 見回し画面生成部、 270 マップ生成部、 272 位置推定部、 274 警告処理部、 292 表示制御部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12