(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-15
(45)【発行日】2024-03-26
(54)【発明の名称】複合現実表示装置および複合現実表示方法
(51)【国際特許分類】
G06T 19/00 20110101AFI20240318BHJP
G06F 3/01 20060101ALI20240318BHJP
【FI】
G06T19/00 600
G06F3/01 510
(21)【出願番号】P 2023025811
(22)【出願日】2023-02-22
(62)【分割の表示】P 2020570256の分割
【原出願日】2019-02-06
【審査請求日】2023-02-22
(73)【特許権者】
【識別番号】000005810
【氏名又は名称】マクセル株式会社
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】川前 治
(72)【発明者】
【氏名】奥 万寿男
【審査官】村松 貴士
(56)【参考文献】
【文献】特開2015-228256(JP,A)
【文献】特開2006-041811(JP,A)
【文献】特開2010-176703(JP,A)
【文献】特開2015-056727(JP,A)
【文献】米国特許出願公開第2014/0132629(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06F 3/01
G06F 3/048 - 3/04895
(57)【特許請求の範囲】
【請求項1】
体験者が視認する現実映像に重ねて仮想物体の映像を表示する複合現実表示装置を用いて行う複合現実表示方法において、
当該複合現実表示装置は、他の複合現実表示装置と接続して現実映像と仮想物体の映像を互いに共有する構成であって、
現実映像を撮影するカメラと、
現実映像内の現実物体までの距離を測定する測距センサと、
前記カメラの位置と撮影方向を検知する位置・方位センサと、
前記カメラで撮影した現実映像から現実物体を認識し、体験者の操作に基づき、認識した現実物体に所定の仮想物体を紐付けするコントローラと、
紐付けされた仮想物体の映像を表示する表示部と、
現実物体と紐付けされた仮想物体のデータを保存するメモリと、
他の複合現実表示装置と接続しデータを送受信する通信部と、を備え、
それぞれの体験者が複合現実表示装置を装着する装着ステップと、
前記コントローラが、前記通信部を介して他の複合現実表示装置が生成した現実物体の認識結果及び紐付けした仮想物体のデータを取得する取得ステップと、
前記コントローラが、取得したデータと前記メモリに保存されたデータとを合成する合成ステップと、
前記コントローラが、合成した映像を前記表示部に表示する表示ステップと、
前記コントローラが、体験者の操作に基づき、前記表示部に表示された映像に対し、現実物体に紐付けする仮想物体の編集が可能である編集ステップと、を含み、
前記コントローラは、前記合成ステップにおいて、他の複合現実表示装置から取得したデータと前記メモリに保存されたデータとを合成するとき、それぞれのカメラの位置と撮影方向に応じて映像を視点変換して合成し、体験者が移動するごとに、前記カメラの新しい位置と撮影方向に基づき新しい映像に更新する、
ことを特徴とする複合現実表示方法。
【請求項2】
体験者が視認する現実映像に重ねて仮想物体の映像を表示する複合現実表示装置を用いて行う複合現実表示方法において、
当該複合現実表示装置は、他の複合現実表示装置と接続して現実映像と仮想物体の映像を互いに共有する構成であって、
現実映像を撮影するカメラと、
現実映像内の現実物体までの距離を測定する測距センサと、
前記カメラの位置と撮影方向を検知する位置・方位センサと、
前記カメラで撮影した現実映像から現実物体を認識し、体験者の操作に基づき、認識した現実物体に所定の仮想物体を紐付けするコントローラと、
紐付けされた仮想物体の映像を表示する表示部と、
現実物体と紐付けされた仮想物体のデータを保存するメモリと、
他の複合現実表示装置と接続しデータを送受信する通信部と、を備え、
それぞれの体験者が複合現実表示装置を装着する装着ステップと、
前記コントローラが、前記通信部を介して他の複合現実表示装置が生成した現実物体の認識結果及び紐付けした仮想物体のデータを取得する取得ステップと、
前記コントローラが、取得したデータと前記メモリに保存されたデータとを合成する合成ステップと、
前記コントローラが、合成した映像を前記表示部に表示する表示ステップと、
前記コントローラが、体験者の操作に基づき、前記表示部に表示された映像に対し、現実物体に紐付けする仮想物体の編集が可能である編集ステップと、を含み、
前記コントローラは、前記編集ステップにおいて、前記測距センサで測定した距離に基づき現実物体を撮影物体と背景物体に分けて認識し、背景物体については領域を分割して仮想物体を紐付けすることが可能である、
ことを特徴とする複合現実表示方法。
【請求項3】
体験者が視認する現実映像に重ねて仮想物体の映像を表示する複合現実表示装置を用いて行う複合現実表示方法において、
当該複合現実表示装置は、他の複合現実表示装置と接続して現実映像と仮想物体の映像を互いに共有する構成であって、
現実映像を撮影するカメラと、
現実映像内の現実物体までの距離を測定する測距センサと、
前記カメラの位置と撮影方向を検知する位置・方位センサと、
前記カメラで撮影した現実映像から現実物体を認識し、体験者の操作に基づき、認識した現実物体に所定の仮想物体を紐付けするコントローラと、
紐付けされた仮想物体の映像を表示する表示部と、
現実物体と紐付けされた仮想物体のデータを保存するメモリと、
他の複合現実表示装置と接続しデータを送受信する通信部と、を備え、
それぞれの体験者が複合現実表示装置を装着する装着ステップと、
前記コントローラが、前記通信部を介して他の複合現実表示装置が生成した現実物体の認識結果及び紐付けした仮想物体のデータを取得する取得ステップと、
前記コントローラが、取得したデータと前記メモリに保存されたデータとを合成する合成ステップと、
前記コントローラが、合成した映像を前記表示部に表示する表示ステップと、
前記コントローラが、体験者の操作に基づき、前記表示部に表示された映像に対し、現実物体に紐付けする仮想物体の編集が可能である編集ステップと、を含み、
前記コントローラは、前記表示ステップにおいて、前記測距センサにより現実物体と仮想物体の遠近を評価し、仮想物体の手前に現実物体が存在する場合には、仮想物体の一部もしくは全部を非表示とするとともに、現実物体が他の体験者である場合には、現実物体にマスク処理を行う、
ことを特徴とする複合現実表示方法。
【請求項4】
体験者が視認する現実映像に重ねて仮想物体の映像を表示する複合現実表示装置を用いて行う複合現実表示方法において、
当該複合現実表示装置は、他の複合現実表示装置と接続して現実映像と仮想物体の映像を互いに共有する構成であって、
現実映像を撮影するカメラと、
現実映像内の現実物体までの距離を測定する測距センサと、
前記カメラの位置と撮影方向を検知する位置・方位センサと、
前記カメラで撮影した現実映像から現実物体を認識し、体験者の操作に基づき、認識した現実物体に所定の仮想物体を紐付けするコントローラと、
紐付けされた仮想物体の映像を表示する表示部と、
現実物体と紐付けされた仮想物体のデータを保存するメモリと、
他の複合現実表示装置と接続しデータを送受信する通信部と、を備え、
それぞれの体験者が複合現実表示装置を装着する装着ステップと、
前記コントローラが、前記通信部を介して他の複合現実表示装置が生成した現実物体の認識結果及び紐付けした仮想物体のデータを取得する取得ステップと、
前記コントローラが、取得したデータと前記メモリに保存されたデータとを合成する合成ステップと、
前記コントローラが、合成した映像を前記表示部に表示する表示ステップと、
前記コントローラが、体験者の操作に基づき、前記表示部に表示された映像に対し、現実物体に紐付けする仮想物体の編集が可能である編集ステップと、を含み、
現実物体に紐付けする仮想物体は複数の部品から構成され、前記コントローラは、前記編集ステップにおいて、各々の部品に仮想物体の編集権限を示す優先権フラグを付与して保存する、
ことを特徴とする複合現実表示方法。
【請求項5】
請求項1ないし請求項3のいずれか一項に記載の複合現実表示方法であって、
前記コントローラは、前記編集ステップにおいて、現実物体に仮想物体を紐付けするとき、仮想物体の紐付け権限を示す優先権フラグを付与して前記メモリに保存する、
ことを特徴とする複合現実表示方法。
【請求項6】
請求項1または請求項3または請求項4に記載の複合現実表示方法であって、
前記コントローラは、前記編集ステップにおいて、前記測距センサで測定した距離に基づき現実物体を撮影物体と背景物体に分けて認識し、背景物体については領域を分割して仮想物体を紐付けすることが可能である、
ことを特徴とする複合現実表示方法。
【請求項7】
請求項1または請求項4に記載の複合現実表示方法であって、
前記コントローラは、前記表示ステップにおいて、前記測距センサにより現実物体と仮想物体の遠近を評価し、仮想物体の手前に現実物体が存在する場合には、仮想物体の一部もしくは全部を非表示とするとともに、現実物体が他の体験者である場合には、現実物体にマスク処理を行う、
ことを特徴とする複合現実表示方法。
【請求項8】
請求項1ないし請求項7のいずれか一項に記載の複合現実表示方法であって、
前記表示部は、仮想物体の映像を透過型スクリーンに投射する3Dプロジェクタで構成され、
体験者は、前記透過型スクリーン越しに現実映像を視認すると同時に、前記透過型スクリーン上に仮想物体の映像を視認可能である、
ことを特徴とする複合現実表示方法。
【請求項9】
請求項1ないし請求項8のいずれか一項に記載の複合現実表示方法であって、
前記複合現実表示装置は、前記カメラと前記測距センサとして、現実映像を撮影するとともに、現実映像内の現実物体までの距離を測定可能な3Dカメラを有し、
前記表示部は、前記3Dカメラで撮影した現実映像に、仮想物体の映像を合成して表示する平面ディスプレイである、
ことを特徴とする複合現実表示方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、現実空間と仮想物体とを合成した複合現実(MR:Mixed Reality)空間を体験する複合現実表示装置および複合現実表示方法に関する。特に、複数のMR体験者がMR体験を共有するのに好適な技術に係る。
【背景技術】
【0002】
現実空間やカメラで撮影する現実映像にCG(Computer Graphics)等で作成した仮想物体である拡張現実(AR:Augmented Reality)オブジェクトを付与することが、ゲームや保守作業等のコンテンツに用いられている。ARオブジェクトを付与するために、ARトリガーあるいはマーカーと呼ばれる映像をカメラで背景と同時に撮影して、ARトリガーにより紐付けするARオブジェクトを現実映像に合成する。特にMR体験では、カメラとディスプレイとが一体化されたヘッドマウントディスプレイ(HMD)を用いて、HMDに搭載したカメラで撮影した現実空間の映像を元に、HMDの位置及び姿勢に応じて生成するARオブジェクトを、仮想物体の映像として現実空間に重畳表示する。
【0003】
これに関し特許文献1では、複数の人がMR体験を共有するために、HMDに加えて、タブレットなどの携帯情報端末を組み合わせたMRシステムが記載されている。このMRシステムでは、HMDに表示しているMR映像をタブレットにも表示させ、タブレットのユーザは、共有しているMR映像中の仮想物体を指定し、指定した結果をMR映像に反映させことができる、と記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら特許文献1の方法では、携帯情報端末のユーザは仮想物体を指定できるのみであり、仮想物体を現実空間に配置したり、置換したりする操作はできない。また、HMDの現実空間は共有できるが、携帯情報端末のユーザ自身の現実空間は共有できない。
【0006】
このように特許文献1では、MR空間を複数の人が体験する場合において、HMD装着者を除く他の体験者は、仮想物体を現実空間に配置あるいは置換するという操作はできなく、さらに他の体験者の現実空間を共有できないという課題がある。
【0007】
本発明は上記の点を鑑みてなされたものであり、その目的は、MR空間を複数の人が体験する場合において、複数の体験者が、仮想物体を現実空間に同時に配置あるいは置換する等の操作が可能で、かつ複数の体験者の現実空間が共有可能である複合現実表示装置および複合現実表示方法を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明の複合現実表示装置は、他の体験者が装着する他の複合現実表示装置と接続して現実映像と仮想物体の映像を互いに共有する構成であって、現実映像を撮影するカメラと、カメラで撮影した現実映像から現実物体を認識し、体験者の操作に基づき、認識した現実物体に所定の仮想物体を紐付けするコントローラと、紐付けされた仮想物体の映像を表示する表示部と、現実物体と紐付けされた仮想物体のデータを保存するメモリと、他の複合現実表示装置と接続しデータを送受信する通信部と、を備える。前記コントローラは、前記通信部を介して他の複合現実表示装置が生成した現実物
体の認識結果及び紐付けした仮想物体のデータを取得し、取得したデータと前記メモリに保存されたデータとを合成して、合成した映像を前記表示部に表示するとともに、体験者の操作に基づき、前記表示部に表示された映像に対し、現実物体に紐付けする仮想物体の編集が可能であることを特徴とする。
【0009】
さらに本発明の複合現実表示方法は、複数の複合現実表示装置で現実映像を撮影するステップと、撮影された現実映像を連結して現実物体を認識するステップと、各体験者の操作に基づき選択された仮想物体を現実物体に紐付けして合成するステップと、各複合現実表示装置にて、連結された現実物体と紐付けされた仮想物体の合成データをもとに共通の映像を表示するステップと、表示された映像に対し、各複合現実表示装置の体験者が、現実物体に紐付けする仮想物体の編集を行うステップと、を備える。
【発明の効果】
【0010】
本発明によれば、MR空間を複数の人が体験する場合において、複数の体験者が、仮想物体を現実空間に配置あるいは置換等の操作が可能となり、かつ複数の体験者の現実空間を共有することが可能となる。
【図面の簡単な説明】
【0011】
【
図1A】複数のMR表示装置を適用する現実空間の例を示す図。
【
図2】実施例1に係るMR表示装置の外観構成を示す図。
【
図3】MR表示装置1の機能構成を示すブロック図。
【
図4A】ARオブジェクトを配置したMR空間の例を示す図。
【
図4B】クロスオブジェクトの生成法を説明する図。
【
図6】基準点・移動履歴処理82のフローチャート。
【
図10A】ARオブジェクト処理86のフローチャート(ケース1)。
【
図10B】ARオブジェクト処理86のフローチャート(ケース2)。
【
図12B】紐付けられたARオブジェクトを編集する操作画面。
【
図13B】基準点・移動履歴データ91のデータテーブル。
【
図13E】ARオブジェクトデータ94のデータテーブル。
【
図15】ARオブジェクト処理86のフローチャート(追加分)。
【
図16B】ARオブジェクトデータのデータテーブル。
【
図17】実施例3に係るMRネットワークシステムの構成を示す図。
【
図18A】MRネットワークシステムのシーケンス図。
【
図19】実施例4に係るMR表示装置1’の外観構成を示す図。
【
図20】MR表示装置1’の機能構成を示すブロック図。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら、本発明の実施例について説明する。以下では、複合現実表示装置をMR表示装置、またはHMDとも呼ぶ。
【実施例1】
【0013】
実施例1では、複数のMR表示装置を相互に接続し、装置間でデータのやり取りを行うシステムについて説明する。
【0014】
[MR表示システム]
図1Aは、複数のMR表示装置を適用する現実空間の例を示す図である。このシステムでは、3台のMR表示装置(HMD)1a,1b,1cを有し、MR空間の複数の体験者2a,2b,2cは、それぞれの頭部にHMD1a,1b,1cを装着している。後述するように各HMDは、カメラ、測距センサ、ディスプレイ、通信部、位置・方位センサを内蔵し、カメラで現実空間を撮影するとともに、ディスプレイに表示されるMR映像により、体験者はMR映像を視認する。HMD1a,1b,1cが内蔵するカメラの撮影画角を符号3a,3b,3cで示す。また、HMD1a,1b,1cの間で通信するために、無線LANなどのアクセスポイント(AP)5を設けている。体験者(HMD)の位置と視線方向が異なるので、それぞれが視認する現実空間は異なるが、HMD間で通信することで、共通のMR映像を体験することができる。
【0015】
現実空間は、部屋の壁4a、4b、4cと床4dとが背景となる。これに現実物体として、窓6、ソファ7、プロジェクタ8と、プロジェクタ8の投射画面8aが置かれている。MR体験者2a,2b,2cは、この現実空間内でMR体験をする。具体的には、複数の作業者(MR体験者)により室内のインテリアのレイアウトを行う場面を一例として想定している。
【0016】
MR体験を共有化するため、体験者2a,2b,2cは視線方向(カメラの撮影方向)と、位置及び高さの初期設定(座標合わせ)を行う。例えば、カメラで窓6を撮影し、窓6の隅6b、6cがHMDのディスプレイ画面の中央6aに対して対称となるようにし、撮影方向の基準を定める。そのままの状態で、窓6から所定の距離の位置に移動し基準位置とする。これら撮影方向、位置に加え、体験者の身長に依るHMDの高さを基準点として登録する。基準点の登録は、体験者2a,2b,2cがそれぞれ行うが、体験者2の高さを基準として、体験者2b、2cの高さの差を補正しても良い。基準点登録後の体験者2a,2b,2cの移動は、位置・方位センサにて検知し、移動履歴データとして記録する。これにより各体験者の位置データを共通の座標系で表わすことができる。
【0017】
なお、初期化の方法は上記の方法に限定されるものではなく、GPSセンサ、方位センタを用いる方法であっても良く、MR空間の体験者間で基準点を共有できるものであれば良い。
【0018】
HMDのカメラで撮影できる画角3a,3b,3cは、現実空間の一部でしかない。本システムでは、HMD1a,1b,1cにより取得した撮影画角3a,3b,3cの撮影映像を合成し、連結した現実空間の映像(背景映像)を生成する。その際、撮影した時の各HMDの位置、方角、高さを、基準点から撮影したものとして視点変換して合成する。背景映像の連結は、体験者2a,2b,2cの移動のたびに繰り返し、領域が重なる部分は、新しい背景映像で更新する。
【0019】
図1Bは、背景映像を連結した状態を示す図である。HMD1aで撮影する範囲(
図1Aの撮影画角)3a、HMD1bで撮影する範囲3b、HMD1cで撮影する範囲3cは、異なる撮影位置での背景映像である。これらの映像を基準点から撮影した映像に視点変換し、基準点を中心とする360度の全周空間にマッピングして、連結した背景映像とす
る。
【0020】
360度の全周空間は、撮影範囲3a,3b,3cで全ての空間がカバーされる訳でもない。そこで各HMD1a,1b,1c(各体験者2a,2b,2c)が移動し、次の時刻Tで新たな撮影範囲3aT,3bT,3cTで撮影する。そして、撮影範囲3aT,3bT,3cTでの映像を視点変換して、連結した背景映像に追加し、背景映像の空間を広げて行く。空間を拡大するときは、特に壁の境界や床と壁の接線、窓のフレームのような特徴点を重ねて広げると連結しやすい。重複する背景映像の部分は、時間的に新しい背景映像の部分に置き換え、背景映像を更新する。
【0021】
なお、背景映像の連結処理に関して言えば、HMDの撮影映像に代えて、後述する背景物体データを取得した後で、背景物体データを連結させるようにしても良い。さらに、各々のHMDで撮影映像から撮影物体データおよび背景物体データを取得し、各々のHMDで取得した撮影物体データを共有するとともに、背景物体データを連結させるようにしても良い。
【0022】
このように、複数のHMD(複数の体験者)が取得した背景映像の連結処理を行うことで、1台のHMD(1人の体験者)では認識できない背景を合成することができる。具体的には、
図1Aや
図1Bにおいて、体験者2bのカメラの画角3bでは、ソファ7を捉えることができず、体験者2cのカメラの画角3cでは、プロジェクタ8を捉えることができない。しかし、各体験者のカメラ映像を連結し、連結された背景映像を各体験者で共有することで、ソファ7やプロジェクタ8の存在が認識され、認識した情報は後述する撮影物体として、複数の体験者2a,2b,2cで共有することができる。
【0023】
[MR表示装置]
図2は、実施例1に係るMR表示装置の外観構成を示す図である。MR表示装置(HMD)1(1a~1c)は、カメラ10、測距センサ11、位置・方位センサ12、3Dプロジェクタ13、透過型スクリーン14、シャッタ付きメガネ15、コントローラ16、スピーカ17a,17b、ホルダ18a,18b、マイク19を備える。MRの体験者2は、ホルダ18a,18bで、HMD1を自身の頭部に装着する。
【0024】
カメラ10は、頭部前方(体験者の視線方向)を撮影するように取り付けられており、測距センサ11は、カメラ10の撮影映像が捉える現実物体との距離を測定する。位置・方位センサ12は、ジャイロ、位置、方位センサ等で構成され、体験者の位置と視線方向を検知する。
【0025】
測距センサ11は、TOF(Time of Flight)方式のように2次元的に光線を照射して距離を計測するものでも良いし、輪郭等の特徴点に対してステレオカメラのような方式で距離を算出するものでも良く、カメラ撮影映像に対応してカメラと現実物体との距離を測定できるものであれば良い。
【0026】
3Dプロジェクタ13は、3Dの仮想物体(ARオブジェクト)を、左目で確認する映像と右目で確認する映像とを交互に透過型スクリーン14に投射して表示する。シャッタ付メガネ15は、これに同期して左右交互に映像を透過させる。体験者2は、前方の風景や現実物体を透過型スクリーン14を通して見ることができるとともに、これに重畳して3Dプロジェクタ13で投射された3Dの仮想物体を透過型スクリーン14上で視認することができる。
【0027】
コントローラ16は、カメラ10の撮影映像、測距センサ11の距離データ、位置・方位センサ12の位置・方位データを取り込み、内部のメモリやCPUに供給する。また、
3Dプロジェクタ13で投射する映像やスピーカ17a,17bに出力する音声を作成する。さらにシャッタ付メガネ15の駆動信号を生成し、3Dプロジェクタ13で投射するARオブジェクトの映像に同期して、左右メガネの透過を切り替えて、体験者に3D映像を提供する。
【0028】
またコントローラ16は、MR体験者2とのユーザインターフェースを含む。コントローラ16をスマートフォンのようなデバイスで実現する場合には、ユーザインターフェースはタッチセンサを内蔵したパネルを利用できる。
【0029】
図3は、MR表示装置1の機能構成を示すブロック図である。
図2と同一のものには同一の符号を付している。HMD1のコントローラ16の内部(破線で示す)には、特徴抽出処理部61、距離算出処理部62、移動検知処理部63、通信部64、CPU65、RAM66、画像RAM67、プログラムフラッシュROM(P-FROM)68、データフラッシュROM(D-FROM)69と、さらにユーザ操作入力部60を備える。
【0030】
特徴抽出処理部61は、カメラ10からの撮影映像に対し、現実物体の輪郭(エッジ)を抽出し、輪郭の変曲点や頂点を特徴点とする処理を行う。距離算出処理部62は、測距センサ11での計測データをもとに、特徴点までの距離を算出する。移動検知処理部63は、位置・方位センサ12からの計測データをもとに、HMD1の位置と移動量、及びカメラ10の撮影方向を求め、すなわちこれが、体験者2の位置と移動量、視線方向となる。
【0031】
通信部64は、HMD1をアクセスポイント5に接続し、他のHMD1との間でデータのやり取りを行う。あるいは、外部ネットワークに接続し、外部ネットワークに繋がるサーバ等によって、HMD1の処理の一部を担わせることができる。
【0032】
プログラムフラッシュROM68には、各種の処理プログラムが格納されている。これには、全体制御処理81、基準点・移動履歴処理82、同期化・優先権処理83、撮影物体処理84、背景物体処理85、ARオブジェクト処理86、表示映像生成処理87が含まれる。これらの処理プログラムは、RAM66に展開してCPU65で実行する。
【0033】
さらにデータフラッシュROM69には、これら処理プログラムを実行する過程及び結果で発生するデータが格納される。これには、基準点・移動履歴データ91、撮影物体データ92、背景物体データ93、ARオブジェクトデータ94が含まれる。これより、体験者がMR空間を再現して体験したい場合に、これらの格納しているデータを読み出すことによって実現可能となる。
【0034】
なお、プログラムフラッシュROM68とデータフラッシュROM69は、図示したように別々のメモリ媒体で構成しても良いし、1つのメモリ媒体で構成しても良い。さらには2つ以上のメモリ媒体であっても良く、フラッシュROM以外の不揮発性のメモリ媒体であっても良い。またデータフラッシュROM69は、ネットワーク上にあるデータサーバに置いても良い。
【0035】
表示映像生成処理87で生成した映像データは、画像RAM67に格納し、画像RAM67から読み出して3Dプロジェクタ13で投射する。また、ユーザ操作入力部60ではタッチセンサによりユーザ入力を受け付け、3Dプロジェクタ13で透過型スクリーン14に制御メニュー映像を投射し、HMD1を制御する。
【0036】
[MR空間]
次に、MR表示装置1の各機能ブロックの動作、すなわち現実空間にARオブジェクト
を配置してMR空間を作成する処理を具体的に説明する。
【0037】
まず、
図1Aに示した現実空間において、現実物体を撮影物体または背景物体として認識し、登録する。現実空間としての部屋は、正面壁4a、左側壁4b、右側壁4c、床4dで囲われており、窓6、ソファ7、プロジェクタ8が存在する。
【0038】
複数のHMD1のカメラ10はこれらの現実物体を撮影し、特徴抽出処理部61は現実物体の輪郭(エッジ)を抽出し、輪郭の変曲点や頂点を特徴点とする処理を行う。輪郭を構成する特徴点の集合は、CPU65に送られ、物体が何であるかを識別する。その際、通信部64を介して外部のサーバの映像データベースと照合して、物体の識別を行ってもよい。
【0039】
一方、測距センサ11と距離算出処理部62は、部屋内の各物体までの距離を算出し、現実空間内の見取り図を作成する。そして、特徴抽出処理部61で抽出した特徴点には、距離算出処理部62で算出した距離データを組み合わせる。さらに基準点・移動履歴処理82では、位置・方位センサ12と移動検知処理部63により、HMD1がどの位置(座標)でどの方向を向いた状態で撮影したものかを記録しておく。
【0040】
識別された現実物体は、撮影物体処理84および背景物体処理85により、「撮影物体」または「背景物体」に区別して登録する。撮影物体は、特有の物体形状を有し距離データが相対的に近くに位置するもので、本例では、窓6、ソファ7、プロジェクタ8が登録される。一方、背景物体は、例えば平面以外の特有の物体形状を有していなかったり、距離データが最遠点を含んだりするもので、本例では、正面壁4a、左側壁4b、右側壁4c、床4dを背景物体として登録する。つまり、背景物体は、カメラ撮影映像の背景を構成する物体である。
【0041】
図4Aは、現実空間にARオブジェクトを配置したMR空間の例を示す図である。
図1Aに示した現実空間と同一の物体には同一の符号を付しており、新たに仮想物体としてARオブジェクト21~26を配置している。HMD1a~1cを装着した各体験者2a~2cは、このようなMR空間を体験することができる。
【0042】
各ARオブジェクト21~26は、特定の現実物体(撮影物体または背景物体)の位置に合わせて(つまり紐付けされて)配置される。ARオブジェクトの配置は、各体験者2の操作に基づくARオブジェクト処理86により決定される。この処理を「紐付け処理」ともいう。すなわち紐付け処理では、
図1Bのカメラ映像から作成した現実空間の見取り図をベースとし、各ARオブジェクトを配置する座標を決める。この時、ARオブジェクトの配置情報(紐付け情報)では、どの物体に関連付けるかを指定するだけでなく、物体のどの部分に配置するか指定するため、物体の特定の特徴点にオフセット距離を与えて位置決めする。
【0043】
本例の場合、TVオブジェクト21は、撮影物体であるプロジェクタ8を置換するように配置される。テーブルオブジェクト22と花瓶オブジェクト23はソファ7に紐付けされ、ソファ7の前面に位置するような距離と方向のオフセットが与えられる。さらに花瓶オブジェクト23には、花瓶が丁度テーブル上に置かれた状態になるよう高さ方向のオフセットが指定される。カーテンオブジェクト24は窓6に紐付けされ、窓6の特定の特徴点にオフセット距離を与えて配置される。時計オブジェクト25は、背景物体である壁4に紐付けられているが、正面壁4aの任意の点を擬似特徴点として定め、その上に配置している。
【0044】
クロスオブジェクト26は、背景物体を布で覆いかぶせた効果を得る3Dオブジェクト
である。本例では、背景物体である床4d部分の領域に適用し、床4dに絨毯を敷き詰めたような加工をシミュレーションすることができる。この時、TVオブジェクト21で置換されるプロジェクタ8もクロスオブジェクト26で覆われるが、プロジェクタ8の存在により、クロスオブジェクト26は盛り上がり、皺26aができている。
【0045】
図4Bは、クロスオブジェクト26の生成法を説明する図である。クロスオブジェクト26で覆われるプロジェクタ8までの距離情報を用いて、プロジェクタ8に接する位置にポリゴン群26bを配置し、プロジェクタ8を覆い隠す。床部分4dの平面領域及びポリゴン群26bに、3Dコンピュータグラフィックスのレンダリング技法でテクスチャを貼り付け、クロスオブジェクト26を生成する。
【0046】
[MR表示装置の処理フロー]
次に、MR表示装置(HMD)1の行う各種の処理フローについて説明する。すなわちCPU65は、プログラムフラッシュROM68に格納される以下のプログラムに従い、処理を実行する。
【0047】
図5は、全体制御処理81のフローチャートである。すなわち、各HMDにおいてカメラ撮影からARオブジェクトを表示するまでの全体の工程を示す。
【0048】
S101でMR体験への参加のためにログインする。ログインサーバは、AP5に直接繋がっているパソコンであっても良いし、AP5からネットワークを介して繋がるネットワークサーバであっても良い。
S102でカメラ10による現実空間の撮影を開始する。カメラ撮影は、MR表示全体を実行するタイミングで行っても良いし、例えば30fps(frame per second)の動画撮影を継続していて、MR表示全体を実行するタイミングで撮影映像をキャプチャするようにしても良い。
【0049】
S103は基準点・移動履歴処理82であり、HMDの位置、撮影方向及び高さを検知し、基準点・移動履歴データ91に登録する。
S104は同期化・優先権処理83である。該処理83では、MR体験に参加している複数のHMD間で、撮影物体、背景物体、ARオブジェクトの同期化と、各々の撮影物体、背景物体に設定される優先権の処理を行い、最新の状態に更新する。優先権とは、特定の物体に対する操作権限を、特定のHMD(体験者)に割り当てることであり、優先権が設定されている場合、他の体験者はその物体に対する編集等ができない。
【0050】
S105は、表示映像生成の処理87である。HMDを装着したMR体験者は、各々の撮影物体と背景物体、及び優先権を最新化した状態の表示映像を確認しながら、以下のS106の撮影物体処理84、S107の背景映像処理85、S108のARオブジェクト処理86を実行する。
【0051】
S106の撮影物体処理84は、キャプチャしたカメラ撮影映像の特徴抽出を行い、特徴点を選び、特徴点の集合に対して、現実物体が何であるかを識別し、撮影物体として撮影物体データ92に登録する。
S107の背景物体処理85は、特徴点に付与される距離データで最遠点にある特徴点を含み、撮影物体を除く領域を背景物体として背景物体データ93に登録する。
【0052】
S108のARオブジェクト処理86は、撮影物体や背景物体に配置するARオブジェクトを選択(追加)し、また配置するときのパラメータ(表示パラメータ)を編集する。この処理では、ARオブジェクトのデータをネットワークからダウンロードし、体験者が選択する操作が含まれる。選択したARオブジェクトのデータをARオブジェクトデータ
94に登録し、表示パラメータは紐付けデータとして、撮影物体データ92と背景物体データ93に登録する。
【0053】
S109は表示映像生成処理87であり、S108にて追加もしくは編集したARオブジェクトの表示映像を生成し、各HMDにてMR体験者が視認する。
S110で継続するかの判断を行い、継続する場合(Yes)ではS102に戻り、継続しない場合(No)には終了する。
【0054】
このように本実施例では、複数の体験者2が装着した複数のHMD1を相互に接続し、各HMDで取得した撮像物体や背景物体、及びこれに紐付けした仮想物体(ARオブジェクト)のデータを同期化して共有することができる。その結果、同一の現実空間を複数の体験者で共有するとともに、それぞれの体験者が、個別に仮想物体を現実空間に配置あるいは置換する等の操作が可能となる。
【0055】
以下、各処理について詳細に説明する。
図6は、基準点・移動履歴処理82のフローチャートである。この処理は、位置・方位センサ12と移動検知処理部63により実行される。
【0056】
S111では、MR体験者2はHMD1を装着し、カメラ撮影を開始する。
S112では、位置・方位センサ12でHMD1の位置及びカメラ10の撮影方向を検知し、体験者の位置、高さ及び視線方向を表すデータとして取得する。
【0057】
S113では、データフラッシュROM69内の基準点・移動履歴データ91に基準点データが既に登録されているか、即ちMR体験の開始かどうかを確認する。
【0058】
登録されている時(Yes)には、S114で移動履歴データとして登録する。登録されていない時(No)には、S115で基準点テータとして登録する。移動履歴データは基準点データとの差分で表される。
以降、ユーザが現実空間を移動しながらカメラ撮影を行う毎に、現在の位置とカメラ撮影方向の対を移動履歴として、基準点・移動履歴データ91に登録する。
【0059】
図7は、同期化・優先権処理83のフローチャートである。
まず同期化処理とは、複数のHMD1の間で、各々が所持する撮影物体、背景物体、ARオブジェクトのデータの共有と最新化を行う処理である。
【0060】
S121では、各HMDは、通信部64を介して他のHMDとデータの送受信を行い、取得したデータをデータフラッシュROM69に保存する。
S122では、撮影物体データについて同期化を行う。
S123では、背景物体データについて同期化を行う。
S124では、ARオブジェクトデータについて同期化を行う。
【0061】
次に優先権処理とは、撮影物体や背景物体に付与された優先権を読み込む処理である。優先権が設定された物体については、設定したMR体験者以外は編集(ARオブジェクトの紐付け)をすることができない。
S125では、撮影物体に対する優先権設定を読み込む。
S126では、背景物体に対する優先権設定を読み込む。
これらの優先権設定情報は、ARオブジェクトの紐付け処理(S108)に際して参照される。
【0062】
図8は、撮影物体処理84のフローチャートである。この処理は特徴抽出処理部61に
より実行される。
【0063】
S131では、カメラ10から撮影映像を読み出す。
S132では、映像の特徴解析を行い、例えばエッジを抽出し、エッジの頂点や変曲点を特徴点として抽出する。
【0064】
S133では、測距センサ11と距離算出処理部62で取得した距離データを特徴点に付加する。
S134では、前回の特徴点との差分を評価する。
【0065】
S135では、差分が有意と評価された特徴点の集合から、物体の種別等を識別する。その際、通信部64を介して外部サーバの映像データベースと照合することで、物体の識別を行うことができる。
S136では、識別した結果を撮影物体として撮影物体データ92に登録する。
【0066】
S137では、識別された撮影物体に人物が含まれている場合、表示映像生成処理87に送信する。これは、カメラにより他のMR体験者を撮影している可能性が高いからである。他のMR体験者は、MR映像としては必要がないと判断するならば、この人物物体の識別情報を表示映像生成処理87に送信し、表示映像から除外するように要求する。もしくは、S131でのカメラ撮影映像から、他のMR体験者であると体験者自身が判断し、表示映像から除外しても良い。
【0067】
図9は、背景物体処理85のフローチャートである。
S141では、特徴抽出処理部61により抽出された特徴点のうち、最遠距離を有する特徴点を選択する。
図1Aの例では、正面壁4aの隅などが相当する。そして、最遠距離を有する特徴点を含み撮影物体と認識されていない領域を選定し、領域Aとする。
【0068】
S142では、特徴抽出処理部61により抽出された特徴点のうち、距離検出が不可能な(検出限界を超える)領域を選定し、領域Bとする。
S143では、上記で選定した領域Aと領域Bを、現実空間の背景物体とする。
【0069】
S144では、登録済みの背景物体データとの差分データを算出する。
S145では、他のHMDから取得した背景物体データを同期化する。
S146では、上記の差分データと同期化された背景物体データを統合化する。
【0070】
S147では、背景物体を必要に応じて幾つかの領域に分割する。
S148では、分割された領域にARオブジェクトを配置する。例えば
図4A,
図4Bのように、床4dに対してクロスオブジェクト26を貼り付けることができる。
S149では、統合した背景データと分割した領域データを背景物体として背景物体データ93に登録する。
【0071】
図10Aと
図10Bは、ARオブジェクト処理86のフローチャートである。
図10Aと
図10Bでは、処理手順の一部を入れ替えており、どちらのフローを用いても良い。この処理は、体験者が操作画面を見ながら対話形式で行う。
【0072】
図10Aの場合(ケース1)から説明する。
S151では、撮影物体もしくは背景物体(分割した領域でもよい)から、ARオブジェクトを配置する物体を1つ選択する。
【0073】
S152では、選択した物体に他のHMDから優先権が設定されているかを確認する。
そのために、前記同期化・優先権処理83での優先権の読み込み(
図7、S125,S126)の結果を参照する。優先権が設定されている場合(Yes)はS156に進み、設定されていない場合(No)には、S153に進む。
【0074】
S153では、選択した物体に対し優先権の設定登録を行う。これにより、他のHMDに優先して選択した物体に対する編集(ARオブジェクトの紐付け)を行うことができる。背景物体の場合には、背景物体全体に紐付けされたARオブジェクトに与えられる優先権と、背景物体を分割した領域ごとに与えられる優先権とがある。
【0075】
また、登録済みの優先権の解除を行うこともできる。優先権の解除は、他の体験者の解除要請(例えば、マイク19での音声呼びかけ)を受けて、優先権を保有する体験者が設定変更を行う。もしくは、設定した体験者自身が解除しても良い。ARオブジェクトの紐付けを解除(削除)した時に、自動的に優先権を失うようにしても良い。具体的な設定画面は
図12Aに示す。
【0076】
S154では、選択した物体に紐付けするARオブジェクトを選択する。ARオブジェクトの選択候補は、HMD1に予め準備しておいても良いし、通信部64を介して外部のサーバに蓄えられているデータを参照しても良い。選択したARオブジェクトをARオブジェクトデータ94に登録する。
【0077】
S155では、ARオブジェクトを表示するときの表示パラメータを設定する。これにより、ARオブジェクトの物体に対する表示位置、大きさ、方向を与える。すなわち、選択された物体のある特徴点の位置に対してオフセットを与えることにより、物体に対する位置決めができる。前記領域Bのように特徴点が明確でない背景物体では、領域の任意の点を選択して、選択した点を擬似特徴点として用いてもよい。設定した表示パラメータはARオブジェクトの紐付けデータとして、撮影物体データ92または背景物体データ93に登録する。具体的なARオブジェクトの編集画面は
図12Bに示す。
S156では、ARオブジェクトを配置する撮影物体もしくは背景物体が残っているかどうかを判定し、残っている場合(Yes)はS151に戻り、残っていない場合(No)は終了する。
【0078】
次に、
図10Bの場合(ケース2)について説明する。この場合は、最初にARオブジェクトを選定し、選定したARオブジェクトに対して撮影物体もしくは背景物体を割り当てるという手順となる。
【0079】
S161では、使用するARオブジェクトを全て選定する。そのため、HMD1に内蔵するもの、または外部のサーバを参照する。選定したARオブジェクトをARオブジェクトデータ94に登録する。
S162では、選定したARオブジェクトの1つを選択する。
S163では、選択したARオブジェクトを紐付けする撮影物体もしくは背景物体を選択する。
【0080】
S164では、選択した物体に他のHMDから優先権が設定されているかを確認する。そのために、前記同期化・優先権処理83での優先権の読み込み(
図7、S125,S126)の結果を参照する。優先権が設定されている場合(Yes)はS167に進み、設定されていない場合(No)には、S165に進む。
【0081】
S165では、選択した物体に対し優先権の設定登録を行う。これにより、他のHMDに優先して選択した物体に対する編集を行うことができる。
S166では、ARオブジェクトを表示するときの表示パラメータ(表示上の位置、大
きさ、方向)を設定する。設定した表示パラメータはARオブジェクトの紐付けデータとして、撮影物体データ92または背景物体データ93に登録する。
【0082】
S167では、S161で選定したARオブジェクトが残っているかどうかを判定し、残っている場合(Yes)はS162に戻り、残っていない場合(No)は終了する。
【0083】
図11は、表示映像生成処理87のフローチャートである。ここでは、データフラッシュROM69に登録した各種データを読み出してARオブジェクトの表示映像を生成し、3Dプロジェクタ13にて投射、表示する。
【0084】
S171では、撮影物体データ92と背景物体データ93、及びARオブジェクトデータ94を参照して、表示しようとするARオブジェクトを選択する。
S172では、HMD1の方向(ユーザの視線)に合わせてARオブジェクトを回転させる。また、紐付けする撮影物体(または背景物体)までの距離に応じて、ARオブジェクトを拡大・縮小させる。
【0085】
S173では、ARオブジェクトと、これと視線方向に重なる現実物体(撮影物体)との距離関係(遠近)を評価する。現実物体までの距離は測距センサ11により測定されている。
S174では、ARオブジェクトが現実物体で隠れるかどうか、すなわち、ARオブジェクトの手前に現実物体が存在するかどうかを判定する。隠れる場合(Yes)はS175へ進み、隠れない場合(No)はS176へ進む。
S175では、ARオブジェクトの隠れる部分もしくは全部の映像を非表示とする(例えば映像データを0に書き換える)。
【0086】
S176では、3Dプロジェクタ13にてARオブジェクトの投射、表示を行う。
S177では、未処理のARオブジェクトがある場合(Yes)には、S171に戻り次のARオブジェクトについて処理する。未処理のARオブジェクトがない場合(No)には、S178へ進む。
【0087】
S178では、撮影物体中の人物物体の情報を読み出す。人物物体の情報は、撮影物体処理84(S137)において送信された情報であり、一時蓄えられている。
S179では、人物物体情報をもとに人物表示領域に一致する背景物体の領域から背景映像を切り出し、切り出した背景映像を人物の前面(HMD寄りの位置)に表示することで人物を覆う(マスク処理)。これにより、他のMR体験者が表示映像に現れることを防ぐ。
【0088】
[優先権とARオブジェクトの設定]
次に、
図10A(
図10B)で説明したARオブジェクト処理86におけるユーザ操作画面の例を説明する。
【0089】
図12Aは、撮影物体に優先権を設定(S153、S165)する操作画面を示す。ここでは、現実物体のソファ7を撮影物体として認識し、該撮影物体に優先権を設定する。この設定操作では、まずカーソル30をソファ7の上に置き、クリックする。この操作によりメニュー小画面31がポップアップする。このメニュー小画面31で提示されるリストの中から、「優先権の設定」をクリックする。クリックした項目は、黒地に白抜きの文字に変換される。この状態が
図12Aであり、これに反応し優先権の設定画面31aが現れる。体験者は、カーソル30で優先権の「設定」または「解除」を選択し、ソファ7に対して所望の設定を行う。
【0090】
図12Bは、紐付けられたARオブジェクトを編集(S155、S166)する操作画面を示す。ここでは、ソファ7に紐付けしたテーブルオブジェクト22について、各種表示パラメータの設定変更を行う場合を示す。カーソル30をテーブルオブジェクト22の上に置き、クリックする。この操作によりメニュー小画面32がポップアップされ、「ARオブジェクト編集」をクリックすると編集画面32aが現れる。ここでは、「表示/非表示」の切り替え、「表示サイズ」の変更、「表示回転」の変更、「表示配置」の変更等の編集操作を行う。さらに、ARオブジェクトの「削除」を選択すると、紐付けしたテーブルオブジェクト22が除去される。この時、テーブルオブジェクト22がソファ7に紐付けられている場合には、ソファ7に設定されている優先権も解除されるようにしても良い。
【0091】
[データテーブル]
図13A~
図13Eは、データフラッシュROM69に格納される各種データテーブルの例を示す図である。
【0092】
図13Aはヘッダデータを示す。テーブルの先頭にある「コンテンツID」は、後述する撮影物体、背景物体、ARオブジェクトなどのテーブルと共通のIDである。「コンテンツ種類」はヘッダデータであることを示し、「コンテンツ名」はMR体験に関するデータであることを示す。「付随コンテンツ(Accompanying Content)」にはHMD1で取り扱うデータの一覧が記載されている。この他、「コンテンツ所有者」や「著作権」等の情報が含まれる。
【0093】
図13Bは、基準点・移動履歴データ91を示す。共通の「コンテンツID」があり、「コンテンツ種類」で基準点・移動履歴データであることを示す。データとしては、「基準点(PBase)」と、「移動履歴(MP1,MP2)」について、時刻(T0,T1,T2)と位置・方向が記述されている。時刻はMR処理のカメラ撮影時刻であり、協定世界時(UTC=Universal Time, Coordinated)で記述される。位置と方向は、基準点(PBase)を起点として、それぞれの時刻でのMR表示装置1の位置(高さを含む)と撮影方向を差分データで示す。例えば、時刻T1での移動履歴(MP1)は、差分位置(r1,θ1,φ1)=(距離,水平角度,垂直角度)、差分方向(θθ1,φφ1)=(水平角度,垂直角度)で表される。
また、本例では基準点の値として、位置=(0,0,0)、方向=(0,0)と与えているが、高さを除く位置ではGPSデータの値、方向では方位角の値を与えてもよい。
【0094】
図13Cは、撮影物体データ92を示す。撮影物体データは撮影位置ごとに、基準位置(PBase)、移動位置(MP1,…)に区分して記述される。撮影物体データは同期化され、複数のHMDのデータを集約した結果が記載されている。
【0095】
各撮影位置において認識された撮影物体は、「撮影物体1」、「撮影物体2」、…のように通し番号が与えられ、また識別された物体名である「窓」、「プロジェクタ」、「ソファ」等の名前が記載されている。各撮影物体には、抽出された「特徴点1」、「特徴点2」…と、「紐付けARオブジェクト」のデータ、および優先権設定状態を示す優先権フラグが記載される。
【0096】
各特徴点のデータは、HMD1の撮影位置に対する相対位置(距離と方向)を含む。「紐付けARオブジェクト」のデータは、後述するARオブジェクトデータ94にリンクし、データIDで指定されたARオブジェクト(タイトル)が紐付けされている。さらに「紐付け位置」は、ARオブジェクトを配置する特徴点とオフセット距離を示し、「サイズ」と「回転」は、ARオブジェクトを表示するときのパラメータである。
【0097】
本例では、撮影位置が基準位置(PBase)において、撮影物体1~3が記載され、撮影物体1(窓)には紐付けARオブジェクト1が、撮影物体2(プロジェクタ)には紐付けARオブジェクト2が、撮影物体3(ソファ)には紐付けARオブジェクト3が紐付けされている。
【0098】
さらに撮影位置が移動位置(MP1,…)においても、同様に記載される。ただし、撮影物体1、2の各特徴点に対する位置や方向の数値は、撮影位置が基準位置(PBase)と移動位置(MP1)では、やや異なっている。これは、撮影物体1、2が現実空間の中で移動しない場合でも、HMD1の移動によって異なる値となるからである。また、移動位置において新たな撮影物体が認識されると、テーブルに追記される。
【0099】
さらに各撮影物体には、優先権設定状態を示す優先権フラグが与えられている。優先権フラグは複数ディジットで構成され、先頭のディジットでは、当該物体の撮影者(データ提供者)により優先権が設定されている場合に「1」となる。残りのディジットは、優先権を保有しているMR体験者を表し、ディジットの値とMR体験者の関係は、ログイン時に与えられる。優先権の設定は、あるMR体験者が撮影物体にARオブジェクトを紐付けるとき、紐付けたARオブジェクトを他のMR体験者に変更してもらいたくない時に設定する。
【0100】
図13Dは、背景物体データ93を示す。背景物体データは、撮影位置ごとに区分され、基準位置(PBase)、移動位置(MP1、…)に分けて記述される。背景物体データも同期化され、複数のHMDの背景物体データを集約した結果である。
【0101】
背景物体データは、特徴点があれば、「特徴点1」、「特徴点2」、…が記載され、これらの特徴点は、体験者が指示する擬似特徴点を含む場合がある。引き続き撮影物体の場合と同様に「紐付けARオブジェクト」が記載され、これには、紐付けされるARオブジェクトのデータIDと優先権フラグが含まれる。また背景物体データは、その位置、形状を把握できるように、基準点を中心とする仮想の360°カメラの映像の座標に対応したビットマップデータを有する。
【0102】
さらに背景物体を領域分割した場合には、分割領域データを有する。分割領域データには、特徴点などの領域分割情報と優先権情報、さらには分割領域を覆うクロスオブジェクトの3D画像データを有する。
【0103】
図13Eは、ARオブジェクトデータ94を示す。ARオブジェクトデータは、例えばネットワーク上のサーバからダウンロードしたデータであり、ARオブジェクト毎に通し番号が振られている。個々のARオブジェクトデータには識別用のデータIDが付与され、これを介して前述した撮影物体データや背景物体データに紐付けられている。項目としてタイトルと著作権の記述があり、3D画像データが格納されている。この3D画像データを用いて表示映像が生成される。
【0104】
以上説明したように、実施例1によれば、複数の体験者が装着した複数のMR表示装置を相互に接続し、各装置で取得した撮像物体や背景物体、及びこれに紐付けした仮想物体(ARオブジェクト)のデータを送受信して共有することができる。その結果、同一の現実空間を複数の体験者で共有するとともに、それぞれの体験者が、個別に仮想物体を現実空間に配置あるいは置換する等の操作が可能となる。
【0105】
また、撮像物体や背景物体への仮想物体の紐付け処理では、特定の物体に対する操作権限を特定のHMD(体験者)に割り当てる優先権を設定したので、例えば複数の作業者による同一空間での共同作業を、空間を分担して円滑に効率良く実行することができる。
【実施例2】
【0106】
実施例2では、ARオブジェクトを複数の部品で構成するとともに、部品ごとに優先権を設定する場合について述べる。
【0107】
[MR空間]
図14は、実施例2に係るMR空間の例を示す図である。実施例1の
図4Aに示したMR空間と同じ要素については、同一の符号を付し重複する説明は省略する。
図4AのMR空間と異なる点は、プロジェクタ8が取り除かれ、クロスオブジェクト26はなく、ARオブジェクトであるTVオブジェクト21が3つの部品21a、21b、21cで構成されていることにある。ここに、21aは平面パネル、21bは支柱、21cは台座である。3つの部品は、個別にその色や形態を選ぶことができ、また、部品ごとに異なるMR体験者が色や形態を設定することができる。
【0108】
図15は、実施例2におけるARオブジェクト処理86(追加分)のフローチャートを示す。ここでは、実施例1の
図10Aまたは
図10Bのフローにより既にARオブジェクトが紐付けされているものとする。そして、紐付けされたARオブジェクトが複数の部品からなり、一部の部品の編集(変更)を行う場合の処理である。
【0109】
S201では、1つのARオブジェクトを選択する。
S202では、選択したARオブジェクトを紐付けしている撮影物体もしくは背景物体に、他のHMDから優先権が設定されているかを確認する。優先権が設定されている場合(Yes)は、ARオブジェクト全体に優先権が及ぶ場合であり、S206に進む。優先権が設定されていない場合(No)には、S203へ進む。
【0110】
S203では、ARオブジェクトにおいて変更する部品を選択する。
S204では、選択したARオブジェクトの部品に他のHMDから優先権が設定されているかを確認する。優先権が設定されている場合(Yes)は、S206に進む。優先権が設定されていない場合(No)は、S205に進む。
【0111】
S205では、ARオブジェクトの部品の編集(変更)を行い、優先権の設定とデータテーブルへの登録を行う。
S206では、さらに部品を変更しようとするARオブジェクトがあるかどうかを判定し、ある場合(Yes)はS201に戻り、ない場合(No)は終了する。
【0112】
図16Aと
図16Bは、実施例2に係るデータテーブルの例であり、
図16Aは撮影物体データのデータテーブル、
図16BはARオブジェクトデータのデータテーブルを示す。
【0113】
実施例1からの変更箇所について説明すれば、
図16Aにおいて撮影物体2のプロジェクタに紐付けされているARオブジェクト2は、複数の部品1~3で構成されている。それぞれの部品はデータIDの細分類が記述されるとともに、各部品には異なるMR体験者による編集権限を示す優先権フラグが付与されている。
【0114】
図16BのARオブジェクトデータにおいては、対応するARオブジェクト2の欄では、部品1~3に対応するパネル、支柱、台座の3つの部品の3D画像データが格納されている。
【0115】
以上説明したように、実施例2によれば、実施例1と同様の効果を持つとともに、ARオブジェクトを複数の部品で構成し各部品には異なる優先権を設定することができる。そ
の結果、1つのARオブジェクトを複数のMR体験者により編集し、多様な組合せのMR空間を表現することが可能になる。
【実施例3】
【0116】
実施例3では、複数のMR表示装置(HMD)をネットワークに接続するとともに、各HMDで行うMR処理をネットワークに接続されたサーバで行う構成(以下、MRネットワークシステム)について説明する。
【0117】
[MRネットワークシステム]
図17は、実施例3に係るMRネットワークシステムの構成を示す図である。複数のMR表示装置(HMD)1a,1b,1cはそれぞれMR体験者2a,2b,2cに装着され、各HMD1a,1b,1cは、無線LANなどのアクセスポイント(AP)5およびゲートウェイ50を介してネットワーク51につながり、体験者間でのデータの受け渡しを行うことができる。
【0118】
また、ネットワーク51には、アプリケーションサーバ52とデータストレージサーバ53が接続されている。アプリケーションサーバ52は、複数の体験者の撮影映像を合成したり、ARオブジェクトを配置したりするMR処理のアプリケーションを備えている。データストレージサーバ53は、ARオブジェクトや撮影物体のデータ、合成した室内の映像データ、ARオブジェクトを配置した時の位置情報等を保存し、各体験者がそれを読み出すことができる。
【0119】
そのため、各HMD1a,1b,1cの内部構成は、実施例1の
図3に示した機能ブロックにおいて、プログラムフラッシュROM68に格納された処理プログラム81~87や、データフラッシュROM69に格納されたデータテーブル91~94を省略もしくは簡略化することができる。
【0120】
[MRネットワークシステムのシーケンス]
図18Aと
図18Bは、MRネットワークシステムのシーケンス図であり、各HMD1a,1b,1c(各MR体験者2a,2b,2c)とアプリケーションサーバ52との間のデータの送受信を示している。
【0121】
図18Aは全体のシーケンスを示す図である。実施例1の
図5と同等の処理には同じ符号を付しており、S101のログイン処理からS109の表示映像生成処理までで構成される。なお、本シーケンスにおいても、リクエストとレスポンスの一対の基本的な通信シーケンスが用いられるが、記載の煩雑さを避けるためにここでは省略している。以下、処理順に概要を説明する。
【0122】
S101:MR体験者2a~2cは、アプリケーションサーバ52にログインしてMR体験に参加する。
S102:MR体験者2a~2cは現実空間の一部をカメラ撮影し、撮影映像データをアプリケーションサーバ52に送信する。
S103:さらにMR体験者2a~2cは基準点・移動履歴データとして、位置と方向のデータをアプリケーションサーバ52に送信する。
【0123】
S104:アプリケーションサーバ52は、MR体験者全てのデータを集約し、映像を合成して、同期化する。
S105:アプリケーションサーバ52は、MR体験者のそれぞれの表示映像を生成し、送信する(S105)。
【0124】
S106:アプリケーションサーバ52は、撮影物体の処理を行う。
S107:アプリケーションサーバ52は、背景物体の処理を行う。その際、MR体験者から領域分割とクロスオブジェクトの指示を受け付ける。
【0125】
S108:アプリケーションサーバ52は、ARオブジェクトの処理を行う。その際、MR体験者が選択する撮影物体や背景物体の指定、及び紐付けのために選択するARオブジェクトのデータを受け付ける。
S109:アプリケーションサーバ52は、これらの実行結果を反映して表示映像を生成し、MR体験者に送る。また、アプリケーションの実行に際し発生するデータをデータストレージサーバ53に格納する。
【0126】
以上のシーケンスにおいて、S101のログインを除く一連のシーケンスを基本シーケンスとして繰り返すことで、MR体験者2a~2cは、アプリケーションサーバ52を介してMR体験を実現する。
【0127】
図18Bは、
図18Aのシーケンスの詳細を示す図である。ここでは記載の煩雑さを避けるために、基本シーケンスの処理の中で、同期化・優先権処理(S104)とARオブジェクト処理(S108)の繰り返しのみを示している。その他の表示映像生成処理(S105)、撮影物体処理(S106)、背景物体処理(S107)は省略しているが、適宜実行され、またデータストレージサーバ53へのデータおよび表示映像等の保存も適宜実行される。以下、HMD1a~1c(MR体験者2a~2c)とアプリケーションサーバ52との通信内容を順に説明する。
【0128】
T11:HMD1a~1cから、それぞれの撮影映像及びHMDの位置、撮影方向をアプリケーションサーバ52に送信する。送信タイミングは、アプリケーションサーバ52からの送信要求に従っても良いし、連続して送られてくる撮影映像から、アプリケーションサーバ52が都合の良いタイミングでキャプチャするようにしても良い。
T12:アプリケーションサーバ52は同期化・優先権処理S104aを行い、例えばHMDの移動に対応して表示位置を更新したARオブジェクト等の表示映像を、HMD1a~1cそれぞれに送信する。
【0129】
T13:この時、撮影物体Aの優先権を持つHMD1a(MR体験者2a)が、撮影物体AにARオブジェクトαを紐付けしたいとき、撮影物体Aの選択情報と紐付けするARオブジェクトαの選択情報をアプリケーションサーバ52に送信する。
T14:アプリケーションサーバ52はARオブジェクト処理S108aを実行し、該ARオブジェクトαの設定情報に基づくARオブジェクトαの表示映像を、HMD1a及び他のHMD1b,1cに送信する。
【0130】
T15:HMD1a~1cから、新たな撮影映像及びHMDの位置、撮影方向をアプリケーションサーバ52に送信する。
T16:アプリケーションサーバ52は同期化・優先権処理S104bを行い、ARオブジェクトαの配置を含めた表示映像をHMD1a~1cそれぞれに送信する。
【0131】
T17:その後、撮影物体Aの優先権を持たないHMD1b(MR体験者2b)が、撮影物体Aに異なるARオブジェクトβを紐付けしたいとき、撮影物体Aに付与されている優先権の解除要求を、HMD1a、1c及びアプリケーションサーバ52に送信する。優先権を保有するHMD1a(MR体験者2a)が、HMD1bからの優先権の解除要求を受け入れると、優先権は解除され、HMD1bに優先権が付与される。
【0132】
T18:HMD1bは、撮影物体Aに紐付けするARオブジェクトβの選択情報をアプ
リケーションサーバ52に送信する。
T19:アプリケーションサーバ52はARオブジェクト処理S108bを実行し、ARオブジェクトβの設定情報に基づくARオブジェクトの表示映像を、HMD1a~1cに送信する。
【0133】
T20:HMD1a~1cから、新たな撮影映像及びHMDの位置、撮影方向をアプリケーションサーバ52に送信する。
T21:アプリケーションサーバ52は同期化・優先権処理S104cを行い、ARオブジェクトβの配置を含めた表示映像をHMD1a~1cそれぞれに送信する。
【0134】
T22:この時HMD1c(MR体験者2c)が、異なる撮影物体Cを選択して、ARオブジェクトγを選択する要求を送信し、これが許可されたとする。HMD1cは付与するARオブジェクトγの選択情報を送信する。
T23:アプリケーションサーバ52はARオブジェクト処理S108cを実行し、ARオブジェクトγの設定情報に基づくARオブジェクトの表示映像を、HMD1a~1cに送信する。
【0135】
この結果、HMD1a~1c(MR体験者2a~2c)が同じ現実空間に存在する撮影物体を共有し、現実空間に仮想物体であるARオブジェクトを付与し、該付与されたARオブジェクトの映像を、それぞれの位置に応じて生成された表示映像として視認可能となる。
【0136】
以上説明したように、実施例3のMRネットワークシステムによれば、実施例1と同様の効果を持つとともに、ネットワーク上にあるアプリケーションサーバ、データサーバなどのリソースを活用できるという特徴がある。これにより、MR表示装置の負荷を削減して、MR表示装置の小型化、低廉化に寄与するとともに、MR体験者の人数が多くなった場合にも対応が容易となるという効果がある。
【実施例4】
【0137】
実施例4では、3Dカメラを搭載して撮影と距離測定を行うMR表示装置について説明する。
【0138】
[MR表示装置]
図19は、実施例4に係るMR表示装置1’の外観構成を示す図である。実施例1(
図2)に示したMR表示装置1と同等の機能を有する構成要素については、同一の符号を付しており、重複する説明は省く。
MR表示装置1’は、3D(3次元)カメラ40a,40bと、平面ディスプレイ41を備えている。3Dカメラ40a,40bは、実施例1におけるカメラ10と測距センサ11の置き換えで、カメラ撮影映像を得るだけでなく、40aで得る左目視線の映像と40bで得る右目視線の映像の差により、カメラ映像内の現実物体の距離の測定も可能である。
【0139】
平面ディスプレイ41は、実施例1における3Dプロジェクタ13と透過型スクリーン14の置き換えで、3Dカメラ40a,40bの撮影映像とARオブジェクトの映像とをコントローラ16で合成して表示する。この時、左目視線の映像と右目視線の映像を交互に表示し、シャッタ付きメガネ15と同期させて3D映像の表示を行う。なお、平面ディスプレイ41には、スマートフォン等の汎用デバイスを用いてもよい。この時、スマートフォンに内蔵する制御装置でコントローラ16の機能を実行することができる。
【0140】
図20は、MR表示装置1’の機能構成を示すブロック図である。実施例1(
図3)に
示したブロックと同等の機能を有するものについては、同一の番号を付しており、重複する説明は省く。実施例1と異なるブロックは、3Dカメラ40a、40b、平面ディスプレイ41、映像合成処理部42、およびコントローラ16内の特徴抽出処理部61’、距離算出処理部62’である。
【0141】
特徴抽出処理部61’は、3Dカメラ40a,40bの映像から特徴点を抽出し、その特徴点から、カメラ撮影映像に写っている現実物体を識別する。距離算出部62’は、3Dカメラ40a,40bで得る左目/右目視線の映像の差により、カメラ映像内の現実物体の距離を測定する。合成処理部42は、3Dカメラ40a,40bの撮影映像とARオブジェクトの映像とを合成し、平面ディスプレイ41は合成された映像を表示する。
【0142】
実施例4によれば、実施例1と同様の効果を有するとともに、平面ディスプレイを含めてスマートフォンのような汎用デバイスの活用が図れるという特徴がある。
【0143】
以上、本発明の各実施例を説明したが、本発明はこれらに限られるものではなく、ある実施例の構成の一部を他の実施例の構成に置き換えたり、他の実施例の構成を加えたりすることも可能である。
【符号の説明】
【0144】
1(1a~1c),1’:複合現実表示装置(MR表示装置、HMD)、2a~2c:MR体験者、3a~3c:カメラ撮影画角、4:現実物体(背景物体)、5:アクセスポイント(AP)、6~8:現実物体(撮影物体)、10:カメラ、11:測距センサ、12:位置・方位センサ、13:3Dプロジェクタ、14:透過型スクリーン、15:シャッタ付きメガネ、16:コントローラ、17a,17b:スピーカ、18a,18b:ホルダ、19:マイク、21~26:ARオブジェクト(仮想物体)、40a,40b:3Dカメラ、41:平面ディスプレイ、50:ゲートウェイ、51:ネットワーク、52:アプリケーションサーバ、53:データストレージサーバ、60:ユーザ操作入力部、61,61’:特徴検出処理部、62,62’:距離算出処理部、63:移動検出処理部、64:通信部、65:CPU、66:RAM、67:画像RAM、68:プログラムフラッシュROM、69:データフラッシュROM、81:全体制御処理、82:基準点・移動履歴処理、83:同期化・優先権処理、84:撮影物体処理、85:背景物体処理、86:ARオブジェクト処理、87:表示映像生成処理。