(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-13
(45)【発行日】2022-06-21
(54)【発明の名称】情報処理システム及びプログラム
(51)【国際特許分類】
G06T 19/00 20110101AFI20220614BHJP
【FI】
G06T19/00 600
(21)【出願番号】P 2018070418
(22)【出願日】2018-03-30
【審査請求日】2021-02-17
(73)【特許権者】
【識別番号】390031897
【氏名又は名称】東京ガスiネット株式会社
(74)【代理人】
【識別番号】100104880
【氏名又は名称】古部 次郎
(74)【代理人】
【識別番号】100125346
【氏名又は名称】尾形 文雄
(74)【代理人】
【識別番号】100166981
【氏名又は名称】砂田 岳彦
(72)【発明者】
【氏名】大田 政文
(72)【発明者】
【氏名】湯本 吉宏
(72)【発明者】
【氏名】鶴岡 美緒
(72)【発明者】
【氏名】小林 賢知
(72)【発明者】
【氏名】白木 俊
【審査官】片岡 利延
(56)【参考文献】
【文献】特開2009-134681(JP,A)
【文献】国際公開第2017/127571(WO,A1)
【文献】特開2004-201085(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
現実の物体を撮像した画像から当該現実の物体の反射性の情報を推定する推定手段と、
反射性を有すると推定された前記現実の物体とユーザとの位置関係により当該現実の物体に対して反射の像が映り込む範囲内に仮想の物体がある場合に、推定された反射性の情報に基づいて当該仮想の物体の像を生成する生成手段と、
前記現実の物体に対して前記仮想の物体の像を描画する描画手段と
を有
し、
前記推定手段は、現実の光源の位置と推定の対象に定めた前記現実の物体の表面の傾きとの関係から、当該現実の光源からの光が推定の対象に定めた当該現実の物体によって反射されると反射された反射光が照射する位置であり、当該現実の光源からの光が直接照射する位置であると特定される位置に明部が存在する場合、推定の対象に定めた当該現実の物体は反射性を有すると推定することを特徴とする情報処理システム。
【請求項2】
前記推定手段は、前記特定される位置の輝度と当該特定される位置の周囲の輝度との差が大きいほど、前記現実の物体の反射率が大きいと推定することを特徴とする請求項1に記載の情報処理システム。
【請求項3】
コンピュータを、
現実の物体を撮像した画像から当該現実の物体の反射性の情報を推定する推定手段と、
反射性を有すると推定された前記現実の物体とユーザとの位置関係により当該現実の物体に対して反射の像が映り込む範囲内に仮想の物体がある場合に、推定された反射性の情報に基づいて当該仮想の物体の像を生成する生成手段と、
前記現実の物体に対して前記仮想の物体の像を描画する描画手段
として機能させ
、
前記推定手段は、現実の光源の位置と推定の対象に定めた前記現実の物体の表面の傾きとの関係から、当該現実の光源からの光が推定の対象に定めた当該現実の物体によって反射されると反射された反射光が照射する位置であり、当該現実の光源からの光が直接照射する位置であると特定される位置に明部が存在する場合、推定の対象に定めた当該現実の物体は反射性を有すると推定することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム及びプログラムに関する。
【背景技術】
【0002】
現在、仮想現実(Virtual RealityまたはVR)や拡張現実(Augumented RealityまたはAR)ではなく、現実の空間(現実空間)と、コンピュータを用いて仮想的に作成する空間(仮想空間)との複合を意味する複合現実(Mixed RealityまたはMR)なる技術が注目されている。複合現実が実現された空間(複合現実空間)では、現実空間の物体と仮想空間の物体とが、現実空間と仮想空間の2つの三次元空間の形状情報を重ね合わせて、実時間で影響し合う体験が可能である。
例えば特許文献1には、仮想の物体の背後に現実の物体が位置する場合に(ユーザからは現実の物体が見えない場合に)、ユーザに近づいてきている現実の物体の存在を事前に知らせる技術が記載されている。具体的には、現実の物体とユーザとの距離とが予め定めた距離以内になると、手前側に位置する仮想の物体の表示を半透明又は輪郭線の表示に制御して背後に位置する現実の物体の視認を可能にする技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
一方で、従前の技術では、現実の物体(現実物体)とユーザとの位置関係により現実物体に対して反射の像が映り込む範囲内に仮想の物体(仮想物体)がある場合、現実物体の形状情報のみを描画の判定基準としているため、現実物体が反射性を有していたとしても、現実物体の反射性に関わらず、現実物体に対して仮想物体の像を描画しない手法が採用されている。このような自然法則に反する現象は、あたかも伝説上の吸血鬼が実像は見えるものの鏡には鏡像が映らずに、吸血鬼と見破られてしまうかのごとく、複合現実を体験中のユーザに不自然な印象を与えてしまう。
【0005】
本発明は、現実の物体の反射性が事前に分からない状況でも、反射性を有する現実の物体に対して仮想の物体の像を描画して仮想の物体が実在するかのような体験を可能にすることを目的とする。
【課題を解決するための手段】
【0006】
請求項1に記載の発明は、現実の物体を撮像した画像から当該現実の物体の反射性の情報を推定する推定手段と、反射性を有すると推定された前記現実の物体とユーザとの位置関係により当該現実の物体に対して反射の像が映り込む範囲内に仮想の物体がある場合に、推定された反射性の情報に基づいて当該仮想の物体の像を生成する生成手段と、前記現実の物体に対して前記仮想の物体の像を描画する描画手段とを有し、前記推定手段は、現実の光源の位置と推定の対象に定めた前記現実の物体の表面の傾きとの関係から、当該現実の光源からの光が推定の対象に定めた当該現実の物体によって反射されると反射された反射光が照射する位置であり、当該現実の光源からの光が直接照射する位置であると特定される位置に明部が存在する場合、推定の対象に定めた当該現実の物体は反射性を有すると推定することを特徴とする情報処理システムである。
請求項2に記載の発明は、前記推定手段は、前記特定される位置の輝度と当該特定される位置の周囲の輝度との差が大きいほど、前記現実の物体の反射率が大きいと推定することを特徴とする請求項1に記載の情報処理システムである。
請求項3に記載の発明は、コンピュータを、現実の物体を撮像した画像から当該現実の物体の反射性の情報を推定する推定手段と、反射性を有すると推定された前記現実の物体とユーザとの位置関係により当該現実の物体に対して反射の像が映り込む範囲内に仮想の物体がある場合に、推定された反射性の情報に基づいて当該仮想の物体の像を生成する生成手段と、前記現実の物体に対して前記仮想の物体の像を描画する描画手段として機能させ、前記推定手段は、現実の光源の位置と推定の対象に定めた前記現実の物体の表面の傾きとの関係から、当該現実の光源からの光が推定の対象に定めた当該現実の物体によって反射されると反射された反射光が照射する位置であり、当該現実の光源からの光が直接照射する位置であると特定される位置に明部が存在する場合、推定の対象に定めた当該現実の物体は反射性を有すると推定することを特徴とするプログラムである。
【発明の効果】
【0007】
請求項1記載の発明によれば、現実の物体の反射性が事前に分からない状況でも、反射性を有する現実の物体に対して仮想の物体の像を描画して仮想の物体が実在するかのような体験を可能にできる。
請求項2記載の発明によれば、現実の物体の反射性が事前に分からない状況でも、反射性を有する現実の物体に対して仮想の物体の像を描画して仮想の物体が実在するかのような体験を可能にできる。
請求項3記載の発明によれば、現実の物体の反射性が事前に分からない状況でも、反射性を有する現実の物体に対して仮想の物体の像を描画して仮想の物体が実在するかのような体験を可能にできる。
【図面の簡単な説明】
【0008】
【
図1】外界を透過的に視認可能なメガネ型の端末を装着したユーザが、複合現実を体感する原理を説明する図である。
【
図2】メガネ型の端末のハードウェア構成の一例を示す図である。
【
図3】メガネ型の端末の機能構成の一例を示す図である。
【
図4】メガネ型の端末で仮想物体の像を描画する場合に実行される処理動作の一例を説明するフローチャートである。
【
図5】反射性の推定に用いる手法の一例を説明する図である。(A)は現実物体の位置関係を示し、(B)は現実物体、眼球の位置関係を示す。
【
図6】反射性の推定に用いる手法の他の一例を説明する図である。
【
図7】反射性の推定に用いる手法の他の一例を説明する図である。
【
図8】現実物体において仮想物体の像が映り込む反射領域を説明する図である。(A)は現実物体と仮想物体の位置の関係を示し、(B)は仮想物体の像が映り込む現実物体の反射領域を示す。
【
図9】従前の技術による描画と本実施の形態による描画との違いを説明する図である。(A)は従前の技術による描画例であり、(B)は本実施の形態による描画例である。
【
図10】現実物体の反射率の違いが仮想物体の像の描画に与える影響を説明する図である。(A)は現実物体の反射率が高い場合の仮想物体の像の描画例であり、(B)は現実物体の反射率が低い場合の仮想物体の像の描画例である。
【
図11】現実物体の色の違いが仮想物体の像の描画に与える影響を説明する図である。(A)は現実物体に薄い青色が付されている場合の仮想物体の像の描画例であり、(B)は現実物体に薄い赤色が付されている場合の仮想物体の像の描画例である。
【
図12】現実物体に付されている模様の違いが仮想物体の像の描画に与える影響を説明する図である。(A)は現実物体の表面に対角線方向に延びる斜線が形成されている場合の仮想物体の像の描画例であり、(B)は現実物体の表面に網目状の模様が形成されている場合の仮想物体の像の描画例である。
【
図13】現実物体の形状の違いが仮想物体の像の描画に与える影響を説明する図である。(A)は平板形状の現実物体における仮想物体の像の描画例であり、(B)は円筒形状の現実物体における仮想物体の像の描画例である。
【
図14】現実物体が置かれている角度の違いが仮想物体の像の描画に与える影響を説明する図である。(A)は平板形状の現実物体が垂直面に対して平行に置かれている場合の仮想物体の像の描画例であり、(B)は平板形状の現実物体が垂直面に対して斜めに置かれている場合の仮想物体の像の描画例である。
【
図15】現実物体における反射光の偏光に関する情報の違いが仮想物体の像の描画に与える影響を説明する図である。(A)は現実物体における反射光の偏光の影響を考慮しない場合を示し、(B)は現実物体における反射光の偏光の影響を考慮する場合を示す。
【
図16】現実物体で全反射が発生する場合と発生しない場合を説明する図である。(A)は全反射が発生しない場合の眼球、現実物体、仮想物体の位置関係を示し、(B)は全反射が発生する場合の眼球、現実物体、仮想物体の位置関係を示す。
【
図17】現実物体が複数の場合における仮想物体の像の描画例を説明する図である。(A)は現実物体と仮想物体との位置関係を示し、(B)はユーザによって知覚される複合現実を示す図である。
【
図18】複合現実の体験に、実時間で撮像される外界の画像に仮想物体を合成した画像を表示する表示装置を装着したユーザが、複合現実を体感する原理を説明する図である。
【
図19】表示装置の機能構成の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して、本発明の実施の形態を説明する。
<実施の形態1>
本実施の形態では、複合現実の体験に、外界を透過的に視認可能なメガネ型の端末を使用する場合について説明する。
図1は、外界を透過的に視認可能なメガネ型の端末1を装着したユーザが、複合現実を体感する原理を説明する図である。
【0010】
この種の端末1のハードウェア部分は、既に複数のメーカによって実用化されている。例えばマイクロソフト社のHoloLens(商標)、ソニー社のSmartEyeglass(商標)、コニカミノルタ社のウェアラブルコミュニケーター(商標)がある。この種の端末1は、透過型デバイス、網膜投射型デバイス等とも呼ばれる。
図1に示すメガネ型の端末1は、透明度が高い導光板2と、画像を表示する小型の表示部3と、仮想の物体(仮想物体11)を描画する仮想物体描画部4とを有している。
ここでのメガネ型の端末1は、情報処理装置の一例であるとともに情報処理システムの一例でもある。また、仮想物体描画部4は、生成手段、描画手段の一例である。
【0011】
導光板2は、例えば85%以上の透明度を有する部材で構成され、その内部には、不図示の可視光透過型回折格子が配置されている。可視光透過型回折格子には、例えばホログラフィック回折格子が用いられる。
可視光透過型回折格子は、導光板2の前方から入射する外光B1を直線的に透過してユーザの眼球5に導くように作用する。一方で、可視光透過型回折格子は、表示部3から導光板2に入射した表示光B2を屈折させて導光板2の内部を伝搬させ、その後、眼球5の方向に表示光B2を屈折させるように作用する。
外光B1と表示光B2は、眼球5内で合成される。この結果、端末1を装着したユーザは、現実の物体(現実物体12)に仮想の物体(仮想物体11)を合成した複合現実の風景を知覚する。因みに、
図1の例では、仮想物体11が現実物体12よりも手前側に位置している。
【0012】
<メガネ型の端末1のハードウェア構成>
図2は、メガネ型の端末1のハードウェア構成の一例を示す図である。
図2に示す端末1は、プログラム(基本ソフトウェアを含む)の実行を通じて装置全体を制御するCPU(Central Processing Unit)21と、BIOS(Basic Input Output System)や基本ソフトウェア等のプログラムを記憶するROM22と、プログラムの実行領域として使用されるRAM(Random Access Memory)23と、を有している。
ROM22は、例えば電気的にデータの書き換えが可能な不揮発性の半導体メモリで構成される。
CPU21、ROM22、RAM23は、コンピュータ20として機能する。
【0013】
コンピュータ20には、仮想の物体を表示する表示部3L及び3Rと、外界を撮像するカメラ24L及び24Rと、角度、角速度、加速度等の慣性情報を計測する慣性計測センサ25と、現実の物体までの距離を測定する深度センサ26と、周囲の明るさを検知する照度センサ27と、外部との通信に用いられる無線通信部28と、が接続されている。
左目用の表示部3Lには、左目用の画像が表示され、右目用の表示部3Rには、右目用の画像が表示される。左目用の画像と右目用の画像には視差が再現されている。このため、端末1を装着したユーザは、仮想物体11を立体視できる。
【0014】
カメラ24Lはユーザの左目側に配置され、カメラ24Rはユーザの右目側に配置される。カメラ24L及び24Rによって、端末1の周囲がステレオ撮影される。カメラ24L及び24Rで撮像された画像は、現実の物体の認識や現実の物体の表面までの距離の測定に用いられる。なお、現実の物体までの距離の測定に用いるカメラと、現実の物体の認識に用いられるカメラは、それぞれ別に用意されてもよい。
慣性計測センサ25は、頭の位置や向きの計測に用いられ、視線の追跡などに使用される。
深度センサ26は、赤外線や超音波を使用して現実空間に存在する物体までの距離を計測する。
【0015】
<メガネ型の端末1の機能構成>
図3は、メガネ型の端末1の機能構成の一例を示す図である。
図3に示す機能構成は、CPU21によるプログラムの実行を通じて実現される。
図3に示す機能構成は、プログラムの実行を通じて実現される各種の機能のうち、現実の物体とユーザとの位置関係により現実の物体に対して反射の像が映り込む範囲内に仮想の物体がある場合の複合現実空間をユーザに知覚させる機能について表している。
【0016】
図3の場合、CPU21は、カメラ24L及び24Rによって撮像される画像から現実空間の情報を取得する現実空間情報取得部31と、撮像された画像に基づいて現実物体12(
図1参照)の反射性を推定する現実物体反射性推定部32と、現実物体12の反射性についての情報(以下、反射情報と称する)を取得する現実物体反射情報取得部33と、眼球5(
図1参照)の位置を基準として、反射性を有する現実物体12において仮想物体11(
図1参照)の像が映り込む領域(以下、反射領域と称する)を判定する現実物体反射領域判定部34と、表示部3L及び3R(
図2参照)に仮想物体11及び仮想物体11の像を描画する仮想物体描画部4とを有している。
【0017】
現実空間情報取得部31は、撮像された画像から現実空間に関する様々な情報を取得し、現実空間情報41としてRAM23に保存する。
現実空間情報41として保存される情報の種類は、メガネ型の端末1を使用する場面や用途によって異なる。
ただし、情報の種類が増えることで、複合現実空間における体験を、現実空間の体験に近づけることができる。
本実施の形態の場合、現実空間情報41には、実時間で追加される現実物体12に関する情報に加え、事前に与えられた又は事前に取得された現実物体12に関する情報も含まれる。
【0018】
現実物体12に関する情報は、撮像された画像から推定(計算)される場合もあれば、現実物体12毎に既知の情報としてRAM23の不揮発性領域に保存されている場合もある。
撮像された画像から推定される情報には、色情報のように撮像された画像から直接的に取得可能な情報もあれば、後述する手法などを用いて推定される情報もある。
RAM23の不揮発性領域には、例えば現実物体12の反射性を有する部分の全てに適用される情報(反射情報の代表値や反射情報を計算により求めるための式を含む)が記憶される。なお、RAM23の不揮発性領域には、反射性を有する部分別の情報が記憶されていてもよい。
そして、本実施の形態における現実空間情報取得部31は、RAM23から、画像認識によって特定された個々の現実物体12に関する情報を取得する。
【0019】
また、RAM23に記憶される情報には、ある現実物体12に他の現実物体12の像が映り込む場合の見え方を再現する数種類のフィルタの情報が含まれてもよい。個々のフィルタは、反射特性(例えば、後述する反射率、正反射率、拡散反射率、光沢度、反射光の偏光に関する情報など)の項目のうちの1つの項目、又は複数の項目の組み合わせで与えられる。
さらに、本実施の形態に係る現実空間情報取得部31には、これらのフィルタを取得する機能が設けられていてもよい。フィルタは、例えば、ある現実物体12に他の現実物体12の像が映り込んでいる場合に、その像が映り込んだ部分を撮像することによって取得される。ここでのフィルタは、反射情報の一例である。
そして、現実物体12とユーザ(眼球5)との位置関係により現実物体12に反射の像が映り込む範囲内に仮想物体11がある場合には、その現実物体12のフィルタを反映した仮想物体11の像を描画することにより、現実の物体が像として映り込むのと同様に描画される。
【0020】
現実物体12に関する情報には、例えば個別の物体(人を含む)の情報、ユーザが位置する現実空間の情報、ユーザの位置から画像内の各位置までの距離の情報、光源に関する情報、撮像に関する情報などが含まれる。
ここで、個別の物体の情報には、例えば形状、色調、材質、模様、現実空間内での位置を特定する情報、反射性に関する各種の情報を与える反射情報が含まれる。物体の認識には、既存の技術を使用する。例えばエッジや色領域を特徴量として検出する手法が用いられる。物体の認識には、人工知能を用いてもよい。
撮像に関する情報には、現実の空間内におけるカメラ24L及び24Rの位置の情報、現実の空間内におけるカメラ24L及び24Rの移動の方向、現実の空間内におけるカメラ24L及び24Rが撮像する向きの情報等が含まれる。なお、カメラ24L及び24Rによって撮像された画像には、撮像の日時に関する情報なども付属する。
【0021】
また、反射情報には、例えば、現実物体12の反射特性、現実物体12において反射性を有する部分と有しない部分の情報、反射性を有する部分の色調、模様、形状、反射光の偏光に関する情報、現実空間内での位置を特定する情報等が含まれる。
ここで、反射には、一般に、正反射と拡散反射が存在する。正反射とは、拡散がない反射であり、入射光が一定の方向に反射するものである。拡散反射とは、肉眼で見えるような正反射がない反射であり、入射光が様々な方向に反射するものである。例えば鏡の場合、極めて平滑な鏡面の全ての位置で正反射が起こることで、元の物体の像を正確に見ることができる。一方、例えば紙や布のような表面がざらざらした物体では拡散反射が起こり、入射した光が表面の微細な凹凸により様々な方向に反射するため、像が崩れてしまい、元の物体の形がわからない状態になる。
【0022】
そこで、本実施の形態において、反射性を有する現実物体12とは、表面に他の現実の物体の像が映り込むような反射性、言い換えると、正反射が起こる鏡面的な反射性を有する現実物体12をいうものとする。また、反射情報に含まれる反射特性には、例えば、現実物体12の反射率や、正反射率、拡散反射率、光沢度、反射光の偏光に関する情報等が含まれる。反射率とは、物体に入射した放射束又は光束に対する、反射した放射束又は光束の比である。正反射率とは、反射放射束又は光束のうちの正反射成分の、入射放射束又は光束に対する比である。拡散反射率とは、反射放射束又は光束のうちの拡散反射成分の、入射放射束又は光束に対する比である。光沢度とは、正反射光の割合や、拡散反射光の方向分布などに注目して、物体表面の光沢の程度を一次元的に表す指標である。
【0023】
なお、正反射率や光沢度は、現実物体12の表面に他の現実の物体の像が映り込むような反射性(正反射が起こる鏡面的な反射性)の度合として捉えることができる。例えば、現実物体12の正反射率の値が100%であれば、現実物体12の表面に映り込む像をより正確に見ることができるが、正反射率の値が低下するにつれて(即ち、拡散反射率が増加するにつれて)像が崩れてしまい、ぼやけて見えてしまう。
付言すると、反射性を有する現実物体12とは、例えば、反射率(及び、正反射率、拡散反射率、光沢度など)が予め定められた閾値を超える現実物体12である。
【0024】
なお、反射情報は、画像の処理を通じて推定される場合もあれば、事前に与えられる場合もある。反射性を推定する手法には、現実物体12の表面に現れる模様と他の現実物体12との関連性の発見による方法、人工知能によって特定された物体に対応する反射情報をデータベースから取得する方法等がある。データベースは、例えばクラウドネットワーク上の不図示のサーバに記憶されていてもよい。なお、特定された物体に対応する反射情報がデータベースに存在しない場合、人工知能は、特定された物体に対応する反射情報を、データベースに存在する類似する物品の情報に基づいて推定してもよい。
反射情報に含まれる個々の要素の組み合わせにより、物体の質感が変化する。
なお、現実空間情報41は、例えばクラウドネットワーク上の不図示のサーバに記憶されていてもよい。
【0025】
本実施の形態における現実空間情報取得部31には、現実空間を模した3次元モデルを生成又は更新する機能(すなわち、現実空間を仮想化する機能)も設けられている。
現実空間情報取得部31は、現実空間から取得された複数の情報を仮想空間上で整合的に統合し、3次元モデルを生成又は更新する。ここでの3次元モデルは、現実空間仮想化情報42としてRAM23に記憶される。
現実空間を仮想化した空間(3次元モデル)に仮想物体11を配置したものが複合現実空間である。
【0026】
本実施の形態における現実物体反射性推定部32は、例えば、推定の対象に定めた現実物体12の表面の画像と、現実物体12にて反射された方向の先に存在する物体の画像とを比較して、現実物体12の反射性を推定する。なお、現実物体反射性推定部32は、現実物体12の反射率や正反射率、光沢度、反射光の偏光に関する情報等の反射特性を推定する機能も有している。
ここでの現実物体反射性推定部32は、推定手段の一例である。
推定の結果は、推定の対象に定めた現実物体12に対応づけられた現実空間情報41の一部として保存される。
推定の精度は、現実空間情報41や現実空間仮想化情報42の集積に伴って向上する。
【0027】
本実施の形態における現実物体反射情報取得部33は、現実物体12の現実空間情報41から反射情報を取得する。
本実施の形態の場合、現実物体反射情報取得部33は、現実物体反射性推定部32によって反射性を有すると推定された現実物体12を、反射情報の取得の対象とする。
【0028】
本実施の形態における現実物体反射領域判定部34は、反射性を有する現実物体12において仮想物体11の像が映り込む領域である反射領域を判定する。付言すると、現実物体12に反射領域があると判定された場合は、現実物体12とユーザ(眼球5)との位置関係により現実物体12に対して反射の像が映り込む範囲内に仮想物体11があるものとして捉えることができる。
そして、現実物体12において仮想物体11の像が映り込むと判定された反射領域には、仮想物体描画部4によって、現実物体12の反射情報を反映した仮想物体11の情報が関連付けられる。ここでの仮想物体11の情報は、仮想物体11の像として描画される仮想物体11の情報である。即ち、仮想物体11のうち、現実物体12に映り込む部分の形状、色調、材質などの情報である。
【0029】
なお、仮想物体11が配置される位置(3次元モデル内での位置)、形状、色調、材質などの情報は、仮想物体情報43として記憶されている。また、ユーザの眼球5の位置は、実測されるのではなく、端末1との関係で与えられる。
本実施の形態では、現実物体12の反射情報を反映した仮想物体11の情報を仮想物体像情報44という。仮想物体像情報44の内容は、端末1を装着しているユーザの移動、現実空間内での物体の移動、仮想物体11を配置する位置によっても変化する。
【0030】
仮想物体描画部4は、現実空間仮想化情報42、仮想物体情報43、仮想物体像情報44を用い、表示部3L(
図2参照)用の仮想物体11の画像及び仮想物体11の像の画像と、表示部3R(
図2参照)用の仮想物体11の画像及び仮想物体11の像の画像を描画する。
本実施の形態における仮想物体描画部4は、仮想物体11の像が映り込む領域である現実物体12の反射領域も、描画の対象に含める。すなわち、仮想物体11に加えて、仮想物体11の像を描画の対象とする。
このように、反射性を有する現実物体12に仮想物体11の像が表示されることで、ユーザは、仮想物体11が現実物体12に映り込んでいることを知覚できる。この結果、従前の技術に比して、複合現実の現実感を高めることができる。
更に、本実施の形態における仮想物体描画部4は、反射性を有する現実物体12に映る仮想物体11の像の見え方をより現実に近づけるため、現実物体12の反射率、正反射率、色調、模様、形状等を仮想物体11の像の描画に反映させる。
【0031】
<メガネ型の端末1で実行される処理動作>
図4は、メガネ型の端末1で仮想物体11の像を描画する場合に実行される処理動作の一例を説明するフローチャートである。
図4に示す処理動作は、CPU21によるプログラムの実行を通じて実現される。なお、図中では、ステップを記号のSで表している。
【0032】
まず、CPU21は、現実空間の情報を取得する(ステップ1)。この処理により、CPU21は、端末1を装着しているユーザが導光板2を透して視認している現実物体12を認識する。
次に、CPU21は、認識された現実物体12の反射性を推定する(ステップ2)
反射性の推定処理は、反射性に関する情報が未知である現実物体12に限らず、以前に推定処理を行った現実物体12を対象に含めてもよい。
以前に推定処理の対象とした現実物体12でも、画像が取得される際の環境の違いにより、反射性に関する新たな情報を取得できる可能性があるからである。
なお、反射性を推定する処理は、仮想物体11を描画する処理とは独立に実行してもよい。
【0033】
図5は、反射性の推定に用いる手法の一例を説明する図である。(A)は現実物体12A,12Bの位置関係を示し、(B)は現実物体12A,12B、眼球5(
図1参照)の位置関係を示す。
図5の例では、CPU21は、現実物体12Aを反射性の推定対象として処理を行うものとする。そして、現実物体12Aは鏡であり、現実物体12Bは情報携帯端末である。また、現実物体12Aには、現実物体12Bの像12Cが映り込んでいる。
なお、(A)の場合、端末1を装着するユーザの眼球5は、紙面から手前方向に延びる法線上に位置している。
【0034】
反射性の推定に際し、CPU21は、(B)に示すように、眼球5(又は端末1)の位置と、反射性の推定対象である現実物体12Aとの位置関係から、眼球5から現実物体12Aに向かう入射光と現実物体12Aで反射される反射光とのなす角度である反射角度を演算する。
ここで、CPU21は、現実空間情報41や現実空間仮想化情報42の情報(例えば個々の現実物体12について保存されている位置の情報)を用い、現実物体12Aの位置や現実物体12Aが置かれている角度などを把握して、反射角度を演算する。また、反射角度の演算は、眼球5からの入射光が反射される現実物体12Aの反射面51に対して行われる。さらに、反射角度の演算は、反射面51上の各点において行われる。
【0035】
次に、CPU21は、現実物体12A(反射面51)からトレースし、現実物体12Aの表面に投影される位置に存在する物体を特定する。ここで、CPU21は、現実物体12Aの反射面51上の各点から反射角度の方向に向く先に存在する物体を特定する。ここでも、CPU21は、現実空間情報41や現実空間仮想化情報42の情報を用い、物体を特定する。
(A)に示す例では、現実物体12Aの反射面51上の5点からトレースした場合を示しており、現実物体12Aに投影される位置に存在する物体として、現実物体12Bが特定される。
【0036】
次に、CPU21は、現実物体12Aの反射面51を撮像した画像と、現実物体12を撮像した画像とを解析し、反射面51の画像が現実物体12Bの画像と整合するか否かを判定する。ここでは、反射面51の画像を解析することにより、現実物体12Bの像12Cの画像が抽出される。また、像12Cからトレースすることにより、像12Cに対応する現実物体12Bの部分52が特定される。そして、反射面51の画像(像12Cの画像)から得られる形状と部分52の画像から得られる形状との間に高い類似性が認められる場合に、両者が整合すると判定される。なお、両者の形状の一致を要求しないのは、眼球5から直接見える現実物体12Bと現実物体12Aに映り込む現実物体12Bとは見え方が異なるためである。例えば、眼球5から現実物体12Bの表面が直接見えている場合には、現実物体12Aには現実物体12Bの裏面が映り込むことになる。
【0037】
図5の例では、像12Cの画像は長方形であり、この画像の長方形の各点からトレースして特定される現実物体12B(部分52)の形状も長方形である。よって、CPU21は、像12Cの画像と現実物体12Bの部分52の画像とは整合しており、現実物体12Aは反射性を有すると推定する。ここで、例えば、像12Cの画像の長辺と短辺との比、部分52の長辺と短辺との比を比較する等、画像から得られる要素を比較することにより、より正確に整合性を判定してもよい。
そして、本実施の形態の場合、現実物体12Aの反射面51全体が反射性を有すると推定される。もっとも、像12Cの画像が存在する領域に限り、反射性を有すると推定し、残りの領域についての反射性の有無は、他の機会に推定してもよい。
【0038】
また、CPU21は、反射率や正反射率、光沢度、反射光の偏光に関する情報などの反射特性も推定する。
例えば、CPU21は、像12Cの画像を処理対象として、この画像の明るさや色の濃さ、ぼやけた度合などを基に、反射面51の反射率や正反射率、光沢度などを計算することができる。例えば、CPU21は、像12Cの画像と現実物体12Bの画像とについて、2つの画像の明るさや色の濃さ、ぼやけた度合などを比較することにより、反射面51の反射率や正反射率、光沢度などを計算する。また、例えば反射率は、反射面51について得られた屈折率を、既知の公式に代入することにより計算可能である。なお、CPU21は、反射率や正反射率、光沢度を個別に出すのではなくて、反射率や正反射率、光沢度をまとめた反射特性の指標を計算してもよい。
さらに、例えば、現実物体12Aにおける反射光の偏光に関する情報を推定する手法としては、例えば、導光板2(
図1参照)の前後に偏光フィルタを設けて現実物体12Aを撮像し、画像から得られる受光量(反射光の量)の変化を基に、偏光の強度、方向等を推定する手法が例示される。例えば、偏光フィルタを回転させた角度毎に、カメラ24L及び24R(
図2参照)によって現実物体12Aを撮像する。そして、CPU21は、角度毎の画像を比較することにより、現実物体12Aにおける反射光の量の変化を判定して、現実物体12Aにおける反射光の偏光の強度、方向等を推定する。
【0039】
さらに、ユーザがメガネ型の端末1を装着して移動し、その移動に合わせて現実空間情報41を保存することにより、現実空間情報41は蓄積されていく。そのため、
図5の場合に、ユーザが移動して種々の方向からカメラ24L及び24R(
図2参照)で撮像することにより、例えば、現実物体12Aに映り込む現実物体12Bの部分(例えば、現実物体12Bの裏面)を撮像して、現実空間情報41として保存している場合もあり得る。この場合には、CPU21は、パターンマッチング等により、像12Cの画像と現実物体12Bの画像とが整合するか否かの判定を行い、現実物体12Aの反射性をより正確に推定することができる。また、反射率や正反射率、光沢度などの反射特性の推定についても、像12Cの画像と現実物体12Aに映り込む現実物体12Bの部分とを比較することができ、両者の違いからより正確に反射特性を計算することができる。
【0040】
図6は、反射性の推定に用いる手法の他の一例を説明する図である。
図6で説明する推定の手法では、CPU21は、例えば現実物体12の表面に現れる内容が、現在の撮像の方向とは逆向きを撮像した際に撮像された画像の左右を入れ替えた画像と整合する場合、現実物体12の表面に現れる内容が鏡像であり、現実物体12は反射性を有すると推定する。この場合には、事前に現在の撮像の方向とは逆向きからカメラ24L及び24Rで撮像し、撮像した画像を現実空間情報41として保存しておくことが必要である。
図6の例では、眼球5の前面に現実物体12A~12Cが存在する。そして、CPU21は、現実物体12Aを反射性の推定対象として処理を行うものとする。現実物体12Aには、現実物体12Bの像12Dが映り込んでおり、また現実物体12Cの像12Eが映り込んでいる。
【0041】
ここで、事前に、現在の撮像の方向とは逆向きをカメラ24L及び24Rで撮像しておくことにより、現実物体12Bで現実物体12Aに映り込んでいる部分の画像や、現実物体12Cで現実物体12Aに映り込んでいる部分の画像は、現実空間情報41として保存される。このような場合に、CPU21は、現実空間を模した3次元モデルにおいて、現実物体12Aの表面に投影される位置に存在する現実物体12B、12Cを特定する。そして、CPU21は、パターンマッチング等により、現実物体12Aの表面の画像と、現在の撮像の方向とは逆向きから撮像して得られた現実物体12B、12Cの画像とが整合するか否かを判定する。例えば、物理的な構造や色、模様などが一致する(又は、物理的な構造や色、模様などに高い類似性がある)ことが認められる場合、CPU21は、現実物体12Aは反射性を有すると推定することができる。
なお、現在の撮像の方向は、一の方向の一例である。
【0042】
また、
図7は、反射性の推定に用いる手法の他の一例を説明する図である。
図7を参照しながら、3つの推定の手法について説明する。
図7の例では、CPU21は、現実物体12Fを反射性の推定対象として処理を行うものとする。そして、現実物体12Fは鏡であり、現実物体12Gは壁に固定的に取り付けられているコンセントである。また、現実物体12Fには、現実物体12Gの像12Hが映り込んでいる。さらに、天井には、光源12Iが固定的に取り付けられている。
なお、端末1を装着するユーザの眼球5は、紙面から手前方向に延びる法線上に位置している。
【0043】
まず、1つ目の推定の手法では、CPU21は、光源の位置と現実物体12Fの表面の傾きとの関係から推定(特定)される位置に明部(ハイライト)が存在する場合、推定の対象である現実物体12Fは反射性を有すると推定する。
例えば、現実物体12Fが反射性を有する場合、光源12Iからの光が現実物体12Fで反射された反射光と、光源12Iからの直接の光とが合成されて、明部が生じる。図示の例では、領域16Aに明部が生じており、16Bと比較して、輝度が高くなっている。
CPU21は、光源12Iの位置と現実物体12Fの表面の傾きとの関係から、明部が生じると推定される領域(この例では、領域16A)を特定する。そして、CPU21は、明部が生じると推定される領域16Aの輝度と、周囲の領域(例えば、領域16B)の輝度とを比較して、明部が生じると推定される領域16Aの輝度の方が高い場合、現実物体12Fが反射性を有すると推定する。
なお、明部が生じると推定される領域の輝度と周囲の領域の輝度との差の程度を基に、現実物体12Fの反射特性を推定してもよい。例えば、明部が生じると推定される領域の輝度と周囲の領域の輝度との差が大きいほど、現実物体12Fの反射率(及び、正反射率、拡散反射率、光沢度など)は大きいと推定される。
【0044】
なお、明部が生じると推定される領域の輝度や周囲の領域の輝度は、対象となる領域を撮像した画像から推定される。
また、光源12Iに関する情報は、撮像された画像から推定される場合もあれば、既知の情報としてRAM23の不揮発性領域に保存されている場合もある。光源12Iの位置を推定する手法には、光線追跡法(レイトレーシング)等がある。
【0045】
次に、2つ目の推定の手法では、CPU21は、推定の対象である現実物体12Fの表面に現れる内容(個々の像)と別の現実物体12とがいずれも対称の位置に存在する場合(換言すると、推定の対象である現実物体12Fの表面に現れる内容と対をなす別の現実物体12とが、共通の外形を有し、かつ、推定の対象である現実物体12Fの表面を挟んで等距離に位置する場合)、現実物体12Fが反射性を有すると推定する。
例えば、CPU21は、領域16A及び領域16B等を撮像した画像を解析することにより、現実物体12Fに対して反射の像が映り込む範囲内に存在する物体として、現実物体12Gを抽出する。また、現実物体12Fを撮像した画像を解析することにより、現実物体12Gと共通の外形を有する(即ち、形状に高い類似性が認められる)現実物体12Gの像12Hを抽出する。そして、現実物体12Fの表面を挟んで現実物体12Gと像12Hとが等距離にあると判定されるため、現実物体12が反射性を有すると推定する。
【0046】
次に、3つ目の推定の手法では、CPU21は、推定の対象である現実物体12Fの表面の明るさが、光源によって直接照らされる場合に比して暗い場合、現実物体12Fが反射性を有すると推定する。
例えば、CPU21は、現実物体12Fに隣接する領域16Cを撮像した画像を解析することにより、領域16Cの輝度を推定する。また、現実物体12Fを撮像した画像を解析することにより、領域16Cに隣接する領域16Dの輝度を推定する。ここで、領域16Cと領域16Dとは隣接しているため、光源12Iに照らされた場合の明るさには大きな差異は生じないはずである。しかし、領域16Dの輝度は、領域16Cの輝度よりも一定程度(例えば、予め定められた輝度差を超える程度)低い。言い換えると、領域16Dの明るさは、光源12Iによって直接照らされる場合に比して暗い。
このように、領域16Cと領域16Dとは隣接しているにもかかわらず、両者の明るさにはつながりがないといえる。これは、領域16Dに、光源12Iから遠く離れた空間の像が映り込んでいるためである。そこで、CPU21は、領域16C及び領域16Dの輝度の差を基に、現実物体12Fの表面の明るさは光源12Iによって直接照らされる場合に比して暗いと判定し、現実物体12が反射性を有すると推定する。
【0047】
さらに、現実物体12の表面に現れる内容が、反射による像ではなく、物理的な構造や模様であったり、表示デバイスに表示される画像であったりすることも考えられる。そこで、CPU21は、現実物体12の表面に現れる内容が、物理的な構造や模様とも表示デバイスに表示される画像とも異なるか否かを判定することで、反射性の推定を行ってもよい。
【0048】
本実施の形態では、現実物体12を撮像しているカメラ24L及び24R(
図2参照)の移動に連動して現実物体12の表面に現れる内容が連続的に変化する場合、現実物体12の表面に現れる内容が、物理的な構造や模様とも表示デバイスに表示される画像とも異なると判定する。現実物体12の表面に現れる内容が物理的な構造や模様に起因する場合、カメラ24L及び24R(
図2参照)が移動しても内容は不変だからである。また、現実物体12が表示デバイスの場合には、その表示の内容の変化は、現実物体12を撮像しているカメラ24L及び24Rの移動と無関係だからである。このような判定を行うことで、反射性の推定が行われる。
【0049】
さらに、別の反射性の推定に用いる手法として、例えば、人工知能によって、現実空間情報41を基に、現実物体12がどのような物体であるかを特定することにより、特定された物体に対応する反射情報をデータベースから取得してもよい。
なお、上述した反射性を推定する各種の手法については、何れか1つの手法を用いて推定を行ってもよいし、2つ以上の手法を組み合わせて推定を行ってもよい。
図4の説明に戻る。
【0050】
ステップ2の後、CPU21は、ステップ2で反射性を有すると推定された現実物体12の反射情報を取得する(ステップ3)。本実施の形態の場合、CPU21は、ステップ2で計算された現実物体12の反射特性を取得する。また、CPU21は、反射性を推定しなくても取得可能な反射情報、例えば、反射性を有すると推定された現実物体12の色調、模様、形状、現実空間内での位置を特定する情報などの反射情報を取得する。
【0051】
続いて、CPU21は、描画の対象である1つ又は複数の仮想物体11のうちで未選択の1つを選択する(ステップ4)。
CPU21は、選択された仮想物体11を処理の対象として、仮想物体11の像が映り込む現実物体12の反射領域があるか否かを判定する(ステップ5)。
ここで、CPU21は、端末1を装着しているユーザの眼球5(
図1参照)の位置を基準として、反射性を有する現実物体12において、処理対象とする仮想物体11の像が映り込むか否かを判定する。
【0052】
仮想物体11の像が映り込むか否かは、端末1を装着しているユーザの眼球5の位置を基準として判定される。例えば、反射性を有する現実物体12の表面が平面である場合、現実空間を模した3次元モデルにおいて、反射性を有する現実物体12の表面を対称面として、仮想物体11の面対称の位置に、仮想物体11の反射像ができる。この仮想物体11の反射像と眼球5の位置とを結ぶ仮想の直線と、現実物体12とが交差するか否かが判定される。
例えば仮想の直線と現実物体12とが交差しない場合、CPU21は、否定結果を得てステップ7に進む。
【0053】
図8は、現実物体12において仮想物体11の像が映り込む反射領域14を説明する図である。(A)は現実物体12と仮想物体11の位置の関係を示し、(B)は仮想物体11の像が映り込む現実物体12の反射領域14を示す。
(B)に示すように、現実物体12の表面を対称面として、仮想物体11の面対称の位置に、仮想物体11の反射像13ができる。そして、仮想物体11の反射像13と眼球5の位置とを結ぶ仮想の直線と、現実物体12とが交差する範囲が反射領域14であり、図示の太線で示す範囲になる。
【0054】
このように、現実物体12に対して仮想物体11の像をどのように描画するかについては、ユーザの眼球5、仮想物体11、現実物体12の位置関係によって決まる。例えば、
図8に示すように、現実物体12の表面を対称面とした場合の仮想物体11の反射像13に対して、仮想物体11の反射像13と眼球5とを結ぶ仮想の直線と、現実物体12とが交差する位置(範囲)に、仮想物体11の像が描画される。すなわち、仮想物体11の反射像13の各点について、眼球5に向く仮想の直線と現実物体12とが交差する位置を導き出して、仮想物体11の像が描画される。
【0055】
ただし、
図8に示す例は、現実物体12の表面が平面である場合の例である。現実物体12の表面は、平面の他、例えば、凹型や凸型などの曲面の場合もあるため、仮想物体11の像は現実物体12の形状に応じて変化する。付言すると、仮想物体11の像は、その仮想物体11が現実の物体として存在すると仮定した場合に現実物体12に対して映り込む像と同様に、描画される。
【0056】
なお、仮想物体11の像が映り込む現実物体12が複数ある場合、CPU21は、個々の現実物体12について、仮想物体11の像が映り込む反射領域を特定する。
また、1つの現実物体12に反射性を有する部分が複数ある場合、CPU21は、反射性を有する個々の部分について、仮想物体11の像が映り込む反射領域を特定する。
従って、1つの仮想物体11について特定される反射領域の数は1つに限らない。なお、複数の反射領域が特定される場合、それらの反射領域は一致するとは限らない。
図4の説明に戻る。
【0057】
ステップ5で肯定結果が得られた場合、CPU21は、ステップ5で特定された反射領域毎に、現実物体12の反射情報を反映した仮想物体11の情報を関連付けて保存する(ステップ6)。すなわち、CPU21は、現実物体12の反射領域に関連付けて仮想物体像情報44を保存する。
ここで、例えば、
図8に示す例では、ユーザの位置から仮想物体11の反射像13が見えるように、仮想物体11の情報が関連付けられる。より具体的には、例えば、仮想物体11のうち、ユーザから直接見える部分とは異なる部分(例えば、ユーザの位置から仮想物体11の表面が直接見えている場合には、仮想物体11の裏面)が見えるように、その部分の形状、色調、材質などの情報が関連付けられる。その際、反射領域に関連付けられる仮想物体11は、ユーザから仮想物体11の反射像13が見えるように表現するために、例えば、遠近法に基づいて、ユーザから直接見える仮想物体11よりも小さくなるように関連付けられる。
【0058】
この後、CPU21は、全ての仮想物体11が選択済みであるか否かを判定する(ステップ7)。
ステップ7で否定結果が得られた場合、CPU21は、ステップ4に戻る。ステップ4では未選択の仮想物体11の中から1つが処理の対象として選択される。
一方、ステップ7で肯定結果が得られた場合、CPU21は、全ての反射領域に対して、関連付けられている仮想物体像情報44を用いて仮想物体11の像を描画する(ステップ8)。
【0059】
<描画例>
以下では、具体例を用いて、本実施の形態における仮想物体11の像の描画例について説明する。
【0060】
<描画例1>
図9は、従前の技術による描画と本実施の形態による描画との違いを説明する図である。(A)は従前の技術による描画例であり、(B)は本実施の形態による描画例である。
図9では、従前の技術による描画例を比較例と記している。
図9において、端末1を装着するユーザの眼球5(
図1参照)は、紙面から手前方向に延びる法線上に位置している。
【0061】
(A)に示すように、従前の技術では、平板形状の現実物体12とユーザとの位置関係により現実物体12に対して反射の像が映り込む範囲内に円筒形状の仮想物体11がある場合、現実物体12が反射性を有していても、現実物体12には仮想物体11の像が描画されない。
このため、反射性を有する現実物体12では、映るべき仮想物体11の像がユーザに知覚されず、代わりに、現実物体12がそのままユーザに知覚される。
このように、反射性を有する現実物体12で、ユーザに知覚される風景に不自然な状態が生じる。
【0062】
一方で、本実施の形態の場合には、(B)に示すように、平板形状の現実物体12とユーザとの位置関係により現実物体12に対して反射の像が映り込む範囲内に円筒形状の仮想物体11がある場合、円筒形状の仮想物体11の像15をユーザに知覚させることができる。
このように、本実施の形態に係る技術を用いれば、反射性を有する現実物体12で風景に不自然な状態が生じることがなくなり、仮想物体11が実在するかのような体験が可能になる。
【0063】
また、本実施の形態に係る技術を用いれば、ユーザが現実空間内を移動する場合も、ユーザの眼球5、仮想物体11、反射性を有する現実物体12の位置関係により、現実物体12に仮想物体11の像15を描画することができる。すなわち、ユーザが現実空間内を移動しても、仮想物体11の像15が継続的に知覚されるようにできる。
このため、仮想物体11を、現実の物体と区別なくユーザに知覚させることが可能になる。
【0064】
なお、ユーザと仮想物体11は移動せず、反射性を有する現実物体12だけが移動する場合や、ユーザと反射性を有する現実物体12は移動せず、仮想物体11だけが移動する場合にも、同様の不自然な現象が無くなるので、仮想物体11の実在感を高めることができる。
また、従前の技術と比べて、現実物体12に対して像15が描画される位置に存在する仮想物体11を、ユーザに気づかせ易くなる。
【0065】
<描画例2>
図10は、現実物体12の反射率の違いが仮想物体11の像15の描画に与える影響を説明する図である。(A)は現実物体12の反射率が高い場合の仮想物体11の像15の描画例であり、(B)は現実物体12の反射率が低い場合の仮想物体11の像15の描画例である。
図10の場合も、端末1(
図1参照)を装着するユーザの眼球5(
図1参照)は、紙面から手前方向に延びる法線上に位置している。
【0066】
図10の場合、反射率が相対的に高い反射率1の場合((A)の場合)には、反射率が相対的に低い反射率2の場合((B)の場合)よりも、例えば、仮想物体11の像15の解像度を高くしたり、色を濃くしたりして、現実物体12の反射率の影響を付加して描画する。よって、反射率が相対的に高い反射率1の場合((A)の場合)の方が、反射率が相対的に低い反射率2の場合((B)の場合)よりも、仮想物体11の像15をはっきり知覚することが可能である。
このため、ユーザは、仮想物体11が実在するかのような体験が可能になる。
【0067】
なお、(A)、(B)の例では、現実物体12の正反射率(又は拡散反射率、光沢度)の影響を考慮していないが、仮想物体11の像15の描画には、現実物体12の反射率の他に、現実物体12の正反射率(又は拡散反射率、光沢度)も影響を与える。例えば、現実物体12の正反射率の影響を付加することにより、正反射率が相対的に高い場合の方が、正反射率が相対的に低い場合よりも、仮想物体11の像15をはっきり知覚することが可能である。
【0068】
<描画例3>
図11は、現実物体12の色の違いが仮想物体11の像15の描画に与える影響を説明する図である。(A)は現実物体12に薄い青色が付されている場合の仮想物体11の像15の描画例であり、(B)は現実物体12に薄い赤色が付されている場合の仮想物体11の像15の描画例である。
図11の場合も、端末1(
図1参照)を装着するユーザの眼球5(
図1参照)は、紙面から手前方向に延びる法線上に位置している。
【0069】
作図上の制約のため、
図11においては、薄い青色や薄い赤色を表現することはできないが、現実物体12に薄い青色が付されている場合((A)の場合)には、仮想物体11の像15に対して薄い青色を付して描画する処理が行われる。また、現実物体12に薄い赤色が付されている場合((B)の場合)には、仮想物体11の像15に対して薄い赤色を付して描画する処理が行われる。このように、現実物体12の色調の影響を付加することにより、現実物体12に映り込む仮想物体11の像15の見え方を、現実物体12に映り込む現実空間の他の物体の見え方に近づけることが可能になる。
このため、ユーザは、仮想物体11が実在するかのような体験が可能になる。
【0070】
<描画例4>
図12は、現実物体12に付されている模様の違いが仮想物体11の像15の描画に与える影響を説明する図である。(A)は現実物体12の表面に対角線方向に延びる斜線が形成されている場合の仮想物体11の像15の描画例であり、(B)は現実物体12の表面に網目状の模様が形成されている場合の仮想物体11の像15の描画例である。
図12の場合も、端末1(
図1参照)を装着するユーザの眼球5(
図1参照)は、紙面から手前方向に延びる法線上に位置している。
図12に示すように、現実物体12の表面に形成された模様を仮想物体11の像15の描画に反映することで、現実物体12に映り込む仮想物体11の像15の見え方を、現実物体12に映り込む現実空間の他の物体の見え方に近づけることが可能になる。
このため、ユーザは、仮想物体11が実在するかのような体験が可能になる。
【0071】
<描画例5>
図13は、現実物体12の形状の違いが仮想物体11の像15の描画に与える影響を説明する図である。(A)は平板形状の現実物体12における仮想物体11の像15の描画例であり、(B)は円筒形状の現実物体12における仮想物体11の像15の描画例である。
図13の場合も、端末1(
図1参照)を装着するユーザの眼球5(
図1参照)は、紙面から手前方向に延びる法線上に位置している。
図13に示すように、現実物体12が円筒形状の場合((B)の場合)には、現実物体12が平板形状の場合((A)の場合)と比較して、例えば、仮想物体11が伸びて歪んだように像15を描画する処理が行われる。
このように、現実物体12の形状の影響を付加し、現実物体12の形状に応じて仮想物体11の像15を変化させることで、現実物体12に映り込む仮想物体11の像15の見え方を、現実物体12に映り込む現実空間の他の物体の見え方に近づけることが可能になる。
このため、ユーザは、仮想物体11が実在するかのような体験が可能になる。
【0072】
<描画例6>
図14は、現実物体12が置かれている角度の違いが仮想物体11の像15の描画に与える影響を説明する図である。(A)は平板形状の現実物体12が垂直面に対して平行に置かれている場合の仮想物体11の像15の描画例であり、(B)は平板形状の現実物体12が垂直面に対して斜めに置かれている場合の仮想物体11の像15の描画例である。
図14の場合も、端末1(
図1参照)を装着するユーザの眼球5(
図1参照)は、紙面から手前方向に延びる法線上に位置している。
図14に示すように、現実物体12が垂直面に対して傾いている場合((B)の場合)には、現実物体12が垂直面に対して平行に置かれている場合((A)の場合)と比較して、例えば、仮想物体11の下側が近く大きくなり、仮想物体11の上側が遠く小さくなるように、像15を描画する処理が行われる。
このように、現実物体12が置かれている角度に応じて仮想物体11の像15を変化させることで、現実物体12に映り込む仮想物体11の像15の見え方を、現実物体12に映り込む現実空間の他の物体の見え方に近づけることが可能になる。
このため、ユーザは、仮想物体11が実在するかのような体験が可能になる。
【0073】
<描画例7>
図15は、現実物体12における反射光の偏光に関する情報の違いが仮想物体11の像15の描画に与える影響を説明する図である。(A)は現実物体12における反射光の偏光の影響を考慮しない場合を示し、(B)は現実物体12における反射光の偏光の影響を考慮する場合を示す。
図15の場合も、端末1(
図1参照)を装着するユーザの眼球5(
図1参照)は、紙面から手前方向に延びる法線上に位置している。
(A)の例では、現実物体12における反射光の偏光の影響を考慮しないため、現実物体12が反射性を有する場合には、現実物体12の表面に仮想物体11の像15を描画する処理が行われる。
【0074】
ここで、例えば導光板2(
図1参照)に偏光フィルタの機能を持たせたり、導光板2の前後に偏光フィルタを設けたりすると、導光板2の前方から入射する外光B1のうち、特定方向の光は偏光フィルタを透過して眼球5に導かれるが、特定方向以外の光は偏光フィルタによりカットされる。すなわち、現実物体12における反射光は、その偏光の度合に応じて、偏光フィルタを透過したり、偏光フィルタにカットされたりする。
現実物体12における反射光が偏光フィルタによってカットされる場合、(B)に示すように、現実物体12の表面に仮想物体11の像15を描画しない処理が行われる。
このように、CPU21は、現実物体12における反射光の偏光の度合、偏光フィルタの偏光特性(偏光度など)によって、仮想物体11の像15を描画する処理や描画しない処理を行う。また、現実物体12における反射光の偏光の度合、偏光フィルタの偏光特性によって、仮想物体11の像15の解像度を低くしたり、色を薄くしたりして、仮想物体11の像15を変化させる。例えば、偏光フィルタの偏光度が大きいほど、偏光フィルタでカットされる光の量が多くなり、仮想物体11の像15は視認されづらくなるように処理される。
このため、ユーザは、仮想物体11が実在するかのような体験が可能になる。
なお、偏光に関する情報の違いによる効果には、旋光性の違いによる影響を含めてもよい。旋光性の違いを描画に反映することにより、光学異性体の見え方の違いを表現できる。
【0075】
<描画例8>
図16は、現実物体12で全反射が発生する場合と発生しない場合を説明する図である。(A)は全反射が発生しない場合の眼球5、現実物体12、仮想物体11の位置関係を示し、(B)は全反射が発生する場合の眼球5、現実物体12、仮想物体11の位置関係を示す。
図5で示したように、現実物体12の表面を対称面とした場合の仮想物体11の反射像13に対して、仮想物体11の反射像13と眼球5とを結ぶ仮想の直線と、現実物体12とが交差する位置(範囲)に、仮想物体11の像が描画される。ここで、全反射が発生するか否かは、光の入射角が臨界角を超えているか否かによって決まる。
【0076】
(A)の場合、入射角が臨界角を超えていないため(臨界角>入射角)、全反射は発生しない。この場合、現実物体12の反射率(さらに、必要に応じて、正反射率、拡散反射率、光沢度など)を基に、仮想物体11の像15が現実物体12に描画される。
一方、(B)の場合、入射角が臨界角を超えているため(臨界角<入射角)、全反射が発生する。全反射では、入射光が現実物体12を透過せずに全て反射するため、反射率が100%となる。CPU21は、全反射の影響を付加し、現実物体12の反射率100%(さらに、必要に応じて、正反射率、拡散反射率、光沢度など)を基に、仮想物体11の像15を現実物体12に描画する。その結果、全反射が発生する場合((B)の場合)の方が、全反射が発生しない場合((A)の場合)よりも、仮想物体11の像15をはっきり知覚することが可能である。
このため、ユーザは、仮想物体11が実在するかのような体験が可能になる。
【0077】
ここで、(B)のように全反射が発生する場合としては、例えば、現実物体12が水面で、水中に仮想物体11が存在する場合が例示される。より具体的には、例えば、水槽(不図示)に張られた水の水面(現実物体12)よりも下にユーザ(眼球5)が存在し、水中に仮想物体11が配置される場合に、全反射が発生し得る。言い換えると、水面(現実物体12)よりも低い位置に眼球5が存在し、水中に仮想物体11が配置される場合には、眼球5と仮想物体11との位置関係により入射角が計算され、全反射が発生するか否かが決定される。
また、蜃気楼が発生するような条件下でも、全反射は発生し得る。
【0078】
なお、臨界角は、入射元の物質の屈折率、進行先の物質(ここでは、現実物体12)の屈折率を基に計算される。入射元の物質の屈折率、現実物体12の屈折率は、現実物体12の反射情報と同様に、撮像された画像から推定(計算)される場合もあれば、既知の情報としてRAM23の不揮発性領域に保存されている場合もある。屈折率を推定する手法としては、例えば、複数の時点に撮像された複数の画像の比較による方法、人工知能によって特定された物体に対応する屈折率をデータベースから取得する方法等がある。
【0079】
<描画例9>
図17は、現実物体12が複数の場合における仮想物体11の像15の描画例を説明する図である。(A)は現実物体12と仮想物体11との位置関係を示し、(B)はユーザによって知覚される複合現実を示す図である。
図17の場合、現実物体12Aは反射性を有しない枠形状の部材であり、現実物体12Bは反射性を有する部材である。現実物体12Aは、例えば鏡の枠体であり、現実物体12Bは、例えば鏡のガラス板である。
【0080】
図17の場合、従前の技術であれば、現実物体12Bに対して、仮想物体11の像15が描画されることはない。そのため、ユーザに知覚される風景に不自然な状態が生じる。
一方で、本実施の形態では、(A)に示すように、反射性を有する現実物体12Bにおいて、仮想物体11の像15が映り込むと判定された反射領域14に、現実物体12Bの反射情報を反映した仮想物体11の情報が関連付けられる。その結果、(B)に示すように、現実物体12Bに対して、仮想物体11の像15が描画される。また、現実物体12Aは反射性を有さないため、仮想物体11の像15は描画されない。
このように仮想物体11の像15が描画されることにより、端末1を装着するユーザは、反射性を有する現実物体12Bの前面に仮想物体11が位置する関係を理解し易くなる。
以上により、ユーザは、仮想物体11が実在するかのような体験が可能になる。
【0081】
また、描画例として図示していないが、仮想物体11が反射性を有する場合、CPU21は、現実物体12に仮想物体11の像を描画するとともに、仮想物体11にも現実物体12の像を描画する。ここで、仮想物体11には、仮想物体11の像が映り込んだ現実物体12の像が描画されることとなる。さらに、現実物体12には、そのような現実物体12の像が映り込んだ仮想物体11の像が描画されることとなる。このように、仮想物体11が反射性を有する場合には、像の描写において無限ループのような現象が発生する。無限ループの現象が発生する場合、実際の処理では、例えば、映り込む像の計算をする回数に制限をつけることにより、CPU21による計算処理が無限になってしまうことが回避される。
【0082】
<実施の形態2>
本実施の形態では、複合現実の体験に頭部に装着された表示装置を使用する場合について説明する。
図18は、複合現実の体験に、実時間で撮像される外界の画像に仮想物体を合成した画像を表示する表示装置100を装着したユーザが、複合現実を体感する原理を説明する図である。
【0083】
図18には、
図1及び
図2と対応する部分に対応する符号を付して示している。
表示装置100は、カメラ24L及び24Rによって撮像された外界の画像と、仮想物体描画部4が描画した仮想物体11の画像(及び仮想物体11の像の画像)とを画像合成部101で合成した画像を、ユーザの眼球5の前方に配置された表示部3L及び3Rに表示する。
ここでの表示装置100は、情報処理装置の一例であるとともに情報処理システムの一例でもある。
なお、表示装置100のハードウェア構成は、メガネ型の端末1(
図2参照)と同様である。このため、表示装置100のハードウェア構成の説明は省略する。
【0084】
図19は、表示装置100の機能構成の一例を示す図である。
図19には、
図3との対応部分に対応する符号を付して示している。
表示装置100の基本的な機能構成は、メガネ型の端末1(
図2参照)と同様である。表示装置100に特有の機能構成は、画像合成部101である。
画像合成部101は、仮想物体描画部4が描画した画像と、カメラ24L及び24Rで撮像されている外界の画像とが整合するように2つの画像を合成する機能を有している。
例えば画像合成部101は、現実空間仮想化情報42として記憶されている3次元モデルとカメラ24L及び24Rで撮像されている外界の画像とを照合して、仮想物体11の画像(及び仮想物体11の像の画像)を合成する領域を決定する。
このように、本実施の形態が複合現実を知覚させる方式は実施の形態1と異なるが、ユーザによって知覚される複合現実の現実感が従前の技術に比して高くなる点は、実施の形態1と同じである。
【0085】
<他の実施形態>
以上、本発明の実施の形態について説明したが、本発明の技術的範囲は上述の実施の形態に記載の範囲に限定されない。前述した実施の形態に、種々の変更又は改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
例えば前述の実施の形態では、左右両目用の表示部3L及び3Rを用いているが、表示部は1つでも構わない。例えばメガネ型の端末1(
図1参照)の場合には、左右どちら一方の前方に表示部を1つ配置されてもよい。また例えば表示装置100(
図18参照)の場合には、両目の前に表示部を1つ配置してもよい。
また、前述の実施の形態では、仮想物体描画部4をメガネ型の端末1(
図1参照)や表示装置100(
図18参照)の機能の1つとして実現しているが、外部ネットワーク(例えばクラウドネットワーク)に接続されているサーバなどの情報処理装置において、仮想物体描画部4の機能を実行してもよい。ここでのメガネ型の端末1と仮想物体描画部4の機能を実行する外部ネットワーク上のサーバは、情報処理システムの一例である。
また、前述の実施の形態では、仮想物体描画部4の機能を汎用的な演算装置であるCPU21を用いて実現しているが、実時間での画像処理に特化した演算装置であるGPU(Graphics Processing Unit)を用いて実現してもよい。
【符号の説明】
【0086】
1…メガネ型の端末、2…導光板、3、3L、3R…表示部、4…仮想物体描画部、11…仮想物体、12…現実物体、13…反射像、14…反射領域、15…像、31…現実空間情報取得部、32…現実物体反射性推定部、33…現実物体反射情報取得部、34…現実物体反射領域判定部、41…現実空間情報、42…現実空間仮想化情報、43…仮想物体情報、44…仮想物体像情報、100…表示装置、101…画像合成部、B1…外光、B2…表示光