以下、本発明を実施するための形態の一例として、通信装置と通信装置が行う表示方法について説明する。
<通信システムと通信端末の動作の概略>
まず、図1を用いて通信システムの概略を説明する。図1(a)は、テレプレゼンスロボットを用いた通信システムの概略構成図の一例を示す。社内801にテレプレゼンスロボットが配置されており、自宅802に操作者810が存在している。テレプレゼンスロボットは移動装置20に搭載された通信端末10Bと広角撮像装置9を有している。また、操作者810は通信端末10Aを有している。
広角撮像装置9は通信端末10Bに後述する全天球映像(第2の映像の一例)を送信する。通信端末10A、10Bはそれぞれ平面撮像装置とマイクを有しており互いに映像と音声を送受信する。すなわち、通信端末10Bは全天球映像と正面映像831(又は/及び背面映像832)を通信端末10Aに送信し、通信端末10Aは正面映像831を通信端末10Bに送信する。
また、通信端末10Aでは移動装置20の移動などに関する操作を受け付けるアプリケーションソフト(以下、アプリという)が動作しており、操作者810は通信端末10Bが送信する映像を確認しながら操作指示を入力する。操作者810が入力した操作指示は通信端末10Aから通信端末10Bに送信される。
通信端末10Bと移動装置20はBluetooth(登録商標)などの近距離無線で通信でき、通信端末10Bは操作指示に基づいて移動装置20を制御するので、操作者810は遠隔地(自宅)から移動装置20を移動させることができる。
このようにして移動装置20を移動させることで、図1(b)に示すように、操作者810は所望の相手820と会話することができる。図1(b)では、操作者810はAさん820aの場所まで移動装置20を移動させてAさんと会話し、次に、Bさん820bの場所まで移動装置20を移動させてBさんと会話している。
人と会うだけでなく、操作者810は遠隔地にある店舗の商品を確認したり、工場を視察したり、展示会に参加したりするなど、現地に移動しなくても多くのことを遠隔地から行うことができる。
また、通信端末10Bに内蔵された平面撮像装置が正面と後方しか撮像できないと、操作者810が移動装置20の周囲の状況(例えば、足下や左右)を確認しづらい。そこで、本実施形態では、通信端末10Bに周囲360度を撮像できる広角撮像装置9が搭載されている。広角撮像装置9は通信端末10Bに搭載されていてもよいし、移動装置20に搭載されていてもよい。広角撮像装置9は広角な範囲を撮像できるため、例えば、周囲が遮られにくい上方に配置される。図1では通信端末10Bの上側に配置されているが、左側又は右側に配置されてもよいし、移動装置20のポール部分に配置されてもよい。また、広角撮像装置9は通信端末10Bに内蔵されていてもよいし、外付けされてもよい。
<全天球映像の表示例>
図2を用いて、周囲360度の被写体が写った全天球映像のある方向を操作者が見ている場合に、移動装置20が向いている方向を把握できるように表示する表示例を説明する。図2は広角撮像装置9が撮像した全天球映像の一部である所定領域映像の表示例を説明する図である。本実施形態では移動装置20が向いている方向を操作者が把握できる表示例の3つのパターンを説明する。
なお、移動装置20の向きはテレプレゼンスロボットの向きと同じであるため、向きに関しては移動装置20とテレプレゼンスロボットを同一視してよい。また、移動装置20の向きとは移動装置20が向いている方向であり、例えば、正面方向又は前進方向をいう。移動装置20が向いている方向を操作者が把握可能であれば、横向き、上向き、下向きなどを移動装置20の向きとしてもよい。
図2(a)は、パターン1によって全天球映像を表示する全天球映像表示画面1010の一例を示す。パターン1は、現在、操作者が見ている全天球映像にテレプレゼンスロボットの画像840を重ねて表示することで、移動装置20の向きを操作者に把握させる。操作者は移動装置20の向きに対し、どの方向を見ているか分かる。なお、テレプレゼンスロボットの画像840はテレプレゼンスロボットの向きが分かる態様で表されている。
操作者は通信端末10Aに任意の所定領域映像を表示させる。全天球映像表示画面1010に表示されている映像が所定領域映像である。図2(a)では開放的な居室の一部が表示されている。所定領域映像は、全天球映像のうち通信端末10Aの表示装置(後述する表示部109)に表示されている一部の領域の映像である。表示部109はエリアを設けユーザはこのエリア内に所定領域映像を表示する。
したがって、移動装置20の正面方向と一致するとは限らない。通信端末10Aは移動装置20の正面方向と所定領域映像を定める撮像方向(所定領域映像の中心を示す方向)との差異に基づいてテレプレゼンスロボットを回転させ、回転させたテレプレゼンスロボットを全天球映像に表示させる。表示されるテレプレゼンスロボットの画像840は実空間のテレプレゼンスロボットではなくCG(コンピュータグラフィック)で作成されたものである。CGとはコンピュータを用いて描かれた画像である。CGは主に2次元と3次元があるが、本実施形態では3次元のCGが利用される。
したがって、全天球映像の中でテレプレゼンスロボットがどの方向を向いているのか分かる。図2(a)の例では、テレプレゼンスロボットが操作者の方のやや右側を向いている。テレプレゼンスロボットの画像840を見ることで、操作者はこのまま前進させた場合にどの方向に移動するかを容易に判断できる。
なお、図2(a)では説明の便宜上、テレプレゼンスロボットの画像840の全体像が表示されているが、全天球映像はテレプレゼンスロボットの上側に配置されているので、テレプレゼンスロボットの画像840もより視点側に(手前に)表示することが好ましい。このため、テレプレゼンスロボットの画像840の全体像が写っていなくてよい。
続いて、パターン2について説明する。図2(b)は、パターン2によって全天球映像を表示する全天球映像表示画面1010の一例を示す。パターン2は、操作者が見ている全天球映像の一部の所定領域映像853とは別に、テレプレゼンスロボットを基準に操作者が見ている方向を表示する。具体的には、テレプレゼンスロボットの画像854と撮像方向矢印8を表示する。
図2(b)に示すように、通信端末10Aは操作者の操作に応じて全天球映像欄1001に任意の所定領域映像853を表示する。図2(b)では陳列された商品が写っている。また、通信端末10Aは全天球映像欄1001とは別にテレプレゼンスロボット表示欄1002を有する。テレプレゼンスロボット表示欄1002には、所定領域映像853がテレプレゼンスロボットからみてどの方向かを示す撮像方向矢印8を表示する。つまり、撮像方向矢印8は操作者が見ている撮像方向を立体的に表す。立体的にとは、方位角と仰角の情報を有することを意味する。表示されるテレプレゼンスロボットの画像854は実空間のテレプレゼンスロボットではなくCGで作成されたものである。撮像方向矢印8も同様である。図2(b)ではテレプレゼンスロボットの正面方向が撮像方向である。
このように、全天球映像がテレプレゼンスロボットから見てどの方向の映像であるかを操作者が把握できる。操作者はテレプレゼンスロボットがどの方向を向いているかも把握できる。また、図2(b)では、前進することで商品にテレプレゼンスロボットが接近することが分かる。パターン1と比べると全天球映像にテレプレゼンスロボットが重ならないというメリットがある。
図2(c)は、パターン3によって全天球映像を表示する全天球映像表示画面1010の一例を示す。全天球映像表示画面1010に表示されている映像が所定領域映像である。パターン3では、所定領域映像の中心方向(上記の撮像方向)とテレプレゼンスロボットの正面方向が略一致する場合にのみ通信端末10Aが操作ボタン860を表示する。図2(c)の左図c-1では、撮像方向とテレプレゼンスロボットの正面方向が略一致していないため操作ボタン860が表示されていない。図2(c)の右図c-2では、撮像方向とテレプレゼンスロボットの正面方向が略一致しているため操作ボタン860が表示されている。略一致とは、移動装置20の移動に支障がない程度に一致すればよいことをいう。完全に一致することを求めると操作ボタン860がめったに表示されず、操作できないことになるため、操作性が低下しない程度の幅をもって判断される。例えば、水平方向と仰角方向にそれぞれ±10~20度くらいのずれは許容されてよい。また、操作者がずれの大きさを設定できてよい。
パターン3では撮像方向とテレプレゼンスロボットの正面方向が略一致している時に操作ボタン860が表示されるので、操作者は所定領域映像を変更させてみて操作ボタン860が表示された時に、撮像方向とテレプレゼンスロボットの正面方向が略一致していると判断できる。したがって、撮像方向と操作者が見ている全天球映像の方向を一致させることができる。また、テレプレゼンスロボットの正面方向と操作者が見ている全天球映像の方向を一致させた時にだけ操作ボタン860が表示されるので、前進させた場合にどこに移動するかを操作者が把握できる。
<用語について>
操作者810は移動装置20を操作する者である。操作者810は通信端末10Aを使用するユーザでもあるが、本実施形態では操作者と称する。
会話の相手820は社内などの人であるが、犬や猫などの動物でもよい。また、移動装置20は、操作者810が相手と話すために使用されなくてもよい。例えば、移動装置20が社内などをパトロールするような場合、通信端末10Bは映像や音声を通信端末10Aに送信すればよく、操作者が会話しない場合がある。
移動装置20が移動する場所は移動装置20が移動可能な場所であればよい。また、モータなどの動力で移動する装置に限らず、人間が補助的に移動を補助してもよい。
正面映像は通常の画角の映像をいい、全天球映像は正面映像よりも広角な映像(広角映像)をいう。通常の画角は透視射影レンズで撮像しても歪みが許容される程度の画角であり、簡単には透視射影レンズで撮像された映像ということができる。広角な映像は例えば魚眼レンズのような広角レンズで撮像された映像をいう。射影方式は立体射影、等距離射影、等立体角射影、正射影などがある。広角な映像は周囲360度が撮像された全天球映像に限らず、半球が撮像された映像や水平方向に180~360度が撮像された映像でもよい。
本実施形態では、動画を想定する場合は映像と称し、1枚の静止画を想定した説明の場合は画像と称するが、映像は複数の画像を有するものであり、映像と画像は厳密に区別しないものとする。
<システム構成例>
図3は、一実施形態に係る通信システムの構成例を示す図である。通信システム1は、複数の通信端末(10A,10B1,10B2,10B3、10E)、移動装置20、中継装置30、及び、通信管理システム50等を有する。なお、以下の説明の中で、複数の通信端末(10A,10B1,10B2,10B3,10E)のうち、任意の通信端末を示す場合「通信端末10」を用いる。また、通信端末(10B1,10B2,10B3)のうち、任意の通信端末を示す場合「通信端末10B」を用いる。また、図3の通信端末10の数は一例である。
通信端末10、中継装置30、通信管理システム50は、それぞれ、通信ネットワーク2を介して、他の通信端末10、装置、システムとの間で通信可能に接続されている。通信ネットワーク2は、例えば、LAN(Local Area Network)、インターネット、携帯電話網、あるいは専用線等を含んでいてもよい。
通信端末10は、例えば、タブレット端末、スマートフォン、PC(Personal Computer)等の汎用の情報処理装置、又は専用のテレビ会議装置等の通信端末である。通信端末10は、他の1つ以上の通信端末10との間で、例えば、画像データ、音声データ等を送受信することにより、例えば、テレビ会議等を行うことができる。
通信端末10Aは、通信システム1に対応するアプリを実行することにより、通信端末10Bとテレビ会議を行うと共に、通信端末10Bを介して、移動装置20を遠隔操作することができる。例えば、通信端末10Aは、テレビ会議の表示画面に表示された操作ボタンを操作することにより、通信端末10Bを搭載した移動装置20を、例えば、前後、左右等に移動させることができる。なお、通信端末10Aはブラウザソフトを動作させることも可能であり、ブラウザソフトが映像を表示し、ブラウザソフトに対する移動装置20の操作を受け付けることもできる。
移動装置20と通信端末10B(広角撮像装置9を含む)をテレプレゼンスロボットという。移動装置20は、移動装置20に取り付けられた通信端末10Bからの制御に応じて、例えば、複数の車輪を駆動することにより、「前進」、「後退」、「右旋回」、「左旋回」等の移動を行う走行機能を有する装置である。ユーザが左右への移動を指示した場合、「右旋回」後又は「左旋回」後に前進する。なお、図3に示す移動装置20の外観はあくまで一例である。移動装置20は、移動装置20に搭載された通信端末10Bからの操作指示に応じて、通信端末10Bと共に移動可能であればよい。
中継装置30は、例えば、情報処理装置、又は1つ以上の情報処理装置を含むシステムであり、複数の通信端末10間で送受信されるコンテンツデータ(映像、音声、操作指示情報)を中継する。ただし、中継装置30を介することなく、複数の通信端末10が直接、コンテンツデータを送受信してもよい。
通信管理システム50は、例えば、情報処理装置、又は1つ以上の情報処理装置を含むシステムである。通信管理システム50は、例えば、通信端末10からのログイン認証、通信端末10の通信状況の管理、宛先リストの等の管理、及び複数の通信端末10間で中継装置30を介して通信を行うセッションの制御等を行う。
一実施形態において、セッションは、中継装置30が、複数の通信端末10間で画像データ、及び音データ(音声その他の音)を含むコンテンツデータを中継することで実現される。
上記の構成において、例えば、通信端末10Aの操作者は、通信端末10Bと通信を行い、通信端末10B及び移動装置20を遠隔操作により移動させることができる。これにより、通信端末10Aの操作者は、通信端末10B及び移動装置20を任意の相手の近くに移動させて、テレビ会議等を行うことができる。
また、通信システム1には、通信管理システム50を介して一方の通信端末10から他方の通信端末10に一方向でコンテンツデータを伝送するデータ提供システムや、通信管理システム50を介して複数の通信端末10間で情報や感情等を相互に伝達するコミュニケーションシステムが含まれる。このコミュニケーションシステムは、中継装置30を介して複数のコミュニケーション通信端末間で情報や感情等を相互に伝達するためのシステムであり、テレビ(又はビデオ)会議システムやテレビ電話システム等が例として挙げられる。
<ハードウェア構成>
<<通信端末のハードウェア構成>>
図4は、本発明の一実施形態に係る通信端末のハードウェア構成例を示す図である。通信端末10は、一般的なコンピュータの構成を含み、例えば、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、フラッシュメモリ104、及びSSD(Solid State Drive)105等を有する。また、通信端末10は、メディアI/F(Interface)107、入力部108、表示部109、ネットワークI/F111、カメラ112、撮像素子I/F113、マイク114、スピーカ115、及び音声入出力I/F116等を有する。更に、通信端末10は、外部機器接続I/F117、近距離無線通信部118、及びバス119等を有する。
CPU101は、例えば、ROM102や、フラッシュメモリ104等からプログラムやデータを読み出し、処理を実行することで、通信端末10が備える各機能を実現する演算装置である。ROM102は、IPL(Initial Program Loader)等のCPU101の起動に用いられるプログラム等を予め記憶した不揮発性のメモリである。RAM103は、CPU101のワークエリア等として利用される揮発性のメモリである。
フラッシュメモリ104は、例えば、OS(Operating System)、アプリケーションプログラム、及び各種のデータ等を記憶するストレージデバイスである。SSD105は、CPU101の制御にしたがってフラッシュメモリ104に対する各種データの読み出し、書き込みを制御する。メディアI/F107は、例えば、メモリカード等の記録媒体である記録メディア106に対するデータの読み出し又は書き込み(記憶)を制御する。記録媒体には通信端末10を制御する、コンピュータが読み取り可能なプログラムが記憶され得る。
入力部108は、例えば、タッチパネル、キーボード、ポインティングデバイス等の操作者からの入力操作を受け付けるための入力装置である。音声入力が可能でもよい。表示部109は、操作者に向けた各種の表示を行う表示装置である。なお、入力部108、及び表示部109は、例えば、タッチパネルとディスプレイが一体化されたタッチパネルディスプレイ等の表示入力部110であっても良い。
ネットワークI/F111は、通信端末10が通信ネットワーク2を利用してデータを送信したり受信したりするための通信インタフェースである。カメラ112は、CPU101の制御にしたがって被写体を撮像するための撮像素子を含む。撮像素子I/F113は、カメラ112による撮像を制御すると共に、撮像したデータを所定の画像データに変換する。カメラ112は平面撮像装置であり、広角撮像装置9よりも狭い画角で撮像するが、広角撮像装置9よりも高解像度である。解像度とはデジタル画像の細かさを表す度合いのことであり、解像度はデジタル画像を構成する個々の単位点(ドット、ピクセル)の細かさを数値化することによって表現される。解像度を表す単位には一般に「ドット」が用いられる。ディスプレイの場合は、多くの場合「1024×768ドット」のようにヨコ×タテに並んでいる数で表される。同じ撮像範囲で比較すると、広角撮像装置9のドット数はカメラ112のドット数よりも少ない。
マイク114は、収録した音声を電気信号に変換する。スピーカ115は、音声信号を音声に変換して出力する。音声入出力I/F116は、マイク114及びスピーカ115による音声の入出力を制御する。
外部機器接続I/F117は、例えば、USB(Universal Serial Bus)等の外部機器を接続するためのインタフェースである。外部機器には、例えば、図3の移動装置20等が含まれる。
近距離無線通信部118は、例えば、Bluetooth(登録商標)や、Bluetooth(登録商標) Low Energy等の近距離無線通信により、外部機器(例えば移動装置20)と通信するための通信インタフェースである。バス119は、上記の各構成に共通に接続され、アドレス信号、データ信号、及び各種の制御信号等を伝達する。
<<通信管理システム、中継装置のハードウェア構成>>
図5は、一実施形態に係る通信管理システムのハードウェア構成例を示す図である。通信管理システム50は、一般的なコンピュータの構成を有しており、例えば、CPU501、ROM502、RAM503、HD504、HDD(Hard Disk Drive)505、メディアドライブ507、及びディスプレイ508等を有する。また、通信管理システム50は、ネットワークI/F509、キーボード511、マウス512、CD-ROMドライブ514、及びバス510等を有する。
CPU501は、例えば、ROM502、HD504等に格納されたプログラムやデータを読み出し、処理を実行することにより、通信管理システム50が備える各機能を実現する演算装置である。ROM502は、IPL等のCPU501の起動に用いられるプログラム等を予め記憶した不揮発性のメモリである。RAM503は、CPU501のワークエリア等として利用される揮発性のメモリである。
HD504は、例えば、OSや、アプリケーションプログラム等のプログラムや、各種のデータを記憶するストレージ装置である。HDD505は、CPU501の制御にしたがって、HD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ508は、例えば、カーソル、メニュー、ウィンドウ、文字、又は画像等の各種の情報を表示する表示装置である。
ネットワークI/F509は、通信ネットワーク2を利用してデータ通信を行うための通信インタフェースである。キーボード511は、システム管理者による文字、数値、各種指示などの入力操作を受け付けるための入力装置の一例である。マウス512は、システム管理者による各種指示の選択や実行、処理対象の選択、カーソルの移動等の操作を受け付けるポインティングデバイスの一例である。
なお、ディスプレイ508、キーボード511及びマウス512に関して、通信管理システム50又は中継装置30は普段は有していなくてもよい。この場合、必要に応じて接続されてよい。
メディアドライブ507は、例えば、メモリカード等の記録メディア506に対するデータの読み出しや、書き込み(記憶)を制御する。CD-ROMドライブ514は、着脱可能な記録媒体の一例としてのディスク513に対するデータの読み出し又は書き込みを制御する。バス510は、上記の各構成要素を電気的に接続し、アドレス信号、データ信号、及び各種の制御信号等を伝達する。
なお、上記のコンピュータのハードウェア構成はあくまで一例である。
中継装置30は、通信管理システム50と同様のハードウェア構成を有しているものとする。なお、通信端末10、中継装置30、及び通信管理システム50用の各プログラムは、インストール可能な形式又は実行可能な形式のファイルによって、コンピュータで読み取り可能な記録メディアに記録されて流通されるようにしても良い。また、上記記録メディアの例として、CD-R(Compact Disc Recordable)、DVD(Digital Versatile Disk)、ブルーレイディスク、USBメモリ等が挙げられる。また、各プログラムが記憶されたCD-ROM等の記録メディア、並びに、これらプログラムが記憶されたHD504は、プログラム製品(Program Product)として、国内又は国外へ提供されることができる。
<<移動装置のハードウェア構成>>
図6は、一実施形態に係る移動装置のハードウェア構成例を示す図である。移動装置20は、例えば、CPU401、RAM402、ROM403、外部機器I/F404、近距離無線通信部405、車輪駆動部406、操舵部407等を有する。
CPU401は、ROM403等に格納されたプログラムを実行することにより、移動装置20の各機能を実現する演算装置である。RAM402は、CPU401のワークエリア等として用いられる揮発性のメモリである。ROM403は、移動装置20のプログラム等を記憶する不揮発性のメモリである。ROM403は、例えば、フラッシュROM等の書き換え可能な不揮発性メモリであっても良い。
外部機器I/F404は、通信端末10の外部機器接続I/F117等と有線接続し、通信を行うための有線通信インタフェースである。
近距離無線通信部405は、例えば、通信端末10の近距離無線通信部118と同じ無線通信方式により無線通信を行うための無線通信インタフェースである。移動装置20は、例えば、外部機器I/F404、又は近距離無線通信部405により、通信端末10と通信可能であれば良い。
車輪駆動部406は、移動装置20を移動させるための車輪を駆動させる駆動装置の一例である。車輪駆動部406には、例えば、モータ等が含まれる。
操舵部407は、車輪駆動部406によって移動する移動装置20の操舵を行う操舵装置の一例である。操舵部407は、例えば、車輪の向きや傾きを変えるものであっても良いし、左右の車輪の回転数や速度等を制御することにより、移動装置20の向きを変えるもの等であっても良い。
<<広角撮像装置のハードウェア構成例>>
図7を用いて、広角撮像装置9のハードウェア構成を説明する。図7は、広角撮像装置9の一例のハードウェア構成図である。以下では、広角撮像装置9は、2つの撮像素子を使用した全天球(全方位)広角撮像装置9であるが、撮像素子は2つ以上いくつでもよい。また、必ずしも全方位撮像専用の装置である必要はなく、通常のデジタルカメラやスマートフォン等に後付けの全方位の撮像ユニットを取り付けることで、実質的に広角撮像装置9と同じ機能を有するようにしてもよい。
図7に示されているように、広角撮像装置9は、撮像ユニット301、画像処理ユニット304、撮像制御ユニット305、マイク308、音処理ユニット309、CPU(Central Processing Unit)311、ROM(Read Only Memory)312、SRAM(Static Random Access Memory)313、DRAM(Dynamic Random Access Memory)314、操作部315、ネットワークI/F316、通信部317、アンテナ317a、電子コンパス318、ジャイロセンサ319、及び、加速度センサ320なども接続される。
このうち、撮像ユニット301は、各々半球画像を結像するための180°以上の画角を有する広角レンズ(いわゆる魚眼レンズ)302a,302bと、各広角レンズに対応させて設けられている2つの撮像素子303a,303bを備えている。撮像素子303a,303bは、魚眼レンズ302a,302bによる光学像を電気信号の画像データに変換して出力するCMOS(Complementary Metal Oxide Semiconductor)センサやCCD(Charge Coupled Device)センサなどの画像センサ、この画像センサの水平又は垂直同期信号や画素クロックなどを生成するタイミング生成回路、この撮像素子の動作に必要な種々のコマンドやパラメータなどが設定されるレジスタ群などを有している。
撮像ユニット301の撮像素子303a,303bは、各々、画像処理ユニット304とパラレルI/Fバスで接続されている。一方、撮像ユニット301の撮像素子303a,303bは、撮像制御ユニット305とは別に、シリアルI/Fバス(I2Cバス等)で接続されている。画像処理ユニット304、撮像制御ユニット305及び音処理ユニット309は、バス310を介してCPU311と接続される。更に、バス310には、ROM312、SRAM313、DRAM314、操作部315、ネットワークI/F316、通信部317、及び電子コンパス318なども接続される。
画像処理ユニット304は、撮像素子303a,303bから出力される画像データをパラレルI/Fバスを通して取り込み、それぞれの画像データに対して所定の処理を施した後、これらの画像データを合成処理して、図9(c)に示されているような正距円筒射影画像のデータを作成する。
撮像制御ユニット305は、一般に撮像制御ユニット305をマスタデバイス、撮像素子303a,303bをスレーブデバイスとして、I2Cバスを利用して、撮像素子303a,303bのレジスタ群にコマンド等を設定する。必要なコマンド等は、CPU311から受け取る。また、撮像制御ユニット305は、同じくI2Cバスを利用して、撮像素子303a,303bのレジスタ群のステータスデータ等を取り込み、CPU311に送る。
また、撮像制御ユニット305は、操作部315のシャッターボタンが押下されたタイミングで、撮像素子303a,303bに画像データの出力を指示する。広角撮像装置9によっては、ディスプレイ(例えば、通信端末10Bのディスプレイ)によるプレビュー表示機能や動画表示に対応する機能を持つ場合もある。この場合は、撮像素子303a,303bからの画像データの出力は、所定のフレームレート(フレーム/分)によって連続して行われる。
また、撮像制御ユニット305は、後述するように、CPU311と協働して撮像素子303a,303bの画像データの出力タイミングの同期をとる同期制御手段としても機能する。なお、本実施形態では、広角撮像装置9にはディスプレイが設けられていないが、表示部を設けてもよい。
マイク308は、音を音(信号)データに変換する。音処理ユニット309は、マイク308から出力される音データをI/Fバスを通して取り込み、音データに対して所定の処理を施す。
CPU311は、広角撮像装置9の全体の動作を制御すると共に必要な処理を実行する。ROM312は、CPU311のための種々のプログラムを記憶している。SRAM313及びDRAM314はワークメモリであり、CPU311で実行するプログラムや処理途中のデータ等を記憶する。特にDRAM314は、画像処理ユニット304での処理途中の画像データや処理済みの正距円筒射影画像のデータを記憶する。
操作部315は、シャッターボタンなどの操作ボタンの総称である。操作者は操作部315を操作することで、種々の撮像モードや撮像条件などを入力する。
ネットワークI/F316は、SDカード等の外付けのメディアやパーソナルコンピュータなどとのインタフェース回路(USBI/F等)の総称である。また、ネットワークI/F316としては、無線、有線を問わない。DRAM314に記憶された正距円筒射影画像のデータは、このネットワークI/F316を介して外付けのメディアに記録されたり、必要に応じてネットワークI/F316を介して通信端末10B等の外部端末(装置)に送信されたりする。
通信部317は、広角撮像装置9に設けられたアンテナ317aを介して、Wi-Fi、NFC、Bluetooth(登録商標)等の近距離無線通信技術によって、通信端末10Bの外部端末(装置)と通信を行う。この通信部317によっても、正距円筒射影画像のデータを通信端末10B等の外部端末(装置)に送信することができる。
電子コンパス318は、地球の磁気から広角撮像装置9の方位を算出し、方位情報を出力する。この方位情報はExif(Exchangeable image file format)に沿った関連情報(メタデータ)の一例であり、撮像画像の画像補正等の画像処理に利用される。なお、関連情報には、画像の撮像日時、及び画像データのデータ容量の各データも含まれている。
ジャイロセンサ319は、広角撮像装置9の移動に伴う角度の変化(ロール角、ピッチング角、ヨー角)を検出する。角度の変化はExifに沿った関連情報(メタデータ)の一例であり、撮像画像の画像補正等の画像処理に利用される。
加速度センサ320は3軸方向の加速度を検出する。検出した加速度に基づいて広角撮像装置9の姿勢(重力方向に対する角度)を検出する。ジャイロセンサ319と加速度センサ320は両方を有することで画像補正の精度が向上する。
<全天球映像について>
次に、図8を用いて、広角撮像装置9の使用状況を説明する。なお、図8は、広角撮像装置9の使用イメージ図である。広角撮像装置9は、図8に示されているように、例えば、ユーザが手に持ってユーザの周りの被写体を撮像するために用いられる。この場合、図7に示されている撮像素子303a及び撮像素子303bによって、それぞれユーザの周りの被写体が撮像されることで、2つの半球画像を得ることができる。
次に、図9及び図10を用いて、広角撮像装置9で撮像された画像から正距円筒射影画像EC及び全天球画像CEが作成されるまでの処理の概略を説明する。なお、図9(a)は広角撮像装置9で撮像された半球画像(前側)、図9(b)は広角撮像装置9で撮像された半球画像(後側)、図9(c)は正距円筒図法により表された画像(以下、「正距円筒射影画像」という)を示した図である。図10(a)は正距円筒射影画像で球を被う状態を示した概念図、図10(b)は全天球画像を示した図である。
図9(a)に示されているように、撮像素子303aによって得られた画像は、後述の魚眼レンズ302aによって湾曲した半球画像(前側)となる。また、図9(b)に示されているように、撮像素子303bによって得られた画像は、魚眼レンズ302bによって湾曲した半球画像(後側)となる。そして、半球画像(前側)と、180度反転された半球画像(後側)とは、広角撮像装置9によって合成され、図9(c)に示されているように、正距円筒射影画像ECが作成される。
そして、OpenGL ES(Open Graphics Library for Embedded Systems)が利用されることで、図10(a)に示されているように、正距円筒射影画像が球面を覆うように貼り付けられ、図10(b)に示されているような全天球画像CEが作成される。このように、全天球画像CEは、正距円筒射影画像ECが球の中心を向いた画像として表される。なお、OpenGL ESは、2D(2-Dimensions) 及び3D(3-Dimensions)のデータを視覚化するために使用するグラフィックスライブラリである。なお、全天球画像CEは、静止画であっても動画であってもよい。
以上のように、全天球画像CEは、球面を覆うように貼り付けられた画像であるため、人間が見ると違和感を持ってしまう。そこで、全天球画像CEの一部の所定領域(以下、上記の「所定領域映像」に相当)を湾曲の少ない平面画像として表示することで、人間に違和感を与えない表示をすることができる。これに関して、図11及び図12を用いて説明する。所定領域映像は動画でも静止画でもよい。
なお、図11は、全天球画像を三次元の立体球とした場合の仮想カメラ及び所定領域の位置を示した図である。仮想カメラICは、三次元の立体球として表示されている全天球画像CEに対して、その画像を見る操作者の視点の位置に相当するものである。また、図12(a)は図11の立体斜視図、図12(b)はディスプレイに表示された場合の所定領域映像を表す図である。また、図12(a)では、図11に示されている全天球画像が、三次元の立体球CSで表されている。このように生成された全天球画像CEが、立体球CSであるとすると、図12に示されているように、仮想カメラICが全天球画像CEの内部に位置している。全天球画像CEにおける所定領域Tは、仮想カメラICの撮像領域であり、全天球画像CEを含む三次元の仮想空間における仮想カメラICの撮像方向と画角を示す所定領域情報によって特定される。また、所定領域Tのズームは、仮想カメラICを全天球画像CEに近づいたり、遠ざけたりすることで表現することもできる。所定領域映像Qは、全天球画像CEにおける所定領域Tの画像である。したがって、所定領域Tは画角αと、仮想カメラICから全天球画像CEまでの距離fにより特定できる(図13参照)。
そして、図12(a)に示されている所定領域映像Qは、図12(b)に示されているように、所定のディスプレイに、仮想カメラICの撮像領域の画像として表示される。図12(b)に示されている画像は、初期設定(デフォルト)された所定領域情報によって表された所定領域映像である。以下では、仮想カメラICの撮像方向(ea,aa)と画角(α)を用いて説明する。なお、所定領域Tは、画角αと距離fではなく、所定領域Tである仮想カメラICの撮像領域(X,Y,Z)によって示してもよい。
次に、図13を用いて、所定領域情報と所定領域Tの画像の関係について説明する。なお、図13は、所定領域情報と所定領域Tの画像の関係との関係を示した図である。図13に示されているように、「ea」はelevation angle(仰角)、「aa」はazimuth angle(方位角)、「α」は画角(Angle)を示す。即ち、撮像方向(ea,aa)で示される仮想カメラICの注視点が、仮想カメラICの撮像領域である所定領域Tの中心点CPとなるように、仮想カメラICの姿勢を変更することになる。図13に示されているように、仮想カメラICの画角αによって表される所定領域Tの対角画角をαとした場合の中心点CPが、所定領域情報の(x,y)パラメータとなる。fは仮想カメラICから中心点CPまでの距離である。Lは所定領域Tの任意の頂点と中心点CPとの距離である(2Lは対角線)。そして、図13では、一般的に以下の(式1)で示される三角関数が成り立つ。
L/f=tan(α/2)・・・(式1)
<機能について>
次に、図14を用いて通信システムの機能について説明する。図14は、通信システム1が有する通信管理システム50、通信端末10B、及び、通信端末10Aの機能をブロック状に示す機能ブロック図である。
<<通信端末10Aの機能構成>>
通信端末10Aは、例えば、移動装置20等の機器の制御のための操作指示を受け付けるが、移動装置20等の機器の制御機能を持たない通信端末10である。通信端末10Aは、送受信部11、操作入力受付部12、通信制御部13、撮像部14、音声入力部15a、音声出力部15b、表示制御部16、及び記憶・読出部17を有している。これらの各部は、図4に示されている各構成要素のいずれかが、フラッシュメモリ104からRAM103上に展開された通信端末10用のプログラムに従ったCPU101からの命令によって動作することで実現される機能又は手段である。また、通信端末10は、図4に示されているRAM103、及び図4に示されているフラッシュメモリ104によって実現される記憶部18を有している。
<<通信端末10Bの機能構成>>
通信端末10Bは、移動装置20に搭載された通信端末10である。通信端末10Bは、例えば、移動装置20等の機器の制御機能を有する通信端末10の一例である。通信端末10Bは、前述した通信端末10Aの機能構成に加えて、操作指示受信部19a、全天球映像受信部19b、機器制御部19c、及び、機器間通信部19d等を有する。
(通信端末10の各機能構成)
次に、通信端末10(通信端末10A及び通信端末10B)の各機能構成について詳細に説明する。
送受信部11は、通信ネットワーク2を介して他の通信端末、装置又はシステムと各種データ(又は情報)の送受信を行う。送受信部11は、所望の宛先端末と通話を開始する前から、通信管理システム50より、宛先候補としての各通信端末の状態を示す各状態情報の受信を開始する。なお、この状態情報は、各通信端末10の稼動状態(ONラインかOFFラインかの状態)だけでなく、ONラインの場合、更に通話可能であるか、通話中であるか等の詳細な状態を示す。
操作入力受付部12は、操作者による通信端末に対する各種入力を受け付ける。例えば、操作者が、通信端末10の電源をONさせる操作を行うと、操作入力受付部12が操作を受け付けて電源をONに制御する。
通信制御部13は、例えば、上記電源ONの受付を契機として、送受信部11から通信ネットワーク2を介して通信管理システム50に、ログインを要求する旨を示すログイン要求情報、及び要求元端末の現時点のIPアドレスを自動的に送信する。また、操作者が、通信端末10の電源をOFFする操作を行うと、送受信部11が通信管理システム50へ電源をOFFする旨の状態情報を送信した後に、操作入力受付部12が電源をOFFにする。これにより、通信管理システム50側では、通信端末10が電源ONから電源OFFになったことを把握することができる。
また、通信制御部13は、中継装置30を介して、他の通信端末10とコンテンツデータの送受信を行うセッションの確立や、切断等、様々な通信制御を行う。なお、本実施形態に係る通信制御部13は、通信管理システム50に送信するセッションの制御情報(例えば、後述する開始要求情報、開始応答情報等)に、通信端末10の通信ID(Identification)を含めて送信する。
通信IDは、通信端末10を用いてコンテンツデータの送受信を行うセッションに参加可能なアカウントの識別情報の一例である。通信IDは、例えば、操作者の識別情報であるユーザID、アプリの識別情報であるアプリID、通信端末10の契約者の識別情報である契約ID等であっても良い。また、通信IDとしては、文字、数字、記号、及び各種のしるしのうち、少なくとも2つが組み合わされた情報が挙げられる。メールアドレスなどでもよい。
撮像部14は、被写体を撮像して得られた撮像データを、所定の画像(映像)データに変換して出力する。撮像部14は通信端末の正面側に1つ(正面映像を撮像)、背面側に1つある(背面映像を撮像)。これ以上の数の撮像部があってもよい。
音声入力部15aは、マイク114によって操作者の音声が音声信号に変換された後、この音声信号を所定の音声データに変換して出力する。音声出力部15bは、音声データを音声信号に変換してスピーカに出力して、スピーカ115から音声を出力させる。
表示制御部16は、例えば、通信端末10が受信したコンテンツデータに含まれる画像データを表示部109、又は表示入力部110等に表示させる。また、表示制御部16は、通信管理システム50から受信した宛先リストの情報を表示部109に送信して、表示部109に宛先リストを表示させることができる。
記憶・読出部17は、記憶部18に各種データを記憶したり、記憶部18に記憶された各種データを読み出したりする処理を行う。
記憶部18には、例えば、前述した通信IDと通信IDに対応するパスワード等の認証情報が記憶される。記憶部18には、宛先端末との通話を行う際に受信される画像データ及び音声データが、受信される度に上書き記憶される。このうち、上書きされる前の画像データによって表示部109等に画像が表示され、上書きされる前の音声データによってスピーカ115から音声が出力される。
続いて、通信端末10Bに含まれる各機能構成について説明する。
全天球映像受信部19bは、例えば、Bluetooth(登録商標)などの無線通信又はUSBケーブルなどの有線通信で広角撮像装置9から正距円筒射影映像を受信する。正距円筒射影映像は動画と見なせる程度の頻度で繰り返し送信される動画である。ただし、静止画でもよいし、動画と静止画を切り替え可能であってもよい。
操作指示受信部19aは、送受信部11を介して、通信端末10Aから通信端末10Bに対する機器(移動装置20)の制御を要求する操作指示情報を受信する。この操作指示情報には、例えば、操作指示情報を送信した通信端末10の通信ID、及び要求する制御内容を示す操作指示等が含まれる。
機器制御部19cは、操作指示受信部19aで受信された操作指示情報に含まれる操作指示に基づいて、移動装置20を制御する。機器間通信部19dは、近距離無線通信部118を用いて移動装置20と通信を行う。
<<移動装置の機能構成>>
移動装置20は、例えば、機器間通信部21、及び走行制御部22等を有する。機器間通信部21は、例えば、図6に示されているCPU401からの命令、及び外部機器I/F404、又は近距離無線通信部405等によって実現される。ここでは、機器間通信部21は、近距離無線通信部405を用いて通信端末10Bと通信を行うものとする。
走行制御部22は、通信端末10Aから取得した制御内容に応じて、例えば、図6の車輪駆動部406、及び操舵部407を制御することにより、移動装置20を前進、後退、左旋回、右旋回等の移動(走行)を制御する。
<<広角撮像装置の機能構成>>
広角撮像装置9は、例えば、広角画像送信部31、及び広角画像撮像部32等を有する。広角画像撮像部32は周囲360度の広角な正距円筒射影映像を所定のフレームレートで撮像する。静止画を撮像してもよい。広角画像送信部31は、図7に示した通信部317により実現されており、動画又は静止画の正距円筒射影映像を通信端末10Bに送信する。
<<通信管理システムの機能構成>>
通信管理システム50は、送受信部51、端末認証部52、端末管理部53、端末抽出部54、セッション管理部55、及び記憶・読出部57等を有している。これら各部は、図5に示されている各構成要素のいずれかが、HD504からRAM503上に展開された通信管理システム50用のプログラムに従ったCPU501からの命令によって動作することで実現される機能又は機能する手段である。また、通信管理システム50は、図5に示されているHD504等により実現される記憶部5000を有している。
(通信管理システムの各機能構成)
次に、通信管理システム50の各機能構成について詳細に説明する。送受信部51は、通信ネットワーク2を介して他の通信端末、装置又はシステムと各種データ(又は情報)の送受信を行う。
端末認証部52は、送受信部51を介して受信されたログイン要求情報に含まれている通信ID及びパスワードの組み合せが、認証管理DB(Database)5002に含まれるか否かを判断することにより通信端末10の認証を行う。
端末管理部53は、端末管理DB5003に、通信ID毎の、宛先名、稼動状態、要求情報等の受信日時、及び要求元端末のIPアドレス等を関連付けて記憶して、管理する。例えば、端末管理部53は、操作者が通信端末10の電源をONからOFFにすることで、通信端末10から送られてきた、電源をOFFする旨の状態情報に基づいて、端末管理DB5003の稼動状態をONラインからOFFラインに変更する。
端末抽出部54は、ログイン要求した要求元端末の通信IDをキーとして、宛先リスト管理DB5004を検索し、要求元端末と通話することができる宛先端末の通信IDを抽出する。更に、端末抽出部54は、宛先リスト管理DB5004を検索し、上記要求元端末の通信IDを宛先端末の候補として登録している他の通信端末の通信IDも抽出する。
更に、端末抽出部54は、抽出された宛先端末の候補の通信IDを検索キーとして、前述した端末管理DB5003を検索し、抽出された通信ID毎に稼動状態を読み出す。これにより、端末管理部53は、ログイン要求してきた要求元端末と通話することができる宛先端末の候補の稼動状態を取得することができる。また、端末管理部53は、要求元の通信IDを検索キーとして、前述した端末管理DB5003を検索し、ログイン要求してきた要求元端末の稼動状態も取得する。
セッション管理部55は、通信管理システム50が管理するセッションの制御を行う。セッションの制御には、例えば、セッションを確立するための制御、確立されたセッションに通信端末10を参加させる制御、セッションを切断する制御、セッションIDの生成等が含まれる。また、セッション管理部55は、セッションの識別情報であるセッションIDに対応づけて、セッションの開始を要求した通信端末10の通信ID、及び宛先端末の通信ID等を、セッション管理DB5005に記憶して、管理する。
記憶・読出部57は、図5に示されているCPU501からの命令及びHDD505によって実現され、又はCPU501からの命令によって実現される。記憶・読出部57は、記憶部5000への各種データを記憶、及び記憶部5000からの各種データの読み出しを行う。
<通信管理システムが管理する情報の例>
通信管理システム50の記憶部5000に記憶されている各管理DBについて説明する。
通信管理システム50の記憶部5000に記憶された認証管理DB5002には、例えば、表1に示されているような認証管理テーブル602が含まれる。この認証管理テーブル602では、通信管理システム50によって管理される通信端末10の通信IDと、通信IDに対応するパスワードとが関連付けられて管理されている。例えば、表1に示されている認証管理テーブル602において、通信IDが「01aa」の通信端末10のパスワードは、「aaaa」であることが示されている。
通信管理システム50の記憶部5000に記憶された端末管理DB5003には、例えば、表2に示されているような端末管理テーブル603が含まれる。この端末管理テーブル603では、通信端末10の通信ID毎に、各通信端末10を宛先とした場合の宛先名、各通信端末10の稼動状態、後述のログイン要求情報が通信管理システム50で受信された受信日時、及び通信端末10のIPアドレスが関連付けられて管理される。例えば、表2に示されている端末管理テーブル603において、通信IDが「01aa」の通信端末10は、端末名が「日本 本社」で、稼動状態が「ONライン(通信可能)」であることが示されている。また、通信IDが「01aa」の通信端末10は、通信管理システム50でログイン要求情報が受信された日時が「20xx年4月10日の13時40分」で、IPアドレスが「1.2.1.3」であることが示されている。
通信管理システム50の記憶部5000に記憶された宛先リスト管理DB5004には、例えば、表3に示されているような宛先リスト管理テーブル701が含まれる。この宛先リスト管理テーブル701では、テレビ会議における通信の開始を要求する要求元端末の通信IDに対して、宛先端末の候補として登録されている宛先端末の通信IDが全て関連付けられて管理される。例えば、表3に示されている宛先リスト管理テーブル701において、通信IDが「01aa」である要求元端末から通信の開始を要求することができる宛先端末の候補は、通信IDが「01b1」、「01b2」、及び「01b3」の通信端末である。この宛先端末の候補は、任意の要求元端末から通信管理システム50に対する追加又は削除の要請により、通信管理システム50によって追加又は削除されることで更新される。
このような構成によれば、要求元端末(例えば、01aa)は予め登録されている宛先端末の候補(例えば、01b1)としか通信を開始できない。この宛先端末(例えば、01b1)も要求元端末(例えば、01aa)を宛先端末として宛先リスト管理テーブル701に登録しておかなければ要求元端末と通信できない。このような仕組みは想定外の通信端末10同士が通信する可能性を低減できる点で好ましい。ただし、宛先リスト管理テーブル701への登録を不要にして任意に通信端末10同士が通信できてもよい。
通信管理システム50の記憶部5000に記憶されたセッション管理DB5005には、例えば、表4に示されているようなセッション管理テーブル702が含まれる。このセッション管理テーブル702には、セッションの識別情報であるセッションID毎に、中継に使用される中継装置30の中継装置ID、要求元端末の通信ID、宛先端末の通信ID、及びセッション参加日時等の情報が管理される。例えば、表4に示されているセッション管理テーブル702において、セッションID「se2」のセッションは、要求元端末の通信ID「01ad」と宛先端末の通信ID「01ca」との間で行われていることが示されている。また、セッションID「se2」のセッションは、中継装置ID「111b」の中継装置30を介して、「20xx/4/10 13:11:11」に開始されたことが示されている。
<処理の流れ>
次に、通信システム1の処理の流れについて説明する。
(準備段階の処理)
図15は、通信システム1の通信の準備段階の処理の例を示すシーケンス図である。ここでは、一例として、通信端末10Aと通信端末10B1によるセッションを開始する前の準備段階における処理について説明する。なお、以下の説明の中で、通信端末10Aの通信IDは「01aa」、通信端末10B1の通信IDは「01b」であるものとする。
まず、要求元端末である通信端末10Aの操作者が、例えば、通信端末10Aの電源をONにする操作を行うと、操作入力受付部12が電源ONにする操作を受け付けて、通信端末10Aの電源をONにする(ステップS21)。
そして、通信制御部13は、上記の電源ONを契機とし、送受信部11から通信ネットワーク2を介して通信管理システム50に、ログインを要求するログイン要求情報を送信する(ステップS22)。なお、ログイン要求情報が、通信端末10Aの電源をONにする操作によって送信されるのは一例であって、例えば、操作者による入力部108への操作や、アプリの起動等によって送信されるものであっても良い。
また、ログイン要求情報には、要求元としての自機である通信端末10Aを識別するための通信ID(要求元端末の通信ID)及びパスワードが含まれている。これら通信ID及びパスワードは、例えば、記憶・読出部17を介して記憶部18から読み出された情報である。また、通信端末10Aから通信管理システム50へログイン要求情報が送信される際に、受信側である通信管理システム50は、送信側である通信端末10AのIPアドレスを把握することができる。
次に、通信管理システム50の端末認証部52は、送受信部51を介して受信したログイン要求情報に含まれている通信ID及びパスワードを検索キーとして、前述した認証管理テーブル602を検索する。端末認証部52は、通信端末10Aから受信したログイン要求情報に含まれる通信ID及びパスワードの組み合せが、認証管理テーブル602に含まれるか否かによって認証を行う(ステップS23)。
端末認証部52により、正当な利用権限を有する通信端末10Aからのログイン要求であると判断された場合、端末管理部53は、端末管理テーブル603に記録されている通信端末10Aの通信ID「01aa」の稼動状態を、「ONライン(通信可能)」に変更する。このとき、端末管理部53は、受信日時を更新し、また、必要に応じて、通信端末10のIPアドレスを更新する(ステップS24)。これにより、端末管理テーブル603には、通信端末10Aの通信ID「01aa」に、稼動状態「ONライン(通信可能)」、受信日時「20xx.4.10.13:40」及び通信端末10AのIPアドレス「1.2.1.3」が関連付けて管理される。
そして、通信管理システム50の送受信部51は、上記の端末認証部52によって得られた認証結果が示された認証結果情報を、通信ネットワーク2を介して、上記ログイン要求してきた要求元端末である通信端末10Aに送信する(ステップS25)。ここでは、端末認証部52によって正当な利用権限を有する通信端末であると判断された場合について、以下で説明する。
通信管理システム50の端末抽出部54は、ログイン要求した要求元端末(通信端末10A)の通信ID「01aa」を検索キーとして、宛先リスト管理テーブル701を検索する。これにより、端末管理部53は、要求元端末(通信端末10A)と通信することができる宛先端末の候補の通信IDを抽出する(ステップS26)。ここでは、一例として、要求元端末(通信端末10A)の通信ID「01aa」に対応する宛先端末の通信IDとして、「01b1」、「01b2」、「01b3」が抽出されるものとする。
次に、端末抽出部54は、抽出された宛先端末の候補の通信ID(「01b1」、「01b2」、「01b3」)を検索キーとして、端末管理テーブル603を検索する。これにより、抽出された通信ID毎に稼動状態を読み出すことにより、通信ID(「01b1」、「01b2」、「01b3」)の各稼動状態を取得する(ステップS27)。
次に、送受信部51は、宛先端末の候補の通信ID(「01b1」、「01b2」、「01b3」)のそれぞれの稼動状態が含まれた宛先状態情報を、要求元端末(通信端末10A)に送信する(ステップS28)。これにより、要求元端末(通信端末10A)は、この要求元端末(通信端末10A)の宛先端末の候補となる通信ID(「01b1」、「01b2」、「01b3」)の現時点の稼動状態を把握することができる。通信端末10Aは図16に示される宛先選択画面を表示する。
更に、通信管理システム50の端末抽出部54は、ログイン要求してきた要求元端末(通信端末10A)の通信ID「01aa」を検索キーとして、宛先リスト管理テーブル701を検索する。これにより、端末抽出部54は、要求元端末(通信端末10A)の通信ID「01aa」を宛先端末の候補として登録している他の要求元端末の通信IDを抽出する(ステップS29)。表3に示されている宛先リスト管理テーブル701では、抽出される他の要求元端末の通信IDは、「01b1」、「01b2」及び「01b3」である。
次に、通信管理システム50の端末管理部53は、上記ログイン要求して来た要求元端末(通信端末10A)の通信ID「01aa」を検索キーとして、端末管理テーブル603を検索する。これにより、端末管理部53は、ログイン要求してきた要求元端末(通信端末10A)の稼動状態を取得する(ステップS30)。
そして、通信管理システム50の端末管理部53は、上記ステップS29で抽出された通信ID(「01b1」、「01b2」、「01b3」)のうち、端末管理テーブル603で稼動状態が「ONライン(通信可能)」となっている通信ID(「01b1」、「01b2」、「01b3」)を抽出する。
また、送受信部51は、抽出された通信ID(「01b1」、「01b2」、「01b3」)に対応する通信端末10B1に、要求元端末(通信端末10A)の通信ID「01aa」と稼動状態「ONライン(通信可能)」が含まれる宛先状態情報を送信する(ステップS31)。
一方、他の通信端末10B1でも、例えば、電源ONの操作等に応じて、上記ステップS22~S32の処理と同様の処理を行う。通信端末10B1の電源ONは例えば移動装置20の管理者などによって行われる。
<宛先選択画面>
図16は、通信端末10Aに表示される宛先選択画面の一例を示す図である。図16に示す宛先選択画面1201には、操作者に宛先の通信端末10の選択を促すメッセージ1202と、宛先の通信端末10を選択する複数のボタン1203が表示されている。通信端末10Aの操作者は、例えば、表示された複数のボタン1203の中から1つのボタン1203を選択することにより、セッションへの参加を要求する宛先端末を選択する。つまり、どの移動装置20を制御するかを選択する。図16に示すように、操作者が複数の通信端末10Bを選択できることで、操作者は異なる拠点の状況を同じ場所から把握できる。
<通信処理>
図17は、通信システム1の通信処理の例を示すシーケンス図である。ここでは、通信端末10Aと、移動装置20を制御可能な機器制御端末である通信端末10B1との間で通信を開始する通信管理方法の例について説明する。
ステップS901において、通信端末10Aの操作入力受付部12は通信端末10Aの操作者による、宛先端末(通信端末10B1)の選択操作を受け付ける。
通信端末10Aの送受信部11は通信管理システム50にセッションの開始を要求する開始要求情報を送信する(ステップS902)。この開始要求情報には、例えば、要求元端末である通信端末10Aの通信IDである要求元端末の通信ID、宛先端末である通信端末10B1の通信IDである宛先端末の通信ID等が含まれる。また、開始要求情報には、通信端末10AのIPアドレス(要求元IPアドレス)等の情報も含まれる。
ステップS903において、通信端末10Aから開始要求情報を受信した通信管理システム50の端末管理部53は、開始要求情報に含まれる要求元端末(通信端末10A)の通信ID「01aa」に基づいて、端末管理DB5003を更新する。例えば、端末管理部53は、通信端末10Aの通信ID「01aa」に対応する稼動状態の情報を「ONライン(通信中)」に変更し、受信日時の情報も更新する。
ステップS904において、通信管理システム50のセッション管理部55は、宛先端末である通信端末10B1にセッションの開始を要求する開始要求情報を送信する。この開始要求情報には、例えば、要求元端末である通信端末10Aの要求元端末の通信IDが含まれる。
ステップS905において、通信管理システム50から開始要求情報を受信した通信端末10B1は、通信管理システム50に開始応答情報を送信する。この開始応答情報には、例えば、通信端末10B1の宛先端末の通信ID等が含まれる。本実施形態では、通信端末10B1側の操作は必要なく開始応答情報が送信されるものとするが、通信端末10B1を管理者が操作することを条件としてもよい。
ステップS906において、通信端末10B1から開始応答情報を受信した通信管理システム50の端末管理部53は、開始応答情報に含まれる通信端末10B1の通信ID「01b1」に基づいて、端末管理DB5003を更新する。例えば、端末管理部53は、通信端末10B1の通信ID「01b1」に対応する稼動状態の情報を「ONライン(通信中)」に変更し、受信日時の情報を更新する。
ステップS907において、通信管理システム50のセッション管理部55は、セッションを識別するための識別情報であるセッションIDを採番する。また、セッション管理部55は、作成されたセッションIDを、要求元端末の通信ID(通信端末10Aの通信ID)、及び宛先端末の通信ID(通信端末10B1の通信ID)と対応づけてセッション管理DB5005に記憶する。
ステップS909において、通信管理システム50のセッション管理部55は、中継装置30に、セッション情報を送信する。このセッション情報には、例えば、ステップS907で作成されたセッションID等の情報が含まれる。中継装置30はセッションIDに基づいてセッション管理DB5005からセッション情報を取得できる。
ステップS910aにおいて、通信管理システム50のセッション管理部55は、通信端末10Aにセッションの開始を指示する開始指示情報を送信する。同様に、ステップS910bにおいて、通信管理システム50のセッション管理部55は、通信端末10B1にセッションの開始を指示する開始指示情報を送信する。開始指示情報にはセッションIDが含まれ、通信端末10はセッションIDに基づいてセッション管理DB5005からセッション情報を取得できる。
ステップS911aにおいて、通信端末10Aは、受信した開始指示情報に基づいて、中継装置30との間でセッションを確立する。同様に、ステップ911bにおいて、通信端末10B1は、受信した開始指示情報に基づいて、中継装置30との間でセッションを確立する。これにより、同じセッションに通信端末10Aと10B1が参加できる。
ステップS911cにおいて、広角撮像装置9の広角画像送信部31は正距円筒射影映像を通信端末10B1に送信する。例えば、通信端末10B1がセッションを確立すると、通信端末10B1が正距円筒射影映像の撮像と送信の開始を広角撮像装置9に指示する。あるいは、広角撮像装置9の電源がONの間、常に、広角撮像装置9が正距円筒射影映像を通信端末10B1に送信してもよい。また、正距円筒射影映像はセッションの確立前から送信されてもよい。
通信端末10Aと通信端末10B1は、同じセッションIDのセッションに参加し、画像データや音声データ等のコンテンツデータを送受信することにより、例えば、テレビ会議を行うことができる(S912)。
また、通信端末10Aは、確立されたセッションを用いて、通信端末10B1との間で機器(例えば移動装置20)の操作に関する情報を送受信することができる。
なお、機器の操作に関する情報の送受信は、セッションを用いずに、通信管理システム50を介した制御セッションを用いて送受信されるものであっても良いし、通信ネットワーク2等を介して、通信端末10Aと通信端末10B1との間で送受信されるものであっても良い。
ここでは、通信端末10Aは、確立されたセッションを用いて、通信端末10B1との間で機器(例えば移動装置20)の操作に関する情報を送受信するものとして以下の説明を行う。
ステップS913において、通信端末10Aの操作者が、機器の操作画面に入力を行うと、入力された操作に応じた操作指示情報が、セッションを用いて送信される。この操作指示情報には、例えば、通信端末10Aの通信ID、及び操作者の操作内容に応じた操作指示が含まれる。
ステップS914において、通信端末10B1の機器制御部19cは、通知された操作指示情報に含まれる操作指示に基づいて、機器間通信部19dを介して、移動装置20を制御する。
<パターン1>
続いてパターン1~3のそれぞれについて、操作者がある方向を見ている場合に移動装置20がどの方向を向いているかを把握できるように表示する表示例を説明する。
まず、図18~図21を用いてパターン1について説明する。図18は、撮像方向の基準となる基準撮像方向と移動装置20の正面方向を説明する図の一例である。広角撮像装置9は移動装置20に固定されているので、移動装置20の正面方向を広角撮像装置9の撮像方向で表すことができる。移動装置20の正面方向と同じ撮像方向を基準撮像方向(ea0,aa0)とする。
操作者が見ている撮像方向が基準撮像方向の場合、操作者はテレプレゼンスロボットの背面からテレプレゼンスロボットの前方を見ている構図となる。
次に、図19は、操作者が表示させた任意の撮像方向(ea,aa)と基準撮像方向(ea0,aa0)の関係を示す図である。基準撮像方向(ea0,aa0)は固定なので、基準撮像方向(ea0,aa0)に対する撮像方向(ea,aa)の差異(Δea,Δaa)は以下のようになる。
Δea=ea0-ea
Δaa=aa0-aa
説明を容易にするため水平方向だけを考える。撮像方向が基準撮像方向からΔaaだけ変わったことは、テレプレゼンスロボットから見るとΔaaだけ逆に回転したことになる。例えば、撮像方向が水平方向に90度大きくなった場合、テレプレゼンスロボットは水平方向に90度小さくなる方向に回転する。撮像方向が水平方向に90度小さくなった場合、テレプレゼンスロボットは水平方向に90度大きくなる方向に回転する。回転の中心はテレプレゼンスロボットの重心でよい。
したがって、表示制御部16は(-Δea,-Δaa)だけテレプレゼンスロボットを回転させて表示させる。(-Δea,-Δaa)を基準撮像方向(ea0,aa0)との差異でなく、直前の撮像方向(ea,aa)からの差分で算出してもよい。
表示制御部16は予め用意されているテレプレゼンスロボットのポリゴン模型を水平方向と仰角方向に回転させる。テレプレゼンスロボットのポリゴン模型の中心を通る直交座標系の2つの軸を中心にそれぞれ回転させる座標変換を行う。
図20は、透視投影変換を模式的に説明する図の一例である。透視投影変換は視点をZ軸上において、Z軸に垂直な投影面830にオブジェクトを投影する変換である。本実施形態のオブジェクトはテレプレゼンスロボットのポリゴン模型と全天球映像の所定領域映像Qである。原点Oは図10に示したように立体球の中心である。原点Oから近い順に投影面830、テレプレゼンスロボットのポリゴン模型839、及び、所定領域映像Qである。全天球映像を表示部109に表示するための通常の透視投影変換ではテレプレゼンスロボットのポリゴン模型839は配置されないが、パターン1では、Z軸上にテレプレゼンスロボットのポリゴン模型839が配置される。投影面830からどの位の距離に配置されるかは、実験的に決定されてよい。通信端末10Aの上側に広角撮像装置9が搭載されており、全天球映像は広角撮像装置9で撮像されたものなので、ポリゴン模型839は投影面830に近い方が視点と広角撮像装置9のずれが少なくなる。
なお、テレプレゼンスロボットのポリゴン模型839はZ軸上になくてもよい。例えば、所定領域映像Qの四隅(コーナー)のいずれかに投影されるように配置されてよい。
テレプレゼンスロボットのポリゴン模型839は、図19にて説明したように基準撮像方向(ea0,aa0)に対する撮像方向(ea,aa)の差異(Δea,Δaa)によりローカル座標系で回転されている。その後、図20のような全天球映像を投影するための座標系に配置される。これにより、全天球映像において移動装置20がどの方向を向いているかをテレプレゼンスロボットの画像で表示できる。
図21は、パターン1で表示された全天球映像表示画面1010の一例である。図21(a)の全天球映像表示画面1010では、通信端末10Aが基準撮像方向の全天球映像を表示している。したがって、テレプレゼンスロボットの画像840は操作者に対し背面を向けている。次に、操作者が全天球映像を右方向に回転させた。説明の便宜上、水平方向に90度回転させたものとする。この間、移動装置20は移動又は旋回していない。
図21(b)は、操作者が全天球映像を右方向に回転させた後のテレプレゼンスロボットの画像840を示す。実空間のテレプレゼンスロボットは図21(b)の全天球映像の撮像方向に対し、左90度を向いているので、テレプレゼンスロボットの画像840も左90度を向いている。テレプレゼンスロボットの画像840は、所定領域映像Qが変わると、変わった量に応じて向きが変わる。
したがって、操作者は全天球映像を任意に回転させても、実空間のテレプレゼンスロボットがどの方向を向いているかを容易に把握できる。
図22は、通信端末10Aが所定領域映像を表示部109に表示させる手順を示すフローチャート図の一例である。図22の処理は、ユーザが撮像方向を変更するたびに実行される。
まず、操作入力受付部12は操作者による撮像方向の操作を受け付ける(S1001)。
次に、表示制御部16は基準撮像方向に対する撮像方向の差異(Δea,Δaa)を算出する(S1002)。基準撮像方向を基準にするのでなく、直前の撮像方向との差異を算出してもよい。
次に、表示制御部16はテレプレゼンスロボットのポリゴン模型を差異と逆に(-Δea, -Δaa)だけ回転させる(S1003)。
そして、表示制御部16は所定領域映像とポリゴン模型を透視投影変換して表示する(S1004)。
なお、テレプレゼンスロボットの画像は半透明であることが好ましい。また、半透明の程度を操作者が決定できることが好ましい。更に、テレプレゼンスロボットの画像の表示と非表示を操作者が設定できることが好ましい。これらにより、テレプレゼンスロボットの画像が全天球映像の閲覧を阻害することを抑制できる。
<パターン2>
続いて、パターン2におけるテレプレゼンスロボットの向きの表示方法を説明する。パターン2は、操作者が見ている全天球映像とは別に、全天球映像がテレプレゼンスロボットから見てどの方向を表示しているかをテレプレゼンスロボットと撮像方向矢印8で表示する表示方法である。
図23は、テレプレゼンスロボットのポリゴン模型と撮像方向矢印のオブジェクトの一例を示す。予めテレプレゼンスロボットのポリゴン模型850で用意しておく。テレプレゼンスロボットのポリゴン模型850は所定の座標系に配置しておく。撮像方向矢印のオブジェクト851もポリゴンで形成されている。操作者が決定した撮像方向はea,aaで表されるので、表示制御部16は撮像方向ea,aaを示す所定長の撮像方向矢印のオブジェクト851を生成する。例えば、予め用意した撮像方向矢印のオブジェクト851を撮像方向ea,aaに向けて配置する。
図示するように、表示制御部16は撮像方向矢印のオブジェクト851の矢尻を広角撮像装置9に一致させて、所定の座標系に配置する。以降は透視投影変換して表示部109に配置すればよい。これにより、立体的に撮像方向矢印8を表示できる。撮像方向矢印8は、所定領域映像Qが移動装置20から見てどの方向の画像であるかを示す情報となる。したがって、撮像方向矢印8はテレプレゼンスロボットの画像854(移動装置20)を起点とする矢印の画像である。
テレプレゼンスロボットの画像854と撮像方向矢印8は図2(b)に示したように、所定領域映像853と並べて表示される。ただし、表示部109の画面サイズが小さい場合などに対応するため、表示制御部16はどちらか一方のみを表示してもよい。例えば、操作者が所定領域映像853をマウスでドラッグしたり、指でスワイプしたりすると、テレプレゼンスロボットの画像854と撮像方向矢印8が現れる。
また、図23において、撮像方向に応じてテレプレゼンスロボットのオブジェクト851を回転させてから透視投影を行ってもよい。撮像方向によって撮像方向矢印8が見やすい視点が異なるためである。例えば、基準撮像方向の場合のテレプレゼンスロボットのオブジェクト851(正面方向の撮像方向矢印8が見やすい水平角度になっている)を、Δeaだけ水平方向に回転させる。こうすることで、撮像方向がどこでも操作者は撮像方向矢印8がどこを向いているのかを把握しやすくなる。
図24に示すように、パターン2において、撮像方向矢印8を水平方向と仰角方向に分けて表示してもよい。図24はパターン2における撮像方向矢印8の別の表示例を示す。図24(a)の全天球映像表示画面1010は全天球映像欄1001、水平方向指示欄1003、及び、仰角方向指示欄1004を有する。水平方向指示欄1003は上面視されたテレプレゼンスロボットの画像855を有し、撮像方向のうち水平方向のみを水平方向矢印8aで示す。仰角方向指示欄1004はテレプレゼンスロボットの画像854を有し、撮像方向のうち仰角方向のみを仰角方向矢印8bで示す。
水平方向と仰角方向を別々に表すことで、操作者は撮像方向のうち水平方向がどのくらいか、及び、仰角方向がどのくらいかを判断しやすくなる。
図24(a)では、撮像方向のうち水平方向が前方の180度に含まれるため、仰角方向指示欄1004の仰角方向矢印8bはテレプレゼンスロボットの前方に表示されている。一方、図24(b)では、撮像方向の水平方向が後方の180度に含まれるため、仰角方向指示欄1004の仰角方向矢印8bはテレプレゼンスロボットの後方に表示されている。このように仰角方向矢印の表示位置を切り替えることで、水平方向が前方か後方かを操作者が直感的に把握できる。
なお、図24のテレプレゼンスロボットの画像854、855、水平方向矢印8a、及び、仰角方向矢印8bは2次元で方向を表すので、ポリゴン模型を用意して透視投影変換する必要がなく、処理負荷を低減できる。
図25は、パターン2において、通信端末10Aが全天球映像を表示部109に表示させる手順を示すフローチャート図の一例である。図25の処理は、ユーザが撮像方向を変更するたびに実行される。
まず、操作入力受付部12は操作者による撮像方向の操作を受け付ける(S2001)。
次に、表示制御部16は所定領域映像を透視投影変換して表示する(S2002)。
次に、表示制御部16は撮像方向に応じてテレプレゼンスロボットのポリゴン模型850に対する視点を決定する(S2003)。
次に、表示制御部16は撮像方向矢印のオブジェクト851を所定の座標系に配置する(S2004)。すなわち、表示制御部16は撮像方向矢印8のオブジェクト851の矢尻を広角撮像装置9に一致させて、テレプレゼンスロボットのオブジェクトを配置した座標系に配置する。
表示制御部16は、テレプレゼンスロボットのポリゴン模型850と撮像方向矢印のオブジェクト851を透視投影変換して表示部109に表示する(S2005)。
<パターン3>
パターン3は、撮像方向と移動装置20の正面方向が略一致する場合にのみ操作ボタンを表示する。つまり、撮像方向(ea,aa)≒(ea0,aa0)の場合にだけ表示制御部16は操作ボタン860を表示する。パターン3の全天球映像表示画面1010は図2(c)を参照されたい。
図26は、パターン3において、通信端末10Aが全天球映像を表示部109に表示させる手順を示すフローチャート図の一例である。図26の処理は、ユーザが撮像方向を変更するたびに実行される。
まず、操作入力受付部12は操作者による撮像方向の操作を受け付ける(S3001)。
次に、表示制御部16は所定領域映像Qを透視投影変換して表示する(S3002)。
次に、表示制御部16は撮像方向と基準撮像方向が略一致するか否かを判断する(S3003)。
ステップS3003の判断がYesの場合、表示制御部16は操作ボタン860を全天球映像に重ねて表示する(S3004)。
ステップS3003の判断がNoの場合、表示制御部16は操作ボタン860を全天球映像に表示しない。
したがって、移動装置20の正面方向と操作者が見ている全天球映像の撮像方向を略一致させた時にだけ操作ボタン860が表示されるので、移動装置20を前進させた場合にどこに移動するかを操作者が把握できる。また、操作ボタン860が表示された時は、移動装置20の向きを把握できる。
なお、図2(c)の左図c-1では操作ボタン860が一切表示されていないが、移動装置20の正面方向と操作者が見ている全天球映像の撮像方向が略一致しない場合に、操作ボタン860を、操作者が操作できない態様で表示してもよい。操作できない態様とは、例えば低輝度で表示したり、グレーで表示したり、半透明で表示したり(透明度を大きくする)することをいう。操作者が操作ボタン860を押下しても、操作入力受付部12は操作を受け付けない。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、本実施形態では正面撮像装置が撮像した正面映像(又は背面映像)について説明していないが、パターン1~3のそれぞれで適宜、正面映像(又は背面映像)が表示される。
図27は、全天球映像と正面映像(又は背面映像)を同時に表示する映像同時表示画面2001の一例である。映像同時表示画面2001は全体表示欄2002と正面表示欄2003を有している。全体表示欄2002にはパターン1~3のいずれかの映像が表示される。正面表示欄2003には正面撮像装置が撮像した正面映像(又は背面映像)が表示される。したがって、操作者は常に正面又は背面を確認しながら、全体表示欄2002で任意の方向を表示させることができる。
また、本実施形態では広角撮像装置9が通信端末10Bに正距円筒射影映像を送信し、通信端末10Bが正距円筒射影映像を通信端末10Aに送信したが、広角撮像装置9が直接、通信端末10Aとセッションを接続し、正距円筒射影映像を送信してもよい。この場合、広角撮像装置9は通信端末10の一形態となり、映像を送信するが受信はしない通信端末10となる。
また、本実施形態では背面映像が送信されると説明したが、通信端末10Bは背面映像を送信しなくてもよい。また、通信端末10Bが正面映像と背面映像とは別に通常の画角の映像を送信してもよい。
また、本実施形態では、陸上を走行する移動装置20を例に説明したが、移動装置20はドローンなどのように空中を飛行してもよい。また、海上を航行してもよいし、水中を移動してもよい。また、地下、狭路、地中を移動してもよい。また、陸上を移動する場合、車輪で移動してもよいし、2足、3足、4足などの多脚移動を行ってもよいし、キャタピラー(登録商標)で移動してもよい。
また、テレプレゼンスロボットに限らず、人間が移動させる装置に搭載された広角撮像装置9と平面撮像装置の映像に本実施形態の表示方法を適用してもよい。
また、本実施形態では主に、1人の操作者が1つの移動装置20を操作する例を説明したが、1人の操作者が複数の移動装置20を操作することも可能である。この場合、通信端末10Aは複数の通信端末10Bとセッションを確立する。逆に、複数の操作者が1つの移動装置20を操作することも可能である。この場合、例えば最後に通信端末10Bに送信された操作指示情報が有効となってもよいし、操作権という概念を導入し操作権がある通信端末10Aのみが操作指示の送信を可能としてもよい。操作権は操作者などの操作により移転できる。
また、本実施形態では操作指示情報が通信セッションで送信されると説明したが、コンテンツデータのセッションで送信されてもよい。
また、本実施例では、中継装置30を介して通信端末10が通信しているが、通信端末10は中継装置を介さずに通信してもよい。このような通信の通信プロトコルとして例えばWebRTC(Web Real-Time Communication)が知られている。
また、図14などの構成例は、通信管理システム50及び通信端末10による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。通信管理システム50及び通信端末10の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
また、本実施例では説明の都合上、通信管理システム50と中継装置30を別々の装置として説明したが、両者の機能が統合された装置が通信管理システム50と中継装置30の機能を提供してもよい。
また、通信システム1が複数の通信管理システム50を有していてもよく、通信管理システム50の機能が複数のサーバに分散して設置されていてもよい。
また、通信管理システム50が記憶部5000に有する各データベースの1つ以上は通信ネットワーク2上に存在していてもよい。
なお、送受信部11は通信手段の一例であり、表示制御部16は表示処理手段の一例であり、操作入力受付部12は受付手段の一例である。