以下、図面を用いて、本発明の実施形態について説明する。
〔通信システムの概略〕
本実施形態の通信システムは、仮想空間(「仮想エリア」ともいう)で映像通話を行うたのシステムである。
まず、図1を用いて、本実施形態の通信システムの構成の概略について説明する。図1は、本発明の実施形態に係る通信システムの構成の概略図である。
図1に示されているように、本実施形態の通信システムは、複数の通信装置1a,1b,1c,1d、通信管理サーバ6、全天球撮影装置8、及びスマートフォン9によって構築され、インターネット等の通信ネットワーク100を介して通信することができる。通信ネットワーク100の接続形態は、無線又は有線のいずれでも良い。
通信装置1a,1b,1c,1dは、ぞれぞれ、拠点A,B,C,Dに配置されている。なお、以降、通信装置1a,1b,1c,1dのうちの任意の通信装置を「通信装置1」と示す。通信装置1は、自拠点の撮影及び集音を行い、他拠点で撮影されることで得られた画像及び他拠点で集音されることで得られた音を出力することができる。通信装置1については、後ほど詳細に説明する。
また、図1は、通信装置1a,1b,1c,1dが、それぞれ、利用者A1,B1,C1,D1によって利用されている場合を示している。例えば、通信装置1aは、自拠点Aの様子を撮影及び録音し、通信ネットワーク100及び通信管理サーバ6を介して、他拠点B,C,D、Gの通信装置1b,1c,1d及びスマートフォン9に対して、画像データ及び音データを送信する。同様に、通信装置b1,1c,1dは、自拠点の様子を撮影及び録音し、通信ネットワーク100及び通信管理サーバ6を介して、他拠点の通信装置に対して、画像データ及び音データを送信する。スマートフォン9については後述する。
通信管理サーバ6は、コンピュータによって構成され、通信装置1及びスマートフォン9の通信を管理及び制御したり、送受信される画像データの種類(一般画像と特殊画像の種別)を管理したりする。よって、通信管理サーバは、通信制御サーバでもある。なお、通信管理サーバ6は、単一又は複数のコンピュータによって構成されている。複数のコンピュータによって構成されている場合には、通信管理サーバは、通信管理システム(又は通信制御システム)でもある。
全天球撮影装置8及びスマートフォン9は、拠点Gにいる利用者Gによって利用されている。利用者G1は、拠点Gで全天球撮影装置8を持って拠点Gの様子を撮影及び録音し、スマートフォン9、通信ネットワーク100及び通信管理サーバ6を介して、各通信装置1a,1b,1c,1dに、画像データ及び音データを送信する。
全天球撮影装置8は、被写体や風景等を撮影して全天球パノラマ画像の元になる2つの半球画像を得るための特殊なデジタルカメラである。この場合の全天球撮影装置8は、単独で通信ネットワーク100に接続できないため、Wi-Fi(Wireless Fidelity)やBluetooth(登録商標)等の無線通信技術を利用して、一旦、スマートフォン9に画像データ及び音データを送信する。そして、スマートフォン9が通信ネットワーク100を介して、通信管理サーバ6等の他の装置やサーバに画像データ及び音データを送信する。なお、全天球撮影装置8として、単独で通信ネットワーク100に接続できる仕様の装置であってもよい。
スマートフォン9は、上述のように、全天球撮影装置8から画像データ及び音データを取得し、通信ネットワーク100を介して、通信管理サーバ6及び通信装置1に画像データ及び音データを送信する。更に、スマートフォン9は、他拠点の通信装置1から取得した画像データ及び音データを再生する。
また、通信装置1及びスマートフォン9には、OpenGL ESがインストールされており、全天球画像の一部の領域を示す所定領域情報を作成したり、他の通信装置から送られて来た全天球画像から全天球画像の一部の領域である所定領域画像を作成したりすることができる。
なお、通信装置1には、デジタルテレビ、スマートフォン(スマートフォン9とは別装置)、スマートウオッチ、カーナビゲーション装置、医療機器等も含まれる。
〔ハードウェア構成〕
続いて、図2乃至図4を用いて、本実施形態の通信装置1、通信管理サーバ6、全天球撮影装置8、及びスマートフォン9のハードウェア構成を詳細に説明する。
<通信管理サーバのハードウェア構成>
まず、図2を用いて、通信管理サーバの電気的なハードウェア構成図について説明する。図2は、通信管理サーバの電気的なハードウェア構成図である。
図2に示されているように、通信管理サーバ6は、コンピュータとして、CPU601、ROM602、RAM603、HD604、HDD(Hard Disk Drive)コントローラ605、ディスプレイ606、外部機器接続I/F(Interface)608、ネットワークI/F609、バスライン610、ポインティングデバイス612、メディアI/F614を備えている。
これらのうち、CPU601は、通信管理サーバ6全体の動作を制御する。ROM602は、IPL等のCPU601の駆動に用いられるプログラムを記憶する。RAM603は、CPU601のワークエリアとして使用される。HD604は、プログラム等の各種データを記憶する。HDDコントローラ605は、CPU601の制御にしたがってHD604に対する各種データの読み出し又は書き込みを制御する。ディスプレイ606は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F608は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USBメモリやプリンタ等である。ネットワークI/F609は、通信ネットワーク100を利用してデータ通信をするためのインターフェースである。バスライン610は、図2に示されているCPU601等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
また、ポインティングデバイス612は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。メディアI/F614は、フラッシュメモリ等の記録メディア613に対するデータの読み出し又は書き込み(記憶)を制御する。記録メディア613には、DVDやBlu-ray Disc(ブルーレイディスク)等も含まれる。
<全天球撮影装置のハードウェア構成>
続いて、図3を用いて、全天球撮影装置の電気的なハードウェア構成図について説明する。図3は、全天球撮影装置の電気的なハードウェア構成図である。
全天球撮影装置8は、2つの撮像素子を使用した全天球(全方位)全天球撮影装置とするが、撮像素子は2つ以上いくつでもよい。また、必ずしも全方位撮影専用の装置である必要はなく、通常のデジタルカメラやスマートフォン等に後付けの全方位の撮像ユニットを取り付けることで、実質的に全天球撮影装置8と同じ機能を有するようにしてもよい。
図3に示されているように、全天球撮影装置8は、撮像ユニット801、画像処理ユニット804、撮像制御ユニット805、マイク808、音処理ユニット809、CPU(Central Processing Unit)811、ROM(Read Only Memory)812、SRAM(Static Random Access Memory)813、DRAM(Dynamic Random Access Memory)814、操作部815、外部機器接続I/F816、通信回路817、アンテナ817a、加速度・方位センサ818、及びMicro USB用の凹状の端子819によって構成されている。
このうち、撮像ユニット801は、各々半球画像を結像するための180°以上の画角を有する広角レンズ(いわゆる魚眼レンズ)802a,802bと、各広角レンズに対応させて設けられている2つの撮像素子803a,803bを備えている。撮像素子803a,803bは、魚眼レンズ802a,802bによる光学像を電気信号の画像データに変換して出力するCMOS(Complementary Metal Oxide Semiconductor)センサやCCD(Charge Coupled Device)センサなどの画像センサ、この画像センサの水平又は垂直同期信号や画素クロックなどを生成するタイミング生成回路、この撮像素子の動作に必要な種々のコマンドやパラメータなどが設定されるレジスタ群などを有している。
撮像ユニット801の撮像素子803a,803bは、各々、画像処理ユニット804とパラレルI/Fバスで接続されている。一方、撮像ユニット801の撮像素子803a,803bは、撮像制御ユニット805とは、シリアルI/Fバス(I2Cバス等)で接続されている。画像処理ユニット804、撮像制御ユニット805及び音処理ユニット809は、バス810を介してCPU811と接続される。さらに、バス810には、ROM812、SRAM813、DRAM814、操作部815、外部機器接続I/F(Interface)816、通信回路817、及び加速度・方位センサ818なども接続される。
画像処理ユニット804は、撮像素子803a,803bから出力される画像データをパラレルI/Fバスを通して取り込み、それぞれの画像データに対して所定の処理を施した後、これらの画像データを合成処理して、正距円筒射影画像のデータを作成する。正距円筒射影画像は、丸い球体を平面である画像に変換した画像を意味しており、英語では、
クイレクタングラー(Equirectangular)という図法を用いている画像を示している。
撮像制御ユニット805は、一般に撮像制御ユニット805をマスタデバイス、撮像素子803a,803bをスレーブデバイスとして、I2Cバスを利用して、撮像素子803a,803bのレジスタ群にコマンド等を設定する。必要なコマンド等は、CPU811から受け取る。また、撮像制御ユニット805は、同じくI2Cバスを利用して、撮像素子803a,803bのレジスタ群のステータスデータ等を取り込み、CPU811に送る。
また、撮像制御ユニット805は、操作部815のシャッターボタンが押下されたタイミングで、撮像素子803a,803bに画像データの出力を指示する。全天球撮影装置8によっては、ディスプレイ(例えば、スマートフォンのディスプレイ)によるプレビュー表示機能や動画表示に対応する機能を持つ場合もある。この場合は、撮像素子803a,803bからの画像データの出力は、所定のフレームレート(フレーム/分)によって連続して行われる。
また、撮像制御ユニット805は、後述するように、CPU811と協働して撮像素子803a,803bの画像データの出力タイミングの同期をとる同期制御手段としても機能する。なお、本実施形態では、全天球撮影装置8にはディスプレイが設けられていないが、表示部を設けてもよい。
マイク808は、音を音(信号)データに変換する。音処理ユニット809は、マイク808から出力される音データをI/Fバスを通して取り込み、音データに対して所定の処理を施す。
CPU811は、全天球撮影装置8の全体の動作を制御すると共に必要な処理を実行する。ROM812は、CPU811のための種々のプログラムを記憶している。SRAM813及びDRAM814はワークメモリであり、CPU811で実行するプログラムや処理途中のデータ等を記憶する。特にDRAM814は、画像処理ユニット804での処理途中の画像データや処理済みの正距円筒射影画像のデータを記憶する。
操作部815は、シャッターボタン815aなどの操作ボタンの総称である。ユーザは操作部815を操作することで、種々の撮影モードや撮影条件などを入力する。
外部機器接続I/F816は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやPC(Personal Computer)等である。DRAM814に記憶された正距円筒射影画像のデータは、この外部機器接続I/F816を介して外付けの記録メディアに記録されたり、必要に応じて外部機器接続I/F816を介してスマートフォン等の外部端末(装置)に送信されたりする。
通信回路817は、全天球撮影装置8に設けられたアンテナ817aを介して、Wi-Fi、NFC(Near Field Communication)やBluetooth(登録商標)等の近距離無線通信技術によって、スマートフォン等の外部端末(装置)と通信を行う。この通信回路817によっても、正距円筒射影画像のデータをスマートフォン等の外部端末(装置)に送信することができる。
加速度・方位センサ818は、地球の磁気から全天球撮影装置8の方位を算出し、方位情報を出力する。この方位情報はExifに沿った関連情報(メタデータ)の一例であり、撮影画像の画像補正等の画像処理に利用される。なお、関連情報には、画像の撮影日時、及び画像データのデータ容量の各データも含まれている。また、加速度・方位センサ818は、全天球撮影装置8の移動に伴う角度の変化(Roll角、Pitch角、Yaw角)を検出するセンサである。角度の変化はExifに沿った関連情報(メタデータ)の一例であり、撮像画像の画像補正等の画像処理に利用される。更に、加速度・方位センサ818は、3軸方向の加速度を検出するセンサである。全天球撮影装置8は、加速度・方位センサ818が検出した加速度に基づいて、自装置(全天球撮影装置8)の姿勢(重力方向に対する角度)を算出する。全天球撮影装置8に、加速度・方位センサ818が設けられることによって、画像補正の精度が向上する。
Micro USB用の凹状の端子819は、図1に示されているスマートフォン9とWi-Fi等の無線ではなく有線で通信する場合にUSBケーブル等を取り付けるための端子である。
<通信装置のハードウェア構成>
続いて、図4を用いて、通信装置及びスマートフォンの電気的なハードウェア構成図について説明する。図4は、通信装置及びスマートフォンの電気的なハードウェア構成図である。
通信装置1は、例えば、タブレット端末である。図4に示されているように、通信装置1は、CPU101、ROM102、RAM103、EEPROM104、CMOSセンサ105、撮像素子I/F106、加速度・方位センサ107、メディアI/F109、GPS受信部111を備えている。
これらのうち、CPU101は、通信装置1全体の動作を制御する。ROM102は、CPU101やIPL等のCPU101の駆動に用いられるプログラムを記憶する。RAM103は、CPU101のワークエリアとして使用される。EEPROM104は、CPU101の制御にしたがって、スマートフォン用プログラム等の各種データの読み出し又は書き込みを行う。撮影ユニット105は、CPU101の制御に従って被写体(主に自画像)を撮像して画像データを得る内蔵型の撮像手段の一種である。撮像素子I/F106は、撮影ユニット105の駆動を制御する回路である。加速度・方位センサ107は、地磁気を検知する電子磁気コンパスやジャイロコンパス、加速度センサ等の各種センサである。メディアI/F109は、フラッシュメモリ等の記録メディア108に対するデータの読み出し又は書き込み(記憶)を制御する。GPS受信部111は、GPS衛星からGPS信号を受信する。
また、通信装置1は、遠距離通信回路112、撮影ユニット113、撮像素子I/F114、マイク115、スピーカ116、音入出力I/F117、ディスプレイ118、外部機器接続I/F(Interface)119、近距離通信回路120、近距離通信回路120のアンテナ420a、及びタッチパネル421を備えている。
これらのうち、遠距離通信回路112は、通信ネットワーク100を介して、他の機器と通信する回路である。撮影ユニット113は、CPU101の制御に従って被写体を撮像して画像データを得る内蔵型の撮像手段の一種であり、詳細は後述する。撮像素子I/F114は、撮影ユニット113の駆動を制御する回路である。マイク115は、音を電気信号に変える内蔵型の回路である。スピーカ116は、電気信号を物理振動に変えて音楽や音声などの音を生み出す内蔵型の回路である。音入出力I/F117は、CPU101の制御に従ってマイク115及びスピーカ116との間で音信号の入出力を処理する回路である。ディスプレイ118は、被写体の画像や各種アイコン等を表示する液晶や有機EL(Electro Luminescence)などの表示手段の一種である。外部機器接続I/F119は、各種の外部機器を接続するためのインターフェースである。近距離通信回路420は、NFC(Near Field Communication)やBluetooth(登録商標)等の通信回路である。タッチパネル421は、利用者がディスプレイ118を押下することで、通信装置1を操作する入力手段の一種である。
また、通信装置1は、バスライン110を備えている。バスライン110は、図4に示されているCPU101等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
ここで、撮影ユニット113について説明する。撮影ユニット105は、輝度カメラ105a、深度カメラ105b、及びこれらと撮影素子I/Fを電気的に接続するバスライン105eを備えている。これらのうち、輝度カメラ105aは、CCDやCMOS等の撮像素子を用いて、受光した光を電気信号に変換して画像データを得るデバイスである。例えば、RGBカラーカメラが含まれる。
深度カメラ105bは、人や物等の被写体を撮像して、LiDARによるレーザ方式により、被写体から深度カメラ105bまでの距離を計測することで、深度画像のデータを取得する。深度カメラ105bは、被写体の形状を立体として捉えると共に、人の骨格等のさまざまな動きを検出して、その後の処理にリアルタイムに反映させることができるカメラである。そのため、深度カメラ105bは、レーザ発信機105b1及びレーザ受信機105b2によって構成されている。レーザ発信機113b1は、レーザ光を照射する。レーザ発信機105b1が照射したレーザ光が被写体で反射し、このときの反射光であるレーザ光をレーザ受信機113b2が受光して電気信号に変換し、必要な情報を取り出す。なお、上記では、LiDARにより深度を計測する方式を記載しているが、これに限るものではない。例えば、TOF方式により深度を計測する方式を用いてもよい。また、通常のカメラであるRGBカラーカメラによってステレオ計測による方法で深度を計測してもよく、深度を計測する方法については、上記の記載に限られるものではない。
なお、撮影ユニット113は、輝度カメラ113a、深度カメラ113b、及びこれらと撮影素子I/Fを電気的に接続するバスライン113eを備えている。また、深度カメラ113bは、更に、レーザ発信機113b1及びレーザ受信機113b2を備えている。輝度カメラ113a、深度カメラ113b、バスライン113e、レーザ発信機113b1及びレーザ受信機113b2は、それぞれ、撮影ユニット105において、それぞれ、輝度カメラ105a、深度カメラ105b、バスライン105e、レーザ発信機105b1及びレーザ受信機105b2と同じ構成であるため、これらの説明を省略する。
なお、上記各プログラムが記憶されたCD-ROM等の記録媒体、並びに、これらプログラムが記憶されたHDは、いずれもプログラム製品(Program Product)として、国内又は国外へ提供されることができる。
また、スマートフォン9は、通信装置1と同様の構成を有しているため、その説明を省略する。なお。図4において、スマートフォン9の各構成に対しては括弧で符号が付されている。
〔実施形態の機能構成〕
次に、図5乃至図17を用いて、本実施形態の機能構成について説明する。図5乃至図7は、通信システムの機能ブロック図である。
<通信装置の機能構成>
ここで、通信装置1のうち、通信装置1aの機能構成について説明する。
図5に示されているように、通信装置1aは、検知部30a、送受信部31a、受付部32a、画像・音処理部33a、表示制御部34a、判断部35a、集音部38a、記憶・読出処理部39a、及び検知部40を有している。これら各部は、図4に示されている各構成要素のいずれかが、EEPROM104からRAM103上に展開された通信装置用のプログラムに従ったCPU101からの命令によって動作することで実現される機能又は手段である。また、通信装置1aは、図4に示されているROM102、RAM103、及びEEPROM104によって構築される記憶部3000aを有している。
更に、通信装置1aは、CPU101からの命令によって撮影ユニット105を動作させることによって実現される機能として、輝度画像取得部36a、深度画像取得部37a、及び集音部38aを有している。撮影ユニット105によって実現される機能については、破線で囲まれている。
(画像種類管理テーブル)
図8は、画像種類管理テーブルを示す概念図である。記憶部3000aには、画像種類管理テーブルによって構成されている画像種類管理DB3003aが構築されている。この画像種類管理テーブルでは、画像データID(Identification)、送信元の接続ID、及び画像種類情報が関連付けて記憶されて管理されている。これらのうち、画像データIDは、映像通信を行なう際の画像データを識別するための画像データ識別情報の一例である。同じ送信元から送信される画像データには、同じ画像データIDが付加されている。これにより、送信先(受信側の通信装置)は、受信した画像データの送信元を特定することができる。送信元の接続IDは、通信装置又は通信装置の利用者を識別するためのIDである。接続IDは、通信管理サーバ6によって付与された権限内で利用できる識別子である。なお、接続IDは、通信装置1aを識別するための装置IDであってもよい。接続IDは接続識別情報の一例、利用者IDは利用者識別情報の一例、及び、装置IDは装置識別情報の一例である。
画像種類情報は、関連付けられている画像データIDで示される画像データに係る画像を特定するための名称であり、例えば、ソース名が挙げられる。画像種類情報は、所定の名称の命名規則に従い、PC3aによって作成される。ここでは、画像種類情報として、「Video_Depth」、「Video_Omni」、及び「Video」が示されている。これらは順に画像種類が「深度画像を含む輝度画像」による映像、「全天球画像である輝度画像」による映像、「平面画像である輝度画像」による映像である旨を示している。なお、全天球画像は特殊画像の一例であり、平面画像は一般画像の一例である。
例えば、接続IDが「01aa」の通信装置1aは、画像データID「RS001」によって示される画像データを送信していることが示されている。更に、画像種類情報によって示される画像の種類は、「Video_Depth」である。
なお、画像データ以外のデータについても、画像データIDと関連付けて管理してもよい。画像データ以外のデータは、例えば、音データ、画面共有時の資料データである。
(配信管理テーブル)
図9は、配置管理テーブルを示す概念図である。記憶部3000aには、配置管理テーブルによって構成されている配置管理DB3006aが構築されている。この配置管理テーブルでは、仮想空間種類ID、仮想空間種類、役割、モデリング座標系からワールド座標系への変換パラメータ、及び接続IDが関連付けて記憶されて管理されている。
これらのうち、仮想空間種類IDは、映像通話を行う仮想の空間の種類を識別するための仮想空間種類式別情報の一例である。仮想空間種類は、仮想空間の種類を示す情報である。換言すると、仮想空間(仮想エリア)は、仮想空間上の特定の領域、特定の区域、又は特定の範囲を示している。図9では、仮想空間種類は、仮想の会議室、仮想の面接室、及び仮想の講義室が示されているが、これらだけに限定されるものではない。例えば、仮想部屋の一部分に設置された仮想ブースも含まれる。また、屋内又は屋外(野外)の仮想イベント会場等も含まれる。イベントは、例えば、所定の場所及び時刻で行う事や、特別に企画して開かれる事を示している。
役割は、仮想空間種類に応じて定められており、個人(若しくはグループ)に対して、割り当てられたり、必要とされたり、又は期待されたりする行動や活動である。また、役割は、図9に示されているもの以外に、接客の案内者、接客の顧客、商談の営業マン、商談の顧客等であってもよい。また、役割には、社長や部長等の役職も含まれる。
モデリング座標系からワールド座標系への変換パラメータは、後述の図32に示されているように、物体を第1の仮想空間上のモデリング座標系から第2の仮想空間上のワールド座標系へ変換する場合に用いられる変換パラメータ、及び回転のパラメータを示す。この回転のパラメータは、加速度・方位センサ107から出力されたデータであり、(パン、チルト、ロール)を示す。
接続IDは、画像種類管理テーブルの接続IDと同じ概念であるため、説明を省略する。
なお、コンピュータグラフィックス(CG)で描く仮想世界は、世界の基準となる1つの座標系を設ける。これをワールド座標系(World coordinate system)と呼ぶ。物体の形像を直接ワールド座標系で与えると、物体がワールド座標系内で移動するごとに、物体の形状を定義しなおさなければならない。そこで、コンピュータグラフィックスの3次元画像で物体の形状を決定する(モデリングという)座標系を定めている。この座標系をモデリング座標系(Modeling coordinate system)という。
ここで、別の表現によって、ワールド座標とモデリング座標とを説明する。ワールド座標系は、コンピュータグラフィックスで表示する物体は空間全体を表す座標系を示す。空間の中での物体の位置を示すための座標系で、物体の配置や移動を扱うために用いられる。各立体がどのような位置、向きで置かれているかを記述することができる。全てワールド座標系という一つの大きな空間で,最初から全ての物体をこの座標系上で定義したのでは表示処理の扱いが困難となる.そのため、空間中に配置される個々の立体の形状や変形を扱うためにモデリング座標が用いられる。立体のいずれかの頂点や近傍などに原点を取り、立体を構成する点や線、面などの位置や向きなどを記述する。個々のモデリング座標系で自由に定義された表示物体を全て統一されたワールド座標系上に配置し、グラフィックス空間、又は仮想的な3次元世界を作成することができる。
ここで、図10乃至図12を用いて、各仮想空間の最適型空間を説明する。
((仮想の会議室))
図10は、ワールド座標系上の配置位置を示した概念図であり、仮想の会議室の最適型空間を示した図である。図10には、仮想会議における役割毎の配置位置が示されている。図9における仮想の会議室の各利用者の役割である主催者、参加者(1)、参加者(2)、参加者(3)、及び傍観者は、図10において、それぞれ、主催者位置a11、参加者位置a12、参加者位置a13、参加者位置a14、及び傍観者位置a15に配置される。また、同様に、仮想のディスプレイの位置d11~d15は、それぞれ、主催者位置a11、参加者位置a12、参加者位置a13、参加者位置a14、及び傍観者位置a15に合わせて配置されている。なお、ディスプレイの位置d11~d14は、図1に示されているような通信装置1a~1dのディスプレイの位置を示し、ディスプレイの位置d15は、スマートフォン9等の単一のディスプレイの位置を示している。
((仮想の面接室))
図11は、ワールド座標系上の配置位置を示した概念図であり、仮想の面接室の最適型空間を示した図である。図11には、仮想面接における役割毎の配置位置が示されている。図9における仮想の面接室の各利用者の役割である面接者(1)、面接者(2)、面接者(3)、被面接者、及び傍観者は、図11において、それぞれ、面接者位置a21、面接者位置a22、面接者位置a23、被面接者位置a24、及び傍観者位置a25に配置される。また、同様に、ディスプレイの位置d21~d25の位置は、それぞれ、面接者位置a21、面接者位置a22、面接者位置a23、被面接者位置a24、及び傍観者位置a25に合わせて配置されている。なお、ディスプレイの位置d21~d24は、図1に示されているような通信装置1a~1dのディスプレイの位置を示し、ディスプレイの位置d25は、スマートフォン9等の単一のディスプレイの位置を示している。
((仮想の講義室))
図12は、ワールド座標系上の配置位置を示した概念図であり、仮想の講義室の最適型空間を示した図である。図12には、仮想講義における役割毎の配置位置が示されている。図9における仮想の会議室の各利用者の役割である講師(教師)、受講者(生徒)(1)、受講者(生徒)(2)、受講者(生徒)(3)、及び傍観者は、図12において、それぞれ、講義者位置a31、受講者位置a32、受講者位置a33、受講者位置a34、及び傍観者位置a35に配置される。また、同様に、ディスプレイの位置d31~d35の位置は、それぞれ、講義者位置a31、受講者位置a32、受講者位置a33、受講者位置a34、及び傍観者位置a35に合わせて配置されている。なお、ディスプレイの位置d31~d34は、図1に示されているような通信装置1a~1dの3つのディスプレイの位置を示し、ディスプレイの位置d35は、スマートフォン9等の単一のディスプレイの位置を示している。
なお、図9乃至14において、利用者及び仮想空間上の位置は全部で5つであるが、これに限るものではなく、いくつであってもよい。また、傍観者の位置も複数であっても良いし、複数の傍観者が仮想の会議室に入って単一の傍観者の位置に配置されるようにしてもよい。また、会議、面接、講義は、イベントの一例である。
(通信装置の各機能構成)
次に、図4及び図5を用いて、通信装置1aの各機能構成について更に詳細に説明する。
通信装置1aの検知部30aは、加速度・方位センサ107に対するCPU301からの命令によって実現され、通信装置1aの移動方向及び回転方向を検知する。
送受信部31aは、ネットワークI/F309に対するCPU301の処理によって実現され、通信ネットワーク100を介して、他の装置(例えば、通信管理サーバ6)との間で各種データ(または情報)の送受信を行う。
受付部32aは、主に、キーボード12、マウス13、及びポインティングデバイス312に対するCPU301の処理によって実現され、利用者から各種の選択又は入力を受け付ける。
画像・音処理部33aは、主に、CPU301の処理によって実現され、各種画像処理及び音処理を行う。例えば、画像・音処理部33aは、生成部としての役割を果たし、輝度画像及び深度画像のデータに基づき仮想空間上における被写体の3次元物体を生成する。
表示制御部34aは、主に、CPU301の処理によって実現され、各ディスプレイ4a~4cに、各種画像を表示させる。
判断部35aは、主に、CPU301の処理によって実現され、各種判断を行う。
輝度画像取得部36aは、主に、輝度カメラ501に対するCPU301の処理によって実現され、被写体を撮影することで、輝度画像のデータを取得する。ここでは、輝度画像と記載しているが、深度画像との対比のために用いている用語であり、輝度画像は、輝度情報のみを含む画像ではなく、色情報も有している。
深度画像取得部37aは、主に、深度カメラ502に対するCPU301の処理によって実現され、被写体を撮影することで、深度画像のデータを取得する。
集音部38aは、主に、マイク505に対するCPU301の処理によって実現され、集音して、音のデータを取得する。
記憶・読出処理部39aは、主に、CPU301の処理によって実現され、記憶部3000aに、各種データ(または情報)を記憶したり、記憶部3000aから各種データ(または情報)を読み出したりする。
なお、通信装置1b、1c、1dは、通信装置1aと同様の機能、記憶部、及びデータベースを有している。また、通信装置1b,1c,1dの機能は、それぞれ実質的にPC3b,3c,3dによって実現されている。図5及び図6では、通信装置1aにおける送受信部31aが、通信装置1bにおける送受信部31bに対応するように、符号の末尾が、aからそれぞれb,c,dに変わるだけであるため、これらの説明を省略する。
<通信管理サーバの機能構成>
次に、図2及び図5を用いて、通信管理サーバ6の機能構成について説明する。図5は、通信管理サーバの機能構成図である。
図5に示されているように、通信管理サーバ6は、送受信部61、判断部65、作成部66、及び記憶・読出処理部69を有している。これら各部は、図2に示されている各構成要素のいずれかが、HD604からRAM603上に展開された通信管理(制御)用のプログラムに従ったCPU601からの命令によって動作することで実現される機能又は手段である。また、通信管理サーバ6は、図2に示されているROM602、RAM603、及びHD604によって構築される記憶部6000を有している。
(通信管理テーブル)
図13(a)は、通信管理テーブルを示す概念図である。記憶部6000には、図13(a)に示されているような通信管理テーブルによって構成されている通信管理DB6001が構築されている。この通信管理テーブルでは、通信管理サーバ6によって管理される全ての通信装置1の各接続IDに対して、各パスワード及び各IPアドレスが関連付けられて管理される。例えば、図13示されている通信管理テーブルにおいて、通信装置1aの接続IDは「01aa」で、パスワードは「aaaa」で、IPアドレスはIPv4として「1.2.1.3」あることが示されている。なお、IPアドレスは、簡易的に示されている。また、IPアドレスは、IPv4ではなくIPv6であってもよい。また、IPアドレスでなく、ドメイン名(電子メールやホームページのアドレスとして使われている名称を示すような文字列)であってもよい。
(セッション管理テーブル)
図13(b)は、セッション管理テーブルを示す概念図である。記憶部6000には、図13(b)に示されているようなセッション管理テーブルによって構成されているセッション管理DB6002が構築されている。このセッション管理テーブルでは、セッションID、仮想空間種類ID、及び同じ通信セッションの映像通話に参加した通信装置の接続IDが関連付けて記憶されて管理されている。このうち、セッションIDは、映像通話を実現する通信セッションを識別するためのセッション識別情報の一例であり、仮想の会議室等の仮想の空間毎に生成される。セッションIDをミィーティングIDとして代替することができてもよい。ミィーティングIDは、ミィーティング(2人以上の話合う事)を通信管理サーバで管理するための識別子を示めしている。なお、仮想空間種類ID及び参加した通信装置の接続IDは、図9に示されている配置管理テーブルで管理されている仮想空間種類ID及び接続IDと同じ概念であるため、これらの説明を省略する。
(画像種類管理テーブル)
記憶部6000には、図13(c)に示されているような画像種類管理テーブルによって構成されている画像種類管理DB6003が構築されている。この画像種類管理DB6003は、上述した画像種類管理DB3003aに対して、セッションID(コミュニケーションID)の項目(属性)が追加されている。各項目(属性)は既に説明しているため、説明を省略する。
(ディスプレイ管理テーブル)
図14は、ディスプレイ管理テーブルを示す概念図である。記憶部6000には、図14に示されているようなディスプレイ管理テーブルによって構成されているディスプレイ管理DB6004が構築されている。このディスプレイ管理テーブルでは、ディスプレイのGUID(Globally Unique Identifier)のベンダIDとプロダクトID、物理空間上(リアル座標系)のディスプレイの縦と横のサイズ(各隅の位置)及び解像度、並びに仮想空間上(モデリング座標系)のディスプレイの各隅の位置が関連付けて記憶されて管理されている。なお、リアル座標系は、現実の世界である3次元の世界の任意の位置を基準とした座標系を示している。
ここで、図15を用いて、ディスプレイ管理テーブルで管理するデータで示される位置をディスプレイ上の点で視覚的に説明する。図15は、ディスプレイ管理テーブルで管理するデータで示される位置をディスプレイ上の点で視覚的に示した概念図である。
例えば、ディスプレイのGUIDが「vid_10ca&pid_0001」の場合、物理空間上(リアル座標系)のディスプレイ118のぞれぞれの四隅の位置を示す点が示されている。同じく通信装置のGUIDが「vid_10ca&pid_0001」の場合、仮想空間上(モデリング座標系)の3つのディスプレイのそれぞれの四隅の位置を示す点が示されている。
また、ディスプレイのGUIDが「vid_11ca&pid_0010」の場合、物理空間上(リアル座標系)のスマートフォン9の1つのディスプレイのぞれぞれの四隅の位置を示す点が示されている。同じくスマートフォンのGUIDが「vid_11ca&pid_0010」の場合、仮想空間上(モデリング座標系)のスマートフォンの1つのディスプレイの四隅の位置を示す点が示されている。
更に、ディスプレイのGUIDが「vid_12ca&pid_0100」の場合、物理空間上(リアル座標系)の一般のノートPCの1つのディスプレイのぞれぞれの四隅の位置を示す点が示されている。同じくディスプレイのGUIDが「vid_12ca&pid_0100」の場合、仮想空間上(モデリング座標系)のノートPCの1つのディスプレイの四隅の位置を示す点が示されている。
(仮想空間情報管理テーブル)
図16は、仮想空間情報管理テーブルを示す概念図である。記憶部6000には、図16に示されているような仮想空間情報管理テーブルによって構成されている仮想空間情報管理DB6005が構築されている。この仮想空間情報管理テーブルでは、セッションID(コミュニケーションID)、仮想空間種類、及び役割名が関連付けて記憶されて管理されている。セッションID(コミュニケーションID)、及び仮想空間種類は、それぞれ上述のセッション管理DB6002の「セッションID(コミュニケーションID)」及び「仮想空間種類」の項目(属性)と同じ概念であるため、説明を省略する。また、役割名は、上述の配置管理DB3006aの「役割」項目(属性)を名称として管理されている。
(通信管理サーバの各機能構成)
次に、図2及び図5を用いて、通信管理サーバ6の各機能構成について更に詳細に説明する。
通信管理サーバ6の送受信部61は、ネットワークI/F609に対するCPU601の処理によって実現され、通信ネットワーク100を介して、他の装置(例えば、通信装置1、スマートフォン9)との間で各種データ(または情報)の送受信を行う。
判断部65は、主に、CPU601の処理によって実現され、各種判断を行う。
作成部66は、主にCPU601の処理によって実現され、画像データIDを作成する。
記憶・読出処理部69は、主に、図2に示されているHDD605に対するCPU601の処理によって実現され、記憶部5000に各種データ(または情報)を記憶したり、記憶部5000から各種データ(または情報)を読み出したりする。
<全天球撮影装置の機能構成>
次に、図3及び図7を用いて、全天球撮影装置8の機能構成について説明する。
図7に示されているように、全天球撮影装置8は、受付部82、撮影部83、集音部84、判断部85、通信部88、及び記憶・読出処理部89を有している。これら各部は、図3に示されている各構成要素のいずれかが、SRAM813からDRAM814上に展開された撮影装置用のプログラムに従ったCPU811からの命令によって動作することで実現される機能又は手段である。
また、全天球撮影装置8は、図3に示されているROM512、SRAM513、及びDRAM514によって構築される記憶部8000を有している。記憶部8000には、自装置のGUIDが記憶されている。
(全天球撮影装置の各機能構成)
次に、図3及び図7を用いて、全天球撮影装置8の各機能構成について更に詳細に説明する。
全天球撮影装置8の受付部82は、主に、図3に示されている操作部515に対するCPU811の処理によって実現され、利用者からの操作入力を受け付ける。
撮影部83は、主に、図3に示されている撮像ユニット801、画像処理ユニット804、及び撮像制御ユニット805に対するCPU811の処理によって実現され、被写体や風景等を撮像し、全天球画像を構成する2つの半球画像のデータを得る。
集音部84は、図3に示されているマイク808及び音処理ユニット809に対するCPU811の処理によって実現され、全天球撮影装置8の周囲の音を集音する。
判断部85は、主に、CPU811の処理によって実現され、各種判断を行う。
通信部88は、主に、通信回路817に対するCPU811の処理によって実現され、スマートフォン9の後述の通信部98と、NFC規格、Bluetooth、Wi-Fi等による近距離無線通信技術によって通信することができる。
記憶・読出処理部89は、主に、図3に示されているCPU811の処理によって実現され、記憶部8000に各種データ(または情報)を記憶したり、記憶部8000から各種データ(または情報)を読み出したりする。
<スマートフォンの機能構成>
次に、図4及び図6を用いて、スマートフォン9の機能構成について詳細に説明する。図6に示されているように、スマートフォン9は、送受信部91、受付部92、画像・音処理部93、表示制御部94、判断部95、作成部96、算出部97、通信部98、及び記憶・読出処理部99を有している。これら各部は、図4に示されている各構成要素のいずれかが、EEPROM904からRAM903上に展開されたスマートフォン9用のプログラムに従ったCPU901からの命令によって動作することで実現される機能又は手段である。
また、スマートフォン9は、図4に示されているROM902、RAM903、及びEEPROM904によって構築される記憶部9000を有している。
(撮影装置管理テーブル)
図17は、撮影装置管理テーブルを示す概念図である。記憶部8000には、図17に示されているような撮影装置管理テーブルによって構成されている撮影装置管理DB9001が構築されている。この撮影装置管理テーブルでは、全天球画像の元になる2つの半球画像を得ることができる撮影装置のGUIDのベンダIDとプロダクトIDが記憶されて管理されている。GUIDとしては、例えば、USBデバイスで利用されるベンダID(VID)とプロダクトID(PID)が利用できる。スマートフォン9は、所定のサーバからベンダIDとプロダクトIDをダウンロードする等によって取得する。
(画像種類管理テーブル)
記憶部9000には、画像種類管理DB3003aと同様のデータ構造である画像種類管理DB9003が構築されている。画像種類管理DB6003を構成する画像種類管理テーブルについては、既に図8で説明したため、説明を省略する。
(配置管理テーブル)
記憶部9000には、配置管理DB3006aと同様のデータ構造である配置管理DB9006が構築されている。配置管理DB9006を構成する配置管理テーブルについては、既に図9乃至図12で説明したため、説明を省略する。
〔実施形態の処理又は動作〕
続いて、図18乃至図37を用いて、本実施形態の処理又は動作について説明する。
<映像通話への参加>
まず、図18乃至図21を用いて、特定の仮想空間への参加処理について説明する。図18は、特定の仮想空間への参加処理を示したシーケンス図である。図19は、通信装置におけるログイン画面の表示例である。なお、スマートフォンにおけるログイン画面も同様である。図20は、仮想空間の種類の選択画面を示した図である。図21において、(a)は仮想空間の種類が会議タイプ(会議の種類)の場合の役割の選択画面、(b)は仮想空間の種類が面接タイプの場合の役割の選択画面、(c)は仮想空間の種類が講義タイプの場合の役割の選択画面である。
まず、拠点Aの利用者(例えば、利用者A1)は、表示制御部34aがディスプレイ118上に表示するログイン画面(図19参照)において、自己の接続ID及びパスワードを入力し、「OK」ボタンを押下すると、受付部32aが接続ID及びパスワードを受け付け、送受信部31aが通信管理サーバ6に対して、ログイン要求を送信する(S21)。このログイン要求には、接続ID、パスワード、及び送信元(通信装置1a)のIPアドレスが含まれている。これにより、通信管理サーバ6の送受信部61は、ログイン要求を受信する。
次に、通信管理サーバ6の記憶・読出処理部69は、ログイン要求に含まれている接続ID及びパスワードを検索キーとして、通信管理DB6001(図13(a)参照)を検索し、同一の接続ID及び同一のパスワードの組が管理されているかを判断することによって認証を行う(ステップS22)。ここでは、記憶・読出処理部69によって、同一の接続ID及び同一のパスワードが管理されているものとして、続けて説明する。この場合、記憶・読出処理部69は、ステップS21で受信された送信元のIPアドレスを、認証に使った接続ID及びパスワードの組のレコードに追記する。
次に、記憶・読出処理部69は、仮想空間情報管理DB6005から、全てのレコードのデータである仮想空間情報を読み出す(S23)。そして、送受信部61は、通信装置1aに対して、認証が成功した旨の応答を送信する(S24)。この応答には、仮想空間情報が含まれている。これにより、通信装置1aの送受信部11aは、応答を受信する。
次に、通信装置1aでは、表示制御部34aが仮想空間情報に基づいて、ディスプレイ118上に、仮想空間選択画面(図20参照)を表示する(S25)。この仮想空間選択画面には、選択対象である仮想空間の種類を示す各選択ボタンb1,b2,b3が表示されている。ここでは、仮想空間の種類として、仮想の会議室、仮想の面接室、及び仮想の講義室を示す選択ボタンb1,b2,b3が表示されている。また、各選択ボタンb1等には、各セッションIDが関連付けられている。
ここで、利用者A1が所望の選択ボタン(ここでは「選択ボタンb1」)を選択すると、受付部32aは、仮想空間の種類(通信セッション)の選択を受け付ける(ステップS26)。
更に、通信装置1aでは、表示制御部34aが仮想空間情報に基づいて、ディスプレイ118上に、仮想の会議室に入る場合の役割を示す役割選択画面(図21(a)参照)を表示する(S27)。この役割選択画面には、選択対象である役割を示す各選択ボタンb11,b12,b13が表示されている。ここで、利用者A1が所望の選択ボタン(ここでは「選択ボタンb11」)を選択すると、受付部32aは、役割の選択を受け付ける(ステップS28)。そして、送受信部31aは、通信管理サーバ6に対して、主催者として仮想の会議室への参加要求を送信する(ステップS29)。この参加要求には、ステップS26で選択を受け付けられた通信セッションを示すセッションID及び仮想空間種類ID、ステップS28で選択を受け付けられた役割、並びに要求元である通信装置1aの接続IDが含まれている。これにより、通信管理サーバ6の送受信部51は、参加要求を受信する。
次に、記憶・読出処理部69は、セッション管理DB6002(図13(b)参照)に対して、仮想空間への参加処理を行う(S30)。具体的には、記憶・読出処理部69は、セッション管理DB6002において、ステップS29で受信されたセッションIDと同じセッションIDのレコードに対して、ステップS29で受信された仮想空間種類ID及び参加した通信装置1aの接続IDを関連付けて管理する。
次に、記憶・読出処理部69は、配置管理DB6006に対して、ステップ28で選択された仮想空間種類における役割に接続IDを登録する(S31)。ここでは、記憶・読出処理部69は、仮想の会議室における主催者を示す仮想空間種類ID及び接続IDのレコードの接続IDの項目(属性)に、通信装置1aの利用者A1の接続IDである「01aa」を登録する。
次に、通信管理サーバ6の送受信部61は、通信装置1aに対して、ステップS29に対する参加要求応答を送信する(S32)。この参加要求応答には、ステップS31で登録されることで更新された配置管理DB6006内の全てのデータである配置管理情報が含まれている。これにより、通信装置1aの送受信部11aは、参加要求応答を受信する。なお、配置管理情報は、配置管理DB6006内の全てのデータではなく、更新されたレコード部分のデータ(仮想空間種類ID、仮想空間種類、役割、モデリング座標系からワールド座標系への変換パラメータ、及び接続IDの各データ)であってもよい。そして、通信装置1aでは、記憶・読出処理部19aは、配置管理DB3006aに対して、ステップS32で受信された配置管理情報を上書き登録する(S33)。
また、通信管理サーバ6は、同じ仮想の会議室に参加している通信装置がある場合、この通信装置に対して、通信装置1aが新たに特定の役割で参加した旨を伝えることで、配置管理情報を共有する必要がある。そこで、通信管理サーバ6の送受信部61は、既に仮想の会議室に参加している利用者の通信装置(ここでは、通信装置1b)に対して、通信装置1aの利用者A1が参加した旨を示す参加情報を送信する(S34)。この参加情報には、ステップS32で送信された配置管理情報と同じ内容の配置管理情報が含まれている。これにより、通信装置1bの送受信部11bは、参加情報を受信する。なお、送受信部61の送信先は、セッション管理DB6002(図13(b)参照)で、通信装置1aの接続IDと同じセッションIDに関連付けられている他の接続IDある。即ち、送信先は、通信装置1aと同じ仮想の会議室に入っている他の通信装置である。
次に、通信装置1bでは、記憶・読出処理部19bが、配置管理DB3006bに対して、ステップS34で受信された配置管理情報を上書き登録する(S35)。
なお、ステップS26において、利用者A1が図20の選択ボタンb2を選択した場合には、ステップS27において、表示制御部34aは、図21(b)に示されているような役割選択画面を表示させる。また、ステップS26において、利用者A1が図20の選択ボタンb3を選択した場合には、ステップS27において、表示制御部34aは、図21(c)に示されているような役割選択画面を表示させる。
なお、上記では、図20示されている仮想空間の種類を示す各選択ボタンb1等の選択後、図21に示されている役割を示す各選択ボタンb11等の選択によって、合計2回の選択が行われるが、これに限るものではない。例えば、図20において、コミュニケーションの目的(仮想空間の種類毎及び役割)を示す合計9つの選択ボタンが表示されるようにしてもよい。9つの選択ボタンは、例えば、会議室における主催者、会議室における参加者、会議室における傍観者、面接室における面接者、面接室における被面接者、面接室における傍観者、講義室における講師(教師)、講義室における受講者(生徒)、及び講義室における傍観者と表示される。なお、コミュニケーションは、意思、感情、又は思考などの情報伝達を示し、言語、文字又は身振りなどを媒介として行われる行為である。
<画像種類情報の管理処理>
続いて、図22及び図23を用いて、画像種類情報の管理処理について説明する。図22は、通信装置に対する画像種類情報の管理処理を示したシーケンス図である。図23は、スマートフォンに対する画像種類情報の管理処理を示したシーケンス図である。
(通信装置に対する画像種類情報の管理処理)
まずは、図22を用いて、通信装置に対する画像種類情報の管理処理について説明する。
通信装置1aの送受信部31aは、通信管理サーバ6に対して、情報追加要求を送信する(S41)。この情報追加要求には、送信元である自装置(通信装置1a)の接続ID、画像種類情報、及びディスプレイ情報が含まれている。これにより、通信管理サーバ6の送受信部61は、情報追加要求を受信する。
次に、通信管理サーバ6の記憶・読出処理部69は、ステップS41によって受信された接続IDを検索キーとして、セッション管理DB6002(図13(b)参照)を検索することにより、対応するセッションIDを読み出す(S42)。
次に、作成部66は、固有の画像データIDを作成する(S43)。そして、記憶・読出処理部69は、画像種類管理DB6003(図13(c)参照)に、新たなレコードとして、ステップS42で読み出されたセッションID、ステップS43で生成された画像データID、並びに、ステップS41で受信された送信元の接続ID及び画像種類情報を関連付けて記憶する(S44)。更に、記憶・読出処理部69は、ディスプレイ管理DB6004(図14参照)に、1レコードのデータであるディスプレイ情報を記憶する(S45)。これにより、各通信装置1のディスプレイ情報を一元管理することができる。
次に、通信管理サーバ6の送受信部61は、通信装置1aに対して、ステップS43で生成された画像データIDを送信する(S46)。これにより、通信装置1aの送受信部31aは、画像データIDを受信する。
次に、通信装置1aの記憶・読出処理部39aは、画像種類管理DB3003a(図8参照)に対し、自装置(通信装置1a)の接続ID及び画像種類情報に関連づけて、ステップS46で受信された画像データIDを記憶する(S47)。
また、通信管理サーバ6は、同じ仮想の会議室に参加している通信装置がある場合、この通信装置に対して、通信装置1aの画像データID、接続ID、及び画像種類情報を伝えることで、情報共有する必要がある。そこで、通信管理サーバ6の送受信部61は、通信装置1aと同じ仮想の会議室に参加している他の通信装置(例えば、通信装置1b)に対して、情報追加通知を送信する(S48)。この情報追加通知には、ステップS43で生成された画像データID、並びに、ステップS51で受信された送信元である通信装置1aの接続ID及び画像種類情報が含まれている。これにより、通信装置1bの送受信部11bは、情報追加通知を受信する。なお、送受信部61の送信先は、セッション管理DB6002(図13(b)参照)で、通信装置1aの接続IDと同じセッションIDに関連付けられている他の接続IDある。即ち、送信先は、通信装置1aと同じ仮想の会議室に入っている他の通信装置である。また、通信管理サーバ6は、ステップS48において、ステップ41で受信したディスプレイ情報を送信しない。ディスプレイ情報は、他の通信装置では使用されないからである。
次に、通信装置1bの記憶・読出処理部39bは、画像種類管理DB3003b(図8参照)に、新たなレコードとして、ステップS48で受信された、画像データID、送信元である通信装置1aの接続ID、及び画像種類情報を関連付けて記憶する(S49)。
なお、情報追加通知の送信後に、通信装置1aと同じ仮想の会議室に参加者した通信装置1に対しては、通信管理サーバ6が、上記ステップS46等のタイミングで、既に同じ仮想の会議室に参加している他の通信装置の接続ID及び画像種類情報を送信する。
以上より、同じ仮想空間に参加した全ての通信装置は、他の通信装置の画像種類情報を共有することができる。
(スマートフォンに対する画像種類情報の管理処理)
続いて、図23を用いて、スマートフォンに対する画像種類情報の管理処理について説明する。
まず、拠点Gの利用者G1は、表示制御部94がディスプレイ918上に表示するログイン画面(図19(b)参照)において、自己の接続ID及びパスワードを入力し、「OK」ボタンを押下すると、受付部92が接続ID及びパスワードを受け付け、送受信部91が通信管理サーバ6に対して、ログイン要求を送信する(S61)。このログイン要求には、接続ID、パスワード、及び送信元(スマートフォン9)のIPアドレスが含まれている。これにより、通信管理サーバ6の送受信部61は、ログイン要求を受信する。
次に、通信管理サーバ6の記憶・読出処理部69は、ログイン要求に含まれている接続ID及びパスワードを検索キーとして、通信管理DB6001(図13(a)参照)を検索し、同一の接続ID及び同一のパスワードの組が管理されているかを判断することによって認証を行う(S62)。ここでは、記憶・読出処理部69によって、同一の接続ID及び同一のパスワードが管理されているものとして、続けて説明する。この場合、記憶・読出処理部69は、ステップS61で受信された送信元のIPアドレスを、認証に使った接続ID及びパスワードの組のレコードに追記する。
次に、送受信部61は、スマートフォン9に対して、認証が成功した旨の応答を送信する(S63)。この応答には、仮想空間情報が含まれている。これにより、スマートフォン9の送受信部91は、応答を受信する。
次に、拠点Gの利用者G1が、全天球撮影装置8の操作部815を操作することで、受付部82が操作を受け付け、記憶・読出処理部89が記憶部8000に記憶されている自装置(全天球撮影装置8)のGUIDを読み出し、通信部88がスマートフォン9の通信部98に対して自装置のGUIDを送信する(S64)。これにより、スマートフォン9の通信部98は、全天球撮影装置8のGUIDを受信する。
次に、スマートフォン9の判断部95は、撮影装置管理DB9001(図17参照)において、ステップS64によって受信されたGUID中のベンダID及びプロダクトIDと、同じベンダID及びプロダクトIDが管理されているか否かを判断することで、画像種類を判断する(S65)。具体的には、撮影装置管理DB9001において、同じベンダID及びプロダクトIDが管理されている場合には、判断部95は、送信者の撮影装置(ここでは、全天球撮影装置8)が全天球画像を取得する撮影装置であると判断する。これに対して、撮影装置管理DB9001において、同じベンダID及びプロダクトIDが管理されていない場合には、判断部95は、送信元の撮影装置が一般画像を撮影する撮影装置であると判断する。
次に、記憶・読出処理部99は、画像種類管理DB9003(図8参照)に対して、送信元である自装置(スマートフォン9)の接続IDと、ステップS65で判断された判断結果である画像種類情報とを関連付けて記憶する(S66)。この状態では、画像データIDは関連付けられていない。
以降、ステップS67~S75の処理は、上述のステップS41~49の処理において、基本的に通信装置1aがスマートフォン9に替わっただけであり、その他の処理は同じである。
即ち、スマートフォン9の送受信部91は、通信管理サーバ6に対して、情報追加要求を送信する(S67)。この情報追加要求には、送信元である自装置(スマートフォン9)の接続ID、画像種類情報、及びディスプレイ情報が含まれている。これにより、通信管理サーバ6の送受信部61は、情報追加要求を受信する。
次に、通信管理サーバ6の記憶・読出処理部69は、ステップS67によって受信された接続IDを検索キーとして、セッション管理DB6002(図13(b)参照)を検索することにより、対応するセッションIDを読み出す(S68)。
次に、作成部66は、固有の画像データIDを作成する(S69)。そして、記憶・読出処理部69は、画像種類管理DB6003(図13(c)参照)に、新たなレコードとして、ステップS68で読み出されたセッションID、ステップS69で生成された画像データID、並びに、ステップS67で受信された送信元の接続ID及び画像種類情報を関連付けて記憶する(S70)。更に、記憶・読出処理部69は、ディスプレイ管理DB6004(図14参照)に、1レコードのデータであるディスプレイ情報を記憶する(S71)。
次に、通信管理サーバ6の送受信部61は、スマートフォン9に対して、ステップS69で生成された画像データIDを送信する(S72)。これにより、スマートフォン9の送受信部91は、画像データIDを受信する。
次に、スマートフォン9の記憶・読出処理部39aは、画像種類管理DB3003a(図8参照)に対し、自装置(スマートフォン9)の接続ID及び画像種類情報に関連づけて、ステップS72で受信された画像データIDを記憶する(S73)。
また、通信管理サーバ6は、同じ仮想の会議室に参加している通信装置がある場合、この通信装置に対して、スマートフォン9の画像データID、接続ID、及び画像種類情報を伝えることで、情報共有する必要がある。そこで、通信管理サーバ6の送受信部61は、スマートフォン9と同じ仮想の会議室に参加している他の通信装置(例えば、通信装置1b)に対して、情報追加通知を送信する(S74)。この情報追加通知には、ステップS69で生成された画像データID、並びに、ステップS51で受信された送信元であるスマートフォン9の接続ID及び画像種類情報が含まれている。これにより、通信装置1bの送受信部11bは、情報追加通知を受信する。なお、送受信部61の送信先は、セッション管理DB6002(図13(b)参照)で、スマートフォン9の接続IDと同じセッションIDに関連付けられている他の接続IDある。即ち、送信先は、スマートフォン9と同じ仮想の会議室に入っている他の通信装置である。
次に、通信装置1bの記憶・読出処理部39bは、画像種類管理DB3003b(図8参照)に、新たなレコードとして、ステップS74で受信された、画像データID、送信元であるスマートフォン9の接続ID、及び画像種類情報を関連付けて記憶する(S75)。
なお、情報追加通知の送信後に、スマートフォン9と同じ仮想の会議室に参加者した通信装置1に対しては、通信管理サーバ6が、上記ステップS72等のタイミングで、既に同じ仮想の会議室に参加している他の通信装置の接続ID及び画像種類情報を送信する。
以上より、同じ仮想空間に参加した全ての通信装置及びスマートフォン9は、他の通信装置及びスマートフォン9の画像種類情報を共有することができる。
<画像データ及び音データの送信>
続いて、図24乃至図26を用いて、画像データ及び音データの送信処理について説明する。図24は、全天球撮影装置から送信された輝度画像データ及び音データが各通信装置に届くまでの処理を示したシーケンス図である。図25は、所定の通信装置から送信された輝度画像データ、深度画像データ及び音データが他の通信装置に届くまでの処理を示したシーケンス図である。図26は、送信される輝度画像データと深度画像データの概念図である。
(スマートフォンから各通信装置への送信)
まず、図24を用いて、スマートフォン9から通信管理サーバ6を介して、各通信装置1に画像データ(ここでは、輝度画像データ)及び音データを送信する場合の処理について説明する。
まず、全天球撮影装置8が、拠点Gで撮影及び集音を開始することで、撮影部83が画像データ(ここでは、半球画像の2つの輝度画像データ)を取得すると共に集音部84が音データを取得する(S81)。この場合、全天球撮影装置8は、動画撮影を行うが、静止画撮影であってもよい。そして、通信部88がスマートフォン9の通信部98に対して、2つの輝度画像データ、及び音データを送信する(S82)。これにより、スマートフォン9の通信部98が、2つの輝度画像データ、及び音データを受信する。
次に、スマートフォン9の送受信部91は、通信管理サーバ6に対して、全天球撮影装置8から送られてきた2つの輝度画像データ、及び音データに加え、送信元としてのスマートフォンの接続IDを送信する(S83)。この場合、2つの輝度画像データには、上記ステップS72で受信された画像データIDが含まれている。これにより、通信管理サーバ6の送受信部61は、2つの輝度画像データ(及び画像データID)、音データ、並びにスマートフォンの接続IDを受信する。
次に、通信管理サーバ6の送受信部61は、セッション管理DB6002(図13(b)参照)を利用することで、スマートフォン9と同じ映像通話に参加している各通信装置1a~1dに対して、2つの輝度画像データ(及び画像データID)、音データ、並びにスマートフォンの接続IDを送信する(S84~S87)。これにより、各通信装置1a~1dの送受信部31a~31dは、2つの輝度画像データ(及び画像データID)、音データ、並びにスマートフォンの接続IDを受信する。
(所定の通信装置から他の通信装置及びスマートフォンへの送信)
次に、図25を用いて、通信装置1aから通信管理サーバ6を介して、複数の他の通信装置1b,1c,1dに画像データ(ここでは、輝度画像データ及び深度画像データ)並びに音データを送信する場合の処理について説明する。
まず、通信装置1aは、拠点Aで撮影及び集音を開始することで、輝度画像取得部36aが輝度画像データを取得し、深度画像取得部37aが深度画像データを取得し、集音部38aが音データを取得する(S101)。この場合、通信装置1aは、動画撮影を行うが、静止画撮影であってもよい。
そして、通信装置1aの送受信部31aは、通信管理サーバ6に対して、画像データ(輝度画像データ、深度画像データ)及び音データに加え、送信元としての通信装置1aの接続IDを送信する(S102)。この場合、画像データには、上記ステップS46で受信された画像データIDが含まれている。これにより、通信管理サーバ6の送受信部61は、画像データ(輝度画像データ、深度画像データ、及び画像データID)、音データ、並びに送信元である通信装置1aの接続IDを受信する。
ここで、図4及び図26を用いて、送信される輝度画像データと深度画像データについて説明する。図4では、自画像撮り用の撮影ユニット105が設けられているため、画像データには、輝度画像Lc1のデータ及び深度画像Dc1のデータが含まれる。輝度画像Lc1及び深度画像Dc1のデータは、撮影ユニット105によって取得されたデータである。
例えば、輝度画像Lc1及び深度画像Dc1のデータの解像度は、それぞれ4Kであるが、図26に示されているように、送信元の通信装置1は、合計2のデータを1つの画像データに圧縮して合成することで、この1つの画像データの解像度が4Kになる。なお、4Kは一例であり、HD、FHD、8K等であってもよい。
次に、図25に戻り、通信管理サーバ6の送受信部61は、セッション管理DB6002(図13(b)参照)を利用することで、通信装置1aと同じ映像通話に参加している他の各通信装置1b~1dに対して、画像データ(輝度画像データ、深度画像データ、及び画像データID)、音データ、並びに送信元である通信装置1aの接続IDを送信する(S103~S105)。これにより、各通信装置1b,1c,1dの送受信部31b,31c,31dは、画像データ(輝度画像データ、深度画像データ、及び画像データID)、音データ、並びに送信元である通信装置1aの接続IDを受信する。
なお、スマートフォン9は送信専用であるため、送信元が通信装置1の場合、通信管理サーバ6は、スマートフォン9に対して、画像データ、音データ、及び送信元である通信装置1aの接続IDを送信しない。但し、スマートフォンを通信装置1と同じように表示にも使う場合には、通信管理サーバ6は、スマートフォン9に対して、画像データ、音データ、及び送信元である通信装置1aの接続IDを送信しない。
<画像データ及び音データの受信>
続いて、図27乃至図37を用いて、画像データ及び音データの受信の処理について説明する。図27は、通信装置1dによる画像データ及び音データの受信の処理を示すシーケンス図である。
図27に示されているように、通信装置1aの送受信部31aは、通信管理サーバ6に対して、画像データ(輝度画像データ、深度画像データ、画像データID)、音データ、及び送信元としての通信装置1aの接続IDを送信する(S121)。これにより、通信管理サーバ6の送受信部61は、画像データ、音データ、及び通信装置1aの接続IDを受信する。このステップS121処理は、図25のステップS102と同じである。そして、通信管理サーバ6の送受信部61は、セッション管理DB6002(図13(b)参照)を利用することで、通信装置1aと同じ映像通話に参加している他の通信装置1dに対して、画像データ(輝度画像データ、深度画像データ、及び画像データID)、音データ、並びに送信元である通信装置1aの接続IDを送信する(S122)。これにより、通信装置1dの送受信部31dは、画像データ、音データ、並びに通信装置1aの接続IDを受信する。この処理は、図25のステップS103と同じである。
同様に、通信装置1bの送受信部31bは、通信管理サーバ6に対して、画像データ(輝度画像データ、深度画像データ、画像データID)、音データ、及び送信元としての通信装置1bの接続IDを送信する(S123)。これにより、通信管理サーバ6の送受信部61は、画像データ、音データ、及び通信装置1bの接続IDを受信する。そして、通信管理サーバ6の送受信部61は、セッション管理DB6002(図13(b)参照)を利用することで、通信装置1bと同じ映像通話に参加している他の通信装置1dに対して、画像データ(輝度画像データ、深度画像データ、及び画像データID)、音データ、並びに送信元である通信装置1bの接続IDを送信する(S124)。これにより、通信装置1dの送受信部31dは、画像データ、音データ、並びに通信装置1bの接続IDを受信する。
更に、通信装置1cの送受信部31cは、通信管理サーバ6に対して、画像データ(輝度画像データ、深度画像データ、画像データID)、音データ、及び送信元としての通信装置1cの接続IDを送信する(S125)。これにより、通信管理サーバ6の送受信部61は、画像データ、音データ、及び通信装置1cの接続IDを受信する。そして、通信管理サーバ6の送受信部61は、セッション管理DB6002(図13(b)参照)を利用することで、通信装置1cと同じ映像通話に参加している他の通信装置1dに対して、画像データ(輝度画像データ、深度画像データ、及び画像データID)、音データ、並びに送信元である通信装置1cの接続IDを送信する(S126)。これにより、通信装置1dの送受信部31dは、画像データ、音データ、並びに通信装置1bの接続IDを受信する。
以上により、通信装置1dは、他の拠点A,B,Cの画像データ及び音データを取得することができる。
続いて、通信装置1dでは、画像・音処理部33dが、ステップS122,S124,126及び、図24のステップS87によって受信された各データに基づいて、画像表示及び音出力の処理を行う(S127)。この場合、音出力は、各音データ(電気信号)を振動に変換する一般的な処理であるため、図28を用いて、画像表示の処理について詳細に説明する。
<画像表示の処理>
図28は、画像表示の処理を示したフローチャートである。
まず、記憶・読出処理部39dは、図24のステップS87及び図27のステップS122,S124,126によって受信された画像データIDを検索キーとして、画像種類管理DB3003dを検索することで、対応する画像種類情報を読み出す(S201)。そして、画像種類情報が「Video_Depth」の場合(S202;輝度・深度画像)、ステップS203の処理に進む。また、画像種類情報が「Video_Omni」の場合(S202;全天球画像)、ステップS211の処理に進む。画像種類情報が「Video_Omni」の場合(S202;平面画像)、ステップS203の処理に進む。
(画像種類が輝度・深度画像の場合の表示処理)
ここで、画像種類が輝度・深度画像の場合の表示処理について説明する。
((ワールド座標系にける物体の位置の算出処理))
最初に、通信装置1dは、ワールド座標系における物体の位置を算出する(S203)。ここで、図29乃至図32を用いて、画像種類が輝度・深度画像の場合の表示処理を詳細に説明する。図29は、ワールド座標系にける物体の位置の算出処理を示すフローチャートである。
まず、画像・音処理部33dが、仮想空間上(モデリング座標系)における自拠点を含めた各拠点の輝度画像データ及び深度画像データに基づいて、物体の画像を3次元化する(S221)。
ここで、図30を用いて、物体の画像の3次元化を説明する。図30は、カメラ座標系からモデリング座標系への変換、及びモデリング座標系からワールド座標系への変換の概念図である。なお、カメラ座標系は、現実の世界である3次元の世界を物理的なカメラを原点として投影面における世界の見え方を定める座標系である。リアル座標で与えられる座標を、カメラの座標系で見た座標系に変換する必要ある。
物理空間の複数の拠点の利用者の画像を仮想の会議室等の1つの仮想空間に登場させるため、画像・音処理部33dは、各拠点の物理空間の物体を、一旦、個別に第1の仮想空間としてのモデリング座標系(Modeling Coordinate System)で定義することで3次元化し、その後に、各物体の画像を1つのワールド座標系(World Coordinate System)で定義する必要がある。
そのため、まず、画像・音処理部33dは、図26に示されているようにカメラ座標系(Camera Coordinate System)にて定義された輝度画像La及び深度画像Da等の5つの組の画像を、(式1)を利用して、1つの第1の仮想空間上(モデリング座標系)に変換することで、3次元化を行う。図30では、物体として利用者A1が表されている。この場合、モデリング座標系における利用者A1の画像は、図30の拡大図evに示されているように、多数の点の集合によって示される。本実施形態では、5台の輝度深度撮影デバイス5a~5eによって5アングルにより撮影されているため、利用者A1の画像は、多数の点が重なった集合体として表される。このようにして、利用者A1,B1,C1,D1がそれぞれ独立して別々のモデリング座標系で定義される(3次元化される)。
なお、ベクトルPは射影行列であり、ベクトルP-1は、カメラ座標系からリアル座標系へ変換するための行列である。ベクトルMは、リアル座標系からモデリング座標系へ変換するための行列である。この出力値は、モデリング座標系の点(座標)及び色情報を示す。
次に、図29に戻り、記憶・読出処理部39dは、記憶部3000dに記憶されている自装置(通信装置1d)のディスプレイ情報を読み出すと共に、方位センサ(検知部30a)が回転行列(0)のデータを出力する(S222)。そして、画像・音処理部33dが、ディスプレイ情報における「仮想空間上(モデリング座標系)のディスプレイの各隅の位置の情報」に基づいて、モデリング座標系に自拠点の仮想ディスプレイ(仮想スクリーンともいう)ddを配置する(S223)。図31は、モデリング座標系に利用者D1の画像と仮想ディスプレイを配置した概念図である。例えば、画像・音処理部33dは、図31に示されているように、自拠点の利用者D1の画像に対して更に仮想ディスプレイdd1を配置(定義)する。この場合、仮想ディスプレイdd1は、方位センサ(検知部30a)によって出力された回転行列(0)のデータに基づき、パン、チルト及びロールの回転がされる。換言すると、利用者A1が、現実の通信装置1aを回転させた方向が、仮想ディスプレイdd1に反映されることを示している。
また、図29に戻り、記憶・読出処理部39dは、配置管理DB3006d(図9参照)から、同じ仮想の会議室に参加中の利用者(通信装置)の接続IDに関連付けられている「モデリング座標系からワールド座標系への変換パラメータ」を読み出す(S224)。そして、画像・音処理部33dは、各拠点の物体の画像及び各拠点の仮想ディスプレイ(仮想の覗き窓)を、仮想空間上においてモデリング座標系からワールド座標系にモデリング変換する(S225)。
ここで、再び図30を用いて、モデリング座標系からワールド座標系への変換を説明する。
画像・音処理部33dは、図30に示されているように、モデリング座標系の利用者A1の画像を、(式2)を利用して、1つの共通の第2の仮想空間上(ワールド座標系)にモデリング変換(Modeling Transformation)する。なお、モデリング変換は、モデリング座標系上で定義された表示物体をワールド座標系上に配置するための変換処理であり、表示物体の拡大縮小、回転、せん断及び平行移動という四つの変換処理の組み合わせを示す。
なお、ベクトルWは、モデリング座標系からワールド座標系へ変換するための行列である。この出力値は、ワールド座標系の点(座標)及び色情報を示す。また、ベクトルOは、回転(パン、チルト、ロール)させるための行列である。
図32は、モデリング座標系からワールド座標系への変換を示したイメージ図である。図32に示されているように、画像・音処理部33dは、各モデリング座標系の利用者A1~D1の画像及び自拠点の仮想ディスプレイdd4を、1つの共通のワールド座標系にモデリング変換する。これにより、各拠点の利用者A1~D1の画像が、共通の仮想の会議室に参加することができる。
なお、図32に示されているように、本実施形態のワールド座標系には、全天球画像を貼り付けるための仮想球状壁cw、及び3次元化した平面画像を貼り付けるための仮想平面壁pwが存在する。これに関しては後述する。
((利用者が見える画像の表示))
続いて、図28に戻り、利用者D1が通信装置1で見ることができる画像を表示する処理を説明する。
図28に示されているように、画像・音処理部33aが、輝度画像取得部36dによって取得された輝度画像データ及び深度画像取得部37dによって取得された輝度画像データに基づき、利用者D1の目、鼻、肩等の骨格情報を検出する(S204)。
次に、画像・音処理部33aが、骨格情報の両目の中心を視点位置として、この視点位置に基づき、図32の中央部に示されているようなワールド座標系における利用者D1が仮想ディスプレイddによって見ることができる他の利用者A1等の画像を作成する(S205)。換言すると、画像・音処理部33aは、ワールド座標系の表示物体を視点位置に基づき仮想ディスプレイddに表示される画像に変換する。この変換は、ワールド座標系から視点座標系への変換を意味し、視野変換と呼ばれる。視点座標系は、仮想空間上でのカメラの位置(視点)を原点とし、利用者が見たい方向(被写体が存在する方向)に広がっている座標系である。
ワールド座標系において、視点から仮想ディスプレイdd上の画素に向かうレイトレーシング(Ray Tracing)法によるレイ(ray)とポリゴン(3Dモデルを構成する仮想的な三角形や多角形等)との交点を計算する。このレイは、画像方向から視点に向かう光線を、視点から逆にたどるものである。この方法は、光線追跡法とよばれ、視線を逆に辿ることから、視線逆探索法とも呼ばれる。そして、視点に最も近い交点、すなわちレイと最初に交差する物体(コンピュータグラフィックスの分野では、上記「ポリゴン」と呼ばれる)を求め、その物体の色で仮想ディスプレイ上の画素を塗る。レイと交差する物体(ポリゴン)が存在しない場合には、画素に対して背景色を塗る。この処理を仮想ディスプレイdd全体の画素に対して行うことにより仮想ディスプレイddに表示される画像が作成される。
なお、光線追跡法以外にも、Zバッファ法などが存在し、仮想ディスプレイddで表示される画像を作成する方法は、上記方法に限定されるものではない。
次に、画像・音処理部33aは、上記作成した仮想空間上(ワールド座標系)の画像を物理空間上の通信装置1dのディスプレイ4a~4c上に表示するための画像に変換する(S206)。そして、表示制御部34dは、物理空間上の通信装置1dのディスプレイ4a~4c上に、ステップS206で変換した後の画像を表示する(S207)。この場合、ディスプレイ4a~4cに画像が表示される空間は2次元平面画像であり、解像度は、コンピュータの性能、特にビデオボード(又はグラフィックスボード)に搭載されている表示メモリなどのデバイスに依存するため、デバイス座標系と呼ばれる。
(画像種類が全天球画像の場合の表示処理)
次に、画像種類が全天球画像の場合の表示処理について説明する。
画像・音処理部33dは、送受信部11dによって受信された2つの輝度画像のデータから全天球画像のデータを作成し、この全天球画像を仮想空間上(ワールド座標系)に貼り付ける(S211)。この場合、画像・音処理部33dは、2つの輝度画像である半球画像を合成し、1つの正距円筒射影画像ECを作成する。そして、画像・音処理部33aは、OpenGL ES(Open Graphics Library for Embedded Systems)を利用することで、仮想球面(ここでは、図32の仮想球状壁cwの内壁面)に正距円筒射影画像を貼り付け、全天球画像のデータを作成する。なお、OpenGL ESは、2D(2-Dimensions)および3D(3-Dimensions)のデータを視覚化するために使用するグラフィックスライブラリである。
そして、ステップS211の処理後、上記ステップS206の処理に進む。
(画像種類が平面画像の場合の表示処理)
次に、画像種類が平面画像の場合の表示処理について説明する。この場合、平面画像であっても、画像・音処理部33aは、ステップS203以降の処理を行う。
<画像の表示例>
続いて、図34乃至図37を用いて、図28におけるステップS207,S212,S214による様々な表示例を説明する。
(会議の参加者(利用者D1)に見せる表示例)
((初期表示))
図33において、(a)は仮想会議の場合のワールド座標系における利用者D1の視線を示した図、(b)は(a)の場合に通信装置1dが利用者D1に見せる画像の表示例である。
ここでは、利用者D1は、通信装置1dを自分の真正面で使用してことにより、通信装置1dにおける自画像撮り用の撮影ユニット105が、利用者D1の真正面の方向(第2の方向の一例)から撮影する場合を示している。
図33(a)に示されているように、仮想空間上(ここでは、ワールド座標系)において、利用者D1の視線の向こうには、左斜め前の少し奥の仮想の覗き窓wa内に利用者A1、真正面の仮想の覗き窓wb内に利用者B1、左横の仮想の覗き窓wc内に利用者C1が位置している。なお、仮想空間上(ワールド座標系)の1つの位置に、原則として一人の利用者しか存在しない。
そして、この仮想空間上の状態を物理空間上の利用者D1がディスプレイ118で見ると、図33(b)に示されているように、表示制御部34dは、ディスプレイ4a~4c上に、背景画像としての全天球画像CE、並びにサイズ及び表示方向が異なる各仮想の覗き窓wa,wb,wc及び利用者A1,B1,C1の画像の全てを合成した合成画像を表示させる。
なお、各利用者の画像は、図28のステップS207で、表示制御部34dによって表示された画像である。また、全天球画像CEは、図28のステップ212で、表示制御部34dによって表示された画像である。各利用者の画像及び全天球画像CEは、実際には上記のごとく、合成画像として表示される。各利用者の画像及び全天球画像CEの表示に関しては、以下同様である。
具体的には、利用者D1が利用者A1の画像を見た場合、利用者A1の画像は、左斜め前の少し奥に位置した仮想の覗き窓wa内に表示され、利用者B1よりもサイズが小さく、右肩側よりも左肩側の表示面積が大きい状態を見ることができるようなディスプレイ118上の所定領域に表示されている。また、利用者D1が利用者B1の画像を見た場合、利用者B1の画像は、真正面の利用者A1よりも近くに位置した仮想の覗き窓wb内に表示され、利用者A1よりもサイズが大きく、顔の真正面が表された状態を見ることができるようなディスプレイ118上の所定領域に表示されている。更に、利用者D1が利用者C1の画像を見た場合、利用者C1の画像は、左横の位置した仮想の覗き窓wc内に表示され、(利用者D1から見た場合の)顔の左側面が表された状態を見ることができるような118上の所定領域に表示されている。但し、利用者C1の顔の左側面は全て表示されない。図1に示されているように、利用者C1は、通信装置1cを自分の真正面で使用してことにより、図4の自画像撮り用の撮影ユニットが、利用者C1の真正面の方向(第1の方向の一例)から撮影する場合、利用者C1の顔の左側面は全て撮影できないからである。そのため、表示制御部34dが左側の顔が切れた画像を表示すると、この画像を見る利用者D1には違和感が生じてしまう。そこで、本実施形態では、あえて仮想空間上の3次元物体の画像を仮想の覗き窓内に表示して、覗き窓から被写体の全てを見ることが難しいという固定概念を利用することで、見る人の違和感を抑制し、同室感が薄れてしまうことを抑制するようにしている。
((回転後表示))
続いて、図33(b)の状態から、図34(b)に示されているように、利用者D1が物理空間で、自分の顔(視線)と共に若干左側(矢印方向)に回転(パン)した場合の表示例について説明する。図34において、(a)は仮想会議の場合のワールド座標系における利用者D1の移動後の視線を示した図、(b)は(a)の場合に通信装置1dが利用者D1に見せる画像の表示例である。
図34(a)に示されているように、仮想空間(ワールド座標系)において、利用者D1の視線の向こうには、図33(a)の場合よりも少し右側に移動したように見える利用者A1、図33(a)の場合よりも真正面から少し右側に移動したように見える利用者B1、及び図33(a)の場合よりも左横から少し斜め左側に移動したように見える利用者C1が位置している。
そして、この仮想空間上の状態を物理空間上の利用者D1がディスプレイ118で見ると、図34(b)に示されているように、表示制御部34dは、ディスプレイ118上に、図33(b)に比べて少し右に移動した背景画像としての全天球画像CE、並びに、図33(b)に比べて少しサイズ及び表示面が異なる各利用者A1,B1,C1の画像を合成した合成画像を表示させる。
具体的には、利用者D1が全天球画像CEを見た場合、全天球画像CEは、図33(a)の状態に対して、少し右側に移動した画像を見ることができるようにディスプレイ118上に表示されている。また、利用者D1が利用者A1の画像を見た場合、利用者A1の画像は、図33(a)の状態に対して、少し右側に位置してサイズが少し大きくなった画像を見ることができるようなディスプレイ118上の所定領域に表示されている。利用者D1が利用者B1の画像を見た場合、利用者B1の画像は、図33(a)の状態に対して、真正面から少し右側に移動して少しサイズが小さくなった画像を見ることができるようなディスプレイ118上の所定領域に表示されている。利用者D1が利用者C1の画像を見た場合、利用者D1の画像は、図33(a)の状態に対して、左横から少し斜め左側に移動して少しサイズが大きくなった画像を見ることができるようなディスプレイ118上の所定領域に表示されている。
この場合も、仮想の覗き窓wa,wb,wcが表示されることにより、見る人の違和感を抑制するようにしている。
(会議の傍観者に見せる表示例)
図35において、(a)は仮想会議の場合のワールド座標系における傍観者の視線を示した図、(b)は(a)の場合にスマートフォンが表示する画像の表示例である。
図35(a)に示されているように、仮想空間(ワールド座標系)において、傍観者(カメラ)G2の視線の向こうには、右斜め前の奥に利用者A1、更に右寄りの右斜め前の手前側に利用者B1、左斜め前の奥に利用者C1、更に左寄りの左斜め前の手前側に利用者D1が位置している。なお、傍観者の場合、自分の姿の画像は各通信装置で表示されない。そのため、傍観者の場合、仮想空間上(ワールド座標系)の1つの位置に、複数の利用者が存在してもよい。
そして、この仮想空間上の状態は、図35(b)に示されているように、表示制御部94によってディスプレイ918上に、背景画像としての全天球画像CE、並びにサイズ及び表示方向が異なる各利用者A1,B1,C1,D1の画像を合成した合成画像で表示される。また、傍観者の場合、利用者A1,B1,C1,D1のように、自分の姿は撮影されないため、図28におけるステップS204~S207の処理は実行されない。即ち、傍観者G2は、スマートフォン9を上下左右に移動させても、又は自分の視点をスマートフォン9に対して上下左右に移動させても、表示制御部94は、同じ状態の画像を表示させる。
具体的には、ディスプレイ918上には、利用者A1の画像は、右斜め前の奥の所定領域に位置し、利用者B1よりもサイズが小さく、右肩側よりも左肩側の表示面積が大きい状態で表示されている。また、ディスプレイ918上には、利用者B1の画像は、利用者A1よりも更に右寄りの右斜め前の手前側の所定領域に位置し、利用者A1よりもサイズが大きく、右肩側よりも左肩側の表示面積が大きい状態で表示されている。更に、ディスプレイ918上には、利用者C1の画像は、左斜め前の奥の所定領域に位置し、利用者D1よりもサイズが小さく、左肩側よりも右肩側の表示面積が大きい状態で表示されている。また、ディスプレイ918上には、利用者D1の画像は、利用者C1よりも更に左寄りの左斜め前の手前側の所定領域に位置し、利用者C1よりもサイズが大きく、左肩側よりも右肩側の表示面積が大きい状態で表示されている。
この場合も、仮想の覗き窓wa,wb,wc,wdが表示されることにより、見る人の違和感を抑制するようにしている。なお、仮想の覗き窓wd内には、利用者D1の画像が表示されている。
また、傍観者G2は、図1の利用者G1であってもよく、利用者G1ではない別の利用者であってもよい。また、傍観者の人数が複数の場合、同じ位置に複数の利用者が傍観者として仮想会議等の仮想イベントに参加した状態になる。
(面接の被面接者(利用者D1)に見せる表示例)
図36において、(a)は仮想面接の場合のワールド座標系における利用者D1の視線を示した図、(b)は(a)の場合に通信装置1dが利用者D1に見せる画像の表示例である。
図36(a)に示されているように、仮想空間(ワールド座標系)において、利用者D1の視線の向こうには、左斜め前に利用者A1、真正面に利用者B1、右斜め前に利用者C1が位置している。なお、仮想空間上(ワールド座標系)の1つの位置に、原則として一人の利用者しか存在しない。
そして、この仮想空間上の状態を物理空間上の利用者D1がディスプレイ118で見ると、図36(b)に示されているように、表示制御部34dは、ディスプレイ118上に、背景画像としての全天球画像CE、並びにサイズ及び表示方向が異なる各利用者A1,B1,C1の画像を合成した合成画像を表示させる。
具体的には、利用者D1が利用者A1の画像を見た場合、利用者A1の画像は、左斜め前に位置し、利用者B1よりもサイズが少し小さい状態を見ることができるようなディスプレイ118上の所定領域に表示されている。また、利用者D1が利用者B1の画像を見た場合、利用者B1の画像は、真正面の利用者B1の状態を見ることができるようなディスプレイ118上の所定領域に表示されている。更に、利用者D1が利用者C1の画像を見た場合、利用者C1の画像は、右斜め前に位置し、利用者B1よりもサイズが少し小さい状態を見ることができるようなディスプレイ118上の所定領域に表示されている。
この場合も、仮想の覗き窓wa,wb,wcが表示されることにより、見る人の違和感を抑制するようにしている。
(講義の受講者(利用者D1)に見せる表示例)
図37において、(a)は仮想講義の場合のワールド座標系における利用者D1の視線を示した図、(b)は(a)の場合に通信装置1dが利用者D1に見せる画像の表示例である。
図37(a)に示されているように、仮想空間(ワールド座標系)において、利用者D1の視線の向こうには、左横に利用者A1、左斜め前の少し奥に利用者B1、右横に利用者C1が位置している。なお、仮想空間上(ワールド座標系)の1つの位置に、原則として一人の利用者しか存在しない。
そして、この仮想空間上の状態を物理空間上の利用者D1がディスプレイ118で見ると、図37(b)に示されているように、表示制御部34dがディスプレイ118上に、背景画像としての平面画像PE、並びにサイズ及び表示方向が異なる各利用者A1,B1,C1の画像を合成した合成画像を表示させる。
平面画像PEは、図28のステップS214で、表示制御部34dによって表示された画像である。各利用者の画像及び平面画像PEは、実際には上記のごとく、合成画像として表示される。なお、講義に使用する画像は平面画像PEではなく、全天球画像CEであってもよい。
具体的には、利用者D1が利用者A1の画像を見た場合、利用者A1の画像は、左横の位置し、顔の右側面が表された状態を見ることができるようなディスプレイ118上の所定領域に表示されている。また、利用者D1が利用者B1の画像を見た場合、利用者B1の画像は、左斜め前の少し奥に位置し、利用者A1,C1よりもサイズが小さい状態を見ることができるようなディスプレイ118上の所定領域に表示されている。更に、利用者D1が利用者C1の画像を見た場合、利用者C1の画像は、右横の位置し、顔の左側面が表された状態を見ることができるようなディスプレイ118上の所定領域に表示されている。
この場合も、仮想の覗き窓wa,wb,wcが表示されることにより、見る人の違和感を抑制するようにしている。
〔実施形態の主な効果〕
以上説明したように本実施形態によれば、他拠点の被写体の不完全な画像を表示する場合であっても、あえて仮想空間上の3次元物体の画像を仮想の覗き窓内に表示して、覗き窓から被写体の全てを見ることが難しいという固定概念を利用することで、現実感が薄れてしまうことを抑制することができるという効果を奏する。
また、例えば、通信装置1aは、他の通信装置1b,1c,1dが送信した各画像データに基づく画像を、自装置(通信装置1d)側の仮想空間上(ワールド座標系)の物体(利用者D1)における所定位置(例えば、両眼の間としての視点位置)及び仮想空間上(ワールド座標系)の複数の通信装置間の変更可能な位置関係(「配置関係」ともいう)(図10~図12)に応じて、ディスプレイ4上の所定領域に表示する(図33(b)、図34(b)、図36(b)、図37(b)参照)。これにより、複数の拠点の利用者が、拠点数やコミュニケーションの目的に応じた同室感を得ることが困難であるという課題をできるだけ解消することができるという効果を奏する。
また、例えば、通信装置1dは、仮想空間上の複数の通信装置間の位置関係が異なる複数の種類の情報(図20参照)を表示し、仮想空間上の複数の通信装置間の位置関係が異なる複数の種類のうち、特定の種類(例えば、会議室)の選択を受け付ける。そして、通信装置1dは、他の通信装置が送信した画像データに基づく画像を、特定の種類に応じたディスプレイ4上の所定領域に表示する(例えば、図33(b)参照)。これにより、利用者は、コミュニケーションの目的に応じた仮想空間を選択し易くなるという効果を奏する。
〔補足〕
上記通信管理サーバ6は、単純に「サーバ」と呼んでも良い。通信管理サーバ6は、クラウドコンピューティング(Cloud Computing)の形態で提供されてもよい。クラウドコンピューティングとは、インターネットなどのコンピュータネットワークを経由して、コンピュータ資源をサービスの形で提供する利用形態を示し、提供されるコンピュータ資源がサーバである。提供するサービスの形態は、SaaS(Software as a Service)、PaaS(Platform as a Service)、HaaSまたはIaaS(Hardware / Infrastructure as a Service)等あるが、サービスの提供形態は、制限されない。
また、上記実施形態では、利用者が、図20の選択ボタンb1~b3の選択、及び図21(a)~(c)の各選択ボタンb11~b33を選択することによって、仮想空間と役割が決定することになっているがこれに限るものではない。例えば、予め、通信管理サーバ6において、接続ID毎に仮想空間種類と役割を設定しておくことで、利用者A1は、特段に、選択ボタンb1~b3、及び選択ボタンb11~b33を選択せずに、通信管理サーバ6が自動的に仮想空間種類及び役割を決定してもよい。
更に、上記実施形態では、図30に示されているように、各通信装置1が、各拠点の物理空間の物体を、一旦、個別に第1の仮想空間としてのモデリング座標系で定義することで3次元化し、その後に各物体の画像を1つのワールド座標系に変換させているが、これに限るものではない。例えば、通信管理サーバ6が、各拠点の物理空間の物体を、一旦、個別に第1の仮想空間としてのモデリング座標系で定義することで3次元化し、その後に各物体の画像を1つのワールド座標系に変換させてもよい。この場合、通信管理サーバ6は、ワールド座標系に変換後の画像データを各拠点の通信装置1に送信する。即ち、第1の通信装置(例えば、通信装置1d)と、第2の通信装置(例えば、通信装置1a)と、サーバ(例えば、通信管理サーバ6)とを備える通信システムは、第1の通信装置で撮影した画像データと第2の通信装置で撮影した画像データを用いて、仮想空間上の第1の通信装置における被写体の位置と仮想空間上の第2通信装置における被写体の位置との変更可能な位置関係に応じて生成された表示画像を提供する提供手段と、前記提供手段で提供された表示画像を表示する表示制御手段とを備える。
また、図26に示されているように、通信装置1aは、自装置(通信装置1a)で複数の輝度画像La~Le及び深度画像Da~Deの合計10のデータを1つの画像データに圧縮して合成した後に通信管理サーバ6に送信するが、これに限るものではない。例えば、通信装置1は、合計10のデータをそのまま通信管理サーバ6に送信し、通信管理サーバ6が合計10のデータを1つの画像データに圧縮して合成して、他の各通信装置1b~1dに送信してもよい(S103~S105参照)。なお、送信元が通信装置1aの場合だけでなく、通信装置1b~1dの場合も同様の処理が行われる。
上記実施形態で説明した各CPUは、1つの装置に複数設けられていてもよい。
また、上記実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)、SOC(System on a chip)、GPU(Graphics Processing Unit)や従来の回路モジュール等のデバイスを含むものとする。
更に、各通信装置1a~1d、通信管理サーバ6、全天球撮影装置8、及びスマートフォン9の間の通信において、他のサーバやルータ等がデータを中継してもよい。