(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-01
(45)【発行日】2024-07-09
(54)【発明の名称】仮想現実シミュレータ及び仮想現実シミュレーションプログラム
(51)【国際特許分類】
G06T 19/00 20110101AFI20240702BHJP
H04N 13/366 20180101ALI20240702BHJP
H04N 13/363 20180101ALI20240702BHJP
【FI】
G06T19/00 300B
H04N13/366
H04N13/363
(21)【出願番号】P 2021115016
(22)【出願日】2021-07-12
【審査請求日】2023-07-21
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110003199
【氏名又は名称】弁理士法人高田・高橋国際特許事務所
(72)【発明者】
【氏名】舩造 美奈
(72)【発明者】
【氏名】加来 航
【審査官】鈴木 肇
(56)【参考文献】
【文献】特開2006-229768(JP,A)
【文献】特開2014-030152(JP,A)
【文献】特開2020-120236(JP,A)
【文献】特表2020-514842(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 3/08
G06T 15/04
G06T 19/00 - 19/20
H04N 13/30 - 13/398
(57)【特許請求の範囲】
【請求項1】
1又は複数のプロセッサと、
仮想空間の構成を示す仮想空間構成情報を格納する1又は複数の記憶装置と
を備え、
前記1又は複数のプロセッサは、
実空間におけるユーザの頭部の位置である実ユーザ位置の情報を取得する処理と、
前記実ユーザ位置に対応付けられた前記仮想空間内の位置である仮想ユーザ位置を取得する処理と、
前記仮想空間構成情報に基づいて、前記仮想空間内の前記仮想ユーザ位置に配置されたカメラによって前記仮想空間を撮像して仮想空間画像を取得する撮像処理と、
前記実空間において前記ユーザから離れた位置に設置され、且つ、前記ユーザと一体的に動かない湾曲画面に、前記仮想空間画像を投影あるいは表示する処理と
を行うように構成され、
仮想画面位置は、前記湾曲画面の設置位置に対応付けられた前記仮想空間内の位置であり、
前記撮像処理は、
前記仮想ユーザ位置に配置された第1カメラによって前記仮想空間を撮像して、第1仮想空間画像を取得する第1撮像処理と、
前記仮想画面位置に配置され、且つ、前記湾曲画面と逆方向に湾曲した逆湾曲画面に、前記第1仮想空間画像を投影あるいは表示する処理と、
前記仮想ユーザ位置に配置された第2カメラによって前記逆湾曲画面上の前記第1仮想空間画像を撮像して、第2仮想空間画像を取得する第2撮像処理と、
前記第2仮想空間画像を、前記湾曲画面に投影あるいは表示される前記仮想空間画像として設定する処理と
を含む
仮想現実シミュレータ。
【請求項2】
請求項1に記載の仮想現実シミュレータであって、
前記第1撮像処理は、更に、前記仮想ユーザ位置から水平方向に消失点が存在するように前記第1仮想空間画像を取得する処理を含み、
前記第2撮像処理は、更に、前記仮想ユーザ位置から水平方向に消失点が存在するように前記第2仮想空間画像を取得する処理を含む
仮想現実シミュレータ。
【請求項3】
請求項1又は2に記載の仮想現実シミュレータであって、
前記第1撮像処理は、更に、前記湾曲画面の全体が前記第1カメラの視野範囲の中に収まるように前記第1カメラのレンズをシフトさせる処理を含み、
前記第2撮像処理は、更に、前記湾曲画面の全体が前記第2カメラの視野範囲の中に収まるように前記第2カメラのレンズをシフトさせる処理を含む
仮想現実シミュレータ。
【請求項4】
請求項1乃至3のいずれか一項に記載の仮想現実シミュレータであって、
前記第1撮像処理は、更に、前記実ユーザ位置と前記湾曲画面との間の距離に相当する遠近感がキャンセルされるように前記第1カメラの焦点距離を調整する処理を含み、
前記第2撮像処理は、更に、前記実ユーザ位置と前記湾曲画面との間の距離に相当する遠近感がキャンセルされるように前記第2カメラの焦点距離を調整する処理を含む
仮想現実シミュレータ。
【請求項5】
請求項1乃至4のいずれか一項に記載の仮想現実シミュレータであって、
前記1又は複数のプロセッサは、
前記実ユーザ位置の過去の履歴に基づいて、未来の前記実ユーザ位置を予測し、
未来の前記実ユーザ位置に対応付けられた未来の前記仮想ユーザ位置に基づいて、前記撮像処理を行う
仮想現実シミュレータ。
【請求項6】
コンピュータにより実行され、仮想現実シミュレーションを行う仮想現実シミュレーションプログラムであって、
実空間におけるユーザの頭部の位置である実ユーザ位置の情報を取得する処理と、
前記実ユーザ位置に対応付けられた仮想空間内の位置である仮想ユーザ位置を取得する処理と、
前記仮想空間の構成を示す仮想空間構成情報に基づいて、前記仮想空間内の前記仮想ユーザ位置に配置されたカメラによって前記仮想空間を撮像して仮想空間画像を取得する撮像処理と、
前記実空間において前記ユーザから離れた位置に設置され、且つ、前記ユーザと一体的に動かない湾曲画面に、前記仮想空間画像を投影あるいは表示する処理と
を前記コンピュータに実行させ、
仮想画面位置は、前記湾曲画面の設置位置に対応付けられた前記仮想空間内の位置であり、
前記撮像処理は、
前記仮想ユーザ位置に配置された第1カメラによって前記仮想空間を撮像して、第1仮想空間画像を取得する第1撮像処理と、
前記仮想画面位置に配置され、且つ、前記湾曲画面と逆方向に湾曲した逆湾曲画面に、前記第1仮想空間画像を投影あるいは表示する処理と、
前記仮想ユーザ位置に配置された第2カメラによって前記逆湾曲画面上の前記第1仮想空間画像を撮像して、第2仮想空間画像を取得する第2撮像処理と、
前記第2仮想空間画像を、前記湾曲画面に投影あるいは表示される前記仮想空間画像として設定する処理と
を含む
仮想現実シミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、仮想現実(VR: Virtual Reality)シミュレーションに関する。特に、本開示は、ウェアレスVRシミュレーションに関する。
【背景技術】
【0002】
特許文献1は、非平面の表示面に3次元画像を表示する3次元画像表示装置を開示している。3次元画像表示装置は、非平面の表示面の仕様に基づいて、3次元画像を平面の仮想表示面に表示した場合と同様に立体視されるように視点を補正する。そして、3次元画像表示装置は、補正された画像を、非平面の表示面に表示する。
【0003】
本開示の技術分野における出願時の技術レベルを示す文献として、特許文献2及び特許文献3も挙げられる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2014-030152号公報
【文献】特開2020-120236号公報
【文献】特開2006-229768号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ユーザがヘッドマウントディスプレイ等のVR機器を装着することなくVRを体験することができる「ウェアレスVRシミュレーション」について考える。ウェアレスVRシミュレーションの場合、ユーザから離れた位置に画面が設置され、その画面に仮想世界(仮想空間)の画像が描画される。このようなウェアレスVRシミュレーションにおいてユーザが感じる違和感をなるべく抑制することが望まれる。特に、画面が湾曲している場合においても違和感を抑制することが望まれる。
【0006】
本開示の1つの目的は、湾曲画面を用いたウェアレスVRシミュレーションにおいて、ユーザが感じる違和感を抑制することができる技術を提供することにある。
【課題を解決するための手段】
【0007】
第1の観点は、仮想現実シミュレータに関連する。
仮想現実シミュレータは、
1又は複数のプロセッサと、
仮想空間の構成を示す仮想空間構成情報を格納する1又は複数の記憶装置と
を備える。
1又は複数のプロセッサは、
実空間におけるユーザの頭部の位置である実ユーザ位置の情報を取得する処理と、
実ユーザ位置に対応付けられた仮想空間内の位置である仮想ユーザ位置を取得する処理と、
仮想空間構成情報に基づいて、仮想空間内の仮想ユーザ位置に配置されたカメラによって仮想空間を撮像して仮想空間画像を取得する撮像処理と、
実空間においてユーザから離れた位置に設置され、且つ、ユーザと一体的に動かない湾曲画面に、仮想空間画像を投影あるいは表示する処理と
を行うように構成される。
仮想画面位置は、湾曲画面の設置位置に対応付けられた仮想空間内の位置である。
上記の撮像処理は、
仮想ユーザ位置に配置された第1カメラによって仮想空間を撮像して、第1仮想空間画像を取得する第1撮像処理と、
仮想画面位置に配置され、且つ、湾曲画面と逆方向に湾曲した逆湾曲画面に、第1仮想空間画像を投影あるいは表示する処理と、
仮想ユーザ位置に配置された第2カメラによって逆湾曲画面上の第1仮想空間画像を撮像して、第2仮想空間画像を取得する第2撮像処理と、
第2仮想空間画像を、湾曲画面に投影あるいは表示される仮想空間画像として設定する処理と
を含む。
【0008】
第2の観点は、コンピュータにより実行され、仮想現実シミュレーションを行う仮想現実シミュレーションプログラムに関連する。
仮想現実シミュレーションプログラムは、
実空間におけるユーザの頭部の位置である実ユーザ位置の情報を取得する処理と、
実ユーザ位置に対応付けられた仮想空間内の位置である仮想ユーザ位置を取得する処理と、
仮想空間の構成を示す仮想空間構成情報に基づいて、仮想空間内の仮想ユーザ位置に配置されたカメラによって仮想空間を撮像して仮想空間画像を取得する撮像処理と、
実空間においてユーザから離れた位置に設置され、且つ、ユーザと一体的に動かない湾曲画面に、仮想空間画像を投影あるいは表示する処理と
をコンピュータに実行させる。
仮想画面位置は、湾曲画面の設置位置に対応付けられた仮想空間内の位置である。
上記の撮像処理は、
仮想ユーザ位置に配置された第1カメラによって仮想空間を撮像して、第1仮想空間画像を取得する第1撮像処理と、
仮想画面位置に配置され、且つ、湾曲画面と逆方向に湾曲した逆湾曲画面に、第1仮想空間画像を投影あるいは表示する処理と、
仮想ユーザ位置に配置された第2カメラによって逆湾曲画面上の第1仮想空間画像を撮像して、第2仮想空間画像を取得する第2撮像処理と、
第2仮想空間画像を、湾曲画面に投影あるいは表示される仮想空間画像として設定する処理と
を含む。
【発明の効果】
【0009】
本開示によれば、ウェアレスVRシミュレーションにおいてユーザが感じる違和感を抑制することが可能となる。特に、画面が湾曲している場合においても違和感を抑制することが可能となる。
【図面の簡単な説明】
【0010】
【
図1】本開示の実施の形態に係るウェアレスVRシミュレーションの概要を説明するための概念図である。
【
図2】本開示の実施の形態に係るウェアレスVRシミュレーションの概要を説明するための概念図である。
【
図3】本開示の実施の形態に係るVRシミュレータの構成例を示すブロック図である。
【
図4】本開示の実施の形態に係るVRシミュレータの機能構成例を示すブロック図である。
【
図5】本開示の実施の形態に係るVRシミュレータによる処理を示すフローチャートである。
【
図6】本開示の実施の形態に係る仮想空間撮像処理(ステップS130)を説明するための概念図である。
【
図7】本開示の実施の形態に係る仮想空間撮像処理(ステップS130)における第1の特徴を説明するための概念図である。
【
図8】本開示の実施の形態に係る仮想空間撮像処理(ステップS130)における第2の特徴を説明するための概念図である。
【
図9】本開示の実施の形態に係る仮想空間撮像処理(ステップS130)における第3の特徴を説明するための概念図である。
【
図10】本開示の実施の形態の変形例を説明するためのブロック図である。
【
図11】本開示の実施の形態に係る湾曲画面の一例を示す概念図である。
【
図12】本開示の実施の形態に係る湾曲画面の場合の仮想空間撮像処理(ステップS130)を示すフローチャートである。
【
図13】本開示の実施の形態に係る湾曲画面の場合の仮想空間撮像処理(ステップS130)を説明するための概念図である。
【
図14】本開示の実施の形態に係る湾曲画面の場合の仮想空間撮像処理(ステップS130)を説明するための概念図である。
【
図15】本開示の実施の形態に係る湾曲画面の場合の仮想空間撮像処理(ステップS130)を説明するための概念図である。
【
図16】本開示の実施の形態に係る湾曲画面に描画される仮想空間画像を説明するための概念図である。
【
図17】本開示の実施の形態に係る逆湾曲画面の変形例を説明するための概念図である。
【発明を実施するための形態】
【0011】
添付図面を参照して、本開示の実施の形態を説明する。
【0012】
1.ウェアレスVRシミュレーションの概要
図1は、本実施の形態に係るウェアレスVR(Virtual Reality)シミュレーションの概要を説明するための概念図である。ウェアレスVRシミュレーションでは、ユーザ1は、ヘッドマウントディスプレイ等のVR機器を装着することなくVRを体験することができる。
【0013】
より詳細には、ユーザ1から離れた位置に、少なくとも一つの画面(screen)4が設置される。ヘッドマウントディスプレイの場合とは異なり、画面4は、ユーザ1から独立しており、ユーザ1と一体的には動かない。画面4の位置は固定されていてもよい。画面4は、地面に垂直に設置されてもよい。ユーザ1の周囲に複数の画面4が設置されていてもよい。複数の画面4は切れ目なく連続的に配置されていてもよい。
図1に示される例では、複数の画面4が、地面に垂直に設置されており、且つ、互いに直交するように切れ目なく連続的に配置されている。画面4はユーザ1より大きくてもよい。画面4は、例えば、VR体験ルームに設置される。
【0014】
このようにユーザ1から離れた画面4に、仮想世界(仮想空間)の画像が描画される。例えば、画面4から離れた位置にプロジェクタが設置され、プロジェクタから画面4に画像が投影される。他の例として、画面4は、液晶ディスプレイ、有機ELディスプレイ等の表示装置の画面であってもよい。その場合、表示装置の画面4に画像が表示される。以下の説明において、「画面4に画像を描画する」とは、画面4に画像を投影あるいは表示することを意味する。
【0015】
このようなウェアレスVRシミュレーションにおいて、ユーザ1が感じる違和感をなるべく抑制することが望まれる。例えば、仮想世界には物体OBJが存在する。その物体OBJがユーザ1の位置から違和感なく見えるように、その物体OBJを画面4に描画することが望まれる。違和感が少ないとは、例えば、画面4に描画される物体OBJの画像の歪みが少ないことを意味する。他の例として、違和感が少ないとは、画面4に描画される物体OBJの距離感が現実に近いことを意味する。後述されるように、本実施の形態は、ウェアレスVRシミュレーションにおいてユーザ1が感じる違和感を抑制することができる技術を提供する。
【0016】
図2を参照して、本実施の形態において用いられる主な用語について説明する。
【0017】
「実空間SPr」は、ユーザ1及び画面4が実際に存在する空間である。実空間SPrにおいて、少なくとも1つの画面4がユーザ1から離れて設置される。
【0018】
「実空間座標系(Xr,Yr,Zr)」は、実空間SPrを規定する座標系である。実空間座標系の原点は、実空間SPr内の任意の位置に設定される。Xr軸、Yr軸、Zr軸は互いに直交している。Xr軸及びYr軸は水平方向を表し、Zr軸は鉛直方向を表している。
【0019】
「実ユーザ位置Ur」は、実空間SPr(すなわち、実空間座標系)におけるユーザ1の位置である。より詳細には、実ユーザ位置Urは、実空間SPrにおけるユーザ1の頭部の位置である。例えば、実ユーザ位置Urは、実空間SPrにおけるユーザ1の目の位置である。実ユーザ位置Urは、実空間SPrにおけるユーザ1の両目の中心位置であってもよい。
【0020】
「仮想空間SPv」は、VRシミュレーションの対象である仮想世界の空間である。仮想世界は任意である。例えば、仮想世界は、一つの街である。他の例として、仮想世界は、ゲームの世界であってもよい。
【0021】
「仮想空間座標系(Xv,Yv,Zv)」は、仮想空間SPvを規定する座標系である。仮想空間座標系の原点は、仮想空間SPv内の任意の位置に設定される。Xv軸、Yv軸、Zv軸は互いに直交している。Xv軸及びYv軸は水平方向を表し、Zv軸は鉛直方向を表している。
【0022】
「仮想ユーザ位置Uv」は、仮想空間SPv(すなわち、仮想空間座標系)におけるユーザ1の位置である。
【0023】
実空間座標系(Xr,Yr,Zr)と仮想空間座標系(Xv,Yv,Zv)は、あらかじめ互いに対応付けられる。よって、実空間座標系と仮想空間座標系との間の座標変換が可能である。つまり、実空間座標系における任意の位置を、仮想空間座標系における対応する位置に変換することが可能である。逆に、仮想空間座標系における任意の位置を、実空間座標系における対応する位置に変換することも可能である。例えば、実ユーザ位置Urを、対応する仮想ユーザ位置Uvに変換することが可能である。他の例として、実空間SPrにおける画面4の位置を、仮想空間SPvにおける対応する位置に変換することが可能である。更に他の例として、仮想空間SPvにおける物体OBJの位置を、実空間SPrにおける対応する位置に変換することも可能である。
【0024】
「VRシミュレータ10」は、本実施の形態に係るウェアレスVRシミュレーションを実現するシミュレータである。VRシミュレータ10は、実空間SPrに存在する。以下、本実施の形態に係るVRシミュレータ10について詳しく説明する。
【0025】
2.VRシミュレータ
2-1.VRシミュレータの構成例
図3は、本実施の形態に係るVRシミュレータ10の構成例を示すブロック図である。VRシミュレータ10は、センサ20、情報処理装置30、及び描画装置40を含んでいる。
【0026】
センサ20は、実ユーザ位置Urを取得するために用いられる情報を検出する。例えば、センサ20は、ユーザ1を撮像するカメラである。他の例として、センサ20は、ユーザ1の頭部に装着される位置センサであってもよい。センサ20を用いた実ユーザ位置Urの取得方法の様々な例については後に詳しく説明する。
【0027】
描画装置40は、画面4に画像を描画する。例えば、描画装置40は、プロジェクタである。プロジェクタは、画面4から離れた位置に設置され、画面4に画像を投影する。他の例として、描画装置40は、液晶ディスプレイ、有機ELディスプレイ等の表示装置である。表示装置は、画面4を備えており、自身の画面4に画像を表示する。
【0028】
情報処理装置30は、各種情報処理を行うコンピュータである。情報処理装置30は、1又は複数のプロセッサ31(以下、単にプロセッサ31と呼ぶ)と1又は複数の記憶装置32(以下、単に記憶装置32と呼ぶ)を含んでいる。プロセッサ31は、各種処理を実行する。例えば、プロセッサ31は、CPU(Central Processing Unit)を含んでいる。記憶装置32は、各種情報を格納する。記憶装置32としては、揮発性メモリ、不揮発性メモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、等が例示される。
【0029】
VRシミュレーションプログラム100は、ウェアレスVRシミュレーションを行うコンピュータプログラムである。情報処理装置30(プロセッサ31)がVRシミュレーションプログラム100を実行することにより、本実施の形態に係るウェアレスVRシミュレーションが実現される。VRシミュレーションプログラム100は、記憶装置32に格納される。VRシミュレーションプログラム100は、コンピュータ読み取り可能な記録媒体に記録されてもよい。VRシミュレーションプログラム100は、ネットワーク経由で提供されてもよい。
【0030】
記憶装置32には、あらかじめ、座標変換情報210、仮想空間構成情報220、及び画面情報230が格納される。
【0031】
座標変換情報210は、実空間座標系(Xr,Yr,Zr)と仮想空間座標系(Xv,Yv,Zv)との間の対応関係を示す(
図2参照)。この座標変換情報210を用いることにより、実空間座標系と仮想空間座標系との間の座標変換を行うことが可能である。
【0032】
仮想空間構成情報220は、仮想空間SPvの構成(configuration)を示す。より詳細には、仮想空間SPvには、各種の物体OBJが存在する。仮想空間構成情報220は、仮想空間SPv(仮想空間座標系)における各物体OBJの占有範囲を示す。例えば、仮想空間構成情報220は、仮想空間SPv(仮想空間座標系)における各物体OBJの位置、サイズ、及び形状を示す。
【0033】
画面情報230は、実空間SPrに設置される各画面4の情報を示す。より詳細には、画面情報230は、実空間SPr(実空間座標系)における各画面4の占有範囲を示す。例えば、画面情報230は、実空間SPr(実空間座標系)における各画面4の位置、サイズ、及び形状を示す。
【0034】
2-2.VRシミュレータによる処理例
図4は、本実施の形態に係るVRシミュレータ10の機能構成例を示すブロック図である。VRシミュレータ10は、機能ブロックとして、実ユーザ位置取得部110、仮想ユーザ位置取得部120、仮想空間撮像部130、及び描画部140を含んでいる。これら機能ブロックは、VRシミュレーションプログラム100を実行するプロセッサ31と記憶装置32との協働により実現される。
【0035】
図5は、本実施の形態に係るVRシミュレータ10による処理を示すフローチャートである。
図4及び
図5を参照して、VRシミュレータ10による処理フローを説明する。
【0036】
2-2-1.ステップS110(実ユーザ位置取得処理)
ステップS110において、実ユーザ位置取得部110は、実空間SPrにおける実ユーザ位置Urを取得する。上述の通り、実ユーザ位置Urは、実空間SPrにおけるユーザ1の頭部の位置である。例えば、実ユーザ位置Urは、実空間SPrにおけるユーザ1の目の位置である。実ユーザ位置Urは、実空間SPrにおけるユーザ1の両目の中心位置であってもよい。
【0037】
より詳細には、実空間SPrに設置されたセンサ20が、実ユーザ位置Urを取得するために用いられる情報を検出する。センサ検出情報200は、センサ20による検出結果を示す。実ユーザ位置取得部110は、センサ20からセンサ検出情報200を取得する。センサ検出情報200は、記憶装置32に格納される。そして、実ユーザ位置取得部110は、センサ検出情報200に基づいて実ユーザ位置Urを取得する。実ユーザ位置Urの情報は、記憶装置32に格納される。
【0038】
例えば、センサ20は、ユーザ1を撮像する少なくとも一台のカメラである。カメラは、例えば、VR体験ルームの所定位置に設置される。実空間座標系におけるカメラの設置位置及び設置方向の情報は、あらかじめ与えられる。センサ検出情報200は、カメラにより撮像されるユーザ1の画像である。実ユーザ位置取得部110は、センサ検出情報200で示されるユーザ1の画像を解析することによって、ユーザ1の頭部(例えば目)を認識する。そして、実ユーザ位置取得部110は、カメラから見たユーザ1の頭部の位置、カメラの設置位置及び設置方向に基づいて、実ユーザ位置Urを取得する。
【0039】
他の例として、センサ20は、ユーザ1の頭部に装着される位置センサであってもよい。例えば、位置センサは、VR体験ルームの壁や天井に対する相対距離を計測する測距センサである。その場合、センサ検出情報200は、位置センサにより計測される相対距離である。実空間座標系における壁や天井の位置の情報は、あらかじめ与えられる。実ユーザ位置取得部110は、壁や天井の位置とそれらに対する相対距離に基づいて、実ユーザ位置Urを取得することができる。
【0040】
2-2-2.ステップS120(仮想ユーザ位置取得処理)
ステップS120において、仮想ユーザ位置取得部120は、ステップS110において取得された実ユーザ位置Urに対応付けられた仮想ユーザ位置Uvを取得する。より詳細には、仮想ユーザ位置取得部120は、座標変換情報210に基づいて、実ユーザ位置Urをそれに対応する仮想ユーザ位置Uvに変換する。仮想ユーザ位置Uvの情報は、記憶装置32に格納される。
【0041】
2-2-3.ステップS130(仮想空間撮像処理)
ステップS130において、仮想空間撮像部130は、仮想ユーザ位置Uvから見た仮想空間SPvの画像を生成する、すなわち、レンダリングを行う。仮想ユーザ位置Uvから見た仮想空間SPvの画像を、以下、「仮想空間画像IMG」と呼ぶ。
【0042】
図6は、ステップS130を説明するための概念図である。仮想空間撮像部130は、仮想空間SPv内の仮想ユーザ位置Uvに仮想カメラVCを配置する。仮想カメラVCは、ソフトウェア的に実現されるカメラである。仮想カメラVCのパラメータ(焦点距離、センササイズ、等)は、人間の視覚に合うように設定される。そして、仮想空間撮像部130は、仮想ユーザ位置Uvに配置された仮想カメラVCを用いることによって仮想空間SPvを撮像する。仮想カメラVCによって撮像される仮想空間SPvの画像が、仮想空間画像IMGである。仮想空間SPvの構成、すなわち、仮想空間SPv(仮想空間座標系)における各物体OBJの位置、形状、及びサイズは、仮想空間構成情報220から得られる。よって、仮想空間撮像部130は、仮想空間構成情報220に基づいて、仮想空間SPvを撮像して仮想空間画像IMGを取得することができる、すなわち、レンダリングを行うことができる。
【0043】
仮想空間撮像部130は、各画面4毎に仮想空間画像IMGを取得してもよい。実空間SPrにおける各画面4の位置は、画面情報230から得られる。仮想空間撮像部130は、画面情報230と座標変換情報210に基づいて、仮想空間SPvにおける各画面4の位置を取得する。そして、仮想空間撮像部130は、仮想カメラVCを用いて、仮想ユーザ位置Uvから各画面4の方向の仮想空間SPvを撮像する。あるいは、仮想空間撮像部130は、仮想ユーザ位置Uvから全周方向の仮想空間SPvを撮像してもよい。
【0044】
尚、本実施の形態では、ユーザ1の視線方向の情報は不要である。仮想カメラVCは、ユーザ1の視線方向にかかわらず、所定方向の仮想空間SPvを撮像する。所定方向は、仮想ユーザ位置Uvから見た各画面4の方向を含む。所定方向は、全周方向であってもよい。仮想空間撮像部130は、ユーザ1の視線方向の仮想空間画像IMGを切り取るのではなく、仮想ユーザ位置Uvから見える可能性のある仮想空間画像IMGを取得するのである。比較例として、上記の特許文献1に開示された技術によれば、ユーザの向きが変わるとそれに応じて仮想カメラの撮影方向も変動する。
【0045】
仮想空間撮像処理(ステップS130)では、仮想空間画像IMGが画面4に描画されたときの違和感を抑制するための工夫が行われる。違和感を抑制するための工夫については、後のセクション2-3において詳しく説明する。
【0046】
2-2-4.ステップS140(描画処理)
ステップS140において、描画部140は、描画装置40を制御することによって、仮想空間画像IMGを画面4に描画する。このとき、描画部140は、各画面4毎に得られた仮想空間画像IMGを、各画面4毎に描画してもよい。描画装置40がプロジェクタである場合、描画部140は、プロジェクタを制御することにより、仮想空間画像IMGを画面4に投影する。他の例として、描画装置40が表示装置である場合、描画部140は、表示装置を制御することにより、仮想空間画像IMGを画面4に表示する。
【0047】
2-3.仮想空間撮像処理(ステップS130)の特徴
仮想空間撮像処理(ステップS130)では、仮想空間画像IMGが画面4に描画されたときの違和感を抑制するための工夫が行われる。以下、本実施の形態に係る仮想空間撮像処理の特徴として、「消失点の固定」、「レンズシフト」、及び「遠近感調整」の三種類について説明する。三種類の特徴的処理のうち少なくとも一つによって、ユーザ1が感じる違和感を抑制する効果は少なくとも得られる。もちろん、三種類の特徴的処理のうち2以上が行われてもよい。
【0048】
2-3-1.消失点の固定
図7は、仮想空間撮像処理(ステップS130)における第1の特徴を説明するための概念図である。第1の特徴として、仮想空間画像IMGの消失点は、仮想ユーザ位置Uvから見て真っすぐ水平方向の位置に固定される。言い換えれば、仮想空間撮像部130は、仮想ユーザ位置Uvから水平方向に消失点が存在するように仮想空間画像IMGを取得する。
【0049】
ユーザ1の視線方向にかかわらず、消失点は仮想ユーザ位置Uvから見て水平方向に固定される。ユーザ1の視線方向が上下に変動したとしても、仮想カメラVCは上下に回転しない。仮に、ユーザ1の視線方向の上下変動に応じて仮想カメラVCを上下に回転させると、画面4に描画される仮想空間画像IMGの垂直線が収束し、仮想空間画像IMGが歪んで見えてしまう。本実施の形態によれば、ユーザ1の視線方向にかかわらず消失点は水平方向に固定されるため、画面4に描画される仮想空間画像IMGが歪むことが防止される。すなわち、ユーザ1が感じる違和感を抑制することが可能となる。
【0050】
当然、実空間SPrにおいてユーザ1が視線を動かせば、それに応じてユーザ1の視界は変わる。そのとき、実空間SPrに存在する物体自体が何も変わらないように、ユーザ1の周囲の画面4に描画される仮想空間画像IMG自体も何も変わらないのである。
【0051】
2-3-2.レンズシフト(Lens Shift)
図8は、仮想空間撮像処理(ステップS130)における第2の特徴を説明するための概念図である。第2の特徴として、仮想空間撮像部130は、画面4の全体が仮想カメラVCの視野範囲の中に収まるように、仮想カメラVCのレンズをシフトさせる「レンズシフト処理」を行う。レンズシフト処理では、仮想空間撮像部130は、焦点距離(focal length)を変えることなく、仮想カメラVCのレンズを上下方向及び/あるいは左右方向にシフトさせる。尚、レンズシフトによって消失点の位置は変わらない。
【0052】
画面4の全体を仮想カメラVCの視野範囲の中に収めるために必要なレンズシフト量は、画面4のサイズ、及び、実ユーザ位置Urと画面4との位置関係から決定することができる。実空間SPrにおける画面4の位置やサイズは、画面情報230から得られる。よって、仮想空間撮像部130は、実ユーザ位置Urと画面情報230に基づいて、画面4の全体を仮想カメラVCの視野範囲の中に収めるために必要なレンズシフト量を決定することができる。
【0053】
このようなレンズシフト処理を行うことにより、画面4の中で何も映らない領域が発生することが抑制される。よって、VRに対するユーザ1の没入感が向上する。
【0054】
ここでも重要なことは、仮想カメラVCを上下に回転させないことである。仮に、画面4の全体を視野範囲の中に収めるために仮想カメラVCを上下に回転させると、画面4に描画される仮想空間画像IMGの垂直線が収束し、仮想空間画像IMGが歪んで見えてしまう。本実施の形態によれば、仮想カメラVCを上下に回転させるのではなく、仮想カメラVCのレンズをシフトさせるレンズシフト処理が行われる。これにより、画面4に描画される仮想空間画像IMGが歪むことを防止することが可能となる。すなわち、ユーザ1が感じる違和感を抑制することが可能となる。
【0055】
2-3-3.遠近感の調整
図9は、仮想空間撮像処理(ステップS130)における第3の特徴を説明するための概念図である。ある画面4にある物体OBJの画像が描画される。距離DAは、ユーザ1(仮想ユーザ位置Uv)とその物体OBJとの間の距離である。距離DBは、ユーザ1(実ユーザ位置Ur)とその画面4との間の距離である。
【0056】
仮想カメラVCは、仮想ユーザ位置Uvから距離DAだけ離れた物体OBJを撮像し、その物体OBJを含む仮想空間画像IMGを生成する。仮に、距離DAだけ離れた物体OBJの画像が距離DBだけ離れた画面4にそのまま描画されるとすると、その物体OBJは、実ユーザ位置Urから見ると距離DA+DBだけ離れた位置に存在するように見えてしまう。例えば、距離DAが10mであり、距離DBが2mであるとする。10m先の物体OBJの画像が2m先の画面4にそのまま描画されると、その物体OBJは12m先に存在するように見えてしまう。すなわち、仮想空間SPvにおける遠近感に加えて、実空間SPrにおける遠近感が不必要に加わってしまう。その結果、物体OBJが本来よりも小さく見えてしまう。このことも、違和感の原因となり得る。
【0057】
そこで、第3の特徴として、仮想空間撮像部130は、実ユーザ位置Urと画面4との間の距離DBに相当する遠近感をキャンセルする。より詳細には、仮想空間撮像部130は、実ユーザ位置Urと画面4との間の距離DBに相当する遠近感がキャンセルされるように、仮想カメラVCの焦点距離を望遠側に調整する。これにより、不必要な遠近感がキャンセルされ、仮想空間SPvにおける本来の距離感が再現され、ユーザ1が感じる違和感が抑制される。
【0058】
不必要な遠近感をキャンセルするために必要な焦点距離の調整量は、実ユーザ位置Urと画面4との間の距離DBに基づいて決定される。実空間SPrにおける画面4の位置は、画面情報230から得られる。仮想空間撮像部130は、実ユーザ位置Urと画面情報230に基づいて、距離DBに相当する遠近感をキャンセルするために必要な焦点距離の調整量を決定することができる。尚、仮想空間撮像部130は、画面4毎に遠近感の調整を行う。
【0059】
2-4.変形例
上述の通り、実ユーザ位置Urの取得から仮想空間画像IMGの描画までに各種の処理が行われる。その処理時間の分だけ、画面4に描画される仮想空間画像IMGの見た目の遅延が発生する可能性がある。そのような遅延を抑制するために、変形例では、未来の実ユーザ位置Urの予測(推定)が行われる。
【0060】
図10は、変形例を説明するためのブロック図である。既出の
図4と重複する説明は適宜省略する。履歴情報HSTは、実ユーザ位置Urの過去の履歴を示す情報であり、記憶装置32に格納される。
【0061】
ステップS110において、実ユーザ位置取得部110は、実ユーザ位置Urを取得する。実ユーザ位置取得部110は、取得した実ユーザ位置Urを履歴情報HSTに登録し、履歴情報HSTを更新する。また、実ユーザ位置取得部110は、履歴情報HSTで示される実ユーザ位置Urの過去の履歴に基づいて、未来の実ユーザ位置Urを予測(推定)する。例えば、実ユーザ位置取得部110は、実ユーザ位置Urの過去の履歴に基づいて実ユーザ位置Urの加速度を算出し、その加速度から未来の実ユーザ位置Urを予測する。実ユーザ位置Urの予測に、カルマンフィルタ等が用いられてもよい。
【0062】
ステップS120において、仮想ユーザ位置取得部120は、ステップS110において予測された未来の実ユーザ位置Urに対応付けられた仮想ユーザ位置Uvを取得する。つまり、仮想ユーザ位置取得部120は、未来の仮想ユーザ位置Uvを取得する。そして、ステップS130において、仮想空間撮像部130は、未来の仮想ユーザ位置Uvに仮想カメラVCを配置して、仮想空間撮像処理を行う。
【0063】
このように、変形例によれば、未来の実ユーザ位置Urが予測され、未来の実ユーザ位置Urに対応付けられた未来の仮想ユーザ位置Uvに基づいて仮想空間撮像処理が行われる。これにより、画面4に描画される仮想空間画像IMGの見た目の遅延が抑制される。このことも、ユーザ1が感じる違和感の抑制に寄与する。
【0064】
2-5.効果
以上に説明されたように、本実施の形態によれば、ウェアレスVRシミュレーションが実現される。具体的には、実ユーザ位置Urに対応付けられた仮想ユーザ位置Uvに仮想カメラVCが配置され、その仮想カメラVCによって仮想空間SPvを撮像することにより仮想空間画像IMGが取得される。仮想空間画像IMGは、ユーザ1から離れた位置に設置されユーザ1と一体的に動かない画面4に描画される。
【0065】
仮想空間画像IMGが画面4に描画されたときの違和感を抑制するための工夫として、「消失点の固定」、「レンズシフト」、及び「遠近感調整」の三種類が説明された(セクション2-3参照)。これら三種類の特徴的処理のうち少なくとも一つによって、ユーザ1が感じる違和感を抑制する効果は少なくとも得られる。もちろん、三種類の特徴的処理のうち2以上が行われてもよい。
【0066】
本実施の形態に係るウェアレスVRシミュレーションは、画面4の位置、方位、形状に依存しない。天井、床、前後、左右の6面体のVR体験ルームを作ることも可能である。画面4を更に分割し、より複雑な形状の画面構成を実現することも可能である。全天球型のVR体験ルームを作ることも可能である。
【0067】
3.湾曲画面への応用
次に、画面4が湾曲している場合について説明する。便宜上、湾曲した画面4を、「湾曲画面4C」と呼ぶ。湾曲画面4Cは、湾曲していること以外、上述の画面4と同じである。
図11は、湾曲画面4Cの一例を示している。
図11に示される例では、湾曲画面4Cは、鉛直方向(Zr軸)と平行であり、鉛直方向(Zr軸)の周りに湾曲している。ユーザ1は、その湾曲画面4Cの前に位置している。
【0068】
本実施の形態に係るウェアレスVRシミュレーションは、湾曲画面4Cにも適用可能である。但し、何も工夫せずに仮想空間画像IMGをそのまま湾曲画面4Cに描画すると、見た目が歪み、ユーザ1が違和感を感じる可能性がある。湾曲画面4Cを用いたウェアレスVRシミュレーションにおいても、ユーザ1が感じる違和感を抑制することが望まれる。以下、湾曲画面4Cの場合に違和感を抑制するための工夫について説明する。
【0069】
3-1.仮想空間撮像処理(ステップS130)の特徴
図12は、湾曲画面4Cの場合の仮想空間撮像処理(ステップS130)を示すフローチャートである。以下、湾曲画面4Cの場合の仮想空間撮像処理について詳しく説明する。
【0070】
3-1-1.ステップS131(第1撮像処理)
ステップS131において、仮想空間撮像部130は、仮想ユーザ位置Uvから見た仮想空間SPvの画像を生成する、すなわち、レンダリングを行う。
【0071】
図13は、ステップS131を説明するための概念図である。仮想空間撮像部130は、仮想空間SPv内の仮想ユーザ位置Uvに第1仮想カメラVC1を配置する。第1仮想カメラVC1は、上述の仮想カメラVCと同様である。仮想空間撮像部130は、仮想ユーザ位置Uvに配置された第1仮想カメラVC1を用いることによって仮想空間SPvを撮像する。第1仮想空間画像IMG1は、第1仮想カメラVC1によって撮像される仮想空間SPvの画像である。仮想空間撮像部130は、仮想空間構成情報220に基づいて、仮想空間SPvを撮像して第1仮想空間画像IMG1を取得することができる。
【0072】
ステップS131において、仮想空間撮像部130は、上述のセクション2-3で説明された特徴的処理を行ってもよい。すなわち、仮想空間撮像部130は、仮想ユーザ位置Uvから水平方向に消失点が存在するように第1仮想空間画像IMG1を取得してもよい。仮想空間撮像部130は、湾曲画面4Cの全体が第1仮想カメラVC1の視野範囲の中に収まるように、第1仮想カメラVC1のレンズをシフトさせるレンズシフト処理を行ってもよい。仮想空間撮像部130は、実ユーザ位置Urと湾曲画面4Cとの間の距離DBに相当する遠近感がキャンセルされるように、第1仮想カメラVC1の焦点距離を調整してもよい。
【0073】
上述の通り、レンズシフト処理や遠近感調整処理では画面情報230が用いられる。画面情報230は、実空間SPr(実空間座標系)における湾曲画面4Cの位置、サイズ、及び形状を示す。尚、湾曲画面4Cの位置として、湾曲画面4Cを平面で近似した「近似平面A」の位置が用いられてもよい。
【0074】
3-1-2.ステップS132(仮描画処理)
図14は、ステップS132を説明するための概念図である。まず、画面位置について説明する。「実画面位置」は、実空間SPr(実空間座標系)における湾曲画面4Cの設置位置である。湾曲画面4Cを平面で近似した近似平面Aの位置が、実画面位置として用いられてもよい。実画面位置は、画面情報230から得られる。「仮想画面位置Sv」は、実画面位置に対応付けられた仮想空間SPv内の位置である。仮想空間撮像部130は、座標変換情報210に基づいて、実画面位置を仮想画面位置Svに変換することにより、仮想画面位置Svを取得することができる。
【0075】
「逆湾曲画面4R」は、湾曲画面4Cと逆方向に湾曲した仮想的な画面である。例えば、湾曲画面4Cがユーザ1から見て凸形状であれば、逆湾曲画面4Rはユーザ1から見て凹形状である。湾曲画面4Cがユーザ1から見て凹形状であれば、逆湾曲画面4Rはユーザ1から見て凸形状である。
図14に示されるように、湾曲画面4Cを近似する近似平面Aと逆湾曲画面4Rを近似する近似平面Aを重ね合わせたとき、湾曲画面4Cと逆湾曲画面4Rはその近似平面Aを挟んで対向している。湾曲画面4Cと逆湾曲画面4Rは、近似平面Aを挟んで“対称的”であると言うこともできる。
【0076】
ステップS132において、仮想空間撮像部130は、仮想空間SPv内の仮想画面位置Svに逆湾曲画面4Rを仮想的に配置する。例えば、
図14に示されるように、湾曲画面4Cを近似する近似平面Aと逆湾曲画面4Rを近似する近似平面Aが一致するように、逆湾曲画面4Rが配置される。つまり、逆湾曲画面4Rは、湾曲画面4Cの設置位置と重なるように、且つ、湾曲画面4Cと対称的に配置される。
【0077】
更に、仮想空間撮像部130は、仮想画面位置Svに配置された逆湾曲画面4Rに、上記ステップS131で得られた第1仮想空間画像IMG1を描画(投影あるいは表示)する。
図14に示されるように、逆湾曲画面4Rに描画される第1仮想空間画像IMG1は歪んで見える。
【0078】
3-1-3.ステップS133(第2撮像処理)
図15は、ステップS133を説明するための概念図である。仮想空間撮像部130は、仮想空間SPv内の仮想ユーザ位置Uvに第2仮想カメラVC2を配置する。第2仮想カメラVC2は、上述の仮想カメラVCと同様である。仮想空間撮像部130は、仮想ユーザ位置Uvに配置された第2仮想カメラVC2を用いることによって、逆湾曲画面4R上の第1仮想空間画像IMG1を撮像する。第2仮想空間画像IMG2は、第2仮想カメラVC2によって撮像される画像である。つまり、仮想空間撮像部130は、仮想ユーザ位置Uvから見た第1仮想空間画像IMG1を仮想空間SPvとして撮像して、第2仮想空間画像IMG2を取得する。
【0079】
ステップS133において、仮想空間撮像部130は、上述のセクション2-3で説明された特徴的処理を行ってもよい。すなわち、仮想空間撮像部130は、仮想ユーザ位置Uvから水平方向に消失点が存在するように第2仮想空間画像IMG2を取得してもよい。仮想空間撮像部130は、湾曲画面4Cの全体が第2仮想カメラVC2の視野範囲の中に収まるように、第2仮想カメラVC2のレンズをシフトさせるレンズシフト処理を行ってもよい。仮想空間撮像部130は、実ユーザ位置Urと湾曲画面4Cとの間の距離DBに相当する遠近感がキャンセルされるように、第2仮想カメラVC2の焦点距離を調整してもよい。尚、レンズシフト処理及び遠近感調整処理では、湾曲画面4Cが逆湾曲画面4Rと等価なものとして用いられる。湾曲画面4Cの位置、サイズ、及び形状は、画面情報230から得られる。
【0080】
3-1-4.ステップS134
ステップS134において、仮想空間撮像部130は、第2仮想空間画像IMG2を、ステップS140において湾曲画面4Cに描画(投影あるいは表示)される仮想空間画像IMGとして設定する。
【0081】
図16は、ステップS140において湾曲画面4Cに描画(投影あるいは表示)される仮想空間画像IMGを説明するための概念図である。上述の通り、第2仮想空間画像IMG2は、逆湾曲画面4Rの湾曲に応じた歪みを有する。その第2仮想空間画像IMG2が湾曲画面4Cに描画されると、逆湾曲画面4Rによる歪みとは逆方向に歪む。すなわち、逆湾曲画面4Rによる歪みと湾曲画面4Cによる歪みが相殺される。その結果、ユーザ1から見たとき、湾曲画面4Cに描画された仮想空間画像IMG(=第2仮想空間画像IMG2)は、歪みが少なく自然に見える。つまり、ユーザ1が感じる違和感が抑制される。
【0082】
尚、湾曲画面4Cと逆湾曲画面4Rは、完全な対称形状となっている必要は必ずしもない。逆湾曲画面4Rによる歪みと湾曲画面4Cによる歪みが部分的に相殺されても、ある程度の効果は得られる。つまり、逆湾曲画面4Rが湾曲画面4Cと逆方向に湾曲していれば、少なくとも効果は得られる。
【0083】
3-2.逆湾曲画面の変形例
図17は、逆湾曲画面4Rの変形例を説明するための概念図である。湾曲画面4Cに相当する逆湾曲画面4Rを僅かに変形させることによって、画像歪みが更に抑えられる。具体的には、湾曲画面4Cに相当する元の逆湾曲画面4Rと比較して、高さHを僅かに増加させ、横幅Wを僅かに減少させる。更に、逆湾曲画面4Rの左右両端を僅かに狭めてもよい。
【0084】
3-3.効果
以上に説明されたように、本実施の形態によれば、ウェアレスVRシミュレーションにおいてユーザ1が感じる違和感を抑制することが可能となる。特に、湾曲画面4Cの場合においても違和感を抑制することが可能となる。
【符号の説明】
【0085】
1 ユーザ
4 画面
10 VRシミュレータ
20 センサ
30 情報処理装置
31 プロセッサ
32 記憶装置
40 描画装置
100 VRシミュレーションプログラム
110 実ユーザ位置取得部
120 仮想ユーザ位置取得部
130 仮想空間撮像部
140 描画部
200 センサ検出情報
210 座標変換情報
220 仮想空間構成情報
230 画面情報
IMG 仮想空間画像
IMG1 第1仮想空間画像
IMG2 第2仮想空間画像
OBJ 物体
Sv 仮想画面位置
Ur 実ユーザ位置
Uv 仮想ユーザ位置
VC 仮想カメラ
VC1 第1仮想カメラ
VC2 第2仮想カメラ