(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024018242
(43)【公開日】2024-02-08
(54)【発明の名称】情報処理装置および画像生成方法
(51)【国際特許分類】
G06F 3/01 20060101AFI20240201BHJP
A63F 13/428 20140101ALI20240201BHJP
A63F 13/211 20140101ALI20240201BHJP
A63F 13/26 20140101ALI20240201BHJP
G06F 3/0346 20130101ALI20240201BHJP
【FI】
G06F3/01 510
A63F13/428
A63F13/211
A63F13/26
G06F3/0346 425
G06F3/0346 426
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022121444
(22)【出願日】2022-07-29
(71)【出願人】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(74)【代理人】
【識別番号】100109047
【弁理士】
【氏名又は名称】村田 雄祐
(74)【代理人】
【識別番号】100109081
【弁理士】
【氏名又は名称】三木 友由
(74)【代理人】
【識別番号】100134256
【弁理士】
【氏名又は名称】青木 武司
(72)【発明者】
【氏名】西部 満
(72)【発明者】
【氏名】南野 孝範
(72)【発明者】
【氏名】鶴 大輔
【テーマコード(参考)】
5B087
5E555
【Fターム(参考)】
5B087AA07
5B087BC05
5B087BC12
5B087BC34
5E555AA15
5E555AA64
5E555AA76
5E555BA20
5E555BB20
5E555BC08
5E555BE17
5E555CA42
5E555CA44
5E555CB19
5E555CB21
5E555CB56
5E555CB66
5E555CC22
5E555DA08
5E555DB53
5E555DC13
5E555DC21
5E555EA20
5E555EA22
5E555FA00
(57)【要約】
【課題】HMDとは異なるディスプレイが存在する環境下において、HMDの位置または姿勢の少なくとも一方を高精度に推定するための技術を提供する。
【解決手段】推定処理部222は、HMDの周囲を第1時刻と第2時刻に撮影した画像を用いて第1時刻と第2時刻の間のHMDの第1移動量を推定し、推定した第1移動量の信頼度を導出する。TV画像生成部234は、静止画である絵柄を少なくとも一部に含む表示画像を生成する機能を有する。推定処理部222は、HMDに搭載された姿勢センサが第1時刻から第2時刻の間に取得したセンサデータを用いて第1時刻と第2時刻の間のHMDの第2移動量を推定する。絵柄制御部226は、第2移動量および第1移動量の差分と、第1移動量の信頼度にもとづいて、TV画像生成部234に、絵柄を含む表示画像を生成させるか否かを決定する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
情報処理装置であって、ハードウェアを有する1つ以上のプロセッサを備え、
前記1つ以上のプロセッサは、
ヘッドマウントディスプレイの周囲を第1時刻と第2時刻に撮影した画像を用いて、第1時刻と第2時刻の間の前記ヘッドマウントディスプレイの第1移動量を推定し、
推定した第1移動量の信頼度を導出し、
前記ヘッドマウントディスプレイに搭載された姿勢センサが第1時刻から第2時刻の間に取得したセンサデータを用いて、第1時刻と第2時刻の間の前記ヘッドマウントディスプレイの第2移動量を推定し、
前記ヘッドマウントディスプレイとは異なるディスプレイに表示する表示画像を生成し、
第2移動量および第1移動量の差分と、第1移動量の信頼度にもとづいて、静止画である絵柄を含む表示画像を生成するか否かを決定する、
情報処理装置。
【請求項2】
前記1つ以上のプロセッサは、
第1移動量の信頼度を示す共分散行列にもとづいて、絵柄を含む表示画像を生成するか否かを決定する、
請求項1に記載の情報処理装置。
【請求項3】
前記1つ以上のプロセッサは、
差分と信頼度を用いて算出したマハラノビス距離から、絵柄を含む表示画像を生成するか否かを決定する、
請求項1に記載の情報処理装置。
【請求項4】
前記1つ以上のプロセッサは、
マハラノビス距離をIIRフィルタを用いてフィルタ処理した結果にもとづいて、絵柄を含む表示画像を生成するか否かを決定する、
請求項3に記載の情報処理装置。
【請求項5】
前記1つ以上のプロセッサは、
第2移動量および第1移動量の差分と、第1移動量の信頼度にもとづいて、画像が第1移動量を導出するのに適していないことを判定する、
請求項1に記載の情報処理装置。
【請求項6】
前記1つ以上のプロセッサは、
前記ヘッドマウントディスプレイの動きに連動する前記表示画像を生成する、
請求項1に記載の情報処理装置。
【請求項7】
ヘッドマウントディスプレイの周囲を第1時刻と第2時刻に撮影した画像を用いて、第1時刻と第2時刻の間の前記ヘッドマウントディスプレイの第1移動量を推定し、
推定した第1移動量の信頼度を導出し、
前記ヘッドマウントディスプレイに搭載された姿勢センサが第1時刻から第2時刻の間に取得したセンサデータを用いて、第1時刻と第2時刻の間の前記ヘッドマウントディスプレイの第2移動量を推定し、
前記ヘッドマウントディスプレイとは異なるディスプレイに表示する表示画像を生成し、
第2移動量および第1移動量の差分と、第1移動量の信頼度にもとづいて、静止画である絵柄を含む表示画像を生成させるか否かを決定する、
画像生成方法。
【請求項8】
コンピュータに、
ヘッドマウントディスプレイの周囲を第1時刻と第2時刻に撮影した画像を用いて、第1時刻と第2時刻の間の前記ヘッドマウントディスプレイの第1移動量を推定する機能と、
推定した第1移動量の信頼度を導出する機能と、
前記ヘッドマウントディスプレイに搭載された姿勢センサが第1時刻から第2時刻の間に取得したセンサデータを用いて、第1時刻と第2時刻の間の前記ヘッドマウントディスプレイの第2移動量を推定する機能と、
前記ヘッドマウントディスプレイとは異なるディスプレイに表示する表示画像を生成する機能と、
第2移動量および第1移動量の差分と、第1移動量の信頼度にもとづいて、静止画である絵柄を含む表示画像を生成させるか否かを決定する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ヘッドマウントディスプレイの周囲を撮影した画像にもとづいて、ヘッドマウントディスプレイの位置または姿勢の少なくとも一方を推定する技術に関する。
【背景技術】
【0002】
近年、ユーザがヘッドマウントディスプレイ(以下「HMD」と呼ぶ。)を頭部に装着し、HMDに表示されたゲーム画像を見ながら、ゲームコントローラを操作してゲームをプレイすることが行われている。HMDのトラッキング処理を実施して、ユーザの頭部の動きにHMDに表示されるゲーム空間の映像を連動させることで、映像への没入感が向上し、ゲームのエンタテインメント性を高めることができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
HMDの位置および/または姿勢を推定する技術として、SLAM(Simultaneous Localization And Mapping)が知られている。SLAMは、自己位置推定と環境地図作成とを同時に行う技術であり、HMDに搭載されたカメラで撮影された画像を用いて特徴点のトラッキングを行うことで、HMDの位置および/または姿勢を推定することが可能となる。
【0005】
特徴点のトラッキング処理において、HMDの近くに動画を表示しているテレビが存在し且つカメラが撮影する画像にテレビが大きく含まれる場合、有効な特徴点を抽出することができず、トラッキングロストが生じることがある。特に、HMDにゲーム画像を表示しつつ、テレビにも同じゲーム画像を表示するゲームシステムでは、HMDに搭載されたカメラがテレビに表示されるゲーム画像を撮影することで、トラッキング精度が悪化することがある。
【0006】
そこで本開示は、HMDとは異なるディスプレイが存在する環境下において、HMDの位置または姿勢の少なくとも一方を高精度に推定するための技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本開示のある態様の情報処理装置は、ヘッドマウントディスプレイの周囲を第1時刻と第2時刻に撮影した画像を用いて第1時刻と第2時刻の間のヘッドマウントディスプレイの第1移動量を推定し、推定した第1移動量の信頼度を導出する推定処理部と、ヘッドマウントディスプレイとは異なるディスプレイに表示する表示画像を生成する画像生成部とを備え、画像生成部は、静止画である絵柄を少なくとも一部に含む表示画像を生成する機能を有する。推定処理部は、ヘッドマウントディスプレイに搭載された姿勢センサが第1時刻から第2時刻の間に取得したセンサデータを用いて第1時刻と第2時刻の間のヘッドマウントディスプレイの第2移動量を推定する。絵柄制御部は、第2移動量および第1移動量の差分と、第1移動量の信頼度にもとづいて、画像生成部に、絵柄を含む表示画像を生成させるか否かを決定する。
【0008】
本開示の別の態様の画像生成方法は、ヘッドマウントディスプレイの周囲を第1時刻と第2時刻に撮影した画像を用いて第1時刻と第2時刻の間のヘッドマウントディスプレイの第1移動量を推定し、推定した第1移動量の信頼度を導出し、ヘッドマウントディスプレイに搭載された姿勢センサが第1時刻から第2時刻の間に取得したセンサデータを用いて第1時刻と第2時刻の間のヘッドマウントディスプレイの第2移動量を推定し、ヘッドマウントディスプレイとは異なるディスプレイに表示する表示画像を生成し、第2移動量および第1移動量の差分と、第1移動量の信頼度にもとづいて、静止画である絵柄を含む表示画像を生成するか否かを決定する。
【図面の簡単な説明】
【0009】
【
図4】情報処理装置の機能ブロックを示す図である。
【
図5】表示パネルに表示される表示画像の例を示す図である。
【
図6】(a)および(b)は、撮像装置が撮影した画像の例を示す図である。
【
図7】出力装置に表示される画像の例を示す図である。
【
図8】絵柄表示機能のオンオフの設定画面の例を示す図である。
【発明を実施するための形態】
【0010】
図1は、実施例における情報処理システム1の構成例を示す。情報処理システム1は情報処理装置10と、記録装置11と、ヘッドマウントディスプレイ(HMD)100と、ユーザが手指で操作する入力デバイス16と、画像および音声を出力する出力装置15とを備える。出力装置15は、HMD100とは異なるディスプレイ装置であり、据置型のテレビであってよいが、映像をスクリーンや壁などに投影するプロジェクタであってもよい。情報処理装置10は、アクセスポイント(AP)17を介して、インターネットなどの外部のネットワーク2に接続される。AP17は無線アクセスポイントおよびルータの機能を有し、情報処理装置10はAP17とケーブルで接続してもよく、既知の無線通信プロトコルで接続してもよい。
【0011】
記録装置11は、システムソフトウェアや、ゲームソフトウェアなどのアプリケーションを記録する。情報処理装置10は、コンテンツサーバからネットワーク2経由で、ゲームソフトウェアを記録装置11にダウンロードしてよい。情報処理装置10はゲームプログラムを実行して、ゲームの画像データおよび音声データをHMD100に供給する。情報処理装置10とHMD100とは既知の無線通信プロトコルで接続されてよく、またケーブルで接続されてもよい。
【0012】
HMD100は、ユーザが頭部に装着することによりその眼前に位置する表示パネルに画像を表示する表示装置である。HMD100は、左目用表示パネルに左目用の画像を、右目用表示パネルに右目用の画像を、それぞれ別個に表示する。これらの画像は左右の視点から見た視差画像を構成し、立体視を実現する。ユーザは光学レンズを通して表示パネルを見るため、情報処理装置10は、レンズによる光学歪みを補正した視差画像データをHMD100に供給する。
【0013】
HMD100を装着したユーザにとって出力装置15は必要ないが、出力装置15を用意することで、別のユーザが出力装置15の表示画像を見ることができる。情報処理装置10は、HMD100を装着したユーザが見ている画像と同じ画像を出力装置15に表示してよいが、別の画像を表示してもよい。
【0014】
情報処理装置10と入力デバイス16とは既知の無線通信プロトコルで接続されてよく、またケーブルで接続されてもよい。入力デバイス16は操作ボタンなどの複数の操作部材を備え、ユーザは入力デバイス16を把持しながら、手指で操作部材を操作する。情報処理装置10がゲームプログラムを実行する際、入力デバイス16はゲームコントローラとして利用される。
【0015】
HMD100には、複数の撮像装置14が搭載される。複数の撮像装置14は、HMD100の前面の異なる位置に取り付けられる。撮像装置14はCCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサなど、一般的なデジタルビデオカメラで利用されている可視光センサを有してよい。複数の撮像装置14は同期したタイミングで、ユーザの前方を所定の周期(たとえば60フレーム/秒)で撮影し、撮影画像を情報処理装置10に送信する。
【0016】
情報処理装置10は、HMD100の周囲を撮影した画像にもとづいて、HMD100の位置または姿勢の少なくとも一方を推定する機能を有する。以下では、情報処理装置10が、HMD100の位置および姿勢の双方を推定する機能を有するものとして説明するが、位置または姿勢の少なくとも一方の推定機能を有していればよい。
【0017】
情報処理装置10は、連続した撮影時刻である時刻(t-1)と時刻(t)に撮影した撮影画像を用いて、時刻(t-1)と時刻(t)の間のHMD100の移動量を推定し、時刻(t)におけるHMD100の位置および姿勢を、時刻(t)の直前の時刻(t-1)におけるHMD100の位置および姿勢と、移動量を用いて推定する。情報処理装置10は、HMD100の位置を、実空間に定義した座標系における位置座標として導出し、HMD100の姿勢を、実空間に定義した座標系における姿勢情報として導出してよい。なお情報処理装置10は、HMD100に搭載された姿勢センサが時刻(t-1)から時刻(t)の間に取得したセンサデータをさらに利用して、HMD100の位置情報および姿勢情報を高精度に導出してよい。
【0018】
図2は、HMD100の外観形状の例を示す。HMD100は、出力機構部102および装着機構部104から構成される。装着機構部104は、ユーザが被ることにより頭部を一周してHMD100を頭部に固定する装着バンド106を含む。装着バンド106はユーザの頭囲に合わせて長さの調節が可能な素材または構造をもつ。
【0019】
出力機構部102は、HMD100を装着したユーザの左右の目を覆う形状の筐体108を含み、内部には装着時に目に正対する表示パネルを備える。表示パネルは液晶パネルや有機ELパネルなどであってよい。筐体108内部にはさらに、表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する左右一対の光学レンズが備えられる。HMD100はさらに、ユーザの耳に対応する位置にスピーカーやイヤホンを備えてよく、外付けのヘッドホンが接続されるように構成されてもよい。
【0020】
筐体108の前方側外面には、複数の撮像装置14a、14b、14c、14dが備えられる。筐体108の正面方向を基準として、撮像装置14aは、カメラ光軸が右斜め上を向くように前方側外面の右上隅に取り付けられ、撮像装置14bは、カメラ光軸が左斜め上を向くように前方側外面の左上隅に取り付けられる。撮像装置14cは、カメラ光軸が正面方向を向くように前方側外面の右下隅に取り付けられ、撮像装置14dは、カメラ光軸が正面方向を向くように前方側外面の左下隅に取り付けられ、撮像装置14cと撮像装置14dは、ステレオカメラを構成する。
【0021】
HMD100は、撮像装置14が撮影した撮影画像、姿勢センサが取得したセンサデータを情報処理装置10に送信し、また情報処理装置10で生成されたゲーム画像データおよびゲーム音声データを受信する。
【0022】
図3は、HMD100の機能ブロックを示す。制御部120は、画像データ、音声データ、センサデータなどの各種データや、命令を処理して出力するメインプロセッサである。記憶部122は、制御部120が処理するデータや命令などを一時的に記憶する。姿勢センサ124は、HMD100の動きに関するセンサデータを取得する。姿勢センサ124は、IMU(慣性計測装置)であってよく、少なくとも3軸の加速度センサおよび3軸のジャイロセンサを含み、所定の周期(たとえば1600Hz)で各軸成分の値(センサデータ)を検出する。
【0023】
通信制御部128は、ネットワークアダプタまたはアンテナを介して、有線または無線通信により、制御部120から出力されるデータを外部の情報処理装置10に送信する。また通信制御部128は、情報処理装置10からデータを受信し、制御部120に出力する。
【0024】
制御部120は、ゲーム画像データやゲーム音声データを情報処理装置10から受け取ると、表示パネル130に供給して表示させ、また音声出力部132に供給して音声出力させる。表示パネル130は、左目用表示パネル130aと右目用表示パネル130bから構成され、各表示パネルに一対の視差画像が表示される。また制御部120は、姿勢センサ124が取得したセンサデータ、マイク126が取得した音声データ、撮像装置14が取得した撮影画像を、通信制御部128から情報処理装置10に送信させる。
【0025】
図4は、情報処理装置10の機能ブロックを示す。情報処理装置10は、処理部200および通信部202を備え、処理部200は、取得部210、設定部220、推定処理部222、ゲーム実行部224、絵柄制御部226および画像生成部230を有する。取得部210は、撮影画像取得部212、センサデータ取得部214および操作情報取得部216を有し、画像生成部230は、HMD100に表示する表示画像を生成するHMD画像生成部232と、出力装置15に表示する表示画像を生成するTV画像生成部234とを有する。
【0026】
通信部202は、入力デバイス16から送信される操作情報を受信し、取得部210に供給する。また通信部202は、HMD100から送信される撮影画像およびセンサデータを受信し、取得部210に供給する。
【0027】
情報処理装置10はコンピュータを備え、コンピュータがプログラムを実行することによって、
図4に示す様々な機能が実現される。コンピュータは、プログラムをロードするメモリ、ロードされたプログラムを実行する1つ以上のプロセッサ、補助記憶装置、その他のLSIなどをハードウェアとして備える。プロセッサは、半導体集積回路やLSIを含む複数の電子回路により構成され、複数の電子回路は、1つのチップ上に搭載されてよく、または複数のチップ上に搭載されてもよい。
図4に示す機能ブロックは、ハードウェアとソフトウェアとの連携によって実現され、したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【0028】
撮影画像取得部212は、HMD100の周囲を撮影した画像を取得し、推定処理部222に供給する。推定処理部222は、撮影画像にもとづいて、HMD100の位置および姿勢を推定する処理を実施し、推定結果である位置情報および姿勢情報をゲーム実行部224に供給する。センサデータ取得部214は、HMD100の姿勢センサ124が検出したセンサデータを取得し、推定処理部222に供給する。推定処理部222はセンサデータを利用して、HMD100の位置情報および姿勢情報の推定精度を高めることが好ましい。
【0029】
ゲームプレイの開始前、HMD100を装着したユーザは、自身の周囲の環境を撮像装置14で撮影して登録する初期設定を実施する。初期設定時、ユーザは、プレイ中の安全を確保するために、自身がプレイするエリア(ユーザが動くことのできるエリア)を画定する。ゲームプレイ中、ユーザがプレイエリアから出そうになると、情報処理装置10は、ユーザに対して、プレイエリアから出そうであることを警告する。ゲームプレイ中、初期設定時に登録された周囲環境の画像は定期的に更新されて、最新の環境地図が作成されてよい。
【0030】
推定処理部222は、HMD100の撮像装置14によって撮影された画像を時系列で取得し、各画像をグリッド分割して特徴点を検出する。推定処理部222は、時刻(t-1)(以下、「第1時刻」とも呼ぶ)に撮影された画像と、時刻(t)(以下、「第2時刻」とも呼ぶ)に撮影された画像との間で特徴点の対応付けを行い、異なる時刻に撮影した画像間における特徴点の移動量を推定する。以下、実施例における移動量の推定手法について説明する。
【0031】
(第1時刻)
推定処理部222は、第1時刻において、撮像装置14cと撮像装置14dにより撮影された2枚の画像から、複数の特徴点の3次元座標を導出する。実施例における撮像装置14cと撮像装置14dはステレオカメラを構成しており、推定処理部222は、ステレオ方式による3次元計測を行うことで、複数(N個)の特徴点の3次元座標を導出する。導出した複数の3次元座標は、メモリ(図示せず)に記憶される。
【0032】
(第2時刻)
推定処理部222は、第2時刻において、撮像装置14cにより撮影された1枚の画像から、複数の特徴点の2次元座標を導出する。なお推定処理部222は、撮像装置14cではなく、撮像装置14dにより撮影された1枚の画像から、複数の特徴点の2次元座標を導出してもよい。
【0033】
N(Nは3以上の整数)個の3次元点と、それらが画像平面に投影された2次元座標との対応関係から、それを撮影した撮像装置の位置および姿勢を推定する手法として、PNP(Perspective n-Point)問題を解く方法が知られている。推定処理部222は、第1時刻で導出したN個の特徴点の3次元座標と、第2時刻で導出した複数の特徴点の2次元座標から、撮像装置14cの移動量Tv(つまりはHMD100の6自由度(6DoF)の移動量)を推定する。推定処理部222は、以下の(式1)を用いて撮像装置14cの移動量Tvを推定する。
【数1】
【0034】
ここで(u,v)は、第2時刻に撮影された画像における特徴点の2次元座標であり、(X,Y,Z)は、第1時刻にステレオカメラで撮影された画像から導出された特徴点の3次元座標である。推定処理部222は、各特徴点の3次元座標をメモリ(図示せず)から読み出して、(X,Y,Z)を取得する。
【0035】
(fx、fy)は撮像装置14cの焦点距離、(cx、cy)は画像主点であり、いずれも撮像装置14cの内部パラメータである。r11~r33、t1~t3を要素とする行列は、回転・並進行列である。(式1)において(u,v)、(fx、fy)、(cx、cy)、(X,Y,Z)は既知であり、推定処理部222は、N個の特徴点について方程式を解くことにより、それらに共通の回転・並進行列を求める。
【0036】
実施例では推定処理部222が、誤差を示す目的関数(コスト関数)を用いて、回転・並進行列の要素をパラメータとする最小化問題を解く。ガウスニュートン法を用いる場合、目的関数をパラメータで偏微分することで、どのようにパラメータを調整すれば、コストを減らすことができるかが分かる。この偏微分結果はヤコビアンJ(ヤコビ行列)と呼ばれ、ガウスニュートン法では、パラメータの最適化の過程でヤコビアンJが計算される。推定処理部222は、目的関数が減るようにパラメータを反復的に更新し、所定の終了条件に達したら、そのときのパラメータを確定する。たとえば反復回数が所定回数となったときや、ヤコビアンJが十分小さくなった場合に、推定処理部222は終了条件の成立を判定して、パラメータを確定してよい。推定処理部222は、回転・並進行列の要素を確定することで、第1時刻と第2時刻の間のHMD100の移動量Tvを推定する。このとき推定処理部222は、推定した移動量Tvの信頼度(または自信度)を示す共分散行列Σvを導出する。共分散行列Σvは、ヤコビアンJを用いて以下の式で求められる。
共分散行列Σv=JT・J ・・・(式2)
【0037】
共分散行列Σvは、推定した移動量Tvの信頼度に対応し、信頼度が高ければ共分散行列Σvは小さく、信頼度が低ければ共分散行列Σvは大きくなる。具体的に、第1時刻に撮影された画像における特徴点と、第2時刻に撮影された画像における特徴点との整合性がとれていれば、共分散行列Σvは小さく導出され、整合性がとれていなければ、共分散行列Σvは大きく導出される。
【0038】
推定処理部222は、第1時刻と第2時刻の間のHMD100の移動量Tvを推定し、推定した移動量Tvを第1時刻におけるHMD100の位置および姿勢に加えることで、第2時刻におけるHMD100の位置および姿勢を推定する。HMD100の位置情報および姿勢情報はゲーム実行部224に供給されて、ゲームに対する入力として利用される。
【0039】
操作情報取得部216は、入力デバイス16から送信される操作情報を取得し、ゲーム実行部224に供給する。ゲーム実行部224は、入力デバイス16の操作情報、HMD100の位置情報および姿勢情報にもとづいて、ゲームプログラムを実行して、仮想空間においてゲームキャラクタを動かす演算処理を行う。画像生成部230は、レンダリング処理などを実行するGPU(Graphics Processing Unit)を含み、ゲーム画像を生成する。
【0040】
画像生成部230において、HMD画像生成部232は、HMD100の表示パネル130に表示する表示画像を生成し、TV画像生成部234は、出力装置15に表示する表示画像を生成する。なお図示していないが、情報処理装置10は、ゲーム音声を生成する音声生成部を備えて構成される。
【0041】
図5は、表示パネル130に表示される表示画像の例を示す。HMD画像生成部232は、ゲーム画像を生成して、HMD100の表示パネル130に供給する。上記したように表示パネル130は、左目用表示パネル130aと右目用表示パネル130bを有しており、HMD画像生成部232は、左目用のゲーム画像と右目用のゲーム画像をそれぞれ生成して、左目用表示パネル130aと右目用表示パネル130bに供給し、左目用表示パネル130aおよび右目用表示パネル130bは、それぞれゲーム画像を表示する。実施例におけるTV画像生成部234は、HMD画像生成部232が生成する画像と同じゲーム画像を生成して、出力装置15に供給する。
【0042】
HMD100を頭部に装着したユーザが、出力装置15が設置されている方向を向いてゲームをプレイしている場合、出力装置15の画面サイズが大きく、且つユーザと出力装置15との距離が近ければ、撮像装置14が撮影する画像に含まれる出力装置15の領域は大きくなる。このとき推定処理部222は、出力装置15に表示されているゲーム画像から多くの特徴点を抽出することになり、過去に抽出した特徴点と対応付けができない場合には、トラッキングロストが生じる可能性が高くなる。
【0043】
図6(a)は、撮像装置14cが撮影した画像の例を示し、
図6(b)は、撮像装置14dが撮影した画像の例を示す。撮像装置14cと撮像装置14dとはステレオカメラを構成しているため、両者の撮影画像は水平方向に僅かにずれた画像となる。
図6に示される例では、撮影画像に、出力装置15に表示されたゲーム画像が大きく含まれている。
【0044】
図6(a)および(b)に示す撮影画像において、出力装置15に表示されているゲーム画像の占める割合は非常に大きい。ゲーム画像が刻々と変化し、推定処理部222が、撮影画像から、有効な特徴点を抽出することが困難になると、HMD100の位置および姿勢の推定処理を失敗することがある。
【0045】
そこで実施例の情報処理装置10において、TV画像生成部234が、静止画である絵柄を少なくとも一部に含む表示画像を生成する機能を備える。TV画像生成部234が、絵柄を含む表示画像を生成することで、推定処理部222が、トラッキングに有効な特徴点を抽出できるようにする。
【0046】
<絵柄表示機能について>
図7は、出力装置15に表示される画像の例を示す。TV画像生成部234は、静止画である絵柄70を一部に含む表示画像を生成する。この例でTV画像生成部234は、枠を構成する絵柄70と、枠の内側にゲーム動画72を含む表示画像を生成し、出力装置15に表示する。矩形の枠を構成する絵柄70が静止画として表示されることで、推定処理部222は、出力装置15を撮影した画像に含まれる絵柄70から、トラッキングに有効な特徴点を抽出することが可能となる。
【0047】
TV画像生成部234は、絵柄70により構成される枠の内側に、画像サイズを縮小したゲーム動画72を表示してよいが、画像サイズを縮小せずに、絵柄70により構成される矩形の枠をゲーム動画72に重畳した表示画像を生成してもよい。ゲーム動画72の視認性を損なわないために、枠が占める領域は、出力装置15の画面サイズの50%以下となるように定められることが好ましい。なおTV画像生成部234は、絵柄70を、枠として表示するのではなく、たとえば出力装置15の画面4隅に、ブロックとして表示してもよい。つまりTV画像生成部234は、絵柄70をブロック画像として隅に含む表示画像を生成してもよい。またTV画像生成部234は、上下左右のいずれか一つの側、または複数の側に絵柄70を含む表示画像を生成して、絵柄70が、出力装置15の画面の上下左右のいずれか一つの側、または複数の側に表示されてもよい。いずれの場合においても、絵柄70は、推定処理部222によるトラッキング処理をサポートするために、静止画として表示される。
【0048】
推定処理部222は、撮影画像に含まれるコーナー部(角部)を特徴点として抽出するため、絵柄70は、コーナーを多く含む模様で構成されることが好ましい。なおトラッキング精度を高めるために、絵柄70は、近い位置で同じパターンを繰り返さないように構成されることが好ましい。
【0049】
設定部220は、TV画像生成部234による絵柄表示機能のオンまたはオフを設定する。TV画像生成部234による絵柄表示機能のオンまたはオフは、初期設定時に、ユーザにより設定されてよい。
図8は、絵柄表示機能のオンオフの設定画面の例を示す。この設定画面は、初期設定時に表示パネル130に表示される。ユーザが「トラッキング補助表示」をオン設定すると、設定部220は絵柄表示機能をアクティブにする。これによりTV画像生成部234は、所定の条件が成立した場合に、絵柄70を含む表示画像を生成する。ユーザが「トラッキング補助表示」をオフ設定すると、設定部220は、TV画像生成部234による絵柄表示機能を無効に設定する。
【0050】
なお絵柄表示機能が無効に設定されている場合、推定処理部222は、出力装置15に表示されたゲーム画像を撮影した画像を用いてトラッキング処理することで、HMD100の位置および姿勢の推定処理に失敗することがある。推定処理に失敗したとき、設定部220は、TV画像生成部234による絵柄表示機能を自動的にアクティブに設定して、絵柄表示機能を実施できる状態にしてもよい。
【0051】
<絵柄表示機能の実施条件について>
絵柄70を表示することで、推定処理部222によるHMD100の移動量Tvの推定精度は向上するが、欠点としては、
図7に示されるように、ゲーム動画72の表示領域が狭くなる。そのため絵柄70を常時表示することは好ましくなく、HMD100の移動量Tvの推定精度が悪化しやすい状況下に限って絵柄70を表示することが好ましい。
【0052】
本開示者は、様々な環境下でトラッキング処理をテストした結果、移動量の推定精度が悪化する要因を以下のように特定した。
(要因1)固定された特徴点が少ない環境(テクスチャレス環境)で、出力装置15が、HMD100の動きに連動するゲーム画像を表示しており、HMD100の撮像装置14が、出力装置15に表示されたゲーム画像を撮影している(
図6参照)。
(要因2)HMD100を装着したユーザが首を横に回転することで、表示パネル130に表示される画像は、首の回転量に応じて変更されるが、出力装置15にも同じゲーム画像が表示されているため、出力装置15の画面内でゲーム画像の特徴点が移動することになる。このとき
図6に示すように、撮像装置14cが撮影する画像内でゲーム画像が占める割合が大きければ、推定処理部222は、ゲーム画像から多くの特徴点を抽出し、これらの特徴点からHMD100の移動量Tvを推定することになる。しかしながらゲーム画像から抽出される特徴点は、HMD100の動きに連動して画面内で移動しており、推定処理部222は、移動した特徴点にもとづいて、HMD100の移動量Tvを正確に推定できなくなる。そのため、このような場合に絵柄70を表示して、推定処理部222による特徴点のトラッキング処理をサポートすることが好ましい。
【0053】
なお、この状況下において、第1時刻の撮影画像と第2時刻の撮影画像の整合性はとれており(出力装置15の画面内でゲーム画像が横に動くだけなので、撮影画像間で矛盾は生じていない)、推定処理部222は、HMD100の移動量Tvを問題なく推定でき、推定した移動量Tvの信頼度を示す共分散行列Σvは小さい値をもつ(つまり共分散行列Σvは、移動量Tvの信頼度が高いことを示す)。そこで実施例では、このような状況が成立している場合に、絵柄制御部226がTV画像生成部234に、絵柄70を含む表示画像を生成させることを決定する。
【0054】
既述したように推定処理部222は、HMD100の周囲を第1時刻と第2時刻に撮影した画像を用いて、第1時刻と第2時刻の間のHMD100の移動量Tvを推定し、推定した移動量Tvの信頼度を示す共分散行列Σvを導出する。上記したように共分散行列Σvは、推定した移動量Tvの信頼度が高いほど小さく、推定した移動量Tvの信頼度が低いほど大きくなる。推定処理部222は、推定した移動量Tvと、導出した共分散行列Σvを絵柄制御部226に提供する。
【0055】
実施例の推定処理部222は、HMD100に搭載された姿勢センサ124が第1時刻から第2時刻の間に取得したセンサデータを用いて、第1時刻と第2時刻の間のHMD100の移動量Tiを推定する。具体的に推定処理部222は、加速度を積分して速度変化量を算出し、速度変化量を用いて推定される速度を積分して位置変化量を算出し、また角速度を積分して姿勢変化量を算出することで、HMD100の6自由度の移動量Tiを推定する。なお推定処理部222は、第1時刻におけるHMD100の姿勢および速度を用いて第1時刻と第2時刻の間のHMD100の移動量Tiを推定するが、第1時刻におけるHMD100の姿勢および移動速度は、推定処理部222が第1時刻において推定した姿勢および移動速度を用いてよい。推定処理部222は、センサデータにもとづいて推定した移動量Tiを絵柄制御部226に提供する。
【0056】
図9は、絵柄制御部226の機能ブロックを示す。絵柄制御部226は、受付部240、差分導出部242、マハラノビス距離算出部244および判定部246を有する。絵柄制御部226は、移動量Tiと移動量Tvの差分と、移動量Tvの信頼度にもとづいて、TV画像生成部234に、静止画である絵柄70を含む表示画像を生成させるか否かを決定する機能を有する。
【0057】
受付部240は、推定処理部222から、第2時刻に導出された移動量Tv、共分散行列Σv、移動量Tiを受け付ける。差分導出部242は、移動量Tiと移動量Tvの差分ΔTを算出する。
ΔT=Ti-Tv ・・・(式3)
マハラノビス距離算出部244は、マハラノビス距離Dを以下のように算出する。
【数2】
【0058】
判定部246は、移動量Tiおよび移動量Tvの差分ΔTと、移動量Tvの信頼度を示す共分散行列Σvにもとづいて、TV画像生成部234に絵柄70を含む表示画像を生成させるか否かを決定する。具体的に判定部246は、差分ΔTと共分散行列Σvを用いて算出したマハラノビス距離Dから、TV画像生成部234に絵柄70を含む表示画像を生成させるか否かを決定する。
【0059】
実施例において、マハラノビス距離Dが大きいことは、移動量の差分ΔTが大きく、且つ共分散行列Σvが小さい(移動量Tvの信頼度が高い)ことを意味する。ここで移動量の差分ΔTが大きいことは、撮影画像から推定した移動量Tvとセンサデータから推定した移動量Tiとが大きく異なっていること、つまり撮影画像から推定した移動量Tvが正しくないことを意味する。なお、ここでは、センサデータから推定される移動量Tiが短時間(たとえば1/60秒)であれば正確とみなせることを前提としている。したがってマハラノビス距離Dが大きいことは、移動量Tvが正しくないにもかかわらず、移動量Tvの信頼度が高いことを意味し、上記した(要因1)、(要因2)が成立している環境に相当する。したがって判定部246は、マハラノビス距離Dから、TV画像生成部234に絵柄70を含む表示画像を生成させるか否かを決定し、マハラノビス距離Dが所定の条件を満たす場合に、絵柄70を含む表示画像を生成させることを決定する。判定部246は、マハラノビス距離Dが所定の閾値Th以上になると、TV画像生成部234に絵柄70を含む表示画像を生成させることを決定してよい。
【0060】
たとえばHMD100を装着したユーザが、特徴点が少ない白い天井(天井に出力装置15は存在しない)を向いている間、撮像装置14は白い天井を撮影し、推定処理部222は撮影画像から有効な特徴点を抽出できない。そのため推定した移動量Tvは正確でなく、推定した移動量Tvの信頼度を示す共分散行列Σvは大きくなる。このとき姿勢センサ124のセンサデータから算出される移動量Tiと、撮影画像から算出される移動量Tvとの差分ΔTは大きくなるが、共分散行列Σzが大きい値をとることで、マハラノビス距離Dはそれほど大きくならない。したがって判定部246は、TV画像生成部234に、絵柄70を含む表示画像を生成させないことを決定してよい。このケースでは、撮像装置14が撮影する画像に出力装置15が含まれていないため、出力装置15の表示画像に絵柄70を含ませる必要がない。このように実施例の判定部246は、単に差分ΔTが大きいときに絵柄70を表示画像に含ませることを決定するのではなく、マハラノビス距離Dの大きさを基準として絵柄70を表示画像に含ませるか否かを決定することで、トラッキング処理に必要なときに限って絵柄70を表示画像に含ませることが可能となる。
【0061】
判定部246は、時刻ごとに算出されるマハラノビス距離DをIIR(Infinite Impulse Response:無限インパルス応答)フィルタを用いてデジタルフィルタ処理した結果にもとづいて、絵柄70を含む表示画像を生成するか否かを決定してよい。たとえば判定部246は、マハラノビス距離DをIIRフィルタで処理して、フィルタ処理結果が閾値以上となった場合、またはフィルタ処理結果が閾値以上となる期間が所定期間継続した場合に、撮影画像が移動量Tvを導出するのに適していないことを判定して、絵柄70を表示画像に含ませることを決定してもよい。なおフィルタ処理に際して、算出されたマハラノビス距離Dが所定値を超えている場合には、IIRフィルタに、マハラノビス距離Dではなく所定値を入力することで、フィルタ処理結果が簡単に閾値以上となる状況を回避してもよい。
【0062】
以上、本開示を実施例をもとに説明した。上記実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。実施例では推定処理を情報処理装置10が実施したが、情報処理装置10の一部または全ての機能がHMD100に設けられて、HMD100が推定処理を実施してもよい。このときHMD100は、情報処理装置として機能する。
【0063】
実施例では撮像装置14がHMD100に取り付けられているが、撮像装置14は、HMD100の周囲の空間を撮影できればよく、HMD100以外の別の位置に取り付けられてもよい。
【0064】
絵柄制御部226は、出力装置15の画面サイズに応じて、表示する絵柄70を選択してもよい。具体的に、画面サイズが小さければ、大きい模様が含まれる絵柄70が選択され、画面サイズが大きければ、小さな模様が含まれる絵柄70が選択されてよい。なお絵柄制御部226は、撮影画像に含まれる出力装置15の領域が占める割合にもとづいて、絵柄70を選択してもよい。
【符号の説明】
【0065】
1・・・情報処理システム、10・・・情報処理装置、14・・・撮像装置、15・・・出力装置、70・・・絵柄、72・・・ゲーム動画、100・・・HMD、200・・・処理部、202・・・通信部、210・・・取得部、212・・・撮影画像取得部、214・・・センサデータ取得部、216・・・操作情報取得部、220・・・設定部、222・・・推定処理部、224・・・ゲーム実行部、226・・・絵柄制御部、230・・・画像生成部、232・・・HMD画像生成部、234・・・TV画像生成部。