(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023134045
(43)【公開日】2023-09-27
(54)【発明の名称】通信装置、通信システム、表示方法、及びプログラム
(51)【国際特許分類】
H04N 7/15 20060101AFI20230920BHJP
H04N 21/431 20110101ALI20230920BHJP
H04L 67/131 20220101ALI20230920BHJP
G06T 19/00 20110101ALI20230920BHJP
【FI】
H04N7/15 170
H04N21/431
H04L67/131
G06T19/00 300B
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022039375
(22)【出願日】2022-03-14
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLU―RAY DISC
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(72)【発明者】
【氏名】堀 悠貴
(72)【発明者】
【氏名】関屋 晨
(72)【発明者】
【氏名】石田 貴志
(72)【発明者】
【氏名】黒田 哲史
(72)【発明者】
【氏名】鍛冶 克行
(72)【発明者】
【氏名】萩野 良雄
【テーマコード(参考)】
5B050
5C164
【Fターム(参考)】
5B050AA08
5B050BA04
5B050BA06
5B050BA09
5B050BA11
5B050BA12
5B050CA08
5B050DA04
5B050EA10
5B050EA19
5B050EA26
5B050FA02
5B050FA05
5C164FA10
5C164GA07
5C164MA03S
5C164PA39
5C164UB41S
5C164UB90P
5C164VA07P
5C164YA21
(57)【要約】
【課題】一の拠点の現実空間上の人物における視点(眼の位置)に応じて、他の拠点の対話相手の映像を変化させるという運動視差を実現し、仮想空間上の距離に応じた人物サイズで対話相手を一の拠点側のディスプレイ上に表示することで、各利用者に対話相手との同室感を与えることができる技術が提案されている。しかし、仮想空間上の人物の全員が必ずしも会議等を行うとは限らず、仮想空間上にいる仮想の利用者によっては、誰から見られているか分からず、安心感が無いという課題が生じる。
【解決手段】通信装置は、仮想空間上における自拠点と他拠点の距離に応じて、他拠点における被写体の画像と当該被写体に係るキャラクタ画像とを切り替えて表示する。
【選択図】
図34
【特許請求の範囲】
【請求項1】
他拠点における他の通信装置と通話を行う通信装置であって、
前記他の通信装置が前記他拠点の被写体を撮影することで得た当該他拠点の画像データを前記他の通信装置が送信することによって、当該画像データを受信する受信手段と、
仮想空間上における自拠点と他拠点の距離に応じて、前記受信された画像データに基づく前記他拠点における被写体の画像と、当該被写体に係るキャラクタ画像とを切り替えて表示する表示制御手段と、
を有することを特徴とする通信装置。
【請求項2】
請求項1に記載の通信装置において、
前記画像データは、前記他の通信装置が現実空間上の前記他拠点における被写体を撮影することで得た当該他拠点の輝度画像及び深度画像のデータであり、
前記表示制御手段は、前記仮想空間上における自拠点と他拠点の距離に応じて、前記受信された輝度画像のデータに基づく前記他拠点における被写体の平面画像と、前記受信された輝度画像及び深度画像のデータに基づく前記他拠点における被写体の立体画像とを切り替えて表示することを特徴とする通信装置。
【請求項3】
前記表示制御手段は、前記仮想空間上における自拠点と他拠点の間の距離に応じて、複数サイズの前記キャラクタ画像を切り替えて表示することを特徴とする請求項1又は2に記載の通信装置。
【請求項4】
前記仮想空間上における自拠点と他拠点の間の距離が短くなるにつれて、前記キャラクタ画像のサイズを大きくして表示することを特徴とする請求項3に記載の通信装置。
【請求項5】
前記キャラクタ画像は、アバター又はアイコンであることを特徴とする請求項1乃至4のいずれか一項に記載の通信装置。
【請求項6】
他拠点における他の通信装置と通信を行う通信装置と、当該通信装置と通信可能な通信管理サーバとを備える通信システムであって、
前記通信管理サーバは、
前記他の通信装置が前記他拠点の被写体を撮影することで得た当該他拠点の画像データを前記他の通信装置が送信した当該画像データを受信する第1の受信手段と、
前記画像データを前記通信装置に送信する送信手段と、
を備え、
前記通信装置は、
前記サーバから前記画像データを受信する第2の受信手段と、
仮想空間上における自拠点と前記他拠点の距離に応じて、受信された前記画像データに基づく前記他拠点における被写体の画像と、当該被写体に係るキャラクタ画像とを切り替えて表示する表示制御手段と、
を有することを特徴とする通信システム。
【請求項7】
他拠点における他の通信装置と通話を行う通信装置が実行する表示方法であって、
前記他の通信装置が前記他拠点の被写体を撮影することで得た当該他拠点の画像データを前記他の通信装置が送信することによって、当該画像データを受信する受信ステップと、
仮想空間上における自拠点と他拠点の距離に応じて、前記受信された画像データに基づく前記他拠点における被写体の画像と、当該被写体に係るキャラクタ画像とを切り替えて表示する表示制御ステップと、
を実行することを特徴とする表示方法。
【請求項8】
コンピュータに、請求項7に記載の方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示内容は、通信装置、通信システム、表示方法、及びプログラムに関する。
【背景技術】
【0002】
近年、ICT(情報通信技術)を利用し、時間や場所を有効に活用できる柔軟な働き方を行うテレワークが浸透してきた。これにより、ワーク・ライフ・バランスの実現や営業効率の向上及び顧客満足度の向上等を図ることができる。また、テレワークの普及に合わせて、インターネットを介したビデオ(テレビ)会議等のシステムの性能が向上している(
図34参照)。
【0003】
また、コミュニケーションにおいて、対人間の距離感は、話しやすさや緊張感に影響を与えるため非常に重要である(エドワードホール、かくれた次元、2000、みすず書房)。ところが、ビデオ会議では、現実空間(又は、物理空間)のコミュニケーションのように、対話相手と同じ空間に一緒に居る感じ(以下、「同室感」という。)が得にくいという問題がある。
【0004】
そこで、特許文献1では、一の拠点の現実空間上の人物における視点(眼の位置)に応じて、他の拠点の対話相手の映像を変化させるという運動視差を実現し、仮想空間上の距離に応じた人物サイズで対話相手を一の拠点側のディスプレイ上に表示することで、各利用者に対話相手との同室感を与えることができる技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、仮想空間上の人物の全員が必ずしも会議等を行うとは限らず、仮想空間上にいる仮想の利用者によっては、誰から見られているか分からず、安心感が無いという課題が生じる。
【課題を解決するための手段】
【0007】
請求項1に係る発明は、他拠点における他の通信装置と通話を行う通信装置であって、前記他の通信装置が前記他拠点の被写体を撮影することで得た当該他拠点の画像データを前記他の通信装置が送信することによって、当該画像データを受信する受信手段と、仮想空間上における自拠点と他拠点の距離に応じて、前記受信された画像データに基づく前記他拠点における被写体の画像と、当該被写体に係るキャラクタ画像とを切り替えて表示する表示制御手段と、を有することを特徴とする通信装置である。
【発明の効果】
【0008】
以上説明したように本発明によれば、通信装置は、仮想空間上における自拠点と他拠点の距離に応じて、他拠点における被写体の画像と当該被写体に係るキャラクタ画像とを切り替えて表示するため、仮想空間内にいる仮想の利用者が、誰から見られているか分からず安心感が無いという課題をできるだけ解消することができる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施形態に係る通信システムの概略図である。
【
図2】通信管理サーバの電気的なハードウェア構成図である。
【
図3】通信装置の電気的なハードウェア構成図である。
【
図9】ディスプレイ管理テーブルで管理するデータをディスプレイ上の点で視覚的に示した概念図である。
【
図10】選択配置情報管理テーブルの概念図である。
【
図11】固定配置情報管理テーブルの概念図である。
【
図12】仮想の利用者の最新位置を示した位置管理テーブルの概念図である。
【
図13】ワールド座標上で仮想参加者の配置位置を示した概念図である。
【
図14】ワールド座標上で仮想参加者の配置位置を示した概念図である。
【
図15】特定の通信セッションへの参加処理を示したシーケンス図である。
【
図16】通信装置におけるログイン画面の表示例である。
【
図17】位置の特定処理を示したフローチャートである。
【
図18】通信装置における配置位置種類の選択画面を示した図である。
【
図19】仮想の会社を選択するための選択画面の表示例を示した図である。
【
図20】仮想の部署を選択するための選択画面の表示例を示した図である。
【
図21】仮想の部屋(フロア)を選択するための選択画面の表示例を示した図である。
【
図22】ディスプレイ情報の送信処理を示したシーケンス図である。
【
図23】所定の通信装置(例えば、通信装置1a)から送信された輝度画像データ、深度画像データ及び音データが他の通信装置に届くまでの処理を示したシーケンス図である。
【
図24】送信される輝度画像データと深度画像データの概念図である。
【
図25】通信装置1dによる画像データ及び音データの受信の処理を示すシーケンス図である。
【
図26】画像表示の処理を示したフローチャートである。
【
図27】仮想の利用者D1からの距離と表示される画像の例を示した図である。
【
図28】ワールド座標系にける物体の位置の算出処理を示すフローチャートである。
【
図29】カメラ座標系からモデリング座標系への変換、及びモデリング座標系からワールド座標系への変換の概念図である。
【
図30】モデリング座標系に利用者D1の画像と仮想ディスプレイを配置した概念図である。
【
図31】モデリング座標系からワールド座標系への変換を示したイメージ図である。
【
図32】利用者D1の通信装置のディスプレイ118に表示された画像を示す図である。
【
図33】利用者D1の通信装置のディスプレイ118に表示された画像を示す図である。
【
図34】従来のビデオ会議の場合のディスプレイにおける表示例である。
【発明を実施するための形態】
【0010】
以下、図面を用いて、本発明の実施形態について説明する。
【0011】
〔通信システムの概略〕
本実施形態の通信システムは、仮想空間(「仮想エリア」ともいう)で映像通話を行うたのシステムである。
【0012】
まず、
図1を用いて、本実施形態の通信システムの構成の概略について説明する。
図1は、本発明の実施形態に係る通信システムの構成の概略図である。
【0013】
図1に示されているように、本実施形態の通信システムは、複数の通信装置1a,1b,1c,1d、及び通信管理サーバ6によって構築され、インターネット等の通信ネットワーク100を介して通信することができる。通信ネットワーク100の接続形態は、無線又は有線のいずれでも良い。
【0014】
通信装置1a,1b,1c,1dは、ぞれぞれ、拠点A,B,C,Dに配置されている。なお、以降、通信装置1a,1b,1c,1dのうちの任意の通信装置を「通信装置1」と示す。通信装置1は、自拠点の撮影及び集音を行い、他拠点で撮影されることで得られた画像及び他拠点で集音されることで得られた音を出力することができる。通信装置1については、後ほど詳細に説明する。
【0015】
また、
図1は、通信装置1a,1b,1c,1dが、それぞれ、利用者A1,B1,C1,D1によって利用されている場合を示している。例えば、通信装置1aは、自拠点Aの様子を撮影及び録音し、通信ネットワーク100及び通信管理サーバ6を介して、他拠点B,C,Dの通信装置1b,1c,1dに対して、画像データ及び音データを送信する。同様に、通信装置b1,1c,1dは、自拠点の様子を撮影及び録音し、通信ネットワーク100及び通信管理サーバ6を介して、他拠点の通信装置に対して、画像データ及び音データを送信する。
【0016】
通信管理サーバ6は、コンピュータによって構成され、通信装置1の通信を管理及び制御したり、送受信される画像データの種類(一般画像と特殊画像の種別)を管理したりする。よって、通信管理サーバは、通信制御サーバでもある。なお、通信管理サーバ6は、単一又は複数のコンピュータによって構成されている。複数のコンピュータによって構成されている場合には、通信管理サーバは、通信管理システム(又は通信制御システム)でもある。
【0017】
なお、通信装置1には、デジタルテレビ、スマートフォン、スマートウオッチ、カーナビゲーション装置、医療機器等も含まれる。
【0018】
〔ハードウェア構成〕
続いて、
図2乃至
図3を用いて、本実施形態の通信装置1、及び通信管理サーバ6のハードウェア構成を詳細に説明する。
【0019】
<通信管理サーバのハードウェア構成>
続いて、
図2を用いて、通信管理サーバの電気的なハードウェア構成図について説明する。
図2は、通信管理サーバの電気的なハードウェア構成図である。
【0020】
図2に示されているように、通信管理サーバ6は、コンピュータとして、CPU601、ROM602、RAM603、HD604、HDD(Hard Disk Drive)コントローラ605、ディスプレイ606、外部機器接続I/F(Interface)608、ネットワークI/F609、バスライン610、ポインティングデバイス612、メディアI/F614を備えている。
【0021】
これらのうち、CPU601は、通信管理サーバ6全体の動作を制御する。ROM602は、IPL等のCPU601の駆動に用いられるプログラムを記憶する。RAM603は、CPU601のワークエリアとして使用される。HD604は、プログラム等の各種データを記憶する。HDDコントローラ605は、CPU601の制御にしたがってHD604に対する各種データの読み出し又は書き込みを制御する。ディスプレイ606は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F608は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USBメモリやプリンタ等である。ネットワークI/F609は、通信ネットワーク100を利用してデータ通信をするためのインターフェースである。バスライン610は、
図2に示されているCPU601等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0022】
また、ポインティングデバイス612は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。メディアI/F614は、フラッシュメモリ等の記録メディア613に対するデータの読み出し又は書き込み(記憶)を制御する。記録メディア613には、DVDやBlu-ray Disc(ブルーレイディスク)等も含まれる。
【0023】
<通信装置のハードウェア構成>
続いて、
図3を用いて、通信装置の電気的なハードウェア構成図について説明する。
図3は、通信装置の電気的なハードウェア構成図である。
【0024】
通信装置1は、例えば、タブレット端末である。
図3に示されているように、通信装置1は、CPU101、ROM102、RAM103、EEPROM104、撮影ユニット105、撮像素子I/F106、加速度・方位センサ107、メディアI/F109、GPS受信部111を備えている。
【0025】
これらのうち、CPU101は、通信装置1全体の動作を制御する。ROM102は、CPU101やIPL等のCPU101の駆動に用いられるプログラムを記憶する。RAM103は、CPU101のワークエリアとして使用される。EEPROM104は、CPU101の制御にしたがって、通信装置1用プログラム等の各種データの読み出し又は書き込みを行う。撮像ユニット105は、CPU101の制御に従って被写体(主に自画像)を撮像して画像データを得る内蔵型の撮像手段の一種である。撮像素子I/F106は、撮像ユニット105の駆動を制御する回路である。加速度・方位センサ107は、地磁気を検知する電子磁気コンパスやジャイロコンパス、加速度センサ等の各種センサである。メディアI/F109は、フラッシュメモリ等の記録メディア108に対するデータの読み出し又は書き込み(記憶)を制御する。GPS受信部111は、GPS衛星からGPS信号を受信する。
【0026】
また、通信装置1は、遠距離通信回路112、撮像ユニット113、撮像素子I/F114、マイク115、スピーカ116、音入出力I/F117、ディスプレイ118、外部機器接続I/F(Interface)119、近距離通信回路120、近距離通信回路120のアンテナ120a、及びタッチパネル121を備えている。
【0027】
これらのうち、遠距離通信回路112は、通信ネットワーク100を介して、他の機器と通信する回路である。撮像ユニット113は、CPU101の制御に従って被写体を撮像して画像データを得る内蔵型の撮像手段の一種であり、詳細は後述する。撮像素子I/F114は、撮像ユニット113の駆動を制御する回路である。マイク115は、音を電気信号に変える内蔵型の回路である。スピーカ116は、電気信号を物理振動に変えて音楽や音声などの音を生み出す内蔵型の回路である。音入出力I/F117は、CPU101の制御に従ってマイク115及びスピーカ116との間で音信号の入出力を処理する回路である。ディスプレイ118は、被写体の画像や各種アイコン等を表示する液晶や有機EL(Electro Luminescence)などの表示手段の一種である。外部機器接続I/F119は、各種の外部機器を接続するためのインターフェースである。近距離通信回路120は、NFC(Near Field Communication)やBluetooth(登録商標)等の通信回路である。タッチパネル121は、利用者がディスプレイ118を押下することで、通信装置1を操作する入力手段の一種である。
【0028】
また、通信装置1は、バスライン110を備えている。バスライン110は、
図4に示されているCPU101等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0029】
ここで、撮像ユニット113について説明する。撮像ユニット105は、輝度カメラ105a、深度カメラ105b、及びこれらと撮影素子I/Fを電気的に接続するバスライン105eを備えている。これらのうち、輝度カメラ105aは、CCDやCMOS等の撮像素子を用いて、受光した光を電気信号に変換して画像データを得るデバイスである。例えば、RGBカラーカメラが含まれる。
【0030】
深度カメラ105bは、人や物等の被写体を撮像して、LiDAR(Light Detection And Ranging)によるレーザ方式により、被写体から深度カメラ105bまでの距離を計測することで、深度画像のデータを取得する。深度カメラ105bは、被写体の形状を立体として捉えると共に、人の骨格等のさまざまな動きを検出して、その後の処理にリアルタイムに反映させることができるカメラである。そのため、深度カメラ105bは、レーザ発信機105b1及びレーザ受信機105b2によって構成されている。レーザ発信機113b1は、レーザ光を照射する。レーザ発信機105b1が照射したレーザ光が被写体で反射し、このときの反射光であるレーザ光をレーザ受信機113b2が受光して電気信号に変換し、必要な情報を取り出す。なお、上記では、LiDARにより深度を計測する方式を記載しているが、これに限るものではない。例えば、TOF(Time of Flight)方式により深度を計測する方式を用いてもよい。また、通常のカメラであるRGBカラーカメラによってステレオ計測による方法で深度を計測してもよく、深度を計測する方法については、上記の記載に限られるものではない。
【0031】
なお、撮像ユニット113は、輝度カメラ113a、深度カメラ113b、及びこれらと撮影素子I/Fを電気的に接続するバスライン113eを備えている。また、深度カメラ113bは、更に、レーザ発信機113b1及びレーザ受信機113b2を備えている。輝度カメラ113a、深度カメラ113b、バスライン113e、レーザ発信機113b1及びレーザ受信機113b2は、それぞれ、撮影ユニット105において、それぞれ、輝度カメラ105a、深度カメラ105b、バスライン105e、レーザ発信機105b1及びレーザ受信機105b2と同じ構成であるため、これらの説明を省略する。
【0032】
なお、上記各プログラムが記憶されたCD-ROM等の記録媒体、並びに、これらプログラムが記憶されたHDは、いずれもプログラム製品(Program Product)として、国内又は国外へ提供されることができる。
【0033】
〔実施形態の機能構成〕
次に、
図4乃至
図14を用いて、本実施形態の機能構成について説明する。
図4及び
図5は、通信システムの機能ブロック図である。
【0034】
<通信装置の機能構成>
ここで、通信装置1のうち、通信装置1aの機能構成について説明する。
【0035】
図4に示されているように、通信装置1aは、検知部30a、送受信部31a、受付部32a、画像・音処理部33a、表示制御部34a、判断部35a、集音部38a、記憶・読出処理部39a、及び検知部40を有している。これら各部は、
図2に示されている各構成要素のいずれかが、EEPROM104からRAM103上に展開された通信装置用のプログラムに従ったCPU101からの命令によって動作することで実現される機能又は手段である。また、通信装置1aは、
図2に示されているROM102、RAM103、及びEEPROM104によって構築される記憶部3000aを有している。
【0036】
更に、通信装置1aは、CPU101からの命令によって撮影ユニット105を動作させることによって実現される機能として、輝度画像取得部36a、深度画像取得部37a、及び集音部38aを有している。撮影ユニット105によって実現される機能については、破線で囲まれている。
(位置管理テーブル)
記憶部3000aには、位置管理テーブルによって構成されている位置管理DB3007aが構築されている。なお、位置管理DB3007aは、通信管理サーバ6の位置管理DB6007と同じデータ構成を有するため、後述の位置管理DB6007のところで説明する。
【0037】
(通信装置の各機能構成)
次に、
図3及び
図4を用いて、通信装置1aの各機能構成について更に詳細に説明する。
【0038】
通信装置1aの検知部30aは、加速度・方位センサ107に対するCPU101からの命令によって実現され、通信装置1aの移動方向及び回転方向を検知する。
【0039】
送受信部31aは、遠距離通信回路112に対するCPU101の処理によって実現され、通信ネットワーク100を介して、他の装置(例えば、通信管理サーバ6)との間で各種データ(または情報)の送受信を行う。
【0040】
受付部32aは、主に、タッチパネル121に対するCPU101の処理によって実現され、利用者から各種の選択又は入力を受け付ける。
【0041】
画像・音処理部33aは、主に、CPU101の処理によって実現され、各種画像処理及び音処理を行う。例えば、画像・音処理部33aは、生成部としての役割を果たし、輝度画像及び深度画像のデータに基づき仮想空間上における被写体の3次元物体を生成する。
【0042】
表示制御部34aは、主に、CPU101の処理によって実現され、各ディスプレイ118に、各種画像を表示させる。
【0043】
判断部35aは、主に、CPU101の処理によって実現され、各種判断を行う。
【0044】
輝度画像取得部36aは、主に、輝度カメラ105aに対するCPU101の処理によって実現され、被写体を撮影することで、輝度画像のデータを取得する。ここでは、輝度画像と記載しているが、深度画像との対比のために用いている用語であり、輝度画像は、輝度情報のみを含む画像ではなく、色情報も有している。
【0045】
深度画像取得部37aは、主に、深度カメラ105bに対するCPU101の処理によって実現され、被写体を撮影することで、深度画像のデータを取得する。
【0046】
集音部38aは、主に、マイク115に対するCPU101の処理によって実現され、集音して、音のデータを取得する。
【0047】
記憶・読出処理部39aは、主に、CPU101の処理によって実現され、記憶部3000aに、各種データ(または情報)を記憶したり、記憶部3000aから各種データ(または情報)を読み出したりする。
【0048】
なお、通信装置1b、1c、1dは、通信装置1aと同様の機能、記憶部、及びデータベースを有している。また、通信装置1b,1c,1dの機能は、それぞれ実質的にPC3b,3c,3dによって実現されている。
図4及び
図5では、通信装置1aにおける送受信部31aが、通信装置1bにおける送受信部31bに対応するように、符号の末尾が、aからそれぞれb,c,dに変わるだけであるため、これらの説明を省略する。
【0049】
<通信管理サーバの機能構成>
次に、
図2及び
図4を用いて、通信管理サーバ6の機能構成について説明する。
【0050】
図4に示されているように、通信管理サーバ6は、送受信部61、判断部65、作成部66、及び記憶・読出処理部69を有している。これら各部は、
図2に示されている各構成要素のいずれかが、HD604からRAM603上に展開された通信管理(制御)用のプログラムに従ったCPU601からの命令によって動作することで実現される機能又は手段である。また、通信管理サーバ6は、
図2に示されているROM602、RAM603、及びHD604によって構築される記憶部6000を有している。
【0051】
(通信管理テーブル)
図6は、通信管理テーブルを示す概念図である。記憶部6000には、
図6に示されているような通信管理テーブルによって構成されている通信管理DB6001が構築されている。この通信管理テーブルでは、通信管理サーバ6によって管理される全ての通信装置1の各接続IDに対して、パスワード、IPアドレス及び利用者の名前が関連付けられて管理される。例えば、
図6で示されている通信管理テーブルにおいて、通信装置1aの接続IDは「01aa」で、パスワードは「aaaa」で、IPアドレスはIPv4として「1.2.1.3」で、名前が「Hanako R」であることが示されている。なお、IPアドレスは、簡易的に示されている。また、IPアドレスは、IPv4ではなくIPv6であってもよい。また、IPアドレスでなく、ドメイン名(電子メールやホームページのアドレスとして使われている名称を示すような文字列)であってもよい。
【0052】
(セッション管理テーブル)
図7は、セッション管理テーブルを示す概念図である。記憶部6000には、
図7に示されているようなセッション管理テーブルによって構成されているセッション管理DB6002が構築されている。このセッション管理テーブルでは、セッションID、及び同じ通信セッションの映像通話に参加した通信装置の接続IDが関連付けて記憶されて管理されている。このうち、セッションIDは、映像通話を実現する通信セッションを識別するためのセッション識別情報の一例であり、仮想の会議室等の仮想のエリア毎に生成される。セッションIDをミィーティングIDとして代替することができてもよい。ミィーティングIDは、ミィーティング(2人以上の話合う事)を通信管理サーバで管理するための識別子を示めしている。
【0053】
(ディスプレイ管理テーブル)
図8は、ディスプレイ管理テーブルを示す概念図である。記憶部6000には、
図8に示されているようなディスプレイ管理テーブルによって構成されているディスプレイ管理DB6004が構築されている。このディスプレイ管理テーブルでは、ディスプレイのGUID(Globally Unique Identifier)のベンダIDとプロダクトID、現実空間上(リアル座標系)のディスプレイの縦と横のサイズ(各隅の位置)及び解像度、並びに仮想空間上(モデリング座標系)のディスプレイの各隅の位置が関連付けて記憶されて管理されている。なお、リアル座標系は、現実の世界である3次元の世界の任意の位置を基準とした座標系を示している。
【0054】
ここで、
図9を用いて、ディスプレイ管理テーブルで管理するデータで示される位置をディスプレイ上の点で視覚的に説明する。
図9は、ディスプレイ管理テーブルで管理するデータで示される位置をディスプレイ上の点で視覚的に示した概念図である。
【0055】
例えば、ディスプレイのGUIDが「vid_10ca&pid_0001」の場合、物理空間上(リアル座標系)のディスプレイ118のぞれぞれの四隅の位置を示す点が示されている。同じく通信装置のGUIDが「vid_10ca&pid_0001」の場合、仮想空間上(モデリング座標系)のディスプレイの四隅の位置を示す点が示されている。
【0056】
また、ディスプレイのGUIDが「vid_11ca&pid_0010」の場合、物理空間上(リアル座標系)の通信装置1の1つのディスプレイのぞれぞれの四隅の位置を示す点が示されている。同じく通信装置1のGUIDが「vid_11ca&pid_0010」の場合、仮想空間上(モデリング座標系)通信装置1の1つのディスプレイの四隅の位置を示す点が示されている。
【0057】
更に、ディスプレイのGUIDが「vid_12ca&pid_0100」の場合、物理空間上(リアル座標系)の一般のノートPCの1つのディスプレイのぞれぞれの四隅の位置を示す点が示されている。同じくディスプレイのGUIDが「vid_12ca&pid_0100」の場合、仮想空間上(モデリング座標系)のノートPCの1つのディスプレイの四隅の位置を示す点が示されている。
【0058】
(選択配置情報管理テーブル)
図10は、選択配置情報管理テーブルを示す概念図である。記憶部6000には、
図10に示されているような選択配置情報管理テーブルによって構成されている選択配置情報管理DB6005が構築されている。この選択配置情報管理テーブルでは、レコード毎に選択配置情報を構成し、整理番号(NO)、会社名、この会社の部署名、この部署の部屋(フロア)が関連付けて管理されている。
また、各部屋には、セッションID(コミュニケーションID)、及びModel座標からWorld座標への変換パラメータが関連付けて管理されている。この場合の変換パラメータは、仮想の特定の利用者が仮想の部屋(フロア)に入るときの特定の位置を示している。例えば、仮想の特定の利用者自身の仮想の机(椅子)が置いてある位置である。なお、選択配置情報管理DB6005のセッションID(コミュニケーションID)、は、上述のセッション管理DB6002の「セッションID(コミュニケーションID)」の項目(属性)と同じ概念であるため、説明を省略する。
【0059】
(固定配置情報管理テーブル)
図11は、固定配置情報管理テーブルを示す概念図である。記憶部6000には、
図11に示されているような固定配置情報管理テーブルによって構成されている固定配置情報管理DB6006が構築されている。この固定配置情報管理テーブルでは、レコード毎に固定配置情報を構成し、通信装置の接続ID、セッションID(コミュニケーションID)、及びModel座標からWorld座標への変換パラメータが関連付けて管理されている。この場合の変換パラメータは、仮想の所定(任意)の利用者が仮想の部屋(フロア)に入るときの特定の位置を示している。例えば、仮想の部屋の入口等である。なお、固定配置情報管理DB6006のセッションID(コミュニケーションID)、は、上述のセッション管理DB6002の「セッションID(コミュニケーションID)」の項目(属性)と同じ概念であるため、説明を省略する。
【0060】
(位置管理テーブル)
図12は、仮想の利用者の最新位置を示した位置管理テーブルの概念図である。記憶部6000には、
図12に示されているような位置管理テーブルによって構成されている位置管理DB6007が構築されている。上述の選択配置情報管理DB6005及び固定配置情報管理DB6006が静的なデータベースなのに対して、位置管理DB6007は動的なデータベースである。また、位置管理DB6007は、選択配置情報管理DB6005及び固定配置情報管理DB6006で管理されているデータをコピーする。
【0061】
位置管理テーブルでは、通信装置の接続ID、セッションID(コミュニケーションID)、Model座標系からWorld座標系への変換パラメータ、及び移動ベクトルが関連付けて管理されている。この場合の変換パラメータは、選択配置情報管理DB6005で管理されている各変換パラメータのうちで特定の変換パラメータをコピーして管理されるか、又は固定配置情報管理DB6006で管理されている各変換パラメータのうちで特定の変換パラメータをコピーして管理される。後述の
図19において、「選択配置」ボタンb1が選択された場合には、選択配置情報管理DB6005で管理されている特定の変換パラメータを位置管理DB6007にコピーする。また、後述の
図18において、「固定配置」ボタンb2が選択された場合には、固定配置情報管理DB6006で管理されている特定の変換パラメータを位置管理DB6007にコピーする。更に、これらの場合、コピーして管理される特定の変換パラメータと一緒に、ログインしている通信装置の接続ID及びセッションIDもコピーする。
【0062】
更に、位置管理テーブルでは、接続ID毎、つまり仮想の利用者毎に、仮想の利用者が上記コピーして管理された位置から仮想空間内の移動した位置までを示すための移動ベクトルも管理されている。
【0063】
Model座標(モデリング座標)系から(World座標)ワールド座標系への変換パラメータは、後述の
図32に示されているように、物体を第1の仮想空間上のモデリング座標系から第2の仮想空間上のワールド座標系へ変換する場合に用いられる変換パラメータを示す。
【0064】
なお、コンピュータグラフィックス(CG)で描く仮想世界は、世界の基準となる1つの座標系を設ける。これをワールド座標系(World coordinate system)と呼ぶ。物体の形像を直接ワールド座標系で与えると、物体がワールド座標系内で移動するごとに、物体の形状を定義しなおさなければならない。そこで、コンピュータグラフィックスの3次元画像で物体の形状を決定する(モデリングという)座標系を定めている。この座標系をモデリング座標系(Modeling coordinate system)という。
【0065】
ここで、別の表現によって、ワールド座標とモデリング座標とを説明する。ワールド座標系は、コンピュータグラフィックスで表示する物体は空間全体を表す座標系を示す。空間の中での物体の位置を示すための座標系で、物体の配置や移動を扱うために用いられる。各立体がどのような位置、向きで置かれているかを記述することができる。全てワールド座標系という一つの大きな空間で,最初から全ての物体をこの座標系上で定義したのでは表示処理の扱いが困難となる.そのため、空間中に配置される個々の立体の形状や変形を扱うためにモデリング座標が用いられる。立体のいずれかの頂点や近傍などに原点を取り、立体を構成する点や線、面などの位置や向きなどを記述する。個々のモデリング座標系で自由に定義された表示物体を全て統一されたワールド座標系上に配置し、グラフィックス空間、又は仮想的な3次元世界を作成することができる。
【0066】
ここで、
図13及び
図14を用いて、仮想空間内での仮想の利用者の移動について説明する。
図13及び
図14は、ワールド座標上で仮想の参加者の配置位置を示した概念図である。
図13では、仮想の利用者D1が特定の部屋(フロア)に入った時点の各仮想の利用者の位置を示している。
図14は、仮想の利用者D1が特定の部屋(フロア)に入った後、矢印方向に異動した状態を示している。
【0067】
図13では、仮想の利用者A1,B1,C1,D1は、それぞれ、参加者位置a11,a12,a13,a14に位置している。また、同様に、仮想のディスプレイの位置d11~d15は、それぞれ、主催者位置a11、参加者位置a12、参加者位置a13、参加者位置a14、及び傍観者位置a15に合わせて配置されている。この状態では、位置管理DB6007の移動ベクトル欄には何ら管理されていない(又は、「0」として管理されている。
このような状態で、
図14に示されているように、仮想の利用者D1が仮想の利用者A1の近距離の正面に移動すると、位置管理DB6007の移動ベクトル欄には移動の方向と移動の大きさ(距離)を示す移動ベクトルが管理される。
【0068】
なお、上述のように、位置管理DB3007a~3007dは、位置管理DB6007と同様のデータ構成を有しているため、説明を省略する。
【0069】
(通信管理サーバの各機能構成)
次に、
図2及び
図4を用いて、通信管理サーバ6の各機能構成について更に詳細に説明する。
【0070】
通信管理サーバ6の送受信部61は、ネットワークI/F609に対するCPU601の処理によって実現され、通信ネットワーク100を介して、他の装置(例えば、通信装置1、)との間で各種データ(または情報)の送受信を行う。
【0071】
判断部65は、主に、CPU601の処理によって実現され、各種判断を行う。
【0072】
作成部66は、主にCPU601の処理によって実現され、画像データIDを作成する。
【0073】
記憶・読出処理部69は、主に、
図2に示されているHD604及びHD605に対するCPU601の処理によって実現され、記憶部5000に各種データ(または情報)を記憶したり、記憶部5000から各種データ(または情報)を読み出したりする。
【0074】
〔実施形態の処理又は動作〕
続いて、
図15乃至
図34を用いて、本実施形態の処理又は動作について説明する。
【0075】
<映像通話への参加>
まず、
図15乃至
図23を用いて、特定の通信セッション(仮想空間)への参加処理について説明する。
図15は、特定の通信セッションへの参加処理を示したシーケンス図である。
図16は、通信装置におけるログイン画面の表示例である。
【0076】
まず、拠点Aの利用者(例えば、利用者A1)は、表示制御部34aがディスプレイ118上に表示するログイン画面において、自己の接続ID及びパスワードを入力し、「OK」ボタンを押下すると、受付部32aが接続ID及びパスワードを受け付け、送受信部31aが通信管理サーバ6に対して、ログイン要求を送信する(S21)。このログイン要求には、接続ID、パスワード、及び送信元(通信装置1a)のIPアドレスが含まれている。これにより、通信管理サーバ6の送受信部61は、ログイン要求を受信する。
【0077】
次に、通信管理サーバ6の記憶・読出処理部69は、ログイン要求に含まれている接続ID及びパスワードを検索キーとして、通信管理DB6001(
図6参照)を検索し、同一の接続ID及び同一のパスワードの組が管理されているかを判断することによって認証を行う(S22)。ここでは、記憶・読出処理部69によって、同一の接続ID及び同一のパスワードが管理されているものとして、続けて説明する。この場合、記憶・読出処理部69は、ステップS21で受信された送信元のIPアドレスを、認証に使った接続ID及びパスワードの組のレコードに追記する。
【0078】
次に、記憶・読出処理部69は、選択配置情報管理DB6005から全ての選択配置情報を読み出すと共に、固定配置情報管理DB6006から通信装置1aの接続IDを含む特定の固定配置情報を読み出す(S23)。そして、送受信部61は、通信装置1aに対して、認証が成功した旨の応答を送信する(S24)。この応答には、上記読み出された全ての選択配置情報及び通信装置1aに係る固定配置情報が含まれている。これにより、通信装置1aの送受信部11aは、応答を受信する。
【0079】
次に、通信装置1aは、受信した選択配置情報及び固定配置情報(通信装置1aのみ)に基づいて、仮想の利用者A1の仮想空間上での位置を特定する処理を実行する。ここで、
図17乃至
図21を用いて、ステップS25の処理を詳細に説明する。
図17は、位置の特定処理を示したフローチャートである。
図18は、通信装置における配置位置種類の選択画面を示した図である。
図19は、仮想の会社を選択するための選択画面の表示例を示した図である。
図20は、仮想の部署を選択するための選択画面の表示例を示した図である。
図21は、仮想の部屋(フロア)を選択するための選択画面の表示例を示した図である。
【0080】
まず、
図18に示すように、表示制御部34aは、選択配置情報に基づいて、通信装置1aのディスプレイ118上に、配置の種類を選択するための選択画面を表示する(S180)。この選択画面には、「選択配置」ボタンb1、及び「固定配置」ボタンb2が表示されている。「選択配置」ボタンb1は、利用者A1等が複数の仮想空間上の所望の部屋を選択して入る場合に押下するためのボタンである「固定配置」ボタンb2は、利用者A1等が予め定められている仮想空間上の個人の席付近に入る場合の押下するためのボタンである。
【0081】
次に、利用者A1は、いずれかのボタンb1、b2を押下することで、受付部32aは選択を受け付ける(S181)。
【0082】
次に、判断部35aは、「選択配置」ボタンb1が押下されたと判断した場合(S182;YES)、表示制御部34aは、選択配置情報に基づいて、
図19に示されているように、ディスプレイ118上に、訪問する会社を選択するための会社選択画面を表示する(S183)。この会社選択画面には、複数の会社のそれぞれを示す「会社」ボタンb11,b12,b13が表示されている。なお、「会社」ボタンは、いくつ表示されていてもよい。
【0083】
ここで、利用者A1が所望のボタン(ここでは、「AA会社」ボタンb11)を押下すると、受付部32aは会社の選択を受け付ける(S184)。これにより、表示制御部34aは、選択配置情報に基づいて、
図20に示されているように、ディスプレイ118上に、訪問する部署を選択するための部署選択画面を表示する(S185)。この部署選択画面には、複数の部署のそれぞれを示す「部署」ボタンb111,b112,b113が表示されている。なお、「部署」ボタンは、いくつ表示されていてもよい。
【0084】
ここで、利用者A1が所望のボタン(ここでは、「AA1本部」ボタンb111)を押下すると、受付部32aは部署の選択を受け付ける(S186)。これにより、表示制御部34aは、選択配置情報に基づいて、
図21に示されているように、ディスプレイ118上に、訪問する部屋を選択するための部屋選択画面を表示する(S187)。この部署選択画面には、複数の部屋(フロア)のそれぞれを示す「部屋」ボタンb1111,b1112,b1113が表示されている。なお、「部屋」ボタンは、いくつ表示されていてもよい。
【0085】
ここで、利用者A1が所望のボタン(ここでは、「AA1本部」ボタンb111)を押下すると、受付部32aは部署の選択を受け付ける(S186)。これにより、表示制御部34aは、
図21に示されているように、ディスプレイ118上に、訪問する部屋を選択するための部屋選択画面を表示する(S187)。この部署選択画面には、複数の部屋(フロア)のそれぞれを示す「部屋」ボタンb1111,b1112,b1113が表示されている。なお、「部屋」ボタンは、いくつ表示されていてもよい。
【0086】
ここで、利用者A1が所望のボタン(ここでは、「AA11室」ボタンb1111)を押下すると、受付部32aは部屋の選択を受け付ける(S188)。これにより、後述のステップS26によって、選択された部屋を示す位置情報が送信される。
【0087】
一方、上記ステップS182によって、判断部35aは、「選択配置」ボタンb1が押下されなかった(つまり、「固定配置」ボタンb2が押下された)と判断した場合(S182;NO)、後述のステップS26によって、特定の仮想の部屋の自分の席周辺の位置を示す固定の位置情報が送信される。
【0088】
続いて、
図15に戻り、送受信部31aは、通信管理サーバ6に対して、仮想空間への参加要求を送信する(ステップS26)。この参加要求には、ステップS25で選択を受け付けられたボタンに係る位置情報が含まれる。この位置情報には、選択された部屋に入るための通信セッションを示すセッションID、送信元(ここでは、通信装置1a)の接続ID、及び、ステップS24で受信された選択配置情報又は固定配置情報に含まれる変換パラメータのうち、ステップS25で選択された部屋の特定の位置を示すための変換パラメータが含まれている。これにより、通信管理サーバ6の送受信部51は、参加要求を受信する。
【0089】
次に、記憶・読出処理部69は、セッション管理DB6002(
図7参照)に対して、仮想空間への参加処理を行う(S27)。具体的には、記憶・読出処理部69は、セッション管理DB6002において、ステップS26で受信されたセッションIDと同じセッションIDのレコードに対して、ステップS26で受信された通信装置1aの接続IDを関連付けて管理する。
【0090】
次に、記憶・読出処理部69は、上記ステップS27で管理された接続IDに関連付けられているセッションIDと同じセッションIDに関連付けれている他の接続IDを読み出す(S28)。そして、記憶・読出処理部69は、位置管理DB6007に対して、ステップS26で受信された通信装置1aの接続IDを含む位置情報、及びステップS28で読み出した他の接続IDを含む位置情報を、それぞれ新たなレコードで登録する(S29)。
【0091】
次に、送受信部61は、通信装置1aに対して、上記ステップS26の参加要求に対する参加要求応答を送信する(S30)。この参加要求応答には、上記同じセッションIDに関連付けられている全ての接続IDを含む位置情報が含まれている。これにより、通信装置1aの送受信部31aは、参加要求応答を受信する。そして、通信装置1aでは、記憶・読出処理部39aが、位置管理DB3007aに、ステップS30で受信された全ての位置情報を管理することで、位置管理DB3007aの内容を更新する(S31)。
【0092】
また同様に、送受信部61は、通信装置1bに対して、通信装置1aと同じ通信セッションに参加している通信装置1bに対して参加情報を送信する(S32)。この参加情報には、上記同じセッションIDに関連付けられている全ての接続IDを含む位置情報が含まれている。これにより、通信装置1bの送受信部31bは、参加情報を受信する。そして、通信装置1bでは、記憶・読出処理部39bが、位置管理DB3007bに、ステップS32で受信された全ての位置情報を管理することで、位置管理DB3007bの内容を更新する(S33)。なお、通信装置1aと同じ通信セッションに参加している通信装置1b以外の通信装置に対してもステップS32と同様の処理が行われ、通信装置1b以外の通信装置においてもステップS33と同様の処理が行われる。
【0093】
なお、上記では、
図18示されている各選択ボタンb1,b2等の選択後、
図19乃至図
図21に示されているボタンの選択が合計3回行われるが、これに限るものではない。例えば、
図18において、会社、部署、部屋のうち少なくとも2つを含むボタンにより選択回数を減らすようにしてもよい。
【0094】
<ディスプレイ情報の送信処理>
続いて、
図22を用いて、ディスプレイ情報の送信処理について説明する。
図22は、ディスプレイ情報の送信処理を示したシーケンス図である。
【0095】
まず、通信装置1aの送受信部31aは、通信管理サーバ6に対して、情報追加要求を送信する(S41)。この情報追加要求には、送信元である自装置(通信装置1a)の接続ID、及びディスプレイ情報が含まれている。これにより、通信管理サーバ6の送受信部61は、情報追加要求を受信する。
【0096】
次に、通信管理サーバ6の記憶・読出処理部69は、ステップS41によって受信された接続IDを検索キーとして、セッション管理DB6002(
図7参照)を検索することにより、対応するセッションIDを読み出す(S42)。
【0097】
更に、記憶・読出処理部69は、ディスプレイ管理DB6004(
図8参照)に、1レコードのデータであるディスプレイ情報を記憶する(S43)。これにより、各通信装置1のディスプレイ情報を一元管理することができる。
【0098】
また、通信管理サーバ6は、同じ通信セッションに参加している通信装置がある場合、この通信装置に対して、通信装置1aの画像データID、接続ID、及びディスプレイ情報を伝えることで、情報共有する必要がある。そこで、通信管理サーバ6の送受信部61は、通信装置1aと同じ通信セッションに参加している他の通信装置(例えば、通信装置1b)に対して、情報追加通知を送信する(S48)。この情報追加通知には、画像データID、並びに、ステップS41で受信された送信元である通信装置1aの接続ID及びディプレイ情報が含まれている。これにより、通信装置1bの送受信部11bは、情報追加通知を受信する。
【0099】
以上より、同じ通信セッションの仮想空間に参加した全ての通信装置は、他の通信装置の情報追加情報を共有することができる。
【0100】
<画像データ及び音データの送信>
続いて、
図23乃至
図24を用いて、画像データ及び音データの送信処理について説明する。
図23は、所定の通信装置(例えば、通信装置1a)から送信された輝度画像データ、深度画像データ及び音データが他の通信装置に届くまでの処理を示したシーケンス図である。
図24は、送信される輝度画像データと深度画像データの概念図である。
【0101】
まず、
図23を用いて、通信装置1aから通信管理サーバ6を介して、複数の他の通信装置1b,1c,1dに画像データ(ここでは、輝度画像データ及び深度画像データ)並びに音データを送信する場合の処理について説明する。
【0102】
まず、通信装置1aは、拠点Aで撮影及び集音を開始することで、輝度画像取得部36aが輝度画像データを取得し、深度画像取得部37aが深度画像データを取得し、集音部38aが音データを取得する(S101)。この場合、通信装置1aは、動画撮影を行うが、静止画撮影であってもよい。
【0103】
次に、通信装置1aでは、記憶・読出処理部39aは、位置管理DB3007aに対して自装置(通信装置1a)の移動ベクトルの更新を行う(S102)。そして、通信装置1aの送受信部31aは、通信管理サーバ6に対して、画像データ(輝度画像データ、深度画像データ)及び音データに加え、送信元としての通信装置1aの接続IDを送信する(S103)。この場合、画像データには、自装置から送信する画像を識別するための画像データID、及びステップ102で更新された移動ベクトルTaaが含まれている。これにより、通信管理サーバ6の送受信部61は、画像データ(輝度画像データ、深度画像データ、及び画像データID、移動ベクトルTaa)、音データ、並びに送信元である通信装置1aの接続IDを受信する。
【0104】
ここで、
図3及び
図24を用いて、送信される輝度画像データと深度画像データについて説明する。
図3では、自画像撮り用の撮影ユニット105が設けられているため、画像データには、輝度画像Lc1のデータ及び深度画像Dc1のデータが含まれる。輝度画像Lc1及び深度画像Dc1のデータは、撮影ユニット105によって取得されたデータである。
【0105】
例えば、輝度画像Lc1及び深度画像Dc1のデータの解像度は、それぞれ4Kであるが、
図24に示されているように、送信元の通信装置1は、合計2のデータを1つの画像データに圧縮して合成することで、この1つの画像データの解像度が4Kになる。なお、4Kは一例であり、HD、FHD、8K等であってもよい。 次に、
図23に戻り、通信管理サーバ6では、記憶・読出処理部69aは、位置管理DB6007に対して通信装置1aの移動ベクトルの更新を行う(S104)。そして、通信管理サーバ6の送受信部61は、セッション管理DB6002(
図7参照)を利用することで、通信装置1aと同じ通信セッションの映像通話に参加している他の各通信装置1b~1dに対して、画像データ(輝度画像データ、深度画像データ、画像データID、移動ベクトルTaa)、音データ、並びに送信元である通信装置1aの接続IDを送信する(S105,S107,S109)。これにより、各通信装置1b,1c,1dの送受信部31b,31c,31dは、画像データ(輝度画像データ、深度画像データ、、画像データID、移動ベクトルTaa)、音データ、並びに送信元である通信装置1aの接続IDを受信する。
【0106】
そして、各通信装置1b,1c,1dでは、記憶・読出処理部39b,c,dが、それぞれ位置管理DB3007b,c,dに、通信装置1aの移動ベクトルの更新を行う(S106,S108,S110)。
【0107】
<画像データ及び音データの受信>
続いて、
図25乃至
図33を用いて、画像データ及び音データの受信の処理について説明する。
図25は、通信装置1dによる画像データ及び音データの受信の処理を示すシーケンス図である。
【0108】
図25に示されているように、通信装置1aでは、記憶・読出処理部39aが位置管理DB3007aに対して自装置(通信装置1a)の移動ベクトルの更新を行う(S121)。このステップS121の処理は、
図23のステップS102と同じである。
【0109】
次に、送受信部31aは、通信管理サーバ6に対して、画像データ(輝度画像データ、深度画像データ、画像データID、移動ベクトルTaa)、音データ、及び送信元としての通信装置1aの接続IDを送信する(S122)。これにより、通信管理サーバ6の送受信部61は、画像データ、音データ、及び通信装置1aの接続IDを受信する。このステップS122処理は、
図23のステップS103と同じである。そして、通信管理サーバ6では、記憶・読出処理部69aは、位置管理DB6007に対して通信装置1aの移動ベクトルの更新を行う(S123)。このステップS123の処理は、
図23のステップS104と同じである。
【0110】
次に、通信管理サーバ6の送受信部61は、セッション管理DB6002(
図7参照)を利用することで、通信装置1aと同じ通信セッションの映像通話に参加している他の通信装置1dに対して、画像データ(輝度画像データ、深度画像データ、画像データID、移動ベクトルTaa)、音データ、並びに送信元である通信装置1aの接続IDを送信する(S124)。これにより、通信装置1dの送受信部31dは、画像データ、音データ、並びに通信装置1aの接続IDを受信する。この処理は、
図23のステップS109と同じである。
【0111】
同様に、通信装置1dの送受信部31dは、通信管理サーバ6から、通信装置1bの画像データ(輝度画像データ、深度画像データ、画像データID、移動ベクトルTab)、音データ、及び送信元としての通信装置1bの接続IDを受信する(S125)。また、通信装置1dの送受信部31dは、通信管理サーバ6から、通信装置1cの画像データ(輝度画像データ、深度画像データ、画像データID、移動ベクトルTac)、音データ、及び送信元としての通信装置1cの接続IDを受信する(S126)。
【0112】
続いて、通信装置1dでは、画像・音処理部33dが、ステップS124~S125及び、
図22のステップS44と同様に受信した情報追加通知によって受信された各データに基づいて、画像表示及び音出力の処理を行う(S127)。この場合、音出力は、各音データ(電気信号)を振動に変換する一般的な処理であるため、
図26を用いて、画像表示の処理について詳細に説明する。
【0113】
<画像表示の処理>
図26は、画像表示の処理を示したフローチャートである。
【0114】
まず、記憶・読出処理部39dは、
図25のステップS124~S126によって受信された接続IDを検索キーとして、位置管理DB3007dを検索することで、この接続IDを含む全ての位置情報(セッションIDを除く)を読み出す(S201)。そして、画像・音処理部33dは、ステップS201で読み出された自装置(通信装置1d)の利用者D1の仮想空間上での位置と、ステップS201で読み出された他の通信装置1a,1b,1cの利用者A1,B1,C1の仮想空間上でのそれぞれの位置との距離を計測する(S202)。
【0115】
ここで、
図27を用いて、仮想の利用者Dと距離との関係を説明する。
図27は、仮想の利用者D1からの距離と表示される画像の例を示した図である。なお、表示される画像は、後ほど説明する。
図27に示されているように、仮想の利用者Dから近い位置との距離が第1の距離で、遠い位置との距離が第2の距離である。
【0116】
そして、
図26に戻り、距離が第1の距離未満の場合(S203;第1の距離未満)、ステップS204の処理に進む。また、距離が第2の距離以上の場合(S203;第2の距離以上)、ステップS211の処理に進む。更に、距離が第1の距離以上で第2の距離未満の場合(S213;第1の距離以上、第2の距離未満)、ステップS213の処理に進む。
【0117】
(第1の距離未満の場合の表示処理)
ここで、第1の距離未満の場合の表示処理について説明する。
【0118】
((ワールド座標系にける物体の位置の算出処理))
最初に、通信装置1dは、ワールド座標系における物体の位置を算出する(S204)。ここで、
図28乃至
図31を用いて、画像種類が輝度・深度画像の場合の表示処理を詳細に説明する。
図28は、ワールド座標系にける物体の位置の算出処理を示すフローチャートである。
【0119】
まず、画像・音処理部33dが、仮想空間上(モデリング座標系)における自拠点を含めた各拠点の輝度画像データ及び深度画像データに基づいて、物体の画像を3次元化する(S221)。
【0120】
ここで、
図29を用いて、物体の画像の3次元化を説明する。
図29は、カメラ座標系からモデリング座標系への変換、及びモデリング座標系からワールド座標系への変換の概念図である。なお、カメラ座標系は、現実の世界である3次元の世界を物理的なカメラを原点として投影面における世界の見え方を定める座標系である。リアル座標で与えられる座標を、カメラの座標系で見た座標系に変換する必要ある。
【0121】
現実空間の複数の拠点の利用者の画像を仮想の会議室等の1つの仮想空間に登場させるため、画像・音処理部33dは、各拠点の現実空間の物体を、一旦、個別に第1の仮想空間としてのモデリング座標系(Modeling Coordinate System)で定義することで3次元化し、その後に、各物体の画像を1つのワールド座標系(World Coordinate System)で定義する必要がある。
【0122】
そのため、まず、画像・音処理部33dは、
図24に示されているようにカメラ座標系(Camera Coordinate System)にて定義された輝度画像Lc1及び深度画像Dc1等の5つの組の画像を、(式1)を利用して、1つの第1の仮想空間上(モデリング座標系)に変換することで、3次元化を行う。
図29では、物体として利用者A1が表されている。この場合、モデリング座標系における利用者A1の画像は、
図29の拡大図evに示されているように、多数の点の集合によって示される。本実施形態では、5台の輝度深度撮影デバイス5a~5eによって5アングルにより撮影されているため、利用者A1の画像は、多数の点が重なった集合体として表される。このようにして、利用者A1,B1,C1,D1がそれぞれ独立して別々のモデリング座標系で定義される(3次元化される)。
【0123】
【0124】
なお、ベクトルPは射影行列であり、ベクトルP-1は、カメラ座標系からリアル座標系へ変換するための行列である。ベクトルMは、リアル座標系からモデリング座標系へ変換するための行列である。この出力値は、モデリング座標系の点(座標)及び色情報を示す。
【0125】
次に、
図28に戻り、記憶・読出処理部39dは、記憶部3000dに記憶されている自装置(通信装置1d)のディスプレイ情報を読み出す(S222)。そして、画像・音処理部33dが、ディスプレイ情報における「仮想空間上(モデリング座標系)のディスプレイの各隅の位置の情報」に基づいて、モデリング座標系に自拠点の仮想ディスプレイ(仮想スクリーンともいう)ddを配置する(S223)。
図30は、モデリング座標系に利用者D1の画像と仮想ディスプレイを配置した概念図である。例えば、画像・音処理部33dは、
図30に示されているように、自拠点の利用者D1の画像に対して更に仮想ディスプレイddを配置(定義)する。
【0126】
また、
図28に戻り、記憶・読出処理部39dは、位置管理DB3007d(
図12参照)から、同じ通信セッションの映像通話に参加中の利用者(通信装置)の接続IDに関連付けられている「モデリング座標系からワールド座標系への変換パラメータ」及び「移動ベクトル」を読み出す(S224)。そして、画像・音処理部33dは、各物体の画像と自拠点の仮想ディスプレイを、仮想空間上においてモデリング座標系からワールド座標系にモデリング変換する(S225)。
【0127】
ここで、再び
図29を用いて、モデリング座標系からワールド座標系への変換を説明する。
【0128】
画像・音処理部33dは、
図29に示されているように、モデリング座標系の利用者A1の画像を、(式2)を利用して、1つの共通の第2の仮想空間上(ワールド座標系)にモデリング変換(Modeling Transformation)する。なお、モデリング変換は、モデリング座標系上で定義された表示物体をワールド座標系上に配置するための変換処理であり、表示物体の拡大縮小、回転、せん断及び平行移動という四つの変換処理の組み合わせを示す。
【0129】
【0130】
なお、ベクトルWは、モデリング座標系からワールド座標系へ変換するための行列である。この出力値は、ワールド座標系の点(座標)及び色情報を示す。
【0131】
図31は、モデリング座標系からワールド座標系への変換を示したイメージ図である。
図31に示されているように、画像・音処理部33dは、各モデリング座標系のA1,B1,C1,D1の画像及び自拠点の仮想ディスプレイdd4を、1つの共通のワールド座標系にモデリング変換する。これにより、各拠点の利用者A1,B1,C1,D1の画像が、共通の通信セッションの映像通話に参加することができる。
【0132】
((利用者が見える画像の表示))
続いて、
図26に戻り、利用者D1が通信装置1で見ることができる画像を表示する処理を説明する。
【0133】
図26に示されているように、画像・音処理部33aが、輝度画像取得部36dによって取得された輝度画像データ及び深度画像取得部37dによって取得された輝度画像データに基づき、利用者D1の目、鼻、肩等の骨格情報を検出する(S204)。
【0134】
次に、画像・音処理部33aが、骨格情報の両目の中心を視点位置として、この視点位置に基づき、
図31の中央部に示されているようなワールド座標系における利用者D1が仮想ディスプレイddによって見ることができる他の利用者A1等の画像を作成する(S205)。換言すると、画像・音処理部33aは、ワールド座標系の表示物体を視点位置に基づき仮想ディスプレイddに表示される画像に変換する。この変換は、ワールド座標系から視点座標系への変換を意味し、視野変換と呼ばれる。視点座標系は、仮想空間上でのカメラの位置(視点)を原点とし、利用者が見たい方向(被写体が存在する方向)に広がっている座標系である。
【0135】
ワールド座標系において、視点から仮想ディスプレイdd上の画素に向かうレイトレーシング(Ray Tracing)法によるレイ(ray)とポリゴン(3Dモデルを構成する仮想的な三角形や多角形等)との交点を計算する。このレイは、画像方向から視点に向かう光線を、視点から逆にたどるものである。この方法は、光線追跡法とよばれ、視線を逆に辿ることから、視線逆探索法とも呼ばれる。そして、視点に最も近い交点、すなわちレイと最初に交差する物体(コンピュータグラフィックスの分野では、上記「ポリゴン」と呼ばれる)を求め、その物体の色で仮想ディスプレイ上の画素を塗る。レイと交差する物体(ポリゴン)が存在しない場合には、画素に対して背景色を塗る。この処理を仮想ディスプレイdd全体の画素に対して行うことにより仮想ディスプレイddに表示される画像が作成される。
【0136】
なお、光線追跡法以外にも、Zバッファ法などが存在し、仮想ディスプレイddで表示される画像を作成する方法は、上記方法に限定されるものではない。
【0137】
次に、画像・音処理部33aは、上記作成した仮想空間上(ワールド座標系)の画像を現実空間上の通信装置1dのディスプレイ118上に表示するための画像に変換する(S206)。そして、表示制御部34dは、現実空間上の通信装置1dのディスプレイ118上に、ステップS206で変換した後の画像を表示する(S207)。この場合、ディスプレイ118に画像が表示される空間は2次元平面画像であり、解像度は、コンピュータの性能、特にビデオボード(又はグラフィックスボード)に搭載されている表示メモリなどのデバイスに依存するため、デバイス座標系と呼ばれる。
【0138】
(第2の距離以上の場合の表示処理)
次に、第2の距離以上の場合の表示処理について説明する。
【0139】
記憶・読出処理部39dは、記憶部3000dから、予め記憶されているアイコンのデータを読み出す。なお、アイコンは、キャラクタ画像の一例である。キャラクタ画像には、アバターも含まれる。
【0140】
次に、画像・音処理部33dは、仮想の利用者D1と計測の対象となった他の仮想の利用者との距離に応じてアイコンの大きさを変更する。例えば、
図27に示されているように、仮想の利用者Dから第2の距離以上において、近い場合にアイコン大C1に変更し、次に遠い場合にアイコン中C2に変更し、更に遠い場合にアイコン小C3に変更する。ここでは、三段階の変更を示しているが、何段階の変更を行ってもよい。そして、ステップS212の処理後、上記ステップS205の処理に進む。
【0141】
(第1の距離以上で第2の距離未満場合の表示処理)
次に、第1の距離以上で第2の距離未満場合の表示処理について説明する。この場合、画像・音処理部33aは、
図24に示されるような合計10個の画像のうち、仮想の利用者D1と計測の対象となった他の仮想の利用者の正面となる輝度画像Lcのみで平面画像を作成する(S213)。例えば、
図27に示されているように、仮想の利用者Dから第1の距離以上で第2の距離未満においては、平面画像Bが作成される。そして、ステップS213の処理後、上記ステップS205の処理に進む。
【0142】
<画像の表示例>
続いて、
図32及び
図33を用いて、
図26におけるステップS207による様々な表示例を説明する。
【0143】
(会議の参加者(利用者D1)に見せる表示例)
((初期表示))
図32は、利用者D1の通信装置のディスプレイ118に表示された画像を示す図である。また、
図32は、
図13に示されている仮想参加者の配置位置に基づいた表示例である。
図32に示されいるように、仮想空間上(ここでは、ワールド座標系)において、利用者D1の視線の向こうには、右斜め前の少し奥に利用者A1の平面画像、左斜め前の更に奥に利用者B1の正面を示すアイコン大、真正面の一番奥に利用者C1の背面を示すアイコン小が位置している。また、各利用者の名前も表示されている。この名前は、通信管理DB6001に管理されている名前の情報によって表示される。この名前の情報は、接続IDと共に通信管理サーバ6から予め各通信装置1に送信されている。なお、仮想空間上(ワールド座標系)の1つの位置に、原則として一人の利用者しか存在しない。
【0144】
このように、表示制御部34dは、通信装置1dのディスプレイ118上に、利用者A1,B1,C1に係る各種画像を合成した合成画像を表示させる。
【0145】
((移動後表示))
続いて、利用者D1が現実空間上でマウス13等を操作することで、
図14に示されているように、仮想空間上で仮想の利用者D1が仮想の利用者A1の近くまで移動した場合の表示について、
図33を用いて説明する。
図33は、利用者D1の通信装置のディスプレイ118に表示された画像を示す図である。
【0146】
図33に示されいるように、仮想空間上(ここでは、ワールド座標系)において、利用者D1の視線の向こうには、真正面の近傍に利用者の立体画像、左斜め前の少し奥に利用者B1の平面画像、少し左斜め前の更に奥に利用者C1背面を示すアイコン中が位置している。このように、表示制御部34dは、通信装置1dのディスプレイ118上に、利用者A1,B1,C1に係る各種画像を合成した合成画像を表示させる。
【0147】
〔実施形態の主な効果〕
以上説明したように本実施形態によれば、表示制御部34dは、仮想空間上における自拠点と他拠点の距離に応じて、送受信部31dで受信された画像データに基づく他拠点における被写体の画像と、この被写体に係るキャラクタ画像とを切り替えて表示する。これにより、仮想空間内にいる仮想の利用者C1等が、誰から見られているか分からず安心感が無いという課題をできるだけ解消することができる。
【0148】
また、表示制御部34dは、仮想空間上における自拠点と他拠点の距離に応じて、送受信部31っで受信された輝度画像のデータに基づく他拠点における被写体の平面画像と、同じく受信された輝度画像及び深度画像のデータに基づく他拠点における被写体の立体画像とを切り替えて表示する。これにより、利用者D1は、名前を忘れたが顔を覚えている利用者が仮想空間内に参加していることや、利用者の表情を把握することができる。また、仮想空間上で利用者D1と他の利用者(例えば、
図34の利用者A1)の距離がかなり近くなると、平面画像から立体画像に変わるため、コミュニケーションを行う利用者と同室感を得ることできる。
【0149】
また、表示制御部34dは、仮想空間上における自拠点と他拠点の間の距離に応じて、複数サイズのキャラクタ画像を切り替えて表示する。更に、表示制御部34dは、仮想空間上における自拠点と他拠点の間の距離が短くなるにつれて、キャラクタ画像のサイズを大きくして表示する。これにより、利用者D1にとっては、利用者がアイコンで表示される場合であっても、仮想の利用者に近づいたことが分かる。なお、利用者D1は、アイコンで示される仮想の利用者の表情を把握することができないが、表示される名前で誰が仮想空間上に存在するかを把握することができる。
【0150】
〔補足〕
上記通信管理サーバ6は、単純に「サーバ」と呼んでも良い。通信管理サーバ6は、クラウドコンピューティング(Cloud Computing)の形態で提供されてもよい。クラウドコンピューティングとは、インターネットなどのコンピュータネットワークを経由して、コンピュータ資源をサービスの形で提供する利用形態を示し、提供されるコンピュータ資源がサーバである。提供するサービスの形態は、SaaS(Software as a Service)、PaaS(Platform as a Service)、HaaSまたはIaaS(Hardware / Infrastructure as a Service)等あるが、サービスの提供形態は、制限されない。
【0151】
更に、上記実施形態では、
図29に示されているように、各通信装置1が、各拠点の現実空間の物体を、一旦、個別に第1の仮想空間としてのモデリング座標系で定義することで3次元化し、その後に各物体の画像を1つのワールド座標系に変換させているが、これに限るものではない。例えば、通信管理サーバ6が、各拠点の現実空間の物体を、一旦、個別に第1の仮想空間としてのモデリング座標系で定義することで3次元化し、その後に各物体の画像を1つのワールド座標系に変換させてもよい。この場合、通信管理サーバ6は、ワールド座標系に変換後の画像データを各拠点の通信装置1に送信する。即ち、第1の通信装置(例えば、通信装置1d)と、第2の通信装置(例えば、通信装置1a)と、サーバ(例えば、通信管理サーバ6)とを備える通信システムは、第1の通信装置で撮影した画像データと第2の通信装置で撮影した画像データを用いて、仮想空間上の第1の通信装置における被写体の位置と仮想空間上の第2通信装置における被写体の位置との変更可能な位置関係に応じて生成された表示画像を提供する提供手段と、前記提供手段で提供された表示画像を表示する表示制御手段とを備える。
【0152】
上記実施形態で説明した各CPUは、1つの装置に複数設けられていてもよい。
【0153】
また、上記実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)、SOC(System on a chip)、GPU(Graphics Processing Unit)や従来の回路モジュール等のデバイスを含むものとする。
【0154】
更に、各通信装置1a~1d、及び通信管理サーバ6との間の通信において、他のサーバやルータ等がデータを中継してもよい。
【符号の説明】
【0155】
1a 通信装置(他の通信装置の一例、第1の他の通信装置の一例)
1b 通信装置(他の通信装置の一例、第2の他の通信装置の一例)
1c 通信装置(他の通信装置の一例)
1d 通信装置(自装置の一例)
118 ディスプレイ(表示手段の一例)
6 通信管理サーバ
31d 送受信部(送信手段の一例、受信手段の一例、第2の受信手段の一例)
32d 受付部(受付手段の一例)
34d 表示制御部(表示制御手段の一例)
61 送受信部(第1の受信手段の一例)