≪第1実施形態≫
以下、本願発明の実施形態を図面に基づいて説明する。
図1は、本実施形態にかかる画像提示装置を備える画像提示システムの一実施形態を示すブロック図である。図1で示されるように、画像提示システム1は、画像提示装置20と第1提示端末100と第1提示端末100を備える。画像提示装置20は、例えば、所定の空間内に設置された装置で、第2提示端末200と有線または無線で通信可能である。画像提示装置20は、第2提示端末200を介して、第2提示端末200を利用するユーザに拡張現実(AR)空間を提示させる提示制御を行う。拡張現実空間は、現実空間情報と仮想空間情報に基づいて構築された空間である。具体的には、拡張現実空間は、現実空間の映像に仮想オブジェクトを重畳表示することで、現実空間が視覚的に拡張された空間である。また、画像提示装置20は、第1提示端末100と有線または無線で通信可能である。画像提示装置20は、第1提示端末100を介して、仮想現実(VR)空間を提示させる制御を行う。仮想現実空間は、コンピュータによって構築された仮想の空間である。
本実施形態では、画像提示装置20は、車両2内に配置される装置である。画像提示装置20は、車両2内の複数の座席の座席状態を管理して、車両2の空間から離れた場所にいる第1ユーザに車両2内の座席を割り付ける。そして、画像提示装置20は、車両2内に乗車している第2ユーザが装着する第2提示端末200を介して、車両2内の現実空間に第1ユーザのキャラクターが表示された拡張現実空間を第2ユーザに提示する。第2提示端末200は、第2ユーザによって装着されるヘッドマウントディスプレイであり、第2ユーザの目の前に位置するディスプレイを有する。ディスプレイには、透過型ディスプレイと非透過型ディスプレイがある。透過型ディスプレイの場合、ディスプレイの後ろの映像が透けて見えるため、第2ユーザは映像、すなわち、光線の屈折・反射によって生成される像を直接視認することができる。非透過型ディスプレイの場合、第2ユーザの眼の前に配置されたディスプレイによって第2ユーザの視界は遮られるため、第2ユーザはディスプレイの後ろの映像を直接視認することができず、ディスプレイに表示される、視界の映像が撮像された撮像画像、すなわち、電気的変換によって再現した像を視認する。また、画像提示装置20は、第1ユーザが装着する第1提示端末100を介して、車両2内の空間情報に基づいて構築された仮想空間を第1ユーザに提示する。これにより、第2ユーザは、第1ユーザと同じ車両2内の空間情報を共有することができる。第1提示端末100は、非透過型ディスプレイを有するヘッドマウントディスプレイである。また、第1ユーザと第2ユーザは、マイクやヘッドホンを用いてお互いにコミュニケーションをとることができる。本実施形態では、車両2の空間情報に基づいて構築された仮想空間を提示するVRシステムを第1ユーザが起動した場面を想定している。具体的には、本実施形態では、第1ユーザが当該VRシステムを起動すると、車両2内に位置する複数の座席からいずれかの座席を第1ユーザに割り付けて、割り付けられた座席の位置に応じて、車両2内に第1ユーザのキャラクターが提示された拡張現実空間を第2ユーザに提示する。
車両2は、センサ群10を備える。センサ群10は、車内を撮像する複数のカメラ11と、車内の複数の座席それぞれにかかる荷重を検知する荷重センサ12を含む。荷重センサ12は、例えば、シートセンサやシートベルトセンサである。また、車両2は、座席それぞれにヒートシータ13を備え、座席のシート表面の温度を調節する。なお、本実施形態では、複数の座席を有する車両を想定して画像提示制御を行うこととしているが、車両に限らず、現実の空間内に複数の座席があれば、車両以外の空間であってもよく、開放空間あるいは閉鎖空間のいずれの空間であってもよい。例えば、電車等の車両以外の乗り物、映画館、スポーツや音楽イベント等の会場であってもよい。また、複数のプレイヤーが座席に座ってゲームをするような空間であってもよい。
画像提示装置20は、少なくともコントローラ21と、通信装置28とを備える。コントローラ21は、ハードウェア及びソフトウェアを有するコンピュータを備えており、このコンピュータはプログラムを格納したROM(Read Only Memory)と、ROMに格納されたプログラムを実行するCPU(Central Processing Unit)と、アクセス可能な記憶装置として機能するRAM(Random Access Memory)を含むものである。コントローラ21は、機能ブロックとして、座席情報取得部22と、座席割付部23、第1画像制御部24、第2画像制御部25と、希望座席受付部26と、情報提示部27とを備え、上記各機能を実現する又は各処理を実行するためのソフトウェアと、ハードウェアとの協働により各機能を実行する。コントローラ21は、座席情報取得部22により取得された座席状態に関する座席情報に基づいて、座席割付部23により着座が可能である座席を第1ユーザに割り付ける。そして、コントローラ21は、第1画像制御部24により、第2ユーザの視界又は視界に対応する画像上において、第1ユーザに割り付けられた第1座席の位置に第1ユーザのキャラクターが重畳されるように画像提示制御を行う。なお、本実施形態では、コントローラ21が有する機能を6つのブロックとして分けた上で、各機能ブロックの機能を説明するが、コントローラ21の機能は必ずしも6つのブロックに分ける必要はなく、5以下の機能ブロック、あるいは、7つ以上の機能ブロックで分けてもよい。
座席情報取得部22は、現実空間の車両2内に存在する複数の座席それぞれについて座席状態に関する座席情報を取得する。座席情報は、座席への着座の可否に関する情報である。座席への着座の可否は、仮想空間の第1ユーザのキャラクターを提示する際に、第1ユーザのキャラクターが現実空間の物体に重ならない座席であるか否かによって判定される。まず、座席情報取得部22は、現実の物体による座席の占有状況、すなわち、現実の物体が物理的に座席上に存在するか否かによって、当該座席に着座が可能であるか否かを特定する。現実の物体の例としては、乗員、荷物等が挙げられる。例えば、座席情報取得部22は、車両2内に設置されたカメラ11等の非接触センサによって座席を撮像した撮像情報から、座席への着座の可否を特定する。具体的には、座席情報取得部22は、撮像情報から、画像認識技術により、座席に現実の物体が存在するか否かを判定し、判定結果に基づいて、座席への着座の可否を特定する。座席に現実の物体が存在しない場合には、座席への着座が可能であると特定される。また、座席情報取得部22は、座席にかかる荷重を検知する荷重センサ12によって取得された荷重情報から、座席への着座の可否を特定する。具体的には、荷重センサ12が座席に所定値以上の荷重がかかっていると検知してオン値を出力した場合には、座席情報取得部22は、座席への着座が不可能であると特定される。荷重センサ12は、例えば、シートセンサやシートベルトセンサである。これらの方法により座席への着座の可否を特定することで、座席情報取得部22は、座席への着座の可否に関する座席情報を取得する。
また、座席情報取得部22は、座席に現実の物体が存在する場合には、当該物体の種別を特定する。例えば、カメラ11により物体を撮像し、画像認識技術により、物体の特徴を抽出し、物体の種別を特定する。物体の種別は、例えば、「人間」、「荷物」といった種別である。物体が人間であると特定された場合には、さらに、顔認識技術により、それが誰なのかを特定することとしてもよい。例えば、車両2を利用する人間の顔を事前に登録しておき、登録情報から人物を特定する。また、座席に物体が存在すると判定された場合であっても、座席情報取得部22は、画像認識技術により、着座可能な物体を特定することとしてもよい。着座可能な物体は、例えば、座布団、ブランケット等の、現実に当該物体の上に人間が着座することができる物体である。座席情報取得部22は、座席の上にある物体が、着座可能な物体であると特定した場合には、当該座席を、着座が可能であると特定する。
また、座席情報取得部22は、座席に物体が存在しない場合には、座席それぞれに設定されている予約情報から、座席への着座の可否を特定する。予約情報は、すでに他のユーザにより予約されている座席の情報である。例えば、第2ユーザが、第2提示端末200の入力部220に、車内の特定の座席を他ユーザの予約席として入力している場合には、座席情報取得部22は、当該座席は着座が不可能であるという座席情報を取得する。出発時には乗車していなかったユーザを走行途中にピックアップして乗車させるような場面では、空席となっている座席があったとしても、その後に当該座席に現実の他ユーザが着座すると、第1ユーザのキャラクターが他ユーザと重なってしまう可能性があるからである。
また、座席情報取得部22は、車両2内の複数の座席のいずれかあるいは全ての座席について、着座が不可能であると判定された場合には、着座が不可能である座席について、着座が不可能である理由を特定する。着座が不可能な理由は、座席に人が座っているから着座ができない、座席に荷物が置いてあるから着座ができない、または、予約座席として登録されているから着座ができない等が例として挙げられる。
図2を用いて、座席情報取得部22により実行される処理について説明する。図2は、本実施形態に係る座席情報取得部22による処理が実行される場面の一例である。図2では、車両2に第2ユーザが乗車していて、第1ユーザは、車両2から離れた場所にいることが示されている。車両2には座席が3席あり、それぞれ座席A、座席B、座席Cである。なお、座席数は3席に限定されず、常用車やバス等の一般的な座席数であればよい。また、座席の配置についても、複数の座席を横一列に配置するのみならず、前後に複数列の座席を配置することとしてもよい。図2では、第2ユーザが座席Aに座っていて、座席Bに荷物が置いてあるという状況で、第1ユーザに車両2の座席を割り付ける場面である。このような状況では、座席情報取得部22は、座席Aと座席Bを着座が不可能な座席として特定し、座席Cを着座が可能な座席として特定する。また、座席情報取得部22は、座席A上の物体は人間であること、座席B上の物体は荷物であることを特定する。そして、座席情報取得部22は、複数の座席それぞれについて特定された着座の可否に関する座席状態を座席情報として取得する。なお、図2では、着座が可能である座席は「空席」、着座が不可能である座席は「満席」として示されている。また、座席情報取得部22は、現実空間の座席の座席状態を取得することとしているが、さらに仮想空間の座席の座席状態を取得することとしてもよい。仮想空間の座席は、現実空間の座席と対応している。例えば、図3は、第1ユーザのキャラクターが座席Cに表示されている場面を示している。第2ユーザは、第2提示端末200を介して、座席Aの位置からの視界上に、座席Cに着座している第1ユーザのキャラクターが見える。このとき、第1ユーザのキャラクターが座席Cに提示された場合には、仮想空間の座席の座席状態としては、座席Cが着座不可能な座席として特定される。したがって、座席情報取得部22は、現実空間の座席の座席状態(座席A、座席Bともに着座が不可能)と合わせて、全席が満席であると特定する。
座席割付部23は、座席情報取得部22により取得された座席情報に基づいて、現実空間の車両2内の複数の座席のいずれかひとつを第1座席として、車両2から離れた場所にいる第1ユーザに割り付ける。具体的には、座席割付部23は、座席情報取得部22により着座が可能であると特定された座席を第1ユーザに割り付ける。これにより、現実空間の車両2内において、人間や荷物等に干渉されることのない座席を第1ユーザに割り付けることができる。
また、座席割付部23は、希望座席受付部26により第1ユーザが希望した座席を第1ユーザに割り付ける。あるいは、事前に第2ユーザが第1ユーザの座席位置を指定している場合には、指定情報に基づいて座席を選択して割り付けることとしてもよい。
また、座席割付部23は、車両2内の複数の座席のいずれかに第2ユーザが着座している場合、第2ユーザが着座している第2座席の位置に応じて、着座可能な座席を第1ユーザに割り付けることとしてもよい。例えば、座席割付部23は、座席情報取得部22により取得された第2座席の位置情報に基づいて、第2座席の両隣に位置する座席のいずれかが着座可能であれば、当該座席を第1ユーザに割付ける。これにより、第2ユーザにとって第1ユーザと会話がしやすい位置に第1ユーザの座席を割り付けることができる。
さらに、座席割付部23は、第1ユーザに座席を割り付けた後に、当該座席が着座不可能であると判定された場合には、座席情報に基づいて、再度、着座が可能である座席を第1ユーザに割り付ける。例えば、現実空間の車両2に新しく現実のユーザが乗車してきて、第1ユーザに割り付けた座席に着座することとなった場合、座席割付部23は、第1ユーザに対して他の着座可能な座席を割り付ける。また、座席割付部23は、希望座席受付部26により第1ユーザから着座を希望する再選択があった座席を第1ユーザに割り付けることとしてもよい。また、座席割付部23は、仮想空間上に仮想の座席を生成して当該座席を第1ユーザに割り付けることとしてもよい。
第1画像制御部24は、第2ユーザの視界又は視界に対応する実画像上において、第1座席の位置に第1ユーザと関連付けられたキャラクター画像を重畳させるように画像提示制御を行う。具体的には、第1画像制御部24は、上記画像提示制御を行う制御信号を第2提示端末200に出力する。まず、第2提示端末200のディスプレイが透過型ディスプレイである場合には、第1画像制御部24は、現実空間の車両2内外の映像の情報を取得し、当該情報から第2ユーザの視界に含まれる映像上の第1座席の位置を取得する。具体的には、第1画像制御部24は、現実空間において第1座席が存在する位置を表す3次元座標を取得する。また、第1画像制御部24は、第2提示端末200により取得された第2ユーザの位置姿勢情報を取得する。位置姿勢情報は、ユーザの頭部の位置と頭部の向きに関する情報である。第1画像制御部24は、取得された3次元座標から2次元座標に変換してディスプレイ上の第1座席の位置を決定する。これにより、第1画像制御部24は、ディスプレイ上の座席の位置を特定する。また、第2提示端末200のディスプレイが非透過型ディスプレイである場合には、第2ユーザの視界に含まれる映像が撮像された撮像画像情報を取得する。また、第1画像制御部24は、当該撮像画像上の第1座席の位置を取得する。具体的には、第1画像制御部24は、現実空間において第1座席が存在する位置を表す3次元座標を取得する。また、第1画像制御部24は、第2提示端末200により取得された第2ユーザの位置姿勢情報を取得する。そして、第1画像制御部24は、取得された3次元座標から2次元座標に変換して撮像画像上の第1座席の位置を決定する。これにより、第1画像制御部24は、撮像画像上の第1座席の位置を取得する。
次に、第1画像制御部24は、第1ユーザのキャラクター画像を生成する。キャラクター画像は、第1ユーザを撮像した画像から構築したキャラクター画像であってもよいし、第1ユーザが作成または選択したキャラクター画像であってもよい。また、このとき、第1画像制御部24は、第1提示端末100から第1ユーザの位置姿勢情報を取得して、当該位置姿勢情報に基づいて、第1ユーザの姿勢の動きを反映したキャラクター画像を生成する。なお、取得される位置姿勢情報は、頭部の動きの情報であり、その他の姿勢は、第1ユーザの動きにかかわらず、キャラクターが座席に座っている状態の画像を生成する。なお、第1ユーザが手にVRコントローラを持っている場合には、VRコントローラのセンサから、第1ユーザの手や腕の動きの情報が取得されることとしてもよい。生成された第1ユーザのキャラクターが、仮想空間上の第1ユーザ、いわゆるアバターとなる。
そして、第1画像制御部24は、第2ユーザの視界又は視界に対応する画像上の第1座席の位置に、生成された第1ユーザのキャラクター画像を重畳させるように画像提示制御を行う。具体的には、第2提示端末200のディスプレイが透過型ディスプレイである場合には、第1画像制御部24は、ディスプレイ上の第1座席の位置を表す2次元座標に基づいて、生成した第1ユーザのキャラクター画像をディスプレイ上に表示させる制御信号を第2提示端末200に出力する。第2ユーザの視界における第1座席の位置は、透過型ディスプレイ上の座席の位置に対応するため、第2提示端末200は、ユーザの視界に第1ユーザのキャラクター画像が提示されるように、ディスプレイ上の第1座席の位置に第1ユーザのキャラクター画像を提示する。また、第2提示端末200のディスプレイが非透過型ディスプレイである場合には、第1画像制御部24は、まず、撮像画像から第2ユーザの視界に含まれる映像に対応する実画像を生成する。当該実画像は、第2ユーザから見える車室内外の映像に対応する。そして、第1画像制御部24は、第1座席の位置を表す2次元座標に基づいて、実画像上の第1座席の位置に第1ユーザのキャラクター画像を重畳させた提示画像を生成する。そして、第1画像制御部24は、生成された提示画像を第2提示端末200のディスプレイに提示させる制御信号を第2提示端末200に出力する。第2ユーザの視界に対応する実画像上の第1座席の位置は、非透過型ディスプレイ上の第1座席の位置に対応するため、第2提示端末200は、ユーザの視界に対応する実画像上の第1座席の位置に第1ユーザのキャラクター画像が重畳された提示画像をディスプレイに提示する。
第2画像制御部25は、第1ユーザに車両2内の座席状態に関する座席情報を提示させる制御を行う。具体的には、第2画像制御部25は、座席情報を第1提示端末100のディスプレイに提示させる制御信号を出力する。あるいは、車両2内に第1ユーザに割り付けられる座席がない場合に、第2画像制御部25は、その旨を示すメッセージ画像を提示させる制御を行う。
希望座席受付部26は、第2画像制御部25により座席状態を第1ユーザに提示させて、着座が可能である複数の座席のうち、第1ユーザが希望する座席の選択を受付ける。具体的には、希望座席受付部26は、第2画像制御部25により、第1提示端末100のディスプレイ上に座席状態を表す画像を提示させる。第1ユーザは、ディスプレイに提示される座席状態を見て、希望する座席の選択を行う。例えば、リモコン操作や音声による選択情報の入力によって、第1ユーザは、希望する座席の選択を行う。選択情報が入力されると、希望座席受付部26は、第1ユーザの選択情報を受け付けて、選択情報を座席割付部23に出力する。
情報提示部27は、いずれかの座席において着座が不可であると判定される場合、着座が不可能である理由を取り除く提案を第2ユーザに提示する。着座が不可能である理由は、座席に人間が座っている、座席に荷物が置いてある、又は、座席に他のユーザの予約がされている等である。これにより、例えば、座席に荷物が置いてある場合であれば、第2ユーザが荷物を移動させることで、第1ユーザに割付けられる座席を確保できる。具体的には、情報提示部27は、第2ユーザが装着する第2提示端末200のディスプレイに視覚的にメッセージを表示するか、あるいは、スピーカーによってメッセージの音声を出力することによって第2ユーザへの情報の提示を行う。
通信装置28は、第2提示端末200の端末通信部240及び第1提示端末100の端末通信部140と通信を行い、情報の授受を行う。例えば、通信装置28は、座席情報や車両2内の撮像画像を第1提示端末100の端末通信部140に送信し、第1ユーザのキャラクター画像や表示位置の情報を第2提示端末200の端末通信部240に送信する。
第2提示端末200は、車両2内にある座席のいずれかに座っている第2ユーザに利用される装置で、ディスプレイを介して、現実空間の映像を視覚的に拡張させた拡張現実空間を第2ユーザに提示する。映像には、光線の屈折・反射によって生成される像と、電気的変換によって再現した像が含まれる。第2提示端末200は、例えば、拡張現実(AR)用ヘッドマウントディスプレイであり、第2ユーザの頭部に装着される装置である。第2提示端末200は、第2ユーザの目の前に位置するディスプレイを有する。第2提示端末200に備えられているディスプレイは、例えば、透過型ディスプレイである。この場合、第2提示端末200は、当該ディスプレイ上に仮想オブジェクトの画像を表示することで、ディスプレイを通じて、第2ユーザが直接視認している映像に仮想オブジェクトの画像を重畳させるように提示する。すなわち、第2ユーザには、直接視認している映像にあたかも仮想オブジェクトが存在するかのように見える。また、ディスプレイは、非透過型ディスプレイであってもよい。第2提示端末200は、ディスプレイの後ろ側の映像を撮像した撮像画像、すなわち、第2ユーザの視界に対応する画像に仮想オブジェクトの画像を重畳させて生成された提示画像をディスプレイに提示する。非透過型ディスプレイ上に表示される第2ユーザの視界に対応する画像は、電気的変換によって再現された像である。本実施形態では、ディスプレイ上に提示される仮想オブジェクトは第1ユーザのキャラクター画像であり、第2ユーザは、第2提示端末200のディスプレイを介して、あたかも第1ユーザが車両2内の座席に着座しているかのような映像を見ることができる。
第2提示端末200は、センサ群210と、入力部220と、出力部230と、端末通信部240とを備える。センサ群210は、カメラ211と、加速度センサ212と、ジャイロセンサ213とを備え、第2ユーザの頭部の向きまたは視線の方向を検知する。例えば、カメラ211により第1ユーザの眼球を撮像し、撮像した画像を解析して視線方向を検知する。また、加速度センサ212やジャイロセンサ213により頭部の動きを計測して頭部の向きを検知する。さらに、第2提示端末200は、取得した画像やセンサ情報から、装着されている第2ユーザの頭部の位置姿勢を推定する。センサ群210により取得された第2ユーザの頭部の向きや視線の方向に関する姿勢情報などは、端末通信部240により画像提示装置20に出力される。また、入力部220は、第2ユーザによる操作入力を受付ける。例えば、第2ユーザは、第1ユーザのキャラクターが表示される座席の位置を選択し、入力操作を行う。出力部230は、画像提示装置20の通信装置28により出力された画像提示制御に関する制御信号に基づき、ディスプレイ上に画像を提示する。端末通信部240は、画像提示装置20の通信装置28と通信を行う。端末通信部240は、第2ユーザの入力情報や位置姿勢情報を画像提示装置20に送信し、画像提示装置20から、画像提示制御に関する制御信号を受信する。
第1提示端末100は、車両2から離れた場所にいる第1ユーザに利用される装置で、ディスプレイを介して、車両2の空間に基づいて構築された仮想空間を第1ユーザに提示する。例えば、仮想現実(VR)用ヘッドマウントディスプレイであり、第1ユーザの頭部に装着される装置である。第1提示端末100に備えられているディスプレイは、非透過型ディスプレイである。非透過型ディスプレイでは、第1ユーザの眼の前に配置されたディスプレイによって第1ユーザの視界は遮られる。第1提示端末100は、ユーザの視線の方向に応じて、車両空間が撮像された撮像画像、すなわち、ユーザの視線に対応する方向の車室内外の画像をディスプレイに提示する。これにより、第1ユーザは、第1提示端末100のディスプレイを介して、自分があたかも車両2内の座席に着座しているかのような映像を見ることができる。
第1提示端末100は、センサ群110と、入力部120と、出力部130と、端末通信部140とを備える。第1提示端末100は、第2提示端末200と構成は同じであり、カメラ111と、加速度センサ112と、ジャイロセンサ113とを備え、第1ユーザの頭部の向きまたは視線の方向を検知する。例えば、カメラ111により第1ユーザの眼球を撮像し、撮像した画像を解析して視線方向を検知する。また、加速度センサ112やジャイロセンサ113により頭部の動きを計測して頭部の向きを検知する。さらに、第1提示端末100は、取得した画像やセンサ情報から、装着されている第2ユーザの頭部の位置姿勢を推定する。センサ群110により取得された第1ユーザの頭部の向きや視線の方向に関する姿勢情報は、端末通信部140により画像提示装置20に出力される。また、入力部120は、第1ユーザによる操作入力を受付ける。例えば、第1ユーザは、希望座席受付部26により提示された座席情報から、着座を希望する座席の選択情報を入力する。出力部130は、ディスプレイを有し、画像提示装置20の通信装置28により出力された、画像提示制御に関する制御信号に基づき、ディスプレイ上に画像を提示する。端末通信部140は、画像提示装置20の通信装置28と通信を行う。また、端末通信部140は、第1ユーザが希望する座席の選択情報や第1ユーザの位置姿勢情報を画像提示装置20に送信し、画像提示装置20から、画像提示制御に関する制御信号を受信する。
図4は、画像提示制御にかかるフローチャートである。本実施形態では、第2ユーザが乗車している車両2の空間に対応する仮想現実空間を表示するシステムを第1ユーザが起動した時に、ステップS401から画像提示制御を開始する。
ステップS401では、座席情報取得部22は、車両2内に位置する複数の座席それぞれの着座の可否に関する情報を取得する。例えば、座席情報取得部22は、座席上に物理的に物体が存在するか否かを判定する。座席上に物理的に対象が存在するか否かの判定は、車室内を撮像するカメラ11の撮像画像や座席への荷重を検知するセンサの検知結果に基づいて行われる。判定結果に応じて、座席情報取得部22は、座席への着座可否を特定し、特定結果を座席情報として取得する。また、座席情報取得部22は、座席上に物理的に対象が存在しない場合であっても、予約済み等によって既に他ユーザに割り付けられている座席があれば、当該座席は着座不可能な座席として判定する。
なお、着座が可能な座席がないと特定された場合には、情報提示部27により、第2ユーザに、着座が不可能である理由を解消するための提案を提示することとしてもよい。これにより、例えば、第2ユーザが座席から荷物を移動させた場合には、座席情報取得部22は、当該座席を、着座が可能な座席があると特定する。
ステップS402では、希望座席受付部26は、ステップS401で取得された座席情報に基づいて、ユーザに着座可能な座席の情報を提示し、着座可能な座席のうち、着座を希望する座席に関するユーザの選択を受け付ける。例えば、希望座席受付部26は、第1提示端末100のディスプレイに車両2内の座席の配置図の画像を提示させて、着座可能な座席の色を変える等の強調提示をさせる制御を第2画像制御部25に実行させる。そして、提示された座席の配置図の中からユーザが着座を希望する座席を選択する入力操作を行うと、希望座席受付部26は、ユーザの希望座席を受け付ける。
なお、ステップS402では、希望座席受付部26がユーザの選択を受け付けることに限らず、ユーザによる選択を行わずに、座席割付部23が自動的にユーザに割り付ける座席を選択することとしてもよいし、車両2に乗車しているユーザが事前に設定した座席をユーザに割り付ける座席として選択することとしてもよい。
ステップS403では、座席割付部23は、ステップS402で希望座席受付部26により受け付けられた希望座席を第1ユーザに割り付ける。
ステップS404では、第2画像制御部25は、第2ユーザの視界又は視界に対応する画像上の第1座席の位置に第1ユーザのキャラクター画像を重畳させるように画像提示制御を行う。具体的には、ディスプレイ上の当該位置に第1ユーザのキャラクター画像を提示させる制御を行う。ディスプレイは透過型ディスプレイでも非透過型ディスプレイでもいい。第2画像制御部25は、透過型ディスプレイの場合には、第2ユーザの視界における第1座席の位置に第1ユーザのキャラクター画像を提示させる。また、第2画像制御部25は、非透過型ディスプレイの場合には、第2ユーザの視界に対応する画像における第1座席の位置に第1ユーザのキャラクター画像を重畳して提示画像を生成し、生成された提示画像をディスプレイに表示させる。
ステップS405では、座席情報取得部22は、座席が第1ユーザに割り付けられた後に、第1座席が着座不可になったか否かを特定する。着座不可になる要因としては、例えば、当該座席に現実に他ユーザが着座する場合である。座席情報取得部22は、カメラ11による撮像やシートセンサによる荷重検知により、第1座席が着座不可になったか否かを特定する。座席情報取得部22が、第1座席が着座不可になったと特定した場合、ステップS402に進む。以下、第1ユーザが希望する座席の再選択を受け付ける制御が実行される。また、第1座席が着座不可能になった場合には、第2画像制御部25は、第1座席に提示されていた第1ユーザのキャラクター画像を消去する。さらに、コントローラ21は、第1座席に設定されているヒートシータ13を一定時間オンにする。第1座席が着座不可になったと判定されない場合、ステップS406に進む。
ステップS406では、コントローラ21は、第1ユーザがVRシステムを停止したか否かを判定する。コントローラ21は、第1ユーザがVRシステムを停止したと判定した場合には、画像提示制御を終了する。コントローラ21は、第1ユーザがVRシステムを停止したと判定されない場合には、ステップS405に戻り、以下、第1ユーザに割り付けられた座席が着座不可能と判定されない限り、第1ユーザのキャラクターを提示する。
以上のように、本実施形態では、空間内に位置する複数の座席それぞれの着座の可否に関する座席情報を取得し、座席情報に基づいて、複数の座席のうち、着座が可能である座席を第1座席として、空間から離れた場所にいる第1ユーザに割り付け、複数の座席のいずれかひとつに着座している第2ユーザの視界に含まれる映像の情報に基づいて、視界又は視界に対応する実画像上において、第1座席の位置に第1ユーザに関連付けられたキャラクター画像が重畳されるように画像提示制御を行う。これにより、現実空間の座席状態を管理して仮想空間のキャラクターが現実空間の座席に存在するような拡張現実空間をユーザに提示することができる。
また、本実施形態では、座席情報は、複数の座席それぞれにおいて、現実の物体による座席の占有状況に基づいた着座の可否に関する情報を含む。これにより、現実の物体によって座席が占有されている状況に基づいて、着座の可否が判定されるため、着座が可能な物体によって占有されている状況であれば、着座が可能であると判定できる。
また。本実施形態では、座席情報を第1ユーザに提示し、着座が可能である複数の座席のうち、第1ユーザが着座を希望する座席の選択を受け付け、受付けられた座席を第1ユーザに割り付ける。これにより、着座が可能である座席の中で、第1ユーザが自由に座席を選択することができる。
また、本実施形態では、第2ユーザが着座している第2座席の位置に応じて、着座が可能である座席を第1ユーザに割り付ける。これにより、ユーザによる選択を行わずに、第2ユーザにとって適した位置の座席を選択して第1ユーザに割り付けることができる。
また、本実施形態では、複数の座席それぞれが撮像された撮像情報から、複数の座席それぞれの着座の可否を特定することで、座席情報を取得する。これにより、カメラから撮像された画像から、座席における現実の物体の認識を行うことができる。
また、本実施形態では、複数の座席それぞれにかかる荷重を検出するセンサから取得した荷重情報から、複数の座席それぞれの着座の可否を特定することで、座席情報を取得する。これにより、座席にかかる荷重情報によって、座席における現実の物体の認識を行うことができる。
また、本実施形態では、現実の物体による座席の占有状況、又は、座席の予約状況を示す情報を、座席情報として取得し、着座が不可能である場合には、座席情報に基づき、着座が不可能である理由を特定し、特定された理由を第2ユーザに提示する。これにより、着座を希望する第1ユーザの意思を第2ユーザに提示することができる。
また、本実施形態では、第1座席が第1ユーザに割り付けられた後に、座席情報に基づいて、第1座席への着座が不可能となったと判定された場合には、着座が可能である座席を第1ユーザに割り付ける。これにより、座席の割付後に、ユーザによる選択を行わずに、第1ユーザのキャラクター提示が現実の物体に重なることを回避できる。
また、本実施形態では、第1座席が第1ユーザに割り付けられた後に、座席情報に基づいて、第1座席への着座が不可能となったと判定された場合には、座席情報を第1ユーザに提示し、着座が可能である複数の座席のうち、第1ユーザが着座を希望する座席の選択を受け付け、受付けられた座席を第1ユーザに割り付ける。これにより、座席の割付後に、第1ユーザのキャラクター提示が現実の物体に重なることを回避できるとともに、第1ユーザに自由に座席を再選択させることができる。
また、本実施形態では、画像提示制御後に、キャラクター画像を第1座席の位置から消去する場合には、キャラクター画像を消去した時点から、所定時間、第1座席に設けられたシートヒータをオンにする。これにより、キャラクターが座っていた座席に温もりが残ることで、より現実に即した拡張現実空間を提供することができる。
≪第2実施形態≫
次に、本発明の第2実施形態について説明する。第2実施形態に係る画像提示システム1は、以下に説明する点において第1実施形態に係る画像提示システム1と異なること以外は、第1実施形態と同様の構成を有し、第1実施形態と同様に動作するものであり、第1実施形態の記載を適宜、援用する。本実施形態では、コントローラ21は、第2画像制御部25により、視界画像取得部29が取得した視界画像を第1ユーザに提示させる画像提示制御を行う。
図5は、第2実施形態に係る画像提示システム1を示す構成図である。第2実施形態に係る画像提示システム1は、第1実施形態に係る画像提示装置20の構成に加えて、視界画像取得部29をさらに備える。
視界画像取得部29は、車両空間に対応する仮想空間の任意の位置からの視界画像を取得する。仮想空間は、現実空間の車両2内の映像から構築された仮想の車両2内の空間である。まず、視界画像取得部29は、第1提示端末100により取得された第1ユーザの位置姿勢情報を取得する。次に、視界画像取得部29は、取得された第1ユーザの位置姿勢情報に基づいて、仮想空間内における第1ユーザの仮想視点の位置と第1ユーザの視線に対応する方向を設定する。そして、視界画像取得部29は、車両2内の複数のカメラ11によって撮像される撮像画像から、第1ユーザの仮想視点の位置を基準として第1ユーザの視線に対応する方向の視界画像を取得する。このとき、第1ユーザの仮想視点の位置は、第1ユーザが第1座席に座った時の目線の位置に設定される。第1ユーザが第1座席に座った時の目線の位置は、あらかじめ第1ユーザの座高等を入力することで定めてもいいし、座席に座っている人間の一般的な目線の位置を設定しておくこととしてもよい。
第2画像制御部25は、第1ユーザが視認している第1提示端末100のディスプレイに、視界画像取得部29により取得された視界画像を提示する。すなわち、第2画像制御部25は、車両空間が撮像された画像情報から構築された仮想空間を提示する。具体的には、第2画像制御部25は、視界画像をディスプレイに表示するよう制御信号を第1提示端末100に出力する。これにより、第1ユーザは、仮想空間内に設定された仮想視点から見える車室内外の映像に対応する画像をディスプレイを介して見ることができる。
また、現実に第1ユーザが存在しない車両2内の空間情報から構築された仮想空間では、第1ユーザの身体は表示されないため、第1ユーザは自身の身体を視認することができない。しかし、現実には、第1ユーザが下方に視線を向ければ、自分自身の身体部分が視界に入るのが自然である。第1ユーザのキャラクターが座席に着座している場合に、第1ユーザが視線を下方に向けると、座席の位置に第1ユーザのキャラクターの足が見えることで、より現実に近い感覚を第1ユーザに与えることができる。そこで、以下、第1ユーザの視線の方向に応じて、第1ユーザのキャラクターの身体の画像を重畳させて表示する制御を説明する。第2画像制御部25は、第1ユーザの視線が第1ユーザの身体に向いていると判定される場合には、視界画像上において第1ユーザの身体の位置に対応する位置に第1ユーザのキャラクター画像を提示する。具体的には、まず、第2画像制御部25は、第1ユーザの視線の方向に第1ユーザの身体があるか否かを判定する。例えば、第2画像制御部25は、第1ユーザの位置姿勢情報から、第1ユーザの視線の方向が下方に所定角度以上傾いていると検知される場合には、第1ユーザの視線が第1ユーザの身体に向いていると判定する。あるいは、第2画像制御部25は、第1ユーザの視線に対応する方向の映像を撮像した撮像画像から、画像認識技術により、第1ユーザの身体が特定できるか否かで判定することとしてもよい。第1ユーザの視線の方向に第1ユーザの身体があると判定される場合には、第2画像制御部25は、視界画像上の第1ユーザの身体の位置に対応する位置に、第1ユーザの身体に対応する第1ユーザのキャラクターの身体部分を示す画像が重畳された提示画像を生成する。例えば、第1ユーザのキャラクターは第1座席に着座しているため、第2画像制御部25は、座席に着座している第1ユーザのキャラクターの足を示す画像を第1座席の位置に重畳させた提示画像を生成する。そして、第2画像制御部25は、生成された提示画像をディスプレイに提示させる制御信号を第2提示端末200に出力する。これにより、第1ユーザは、仮想空間中であっても、自身の視線を下げて第1座席のほうに向けると、自身のキャラクターの身体を視認することができる。
図6は、画像提示制御の手順を示すフローチャートである。ステップS601からステップS603までの処理は、図4のステップS401からS403までの処理と同じであるため、説明を省略する。以下、ステップS604からフローチャートに基づいて、制御手順を説明する。
ステップS604では、視界画像取得部29は、第1ユーザの仮想視点から第1ユーザの視線に対応する方向の車両2内の空間の映像が撮像された視界画像を取得する。このとき、第1ユーザの仮想視点の位置は、ステップS603で座席割付部23により割り付けられた第1座席の位置における第1ユーザの目線の位置に設定され、第1ユーザの視線に対応する方向は、第1ユーザの姿勢情報に基づいて決定される。
ステップS605では、第2画像制御部25は、第1ユーザが視認している第1提示端末100のディスプレイに、ステップS604で取得された視界画像を提示させる画像制御を行う。具体的には、第2画像制御部25は、第1提示端末100に、第1提示端末100のディスプレイに視界画像を提示させる制御信号を出力する。
なお、ステップS605では、第1ユーザの視線が第1ユーザの身体に向いていると判定される場合には、第2画像制御部25は、視界画像に第1ユーザのキャラクターの身体部分を重畳させた提示画像を生成し、提示画像を提示させる制御を行う。
ステップS606及びステップS607の処理は、図4のステップS405とステップS406と同じであるため、説明を省略する。
なお、本実施形態では、車両2内に乗員としてユーザがひとり着座している状態で、遠隔にいるユーザに新しく座席を割り付けることとしたが、乗員の人数はこれに限らず、2名以上のユーザが車両2内に着座している状態で、遠隔にいるユーザに新しく着座を割り付けることとしてもよい。また、既に仮想空間のユーザのキャラクターが座席に表示されている状態で、さらに別のユーザに座席を割り付けてキャラクターを座席を表示することとしてもよい。この場合には、座席割付部23は、現実空間の座席と、現実空間の座席に対応する仮想空間の座席の両方の座席を管理して、ユーザに座席を割り付けることになる。
以上のように、本実施形態では、第1座席の位置に設定された第1ユーザの仮想視点から第1ユーザの視界に対応する視界画像を取得し、第1ユーザが利用する提示端末の提示部に、取得された視界画像を提示させる制御を行う。これにより、現実空間の座席状態を管理して、現実空間の座席に対応した仮想空間を、現実空間から離れた場所にいるユーザに提示することができる。
また、本実施形態では、仮想視点の位置を基準に、第1ユーザの視線に対応する方向の視界画像を取得し、第1ユーザの視線の方向に第1ユーザの身体が位置するか否かを判定し、第1ユーザの視線の方向に第1ユーザの身体が位置すると判定された場合には、視界画像上において身体の位置に対応する位置に、身体に対応する第1ユーザのキャラクターの身体の画像を重畳して提示画像を生成し、提示画像を前記第1ユーザに提示させる制御を行う。これにより、仮想空間において、第1ユーザが、自身の身体に対応するキャラクターの身体を視認することができる。
なお、以上に説明した実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記の実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。