特許第6134874号(P6134874)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社Cygamesの特許一覧

特許6134874複合現実環境を作成するためのシステム等
<>
  • 特許6134874-複合現実環境を作成するためのシステム等 図000004
  • 特許6134874-複合現実環境を作成するためのシステム等 図000005
  • 特許6134874-複合現実環境を作成するためのシステム等 図000006
  • 特許6134874-複合現実環境を作成するためのシステム等 図000007
  • 特許6134874-複合現実環境を作成するためのシステム等 図000008
  • 特許6134874-複合現実環境を作成するためのシステム等 図000009
  • 特許6134874-複合現実環境を作成するためのシステム等 図000010
  • 特許6134874-複合現実環境を作成するためのシステム等 図000011
  • 特許6134874-複合現実環境を作成するためのシステム等 図000012
  • 特許6134874-複合現実環境を作成するためのシステム等 図000013
  • 特許6134874-複合現実環境を作成するためのシステム等 図000014
  • 特許6134874-複合現実環境を作成するためのシステム等 図000015
  • 特許6134874-複合現実環境を作成するためのシステム等 図000016
  • 特許6134874-複合現実環境を作成するためのシステム等 図000017
  • 特許6134874-複合現実環境を作成するためのシステム等 図000018
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6134874
(24)【登録日】2017年4月28日
(45)【発行日】2017年5月24日
(54)【発明の名称】複合現実環境を作成するためのシステム等
(51)【国際特許分類】
   G06T 19/00 20110101AFI20170515BHJP
   G06T 15/80 20110101ALI20170515BHJP
【FI】
   G06T19/00 600
   G06T15/80
【請求項の数】2
【全頁数】27
(21)【出願番号】特願2017-1926(P2017-1926)
(22)【出願日】2017年1月10日
(62)【分割の表示】特願2016-121928(P2016-121928)の分割
【原出願日】2016年6月20日
【審査請求日】2017年1月25日
【早期審査対象出願】
(73)【特許権者】
【識別番号】511249637
【氏名又は名称】株式会社Cygames
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100088694
【弁理士】
【氏名又は名称】弟子丸 健
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100196612
【弁理士】
【氏名又は名称】鎌田 慎也
(72)【発明者】
【氏名】倉林 修一
【審査官】 村松 貴士
(56)【参考文献】
【文献】 特開2009−199284(JP,A)
【文献】 特開2014−120079(JP,A)
【文献】 特開2008−033531(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00 − 19/20
(57)【特許請求の範囲】
【請求項1】
所定の実空間内において携帯可能な表示装置の表示部を通してユーザが視認する実空間又は実空間の撮影画像に対して3次元の仮想オブジェクトを重畳させて描画するための複合現実環境を作成する方法であって、
前記所定の実空間内にある実オブジェクトの点群データに基づいて、それぞれが3次元位置情報を有する3次元形状要素から構成される3次元空間データを作成するステップと、
前記所定の実空間内の領域を撮影可能な複数の定点からそれぞれ画像を取得するステップと、
前記取得された画像のそれぞれのピクセルの位置情報と、それぞれのピクセルが示す1又は複数の前記3次元形状要素の3次元位置情報とを関連付けたテーブルを作成するステップと、
前記3次元形状要素が関連付けられた1又は複数の前記ピクセルの色情報に基づいて前記仮想オブジェクトを描画するための前記3次元形状要素の色情報を決定するステップと、
前記取得された画像のそれぞれのピクセルの色情報の変化に基づいて前記仮想オブジェクトを描画するための前記3次元形状要素の色情報を更新するステップと、
を有する方法。
【請求項2】
所定の実空間内において携帯可能な表示装置の表示部を通してユーザが視認する実空間又は実空間の撮影画像に対して3次元の仮想オブジェクトを重畳させて描画するための複合現実環境を作成するためのシステムであって、
前記所定の実空間内にある実オブジェクトの点群データに基づいて、それぞれが3次元位置情報を有する3次元形状要素から構成される3次元空間データを作成する3次元空間データ作成手段と、
前記所定の実空間内の領域を撮影可能な複数の定点からそれぞれ画像を取得する画像取得手段と、
前記取得された画像のそれぞれのピクセルの位置情報と、それぞれのピクセルが示す1又は複数の前記3次元形状要素の3次元位置情報とを関連付けたテーブルを作成するテーブル作成手段と、
前記3次元形状要素が関連付けられた1又は複数の前記ピクセルの色情報に基づいて前記仮想オブジェクトを描画するための前記3次元形状要素の色情報を決定する色情報決定手段と、
前記取得された画像のそれぞれのピクセルの色情報の変化に基づいて前記仮想オブジェクトを描画するための前記3次元形状要素の色情報を更新する色情報更新手段と、
を備えるシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システムに関するものであり、特に複合現実環境において実空間の環境をリアルタイムに認識するシステムに関する。
【背景技術】
【0002】
近年、現実世界と仮想世界をリアルタイムかつシームレスに融合させる技術として複合現実感、いわゆるMR(Mixed Reality)技術が知られている。本技術は、これを体験するユーザに対して、あたかもその場に仮想の物体が存在するかのような体験を行わせることができる。複合現実感の技術は、様々な分野で注目を集めている。MR技術を実現するために、ユーザは、光学シースルー型HMD(Head Mounted Display)やビデオシースルー型HMDを装着することにより、HMDに重畳表示された複合現実画像を確認することができる。
【0003】
現実世界を3D空間として認識する技術としては、ユーザ視点の高精度なカメラを搭載する手法と、観測対象空間を取り囲むようにカメラを設置する手法の2つが知られている。
【0004】
ユーザ視点の高精度なカメラを搭載する手法としては、赤外線プロジェクタと赤外線カメラを用いる手法がある。例えば、ユーザ視点の高精度なカメラを搭載する手法としては、赤外線を照射し、その反射パターンの歪みから、物体の深度を計測する手法がある。また、Time of Flight法(TOF法)と呼ばれる手法では、赤外線などの不可視光を照射し、その反射結果を計測することにより、対象物までの往復の距離を算出する手法がある。これらの方式は、3次元化できる空間が、赤外線の到達範囲に限定され、また、太陽効果で使用できないという問題点がある。
【0005】
また、極めて高精度な3次元情報を撮影する手法としては、3Dレーザスキャナを用いる方式がある。本方式は、高い測定精度を実現できるが、360度の測定を行うために、最低でも10分程度、標準画質で30分間程度の時間を要する。したがって、リアルタイムの用途には適用できない。また、3Dレーザスキャナは、1台が数百〜数千万円と非常に高価であり、広域に大量配備するには適さない。3Dレーザスキャナは以上のような特性から、土木における測量や工場内のレイアウト確認などの、長時間かけて高精度な3D化を行う用途に用いられている。例えば特許文献1は、3Dイメージスキャナでスキャンして作成した点群データに対して、カメラで撮影した画像の色を付与することで、現実世界を3D空間として認識する技術を実現している。
【0006】
観測対象空間を取り囲むようにカメラを設置する手法としては、非特許文献1に示すStructure-from-Motion(SfM)と呼ばれる技術を用いて、複数の、ばらばらに撮影された画像から、元の3次元情報を復元する方式が挙げられる。この方式を採用する代表的な製品としては、Microsoft Photosynth(登録商標)がある。Sfmが実現する精度は、MR技術が要求する精度との比較においては相対的に低いものの、安価に3Dモデルを構築できる方式である。しかしながら、リアルタイム性は低く、そのままではMR環境の実現に適用することはできない。
【0007】
上述のとおり、これらの手法では、リアルタイム性と高精度な測定を同時に実現できないため、建造物等の背景を高精度に撮影することと、太陽の移動や人の移動による間接照明の変化を認識することが困難である。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2013−69235号公報
【0009】
【非特許文献1】Sameer Agarwal, Yasutaka Furukawa, Noah Snavely, Ian Simon, Brian Curless, Steven M. Seitz, and Richard Szeliski. 2011. Building Rome in a day. Commun. ACM 54, 10 (October 2011), 105-112. DOI=http://dx.doi.org/10.1145/2001269.2001293
【発明の概要】
【発明が解決しようとする課題】
【0010】
上述のとおり、現実世界の構造や環境をリアルタイムかつ高精度に認識してそれを仮想空間に反映する方法は、未だ確立されていない。これは、MR環境において、例えば、描画される仮想オブジェクトの高品質なグローバルイルミネーションやユーザ(HMD)のポジショントラッキングを実現する上で問題である。
【0011】
本発明は、このような課題を解決するためになされたものであり、複合現実環境において実空間の環境をリアルタイムに認識することができるシステムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上記の目的を達成するために、本発明の一態様としてのシステムは、サーバと、ユーザに対して仮想オブジェクトを表示するための表示部及び実空間を撮影する撮影部を有する携帯可能な表示装置と、所定の実空間内の領域を撮影可能な複数の定点からそれぞれ画像を取得する画像取得装置とを備え、上記表示部を通してユーザが視認する実空間又は実空間の撮影画像に対して仮想オブジェクトを重畳させて描画するためのシステムであって、予め取得された上記所定の実空間内にある実オブジェクトの点群データに基づいて作成された3次元空間データであって、それぞれが3次元位置情報を有する3次元形状要素から構成される3次元空間データを記憶する3次元空間データ記憶手段と、上記画像取得装置により取得された画像のそれぞれのピクセルの位置情報と、それぞれのピクセルが示す1又は複数の上記3次元形状要素の3次元位置情報とが関連付けられたテーブルを記憶するテーブル記憶手段と、上記3次元形状要素が関連付けられた1又は複数の上記ピクセルの色情報に基づいて上記3次元形状要素の色情報を決定する色情報決定手段と、上記画像取得装置により取得された画像のそれぞれのピクセルの色情報の変化に基づいて上記3次元形状要素の色情報を更新する色情報更新手段と、上記表示装置の位置及び上記撮影部の撮影方向を決定するユーザ環境決定手段と、上記3次元形状要素の色情報及び3次元位置情報に基づいて、上記描画される仮想オブジェクトに対する仮想照明情報を生成する仮想照明情報生成手段と、上記表示装置の位置及び上記撮影部の撮影方向、並びに上記仮想照明情報に基づいて、上記表示部に上記仮想オブジェクトを描画する描画手段と、の各手段を上記サーバ又は上記表示装置が備える、ことを特徴とする。
【0013】
このように構成された本発明によれば、3次元空間データを構成する3次元形状要素(例えばメッシュやボクセル)の位置情報と、画像取得装置(例えば固定カメラ)により取得された画像のそれぞれのピクセルの位置情報とを関連付けたテーブルを用いることにより、3次元形状要素の色情報を画像取得装置により取得された画像のピクセルの色情報から決定し、また更新する。このようにテーブルを用いることにより、画像取得装置から得られる色情報を3次元形状要素のそれぞれにリアルタイムに反映することが可能となる。
【0014】
また、本発明において好ましくは、上記仮想照明情報生成手段は、上記3次元形状要素の色情報及び3次元位置情報に基づいて、上記描画される仮想オブジェクトを収容する仮想的な多面体の各面における仮想照明情報を上記描画される仮想オブジェクトに対する仮想照明情報として生成する。
【0015】
このように構成された本発明によれば、描画される仮想オブジェクトに対して、該仮想オブジェクトを収容する仮想的な多面体を想定し、該多面体の各面における色彩(光)の状態を、実空間の色彩を反映させた3次元形状要素のそれぞれから決定する。そして、決定された各面における色彩の状態を、描画される仮想オブジェクトの仮想的な間接照明として用いる。これにより、より実空間の環境に近い色彩や陰影を持つ仮想オブジェクトを描画することが可能となる。
【0016】
また、本発明において好ましくは、上記表示装置は、位置姿勢センサを更に備え、上記ユーザ環境決定手段は、上記位置姿勢センサにより取得された上記表示装置の位置及び上記撮影部の撮影方向を暫定ユーザ環境とし、該暫定ユーザ環境から所定範囲内の位置及び方向において上記撮影部が撮影可能な上記3次元形状要素を上記3次元空間データ記憶手段から取得し、該取得された3次元形状要素の色情報及び3次元位置情報と上記撮影された実空間の撮影画像とに基づいて、上記表示装置の位置及び上記撮影部の撮影方向を決定する。
【0017】
このように構成された本発明によれば、位置姿勢センサを用いて決定された大まかな表示装置の位置及び撮影部の撮影方向を暫定ユーザ環境とし、該暫定ユーザ環境周辺において撮影部の撮影可能な領域にある3次元形状要素の色情報及び3次元位置情報と、撮影部の撮影画像とを比較して照合することにより、表示装置の位置及び撮影部の撮影方向を決定する。ここでは、通常、表示装置の位置はユーザの位置に対応し、撮影部の撮影方向はユーザの向いている方向に対応する。
【0018】
このように、従来の位置姿勢センサから得られる大まかな位置情報と、3次元空間データを用いた高精度の仮想空間とのマッチングを行い、実空間と仮想空間におけるユーザの位置やユーザの向いている方向のずれをリアルタイムに補正することができる。これにより、現実と高精度にリンクするMR環境を実現することが可能となり、ポジショントラッキングを実現することが可能になる。
【0019】
また、本発明において好ましくは、上記3次元形状要素は、予め取得された上記所定の実空間内にある実オブジェクトの点群データに基づいて作成されたポリゴンから構成されるメッシュである。
【0020】
このように構成された本発明によれば、3次元形状要素としてメッシュを用いることができる。
【0021】
また、上記の目的を達成するために、本発明の一態様としての表示装置は、ユーザに対して仮想オブジェクトを表示するための表示部及び実空間を撮影する撮影部を有し、上記表示部を通してユーザが視認する実空間又は実空間の撮影画像に対して仮想オブジェクトを重畳させて描画するための携帯可能な表示装置であって、予め取得された所定の実空間内にある実オブジェクトの点群データに基づいて作成された3次元空間データであって、それぞれが3次元位置情報を有する3次元形状要素から構成される3次元空間データを記憶する3次元空間データ記憶手段と、上記所定の実空間内の領域を撮影可能な複数の定点からそれぞれ取得された画像のそれぞれのピクセルの位置情報と、それぞれのピクセルが示す1又は複数の上記3次元形状要素の3次元位置情報とが関連付けられたテーブルを記憶するテーブル記憶手段と、上記3次元形状要素が関連付けられた1又は複数の上記ピクセルの色情報に基づいて上記3次元形状要素の色情報を決定する色情報決定手段と、上記取得された画像のそれぞれのピクセルの色情報の変化に基づいて上記3次元形状要素の色情報を更新する色情報更新手段と、上記表示装置の位置及び上記撮影部の撮影方向を決定するユーザ環境決定手段と、上記3次元形状要素の色情報及び3次元位置情報に基づいて、上記描画される仮想オブジェクトに対する仮想照明情報を生成する仮想照明情報生成手段と、上記表示装置の位置及び上記撮影部の撮影方向、並びに上記仮想照明情報に基づいて、上記表示部に上記仮想オブジェクトを描画する描画手段と、を備える、ことを特徴とする。
【0022】
このように構成された本発明によれば、上記のシステムが実現する技術を、表示装置により実現することができる。
【0023】
また、上記の目的を達成するために、本発明の一態様としてのシステムは、サーバと、ユーザに対して3次元の仮想オブジェクトを表示するための表示部、実空間を撮影する撮影部、及び位置姿勢センサを有する携帯可能な表示装置と、を備え、上記表示部を通してユーザが視認する実空間又は実空間の撮影画像に対して仮想オブジェクトを重畳させて描画するためのシステムであって、予め取得された所定の実空間内にある実オブジェクトの点群データに基づいて作成された3次元空間データであって、それぞれが色情報及び3次元位置情報を有する3次元形状要素から構成される3次元空間データを記憶する3次元空間データ記憶手段と、上記位置姿勢センサにより取得された上記表示装置の位置及び上記撮影部の撮影方向を暫定ユーザ環境とし、該暫定ユーザ環境から所定範囲内の位置及び方向において上記撮影部が撮影可能な上記3次元形状要素を上記3次元空間データ記憶手段から取得し、該取得された3次元形状要素の色情報及び3次元位置情報と上記撮影された実空間の撮影画像とに基づいて、上記表示装置の位置及び上記撮影部の撮影方向を決定するユーザ環境決定手段と、の各手段を上記サーバ又は上記表示装置が備える、ことを特徴とする。
【0024】
このように構成された本発明によれば、位置姿勢センサを用いて決定された大まかな表示装置の位置及び撮影部の撮影方向を暫定ユーザ環境とし、該暫定ユーザ環境周辺において撮影部の撮影可能な領域にある3次元形状要素の色情報及び3次元位置情報と、撮影部の撮影画像とを比較して照合することにより、表示装置の位置及び撮影部の撮影方向を決定する。
【0025】
このように、従来の位置姿勢センサから得られる大まかな位置情報と、3次元空間データを用いた高精度の仮想空間とのマッチングを行い、実空間と仮想空間におけるユーザの位置やユーザの向いている方向のずれをリアルタイムに補正することができる。これにより、現実と高精度にリンクするMR環境を実現することが可能となり、ポジショントラッキングを実現することが可能になる。
【0026】
また、上記の目的を達成するために、本発明の一態様としての方法は、所定の実空間内において携帯可能な表示装置の表示部を通してユーザが視認する実空間又は実空間の撮影画像に対して仮想オブジェクトを重畳させて描画する方法であって、上記所定の実空間内の領域を撮影可能な複数の定点からそれぞれ画像を取得するステップと、予め取得された上記所定の実空間内にある実オブジェクトの点群データに基づいて作成された3次元空間データを構成する3次元位置情報を有する3次元形状要素の色情報であって、上記取得された画像の上記3次元形状要素に対応する位置のピクセルの色情報に基づいて上記3次元形状要素の色情報を決定するステップと、上記取得された画像のそれぞれのピクセルの色情報の変化に基づいて上記3次元形状要素の色情報を更新するステップと、上記表示装置の位置及び上記表示装置が備える撮影部の撮影方向を決定するステップと、上記3次元形状要素の色情報及び3次元位置情報に基づいて、上記描画される仮想オブジェクトに対する仮想照明情報を生成するステップと、上記表示装置の位置及び上記撮影部の撮影方向、並びに上記仮想照明情報に基づいて、上記表示部に上記仮想オブジェクトを描画するステップと、を有する、ことを特徴とする。
【0027】
また、上記の目的を達成するために、本発明の一態様としてのプログラムは、サーバと、ユーザに対して仮想オブジェクトを表示するための表示部及び実空間を撮影する撮影部を有する携帯可能な表示装置と、所定の実空間内の領域を撮影可能な複数の定点からそれぞれ画像を取得する画像取得装置とを備えるシステムにおいて、上記表示部を通してユーザが視認する実空間又は実空間の撮影画像に対して仮想オブジェクトを重畳させて描画するためのプログラムであって、上記プログラムは、上記サーバに、上記表示装置から画像を取得するステップと、予め取得された上記所定の実空間内にある実オブジェクトの点群データに基づいて作成された3次元空間データを構成する3次元位置情報を有する3次元形状要素の色情報であって、上記画像取得装置により取得された画像の上記3次元形状要素に対応する位置のピクセルの色情報に基づいて上記3次元形状要素の色情報を決定するステップと、上記画像取得装置により取得された画像のそれぞれのピクセルの色情報の変化に基づいて上記3次元形状要素の色情報を更新するステップと、上記表示装置の位置及び上記撮影部の撮影方向を決定するステップと、上記3次元形状要素の色情報及び3次元位置情報に基づいて、上記描画される仮想オブジェクトに対する仮想照明情報を生成するステップと、上記表示装置の位置及び上記撮影部の撮影方向、並びに上記仮想照明情報に基づいて、上記表示部に上記仮想オブジェクトを描画するステップと、を実行させる、ことを特徴とする。
【0028】
また、上記の目的を達成するために、本発明の一態様としての方法は、所定の実空間内において携帯可能な表示装置の表示部を通してユーザが視認する実空間又は実空間の撮影画像に対して3次元の仮想オブジェクトを重畳させて描画するための複合現実環境を作成する方法であって、上記所定の実空間内にある実オブジェクトの点群データに基づいて、それぞれが3次元位置情報を有する3次元形状要素から構成される3次元空間データを作成するステップと、上記所定の実空間内の領域を撮影可能な複数の定点からそれぞれ画像を取得するステップと、上記取得された画像のそれぞれのピクセルの位置情報と、それぞれのピクセルが示す1又は複数の上記3次元形状要素の3次元位置情報とを関連付けたテーブルを作成するステップと、上記3次元形状要素が関連付けられた1又は複数の上記ピクセルの色情報に基づいて上記3次元形状要素の色情報を決定するステップと、を有する、ことを特徴とする。
【0029】
このように構成された本発明によれば、仮想空間において実オブジェクトを含む所定の実空間を表現する3次元空間データを作成し、固定カメラ等から画像を取得し、該3次元空間データを構成する3次元形状要素の位置情報と、固定カメラ等により取得された画像のそれぞれのピクセルの位置情報とを関連付けたテーブルを作成し、テーブルを用いて3次元形状要素の色情報を決定する。
【0030】
これにより、実空間の色彩状態(光の状態)をリアルタイム、かつ、高精度に3次元形状要素の色情報に反映させることが可能となり、その結果、実空間の色彩状態をリアルタイム、かつ、高精度に反映させる複合現実環境を実現することが可能となる。
【0031】
また、本発明において好ましくは、上記取得された画像のそれぞれのピクセルの色情報の変化に基づいて上記3次元形状要素の色情報を更新するステップを更に有する。
【0032】
また、上記の目的を達成するために、本発明の一態様としてのシステムは、所定の実空間内において携帯可能な表示装置の表示部を通してユーザが視認する実空間又は実空間の撮影画像に対して3次元の仮想オブジェクトを重畳させて描画するための複合現実環境を作成するためのシステムであって、上記所定の実空間内にある実オブジェクトの点群データに基づいて、それぞれが3次元位置情報を有する3次元形状要素から構成される3次元空間データを作成する3次元空間データ作成手段と、上記所定の実空間内の領域を撮影可能な複数の定点からそれぞれ画像を取得する画像取得手段と、上記取得された画像のそれぞれのピクセルの位置情報と、それぞれのピクセルが示す1又は複数の上記3次元形状要素の3次元位置情報とを関連付けたテーブルを作成するテーブル作成手段と、上記3次元形状要素が関連付けられた1又は複数の上記ピクセルの色情報に基づいて上記3次元形状要素の色情報を決定する色情報決定手段と、を備える、ことを特徴とする。
【0033】
また、上記の目的を達成するために、本発明の一態様としてのデータ構造は、所定の実空間内において携帯可能な表示装置の表示部を通してユーザが視認する実空間又は実空間の撮影画像に対して3次元の仮想オブジェクトを重畳させて描画するための複合現実環境を作成するためのデータ構造であって、上記所定の実空間内の領域を撮影可能な複数の定点からそれぞれ画像を取得し、該取得された画像のそれぞれのピクセルの位置情報を示す2次元座標データと、上記所定の実空間内にある実オブジェクトの点群データに基づいて作成された3次元空間データを構成する3次元形状要素であって、上記それぞれのピクセルに関連付けられた3次元形状要素の3次元位置情報を示す3次元座標データと、を含む、ことを特徴とする。
【0034】
このように構成された本発明によれば、データ構造は、仮想空間において実オブジェクトを含む所定の実空間を表現する3次元空間データを構成する3次元形状要素の位置情報と、画像取得装置(例えば固定カメラ)により取得された画像のそれぞれのピクセルの位置情報とを関連付けたテーブルを含むものである。このようなテーブルを用いることにより、3次元形状要素の色情報を固定カメラ等により取得された画像のピクセルの色情報から決定し、また更新することが可能となる。
【発明の効果】
【0035】
本発明によれば、複合現実環境において実空間の環境をリアルタイムに認識することができる。
【図面の簡単な説明】
【0036】
図1】本発明の一実施形態によるシステムの全体構成図である。
図2】本発明の一実施形態による現実世界の光の状態を利用したグローバルイルミネーションの概要を示す図である。
図3】本発明の一実施形態によるポジショントラッキングの概要を示す図である。
図4】本発明の一実施形態によるサーバのハードウェア構成を示すブロック図である。
図5】本発明の一実施形態による表示装置のハードウェア構成を示すブロック図である。
図6a】本発明の一実施形態による実空間の概観図である。
図6b図6aの実空間を上から見た平面図である。
図6c図6aの実空間において取得された点群データにより表現された3次元空間データである。
図6d図6cの点群データから作成されたボクセルにより表現された3次元空間データである。
図7】本発明の一実施形態によるシステムの機能ブロック図である。
図8】本発明の一実施形態による、固定カメラにより取得された画像のそれぞれのピクセルの位置情報と、それぞれのピクセルが示すボクセルの3次元位置情報との関連付けを説明する図である。
図9】本発明の一実施形態による、ユーザの向いている方向と撮影部203の撮影方向を説明する図である。
図10】本発明の一実施形態による、実空間の環境を仮想空間にリアルタイムに反映する複合現実環境を作成する方法を示す図である。
図11図10で作成した複合現実環境において、ユーザに複合現実感を体感させることが可能な、実空間の光の状態を利用したグローバルイルミネーションとユーザの高精度なポジショントラッキングを提供する方法を示す図である。
図12】本発明の一実施形態による実空間の概観図である。
【発明を実施するための形態】
【0037】
以下、図面を参照して、本発明の実施形態による、ユーザに対して仮想空間と現実空間とを融合した複合現実空間を提供するためのシステムについて説明する。
【0038】
本発明の実施形態によるシステムの技術的特徴の1つは、実空間と極めて高い精度で一致する構造及び色彩を有する高精度の3次元仮想空間を生成することである。これにより、(1)現実世界の光の状態を利用したグローバルイルミネーションを実現することや、(2)ユーザの高精度なポジショントラッキングを実現することが可能となる。
【0039】
(1)現実世界の光の状態を利用したグローバルイルミネーションの概要について説明する。本発明の実施形態によるシステムは、ゲーム・キャラクタのように、画面上のごく一部だけをコンピュータグラフィックス(CG)が占めるMR環境の運用形態を想定している。例えば、図2では、実空間の光源21により実空間の建物22から生じる影23の中に、仮想空間の存在である仮想オブジェクト(すなわちCG)であるキャラクタ24が入ると、その場所の暗さに(明るさ)に応じて、キャラクタ24画像の明度を変更する。本発明の実施形態によるシステムは、このキャラクタ画像の明度を、建物と床の3次元空間データ(例えば、3Dメッシュやボクセル)の色情報の明度から算出し、レンダリングすることにより、現実世界の光の状態とマッチしたキャラクタ表示を実現する。
【0040】
(2)ユーザの高精度なポジショントラッキングの概要について説明する。図3は、ユーザがいる現実世界31と、3次元空間データ(DB)により構築される仮想世界32と、これらをマッチングして生成された複合現実世界(MR環境)33とを示す。MR環境33において、一般的にユーザはHMD等の表示部を有する装置を装着する。HMDには各種センサ機器が搭載されているが、現実世界31の構造を高精度に認識してそれを仮想空間32に反映するMR環境33を実現するためには、従来使用されるセンサの計測精度では十分ではない。
【0041】
そこで、本発明の実施形態によるシステムは、従来使用される各種センサ(例えば、距離センサ、画像センサ、方向センサ、GPSセンサ、Bluetooth(登録商標)ビーコン)から得られる大まかな位置情報と高精度の仮想空間32とのマッチングを行い、実空間31と仮想空間32におけるユーザの位置やユーザの向いている方向のずれをリアルタイムに補正する。これにより、現実と高精度にリンクするMR環境33を実現し、ポジショントラッキングを実現する。このようなMR環境33においては、仮想世界32で仮想オブジェクトの台26の上にキャラクタ24を立たせる場合、ユーザは現実世界31の台25の上に違和感なくキャラクタ24が立っていることを視認することができる。
【0042】
上記のような本発明の実施形態によるシステムは、予め定められた実空間(所定の実空間)において実現する。本発明の実施形態によるシステムは、所定の実空間内にある建物やベンチ等の実オブジェクトの状態を認識し、高精度3次元空間を生成する生成フェーズと、所定の実空間内にいるユーザに複合現実感を体感させるために、実空間上の光の状態を認識し、高精度3次元空間に写像する認識フェーズとを含んで構成される。以下に具体的な構成を説明する。
【0043】
[システム構成]
図1は、本発明の実施形態によるシステム10の全体構成図の一例である。図1に示すように、システム10は、サーバ100と、1又は複数の表示装置200と、1又は複数の画像取得装置300とを含む。サーバ100、表示装置200、及び画像取得装置300は、インターネットなどのネットワーク50に接続され、互いに通信可能である。
【0044】
システム10は、サーバ‐クライアントシステムを想定しており、好ましくは、表示装置200と画像取得装置300は、サーバ100とのみ通信を行う。ただし、PtoPのようなサーバのないシステムで構成することもできる。
【0045】
システム10は、所定の実空間内にいるユーザに対して、複合現実感を体感させることができるものである。所定の実空間は、予め定められた屋内又は屋外の実空間であり、該空間内には、現実世界におけるオブジェクトである実オブジェクトが存在する。実オブジェクトは、例えば建物、ベンチ、壁などの構造物であり、実空間内に固定されたものである。ただし、移動可能な物を実オブジェクトに含めてもよい。
【0046】
図4は本発明の実施形態によるサーバ100のハードウェア構成を示すブロック図である。サーバ100は、処理部101、表示部102、入力部103、記憶部104及び通信部105を備える。これらの各構成部はバス110によって接続されるが、それぞれが必要に応じて個別に接続される形態であってもかまわない。
【0047】
処理部101は、サーバ100が備える各部を制御するプロセッサ(例えばCPU)を備えており、記憶部104をワーク領域として各種処理を行う。サーバ100が仮想オブジェクトを描画する場合、処理部101は、CPUとは別に、描画処理を行うGPUを備えるのが好ましい。表示部102はサーバ使用者に情報を表示する機能を有する。入力部103はキーボードやマウス等のようにサーバ使用者からの入力を受け付ける機能を有するものである。
【0048】
記憶部104は、ハードディスク、メインメモリ、及びバッファメモリを含む。ハードディスクにはプログラムが記憶される。ただしハードディスクは、情報を格納できるものであればいかなる不揮発性ストレージ又は不揮発性メモリであってもよく、着脱可能なものであっても構わない。記憶部104には、プログラムや当該プログラムの実行に伴って参照され得る各種データが記憶される。処理部101がGPUを備える場合、記憶部104はビデオメモリを含むことができる。
【0049】
1つの例では、プログラムは、ユーザの位置・向き・アクションに対して、表示装置200を通して仮想オブジェクトを表示・移動させるための1又は複数のプログラムであり、各種データは描画する3Dキャラクタ等の仮想オブジェクトデータを含む。
【0050】
記憶部104は各種データベース用のデータ(例えばテーブル)やプログラムを記憶することができる。処理部101の動作などにより、各種データベースは実現される。例えば、サーバ100は、データベースサーバ機能を備えることもできるし、データベースサーバを含むこともできるし、又は他のサーバを含む若しくは備えることもできる。
【0051】
通信部105はイーサネット(登録商標)ケーブル等を用いた有線通信や移動体通信、無線LAN等の無線通信を行い、ネットワーク50へ接続する。
【0052】
サーバ100は、プログラムが実行されることによって様々な機能が実現されるが、これらの機能の一部は電子回路等を構成することによっても実現できる。
【0053】
1つの例では、サーバ100が描画する場合、CPUはメインメモリに描画コマンドを書き込み、GPUは描画コマンドを参照してビデオメモリ上のフレームバッファに描画データを書き込む。その後、フレームバッファから読み取ったデータをそのまま表示装置200に送信する。
【0054】
1つの例では、サーバ100は、機能やエリアごとに設置された複数のサーバを組み合わせて構成される。例えば、所定の実空間を複数のエリアに分割し、各エリアに1台のサーバを設置するとともに、それらのサーバを統合するサーバを設置する構成とすることもできる。
【0055】
図5は本発明の実施形態による表示装置200のハードウェア構成を示すブロック図である。表示装置200は、処理部201と、表示部202と、撮影部203と、記憶部204と、通信部205と、位置姿勢センサ206とを備える。これらの各構成部はバス210によって接続されるが、それぞれが必要に応じて個別に接続される形態であってもかまわない。
【0056】
処理部201は、表示装置200が備える各部を制御するプロセッサ(例えばCPU)を備えており、記憶部204をワーク領域として各種処理を行う。表示装置200が描画する場合、処理部201は、CPUとは別に、描画処理を行うGPUを備えるのが好ましい。1つの例では、表示装置200はサーバ100から描画コマンドを受信し、描画処理を行う。
【0057】
記憶部204は、ハードディスク、メインメモリ、及びバッファメモリを含む。ハードディスクにはプログラムが記憶される。ただしハードディスクは、情報を格納できるものであればいかなる不揮発性ストレージ又は不揮発性メモリであってもよく、着脱可能なものであっても構わない。記憶部204には、プログラムや当該プログラムの実行に伴って参照され得る各種のデータが記憶される。更に記憶部204は各種データベース用のデータやプログラムを記憶することができる。処理部201の動作などにより、各種データベースは実現される。処理部201がGPUを備える場合、記憶部204はビデオメモリを含むことができる。
【0058】
表示部202は、ユーザに対して仮想オブジェクトを表示する透過型ディスプレイ、半透過型ディスプレイ、又は非透過型ディスプレイである。
【0059】
撮影部203は、実空間を撮影するもので、撮影した各フレームの画像(現実世界の画像)を、例えば記憶部204に格納する。撮影部203が撮影する領域は、表示装置200を携帯した又は装着したユーザの視界領域と同じであることが好ましい。
【0060】
表示装置200は、ユーザが携帯可能なものであり、好ましくは、頭部に装着可能な頭部搭載型画像表示装置(HMD)である。以下、本実施形態においては、表示装置200としてHMD200を用いるものとする。HMD200は、光学シースルー型HMDとビデオシースルー型HMDとを含む。
【0061】
光学シースルー型HMDは、透過型ディスプレイの表示部202を備え、HMDを装着するユーザに対して表示部202を通して実空間を視認させるとともに、表示部202に仮想オブジェクトを重畳して描画することで、複合現実画像を提供する。
【0062】
ビデオシースルー型HMDは、非透過型ディスプレイの表示部202を備え、HMDを装着するユーザに対して表示部202を通して実空間の撮影画像を視認させるとともに、表示部202に仮想オブジェクトを重畳して描画することで、複合現実画像を提供する。
【0063】
ただし表示装置200は、ユーザが手で保持するタイプの表示装置(Hand Held Display)であってもよい。
【0064】
位置姿勢センサ206は、GPS、ジャイロセンサ、及び加速度計を含み、大まかな表示装置の位置及び表示装置の撮影部203が撮影する方向(又は表示部202が向く方向)をリアルタイムに決定する。従来使用される他の各種センサを含んでいてもよい。
【0065】
通信部205は移動体通信、無線LAN等の無線通信を行い、ネットワーク50へ接続する。1つの例では、通信部205は、撮影部203が撮影した画像データを、ネットワーク50を介してサーバ100に送信する。
【0066】
画像取得装置300は、実空間の映像(画像)を取得し、取得された画像データを、ネットワーク50を介してサーバ100や表示装置200に送信する。また画像取得装置300は、所定の実空間を取り囲み、所定の実空間内にいるユーザが視認可能な領域を撮影可能な定点に固定して設置される。
【0067】
1つの例では、画像取得装置300は、定点に設置される固定カメラである。また1つの例では、画像取得装置300は1秒間に30コマの画像を取得し、サーバ100に送信する。以下、本実施形態においては、画像取得装置300として固定カメラ300を用いるものとする。
【0068】
[第1の実施形態]
本発明の実施形態によるシステム10が複合現実環境43をユーザに提供する現実世界の空間(所定の実空間)として、図6に示すような壁27に覆われた屋内の空間である実空間41を想定する。図6aは実空間41の概観図、図6bは実空間41を上から見た平面図である。実空間41内には、現実世界の光源21及び現実世界の実オブジェクトである建物22が存在する。図6に示すように、実空間41においては、観測対象となる空間、すなわち実空間41内にいるユーザが視認可能な空間を撮影できるように、複数の固定カメラ300が配置される。
【0069】
本発明の実施形態においては、例えば高精度なレーザスキャナ(図示せず)を用いることにより、実空間41内の実オブジェクトの3次元形状を示す点群データを予め取得する。点群データの取得は、実空間41内に固定カメラ300が設置された後に行われるのが好適であり、また点群データ取得と同時に固定カメラ300の画像データを取得するのが好適である。ただし、レーザスキャナを用いて点群データを取得した後に固定カメラ300を設置してもよい。図6cは、実空間41において取得された点群データにより表現された3次元空間データの例を示す。
【0070】
図6cに示すように、点群データのそれぞれは、3次元座標(x、y、z)を有し、実空間41に対応付けられた仮想空間42内に配置される。また点群データのそれぞれは、色情報を有する色付き点群データである。色付き点群データは、レーザスキャナが備えるカメラを用いて点群データ取得とは別に撮影された画像から求めた色情報を、撮影時のカメラの位置や姿勢に応じて点群の各座標点(x、y、z)にマッピングすることにより、作成される。
【0071】
このように実空間41に対応付けされた仮想空間42において実オブジェクトの3次元形状を表すものとして、点群データを基本単位(基本構成要素)として用いることにより、3次元空間データを構成することができる。本明細書においては、この基本単位を3次元形状要素と表現する。
【0072】
本発明の実施形態では、説明を簡単にするため、取得された点群データを、例えばOctoMap("OctoMap: An Efficient Probabilistic 3D Mapping Framework Based on Octrees" in Autonomous Robots, 2013; A.Hornung,. K.M. Wurm, M. Bennewitz, C. Stachniss, and W. Burgard (http://dx.doi.org/10.1007/s10514-012-9321-0) DOI: 10.1007/s10514-012-9321-0.)等の既知の手法を用いて、ボクセルと呼ばれるデータ構造へ変換する。ボクセルは、2次元空間のピクセルに対応する3次元空間の単位構成要素であり、3次元空間上の座標を用いて識別される一定の大きさを持つ立方体である。
【0073】
第1の実施形態において、以下では実空間41に対応付けされた仮想空間42において実オブジェクトの3次元形状を表す3次元空間データは、ボクセルから構成されるものとする。この場合、ボクセルが3次元空間データの3次元形状要素である。図6dは、図6cの点群データから作成されたボクセルにより表現された3次元空間データを示す。ただし、後述するように3次元形状要素としてメッシュ(3Dメッシュ)を用いることもできるし、点群データそのものを3次元形状要素として用いることもできる。
【0074】
本発明の実施形態では、例えば実空間を1cm3のボクセル枠に分割し、ボクセル空間(ボクセルにより表現された3次元空間)を設定する。1つのボクセルVは、位置情報x、y、zに加え、固定カメラ300から見たときの1又は複数の色情報cを持つ。
色情報cは、RGBやHSV等のフォーマットで表現される。例えばHSVのフォーマットで表現される場合、色情報は、色相、彩度、及び明度を有する。
【0075】
また本発明の実施形態においては、仮想空間42を実空間41内に対応付けされた領域(0≦X≦X1、0≦Y≦Y1、0≦Z≦Z1)に限定して考えるものとする。ただし、仮想空間42をより小さい領域に設定して、複数の仮想空間をそれぞれ実空間41と対応付けることもできるし、仮想空間42をより大きい領域に設定することもできる。仮想空間42をより小さい領域に設定する場合、それぞれの仮想空間42に対応する実空間41内において、ユーザが視認可能な領域を撮影可能な複数の定点にそれぞれ固定カメラ300が設置される。
【0076】
1つの例では、実空間41が広域の空間である場合、仮想空間42を複数のエリアごとに設定し、サーバ100も複数のエリアごとに設置するのが好適である。例えば、サーバ100の記憶部104がボクセルデータを記憶する場合、式(1)の1つのボクセルVは、1 voxel = (int16 x, int16 y, int16 z, int32 rgb)とすると、10 byteとなる。実空間を10mm3のボクセルの集合としてモデル化するとき、1000mm3 = 100万voxelとなり、約10Mbyteとなる。テーマパークのように広域の空間を高精度ボクセル空間に変換する場合は、このテーマパーク領域を、10m=10,000mmのグリッドに分割すると、1グリッドは、10,000m3なので、約10億voxelとなる。これを、高さ5mまでの空間に縮退させると、約5億voxelとなる。すなわち、5億voxelをそのままナイーブにメモリ上に確保しても、5GByteで格納できるため、グリッドごとにサーバを割り当て、オンメモリ化することは容易である。
【0077】
図7は本発明の実施形態によるシステムの機能ブロック図を示す。システム10は、記憶手段11と、3次元空間データ作成手段12と、テーブル作成手段13と、色情報決定手段14と、色情報更新手段15と、仮想照明情報生成手段16と、ユーザ環境取得手段17と、描画手段18と、を備える。
【0078】
これらの機能は、プログラムをサーバ100に実行させることで実現されるか、プログラムをHMD200に実行させることで実現されるか、又はプログラムをサーバ100に実行させ、かつプログラムをHMD200に実行させることで実現される。このように各種機能がプログラム読み込みにより実現されるため、1つの手段の一部の機能を他の手段が有していてもよい。このように、サーバ100及びHMD200の少なくとも一方が図7に示す各種機能を備えることにより、本システムは実現される。
【0079】
記憶手段11は、サーバ100及びHMD200の双方が備え、プログラムやデータ等を記憶部104又は204へ格納する機能を有する。1つの例では、サーバ100が備える記憶手段11は、仮想空間42に配置される仮想オブジェクトの位置や動きに関するデータや仮想オブジェクトの3次元データを記憶部104へ記憶し、HMD200が備える記憶手段11は、サーバ100から受信する描画コマンドを一時的に記憶部204へ記憶し、描画処理を行う。他の例では、記憶手段11は、各種データベースへのデータ入出力を行う。
【0080】
3次元空間データ作成手段12は、実空間41に対応付けされた仮想空間42において実オブジェクトの3次元形状を示す点群データをボクセルへ変換することで、3次元空間データ(3次元ボクセルデータ)を作成する。
【0081】
ここで点群データは色付き点群データであるため、作成されるボクセルは色付きボクセルとなる。またそれぞれのボクセルは、3次元位置情報を有する。例えば、仮想空間に設定された3次元座標の原点から最も近い立方体の頂点の3次元座標(x、y、z)を3次元位置情報として有する。
【0082】
3次元空間データ作成手段12は、サーバ100が備えるのが好適である。ただし、3次元空間データが予め作成され、記憶部104等に記憶されている場合、システム10は、3次元空間データ作成手段12を備えていなくてもよい。
【0083】
サーバ100が備える記憶手段11は、作成された3次元空間データを記憶部104へ記憶する3次元空間データ記憶手段を含む。1つの例では、サーバ100はデータベースサーバ機能を有し、3次元位置情報に関する照会に応じて、サーバ100は記憶された3次元空間データを適宜出力する。ただし、HMD200が備える記憶手段11が、3次元空間データを記憶部204へ記憶する3次元空間データ記憶手段を含むこともできる。
【0084】
テーブル作成手段13は、固定カメラ300により取得された画像のそれぞれのピクセルの位置情報と、それぞれのピクセルが示す1又は複数のボクセルの3次元位置情報とを関連付けてテーブルを作成する。これについては、図8を用いて説明する。
【0085】
図8に示すように、固定カメラ300のうちの1つの固定カメラ300aにより取得された画像の任意の1つのピクセル(x、y)は、実空間において実オブジェクトの微小領域を映し出す。この映し出された微小領域は、ボクセル空間における複数のボクセル(x、y、z)に対応するものである。ただし、任意の1つのピクセルが1つのボクセルに対応する場合もある。
【0086】
ここで、前述のとおり、それぞれのボクセルは色情報を有する。また固定カメラ300は定められたポイントに固定されるものであり、固定カメラ300の仮想空間42における3次元位置情報は、3次元空間データとして記憶されている。例えば図6cに示すように、固定カメラ300という実オブジェクトの3次元形状を示す点群データを予め取得することにより、固定カメラ300の3次元座標は、3次元空間データとして記憶されている。
【0087】
したがって、ボクセル(点群データ)の3次元位置情報及び色情報と、固定カメラ300により撮影された画像データとを比較することにより、画像データのそれぞれのピクセルの位置情報(2次元座標)と、そのピクセルが示す実オブジェクトの微小領域に対応するボクセルの位置情報(3次元座標)とを関連付けることができる。テーブル作成手段13は、このようにして固定カメラ300の撮影する画像のピクセルの位置情報と、それぞれのピクセルが示すボクセルの3次元位置情報とを関連付けてテーブルを作成する。1つの例では、当該関連付けは、3次元空間データにおけるボクセルの3次元位置情報及び色情報と、固定カメラ300により撮影された画像データの位置情報及び色情報との類似性を用いて行う。
【0088】
またこのような関連付けを行うことにより、固定カメラ300の3次元位置情報と撮影する方向(例えば6DOF座標)を高精度に決定することができる。
【0089】
テーブル作成手段13は、サーバ100が備えるのが好適である。ただし、テーブルデータが予め作成され、記憶部104等に記憶されている場合、システム10は、テーブル作成手段13を備えていなくてもよい。
【0090】
サーバ100が備える記憶手段11は作成されたテーブルを記憶部104へ記憶するテーブル記憶手段を更に含む。記憶されたテーブルは、例えばデータベースが参照するテーブルとして使用することができる。他の例では、HMD200が備える記憶手段11は作成されたテーブルを記憶部204へ記憶するテーブル記憶手段を更に含む。
【0091】
色情報決定手段14は、作成されたテーブルを用いることにより、実空間41内の実オブジェクトの3次元形状を示すボクセルそれぞれのボクセルの色情報を決定する。ここで、色付き点群データから作成された色付きボクセルの色情報は、上記のテーブル作成においてのみ使用されるものである。
【0092】
ある1つのボクセル(の位置情報)が、1つの固定カメラ300により撮影された画像の1つのピクセル(の位置情報)のみに関連付けられる場合、色情報決定手段14は、該ピクセルの色情報を該ボクセルの色情報として決定する。
【0093】
ある1つのボクセルが、複数の固定カメラ300により撮影されたそれぞれの画像のそれぞれのピクセルに関連付けられる場合、色情報決定手段14は、該ボクセルに対応する実オブジェクトの微小領域を最も大きく映し出す固定カメラ300から取得された画像の該ボクセルに関連付けられたピクセルの色情報を、該ボクセルの色情報として決定する。ただし、この場合、テーブル作成手段13により作成されたテーブルにおいてボクセルが関連付けられたピクセルのうちの任意の1つのピクセルの色情報を、該ボクセルの色情報として決定してもよい。
【0094】
前述のとおり、本発明の実施形態によるシステム10は、ボクセルの色情報を、グローバルイルミネーションにおける描画される仮想オブジェクトに対する間接照明として使用する。色情報決定手段14は、好ましくはサーバ100が備え、色情報決定手段14により決定されたボクセルの色情報は、それぞれのボクセルに関連付けられて記憶部104へ記憶される。
【0095】
1つの例では、ボクセルの色情報は、式(1)に示すように3次元空間データの1つの要素として、3次元位置情報と併せて記憶される。他の例では、ボクセルの色情報は、データベースのテーブルデータとして記憶される。
【0096】
他の例では、ある1つのボクセルが、複数の固定カメラ300により撮影されたそれぞれの画像のそれぞれのピクセルに関連付けられる場合、それぞれのピクセルの色情報を平均した色情報を、該ボクセルの色情報として決定してもよい。或いは、それぞれのピクセルの色情報に対して重み付けした色情報を、該ボクセルの色情報として決定してもよい。
【0097】
色情報更新手段15は、固定カメラ300により取得された画像のピクセルの色情報の変化が所定条件を満たす場合に、色情報決定手段14において該ピクセルの色情報を用いて決定したボクセルの色情報を、最新のピクセルの色情報を用いて更新(新たに決定)する。
【0098】
1つの例では、ピクセルの色情報の変化が所定条件を満たす場合は、最新のピクセルの色情報が元のピクセルの色情報から一定の距離範囲(HSV色空間などにおける距離)内にある場合である。他の例では、ピクセルの色情報の変化が所定条件を満たす場合は、1つのピクセルごとに、過去30コマの画像の色情報を平均したものが、元のピクセルの色情報から一定の距離範囲内にある場合である。
【0099】
このように一定条件を満たす色情報の変化であれば、光の状態による変化であると判断することができ、判断されたときの最新のピクセルの色情報をボクセルに反映してボクセルの色情報を更新することができる。一方、例えば固定カメラ300により取得された画像にカメラを通過する人が映った場合、色情報更新手段15は、人が映ったピクセルにおいては一定距離の色変化ではないと判断し、ボクセルの色情報を更新しない。
【0100】
色情報更新手段15は、色情報決定手段14と同じ装置が備えるのが好適であり、サーバ100が備えるのが好適である。
【0101】
仮想照明情報生成手段16は、間接照明を考慮して陰影を描画するために、ボクセルの色情報及びその3次元位置情報に基づいて、描画される仮想オブジェクトに対する仮想照明情報を生成する。ボクセルの色情報に基づくため、ボクセルの色情報が更新されると、仮想照明情報も更新される。仮想照明情報生成手段16は、色情報更新手段15と同じ装置が備えるのが好適であり、サーバ100が備えるのが好適である。
【0102】
1つの例では、ボクセルの色情報及びその3次元位置情報に基づいて、描画される仮想オブジェクトを収容する仮想的な多面体の各面における仮想照明情報を、描画される仮想オブジェクトに対する仮想照明情報として生成する。ここでの仮想的な多面体の各面は、イメージベースドライティング(IBL)の手法のように各面のそれぞれが間接照明(光源)であるものとして用いる。このように、本発明の実施形態によれば、環境光(間接照明)の光源となる実オブジェクトに実空間から得たテクスチャをリアルタイムにマッピングすることから、移動する仮想オブジェクトへのIBLもまた可能となる。なお、従来IBLにより仮想オブジェクトの描画を行う場合は、該描画位置から全方向の環境光を取得するためのカメラを設置する必要があったため、ゲーム・キャラクタなどの、自由に移動する仮想オブジェクトへのIBLの適用は困難であった。
【0103】
ユーザ環境決定手段17は、ユーザに装着されたHMD200の位置及び撮影部203が撮影する方向を決定する。ユーザ環境決定手段17は、サーバ100が備えるのが好適である。
【0104】
具体的には、ユーザ環境決定手段17は、位置姿勢センサ206によりHMD200の大まかな位置及び撮影部203の撮影方向を取得し、これを暫定ユーザ環境とする。続いてユーザ環境決定手段17は、暫定ユーザ環境から所定範囲内の位置及び方向においてユーザが視認可能なボクセルの色情報及び3次元位置情報を記憶部104又は記憶部204から取得する。続いてユーザ環境決定手段17は、撮影部203により撮影された実空間41の撮影画像と、取得されたボクセルの位置情報及び色情報とを比較して照合することにより、HMD200の位置及び撮影部203の撮影方向を決定する。
【0105】
1つの例では、撮影画像の色情報のパターンと、取得されたボクセルの色情報のパターンとをマッチングすることにより、HMD200の位置及び撮影部203の撮影方向を決定する。本発明の実施形態においては、HMD200の位置はユーザの位置に対応し、撮影部203の撮影方向はユーザの向いている方向に対応する。
【0106】
図9は、ユーザの向いている方向と、撮影部203の撮影方向を説明する図である。図9に示す位置にユーザがいる場合、撮影部203により撮影された実空間41の撮影画像は図9の下図に示すとおりである。この撮影画像の色情報のパターンと、位置姿勢センサ206により取得されたHMD200の位置及び該位置から一定範囲内の位置において撮影部203が撮影する方向及び該方向から一定範囲内の方向におけるボクセルの色情報のパターンとを比較して照合する。これにより、HMD200の位置及び撮影部203の撮影方向を決定することが可能となる。
【0107】
描画手段18は、仮想オブジェクトをHMD200の表示部202に描画する。1つの例では、サーバ100が備えるCPUがメインメモリに描画コマンドを書き込んでHMD200へ送信する。HMD200が備えるGPUは、受信した描画コマンドを参照してビデオメモリ上のフレームバッファ等に描画データを書き込み、フレームバッファから読み取った内容をそのまま表示部202に描画する。
【0108】
描画コマンドを作成するにあたって、描画手段18は、ユーザ環境決定手段17により決定されたHMD200の位置及び撮影部203の撮影方向を用いて、表示部202上に表示される仮想オブジェクトの位置や向きを決定する。また描画コマンドを作成するにあたって、描画手段18は、仮想照明情報を用いて、仮想オブジェクトに陰影を付ける。
【0109】
このように、描画手段18は、サーバ100とHMD200が分担して実行するのが好適である。ただし、サーバ100が描画手段18を備え、サーバ100において描画処理すべてを実行した後、画像データをHMD200へ送信し、HMD200が受信した画像データを表示するように構成してもよい。或いは、HMD200が描画手段18を備え、HMD200において描画処理すべてを実行するように構成してもよい。
【0110】
続いて生成フェーズについて説明する。図10は、本発明の実施形態による、実空間41の環境を仮想空間42にリアルタイムに反映する複合現実環境43を作成する方法を示す。なお実空間41においては、図6aに示すように、ユーザが視認可能な実空間41内の領域を撮影可能な複数の定点に、予め固定カメラ300が設置される。
【0111】
まずレーザスキャナ(図示せず)を用いることにより、実空間41内の実オブジェクトの3次元形状を示す色付き点群データを予め取得し、該色付き点群データをボクセルへ変換することで、3次元空間データ(3次元ボクセルデータ)を作成する(ステップ1001)。
【0112】
続いて、予め設置された固定カメラ300から画像を取得する(ステップ1002)。ただし、固定カメラ300は設置後から画像を取得することができるため、ステップ1001よりも前に行ってもよい。
【0113】
続いて、ボクセルの3次元位置情報及び色情報と、固定カメラ300により撮影された画像データとを比較することにより、該画像データのそれぞれのピクセルの位置情報(2次元座標)と、該ピクセルが示す実オブジェクトの微小領域に対応する1又は複数のボクセルの位置情報(3次元座標)とを関連付けたテーブルを作成する(ステップ1003)。
【0114】
上記のとおり作成されたテーブルを用いて、実空間41内の実オブジェクトの3次元形状を示すボクセルそれぞれのボクセルの色情報を決定する(ステップ1004)。本ステップにおいて、1つの固定カメラ300により撮影された画像の1つのピクセルのみに関連付けられた1つのボクセルは、該ピクセルの色情報を該ボクセルの色情報として決定する。また本ステップにおいて、複数の固定カメラ300により撮影されたそれぞれの画像のそれぞれのピクセルに関連付けられた1つのボクセルは、該ボクセルに対応する実オブジェクトの微小領域を最も大きく映し出す固定カメラ300から取得された画像の該ボクセルに関連付けられたピクセルの色情報を、該ボクセルの色情報として決定する。
【0115】
ただし、複数の固定カメラ300により撮影されたそれぞれの画像のそれぞれのピクセルに関連付けられた1つのボクセルは、それぞれのピクセルの色情報を平均した色情報をボクセルの色情報として決定してもよい。
【0116】
続いて、複数の固定カメラ300により取得された画像のそれぞれのピクセルにおいて、色情報の変化が所定条件を満たすかどうかを判定する(ステップ1005)。例えば所定条件は、1つのピクセルごとに、過去30コマの画像の色情報を平均したものが、元のピクセルの色情報から一定の距離範囲(HSV色空間などにおける距離)内にあるかどうかという条件である。
【0117】
所定条件を満たすピクセルについては、最新のピクセルの色情報を用いて、ボクセルの色情報を決定する際に該ピクセルの色情報を参照するボクセルの色情報を更新(決定)する(ステップ1006)。所定条件を満たさないピクセルについては、ボクセルの色情報を決定する際に該ピクセルの色情報を参照するボクセルの色情報を更新(決定)しない。その後、複合現実環境43を作成し続ける限り(ステップ1007)、ステップ1005へ戻る。
【0118】
続いて認識フェーズについて説明する。図11は、本発明の実施形態による、図10で作成した複合現実環境43において、ユーザに複合現実感を体感させることが可能な、実空間41の光の状態を利用したグローバルイルミネーションとユーザの高精度なポジショントラッキングを提供する方法を示す。なお、ユーザは、HMD200を装着し、実空間41(複合現実環境43)内にいるものとする。また、本ステップ開始時点において、各ボクセルの色情報は、図10のステップ1004又は1006により決定(更新)されていることに留意されたい。
【0119】
HMD200の位置及び撮影部203の撮影方向を決定することにより、ユーザ環境、すなわちユーザの位置及びユーザの向いている方向を決定する(ステップ1101)。本ステップにおいては、暫定ユーザ環境として、位置姿勢センサ206を用いてHMD200の大まかな位置及び撮影部203の撮影方向を取得する。更に本ステップにおいては、暫定ユーザ環境から所定範囲内の位置及び撮影方向において撮影部203が撮影可能なボクセルの色情報及び3次元位置情報を取得する。更に本ステップにおいては、撮影部203により撮影された実空間の撮影画像と、取得されたボクセルの位置情報及び色情報とを比較して照合することにより、HMD200の位置及び撮影部203の撮影方向を決定する。
【0120】
続いて、撮影部203が撮影する方向において、描画される仮想オブジェクトが有るかどうかを判定する(ステップ1102)。ここにおいて、複合現実環境43を構成する仮想空間42において撮影部203が撮影する方向に対応する場所に仮想オブジェクトが配置される場合は、描画される仮想オブジェクトが有ることになる。
【0121】
描画される仮想オブジェクトが有る場合は、ボクセルの色情報及びその3次元位置情報を用いてIBLの手法により、描画される仮想オブジェクトを収容する仮想的な多面体の各面における仮想照明情報を、描画される仮想オブジェクトに対する仮想照明情報として生成する(ステップ1103)。
【0122】
ただし、ボクセルの色情報及びその3次元位置情報を用いてレイトレーシングの手法により、描画される仮想オブジェクトに対する仮想照明情報を生成してもよい。
【0123】
続いて、ステップ1101で決定されたHMD200の位置及び撮影部203の撮影方向を用いて位置や向きが決定され、かつステップ1104で生成された仮想照明情報を用いて陰影(色彩)を付けられた仮想オブジェクトをHMD200の表示部202に描画する(ステップ1104)。描画される仮想オブジェクトが無い場合は、ステップ1103及び1104は行わない。
【0124】
続くステップ1105は、図10におけるステップ1005と同様の処理であり、ステップ1106は、図10におけるステップ1006と同様の処理であるため、説明は省略する。その後、複合現実環境(グローバルイルミネーションとポジショントラッキング)を提供し続ける限り(ステップ1107)、ステップ1101へ戻る。
【0125】
上記のとおり、本発明の実施形態においては、レーザスキャナを用いることにより実空間41内の実オブジェクトの3次元形状を示す色付き点群データを予め取得する。しかしながら、レーザスキャナによる測定は時間を要するため、実オブジェクトの位置・形状等が変わらない限り、最初に1度測定するのみである。
【0126】
次に、第1の実施形態によるシステム10の作用効果について説明する。本実施形態では、ボクセルの位置情報と、固定カメラ300により取得された画像のそれぞれのピクセルの位置情報とを関連付けたテーブルを用いることにより、ボクセルの色情報を固定カメラ300により取得された画像のピクセルの色情報から決定し、また更新する。このようにテーブルを用いることにより、固定カメラ300から得られる色情報をボクセルのそれぞれにリアルタイムに反映することが可能となる。これにより、高精度に実空間の形状が再現された複合現実環境において、実空間41の色彩を、高精度かつリアルタイムに認識し、仮想空間に反映することが可能となる。
【0127】
また本実施形態では、実空間41の色彩を反映させたボクセルのそれぞれを、描画される仮想オブジェクトの仮想的な間接照明(光源)として用いる。これにより、実空間41の光の状態を利用したグローバルイルミネーションを実現することが可能となり、実空間41の環境に極めて近い色彩や陰影を持つ仮想オブジェクトを描画することが可能となる。
【0128】
また本実施形態では、実空間41においては、実空間41を仮想空間42であるかのように利用することが可能となる。例えばゲーム開発者は、現実空間を、ゲームエンジン内のゲーム空間(仮想空間)と同様に取り扱うことが可能になる。
【0129】
また本実施形態では、描画される仮想オブジェクトに対して、該仮想オブジェクトを収容する仮想的な多面体を想定し、該多面体の各面における色彩(光)の状態を、実空間41の色彩を反映させたボクセルのそれぞれから決定する。そして、決定された各面における色彩の状態を、描画される仮想オブジェクトの仮想的な間接照明として用いる。これにより、より実空間41の環境に近い色彩や陰影を持つ仮想オブジェクトを描画することが可能となる。
【0130】
また本実施形態では、位置姿勢センサ206を用いて決定された大まかなHMD200の位置及び撮影部203の撮影方向を暫定ユーザ環境とし、該暫定ユーザ環境周辺において撮影部203の撮影可能な領域にあるボクセルの色情報及び3次元位置情報と、撮影部203の撮影画像とを比較して照合することにより、HMD200の位置及び撮影部203の撮影方向を決定する。このように、従来の位置姿勢センサ206から得られる大まかな位置情報と、3次元空間データを用いた高精度の仮想空間42とのマッチングを行い、実空間41と仮想空間42におけるユーザの位置やユーザの向いている方向のずれをリアルタイムに補正することができる。これにより、現実と高精度にリンクするMR環境43を実現することが可能となり、ポジショントラッキングを実現することが可能になる。
【0131】
[第2の実施形態]
本実施形態においては、3次元形状要素としてメッシュを用いる。第1の実施形態の場合と同様に、取得された色付き点群データをメッシュと呼ばれるデータ構造へ変換する。例えば、取得された色付き点群データから既知の方法を用いて各点群を頂点としたポリゴンを形成し、1又は複数のポリゴンから形成されるメッシュへと変換する。ただし、基本的な考え方は第1の実施形態のボクセルの場合と同じであるため、第1の実施形態と異なる点を中心に説明する。
【0132】
本実施形態におけるテーブル作成手段13が作成するテーブルについて説明する。前述のとおり、固定カメラ300の3次元位置情報と撮影する方向は高精度に決定することができる。取得された色付き点群データと、固定カメラ300から得られる画像のそれぞれのピクセルとを比較することにより、固定カメラ300から得られたピクセルの色情報を点群の色情報に変換するプロジェクションマトリックス(変換行列)を得る。これに関する既知の手法としては、オプティカルフローや色情報の類似性を用いるものがある。
【0133】
テーブル作成手段13は、上記のプロジェクションマトリックスを作成する。該マトリックスは、固定カメラ300から得られる画像の座標系を、3次元空間上の座標系に変換するためのテーブルである。1つの例では、固定カメラ300から得られる画像の座標系を、3次元空間のメッシュのUV座標へ変換するテーブルを作成する。
【0134】
以下にプロジェクションマトリックスに関する具体的な1つの例を説明する。固定カメラ100の位置情報を求めることができると、次のように、プロジェクションマトリックスを設定し、固定カメラ100の画像のピクセルを、3次元空間上のオブジェクトのある場所の色にマッピングすることが可能になる。プロジェクションマトリックスを P とする。P は A(R|t) という構成となっている 3x4 行列であり、A は固定カメラ100の画角、解像度、画像中心などから求められる行列でデバイススペックに依存する固定の値であり、内部パラメータ行列と呼ばれる。R は 3x3 回転行列であり、t は並進ベクトルである。R|t をならべて 3x4 行列としたものを、外部パラメータ行列と呼ぶ。Aは固定カメラ100のスペック値が対応する。R|t はワールド座標系における回転と位置であり、本実施形態における点群データと固定カメラ100の画像の照合により求めることができる。これにより、通常の射影変換の式、m = P・Xを用いて、画像座標 m を、ワールド座標 X に変換することが可能になる。
【0135】
色情報決定手段14は、それぞれのメッシュの色情報を、固定カメラ300から取得される画像のピクセルの色情報を変換行列により変換することにより決定する。それぞれのメッシュの色情報が参照する画像、すなわちそれぞれのメッシュの色情報の提供元となる固定カメラ300は、予め決定されることが好ましい。
【0136】
色情報更新手段15は、固定カメラ300により取得された画像のピクセルの色情報の変化が所定条件を満たす場合に、色情報決定手段14において該ピクセルの色情報を用いて決定したメッシュの色情報を、最新のピクセルの色情報を用いて更新(新たに決定)する。
【0137】
ステップ1004〜ステップ1006、ステップ1105〜ステップ1106においても、上記の同様の処理を行う。
【0138】
上記で説明したとおり、本実施形態のメッシュの色情報は、固定カメラ300から得られる画像のピクセルの色情報を変換行列により変換することにより求める。したがって、1つのメッシュ内において異なる色を有する点が、各ボクセルにおいて同じ色情報を有する第1の実施形態と異なることに留意されたい。
【0139】
[第3の実施形態]
本発明の実施形態によるシステム10が複合現実環境53をユーザに提供する現実世界の空間(所定の実空間)として、図12に示すような屋外の空間である実空間51を想定する。実空間51は、天井と一対の横壁が無い点、太陽光を含む光源22が実空間内ではなく実空間外に有する点以外は、実空間41と同じである。実空間51においても、ユーザが視認可能な実空間51内の領域を撮影可能な複数の定点にそれぞれ固定カメラ300が配置される。また説明を簡単にするため、本実施形態においては、3次元形状要素としてボクセルを用いるものとするが、3次元形状要素としてメッシュや点群データを用いることもできる。以下、第1の実施形態と異なる点を中心に説明する。
【0140】
本実施形態においても、仮想空間52を実空間51内に対応付けされた領域(0≦X≦X1、0≦Y≦Y1、0≦Z≦Z1)に限定して考えるものとする。
【0141】
本実施形態においては、第1の実施形態と異なり屋外の空間であるため、固定カメラ300が実オブジェクトを映し出さない領域が存在する。
【0142】
テーブル作成手段13は、固定カメラ300により取得された画像の少なくとも一部に実オブジェクトが存在しない場合、該画像において実オブジェクトを映し出していないピクセルについては、固定カメラ300の3次元位置情報と撮影方向を用いて、仮想空間52の境界上の位置(x、y、z)に関連付ける。この場合、該境界上の位置に、例えば大きなメッシュ(又はボクセル)があると仮定し、該メッシュを用いて、第1又は第2の実施形態で説明した方法によりテーブル作成を行ってもよい。
【0143】
色情報決定手段14は、作成されたテーブルを用いることにより、仮想空間42の境界においては、該境界の位置情報に応じたそれぞれの色情報を決定する。
【0144】
色情報更新手段15は、固定カメラ300により取得された画像のピクセルの色情報の変化が所定条件を満たす場合に、色情報決定手段14において該ピクセルの色情報を用いて決定した仮想空間42の境界上の位置における(例えばメッシュ等の)色情報を、最新のピクセルの色情報を用いて更新(新たに決定)する。
【0145】
ステップ1004〜ステップ1006、ステップ1105〜ステップ1106においても、上記の同様の処理を行う。
【0146】
[システムアーキテクチャ]
上記のとおり、図7に示す機能を有するものであるが、1つの実施形態に係るシステムアーキテクチャは、次の6つのモジュールから構成することができる。6つのモジュールは、ボクセルコンバータ(Point Cloud to Voxel Converter)と、ボクセルDBと、3Dアドレスマッピングテーブルジェネレータ(以下、「ジェネレータ」という)と、3Dアドレスマッピングテーブル(以下、「テーブル」という)と、ポジショントラッカーと、環境照明パラメータと、から構成される。このようにモジュール化を行うことにより、一部のモジュールを変更してシステムに適用することが可能になる。
【0147】
ボクセルコンバータは、Octomapなどの手法を用いて、予め取得されクラウドに記憶された Point Cloud Dataを、隙間の無いボクセルの集合に変換する。このボクセルへの変換により、ゲーム内で直接用いる3D情報として利用しやすくなるとともに、座標を用いてボクセルを一意に特定することが容易となるため、色の更新に適した形式となる。
【0148】
ボクセルコンバータは、3次元空間データ作成手段12に対応する機能を有するものである。なお、本発明の実施形態はボクセルを使用する方法に依存していないことから、ボクセルコンバータの代わりに、点群データを隙間の無いメッシュの集合に変換するメッシュコンバータをモジュールの構成要素とすることができる。
【0149】
ボクセルDBは、実世界を一定区画ごとに分割し、その区画の中身をすべてボクセルに変換し、(x、y、z)の位置情報で識別可能にしたものである。実世界上での極小の一定のサイズ(例えば1cm)を基準としたボクセルを最小単位とした、物理空間を写像可能な高精度ボクセル空間であることが好ましい。
【0150】
ボクセルDBは、3次元空間データ作成手段12により作成された3次元空間データを記憶するデータベースに対応する機能を有するものである。なお、本発明の実施形態はボクセルを使用する方法に依存しておらず、ボクセルDBは、点群データを直接格納してもよいし、また、3次元空間のメッシュのUV座標の集合を格納してもよい。
【0151】
ジェネレータは、この空間上において、映像データの各ピクセルと、点群データから生成された色付きボクセルとを、ボクセルの位置情報と色情報を用いてマッピングする。なお、本発明の実施形態はボクセルを使用する方法に依存しておらず、例えば、点群データにおける1つの点の位置情報と色情報を用いてマッピングしてもよい。ジェネレータの機能は、固定カメラから得られる画像と点群データ又はボクセルデータとを照合することにより、固定カメラから得られる画像の座標系を、3次元空間上の座標系に変換するためのテーブルを生成するものである。ジェネレータは、テーブル作成手段13に対応する機能を有するものである。
【0152】
テーブルは、固定カメラの各ピクセルと3次元空間上のn個のボクセルとを静的に紐づけるテーブルである。このテーブルは、次に示すマッピングエントリEの集合である。
ここで、cidは、固定カメラの識別し、cx、cyは固定カメラのピクセル、vx、vy、vzは、マッピング先となるボクセルの3次元座標を示す。なお、本発明の実施形態はボクセルを使用する方法に依存しておらず、vx、vy、vzは、点群データの座標でもよいし、3次元空間上の特定のメッシュのUV座標でもよい。テーブルは、テーブル作成手段13により作成されたテーブルに対応する機能を有するものである。
【0153】
ポジショントラッカーは、利用者の現在位置と視線の方向をトラッキングし続けることにより、利用者の視野を把握するモジュールである。ポジショントラッカーは、ユーザ環境決定手段に対応する機能を有するものである。
【0154】
環境照明パラメータは、表示しようとするキャラクタの実世界上の位置をボクセルDBへのクエリに対応するx、y、zとして求め、その場所の周辺のグローバルイルミネーションを、周囲のボクセルの色情報から算出するモジュールである。環境照明パラメータは、仮想照明情報生成手段16に対応する機能を有するものである。
【0155】
以上に説明した処理又は動作において、あるステップにおいて、そのステップではまだ利用することができないはずのデータを利用しているなどの処理又は動作上の矛盾が生じない限りにおいて、処理又は動作を自由に変更することができる。また以上に説明してきた各実施例は、本発明を説明するための例示であり、本発明はこれらの実施例に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。
【符号の説明】
【0156】
10 システム
11 記憶手段
12 3次元空間データ作成手段
13 テーブル作成手段
14 色情報決定手段
15 色情報更新手段
16 仮想照明情報生成手段
17 ユーザ環境取得手段
18 描画手段
21 光源
22 建物
23 影
24 キャラクタ
25、26 台
27 壁
31、41、51 現実世界(実空間)
32、42、52 仮想世界(仮想空間)
33、43、53 複合現実世界(複合現実環境)
50 ネットワーク
100 サーバ
101、201 処理部
102、202 表示部
103 入力部
104、204 記憶部
105、205 通信部
110、210 バス
200 表示装置
203 撮影部
206 位置姿勢センサ
300 固定カメラ
【要約】
【課題】複合現実環境において実空間の環境をリアルタイムに認識することができるシステムを提供する。
【解決手段】本発明に係るシステムは、サーバと、ユーザに対して仮想オブジェクトを表示するための表示部及び実空間を撮影する撮影部を有する携帯可能な表示装置と、所定の実空間内の領域を撮影可能な複数の定点からそれぞれ画像を取得する画像取得装置とを備え、表示部を通してユーザが視認する実空間又は実空間の撮影画像に対して仮想オブジェクトを重畳させて描画するためのシステムであって、3次元空間データ記憶手段と、テーブル記憶手段と、色情報決定手段と、色情報更新手段と、ユーザ環境決定手段と、仮想照明情報生成手段と、描画手段との各手段をサーバ又は表示装置が備える。
【選択図】図1
図1
図2
図3
図4
図5
図6a
図6b
図6c
図6d
図7
図8
図9
図10
図11
図12