JP-2026076517-A - 情報処理装置、情報処理方法、及びプログラム
Abstract
【課題】 他のユーザとの衝突を回避できる一方で、警告を発することによりユーザのMRの没入感を低下させる可能性がある。また、注意領域外で他のユーザが仮想コンテンツを遮蔽するような状況でユーザのMRの没入感を低下させることを避けられない。 【解決手段】 第一のユーザの位置姿勢を取得する第一の位置姿勢取得手段と、第二のユーザの位置姿勢を取得する第二の位置姿勢取得手段と、前記第一の位置姿勢と前記第二の位置姿勢とに基づいて、前記第一のユーザと前記第二のユーザとの相対位置姿勢を算出する相対位置姿勢算出手段と、前記第二のユーザが仮想コンテンツを体験するプレイエリアを算出するプレイエリア算出手段と、前記相対位置姿勢と前記プレイエリアに基づいて、前記第一のユーザが前記プレイエリアを識別可能なコンテンツを生成するコンテンツ生成手段と、を備えることを特徴とする情報処理装置。 【選択図】 図4
Inventors
- 佐藤 貴俊
Assignees
- キヤノン株式会社
Dates
- Publication Date
- 20260512
- Application Date
- 20241024
Claims (11)
- 第一のユーザの位置姿勢を取得する第一の位置姿勢取得手段と、 第二のユーザの位置姿勢を取得する第二の位置姿勢取得手段と、 前記第一の位置姿勢と前記第二の位置姿勢とに基づいて、前記第一のユーザと前記第二のユーザとの相対位置姿勢を算出する相対位置姿勢算出手段と、 前記第二のユーザが仮想コンテンツを体験するプレイエリアを算出するプレイエリア算出手段と、 前記相対位置姿勢と前記プレイエリアに基づいて、前記第一のユーザが前記プレイエリアを識別可能なコンテンツを生成するコンテンツ生成手段と、 を備えることを特徴とする情報処理装置。
- 前記第二のユーザのユーザ情報を取得するユーザ情報取得手段をさらに備え、 前記プレイエリア算出手段は、前記ユーザ情報に基づいて前記プレイエリアを算出する ことを特徴とする請求項1に記載の情報処理装置。
- 前記第一のユーザが前記プレイエリアに対して警告すべき度合いを示す警告強度を算出する警告強度算出手段をさらに有し、 前記コンテンツ生成手段は、前記警告強度が大きいほど視覚刺激の度合いが大きくなるように前記コンテンツを生成する ことを特徴とする請求項2に記載の情報処理装置。
- 前記ユーザ情報は、前記第二のユーザと前記仮想コンテンツとの相対位置姿勢情報、前記仮想コンテンツの三次元モデル情報を含み、 前記プレイエリア算出手段は、前記相対位置姿勢情報と前記三次元モデルに基づいて、前記第二のユーザと前記仮想コンテンツとを包含する領域をプレイエリアとして算出する ことを特徴とする請求項2に記載の情報処理装置。
- 前記ユーザ情報は、前記仮想コンテンツの動特性、前記第二のユーザの動特性のうち少なくとも1つを含み、 前記プレイエリア算出手段は、前記仮想コンテンツの動特性、前記第二のユーザの動特性の少なくとも1つに基づいて、前記仮想コンテンツの移動領域と前記第二のユーザの移動領域とを包含する領域をプレイエリアとして算出すること、 を特徴とする請求項4に記載の情報処理装置。
- 前記ユーザ情報は、前記第二のユーザのユーザ属性情報である、前記第二のユーザの年齢、身長、前記第二のユーザと前記第一のユーザとの関係性、前記第二のユーザの位置姿勢の履歴のうち少なくとも一つを含み、 前記プレイエリア算出手段は、前記ユーザ属性情報に基づいて、前記プレイエリアのスケーリング係数を算出し、該スケーリング係数に基づいて、前記プレイエリアをスケーリングすること、 を特徴とする請求項4に記載の情報処理装置。
- 前記警告強度算出手段は、前記相対位置姿勢算出手段が算出した前記第一のユーザと前記第二のユーザの相対位置姿勢と、前記プレイエリア算出手段が算出したプレイエリアに基づいて、前記第一のユーザと前記プレイエリアの距離を算出し、該距離が小さいほど警告強度が大きくなるように算出すること、 を特徴とする請求項3に記載の情報処理装置。
- 前記警告強度算出手段は、前記第一の位置姿勢取得手段が取得した前記第一のユーザの位置姿勢に基づいて、前記第一のユーザの移動速度を算出し、移動速度が大きいほど警告強度が大きくなるように算出すること、 を特徴とする請求項3に記載の情報処理装置。
- 前記警告強度算出手段は、前記相対位置姿勢算出手段が算出した前記第一のユーザと前記第二のユーザの相対位置姿勢に基づいて算出した前記第一のユーザから前記第二のユーザに向かうベクトルと、前記第一の位置姿勢取得手段が取得した第一の位置姿勢に基づいて前記第一のユーザの進行方向を示すベクトルとのなす角を算出し、該なす角が小さくなるほど、警告強度が大きくなるように算出すること、 を特徴とする請求項3に記載の情報処理装置。
- 第一のユーザの位置姿勢を取得する第一の位置姿勢取得工程と、 第二のユーザの位置姿勢を取得する第二の位置姿勢取得工程と、 前記第一の位置姿勢と前記第二の位置姿勢とに基づいて、前記第一のユーザと前記第二のユーザとの相対位置姿勢を算出する相対位置姿勢算出工程と、 前記第二のユーザが仮想コンテンツを体験するプレイエリアを算出するプレイエリア算出工程と、 前記相対位置姿勢と前記プレイエリアに基づいて、前記第一のユーザが前記プレイエリアを識別可能なコンテンツを生成するコンテンツ生成工程と、 を備えることを特徴とする、情報処理装置によって実行される情報処理方法。
- 請求項10に記載の情報処理方法の各工程をコンピュータに実行させるためのコンピュータプログラム。
Description
本発明は、複数ユーザでMRを同時に体験する際の仮想コンテンツ生成に関する。 カメラで撮影した映像に仮想コンテンツ(CGや文字)を重畳表示させるMR(Mixed Reality)の技術が知られている。そこでは、映像情報をもとに端末(HMDやスマートフォンなどの情報端末)の位置姿勢を推定することで、端末の動きに合わせた仮想コンテンツの描画位置を計算する技術が利用されている。 MRを複数のユーザが同時に体験する場合、仮想コンテンツが他のユーザを遮り、他のユーザの接近により衝突してしまう可能性がある。また、ユーザ同士の距離が衝突するような距離でなくとも、表示している仮想コンテンツの前を他のユーザが通ることにより遮蔽することで、MRの没入感を損なう可能性もある。特許文献1では、前者の課題に対して、ユーザ同士の距離に基づいて、注意領域に入った場合に警告することで、衝突を回避する方法を提案している。 特許04642538号 情報処理装置の一例を示すハードウェア構成図。実施例1における適用シーンを示すイメージ図。実施例1におけるプレイエリアの領域を示すイメージ図。実施例1における情報処理装置の論理構成を示すブロック図。実施例1における情報処理装置の処理を示すフローチャート。実施例1におけるプレイエリア算出部の処理を示すフローチャート。変形例1-5における情報処理装置の処理を示すフローチャート。変形例1-5における警告強度算出部の処理を示すフローチャート。実施例2におけるプレイエリア算出部の処理を示すフローチャート。 本発明にかかる各実施形態を説明するのに先立ち、各実施形態に示す情報処理装置を実現可能なハードウェア構成について、図1を用いて説明する。 図1は、一実施形態にかかる情報処理装置のハードウェア構成図である。CPU10は、バス60を介して、バス60に接続された各部を制御する。入力I/F40は、外部装置(撮像装置、表示装置または操作装置など)から、情報処理装置が処理可能な形式の入力信号を取得する。また、出力I/F50は、外部装置(表示装置など)へと、外部装置が処理可能な形式の出力信号を出力する。 各実施形態の機能を実現するためのプログラムは、読み出し専用メモリ(ROM)20のような記憶媒体に格納する。また、ROM20は、オペレーティングシステム(OS)及びデバイスドライバを記憶する。ランダムアクセスメモリ(RAM)30のようなメモリは、これらのプログラムを一次記憶する。そして、CPU10がRAM30に記憶されたプログラムを実行することにより、後述する各フローチャートに従った処理を実行し、各実施形態の機能を実現する。もっとも、CPU10を用いたソフトウェア処理の代わりに、各機能部の処理に対応する演算部または回路を有するハードウェアを用いて、各実施形態の機能を実現することも可能である。 [実施例1] 実施例1では、第一のユーザと第二のユーザが、本発明の情報処理装置を搭載するMRを体験可能なHMDを装着しているものとする。 図2は、本発明の情報処理装置を搭載するHMDの利用シーンを示したイメージ図である。第一のユーザ1はHMD3を装着しており、第二のユーザ2はHMD4を装着している。HMD3、HMD4には、現実世界の映像に仮想コンテンツを重畳表示した映像が表示される。第二のユーザ2には、HMD4によって仮想モニタの形状で仮想コンテンツ5が見えている。 ここで、仮想コンテンツ5は第二のユーザ2のHMD4に表示されているが、第一のユーザ1のHMD3には表示されていない。そのため、第一のユーザ1は、第二のユーザ2が仮想コンテンツ5を視聴しているのに気がつかずに、第二のユーザ2と仮想コンテンツ5の間を通り過ぎてしまう。これにより、第二のユーザ2のMRの没入感が低下する。 図3は、本発明を利用して、第一のユーザ1がHMD3によって、第二のユーザ2のプレイエリア6を見ている様子を示している。プレイエリアとは、HMDにより仮想コンテンツを体験しているユーザが動き回ることのできる実世界の範囲のことであり、例えば周囲の物や人や壁などに衝突することなく安全な移動が保証される範囲などである。また、ユーザが動き回らずにほぼ静止して仮想コンテンツを体験している場合の、ユーザと仮想コンテンツの間の範囲もプレイエリアに含める。例えば、ユーザが仮想モニタを視聴している際の、ユーザと仮想モニタの間の領域などである。プレイエリア6は、第一のユーザ1が見ている仮想コンテンツ5と第一のユーザ1を包含する領域で表現される。第一のユーザ1は、第二のユーザ2のプレイエリア6を見ることにより、第二のユーザ2がMRを体験していることを認識することができ、第二のユーザ2との衝突や、第二のユーザ2のMRの体験の妨害を回避することに利用できる。 図4は、本実施例における情報処理装置100を含む装置構成を示すブロック図である。 情報処理装置100は、第一の位置姿勢取得部101、第二の位置姿勢取得部102、ユーザ情報取得部103、相対位置姿勢算出部104、プレイエリア算出部105、コンテンツ生成部106を備える。第一の位置姿勢取得部101は、第一の位置姿勢算出部32と接続されており、第二の位置姿勢取得部102は、第二の位置姿勢算出部42と接続されている。また、ユーザ情報取得部103は送信部43と接続しており、コンテンツ生成部106は表示部33と接続している。 第一の位置姿勢取得部101は、第一の位置姿勢算出部32が算出したHMD3の位置姿勢を取得する。 第二の位置姿勢取得部102は、第二の位置姿勢算出部42が算出したHMD4の位置姿勢を取得する。 ユーザ情報取得部103は、送信部43を介して、ユーザ情報保持部44が保持するユーザ情報を取得する。 相対位置姿勢算出部104は、第一の位置姿勢取得部101と第二の位置姿勢取得部102が取得した二つの位置姿勢に基づいて、HMD3とHMD4の相対位置姿勢を算出する。 プレイエリア算出部105は、第二の位置姿勢取得部102が取得したHMD4の位置姿勢とユーザ情報取得部103が取得したユーザ情報に基づいて、第二のユーザ2のプレイエリアを算出する。 コンテンツ生成部106は、相対位置姿勢算出部104が算出した相対位置姿勢とプレイエリア算出部105が算出したプレイエリアに基づいて、HMD4に表示するコンテンツを生成する。 第一の表示装置3(HMD3)は、入力部31、第一の位置姿勢算出部32、情報処理装置100、表示部33により構成される。 入力部31は、HMDに搭載されているカメラが入力する画像を取得する。 第一の位置姿勢算出部32は、入力部31が出力した画像を取得し、入力した画像に基づいて、HMD3の位置姿勢を算出し、第一の位置姿勢取得部101に出力する。 表示部33は、コンテンツ生成部106が出力する第二のユーザ2のプレイエリアを表す仮想コンテンツを入力し、第二のユーザ2のMR体験用の表示映像にプレイエリアを表す仮想コンテンツを重畳表示した映像を表示する。 第二の表示装置(HMD4)は、入力部41、第二の位置姿勢算出部32、送信部43、ユーザ情報保持部44により構成される。なお、第二の表示装置(HMD4)にも第一の表示装置と同様に映像を表示する機能は有する想定ではあるが、情報処理装置100の処理と直接かかわらないため説明は省略する。 入力部41は、HMDに搭載されているカメラが入力する画像を取得する。 第二の位置姿勢算出部42は、入力部41が出力した画像を取得し、入力した画像に基づいて、HMD4の位置姿勢を算出し、送信部43に出力する。 送信部43は、第二の位置姿勢算出部42が出力したHMD4の位置姿勢と、ユーザ情報保持部44が保持するユーザ情報をユーザ情報取得部103に出力する。なお、通信はP2P(Peer-to-Peer)通信で行う。 ユーザ情報保持部44は、第二のユーザ2のユーザ情報を保持する。ユーザ情報の中身については、後述する。 本実施例におけるユーザ情報には、仮想コンテンツの属性情報が含まれているものとする。仮想コンテンツの属性情報の中身は、HMD4と仮想コンテンツ5の相対位置姿勢情報、仮想コンテンツ5の三次元モデル情報を表す情報である。また、仮想コンテンツ5が動くかどうかを表す仮想コンテンツの動特性(静的、動的)を表す情報でもよい。さらに、仮想コンテンツ5を体験するユーザが動くかどうかを表すユーザの動特性(静的、動的)を表す情報でもよい。 これ以降の説明におけるフローチャートによる処理手順は、例に限定されることはなく、本発明の結果を満たす限りいかなる手順の組み合わせも、複数処理をまとめることも、処理を細分化することも可能である。また、各処理を個々に切り出してひとつの機能要素として単体として機能し、示している処理以外の処理と組み合わせて使用することも可能である。 図5は、本実施例における処理手順を示すフローチャートである。 ステップS1010で、初期化処理を行い情報処理装置100が動作可能な状態にする。 ステップS1020で、第一のユーザ1の位置姿勢取得部101は、第一の位置姿勢算出部32が算出したHMD3の位置姿勢を取得する。なお、第一の位置姿勢算出部32のHMD3の位置姿勢の算出方法は、Raulらの方法(後述)に記載の方法で現実空間の三次元地図を作成しながら、カメラの位置姿勢を推定する手法を用いる。Raulらの方法とは、Raul Mur-Artal et.al,ORB-SLAM:A Versatile and Accurate Monocular SLAM System.IEEE Transactions on Roboticsである。 ステップS1030で、第二のユーザ2の位置姿勢取得部102は、第二の位置姿勢算出部42が算出したHMD4の位置姿勢を取得する。なお、第二の位置姿勢算出部42のHMD4の位置姿勢の算出手法は、第一の位置姿勢算出部32の算出方法と同じものを用いる。 ステップS1040で、ユーザ情報取得部103は、ユーザ情報保持部44が保持するユーザ情報を取得する。なお、本実施例におけるユーザ情報とは、第二のユーザ2が体験しているMRの仮想コンテンツの属性情報(HMD4と仮想コンテンツ5の相対位置姿勢情報、仮想コンテンツ5の三次元モデル情報を示す情報を含んでいる。また、仮想コンテンツ5が動くかどうかを表す仮想コンテンツの動特性(静的、動的)を示す情報を含んでいる。さらに、仮想コンテンツを体験するユーザが動くかどうかを表すユーザの動特性(静的、動的))を示す情報を含んでいる。 ステップS1050で、相対位置姿勢算出部104は、第一の位置姿勢取得部101が取得したHMD3の位置姿勢と、第二の位置姿勢取得部102が取得したHMD4の位置姿勢に基づいて、HMD3とHMD4の相対位置姿勢を算出する。なお、このとき、HMD3の位置姿勢とHMD4の位置姿勢の基準座標系の原点の位置姿勢は、事前に整合させてあるものとする。本実施例においては、Richardらの方法(後述)のように、第一の位置姿勢算出部32が作成した三次元地図と、第二の位置姿勢算出部42が作成した三次元地図の共通の領域を検出し、共通の領域に基づいて、二つの座標系の原点の位置姿勢を整合させる。Richardらの方法とは、Richard Elvira et.al,ORBSLAM-Atlas:a robust and accurate multi-map systemである。これにより、二つの位置姿勢は同一の座標系で計算される。 ステップS1060で、プレイエリア算出部105は、ステップS1040で取得したユーザ情報に基づいて、第二のユーザ2のプレイエリアを算出する。なお、第二のユーザ2のプレイエリアは第二のユーザの位置姿勢を原点として算出