(57)【要約】【課題】複合現実システムにおいて、幾何学的不整合を検出することができるシステムを提供する。【解決手段】本発明は、透過型の表示部及び実空間を撮影する撮影部を有する携帯可能な表示装置を備え、所定の実空間内において仮想オブジェクトを表示部に描画してユーザに視認させる複合現実システムにおける不整合検出システムであって、複合現実システムは、３次元空間データを記憶する手段と、ユーザ環境を決定する手段と、ユーザ環境に基づいて表示部に仮想オブジェクトを描画する手段とを備えるものであり、肉眼視野画像に仮想オブジェクトを重畳表示することで得られる合成画像から第１の点群データを生成し、決定されたユーザ環境における３次元空間の点群データ及び仮想オブジェクトの点群データを用いて第２の点群データを生成し、第１の点群データ及び第２の点群データの比較結果に基づいて不整合を検出する不整合検出システムである。【選択図】図１
2018106262.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに対して仮想オブジェクトを表示するための透過型の表示部及び実空間を撮影する撮影部を有する携帯可能な表示装置を備え、所定の実空間内において仮想オブジェクトを前記表示部に描画することで前記表示部を通して実空間に対して仮想オブジェクトを重畳してユーザに視認させる複合現実システムにおける不整合検出システムであって、
前記複合現実システムは、
予め取得された前記所定の実空間内にある実オブジェクトの点群データであって、それぞれが３次元位置情報を有する点群データを含む３次元空間データを記憶する３次元空間データ記憶手段と、
前記表示装置が備えるセンサから取得されたデータ及び前記３次元空間データに基づいて前記表示装置の位置及び前記表示部を通してユーザが視認する視界領域を含むユーザ環境を決定するユーザ環境決定手段と、
前記ユーザ環境に基づいて前記表示部に仮想オブジェクトを描画する描画手段と、を備えるものであり、
前記撮影された実空間画像から生成された前記表示部を通してユーザが視認する実空間画像に前記描画手段により描画される仮想オブジェクトを重畳表示することで得られる合成画像から、実オブジェクト及び仮想オブジェクトの点群データである第１の点群データを生成する第１の点群データ生成手段と、
前記ユーザ環境決定手段により決定された前記視界領域における前記３次元空間データ記憶手段により記憶された点群データ及び前記描画手段により描画される仮想オブジェクトの点群データを用いて第２の点群データを生成する第２の点群データ生成手段と、
前記第１の点群データ及び前記第２の点群データの比較結果に基づいて不整合を検出する不整合検出手段と、
を備える、不整合検出システム。
【請求項２】
前記撮影部は、実空間をステレオ画像として取得するものであり、
第１の点群データ生成手段は、前記ステレオ画像として取得された２つの実空間画像からそれぞれ生成された前記表示部を通してユーザが視認する各実空間画像に前記描画手段により描画される仮想オブジェクトをそれぞれ重畳表示することで得られる各合成画像から、前記第１の点群データを生成する、請求項１に記載の不整合検出システム。
【請求項３】
前記第１の点群データ生成手段は、前記撮影された実空間画像を、前記表示部と前記撮像部の位置関係に基づいて射影変換することにより前記表示部を通してユーザが視認する実空間画像を生成する、請求項１又は２に記載の不整合検出システム。
【請求項４】
前記不整合検出手段は、前記第１の点群データ及び前記第２の点群データの差が所定量を超えた場合に不整合を検出する、請求項１から３のいずれか１項に記載の不整合検出システム。
【請求項５】
前記不整合検出手段は、前記ユーザ環境に基づいて描画される仮想オブジェクトを含む所定の３次元空間領域において前記第１の点群データ及び前記第２の点群データの差が所定量を超えた場合に不整合を検出する、請求項１から３のいずれか１項に記載の不整合検出システム。
【請求項６】
サーバと、ユーザに対して仮想オブジェクトを表示するための透過型の表示部及び実空間を撮影する撮影部を有する携帯可能な表示装置とを備え、所定の実空間内において仮想オブジェクトを前記表示部に描画することで前記表示部を通して実空間に対して仮想オブジェクトを重畳してユーザに視認させる複合現実システムであって、
予め取得された前記所定の実空間内にある実オブジェクトの点群データであって、それぞれが３次元位置情報を有する点群データを含む３次元空間データを記憶する３次元空間データ記憶手段と、
前記表示装置が備えるセンサから取得されたデータ及び前記３次元空間データに基づいて前記表示装置の位置及び前記表示部を通してユーザが視認する視界領域を含むユーザ環境を決定するユーザ環境決定手段と、
前記ユーザ環境に基づいて前記表示部に仮想オブジェクトを描画する描画手段と、
前記撮影された実空間画像から生成された前記表示部を通してユーザが視認する実空間画像に前記描画手段により描画される仮想オブジェクトを重畳表示することで得られる合成画像から、実オブジェクト及び仮想オブジェクトの点群データである第１の点群データを生成する第１の点群データ生成手段と、
前記ユーザ環境決定手段により決定された前記視界領域における前記３次元空間データ記憶手段により記憶された点群データ及び前記描画手段により描画される仮想オブジェクトの点群データを用いて第２の点群データを生成する第２の点群データ生成手段と、
前記第１の点群データ及び前記第２の点群データの比較結果に基づいて不整合を検出する不整合検出手段と、
の各手段を前記サーバ又は前記表示装置が備える、複合現実システム。
【請求項７】
ユーザに対して仮想オブジェクトを表示するための透過型の表示部及び実空間を撮影する撮影部を有する携帯可能な表示装置を備え、所定の実空間内において仮想オブジェクトを前記表示部に描画することで前記表示部を通して実空間に対して仮想オブジェクトを重畳してユーザに視認させる複合現実システムにおいて不整合を検出するためのプログラムであって、
前記複合現実システムは、
予め取得された前記所定の実空間内にある実オブジェクトの点群データであって、それぞれが３次元位置情報を有する点群データを含む３次元空間データを記憶する３次元空間データ記憶手段と、
前記表示装置が備えるセンサから取得されたデータ及び前記３次元空間データに基づいて前記表示装置の位置及び前記表示部を通してユーザが視認する視界領域を含むユーザ環境を決定するユーザ環境決定手段と、
前記ユーザ環境に基づいて前記表示部に仮想オブジェクトを描画する描画手段と、を備えるものであり、
前記プログラムは、前記表示装置に、
前記撮影された実空間画像から生成された前記表示部を通してユーザが視認する実空間画像に前記描画手段により描画される仮想オブジェクトを重畳表示することで得られる合成画像から、実オブジェクト及び仮想オブジェクトの点群データである第１の点群データを生成するステップと、
前記ユーザ環境決定手段により決定された前記視界領域における前記３次元空間データ記憶手段により記憶された点群データ及び前記描画手段により描画される仮想オブジェクトの点群データを用いて第２の点群データを生成するステップと、
前記第１の点群データ及び前記第２の点群データの比較結果に基づいて不整合を検出するステップと、
を実行させる、プログラム。
【請求項８】
ユーザに対して仮想オブジェクトを表示するための透過型の表示部及び実空間を撮影する撮影部を有する携帯可能な表示装置を備え、所定の実空間内において仮想オブジェクトを前記表示部に描画することで前記表示部を通して実空間に対して仮想オブジェクトを重畳してユーザに視認させる複合現実システムにおける不整合検出方法であって、
前記複合現実システムは、
予め取得された前記所定の実空間内にある実オブジェクトの点群データであって、それぞれが３次元位置情報を有する点群データを含む３次元空間データを記憶する３次元空間データ記憶手段と、
前記表示装置が備えるセンサから取得されたデータ及び前記３次元空間データに基づいて前記表示装置の位置及び前記表示部を通してユーザが視認する視界領域を含むユーザ環境を決定するユーザ環境決定手段と、
前記ユーザ環境に基づいて前記表示部に仮想オブジェクトを描画する描画手段と、を備えるものであり、
前記撮影された実空間画像から生成された前記表示部を通してユーザが視認する実空間画像に前記描画手段により描画される仮想オブジェクトを重畳表示することで得られる合成画像から、実オブジェクト及び仮想オブジェクトの点群データである第１の点群データを生成するステップと、
前記ユーザ環境決定手段により決定された前記視界領域における前記３次元空間データ記憶手段により記憶された点群データ及び前記描画手段により描画される仮想オブジェクトの点群データを用いて第２の点群データを生成するステップと、
前記第１の点群データ及び前記第２の点群データの比較結果に基づいて不整合を検出するステップと、
を有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不整合検出システム等に関し、特に所定の実空間内にいるユーザに対して複合現実感を体感させることができる複合現実システムにおける不整合検出システム等に関する。
【背景技術】
【０００２】
近年、現実世界と仮想世界をリアルタイムかつシームレスに融合させる技術として複合現実感、いわゆるＭＲ（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）技術が知られている。ＭＲ技術は、これを体験するユーザに対して、あたかもその場に仮想の物体が存在するかのような体験を行わせることができ、様々な分野で注目を集めている。ユーザは、光学シースルー型ＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）やビデオシースルー型ＨＭＤを装着することにより、ＨＭＤに重畳表示された複合現実画像を確認することができ、複合現実感を体験することができる。
【０００３】
現実世界を３Ｄ空間として認識する技術としては、ユーザ視点の高精度なカメラを搭載する手法と、観測対象空間を取り囲むようにカメラを設置する手法の２つが知られている。
【０００４】
ユーザ視点の高精度なカメラを搭載する手法としては、赤外線プロジェクタと赤外線カメラを用いる手法がある。例えば、ユーザ視点の高精度なカメラを搭載する手法としては、赤外線を照射し、その反射パターンの歪みから、物体の深度を計測する手法がある。また、Ｔｉｍｅ  ｏｆ  Ｆｌｉｇｈｔ法（ＴＯＦ法）と呼ばれる手法では、赤外線などの不可視光を照射し、その反射結果を計測することにより、対象物までの往復の距離を算出する手法がある。これらの方式は、３次元化できる空間が、赤外線の到達範囲に限定され、また、太陽効果で使用できないという問題点がある。
【０００５】
また、極めて高精度な３次元情報を撮影する手法としては、３Ｄレーザスキャナを用いる方式がある。本方式は、高い測定精度を実現できるが、３６０度の測定を行うために、最低でも１０分程度、標準画質で３０分間程度の時間を要する。したがって、リアルタイムの用途には適用できない。また、３Ｄレーザスキャナは、１台が数百〜数千万円と非常に高価であり、広域に大量配備するには適さない。３Ｄレーザスキャナは以上のような特性から、土木における測量や工場内のレイアウト確認などの、長時間かけて高精度な３Ｄ化を行う用途に用いられている。例えば特許文献１は、３Ｄイメージスキャナでスキャンして作成した点群データに対して、カメラで撮影した画像の色を付与することで、現実世界を３Ｄ空間として認識する技術を実現している。
【０００６】
観測対象空間を取り囲むようにカメラを設置する手法としては、非特許文献１に示すＳｔｒｕｃｔｕｒｅ−ｆｒｏｍ−Ｍｏｔｉｏｎ（ＳｆＭ）と呼ばれる技術を用いて、複数の、ばらばらに撮影された画像から、元の３次元情報を復元する方式が挙げられる。この方式を採用する代表的な製品としては、Ｍｉｃｒｏｓｏｆｔ  Ｐｈｏｔｏｓｙｎｔｈ（登録商標）がある。ＳｆＭが実現する精度は、ＭＲ技術が要求する精度との比較においては相対的に低いものの、安価に３Ｄモデルを構築できる方式である。しかしながら、リアルタイム性は低く、そのままではＭＲ環境の実現に適用することはできない。
【０００７】
上述のとおり、これらの手法では、リアルタイム性と高精度な測定を同時に実現できない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１３−６９２３５号公報
【０００９】
【非特許文献１】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
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述のとおり、現実世界の構造や環境をリアルタイムかつ高精度に認識してそれを仮想空間に反映する方法は、未だ確立されていない。このような状況において、本出願人は、特願２０１６−１２１９２８において、複合現実環境において実空間の環境をリアルタイムに認識することができる複合現実システムを提案している。
【００１１】
当該複合現実システムは、実空間と極めて高い精度で一致する構造及び色彩を有する高精度の３次元仮想空間を生成し、これにより、現実世界の光の状態を利用したグローバルイルミネーションを実現し、またユーザの高精度なポジショントラッキングを実現する。
【００１２】
ここで、当該複合現実システムの主目的の１つは、仮想空間の物体（仮想オブジェクト）と実空間の地面や建物などの物体（実オブジェクト）とがほぼ正確に接触する、継ぎ目の無い複合現実空間をユーザに提供することである。
【００１３】
上記のような複合現実システムを実現するためには、仮想オブジェクトと、実オブジェクトとを正しく重畳させる幾何学的整合性を、ＨＭＤの現在位置や移動に合わせてリアルタイムに維持することが必要となる。特に、仮想的なキャラクタ（仮想オブジェクト）として、地面に立ったり物に触れたりする人間や動物を表示するときの、境界線処理（アラインメント処理）の完全性、すなわち幾何学的整合性は、仮想オブジェクトにリアリティを与えるうえで、極めて重要である。
【００１４】
しかしながら、光学シースルー型ＨＭＤでは、仮想オブジェクトを重畳する対象としての実オブジェクトを映像（画像）処理の対象にすることはできず、単純な光学的な重畳しかできないため、アラインメント処理の完全性を担保することは極めて難しい。アラインメント処理の完全性（幾何学的整合性）はユーザのポジショントラッキングの精度に依存するものであるが、仮想オブジェクトと、実オブジェクトとの幾何学的不整合は、ポジショントラッキングの誤差の累積などにより発生するものである。しかしながら、複合現実システムにおけるポジショントラッキングに使用される自己位置推定技術単体では、幾何学的不整合を発生させる、数センチ単位の認識誤差を自己検出（自己診断）することはできないという問題があった。
【００１５】
本発明は、このような課題を解決するためになされたものであり、光学シースルー型ＨＭＤを用いた複合現実システムにおいて、仮想空間の物体と、実空間の物体との幾何学的整合性に矛盾が発生したときに不整合を検出することができる不整合検出システムを提供することを主目的とする。
【課題を解決するための手段】
【００１６】
上記の目的を達成するために、本発明の一態様としての不整合検出システムは、ユーザに対して仮想オブジェクトを表示するための透過型の表示部及び実空間を撮影する撮影部を有する携帯可能な表示装置を備え、所定の実空間内において仮想オブジェクトを上記表示部に描画することで上記表示部を通して実空間に対して仮想オブジェクトを重畳してユーザに視認させる複合現実システムにおける不整合検出システムであって、上記複合現実システムは、予め取得された上記所定の実空間内にある実オブジェクトの点群データであって、それぞれが３次元位置情報を有する点群データを含む３次元空間データを記憶する３次元空間データ記憶手段と、上記表示装置が備えるセンサから取得されたデータ及び上記３次元空間データに基づいて上記表示装置の位置及び上記表示部を通してユーザが視認する視界領域を含むユーザ環境を決定するユーザ環境決定手段と、上記ユーザ環境に基づいて上記表示部に仮想オブジェクトを描画する描画手段と、を備えるものであり、上記撮影された実空間画像から生成された上記表示部を通してユーザが視認する実空間画像に上記描画手段により描画される仮想オブジェクトを重畳表示することで得られる合成画像から、実オブジェクト及び仮想オブジェクトの点群データである第１の点群データを生成する第１の点群データ生成手段と、上記ユーザ環境決定手段により決定された上記視界領域における上記３次元空間データ記憶手段により記憶された点群データ及び上記描画手段により描画される仮想オブジェクトの点群データを用いて第２の点群データを生成する第２の点群データ生成手段と、上記第１の点群データ及び上記第２の点群データの比較結果に基づいて不整合を検出する不整合検出手段と、を備えることを特徴とする。
【００１７】
また、本発明において好ましくは、上記撮影部は、実空間をステレオ画像として取得するものであり、第１の点群データ生成手段は、上記ステレオ画像として取得された２つの実空間画像からそれぞれ生成された上記表示部を通してユーザが視認する各実空間画像に上記描画手段により描画される仮想オブジェクトをそれぞれ重畳表示することで得られる各合成画像から、上記第１の点群データを生成する。
【００１８】
また、本発明において好ましくは、上記第１の点群データ生成手段は、上記撮影された実空間画像を、上記表示部と上記撮像部の位置関係に基づいて射影変換することにより上記表示部を通してユーザが視認する実空間画像を生成する。
【００１９】
また、本発明において好ましくは、上記不整合検出手段は、上記第１の点群データ及び上記第２の点群データの差が所定量を超えた場合に不整合を検出する。
【００２０】
また、本発明において好ましくは、上記不整合検出手段は、上記ユーザ環境に基づいて描画される仮想オブジェクトを含む所定の３次元空間領域において上記第１の点群データ及び上記第２の点群データの差が所定量を超えた場合に不整合を検出する。
【００２１】
また、上記の目的を達成するために、本発明の一態様としての複合現実システムは、サーバと、ユーザに対して仮想オブジェクトを表示するための透過型の表示部及び実空間を撮影する撮影部を有する携帯可能な表示装置とを備え、所定の実空間内において仮想オブジェクトを上記表示部に描画することで上記表示部を通して実空間に対して仮想オブジェクトを重畳してユーザに視認させる複合現実システムであって、予め取得された上記所定の実空間内にある実オブジェクトの点群データであって、それぞれが３次元位置情報を有する点群データを含む３次元空間データを記憶する３次元空間データ記憶手段と、上記表示装置が備えるセンサから取得されたデータ及び上記３次元空間データに基づいて上記表示装置の位置及び上記表示部を通してユーザが視認する視界領域を含むユーザ環境を決定するユーザ環境決定手段と、上記ユーザ環境に基づいて上記表示部に仮想オブジェクトを描画する描画手段と、上記撮影された実空間画像から生成された上記表示部を通してユーザが視認する実空間画像に上記描画手段により描画される仮想オブジェクトを重畳表示することで得られる合成画像から、実オブジェクト及び仮想オブジェクトの点群データである第１の点群データを生成する第１の点群データ生成手段と、上記ユーザ環境決定手段により決定された上記視界領域における上記３次元空間データ記憶手段により記憶された点群データ及び上記描画手段により描画される仮想オブジェクトの点群データを用いて第２の点群データを生成する第２の点群データ生成手段と、上記第１の点群データ及び上記第２の点群データの比較結果に基づいて不整合を検出する不整合検出手段と、の各手段を上記サーバ又は上記表示装置が備えることを特徴とする。
【００２２】
また、上記の目的を達成するために、本発明の一態様としてのプログラムは、ユーザに対して仮想オブジェクトを表示するための透過型の表示部及び実空間を撮影する撮影部を有する携帯可能な表示装置を備え、所定の実空間内において仮想オブジェクトを上記表示部に描画することで上記表示部を通して実空間に対して仮想オブジェクトを重畳してユーザに視認させる複合現実システムにおいて不整合を検出するためのプログラムであって、上記複合現実システムは、予め取得された上記所定の実空間内にある実オブジェクトの点群データであって、それぞれが３次元位置情報を有する点群データを含む３次元空間データを記憶する３次元空間データ記憶手段と、上記表示装置が備えるセンサから取得されたデータ及び上記３次元空間データに基づいて上記表示装置の位置及び上記表示部を通してユーザが視認する視界領域を含むユーザ環境を決定するユーザ環境決定手段と、上記ユーザ環境に基づいて上記表示部に仮想オブジェクトを描画する描画手段と、を備えるものであり、上記プログラムは、上記表示装置に、上記撮影された実空間画像から生成された上記表示部を通してユーザが視認する実空間画像に上記描画手段により描画される仮想オブジェクトを重畳表示することで得られる合成画像から、実オブジェクト及び仮想オブジェクトの点群データである第１の点群データを生成するステップと、上記ユーザ環境決定手段により決定された上記視界領域における上記３次元空間データ記憶手段により記憶された点群データ及び上記描画手段により描画される仮想オブジェクトの点群データを用いて第２の点群データを生成するステップと、上記第１の点群データ及び上記第２の点群データの比較結果に基づいて不整合を検出するステップと、を実行させることを特徴とする。
【００２３】
また、上記の目的を達成するために、本発明の一態様としての不整合検出方法は、ユーザに対して仮想オブジェクトを表示するための透過型の表示部及び実空間を撮影する撮影部を有する携帯可能な表示装置を備え、所定の実空間内において仮想オブジェクトを上記表示部に描画することで上記表示部を通して実空間に対して仮想オブジェクトを重畳してユーザに視認させる複合現実システムにおける不整合検出方法であって、上記複合現実システムは、予め取得された上記所定の実空間内にある実オブジェクトの点群データであって、それぞれが３次元位置情報を有する点群データを含む３次元空間データを記憶する３次元空間データ記憶手段と、上記表示装置が備えるセンサから取得されたデータ及び上記３次元空間データに基づいて上記表示装置の位置及び上記表示部を通してユーザが視認する視界領域を含むユーザ環境を決定するユーザ環境決定手段と、上記ユーザ環境に基づいて上記表示部に仮想オブジェクトを描画する描画手段と、を備えるものであり、上記撮影された実空間画像から生成された上記表示部を通してユーザが視認する実空間画像に上記描画手段により描画される仮想オブジェクトを重畳表示することで得られる合成画像から、実オブジェクト及び仮想オブジェクトの点群データである第１の点群データを生成するステップと、上記ユーザ環境決定手段により決定された上記視界領域における上記３次元空間データ記憶手段により記憶された点群データ及び上記描画手段により描画される仮想オブジェクトの点群データを用いて第２の点群データを生成するステップと、上記第１の点群データ及び上記第２の点群データの比較結果に基づいて不整合を検出するステップと、を有することを特徴とする。
【発明の効果】
【００２４】
本発明によれば、光学シースルー型ＨＭＤを用いた複合現実システムにおいて、仮想空間の物体と、実空間の物体との幾何学的整合性に矛盾が発生したときに不整合を検出することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施形態によるＭＲシステムの全体構成図である。
【図２】本発明の一実施形態によるポジショントラッキングの概要を示す図である。
【図３】本発明の一実施形態によるＭＲシステムにおいて現実世界の壁に仮想世界のキャラクタがもたれかかる状況を示す図である。
【図４】本発明の一実施形態によるＭＲシステムにおいて現実世界の壁に仮想世界のキャラクタがもたれかかる状況を示す図である。
【図５】本発明の一実施形態によるサーバのハードウェア構成を示すブロック図である。
【図６】本発明の一実施形態による表示装置のハードウェア構成を示すブロック図である。
【図７】本発明の一実施形態によるＨＭＤの概略構成図の一実施例である。
【図８】本発明の一実施形態による実空間の概観図である。
【図９】図８の実空間を上から見た平面図である。
【図１０】図８の実空間において取得された点群データにより表現された３次元空間データである。
【図１１】図１０の点群データから作成されたボクセルにより表現された３次元空間データである。
【図１２】本発明の一実施形態によるＭＲシステムの機能ブロック図である。
【図１３】本発明の一実施形態による第１の点群データ及び第２の点群データの生成を説明する概略図である。
【図１４】本発明の一実施形態による第１の点群データ及び第２の点群データの生成を説明する概略図である。
【図１５】本発明の一実施形態による不整合検出システムの機能ブロック図である。
【図１６】本発明の一実施形態による、ＭＲシステムにおける不整合を検出する情報処理を示すフローチャートである。
【図１７】本発明の一実施形態による実空間の概観図である。
【発明を実施するための形態】
【００２６】
以下、図面を参照して、ユーザに対して仮想空間と現実空間とを融合した複合現実空間を提供する複合現実（ＭＲ）システム、及び当該ＭＲシステムにおける不整合検出システムについて説明する。なお各図において同一の符号は、特に言及が無い限り同一又は相当部分を示すものとする。
【００２７】
本発明の実施形態によるＭＲシステムの技術的特徴の１つは、当該ＭＲシステムは予め定められた実空間（所定の実空間）において実現するものであり、実空間と極めて高い精度で一致する構造及び色彩を有する高精度の３次元仮想空間を生成することである。これにより、ユーザの高精度なポジショントラッキングを実現することが可能となる。
【００２８】
図２は、ユーザがいる現実世界２１と、３次元空間データ（ＤＢ）により構築される仮想世界２２と、これらをマッチングして生成されたＭＲシステムにおける複合現実世界（ＭＲ環境）２３とを示す。ＭＲ環境２３において、一般的にユーザはＨＭＤ等の表示部を有する装置を装着する。ＨＭＤには各種センサ機器が搭載されているが、現実世界２１の構造を高精度に認識してそれを仮想空間２２に反映するＭＲ環境２３を実現するためには、従来使用されるセンサの計測精度では十分ではない。
【００２９】
そこで、本実施形態のＭＲシステムは、従来使用される各種センサから得られる大まかな位置情報と高精度の仮想空間２２とのマッチングを行い、実空間２１と仮想空間２２におけるユーザの位置やユーザの向いている方向のずれをリアルタイムに補正する。従来使用される各種センサは、例えば、距離センサ、画像センサ、方向センサ、ＧＰＳセンサ、Ｂｌｕｅｔｏｏｔｈ（登録商標）ビーコンなどである。これにより、現実と高精度にリンクするＭＲ環境２３を実現し、ユーザのポジショントラッキングを実現する。このようなＭＲ環境２３においては、仮想世界２２の台２６の上にキャラクタ２４を立たせる場合、ユーザは現実世界２１の台２５の上に違和感なくキャラクタ２４が立っていることを視認することができる。なお台２６は、ＭＲ環境２３において仮想オブジェクトとして表示されるものではない。
【００３０】
前述のとおり、本実施形態のＭＲシステムにおいては、仮想オブジェクトを表示するときの実オブジェクト（建物、ベンチなど）との幾何学的整合性（衝突関係、前後関係、オクルージョンなど）は、仮想オブジェクトにリアリティを与えるうえで、極めて重要である。例えば、図３及び図４は、現実世界２１の壁に仮想世界２２のキャラクタ２４がもたれかかる状況を示すものである。図３においては、仮想的なキャラクタ（仮想オブジェクト）２４の腕が過剰に壁（実オブジェクト）２７に埋没しており、図４においては、仮想的なキャラクタ２４の一部が不必要に削れてしまっている。このような表示は、リアリティを著しく損なうため防止する必要がある。しかしながら、上記のポジショントラッキングに使用される自己位置推定技術は、３次元空間の認識エラーを自己検出することはできない。
【００３１】
本発明の実施形態による不整合検出システムは、例えば図３及び図４のように、仮想オブジェクトと、実オブジェクトとの幾何学的整合性に矛盾が発生したときに不整合を検出するものである。以下に具体的な構成を説明するが、説明の便宜上、最初に不整合検出システムを包含するＭＲシステムについて説明する。
【００３２】
図１は、本発明の実施形態によるＭＲシステム１０の全体構成図の一例である。図１に示すように、ＭＲシステム１０は、サーバ１００と、１又は複数の表示装置２００と、１又は複数の画像取得装置３００とを含む。サーバ１００、表示装置２００、及び画像取得装置３００は、インターネットなどのネットワーク５０に接続され、互いに通信可能である。なお、画像取得装置３００は、ＭＲシステム１０において、実オブジェクトの陰影と、仮想オブジェクトとが違和感なく表示される光学的整合性をリアルタイムに維持するために必要な装置である。そのため、本発明の実施形態によるＭＲシステム１０は、画像取得装置３００を含まなくてもよい。
【００３３】
ＭＲシステム１０は、サーバ‐クライアントシステムを想定しており、好ましくは、表示装置２００と画像取得装置３００は、サーバ１００とのみ通信を行う。ただし、ＰｔｏＰのようなサーバのないシステムで構成することもできる。
【００３４】
ＭＲシステム１０は、所定の実空間内にいるユーザに対して、複合現実感を体感させることができるものである。所定の実空間は、予め定められた屋内又は屋外の実空間であり、該空間内には、現実世界におけるオブジェクトである実オブジェクトが存在する。実オブジェクトは、例えば建物、ベンチ、壁などの構造物であり、実空間内に固定されたものである。ただし、移動可能な物を実オブジェクトに含めてもよい。
【００３５】
図５は本発明の実施形態によるサーバ１００のハードウェア構成を示すブロック図である。サーバ１００は、処理部１０１、表示部１０２、入力部１０３、記憶部１０４及び通信部１０５を備える。これらの各構成部はバス１１０によって接続されるが、それぞれが必要に応じて個別に接続される形態であってもかまわない。
【００３６】
処理部１０１は、サーバ１００が備える各部を制御するプロセッサ（例えばＣＰＵ）を備えており、記憶部１０４をワーク領域として各種処理を行う。サーバ１００が仮想オブジェクトを描画する場合、処理部１０１は、ＣＰＵとは別に、描画処理を行うＧＰＵを備えるのが好ましい。
【００３７】
表示部１０２はサーバ使用者に情報を表示するものであり、入力部１０３は、サーバ１００に対するユーザからの入力を受け付けるものであり、例えば、タッチパネル、タッチパッド、キーボード、又はマウスである。
【００３８】
記憶部１０４は、ハードディスク、メインメモリ、及びバッファメモリを含む。ハードディスクにはプログラムが記憶される。ただしハードディスクは、情報を格納できるものであればいかなる不揮発性ストレージ又は不揮発性メモリであってもよく、着脱可能なものであっても構わない。記憶部１０４には、プログラムや当該プログラムの実行に伴って参照され得る各種データが記憶される。処理部１０１がＧＰＵを備える場合、記憶部１０４はビデオメモリを含むことができる。
【００３９】
記憶部１０４は各種データベース用のデータ（例えばテーブル）やプログラムを記憶することができる。処理部１０１の動作などにより、各種データベースは実現される。例えば、サーバ１００は、データベースサーバ機能を備えることもできるし、データベースサーバを含むこともできるし、又は他のサーバを含む若しくは備えることもできる。１つの例では、サーバ１００は、仮想空間を構築する３次元空間データについてのデータベースを備え、記憶部１０４は、当該データベース用のデータ及びプログラムを記憶する。
【００４０】
通信部１０５はイーサネット（登録商標）ケーブル等を用いた有線通信や移動体通信、無線ＬＡＮ等の無線通信を行い、ネットワーク５０へ接続する。
【００４１】
サーバ１００は、プログラムが実行されることによって様々な機能が実現されるが、これらの機能の一部は電子回路等を構成することによっても実現できる。
【００４２】
１つの例では、サーバ１００は、機能やエリアごとに設置された複数のサーバを組み合わせて構成される。例えば、所定の実空間を複数のエリアに分割し、各エリアに１台のサーバを設置するとともに、それらのサーバを統合するサーバを設置する構成とすることもできる。
【００４３】
１つの例では、サーバ１００が仮想オブジェクトを描画する場合、ＣＰＵはメインメモリに描画コマンドを書き込み、ＧＰＵは描画コマンドを参照してビデオメモリ上のフレームバッファに描画データを書き込む。その後、フレームバッファから読み取ったデータをそのまま表示装置２００に送信する。
【００４４】
図６は本発明の実施形態による表示装置２００のハードウェア構成を示すブロック図である。表示装置２００は、処理部２０１と、表示部２０２と、撮影部２０３と、記憶部２０４と、通信部２０５と、センサ２０６とを備える。これらの各構成部はバス２１０によって接続されるが、それぞれが必要に応じて個別に接続される形態であってもかまわない。
【００４５】
表示装置２００は、ユーザが携帯可能なものであり、好ましくは、頭部に装着可能な頭部搭載型画像表示装置（ＨＭＤ）である。以下、本発明の実施形態においては、表示装置２００としてＨＭＤ２００を用いるものとする。
【００４６】
処理部２０１は、ＨＭＤ２００が備える各部を制御するプロセッサ（例えばＣＰＵ）を備えており、記憶部２０４をワーク領域として各種処理を行う。１つの例では、ＨＭＤ２００はサーバ１００から描画コマンドを受信し、描画処理を行う。この場合、処理部２０１は、ＣＰＵとは別に、描画処理を行うＧＰＵを備える。
【００４７】
記憶部２０４は、ハードディスク、メインメモリ、及びバッファメモリを含む。ハードディスクにはプログラムが記憶される。ただしハードディスクは、情報を格納できるものであればいかなる不揮発性ストレージ又は不揮発性メモリであってもよく、着脱可能なものであっても構わない。記憶部２０４には、プログラムや当該プログラムの実行に伴って参照され得る各種データが記憶される。処理部２０１がＧＰＵを備える場合、記憶部２０４はビデオメモリを含むことができる。更に記憶部２０４は各種データベース用のデータやプログラムを記憶することができ、この場合、処理部２０１の動作などにより各種データベースは実現される。
【００４８】
表示部２０２は、ユーザに対して仮想オブジェクトを表示可能な透過型ディスプレイである。すなわち本発明の実施形態において、ＨＭＤ２００は光学シースルー型ＨＭＤである。ＨＭＤ２００は、ＨＭＤ２００を装着するユーザに対して表示部２０２を通して実空間を視認させるとともに、仮想オブジェクトを表示部２０２に描画する場合、表示部２０２を通して実空間に対して仮想オブジェクトを重畳してユーザに視認させることができる。
【００４９】
本発明の実施形態において、ＭＲシステム１０は、描画する仮想オブジェクトを生成する際に、ユーザの右目に視認させるための右目用画像と、ユーザの左目に視認させるための左目用画像とを生成する。したがって、表示部２０２は、右目用画像を表示する右目用透過型ディスプレイと、左目用画像を表示する左目用透過型ディスプレイとを含む。或いは、表示部２０２は、１つの透過型ディスプレイを備え、当該ディスプレイの表示領域は、右目用画像表示領域及び左目用画像表示領域を含んで構成されてもよい。
【００５０】
撮影部２０３は、実空間を撮影するステレオカメラを備え、実空間をステレオ画像として取得する。撮影部２０３は、撮影した各フレームの画像（現実世界の画像）を記憶部２０４に格納する。１つの例では、撮影部２０３は、ユーザの右目が視認する実空間を撮影するための右目用カメラと、ユーザの左目が視認する実空間を撮影するための左目用カメラとを含んで構成される。ただし、撮影部２０３は単眼カメラを備え、既知の手法を用いて、実空間をステレオ画像として取得するように構成されてもよい。
【００５１】
図７は、ＨＭＤ２００の一実施例による概略構成図である。図７に示すように、ＨＭＤ２００は、右目用画像を表示する右目用透過型ディスプレイ２０２ａ及び左目用画像を表示する左目用透過型ディスプレイ２０２ｂを有する表示部２０２を備える。またＨＭＤ２００は、右目用透過型ディスプレイ２０２ｂの近傍に設置される右目用カメラ２０３ａ及び左目用透過型ディスプレイの近傍に設置される左目用カメラ２０３ｂを有する撮影部２０３を備える。
【００５２】
右目用透過型ディスプレイ２０２ａは、右目用の透過型ディスプレイであり、ＭＲシステム１０が生成する右目用画像を表示することができる。透過型ディスプレイの場合、画像を表示していない領域は、現実世界の像がそのまま目に映るため、結果として、仮想世界の画像（仮想オブジェクト）と現実世界の像（実オブジェクト）とが光学的に合成されることになる。左目用透過型ディスプレイ２０３についても同様である。
【００５３】
右目用カメラ２０３ａは、右目用透過型ディスプレイ２０２ａを透過して閲覧される現実世界の像を撮影するためのカメラである。後述するように、本発明の実施形態においては、ＭＲシステム１０は、右目用カメラ２０３ａで撮影した画像から右目用透過型ディスプレイ２０２ａを通してユーザが視認する実空間画像（肉眼視野画像）を生成する。したがって、右目用カメラ２０３ａの画角、視野範囲等の内部パラメータは、右目用透過型ディスプレイ２０２ａが表示する空間とキャリブレーション済となっている必要がある。具体的には、右目用カメラ２０３ａから得られる画像に、内部パラメータから算出された射影行列を適用することにより、右目用透過型ディスプレイ２０３ａを通してユーザが視認する（閲覧する）画像を得ることができる。左目用カメラ２０３ｂについても同様である。
【００５４】
センサ２０６は、自己位置推定技術を利用するために必要な各種センサである。１つの例では、センサ２０６は、加速度センサと、ジャイロセンサと、赤外線デプスセンサと、カメラとを含む。赤外線デプスセンサは、赤外線投影によるデプスセンサであるが、ＲＧＢ−Ｄカメラにより同機能が実現されてもよい。カメラは、撮影部２０３が備えるステレオカメラとは異なるカメラ（単眼カメラ等）であるが、撮影部２０３が備えるステレオカメラをセンサ２０６として含むこともできる。またセンサ２０６は、ＧＰＳセンサ、Ｂｌｕｅｔｏｏｔｈ（登録商標）ビーコン、Ｗｉｆｉなど従来使用される他の各種センサを含むことができる。他の例では、画像取得装置３００をセンサ２０６として含むこともできる。
【００５５】
通信部２０５は移動体通信、無線ＬＡＮ等の無線通信を行い、ネットワーク５０へ接続する。１つの例では、通信部２０５は、サーバ１００から３次元空間データを受信する。１つの例では、通信部２０５は、撮影部２０３が撮影した画像データを、ネットワーク５０を介してサーバ１００に送信する。
【００５６】
画像取得装置３００は、実空間の映像（画像）を取得し、取得された画像データを、ネットワーク５０を介してサーバ１００や表示装置２００に送信する。また画像取得装置３００は、所定の実空間を取り囲み、所定の実空間内にいるユーザが視認可能な領域を撮影可能な定点に固定して設置される。１つの例では、画像取得装置３００は、定点に設置される固定カメラである。また１つの例では、画像取得装置３００は１秒間に３０コマの画像を取得し、サーバ１００に送信する。
【００５７】
ここで本発明の実施形態によるＭＲシステム１０が複合現実空間３３をユーザに提供する現実世界の空間（所定の実空間）として、図８に示すような壁３６に覆われた屋内の空間である実空間３１を想定する。図８は実空間３１の概観図、図９は実空間３１を上から見た平面図である。実空間３１内には、現実世界の光源３４及び現実世界の実オブジェクトである建物３５が存在する。図８に示すように、実空間３１においては、観測対象となる空間、すなわち実空間３１内にいるユーザが視認可能な空間を撮影できるように、複数の画像取得装置３００が設置される。ただし、本発明の実施形態においては、画像取得装置３００は設置されなくてもよい。
【００５８】
図１０は、実空間３１において取得された点群データの例を示す。本発明の実施形態においては、例えば高精度な３Ｄレーザスキャナ（図示せず）を用いることにより、実空間３１内の実オブジェクトの３次元形状を示す点群データを予め取得する。なお、画像取得装置３００が設置される場合、点群データの取得は、実空間３１内に画像取得装置３００が設置された後に行われるのが好適である。
【００５９】
図１０に示すように、点群データのそれぞれは、３次元座標（ｘ、ｙ、ｚ）を有し、実空間３１に対応付けられた仮想空間３２内に配置される。また点群データのそれぞれは、色情報を有する色付き点群データである。色付き点群データは、レーザスキャナが備えるカメラを用いて点群データ取得とは別に撮影された画像から求めた色情報を、撮影時のカメラの位置や姿勢に応じて点群の各座標点（ｘ、ｙ、ｚ）にマッピングすることにより、作成される。
【００６０】
このように実空間３１に対応付けされた仮想空間３２において実オブジェクトの３次元形状を表すものとして、点群データを基本単位（基本構成要素）として用いることができる。本明細書においては、この基本単位を３次元形状要素と表現する。
【００６１】
本発明の実施形態では、説明を簡単にするため、取得された点群データを、例えばＯｃｔｏＭａｐ（"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.）等の既知の手法を用いて、ボクセルと呼ばれるデータ構造へ変換する。ボクセルは、２次元空間のピクセルに対応する３次元空間の単位構成要素であり、３次元空間上の座標を用いて識別される一定の大きさを持つ立方体である。
【００６２】
以下、本発明の実施形態においては、実空間３１に対応付けされた仮想空間３２において実オブジェクトの３次元形状を表す基本単位をボクセルとする。つまり、ボクセルが３次元形状要素である。図１１は、図１０の点群データから作成されたボクセルを示す。ＭＲシステム１０は、３次元空間データとして点群データ及びボクセルデータを記憶部１０４又は２０４に記憶する。ただし、３次元形状要素としてメッシュ（３Ｄメッシュ）を用いることもできる。この場合、ＭＲシステム１０は、３次元空間データとして点群データ及び３Ｄメッシュデータを記憶部１０４又は２０４に記憶する。点群データそのものを３次元形状要素として用いることもできる。この場合、ＭＲシステムは、３次元空間データとして点群データを記憶する。
【００６３】
１つの例では、実空間を１ｃｍ3のボクセル枠に分割し、ボクセル空間（ボクセルにより表現された３次元空間）を設定する。１つのボクセルＶは、位置情報ｘ、ｙ、ｚに加え、画像取得装置３００から見たときの１又は複数の色情報ｃを持つ。
2018106262.tif 000003
色情報ｃは、ＲＧＢやＨＳＶ等のフォーマットで表現される。例えばＨＳＶのフォーマットで表現される場合、色情報は、色相、彩度、及び明度を有する。
【００６４】
本発明の実施形態においては、仮想空間３２を実空間３１内に対応付けされた領域（０≦Ｘ≦Ｘ１、０≦Ｙ≦Ｙ１、０≦Ｚ≦Ｚ１）に限定して考えるものとする。ただし、仮想空間３２をより小さい領域に設定して、複数の仮想空間をそれぞれ実空間３１と対応付けることもできるし、仮想空間３２をより大きい領域に設定することもできる。仮想空間３２をより小さい領域に設定する場合、それぞれの仮想空間３２に対応する実空間３１内において、ユーザが視認可能な領域を撮影可能な複数の定点にそれぞれ画像取得装置３００を設置することができる。
【００６５】
１つの例では、実空間３１が広域の空間である場合、仮想空間３２を複数のエリアごとに設定し、サーバ１００も複数のエリアごとに設置するのが好適である。例えば、サーバ１００の記憶部１０４がボクセルデータを記憶する場合、式（１）の１つのボクセルＶは、1 voxel = (int16 x, int16 y, int16 z, int32 rgb)とすると、10 byteとなる。例えば実空間を10mm3のボクセルの集合としてモデル化する。テーマパークのように広域の空間を高精度ボクセル空間に変換する場合は、このテーマパーク領域を、10m＝10,000mmのグリッドに分割すると、１グリッドは1,000m3なので、約10億voxelとなる。これを、高さ５ｍまでの空間に縮退させると、約5億voxelとなる。すなわち、5億voxelをそのままナイーブにメモリ上に確保しても、5GByteで格納できるため、グリッドごとにサーバ１００を割り当て、オンメモリ化することは容易である。
【００６６】
図１２は本発明の実施形態によるＭＲシステム１０の機能ブロック図を示す。ＭＲシステム１０は、記憶手段１１と、ユーザ環境決定手段１２と、描画手段１３と、第１の点群データ生成手段１４と、第２の点群データ生成手段１５と、不整合検出手段１６とを備える。
【００６７】
これらの機能は、プログラムをサーバ１００に実行させることで実現されるか、プログラムをＨＭＤ２００に実行させることで実現されるか、又はプログラムをサーバ１００に実行させ、かつプログラムをＨＭＤ２００に実行させることで実現される。このように各種機能がプログラム読み込みにより実現されるため、１つの手段の一部の機能を他の手段が有していてもよい。このように、サーバ１００及びＨＭＤ２００の少なくとも一方が図１２に示す各種機能を備えることにより、ＭＲシステム１０は実現される。
【００６８】
記憶手段１１は、サーバ１００及びＨＭＤ２００の双方が備え、プログラムやデータ等を記憶部１０４又は２０４に記憶する機能を有する。１つの例では、サーバ１００が備える記憶手段１１は、仮想空間３２に配置される仮想オブジェクトの位置や動きに関するデータや仮想オブジェクトの３次元データを記憶部１０４へ記憶する。１つの例では、ＨＭＤ２００が備える記憶手段１１は、仮想オブジェクトを描画するために、サーバ１００から受信する描画コマンドを一時的に記憶部２０４へ記憶する。他の例では、記憶手段１１は、各種データベースへのデータ入出力を行う。
【００６９】
サーバ１００が備える記憶手段１１は、３次元空間データを記憶部１０４へ記憶する３次元空間データ記憶手段を含む。前述のとおり、３次元空間データは点群データ及びボクセルデータを含む。ここで点群データは、予め取得された実空間３１に対応付けされた仮想空間３２において実オブジェクトの３次元形状を示すものであり、ボクセルデータは、点群データから既知の手法を用いて変換されるものである。
【００７０】
なお点群データは色付き点群データであるため、作成されるボクセルは色付きボクセルとなる。またそれぞれのボクセルは、３次元位置情報を有する。例えば、仮想空間３２に設定された３次元座標の原点から最も近い立方体の頂点の３次元座標（ｘ、ｙ、ｚ）を３次元位置情報として有する。
【００７１】
１つの例では、サーバ１００はデータベースサーバ機能を有し、３次元位置情報に関する照会に応じて、サーバ１００は記憶された３次元空間データを適宜出力する。ＨＭＤ２００が備える記憶手段１１が、３次元空間データを記憶部２０４へ記憶する３次元空間データ記憶手段を含むこともできる。
【００７２】
ユーザ環境決定手段１２は、センサ２０６から取得されたデータ及び３次元空間データに基づいて、ＨＭＤ２００の位置及び表示部２０２を通してユーザが視認する視界領域（ユーザ視界領域）を含むユーザ環境を決定する。ユーザ環境決定手段１２により、ユーザの高精度なポジショントラッキングを実現する。
【００７３】
ユーザ環境決定手段１２は、好ましくは、自己位置推定技術を利用する。１つの例では、ユーザ環境決定手段１２は、（１）初期位置合わせと、（２）相対的な移動量計算と、を実行することにより、ＨＭＤ２００の位置及びユーザ視界領域を決定する。
【００７４】
（１）初期位置合わせとして、ユーザ環境決定手段１２は、センサ２０６から取得されるデータと、予め取得された３次元空間データとを用いて、実空間３１と仮想空間３２を対応付けて照合する。これにより、初期位置としてのＨＭＤ２００の位置及びユーザ視界領域を決定する。
【００７５】
１つの例では、ユーザ環境決定手段１２は、以下のとおり初期位置合わせを行う。ユーザ環境決定手段１２は、カメラにより画像データを取得し、デプスセンサにより形状データを取得し、ユーザ視界領域においてユーザが視認可能な実オブジェクトの形状を決定する。一方、ユーザ環境決定手段１２は、ＧＰＳセンサ、Ｂｌｕｅｔｏｏｔｈ（登録商標）ビーコン、Ｗｉｆｉなどを用いて大まかなユーザ環境である暫定ユーザ環境を決定する。暫定ユーザ環境を決定した後、当該暫定ユーザ環境から所定範囲の位置及び方向においてユーザが視認可能なボクセルの位置情報及び色情報などの３次元空間データを記憶部１０４又は記憶部２０４から取得する。
【００７６】
ユーザ環境決定手段１２は、画像データや形状データから決定されたユーザ視界領域における実オブジェクトの形状と、暫定ユーザ環境に基づいて取得されたボクセルの位置情報及び色情報から導き出される実オブジェクトの形状とを比較して照合することにより、ＨＭＤ２００の位置及びユーザ視界領域を決定する。
【００７７】
（２）相対的な移動量計算として、ユーザ環境決定手段１２は、センサ２０６から取得されるデータを用いて、上記のとおり決定された初期位置からの実空間３１における相対的な移動量を計算することにより、ＨＭＤ２００の位置及びユーザ視界領域を決定する。１つの例では、ユーザ環境決定手段１２は、ジャイロセンサや加速度センサ等から取得されるデータを用いて、６軸の相対的な移動量（例えば６ＤＯＦ座標）を計算する。このとき、ユーザ環境決定手段１２は、カメラから取得された画像データの変化量も用いることができる。また１つの例では、ユーザ環境決定手段１２は、ＳＬＡＭ技術を利用して、６軸の相対的な移動量を計算する。
【００７８】
このように、初期位置合わせの後は相対的な移動量を計算するようにユーザ環境決定手段１２を構成することにより、システム全体の情報処理量を低減しつつ、精度よくユーザ環境を決定することが可能となる。
【００７９】
描画手段１３は、ユーザ環境決定手段１２により決定されたユーザ環境に対応する仮想オブジェクトをＨＭＤ２００の表示部２０２に描画する。描画手段１３は、ユーザの右目に視認させるための右目用画像（仮想オブジェクト）と、ユーザの左目に視認させるための左目用画像（仮想オブジェクト）とを生成し、描画する。
【００８０】
１つの例では、サーバ１００が備えるＣＰＵがメインメモリに描画コマンドを書き込んでＨＭＤ２００へ送信する。ＨＭＤ２００が備えるＧＰＵは、受信した描画コマンドを参照してビデオメモリ上のフレームバッファ等に描画データを書き込み、フレームバッファから読み取った内容をそのまま表示部２０２に描画する（レンダリングする）。描画コマンドを作成するにあたって、描画手段１３は、ユーザ環境決定手段１２により決定されたＨＭＤ２００の位置及びユーザ視界領域を用いて、表示部２０２上に表示される仮想オブジェクトの位置や向きを決定する。
【００８１】
このように、描画手段１３は、サーバ１００とＨＭＤ２００が分担して実行することにより実現されるが、描画手段１３は、ＨＭＤ２００において描画処理すべてを実行することで実現されてもよい。或いは、描画手段１３は、サーバ１００において描画処理すべてを実行した後、画像データをＨＭＤ２００へ送信し、ＨＭＤ２００が受信した画像データを表示することで実現されてもよい。
【００８２】
第１の点群データ生成手段１４は、表示部２０２を通してユーザが視認する実空間画像に描画手段１３により描画される仮想オブジェクトを重畳表示することで得られる合成画像から、実オブジェクト及び仮想オブジェクトの点群データを生成する。本明細書においては当該点群データを第１の点群データと呼ぶが、第１の点群データは、仮想オブジェクトが重畳表示される実空間画像を用いた実際のレンダリング結果から得られる点群であるため、アクチュアル・ポイントクラウドと呼ぶこともできる。
【００８３】
ここで、通常は表示部２０２と撮影部２０３は同じ場所に位置しないため、撮影部２０３が撮影する実空間画像は、表示部２０２を通してユーザが視認する実空間画像、すなわち肉眼視野画像、ではない。第１の点群データ生成手段１４は、撮影部２０３により撮影された実空間画像に対して、内部パラメータから算出された射影行列を適用して射影変換することにより、肉眼視野画像を生成する。内部パラメータは、対象の撮影部２０３及び表示部２０２の位置関係から算出されたカメラの画角や視野範囲等のパラメータである。
【００８４】
例えば、図７に示すＨＭＤ２００において、右目用カメラ２０３ａは、右目用透過型ディスプレイ２０２ａを通してユーザの右目に視認させる実空間の像を取得するためのカメラである。第１の点群データ生成手段１４は、右目用カメラ２０３ａから得られた画像に対して、内部パラメータから算出された射影行列を適用して射影変換することにより、右目用透過型ディスプレイ２０２ａを通してユーザの右目に視認させる実空間画像（右目用肉眼視野画像）を生成する。内部パラメータは、右目用カメラ２０３ａと右目用透過型ディスプレイ２０２ａの位置関係から算出されたカメラの画角や視野範囲等のパラメータである。左目用透過型ディスプレイ２０２ｂ及び左目用カメラ２０３ｂについても、右目用透過型ディスプレイ２０２ａ及び右目用カメラ２０３ａと同様である。
【００８５】
また表示部２０２を通してユーザが視認する実空間画像（肉眼視野画像）は、撮影部２０３により撮影されたステレオ画像である。第１の点群データ生成手段１４は、ステレオ画像として取得された２つの実空間画像からそれぞれ生成された各肉眼視野画像に描画手段１３により描画される仮想オブジェクトをそれぞれ重畳表示することで得られる各合成画像を用いる。第１の点群データ生成手段１４は、上記のとおり合成した（右目用と左目用の）２つの肉眼視野画像を用いて、ステレオマッチング法により各ピクセルの深度（ｄｅｐｔｈ）を計算し、実オブジェクト及び仮想オブジェクトの点群データを含む第１の点群データを生成する。なおステレオマッチング法においては、右目用カメラと左目用カメラの映像（画像）の視差情報から各ピクセルの深度を計算し、３次元空間上の点群に変換する。点群に変換するときに、色情報をマッピングすることもできる。
【００８６】
第２の点群データ生成手段１５は、ユーザ環境決定手段１２により決定されたＨＭＤ２００の位置及びユーザ視界領域における３次元空間データ記憶手段により記憶された点群データ及び描画手段１３により描画される仮想オブジェクトの点群データを用いて点群データを生成する。本明細書においては当該点群データを第２の点群データと呼ぶが、第２の点群データは、レーザスキャナを用いて予め取得された点群データと、描画手段１３により描画される仮想オブジェクトの点群データとを用いた、仮想空間３２における理想的な点群データであるため、イデアル・ポイントクラウドと呼ぶこともできる。仮想オブジェクトの点群データは、キャラクタなどの動く仮想映像（画像）を描画した後の映像（画像）から生成することができる。或いは、仮想オブジェクトをレンダリングするために用いた点群データを、第２の点群データ生成手段１５が利用することができるように構成することもできる。
【００８７】
好ましくは、第２の点群データ生成手段１５は、描画手段１３により描画される仮想オブジェクトの点群データを、３次元空間データ記憶手段により予め取得されて記憶された点群データに追加することにより第２の点群データを生成する。
【００８８】
上記のとおり、第２の点群データ生成の際に用いるデータは、仮想空間３２上に仮想オブジェクトを重畳させた仮想空間３２におけるデータであるため、第２の点群データにおいては、原理的に幾何学的不整合は発生しない。第２の点群データは、この点において、仮想オブジェクトが重畳表示される実空間３１の画像から生成される第１の点群データと異なる。
【００８９】
図１３及び図１４は、本発明の実施形態による第１の点群データ及び第２の点群データの生成を説明する概略図である。図１３及び図１４は、複合現実空間３３内にいるユーザが、表示部２０２を通して、実オブジェクトである壁３６及び壁３６の前に重畳されて描画された仮想オブジェクト３７を視認する様子を示すとともに、この状態において生成される第１の点群データ及び第２の点群データを示している。
【００９０】
図１３においては、ユーザは、壁３６に接触する仮想オブジェクト３７を視認する。この場合、実空間３１における壁３６（実オブジェクト）と仮想オブジェクト３７との幾何学的整合性がとれた状態にあり、図１３に示すとおり、生成される第１の点群データと第２の点群データは、実質的に同じである。
【００９１】
図１４においては、ユーザは、壁３６に一部埋没した仮想オブジェクト３７を視認する。この場合、実空間３１における壁３６（実オブジェクト）と仮想オブジェクト３７との幾何学的整合性がとれていない状態にあり（整合性に矛盾が発生しており）、図１４に示すとおり、生成される第１の点群データと第２の点群データには差分があることが理解される。
【００９２】
不整合検出手段１６は、上記のような第１の点群データ及び第２の点群データの比較結果に基づいて不整合を検出する。
【００９３】
好ましくは、不整合検出手段１６は、不整合検出の対象の仮想オブジェクトが描画手段１３により描画される前に不整合検出を行う。この場合、第１の点群データ生成手段１４及び第２の点群データ生成手段１５も同様に、不整合検出の対象の仮想オブジェクトが描画手段１３により描画される前に、第１の点群データ及び第２の点群データを生成する。このような構成とすることにより、幾何学的整合性がとれていない仮想オブジェクトを表示部２０２に描画する前に、すなわちユーザに視認させる前に、不整合検出を行うことが可能となる。これにより、ＭＲシステム１０が、幾何学的整合性がとれていない仮想オブジェクトを描画する前に、例えばポジショントラッキングに補正情報を送ることが可能となる。１つの例では、仮想オブジェクトの描画処理を中止したり、当該オブジェクトの描画位置を移動させたりすることにより、リアリティを著しく損なう仮想オブジェクトの表示を防止することができる。ただし、不整合検出の対象の仮想オブジェクトが描画手段１３により描画されたとき又は描画後極めて短時間内に、上記の各手段を実行するように構成することもできる。
【００９４】
１つの例では、不整合検出手段１６は、第１の点群データ及び第２の点群データの差が所定量を超えた場合に不整合を検出する。すなわち不整合検出手段１６は、第１の点群データと第２の点群データの対応する位置において、一方には点データが存在するものの他方には点データが存在しない点データの数量（点群データ差分量）により、不整合の有無を判定し、不整合を検出する。例えば、点群データ差分量は、対応する３次元位置において第１の点群データと第２の点群データが衝突する箇所を消去することにより算出する。この場合、撮影部２０３から得られた画像を用いて生成される第１の点群データは、仮想空間３２上で生成される第２の点群データよりも通常は疎なデータであり、第２の点群データよりも数倍〜１０倍程度少ない点データを有する可能性が高い。したがって、この場合好ましくは、点群データ差分量は、第１の点群データの各点の大きさを第２の点群データの各点の大きさよりも数倍〜１０倍程度大きくした後に、対応する３次元位置における第１の点群データと第２の点群データが衝突する箇所を消去することにより算出する。
【００９５】
１つの例では、不整合検出手段１６は、描画手段１３により描画される仮想オブジェクト３７を含む所定の３次元空間領域において、第１の点群データ及び第２の点群データの差が所定量を超えた場合に不整合を検出する。このような構成とすることにより、ユーザに対して視認させた場合に違和感を与える仮想オブジェクト周辺の不整合のみを検出し、仮想オブジェクト周辺以外の不整合の検出を排除することが可能となる。
【００９６】
このようにして、仮想オブジェクトが重畳表示される実空間３１の画像を用いた実際のレンダリング結果から得られる第１の点群データと、仮想空間３２上で生成された第２の点群データとを比較することにより、例えば差分を求めることにより、不整合を検出することができる。すなわち、「あるべき点群が無い」又は「あってはならない点群が有る」という状況を検出することが可能となる。
【００９７】
第１の点群データ生成手段１４、第２の点群データ生成手段１５、及び不整合検出手段１６は、ＨＭＤ２００が備えるのが好ましい。このような構成とすることにより、ＭＲシステム１０における不整合検出の処理において、ＨＭＤ２００がネットワーク５０を介して画像データを送信すること等が不要となる。これにより、システム全体の情報処理量を低減することが可能となる。
【００９８】
これまで、不整合検出システムを包含するＭＲシステム１０について説明したが、本発明の実施形態による不整合検出システム１は、ＭＲシステム１０とは別のシステムとすることが好ましい。この場合、不整合検出システム１は、サーバ１００と、１又は複数のＨＭＤ２００とを含み、サーバ１００及びＨＭＤ２００は、インターネットなどのネットワーク５０に接続され、互いに通信可能である。不整合検出システム１は、ＭＲシステム１０とは異なるサーバ（ハードウェア）及びネットワークを用いて、実現することもできる。この場合、不整合検出システム１は、ＭＲシステム１０と通信可能に構成される。
【００９９】
図１５は本発明の実施形態による不整合検出システム１の機能ブロック図を示す。不整合検出システム１は、第１の点群データ生成手段１４と、第２の点群データ生成手段１５と、不整合検出手段１６とを備える。第１の点群データ生成手段１４、第２の点群データ生成手段１５、及び不整合検出手段１６は、ＨＭＤ２００が備えるのが好ましい。この場合、これらの機能は、プログラムをＨＭＤ２００に実行させることで実現され、ＨＭＤ２００は必要に応じてサーバ１００から情報を取得する。ただし、プログラムをサーバ１００に実行させることで実現されてもよいし、プログラムをサーバ１００に実行させ、かつプログラムをＨＭＤ２００に実行させることで実現されてもよい。また、このように各種機能がプログラム読み込みにより実現されるため、１つの手段の一部の機能を他の手段が有していてもよい。
【０１００】
前述のとおり、図１６は、本発明の実施形態による、ＭＲシステム１０における不整合を検出する情報処理を示すフローチャートである。本情報処理は、プログラムをサーバ１００に実行させることで実現されるか、プログラムをＨＭＤ２００に実行させることで実現されるか、又はプログラムをサーバ１００に実行させ、かつプログラムをＨＭＤ２００に実行させることで実現される。好ましくは、本情報処理は、プログラムをＨＭＤ２００に実行させることで実現され、ＨＭＤ２００は必要に応じてサーバ１００からデータを取得する。なおユーザは、ＨＭＤ２００を装着し、実空間３１（複合現実環境３３）内にいるものとする。また、ＭＲシステム１０は複合現実空間３３をユーザに提供するのにユーザ環境を逐次把握する必要があるため、ＭＲシステム１０は、定期的に又は必要に応じてユーザ環境を決定している。
【０１０１】
最初に、決定されたユーザ環境において、ＭＲシステム１０が描画する仮想オブジェクトが有るかどうかを判定する（ステップ１６０１）。描画する仮想オブジェクトが無い場合、ＭＲシステム１０がユーザに対して複合現実環境３３を提供し続ける限り（ステップ１６０７）、ステップ１６０１へ戻る。このようにして、描画する仮想オブジェクトが無い場合は不整合検出を行わないように構成することにより、システム全体の情報処理量を低減するとともに消費電力量を低減することができる。ただし、本ステップは省略することもできる。
【０１０２】
描画される仮想オブジェクトが有る場合、ＨＭＤ２００の物理的な移動量又は描画する仮想オブジェクトの移動量が所定の閾値以上であるかどうかを判定する（ステップ１６０２）。ＨＭＤ２００の移動量又は描画する仮想オブジェクトの移動量が所定の閾値以上であった場合、実オブジェクトに対する描画される仮想オブジェクトの幾何学的整合性が失われる可能性が高いため、ステップ１６０３へ進む。一方、ＨＭＤ２００の移動量又は描画する仮想オブジェクトの移動量が所定の閾値未満であった場合、ＭＲシステム１０がユーザに対して複合現実環境３３を提供し続ける限り（ステップ１６０７）、ステップ１６０１へ戻る。このようにして、幾何学的不整合が発生する可能性が低い場合は不整合検出を行わないように構成することにより、システム全体の情報処理量を低減するとともに消費電力量を低減することができる。ただし、本ステップは省略することもできる。
【０１０３】
続いて、ＨＭＤ２００の撮影部２０３から実空間のステレオ画像を取得し、当該ステレオ画像に射影行列を適用することにより仮想的に肉眼視野画像を生成する（ステップ１６０３）。このようにして、撮影部２０３からの画像を用いて、ユーザが視認する映像（画像）を機械的に再現する。
【０１０４】
続いて、ステップ１６０４において、生成された肉眼視野画像に対して描画される仮想オブジェクトを重畳表示することで得られる合成画像から、実オブジェクト及び仮想オブジェクトの点群データである第１の点群データを生成する。第１の点群データの生成と同時に、描画される仮想オブジェクトの点群データに、レーザスキャナを用いて予め取得された実空間３１における点群データを追加することで、仮想空間３２における理想的な点群データである第２の点群データを生成する。
【０１０５】
なお本情報処理において、好ましくは、第１の点群データの生成と第２の点群データの生成を実質的に同時に行うが、直列的にいずれかの処理を先に行ってもよいし、並列的に同時に処理を行ってもよい。第２の点群データの生成処理については、ステップ１６０３の処理より前に、又は処理と同時に開始してもよい。
【０１０６】
続いて、第１の点群データと第２の点群データとの差分を抽出する（ステップ１６０５）。具体的には、対応する３次元位置において、第１の点群データと第２の点群データが衝突する箇所を消去することにより、一方には点データが存在するものの他方には点データが存在しない点データの数量を抽出する。この差分計算により、ユーザの肉眼から見たときに感じられる形状と、ＭＲシステム１０が想定している理想的な形状との差分の有無を認識することが可能となる。
【０１０７】
続いて、抽出された差分を用いて、幾何学的不整合を検出する（ステップ１６０６）。抽出した差分として、イデアル・ポイントクラウドに対応するアクチュアル・ポイントクラウドが存在しない空間、すなわち「あるべき点群がない」空間と、アクチュアル・ポイントクラウドに対応するイデアル・ポイントクラウドが存在しない空間、すなわち「あってはならない点群がある」状況を検出し、幾何学的な不整合として検出する。１つの例では、抽出された差分が所定量を超えた場合に不整合を検出する。他の例では、描画される仮想オブジェクトを含む所定の３次元空間領域において抽出された差分が所定量を超えた場合に不整合を検出する。
【０１０８】
その後、ＭＲシステム１０がユーザに対して複合現実環境３３を提供し続ける限り（ステップ１６０７）、ステップ１６０１へ戻る。
【０１０９】
次に、本発明の実施形態によるＭＲシステム１０及び不整合検出システム１の作用効果について説明する。まず本実施形態では、実空間３１内の実オブジェクトの３次元形状を示す点群データを予め取得し、ＭＲシステム１０は、取得された点群データを、既知の手法を用いて、ボクセルと呼ばれるデータ構造へ変換し、３次元空間データとして点群データ及びボクセルデータを記憶部１０４又は２０４に記憶する。ＭＲシステム１０は、このように予め取得されて記憶された３次元空間データと、ユーザが装着するＨＭＤ２００のセンサ２０６から取得されるデータとに基づいて、実空間３１と仮想空間３２とを対応付ける。これにより、ユーザの高精度なポジショントラッキングを実現することが可能となる。
【０１１０】
本実施形態では、ＨＭＤ２００が備えるカメラから得られる実空間３１のステレオ画像へ仮想空間３２の仮想オブジェクトの画像を重畳させた合成画像から生成できる点群データと、高精度なレーザスキャナを用いて予め取得した実空間３１の点群データへ仮想空間３２の仮想オブジェクトの点群データを追加した点群データとを比較する。このように比較するで、ＨＭＤ２００装着者であるユーザの視点から見たときに、実空間３１の像と、その上に透過型ディスプレイ２０２を通して重畳表示される仮想空間３２の画像との幾何学的整合性の有無を検出する。このような構成とすることにより、実際にユーザが目にする画像上での、仮想オブジェクトと現実世界との矛盾した関係を検出し、従来自己検出することができなかったＭＲシステム１０におけるポジショントラッキングのエラーを検出することが可能となる。これにより、例えば、矛盾のある画像を画面に表示せずに、ポジショントラッキングに補正情報を送ることが可能となる。なお現在の技術水準では、誤差が生じないポジショントラッキングの実現は不可能であるため、ユーザが目にする画像から矛盾を検出し、その結果に応じて位置情報等を補正することが可能となる、本発明の実施形態の技術的意義は大きいといえる。
【０１１１】
また本実施形態では、カメラから得た画像をそのまま利用するのではなく、メモリ内で合成された画像を対象として深度計算を行い、ＭＲシステム１０によるレンダリング結果を検証することができる。これにより、ＭＲシステム１０による「矛盾したレンダリング」、すなわちＭＲシステム１０による幾何学的整合性が取れていない描画処理を、仮想オブジェクトの描画前に又は描画後極めて短時間で検出することが可能となる。
【０１１２】
本発明の他の実施形態によるＭＲシステム１０が複合現実環境３３をユーザに提供する現実世界の空間（所定の実空間）は、図１７に示すような屋外の空間である実空間４１であってもよい。実空間４１は、天井と一対の横壁が無い点、太陽光を含む光源２２が実空間内ではなく実空間外に有する点以外は、実空間３１と同じである。この場合においても、仮想空間４２を実空間４１内に対応付けされた領域（０≦Ｘ≦Ｘ１、０≦Ｙ≦Ｙ１、０≦Ｚ≦Ｚ１）に限定して考えるものとする。
【０１１３】
本発明の他の実施形態では、ボクセルの位置情報と、画像取得装置３００により取得された画像のそれぞれのピクセルの位置情報とを関連付けたテーブルを用いることにより、ボクセルの色情報を画像取得装置３００により取得された画像のピクセルの色情報から決定し、また更新する。このようにテーブルを用いることにより、画像取得装置３００から得られる色情報をボクセルのそれぞれにリアルタイムに反映することが可能となる。これにより、高精度に実空間の形状が再現された複合現実環境において、実空間３１の色彩を、高精度かつリアルタイムに認識し、仮想空間３２に反映することが可能となる。
【０１１４】
この場合、リアルタイムに反映されるボクセルの色情報を、ユーザ環境決定手段１２が用いるボクセルの色情報として用いることができる。
【０１１５】
また本発明の他の実施形態では、上記のとおり実空間３１の色彩を反映させたボクセルのそれぞれを、描画される仮想オブジェクトの仮想的な間接照明（光源）として用いる。これにより、実空間３１の光の状態を利用したグローバルイルミネーションを実現することが可能となり、実空間３１の環境に極めて近い色彩や陰影を持つ仮想オブジェクトを描画することが可能となる。
【０１１６】
また本発明の他の実施形態では、実空間３１においては、実空間３１を仮想空間３２であるかのように利用することが可能となる。例えばゲーム開発者は、現実空間を、ゲームエンジン内のゲーム空間（仮想空間）と同様に取り扱うことが可能になる。
【０１１７】
以上に説明した処理又は動作において、あるステップにおいて、そのステップではまだ利用することができないはずのデータを利用しているなどの処理又は動作上の矛盾が生じない限りにおいて、処理又は動作を自由に変更することができる。また以上に説明してきた各実施例は、本発明を説明するための例示であり、本発明はこれらの実施例に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。
【符号の説明】
【０１１８】
１  不整合検出システム
１０  複合現実（ＭＲ）システム
１１  記憶手段
１７  ユーザ環境取得手段
１８  描画手段
２１  光源
２２  建物
２３  影
２４  キャラクタ（仮想オブジェクト）
２５、２６  台
２７  壁
３１、４１  現実世界（実空間）
３２、４２  仮想世界（仮想空間）
３３、４３  複合現実世界（複合現実環境）
３４  光源
３５  建物
３６  壁
３７  仮想オブジェクト
５０  ネットワーク
１００  サーバ
１０１、２０１  処理部
１０２、２０２  表示部
１０３  入力部
１０４、２０４  記憶部
１０５、２０５  通信部
１１０、２１０  バス
２００  表示装置
２０２ａ  右目用透過型ディスプレイ
２０２ｂ  左目用透過型ディスプレイ
２０３  撮影部
２０３ａ  右目用カメラ
２０３ｂ  左目用カメラ
２０６  センサ
３００  画像取得装置
【図１】
2018106262.tif 000004
【図２】
2018106262.tif 000005
【図３】
2018106262.tif 000006
【図４】
2018106262.tif 000007
【図５】
2018106262.tif 000008
【図６】
2018106262.tif 000009
【図７】
2018106262.tif 000010
【図８】
2018106262.tif 000011
【図９】
2018106262.tif 000012
【図１０】
2018106262.tif 000013
【図１１】
2018106262.tif 000014
【図１２】
2018106262.tif 000015
【図１３】
2018106262.tif 000016
【図１４】
2018106262.tif 000017
【図１５】
2018106262.tif 000018
【図１６】
2018106262.tif 000019
【図１７】
2018106262.tif 000020