(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024175363
(43)【公開日】2024-12-18
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
G06T 19/00 20110101AFI20241211BHJP
G06F 3/01 20060101ALI20241211BHJP
G06F 3/04815 20220101ALI20241211BHJP
【FI】
G06T19/00 A
G06F3/01 510
G06F3/04815
【審査請求】未請求
【請求項の数】22
【出願形態】OL
(21)【出願番号】P 2023093096
(22)【出願日】2023-06-06
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】寺山 公太
【テーマコード(参考)】
5B050
5E555
【Fターム(参考)】
5B050AA10
5B050BA09
5B050BA11
5B050BA12
5B050DA04
5B050EA07
5B050EA09
5B050EA27
5B050FA02
5B050FA05
5B050FA13
5B050FA14
5E555AA27
5E555AA61
5E555AA64
5E555BA08
5E555BA18
5E555BA87
5E555BB08
5E555BB18
5E555BD07
5E555BE17
5E555CA29
5E555CA42
5E555CB23
5E555CB64
5E555CB65
5E555CB69
5E555DA08
5E555DA09
5E555DC57
5E555DC62
5E555DD06
5E555FA00
(57)【要約】
【課題】複合現実空間または現実空間におけるパーソナルスペースを好適かつ容易に変更することのできる技術を提供する。
【解決手段】本発明の情報処理装置は、ユーザの状況に関する情報を取得する取得手段と、前記情報に基づいて、前記ユーザが所定の状況にある場合に、複合現実空間または仮想空間である3次元空間における前記ユーザのパーソナルスペースを変更する変更手段とを有することを特徴とする。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ユーザの状況に関する情報を取得する取得手段と、
前記情報に基づいて、前記ユーザが所定の状況にある場合に、複合現実空間または仮想空間である3次元空間における前記ユーザのパーソナルスペースを変更する変更手段と
を有することを特徴とする情報処理装置。
【請求項2】
前記変更手段は、
前記ユーザが所定の状況にある場合に、前記パーソナルスペースの変更を前記ユーザに提案するように制御し、
前記パーソナルスペースの変更に前記ユーザが同意した場合に、前記パーソナルスペースを変更する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記変更手段は、
拡大方向または縮小方向である第1の方向に前記パーソナルスペースを変更する場合に、前記パーソナルスペースの変更を前記ユーザに提案するように制御し、
前記第1の方向とは反対の第2の方向に前記パーソナルスペースを変更する場合に、前記パーソナルスペースの変更を前記ユーザに提案せずに、前記パーソナルスペースを変更する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記変更手段は、前記パーソナルスペースの変更を前記ユーザに提案する際に、変更後のパーソナルスペースを前記ユーザに指定させるように制御する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項5】
前記変更手段は、前記パーソナルスペースの変更を前記ユーザに提案する際に、変更後のパーソナルスペースの複数の候補を前記ユーザに提示して、前記複数の候補から変更後のパーソナルスペースを前記ユーザに選択させるように制御する
ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記所定の状況は、前記3次元空間において前記ユーザが他のユーザに近づいている状況を含む
ことを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記変更手段は、前記3次元空間において前記ユーザが他のユーザに近づいている場合に、前記パーソナルスペースを縮小する
ことを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記所定の状況は、前記ユーザの身体に関する状況を含む
ことを特徴とする請求項1に記載の情報処理装置。
【請求項9】
前記変更手段は、前記ユーザの心拍数または発汗量が閾値を下回っている場合に、前記パーソナルスペースを縮小する
ことを特徴とする請求項8に記載の情報処理装置。
【請求項10】
前記変更手段は、前記ユーザの心拍数または発汗量が閾値を上回っている場合に、前記パーソナルスペースを拡大する
ことを特徴とする請求項8に記載の情報処理装置。
【請求項11】
前記所定の状況は、前記3次元空間における前記ユーザと他のユーザとの間のコミュニケーションに関する状況を含む
ことを特徴とする請求項1に記載の情報処理装置。
【請求項12】
前記コミュニケーションにおける前記ユーザの声のトーン、前記コミュニケーションの頻度、現在までの所定の期間におけるコミュニケーションの時間、または前記コミュニケーションにおける前記ユーザの相槌の頻度が閾値を上回っている場合に、前記パーソナルスペースを縮小する
ことを特徴とする請求項11に記載の情報処理装置。
【請求項13】
前記コミュニケーションにおける前記ユーザの声のトーン、前記コミュニケーションの頻度、現在までの所定の期間におけるコミュニケーションの時間、または前記コミュニケーションにおける前記ユーザの相槌の頻度が閾値を下回っている場合に、前記パーソナルスペースを拡大する
ことを特徴とする請求項11に記載の情報処理装置。
【請求項14】
前記変更手段は、前記ユーザに前記3次元空間における複数のユーザのパーソナルスペースを通知するように制御する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項15】
前記変更手段は、前記ユーザに前記パーソナルスペースの設定を変更したことを通知するように制御する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項16】
前記変更手段は、前記ユーザの、前記ユーザの視線が向けられている他のユーザに対するパーソナルスペースを変更する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項17】
前記所定の状況は、前記ユーザが他のユーザに視線を向ける時間または頻度に関する状況を含む
ことを特徴とする請求項1に記載の情報処理装置。
【請求項18】
前記変更手段は、前記時間または前記頻度が閾値を上回っている場合に、前記パーソナルスペースを縮小する
ことを特徴とする請求項17に記載の情報処理装置。
【請求項19】
前記変更手段は、前記時間または前記頻度が閾値を下回っている場合に、前記パーソナルスペースを拡大する
ことを特徴とする請求項17に記載の情報処理装置。
【請求項20】
ユーザの状況に関する情報を取得するステップと、
前記情報に基づいて、前記ユーザが所定の状況にある場合に、複合現実空間または仮想空間である3次元空間における前記ユーザのパーソナルスペースを変更するステップと
を有することを特徴とする情報処理装置の制御方法。
【請求項21】
コンピュータを、請求項1~19のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項22】
コンピュータを、請求項1~19のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置に関し、特に複合現実感または仮想現実感の画像表示に関するものである。
【背景技術】
【0002】
現実世界と仮想世界をリアルタイムかつシームレスに融合させる技術として、複合現実感、いわゆるMixed Reality(MR)技術が知られている。MR技術は、ヘッドマウントディスプレイ(HMD)、例えばビデオシースルー方式のHMDで使用されることがある。
【0003】
ビデオシースルー方式のHMDでは、例えば、現実空間のうち、当該HMDを装着したユーザの視界に対応する範囲が、ビデオカメラによって撮像される。そして、ビデオカメラによって得られた現実空間の画像(映像)にComputer Graphic(CG)が合成され、合成画像(現実空間の画像にCGを合成することによって得られた画像)がHMDの内部の表示パネルに表示される。CGが合成され得る現実空間は、複合現実空間(MR空間)と呼ぶことができる。ユーザは、表示パネルに表示された合成画像を見ることで、CGによって表された仮想オブジェクトが現実空間に存在しているような感覚を得ることができる。仮想オブジェクトとしてアバターが表示されれば、MR空間において複数の人物がコミュニケーション(アバターを介したコミュニケーション)をとることができるようになる。
【0004】
また、ビデオシースルー方式のHMDでは、現実空間の画像に、遠隔地で撮像された人物の画像を合成することによって、当該HMDを装着したユーザに対して、遠隔地にいる人物と同じ空間にいるような体験(感覚)を提供することができる。そして、MR空間において複数の人物がコミュニケーション(人物の画像を介したコミュニケーション)をとることができるようになる。
【0005】
なお、ユーザに対して仮想世界にいるような体験(感覚)を提供する技術として、仮想現実感、いわゆるVirtual Reality(VR)技術も知られている。VR技術も、HMDで使用されることがある。VR技術を使用する場合には、仮想空間(VR空間)の画像が表示される。仮想空間は、例えば、CGによって表された空間である。そして、アバター、または人物の画像をVR空間の画像に合成することによって、VR空間において複数の人物がコミュニケーションをとることができるようになる。
【0006】
現実空間において複数の人物がコミュニケーションをとる場合と同様に、MR空間またはVR空間において複数の人物がコミュニケーションをとる場合にも、各人物のプライバシーを保護することが重要である。例えば、複数の人物の間に各人物が不快に感じない距離をおくことが重要である。人物が他の人物に侵入されると不快に感じる範囲(領域)は、パーソナルスペースと呼ばれる。特に、技術の進歩によって仮想世界のリアリティが高まると、パーソナルスペースへの侵入(パーソナルスペースの侵害)が生じないことの重要性も高まる。
【0007】
人物のパーソナルスペースには個人差があり、例えば人物のパーソナルスペースは当該人物の年齢、性別、または性格(例えばスキンシップに積極的か否か)に依存する。人物のパーソナルスペースは、当該人物とコミュニケーションをとる他の人物(コミュニケーションをとる複数の人物の関係)にも依存する。
【0008】
特許文献1では、第1のユーザと第2のユーザとの関係が所定の条件を満たすか否か、および第2のアバターが第1のアバターの周囲の領域(境界領域)内に位置するか否かに応じて、第1のアバターの表示様態を変更する技術が開示されている。第1のアバターは第1のユーザのアバターであり、第2のアバターは第2のユーザのアバターである。
【先行技術文献】
【特許文献】
【0009】
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、特許文献1に開示の技術では、ユーザが、他のユーザとの関係の設定変更が必要であることに自身で気づく必要があり、当該設定変更を好適かつ容易に行うことができない。そのため、他のユーザとの関係に応じて当該他のユーザに対するユーザのパーソナルスペースが決定されるとした場合に、当該パーソナルスペースを好適かつ容易に変更することができない。
【0011】
本発明は、複合現実空間または現実空間におけるパーソナルスペースを好適かつ容易に変更することのできる技術を提供することである。
【課題を解決するための手段】
【0012】
本発明の第1の態様は、ユーザの状況に関する情報を取得する取得手段と、前記情報に基づいて、前記ユーザが所定の状況にある場合に、複合現実空間または仮想空間である3次元空間における前記ユーザのパーソナルスペースを変更する変更手段とを有することを特徴とする情報処理装置である。
【0013】
本発明の第2の態様は、ユーザの状況に関する情報を取得するステップと、前記情報に基づいて、前記ユーザが所定の状況にある場合に、複合現実空間または仮想空間である3次元空間における前記ユーザのパーソナルスペースを変更するステップとを有することを特徴とする情報処理装置の制御方法である。
【0014】
本発明の第3の態様は、コンピュータを、上述した情報処理装置の各手段として機能させるためのプログラムである。本発明の第4の態様は、コンピュータを、上述した情報処理装置の各手段として機能させるためのプログラムを格納したコンピュータが読み取り可能な記憶媒体である。
【発明の効果】
【0015】
本発明によれば、複合現実空間または現実空間におけるパーソナルスペースを好適かつ容易に変更することができる。
【図面の簡単な説明】
【0016】
【
図1A】第1実施形態に係る情報処理システムの構成を示す概略図である。
【
図1B】第1実施形態に係る情報処理システムの構成を示すブロック図である。
【
図2】第1実施形態に係る全体処理を示すフローチャートである。
【
図3】第1実施形態に係るパーソナルスペース処理を示すフローチャートである。
【
図4】第1実施形態に係るパーソナルスペース処理を示す図である。
【
図5】第1実施形態に係るHost側表示処理を示すフローチャートである。
【
図6】第1実施形態に係るGuest側表示処理を示すフローチャートである。
【
図7】第2実施形態に係る全体処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0017】
(第1実施形態)
以下に、本発明の第1実施形態を説明する。
【0018】
図1Aは、第1実施形態に係る情報処理システム100の構成例を示す概略図である。
図1Bは、情報処理システム100の構成例を示すブロック図である。情報処理システム100は、ヘッドマウントディスプレイ(HMD)110、HMD120、カメラ130、カメラ140、およびサーバ190を含む。HMD110、HMD120、カメラ130、カメラ140、およびサーバ190は、ネットワーク199に接続されており、ネットワーク199を介して互いに通信することができる。
【0019】
HMD110のユーザである人物150がいる空間170(例えば人物150の自室)は、HMD120のユーザである人物160がいる空間180(例えば人物160の自室)と異なる。人物150はHMD110を頭部に装着しており、人物160はHMD120を頭部に装着している。カメラ130は、人物150がいる空間170に設置されており、カメラ140は、人物160がいる空間180に設置されている。また、カメラ130は、空間170内を移動することが可能な台車に搭載されており、カメラ130の制御部(図示せず)がカメラ130の制御の一部として、当該台車の移動制御を行う。同様に、カメラ140は、空間180内を移動することが可能な台車に搭載されており、カメラ140の制御部(図示せず)がカメラ140の制御の一部として、当該台車の移動制御を行う。なお、カメラ130,140それぞれの移動方法は台車を用いる方法に限られず、例えばドローンを用いる方法であってもよい。
【0020】
HMD110は、CPU1101、ROM1102、RAM1103、姿勢センサ1104、通信部1105、撮像部1106、表示部1107、操作部1108、記憶部1109、位置検出部1110、および身体状況検出部1111を有する。
【0021】
CPU1101は、HMD110全体を制御する演算装置であり、例えばROM1102に格納されている様々なプログラムを実行して様々な処理を行う。ROM1102は、様々な情報(例えば、様々なプログラムおよび様々なパラメータ)を記憶する読み出し専用の不揮発性メモリである。RAM1103は、様々な情報を一時的に記憶するメモリであり、CPU1101のワークメモリとしても使用される。
【0022】
姿勢センサ1104は、HMD110の姿勢を検出するセンサであり、例えば加速度センサと地磁気センサの少なくとも一方を含む。ジャイロセンサは加速度センサの一種である。通信部1105は、有線または無線で外部機器と通信を行う。撮像部1106は、現実空間のうち、HMD110を装着した人物150の視界に対応する範囲(HMD110の前方)を撮像することによって、当該範囲を表す視界画像を取得する。撮像部1106は、例えば、CCDセンサまたはCMOSセンサといった撮像センサを含む。表示部1107は、様々な画像および様々な情報を表示することができる。表示部1107は、例えば、液晶パネルまたは有機ELパネルといった表示パネルを含む。人物150は、HMD110を装着することによって、表示部1107に表示された画像(映像)を見ることができる。HMD110は、ビデオシースルー方式のHMDであり、CPU1101は、撮像部1106によって得られた視界画像を表示部1107に表示することができる。
【0023】
操作部1108は、人物150による各種操作を受け付ける。操作部1108はマイクロフォンを含んでもよく、当該マイクロフォンを用いた音声入力によって各種操作が行われてもよい。操作部1108はHMDとは別体の操作装置(例えばコントローラ)であってもよい。マイクロフォンは、人物150(HMD110のユーザ)が他のユーザとコミュニケーションをとるための音声を取得する際にも使用される。記憶部1109は、例え
ばSSDまたはHDDといった記憶装置であり、情報処理システム100に関する設定データといった様々なデータを記憶することができる。記憶部1109が記憶するデータは書き替え可能であり、記憶部1109の電源(HMD110の電源)を切っても保持される。記憶部1109は、HMD110に内蔵された記憶装置であってもよいし、HMD110の外部の記憶装置であってもよい。
【0024】
位置検出部1110は、HMD110を装着した人物150がいる空間170における人物150(HMD110)の位置(座標)を検出する。例えば、位置検出部1110は、撮像部1106とは別に設けられたカメラ(撮像センサ)を含み、当該カメラによって得られた画像に基づいて人物150の位置を検出する。位置検出部1110は、撮像部1106によって得られた画像に基づいて人物150の位置を検出してもよい。姿勢センサ1104が加速度センサを含む場合には、位置検出部1110は、加速度センサの出力信号に基づいてユーザの位置の検出結果を更新してもよい。位置検出部1110は、人物150の移動方向と移動速度をさらに検出してもよい。身体状況検出部1111は、HMD110を装着した人物150が緊張しているかリラックスしているかといった、当該人物150の身体に関する状況(身体状況)を検出する。例えば、身体状況検出部1111は、人物150の心拍数を検出(測定)するセンサと、人物150の発汗量を検出するセンサとの少なくとも一方を含む。
【0025】
HMD120は、CPU1201、ROM1202、RAM1203、姿勢センサ1204、通信部1205、撮像部1206、表示部1207、操作部1208、記憶部1209、位置検出部1210、および身体状況検出部1211を有する。HMD120の構成はHMD110の構成と同様である。
【0026】
サーバ190は、CPU1901、ROM1902、RAM1903、通信部1904、記憶部1905、およびコミュニケーション状況評価部1906を有する。CPU1901は、サーバ190全体を制御する演算装置であり、例えばROM1902に格納されている様々なプログラムを実行して様々な処理を行う。ROM1902は、様々な情報(例えば、様々なプログラムおよび様々なパラメータ)を記憶する読み出し専用の不揮発性メモリである。RAM1903は、様々な情報を一時的に記憶するメモリであり、CPU1901のワークメモリとしても使用される。
【0027】
通信部1904は、有線または無線で外部機器と通信を行う。記憶部1905は、例えばSSDまたはHDDといった記憶装置であり、情報処理システム100に関する設定データといった様々なデータを記憶することができる。記憶部1905が記憶するデータは書き替え可能であり、記憶部1905の電源(サーバ190の電源)を切っても保持される。記憶部1905は、サーバ190に内蔵された記憶装置であってもよいし、サーバ190の外部の記憶装置であってもよい。
【0028】
コミュニケーション状況評価部1906は、情報処理システム100の複数のユーザの間で行われているコミュニケーションが良好か否かといった、当該コミュニケーションの状況を評価する。例えば、CPU1901は、通信部1904を用いて、ネットワーク199を介して接続されたHMDから、コミュニケーションにおける会話の音声(データ)を取得したり、コミュニケーション中のHMD(ユーザの頭部)の動きに関する情報を取得したりする。会話の音声は、HMDのマイクロフォンを用いて取得され、HMDの動きは、姿勢センサおよび位置検出部を用いて検出される。さらに、CPU1901は、サーバ190に対するHMDの接続履歴を管理しており、当該接続履歴に基づいてコミュニケーションの頻度および時間に関する情報を取得する。そして、CPU1901は、取得したそれらの情報に基づいて、コミュニケーション状況を評価する。
【0029】
カメラ130は、人物150(人物150がいる空間170)を撮像することによって、空間170の少なくとも一部を表す空間画像を取得する撮像装置である。カメラ130は、HMD120の位置検出部1210の検出結果(人物160の移動方向および移動速度)を、ネットワーク199を介して受信する。そして、カメラ130の制御部(図示せず)は、受信した検出結果に応じてカメラ130を搭載する台車の移動制御を行う。人物160と同じ移動方向および移動速度で台車が移動するように、台車の移動制御が行われる。例えば、人物160(HMD120)がHMD120の前方に移動すると、カメラ130はカメラ130の前方に移動する。こうすることによって、カメラ130は、人物160の動き(位置変化および姿勢変化)に追従する空間画像を得ることができる。
【0030】
カメラ130は、空間170の空間画像(データ)を、ネットワーク199を介してHMD120に送信する。HMD120では、CPU1201の制御によって、空間170の空間画像が表示部1207に表示される。人物160は、表示部1207に表示された画像(人物160の動きに追従する画像)を見ることによって、人物160と同じ空間170にいるような感覚を得ることができる。なお、カメラ130は固定されていてもよい。その場合に、HMD120では、空間170の空間画像の一部が表示部1207に表示され、空間170の空間画像のうち表示部1207に表示する部分(表示範囲)が、姿勢センサ1204と位置検出部1210の検出結果に応じて変更されてもよい。そうすることによって、カメラ130が固定されていても、人物160の動きに追従する画像を表示部1207に表示することができる。
【0031】
カメラ140は、人物160(人物160がいる空間180)を撮像することによって、空間180の少なくとも一部を表す空間画像を取得する撮像装置である。カメラ140は、HMD110の位置検出部1110の検出結果(人物150の移動方向および移動速度)を、ネットワーク199を介して受信する。そして、カメラ140の制御部(図示せず)は、受信した検出結果に応じてカメラ140を搭載する台車の移動制御を行う。人物150と同じ移動方向および移動速度で台車が移動するように、台車の移動制御が行われる。例えば、人物150(HMD110)がHMD110の前方に移動すると、カメラ140はカメラ140の前方に移動する。こうすることによって、カメラ140は、人物150の動き(位置変化および姿勢変化)に追従する空間画像を得ることができる。
【0032】
カメラ140は、空間180の空間画像(データ)を、ネットワーク199を介してHMD110に送信する。HMD110では、CPU1101の制御によって、空間180の空間画像から人物160の領域が抽出される。これによって、人物160を撮像した画像(人物160のみを表す画像)である人物画像が得られる。そして、撮像部1106によって得られた視界画像(人物150の視界画像)に人物画像が合成され、合成画像(視界画像に人物画像を合成した画像)が表示部1107に表示される。人物150は、表示部1107に表示された画像(人物150の動きに追従する画像)を見ることによって、人物160が自身(人物150)と同じ空間170にいるような感覚を得ることができる。なお、カメラ140は固定されていてもよい。その場合に、HMD110では、人物画像の位置、サイズおよび傾きが、姿勢センサ1104の検出結果と位置検出部1110の検出結果とに応じて変更されてもよい。そうすることによって、カメラ140が固定されていても、人物画像の領域を含む全領域が人物150の動きに追従する画像を表示部1107に表示することができる。
【0033】
このように、情報処理システム100では、空間170にいる人物150と、空間180にいる人物160とが、同じ空間170にいるような感覚を得ることができる。
【0034】
上述した動作によれば、人物150がいる空間170に人物160が招待される。そのため、人物150がいる空間170をHost側と捉えることができ、人物160がいる
空間180をGuest側と捉えることができる。
【0035】
なお、カメラ130とカメラ140のそれぞれは単眼カメラであってもよいが、ステレオカメラであることが好ましい。カメラ140がステレオカメラであれば、人物150は、HMD110を装着して、視差がついた2つの画像を立体視することができるため、より高い没入感を得ることができる。同様に、カメラ130がステレオカメラであれば、人物160は、HMD120を装着して、視差がついた2つの画像を立体視することができるため、より高い没入感を得ることができる。
【0036】
また、上述したように、Host側カメラ130とGuest側カメラ140の少なくとも一方は固定されていてもよい。Host側カメラ130が固定される場合には、Host側カメラ130の撮像範囲は広いことが好ましく、例えば、視野角(画角)が180度の範囲であってもよいし、視野角が360度の範囲であってもよい。Host側カメラ130によって得られる画像は、半天球画像(VR180の画像)であってもよいし、全天球画像(全方位画像)であってもよいし、パノラマ画像であってもよい。Host側カメラ130の撮像範囲が広いことによって、Guest側人物160は、顔向きを大きく変えても、Host側空間170の画像を見ることができ、Host側空間170にいる感覚を得ることができる。
【0037】
また、コミュニケーションの違和感を低減し、より自然なコミュニケーションを実現可能にするために、カメラ130によって得られる空間画像は、人物160の様々な動きに時間差なく(非常に小さい時間差で)追従する画像であることが好ましい。同様に、カメラ140によって得られる空間画像は、人物150の様々な動きに時間差なく(非常に小さい時間差で)追従する画像であることが好ましい。そのため、カメラ130とカメラ140のそれぞれとして、自由視点カメラシステムを用いてもよい。自由視点カメラシステムは、複数のカメラによって得られた複数の空間画像から3次元の空間画像を生成し、3次元空間内で自由に設定された視点の画像を生成するシステムである。
【0038】
カメラ130として自由視点カメラシステムを用いる場合に、カメラ130は、ネットワーク199を介して、HMD120の位置検出部1210の検出結果と、姿勢センサ1204の検出結果とを受信する。そして、カメラ130は、受信したそれらの検出結果に応じた視点(位置および方向(角度))の画像(空間画像)を生成し、ネットワーク199を介してHMD120に送信する。同様に、カメラ140として自由視点カメラシステムを用いる場合に、カメラ140は、ネットワーク199を介して、HMD110の位置検出部1110の検出結果と、姿勢センサ1104の検出結果とを受信する。そして、カメラ140は、受信したそれらの検出結果に応じた視点(位置および方向(角度))の画像(空間画像)を生成し、ネットワーク199を介してHMD110に送信する。
【0039】
また、2人のユーザ(人物150,160)がコミュニケーションをとる例を説明するが、コミュニケーションをとるユーザの人数は2人より多くてもよい。但し、Host側カメラとして単眼カメラまたはステレオカメラを用いると、多数のユーザをHost側空間に招待する場合に、多数のHost側カメラ(招待するユーザと同じ数のHost側カメラ)が必要になる。Host側カメラとして自由視点カメラシステムを用いれば、招待するユーザの増加によって、画像処理の演算量は増加するが、自由視点カメラシステムにおけるカメラの増加は発生しない。
【0040】
図2は、情報処理システム100によって行われる全体処理の一例を示すフローチャートである。例えば、情報処理システム100(Host側HMD110、Guest側HMD120、Host側カメラ130、Guest側カメラ140、およびサーバ190)が起動すると、
図2の全体処理が開始する。
【0041】
ステップS201では、サーバ190のCPU1901は、Host側HMD110、Guest側HMD120、Host側カメラ130、Guest側カメラ140、サーバ190が(ネットワーク199を介して)互いに接続されたか否かを判定する。CPU1901は、これら5つのデバイスが互いに接続されたと判定するまで待機し、5つのデバイスが互いに接続されたと判定するとステップS202の処理を行う。
【0042】
ステップS202では、サーバ190のCPU1901は、通信部1904を用いて、ネットワーク199を介してHMD110,120から、HMD110,120(人物150,160)の位置に関する情報(位置情報)を取得する。HMD110の位置情報として、位置検出部1110の検出結果がHMD110から取得され、HMD120の位置情報として、位置検出部1210の検出結果がHMD120から取得される。
【0043】
ステップS203では、サーバ190のCPU1901は、パーソナルスペース処理を行う。パーソナルスペース処理では、HMD110またはHMD120を用いて視認されるHost側空間170(複合現実空間、MR空間)における人物150または人物160のパーソナルスペースが一時的に更新されることがある。パーソナルスペース処理の詳細は、
図3,4A~4Eを用いて後述する。
【0044】
ステップS204では、Host側HMD110のCPU1101は、Host側表示処理を行う。Host側表示処理の詳細は、
図5を用いて後述する。
【0045】
ステップS205では、Guest側HMD120のCPU1201は、Guest側表示処理を行う。Guest側表示処理の詳細は、
図6を用いて後述する。
【0046】
図2ではステップS204の次のステップとしてステップS205が示されているが、ステップS204の処理の前にステップS205の処理が行われてもよいし、ステップS204の処理とステップS204の処理とが並列に行われてもよい。
【0047】
ステップS206では、サーバ190のCPU1901は、情報処理システム100を停止するか否かを判定する。CPU1901が情報処理システム100を停止すると判定するまで、フレームごとにステップS201~S205の処理が繰り返し行われる。そして、CPU1901が情報処理システム100を停止すると判定すると、必要に応じてステップS207,S208の処理が行われ、
図2の全体処理が終了する。
【0048】
ステップS207では、サーバ190のCPU1901は、ステップS203で一時的にパーソナルスペースが変更されたユーザに一時的なパーソナルスペースを継続的なものとして設定するか否かを問い合わせるように、当該ユーザのHMDを制御する。一時的なパーソナルスペースを継続的なものとして設定する場合はステップS208に進み、そうでない場合は
図2の全体処理が終了する。
【0049】
ステップS208では、サーバ190のCPU1901は、一時的なパーソナルスペースが継続的なものとして設定されるように、後述するパーソナルスペース情報を更新する。パーソナルスペース情報はサーバ190(記憶部1905)で管理されてもよいし、ユーザ側(例えばHMD)で管理されてもよい。第1実施形態では、パーソナルスペース情報がHMDで管理されており、CPU1901は、パーソナルスペース情報を更新するように、ステップS203で一時的にパーソナルスペースが変更されたユーザのHMDを制御するとする。
【0050】
図3は、パーソナルスペース処理(
図2のステップS203)の一例を示すフローチャ
ートであり、
図4A~4Eは、パーソナルスペース処理の一例を示す図である。パーソナルスペース処理は、サーバ190のCPU1901によって行われる。
【0051】
ステップS301では、CPU1901は、HMD110の記憶部1109から人物150のパーソナルスペース情報を取得し、HMD120の記憶部1209から人物150のパーソナルスペース情報を取得する。人物150のパーソナルスペース情報は人物150のパーソナルスペースの広さ(例えば半径または直径)を示し、人物160のパーソナルスペース情報は人物160のパーソナルスペースの広さを示す。人物150は、人物150のパーソナルスペース情報を適宜変更(更新)することができ、人物160は、人物160のパーソナルスペース情報を適宜変更(更新)することができる。
【0052】
図4Aは、人物160のパーソナルスペース情報と人物150のパーソナルスペース情報との一例を示す。パーソナルスペース情報では、例えば「家族」、「友人」、または「他人」といったグループごとにパーソナルスペース(の広さ)を管理したり、人物ごとにパーソナルスペース(の広さ)を管理したりすることができる。人物150または人物160であるユーザは、パーソナルスペース情報に人物(人物に対するユーザのパーソナルスペース)を登録する際に、当該人物をグループのメンバまたは個人として登録する。グループ「他人」のパーソナルスペースは、登録されていない人物に対するパーソナルスペースである。
図4Aでは、人物160のパーソナルスペース情報でも人物150のパーソナルスペース情報でも、グループ「他人」のパーソナルスペースが最も広い。また、人物150のパーソナルスペース情報では、人物160のパーソナルスペース情報よりも、全てのカテゴリ(全てのグループおよび個人)でパーソナルスペースが広い。
【0053】
ステップS302では、CPU1901は、ステップS301で取得したパーソナルスペース情報と、
図2のステップS202で取得した位置情報とに基づいて、人物150と人物160の間でパーソナルスペースの侵害が生じているか否かを判定する。この判定は、人物150,160の一方のパーソナルスペースに対する人物150,160の他方の侵入が生じているか否かの判定と解釈することができる。例えば、人物160に対する人物150のパーソナルスペースと人物150に対する人物160のパーソナルスペースとのうちの広い方のパーソナルスペースの半径よりも、人物160と人物150の間の距離が短い場合に、侵害が生じていると判定される。上記広い方のパーソナルスペースの半径よりも、人物160と人物150の間の距離が長い場合には、侵害が生じていないと判定される。上記広い方のパーソナルスペースの半径と、人物160と人物150の間の距離とが等しい場合には、侵害が生じていると判定されてもよいし、侵害が生じていないと判定されてもよい。侵害が生じている場合はステップS303に進み、そうでない場合は
図3のパーソナルスペース処理が終了する。
図4Bはパーソナルスペースの侵害が生じていない場合の人物150,160の位置関係の一例を示し、
図4Cはパーソナルスペースの侵害が生じている場合の人物150,160の位置関係の一例を示す。
【0054】
ステップS303では、CPU1901は、(相対的に)パーソナルスペースの広いユーザが(相対的に)パーソナルスペースの狭いユーザに近づいたことによってステップS302の侵害が生じたか否かを判定する。この判定も、ステップS301で取得したパーソナルスペース情報と、
図2のステップS202で取得した位置情報とに基づいて行われる。パーソナルスペースの広いユーザがパーソナルスペースの狭いユーザに近づいた場合はステップS304に進み、そうでない場合はステップS305に進む。
【0055】
ステップS304では、CPU1901は、他のユーザに近づいたユーザのパーソナルスペースを一時的に縮小する。なお、パーソナルスペースの侵害が生じているか否かにかかわらず、他のユーザに近づいた(近づいている)ユーザのパーソナルスペースが一時的に縮小されてもよい。パーソナルスペースの大小関係にかかわらず、他のユーザに近づい
た(近づいている)ユーザのパーソナルスペースが一時的に縮小されてもよい。
【0056】
図4Cは、パーソナルスペースの狭い人物160が、パーソナルスペースの広い人物150に近づいた状況の一例を示す。
図4Cの状況は、パーソナルスペースの侵害が生じた時点の状況である。
図4Cの状況は、人物160が人物150にさらに近づきたい状況と解釈することができるが、人物150が人物160にこれ以上近づかれたくない状況と解釈することもできる。そのため、人物150のパーソナルスペースを直ちに縮小することはしない(ステップS304には進まない)。後述する所定の条件が満たされる場合には、人物150のパーソナルスペースは一時的に変更される。人物150のプライバシーを保護するため(パーソナルスペースの侵害を解消するため)に、人物150,160に対して所定の通知が行われることもある。所定の通知は、例えば、パーソナルスペースの侵害の解消を促す通知である。例えば、HMD110の表示部1107とHMD120の表示部1207とに、パーソナルスペースの侵害があった旨の警告が表示される。なお、通知方法は特に限定されず、音声による通知が行われてもよい。
【0057】
図4Dは、パーソナルスペースの広い人物150が、パーソナルスペースの狭い人物160に近づいた状況の一例を示す。
図4Dの状況は、パーソナルスペースの侵害が生じた時点の状況である。
図4Dの状況は、人物150が人物160にさらに近づきたい状況と解釈することができ、人物160が人物150にさらに近づかれることを許容している状況と解釈することもできる。そのため、ステップS304に進んで、人物150のパーソナルスペースを一時的に縮小する。例えば、人物150に対する人物160のパーソナルスペースの半径と、人物160と人物150の間の距離とのうち、大きい方の値が、人物160に対する人物150のパーソナルスペースの半径として一時的に設定される。
図4Eは、人物150のパーソナルスペースが一時的に縮小された状況を示す。
図4Eでは、人物150は、人物160のパーソナルスペースに侵入することなく、人物160に近づくという所望の行動が実現できている。
【0058】
なお、CPU1901は、パーソナルスペースを一時的に変更した場合に、パーソナルスペースを一時的に変更したことをユーザに通知してもよい。パーソナルスペースの一時的な変更は、コミュニケーションをとる2人のユーザ(パーソナルスペース処理の対象である2人のユーザ)の両方に通知されてもよいし、パーソナルスペースが一時的に変更されたユーザにのみ通知されてもよい。「Aさんのパーソナルスペースを一時的に変更しています」といったメッセージの通知のように、パーソナルスペースが一時的に変更されたユーザの名前も通知されてよい。パーソナルスペースの一時的な変更中に常に通知が行われてもよいし、パーソナルスペースが一時的に変更されてから数秒といった所定の期間にのみ通知が行われもよい。
【0059】
初対面の人物に対するパーソナルスペースとして、グループ「他人」のパーソナルスペース(広いパーソナルスペース)を用いると、ユーザは、初対面の人物との友好関係を築きたくても、当該人物に近づいてコミュニケーションをとることができない。ユーザが、パーソナルスペースを変更する操作を行えば、初対面の人物に近づいてコミュニケーションをとることができるが、手間がかかる。第1実施形態では、そのような場合に、パーソナルスペースが自動で一時的に狭められることによって、ユーザは、手間をかけずに初対面の人物に近づいてコミュニケーションをとることができる。
【0060】
ステップS305では、CPU1901は、HMD110から身体状況検出部1111の検出結果(人物150の身体状況)を取得し、HMD120から身体状況検出部1211の検出結果(人物160の身体状況)を取得する。
【0061】
ステップS306では、CPU1901は、人物150の身体状況または人物160の
身体状況が所定の条件を満たすか否かを判定する。所定の条件を満たす場合はステップS309に進み、そうでない場合はステップS307に進む。身体状況に関する所定の条件については後述する。
【0062】
ステップS307では、CPU1901は、コミュニケーション状況評価部1906に人物150と人物160のコミュニケーションの状況を評価させ、コミュニケーション状況評価部1906から評価結果を取得する。コミュニケーション状況評価部1906がコミュニケーション状況を評価する際に必要な情報は、例えば、
図2の全体処理の開始時から繰り返し取得される。
【0063】
ステップS308では、CPU1901は、人物150と人物160のコミュニケーションの状況が所定の条件を満たすか否かを判定する。所定の条件を満たす場合はステップS309に進み、そうでない場合はステップS311に進む。コミュニケーション状況に関する所定の条件については後述する。
【0064】
ステップS309では、CPU1901は、身体状況またはコミュニケーション状況が所定の条件を満たすユーザのパーソナルスペースを変更する。
【0065】
ユーザの身体状況に関する所定の条件は、例えば、当該ユーザの心拍数または発汗量が閾値Th1を下回っているという条件と、当該ユーザの心拍数または発汗量が閾値Th2(>閾値Th1)を上回っているという条件との少なくとも一方を含む。ユーザの心拍数または発汗量が閾値Th1を下回っている場合には、当該ユーザがリラックスしていると考えられるため、当該ユーザのパーソナルスペースが縮小される。ユーザの心拍数または発汗量が閾値Th2を上回っている場合には、当該ユーザが緊張していると考えられるため、当該ユーザのパーソナルスペースが拡大される。
【0066】
コミュニケーション状況に関する所定の条件は、例えば、ユーザの声のトーンが閾値Th3を上回っているという条件と、ユーザの声のトーンが閾値Th4(<閾値Th3)を下回っているという条件とを含む。ユーザの声のトーンが閾値Th3を上回っている場合には、コミュニケーションが良好であると考えられるため、当該ユーザ(またはパーソナルスペース処理の対象である2人のユーザ)のパーソナルスペースが縮小される。ユーザの声のトーンが閾値Th4を下回っている場合には、コミュニケーションが良好でないと考えられるため、当該ユーザ(またはパーソナルスペース処理の対象である2人のユーザ)のパーソナルスペースが拡大される。
【0067】
コミュニケーション状況に関する所定の条件は、コミュニケーションの頻度が閾値Th5を上回っているという条件と、コミュニケーションの頻度が閾値Th6(<閾値Th5)を下回っているという条件とを含んでもよい。コミュニケーションの頻度が閾値Th5を上回っている場合には、当該コミュニケーションが良好であると考えられるため、当該コミュニケーションをとる全てのユーザのパーソナルスペースが縮小される。コミュニケーションの頻度が閾値Th6を下回っている場合には、当該コミュニケーションが良好でないと考えられるため、当該コミュニケーションをとる全てのユーザのパーソナルスペースが拡大される。
【0068】
コミュニケーション状況に関する所定の条件は、現在までの所定の期間におけるコミュニケーションの時間が閾値Th7を上回っているという条件と、当該時間が閾値Th8(<閾値Th7)を下回っているという条件とを含んでもよい。コミュニケーションの時間が閾値Th7を上回っている場合には、当該コミュニケーションが良好であると考えられるため、当該コミュニケーションをとる全てのユーザのパーソナルスペースが縮小される。コミュニケーションの時間が閾値Th8を下回っている場合には、当該コミュニケーシ
ョンが良好でないと考えられるため、当該コミュニケーションをとる全てのユーザのパーソナルスペースが拡大される。
【0069】
コミュニケーション状況に関する所定の条件は、ユーザの相槌の頻度が閾値Th9を上回っているという条件と、ユーザの相槌の頻度が閾値Th10(<閾値Th9)を下回っているという条件とを含んでもよい。ユーザの相槌の頻度が閾値Th9を上回っている場合には、コミュニケーションが良好であると考えられるため、当該ユーザ(またはコミュニケーションをとる全てのユーザ)のパーソナルスペースが縮小される。ユーザの相槌の頻度が閾値Th10を下回っている場合には、コミュニケーションが良好でないと考えられるため、当該ユーザ(またはコミュニケーションをとる全てのユーザ)のパーソナルスペースが拡大される。
【0070】
なお、閾値Th1,Th2は予め定められた固定値であってもよいし、ユーザが変更可能な値であってもよいし、ユーザの身体状況の統計情報に基づいてCPU1901が決定(変更)する値であってもよい。同様に、閾値Th3~Th10は予め定められた固定値であってもよいし、ユーザが変更可能な値であってもよいし、コミュニケーション状況の統計情報に基づいてCPU1901が決定(変更)する値であってもよい。
【0071】
また、パーソナルスペースの侵害が生じているか否かにかかわらず、身体状況またはコミュニケーション状況が所定の条件を満たすユーザのパーソナルスペースが変更されてもよい。
【0072】
ステップS310では、CPU1901は、(パーソナルスペースの変更後において)人物150と人物160の間でパーソナルスペースの侵害が生じているか否かを判定する。侵害が生じている場合はステップS311に進み、そうでない場合は
図3のパーソナルスペース処理が終了する。
【0073】
ステップS311では、CPU1901は、人物150,160に対して所定の通知を行う。所定の通知は、例えば、パーソナルスペースの侵害の解消を促す通知である。例えば、CPU1901は、表示部1107,1207にパーソナルスペースの侵害があった旨の警告を表示するように、ネットワーク199を介してHMD110,120を制御する。
【0074】
このように、
図3のパーソナルスペース処理では、ユーザの移動状況、ユーザの身体状況、およびコミュニケーション状況のそれぞれをユーザの状況として用い、ユーザが所定の状況にある場合に、当該ユーザのパーソナルスペースが変更される。なお、ユーザの移動状況、ユーザの身体状況、およびコミュニケーション状況の少なくともいずれかをユーザの状況として用いなくてもよい。
【0075】
なお、
図3のパーソナルスペース処理は2人のユーザを対象とした処理である。3人以上のユーザがコミュニケーションをとる場合には、2人のユーザのペアの全ての組み合わせについて、
図3のパーソナルスペース処理を行えばよい。
【0076】
3人以上のユーザがコミュニケーションをとる場合について説明する。ここで、3人のユーザA~Cがコミュニケーションをとる場合を考える。ユーザAはユーザBに近づきたいとは考えておらず、ユーザCに近づきたいと考えているとする。そして、ユーザBはユーザCの近くいるとする。この場合に、ユーザA,Bのペアに対するパーソナルスペース処理において、ユーザAがユーザCに近づくことによってユーザAとユーザBの間の距離が短くなり、ユーザAがユーザBに近づきたいと誤って判断されることがある。その結果、ステップS304でユーザBに対するユーザAのパーソナルスペースが縮小されること
がある。
【0077】
そこで、CPU1901は、ユーザの視線に関する情報を取得し、当該視線を考慮してパーソナルスペースを変更してもよい。ユーザの視線は、例えば、当該ユーザのHMDによって検出される。ユーザの、当該ユーザの視線が向けられている他のユーザに対するパーソナルスペースのみが変更されるようにしてもよい。ユーザA,Bのペアに対するパーソナルスペース処理において、ユーザAとユーザBの間の距離が短くなった場合を考える。この場合に、ユーザAの視線がユーザBを向いていれば、ステップS304でユーザBに対するユーザAのパーソナルスペースが縮小され、そうでなければユーザBに対するユーザAのパーソナルスペースは変更されないとしてもよい。
【0078】
CPU1901は、ユーザが他のユーザに視線を向ける時間と頻度の少なくとも一方を考慮してパーソナルスペースを変更してもよい。ユーザが他のユーザに視線を向ける時間は、ユーザが他のユーザに視線を向ける1回の時間の代表値(平均値、最頻値、中間値、最大値、または最小値)である。例えば、CPU1901は、ユーザAがユーザBに視線を向ける時間が閾値Th11を上回っている場合に、ユーザAがユーザBに近づきたいと判断し、ユーザBに対するユーザAのパーソナルスペースを縮小してもよい。そして、CPU1901は、ユーザAがユーザBに視線を向ける時間が閾値Th12(<閾値Th11)を下回っている場合に、ユーザAがユーザBに近づきたくないと判断し、ユーザBに対するユーザAのパーソナルスペースを拡大してもよい。同様に、CPU1901は、ユーザAがユーザBに視線を向ける頻度が閾値Th13を上回っている場合に、ユーザAがユーザBに近づきたいと判断し、ユーザBに対するユーザAのパーソナルスペースを縮小してもよい。CPU1901は、ユーザAがユーザBに視線を向ける頻度が閾値Th14(<閾値Th13)を下回っている場合に、ユーザAがユーザBに近づきたくないと判断し、ユーザBに対するユーザAのパーソナルスペースを拡大してもよい。
【0079】
閾値Th11~Th14は予め定められた固定値であってもよいし、ユーザが変更可能な値であってもよいし、コミュニケーション状況の統計情報に基づいてCPU1901が決定(変更)する値であってもよい。
【0080】
また、3人以上のユーザがコミュニケーションをとる場合に、パーソナルスペースの侵害状況をユーザが把握しにくいことがある。そこで、CPU1901は、複数のユーザのパーソナルスペースを各ユーザに通知してもよい。例えば、CPU1901は、複数のユーザのパーソナルスペースを表示部1107,1207に表示するように、ネットワーク199を介してHMD110,120を制御してもよい。その際、複数のパーソナルスペースは異なる態様で識別可能に表示される。例えば、ユーザBに対するユーザAのパーソナルスペースは、ユーザCに対するユーザAのパーソナルスペースの態様とは異なる態様で表示される。
【0081】
また、パーソナルスペースを自動で(一時的に)変更する例を説明したが、CPU1901は、パーソナルスペースの変更をユーザに提案してもよい。そして、CPU1901は、提案にユーザが同意しなかった場合にはパーソナルスペースを変更せず、提案にユーザが同意した場合にパーソナルスペースを変更してもよい。CPU1901は、拡大方向にパーソナルスペースを変更する場合に、当該変更をユーザに提案し、拡大方向とは反対の縮小方向にパーソナルスペースを変更する場合に、当該変更をユーザに提案せずに、パーソナルスペースを変更してもよい。CPU1901は、縮小方向にパーソナルスペースを変更する場合に、当該変更をユーザに提案し、拡大方向にパーソナルスペースを変更する場合に、当該変更をユーザに提案せずに、パーソナルスペースを変更してもよい。CPU1901は、パーソナルスペースの変更をユーザに提案する際に、変更後のパーソナルスペースをユーザに指定させてもよい。CPU1901は、パーソナルスペースの変更を
ユーザに提案する際に、変更後のパーソナルスペースの複数の候補をユーザに提示して、複数の候補から変更後のパーソナルスペースをユーザに選択させてもよい。
【0082】
図2のステップS207,S208の処理の具体例について説明する。
【0083】
図4Eの状況でCPU1901が情報処理システム100を停止すると判定し、ステップS206からステップS207に進んだとする。この場合は、ステップS207において、CPU1901は、パーソナルスペースが一時的に変更された人物150に対し一時的なパーソナルスペースを継続的なものとして設定するか否かを問い合わせるように、HMD110を制御する。例えば、HMD110のCPU1101は、サーバ190のCPU1901からの指示に従って、表示部1107に問い合わせ画面を表示する。人物150は、HMD110の操作部1108を用いて、上記問い合わせに回答することができる。
【0084】
人物150が一時的なパーソナルスペースを継続的なものとして設定しないと回答した場合は、パーソナルスペース情報は更新されず(ステップS208は省略され)、情報処理システム100が停止される。その後、情報処理システム100が再び起動された場合は、人物160に対する人物150のパーソナルスペースとして、
図4B~4Dと同じ広さのパーソナルスペースが用いられる。
【0085】
人物150が一時的なパーソナルスペースを継続的なものとして設定すると回答した場合は、ステップS208において、CPU1901は、HMD110の記憶部1109に格納されているパーソナルスペース情報を更新するように、HMD110を制御する。そして、情報処理システム100が停止される。その後、情報処理システム100が再び起動された場合は、人物160に対する人物150のパーソナルスペースとして、
図4Eと同じ広さのパーソナルスペースが用いられる。
【0086】
図5は、Host側表示処理(
図2のステップS204)の一例を示すフローチャートである。Host側表示処理は、Host側HMD110のCPU1101によって行われれる。
【0087】
ステップS501では、CPU1101は、通信部1105を用いて、Guest側カメラ140からGuest側空間180の空間画像を受信(取得)する。Guest側人物160の一部がGuest側空間180の空間画像に写っていない場合には、違和感のある合成画像(Guest側人物160の一部が描画されていない不自然な合成画像)が得られることがある。そのため、Guest側空間180の空間画像には、Guest側人物160の全身が写っていることが好ましい。
【0088】
ステップS502では、CPU1101は、必要に応じて、ステップS501で取得した空間画像に対して幾何変換処理を行う。例えば、Guest側カメラ140が魚眼レンズといった超広角レンズを用いて撮像を行う場合には、CPU1101は、合成に適した空間画像を得るために、正距円筒変換といった幾何変換処理を行う必要がある。
【0089】
ステップS503では、CPU1101は、ステップS501で取得した空間画像(ステップS502の幾何変換処理後の空間画像)から、主被写体であるGuest側人物160の領域を抽出する。これによって、Guest側人物160を撮像した画像(Guest側人物160のみを表す画像)である人物画像が得られる。Guest側人物160の領域を抽出する方法は特に限定されない。例えば、Guest側人物160がグリーンバックで撮像され、クロマキー処理によってGuest側人物160の領域が抽出されてもよい。ディープラーニングのような機械学習によって学習された演算器(学習済みモデ
ル)を用いてGuest側人物160の領域が抽出されてもよい。抽出の方法は、例えば、システムリソースおよび抽出の精度を考慮して選択される。
【0090】
ステップS504では、CPU1101は、ステップS503で取得した人物画像の合成位置(表示位置)および合成サイズ(表示サイズ)を決定する。情報処理システム100では、Host側カメラ130の位置がGuest側人物160の視点となる。そのため、人物画像をHost側カメラ130の位置に表示することが好ましく、当該人物画像におけるGuest側人物160の顔の領域をHost側カメラ130の位置に表示することがより好ましい。そして、人物画像におけるGuest側人物160の目の領域(Guest側HMD120の領域)をHost側カメラ130のレンズの位置に表示することが特に好ましい。CPU1101は、Host側HMD110の撮像部1106によって得られた視界画像からHost側カメラ130の位置をパターンマッチングによって検出し、検出した位置を人物画像の合成位置(表示位置)として決定する。ユーザによって指定された位置が合成位置(表示位置)として決定されてもよい。また、CPU1101は、Host側人物150(Host側HMD110)とHost側カメラ130との位置関係に基づいて人物画像のリサイズ率を決定する。そして、CPU1101は、決定したリサイズ率で人物画像をリサイズすることによって人物画像の合成サイズ(表示サイズ)を決定する。
【0091】
ステップS505では、CPU1101は、Host側HMD110の撮像部1106によって得られた視界画像(Host側人物150の視界画像)に、ステップS503で取得した人物画像を合成する。人物画像は、ステップS504で決定された合成位置および合成サイズで合成される。これによって、Host側空間170にGuest側人物160がいるような合成画像が得られる。
【0092】
ステップS506では、CPU1101は、ステップS505で取得した合成画像を、表示部1107に表示する。
【0093】
図6は、Guest側表示処理(
図2のステップS205)の一例を示すフローチャートである。Guest側表示処理は、Guest側HMD120のCPU1201によって行われれる。
【0094】
ステップS601では、CPU1201は、通信部1205を用いて、Host側カメラ130からHost側空間170の空間画像を受信(取得)する。
【0095】
ステップS602では、CPU1201は、必要に応じて、ステップS601で取得した空間画像に対して幾何変換処理を行う。例えば、Host側カメラ130が広角のステレオカメラである場合には、CPU1201は、立体視に適した空間画像を得るために、正距円筒変換および透視投影変換といった幾何変換処理を行う必要がある。
【0096】
ステップS603では、CPU1201は、ステップS601で取得した空間画像(ステップS602の幾何変換処理後の空間画像)を、表示部1207に表示する。
【0097】
以上述べたように、第1実施形態によれば、ユーザの状況に関する情報が取得され、当該情報に基づいて、複合現実空間におけるユーザのパーソナルスペースが変更される。こうすることによって、複合現実空間におけるパーソナルスペースを好適かつ容易に変更することができる。
【0098】
なお、ビデオシースルー方式のHMDを用いる例を説明したが、光学シースルー方式のHMDを用いてもよい。光学シースルー方式のHMDは、視野画像を取得するための撮像
部を有してもよいし、有さなくてもよい。また、Guest側HMD120は、Host側表示処理(
図5)と同様の処理を行ってもよい。そうすることで、Guest側人物160は、Host側人物150が自身(Guest側人物160)と同じGuest側空間180にいるような感覚を得ることができる。
【0099】
<第2実施形態>
以下、本発明の第2実施形態を説明する。第1実施形態では、複合現実空間におけるパーソナルスペースを変更する例を説明した。第2実施形態では、仮想空間(VR空間)におけるパーソナルスペースを変更する例を説明する。仮想空間は、例えば、Computer Graphic(CG)によって表された空間である。なお、以下では、第1実施形態と同じ点(例えば第1実施形態と同じ構成および処理)についての説明は省略し、第1実施形態と異なる点について説明する。
【0100】
図7は、第2実施形態に係る情報処理システム100によって行われる全体処理の一例を示すフローチャートである。例えば、情報処理システム100(HMD110、HMD120、カメラ130、カメラ140、およびサーバ190)が起動すると、
図7の全体処理が開始する。
【0101】
ステップS701では、サーバ190のCPU1901は、HMD110、HMD120、カメラ130、カメラ140、およびサーバ190が(ネットワーク199を介して)互いに接続されたか否かを判定する。CPU1901は、これら5つのデバイスが互いに接続されたと判定するまで待機し、5つのデバイスが互いに接続されたと判定するとステップS702の処理を行う。
【0102】
ステップS702では、サーバ190のCPU1901は、通信部1904を用いて、ネットワーク199を介してHMD110,120から、HMD110,120(人物150,160)の位置情報を取得する。
【0103】
ステップS703では、サーバ190のCPU1901は、パーソナルスペース処理を行う。パーソナルスペース処理は第1実施形態(
図3)と同様である。
【0104】
ステップS704では、サーバ190のCPU1901は、通信部1904を用いて、カメラ130から空間170の空間画像を受信(取得)し、カメラ140から空間180の空間画像を受信(取得)する。
【0105】
ステップS705では、サーバ190のCPU1901は、必要に応じて、ステップS704で取得した空間画像に対して幾何変換処理を行う。
【0106】
ステップS706では、サーバ190のCPU1901は、ステップS704で取得した空間画像(ステップS705の幾何変換処理後の空間画像)から、主被写体である人物(ユーザ)の領域を抽出する。これによって、人物150の人物画像と人物160の人物画像とが得られる。
【0107】
ステップS707では、サーバ190のCPU1901は、ステップS706で取得した人物画像の合成位置(表示位置)および合成サイズ(表示サイズ)を決定する。決定方法は第1実施形態と同様である。
【0108】
ステップS708では、サーバ190のCPU1901は、通信部1904を用いて、ネットワーク199を介してHMD110から、位置情報(位置検出部1110の検出結果)と姿勢情報(姿勢センサ1104の検出結果)を受信する。そして、CPU1901
は、記憶部1905から仮想空間の画像(データ)を読み出し、読み出した画像から、HMD110の表示部1107に表示する視界画像として、位置情報および姿勢情報に応じた画像を生成する。同様に、CPU1901は、通信部1904を用いて、ネットワーク199を介してHMD120から、位置情報(位置検出部1210の検出結果)と姿勢情報(姿勢センサ1204の検出結果)を受信する。そして、CPU1901は、仮想空間の画像から、HMD120の表示部1207に表示する視界画像として、位置情報および姿勢情報に応じた画像を生成する。
【0109】
ステップS709では、サーバ190のCPU1901は、HMD110の表示部1107に表示する視界画像に人物160の人物画像を合成することによって、表示部1107に表示する合成画像を取得する。同様に、CPU1901は、HMD120の表示部1207に表示する視界画像に人物150の人物画像を合成することによって、表示部1207に表示する合成画像を取得する。人物画像は、ステップS504で決定された合成位置および合成サイズで合成される。これによって、全てのユーザが同一の仮想空間にいるような合成画像が得られる。
【0110】
ステップS710では、サーバ190のCPU1901は、通信部1904を用いて、ネットワーク199を介してHMD110に、表示部1107に表示する合成画像を送信する。同様に、CPU1901は、通信部1904を用いて、ネットワーク199を介してHMD120に、表示部1207に表示する合成画像を送信する。HMD110のCPU1101は、受信した合成画像を表示部1107に表示し、HMD120のCPU1201は、受信した合成画像を表示部1207に表示する。各ユーザは、表示された合成画像を見ることによって、全てのユーザが同一の仮想空間にいるような感覚を得ることができる。
【0111】
ステップS711では、サーバ190のCPU1901は、情報処理システム100を停止するか否かを判定する。CPU1901が情報処理システム100を停止すると判定するまで、フレームごとにステップS701~S710の処理が繰り返し行われる。そして、CPU1901が情報処理システム100を停止すると判定すると、必要に応じてステップS712,S713の処理が行われ、
図7の全体処理が終了する。
【0112】
ステップS712では、サーバ190のCPU1901は、ステップS203で一時的にパーソナルスペースが変更されたユーザに一時的なパーソナルスペースを継続的なものとして設定するか否かを問い合わせるように、当該ユーザのHMDを制御する。一時的なパーソナルスペースを継続的なものとして設定する場合はステップS713に進み、そうでない場合は
図7の全体処理が終了する。
【0113】
ステップS713では、サーバ190のCPU1901は、一時的なパーソナルスペースが継続的なものとして設定されるように、後述するパーソナルスペース情報を更新する。
【0114】
以上述べたように、第2実施形態によれば、ユーザの状況に関する情報が取得され、当該情報に基づいて、仮想空間におけるユーザのパーソナルスペースが変更される。こうすることによって、仮想空間におけるパーソナルスペースを好適かつ容易に変更することができる。
【0115】
なお、全てのユーザが同じ仮想空間を体験する例を説明したが、複数のユーザが異なる仮想空間を体験してもよい。例えば、複数の仮想空間の画像がサーバ190の記憶部1905に格納されており、各ユーザは、複数の仮想空間から、自身の体験する仮想空間を選択できてもよい。
【0116】
また、上記実施形態(変形例を含む)はあくまで一例であり、本発明の要旨の範囲内で上記実施形態の構成を適宜変形したり変更したりすることにより得られる構成も、本発明に含まれる。上記実施形態の構成を適宜組み合わせて得られる構成も、本発明に含まれる。
【0117】
例えば、サーバが行うとした上記処理の少なくとも一部は、サーバとは異なる情報処理装置(例えばHMD、HMDに接続されたパーソナルコンピュータ、またはHMDに接続されたゲーム機)によって行われてもよい。本発明が適用される装置はサーバでなくてもよい。また、HMDが行うとした上記処理の少なくとも一部は、HMDとは異なる情報処理装置(例えばサーバ、HMDに接続されたパーソナルコンピュータ、またはHMDに接続されたゲーム機)によって行われてもよい。
【0118】
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0119】
本実施形態の開示は、以下の構成、方法、プログラム、および媒体を含む。
(構成1)
ユーザの状況に関する情報を取得する取得手段と、
前記情報に基づいて、前記ユーザが所定の状況にある場合に、複合現実空間または仮想空間である3次元空間における前記ユーザのパーソナルスペースを変更する変更手段と
を有することを特徴とする情報処理装置。
(構成2)
前記変更手段は、
前記ユーザが所定の状況にある場合に、前記パーソナルスペースの変更を前記ユーザに提案するように制御し、
前記パーソナルスペースの変更に前記ユーザが同意した場合に、前記パーソナルスペースを変更する
ことを特徴とする構成1に記載の情報処理装置。
(構成3)
前記変更手段は、
拡大方向または縮小方向である第1の方向に前記パーソナルスペースを変更する場合に、前記パーソナルスペースの変更を前記ユーザに提案するように制御し、
前記第1の方向とは反対の第2の方向に前記パーソナルスペースを変更する場合に、前記パーソナルスペースの変更を前記ユーザに提案せずに、前記パーソナルスペースを変更する
ことを特徴とする構成2に記載の情報処理装置。
(構成4)
前記変更手段は、前記パーソナルスペースの変更を前記ユーザに提案する際に、変更後のパーソナルスペースを前記ユーザに指定させるように制御する
ことを特徴とする構成2または3に記載の情報処理装置。
(構成5)
前記変更手段は、前記パーソナルスペースの変更を前記ユーザに提案する際に、変更後のパーソナルスペースの複数の候補を前記ユーザに提示して、前記複数の候補から変更後のパーソナルスペースを前記ユーザに選択させるように制御する
ことを特徴とする構成4に記載の情報処理装置。
(構成6)
前記所定の状況は、前記3次元空間において前記ユーザが他のユーザに近づいている状況を含む
ことを特徴とする構成1~5のいずれかに記載の情報処理装置。
(構成7)
前記変更手段は、前記3次元空間において前記ユーザが他のユーザに近づいている場合に、前記パーソナルスペースを縮小する
ことを特徴とする構成6に記載の情報処理装置。
(構成8)
前記所定の状況は、前記ユーザの身体に関する状況を含む
ことを特徴とする構成1~7のいずれかに記載の情報処理装置。
(構成9)
前記変更手段は、前記ユーザの心拍数または発汗量が閾値を下回っている場合に、前記パーソナルスペースを縮小する
ことを特徴とする構成8に記載の情報処理装置。
(構成10)
前記変更手段は、前記ユーザの心拍数または発汗量が閾値を上回っている場合に、前記パーソナルスペースを拡大する
ことを特徴とする構成8または9に記載の情報処理装置。
(構成11)
前記所定の状況は、前記3次元空間における前記ユーザと他のユーザとの間のコミュニケーションに関する状況を含む
ことを特徴とする構成1~10のいずれかに記載の情報処理装置。
(構成12)
前記コミュニケーションにおける前記ユーザの声のトーン、前記コミュニケーションの頻度、現在までの所定の期間におけるコミュニケーションの時間、または前記コミュニケーションにおける前記ユーザの相槌の頻度が閾値を上回っている場合に、前記パーソナルスペースを縮小する
ことを特徴とする構成11に記載の情報処理装置。
(構成13)
前記コミュニケーションにおける前記ユーザの声のトーン、前記コミュニケーションの頻度、現在までの所定の期間におけるコミュニケーションの時間、または前記コミュニケーションにおける前記ユーザの相槌の頻度が閾値を下回っている場合に、前記パーソナルスペースを拡大する
ことを特徴とする構成11または12に記載の情報処理装置。
(構成14)
前記変更手段は、前記ユーザに前記3次元空間における複数のユーザのパーソナルスペースを通知するように制御する
ことを特徴とする構成1~13のいずれかに記載の情報処理装置。
(構成15)
前記変更手段は、前記ユーザに前記パーソナルスペースの設定を変更したことを通知するように制御する
ことを特徴とする構成1~14のいずれかに記載の情報処理装置。
(構成16)
前記変更手段は、前記ユーザの、前記ユーザの視線が向けられている他のユーザに対するパーソナルスペースを変更する
ことを特徴とする構成1~15のいずれかに記載の情報処理装置。
(構成17)
前記所定の状況は、前記ユーザが他のユーザに視線を向ける時間または頻度に関する状況を含む
ことを特徴とする構成1~16のいずれかに記載の情報処理装置。
(構成18)
前記変更手段は、前記時間または前記頻度が閾値を上回っている場合に、前記パーソナルスペースを縮小する
ことを特徴とする構成17に記載の情報処理装置。
(構成19)
前記変更手段は、前記時間または前記頻度が閾値を下回っている場合に、前記パーソナルスペースを拡大する
ことを特徴とする構成17または18に記載の情報処理装置。
(方法)
ユーザの状況に関する情報を取得するステップと、
前記情報に基づいて、前記ユーザが所定の状況にある場合に、複合現実空間または仮想空間である3次元空間における前記ユーザのパーソナルスペースを変更するステップと
を有することを特徴とする情報処理装置の制御方法。
(プログラム)
コンピュータを、構成1~19のいずれかに記載の情報処理装置の各手段として機能させるためのプログラム。
(媒体)
コンピュータを、構成1~19のいずれかに記載の情報処理装置の各手段として機能させるためのプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【符号の説明】
【0120】
190:サーバ 1901:CPU