以下、本発明を実施するための形態の一例として、情報処理システムと情報処理システムが行うコンテンツ送信方法について図面を参照しながら説明する。
<二次元コードと撮像装置の配置例>
まず、図1を用いて、撮像装置が自機の設置場所を検出する仕組を説明する。図1は二次元コードと撮像装置10の配置例を示す図である。図1に示すように、会議室403の天井に二次元コード400が提示され、会議室403の中央の机401の上に撮像装置10が配置されている。二次元コード400には、会議室又は設置場所を示す設置場所IDが含まれている。管理者等は、二次元コード400を予め天井等に貼り付けておく。なお、貼り付け場所は天井である必要はない。
撮像装置10が画像の配信を開始する際、天井に提示された二次元コード400を自動的に読み取り、自端末が配置された場所(たとえば会議室403)を検出する。撮像装置10が全天球カメラの場合、周囲を参加者に囲まれているような状況でも二次元コード400を読み取ることができる位置に管理者等が二次元コード400を掲示できる。
撮像装置10は設置場所IDに対応したセッションを後述するコンテンツ配信システムから取得する。撮像装置10はこのセッションに対し、画像データや音声データの伝送を行う。会議に参加する通信端末には撮像装置10の設置場所が表示されるので、撮像装置10は配置されている場所を参加者に通知できる。
なお、設置場所IDが取得できるものであれば二次元コード400でなくバーコードでもよい。また、ICカード、可視光線通信、赤外線通信などを利用してもよい。二次元コード400の提示場所は複数箇所でもよい(撮像装置10はどれか1つが読み取れればよい)。また、例えば、どこかに会議室名が提示されていれば、OCR(Optical character Reader)で会議室名を読み取ってよい。また、撮像装置10が取得した周囲画像から、類似画像検索のような手法で設置された場所(会議室等)を識別する方法でもよい。
<用語について>
セッションとは、一続きの通信をいう。会議などのために各拠点の通信端末同士が通信を開始してから終了するまでをいう。
コンテンツとは、撮像装置が撮像した画像をいう。音声や資料データなどが含まれる場合がある。
設置場所とは、撮像装置が設置されている場所である。屋内だけでなく屋外が含まれてもよい。例えば会議室等が設置場所となる。
<システム構成例>
図2は、本実施形態に係る通信システム1のシステム構成の一例を示す図である。図2に示す通信システム1は、撮像装置10によって撮像された画像をコンテンツ配信システム50へアップロードすることによって、通信ネットワーク5を介したコンテンツ配信を行うことができるシステムである。
通信システム1は、撮像装置10、通信端末30、コンテンツ配信システム50、クライアントプログラム配信システム70及びルータ90を有している。コンテンツ配信システム50、クライアントプログラム配信システム70及びルータ90は、通信ネットワーク5を介して通信可能に接続されている。通信ネットワーク5は、インターネット、移動体通信網、LAN(Local Area Network)等によって構築されている。なお、通信ネットワーク5には、有線通信だけでなく、3G(3rd Generation)、4G(4th Generation)、5G(5th Generation)、WiMAX(Worldwide Interoperability for Microwave Access)又はLTE(Long Term Evolution)等の無線通信によるネットワークが含まれてもよい。
撮像装置10は、被写体を撮像して撮像画像を取得することができるデジタルカメラである。撮像装置10は、例えば、全天球(360°)パノラマ画像を得るための特殊なデジタルカメラである。なお、撮像装置10は、一般的なデジタルカメラ(一眼レフカメラ、コンパクトデジタルカメラ等)であってもよく、通信端末30にカメラが付いている場合には、通信端末30がデジタルカメラとなりうる。本実施形態では、全天球パノラマ画像を得るためのデジタルカメラ(後述する特殊撮像装置)として説明を行う。撮像装置10は、ルータ90を介してインターネット等の通信ネットワーク5にアクセスし、撮像画像をコンテンツ配信システム50へアップロードする。なお、撮像画像は、動画であっても静止画であってもよく、動画と静止画の両方であってもよい。また、撮像画像は、画像と共に音声を含んでもよい。
通信端末30は、ユーザが使用するスマートフォン等の端末装置である。通信端末30は、ルータ90を介してインターネット等の通信ネットワーク5にアクセスすることによって、コンテンツ配信システム50及びクライアントプログラム配信システム70とデータ通信を行うことができる。また、通信端末30は、USB(Universal Serial Bus)、HDMI(登録商標。High−Definition Multimedia Interface)等のケーブルを介して撮像装置10に接続され得る。撮像装置10と通信端末30は、上記ケーブルを用いずに、Bluetooth(登録商標)又はNFC(Near Field Communication)等の近距離無線通信技術を利用して無線通信してもよい。なお、通信端末30は、スマートフォンに限られず、タブレット端末、携帯電話、PC(Personal Computer)等であってもよい。
コンテンツ配信システム50は、インターネット等の通信ネットワーク5を介して、利用者にコンテンツ配信サービスを提供する1台以上の情報処理装置である。コンテンツとは、動画等の映像、音楽、静止画、WEBサイト、アプリケーション、テキストファイル等である。また、コンテンツ配信サービスには、例えば、YouTube(登録商標)、Instagram(登録商標)、又はTwitter(登録商標)等が挙げられる。コンテンツ配信システム50は、例えば、撮像装置10からアップロードされた画像を、インターネットを介して利用者に配信する。
クライアントプログラム配信システム70は、撮像装置10でコンテンツ配信サービスを利用するためのプログラムを配信するシステムである。クライアントプログラム配信システム70は、コンテンツ配信システム50を介して、クライアントプログラムを撮像装置10へ送信する。
ここで、コンテンツ配信システム50及びクライアントプログラム配信システム70は、コンテンツ配信サービスごとに設けられている。すなわち、通信システム1は、複数のコンテンツ配信システム50及びクライアントプログラム配信システム70の組を有していてもよい。
なお、コンテンツ配信システム50は、単一のコンピュータによって構築されてもよいし、各部(機能、手段又は記憶部)を分割して任意に割り当てられた複数のコンピュータによって構築されていてもよい。クライアントプログラム配信システム70についても同様である。ここで、コンテンツ配信システム50及びクライアントプログラム配信システム70は、サービス提供システム2を構成する。このサービス提供システム2は、コンテンツ配信システム50及びクライアントプログラム配信システム70の各部(機能又は手段)を備える単一のコンピュータによって構成されてもよい。
<ハードウエア構成>
次に、図3乃至図5を用いて、通信システム1を構成する各装置又は端末のハードウエア構成を説明する。なお、図3乃至図5に示すハードウエア構成は、必要に応じて構成要素が追加又は削除されてもよい。
<<通信端末のハードウエア構成>>
図3は、本実施形態に係る通信端末30のハードウエア構成の一例を示す図である。通信端末30は、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303、EEPROM(Electrically Erasable Programmable Read Only Memory)304、CMOS(Complementary Metal Oxide Semiconductor)センサ305、撮像素子I/F313a、加速度・方位センサ306、メディアI/F308及びGPS受信部309を備えている。
CPU301は、通信端末30全体の動作を制御する。ROM302は、IPL(Initial Program Loader)等のCPU301の駆動に用いられるプログラムを記憶する。RAM303は、CPU301のワークエリアとして使用される。EEPROM304は、CPU301の制御に従って、通信端末30用プログラム等の各種データの読み出し又は書き込みを行う。
CMOSセンサ305は、CPU301の制御に従って被写体(主に自画像)を撮像し画像データを得る。撮像素子I/F313aは、CMOSセンサ312の駆動を制御する回路である。加速度・方位センサ306は、地磁気を検知する電子磁気コンパス、ジャイロコンパス及び加速度センサ等の各種センサである。メディアI/F308は、フラッシュメモリ等の記録メディア307に対するデータの読み出し又は書き込み(記憶)を制御する。GPS受信部309は、GPS衛星からGPS信号を受信する。
また、通信端末30は、遠距離通信回路311、アンテナ311a、CMOSセンサ312、撮像素子I/F313b、マイク314、スピーカ315、音入出力I/F316、ディスプレイ317、外部機器接続I/F318、近距離通信回路319、近距離通信回路319のアンテナ319a及びタッチパネル321を備えている。
遠距離通信回路311は、通信ネットワーク5を介して、他の機器と通信する回路である。CMOSセンサ312は、CPU301の制御に従って被写体を撮像して画像データを得る内蔵型の撮像手段の一種である。撮像素子I/F313bは、CMOSセンサ312の駆動を制御する回路である。マイク314は、音声を入力する内蔵型の集音手段の一種である。音入出力I/F316は、CPU301の制御に従ってマイク314及びスピーカ315との間で音信号の入出力を処理する回路である。
ディスプレイ317は、被写体の画像や各種アイコン等を表示する液晶又は有機EL等の表示手段の一種である。外部機器接続I/F318は、各種の外部機器を接続するためのインターフェースである。近距離通信回路319は、NFC又はBluetooth(登録商標)等の通信回路である。タッチパネル321は、ユーザがディスプレイ317を押下することで、通信端末30を操作する入力手段の一種である。また、通信端末30は、バスライン310を備えている。バスライン310は、CPU301等の各構成要素を電気的に接続するためのアドレスバス又はデータバス等である。
<<コンテンツ配信システム、クライアントプログラム配信システム及びルータのハードウエア構成>>
図4は、本実施形態に係るコンテンツ配信システム50、クライアントプログラム配信システム及びルータのハードウエア構成の一例を示す図である。コンテンツ配信システム50、クライアントプログラム配信システム70及びルータ90は、一般的なコンピュータによって構築されている。コンテンツ配信システム50の一例としてのコンピュータは、CPU501、ROM502、RAM503、HD(Hard Disk)504、HDD(Hard Disk Drive)505、メディアI/F507、ネットワークI/F508、ディスプレイ511、キーボード512、マウス513、DVD−RW(Digital Versatile Disk Rewritable)ドライブ515、及びバスライン510を備えている。
CPU501は、コンテンツ配信システム50全体の動作を制御する。ROM502は、CPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HDD505は、CPU501の制御に従ってHD504に対する各種データの読み出し、又は書き込みを制御する。HD504は、プログラム等の各種データを記憶する。メディアI/F507は、フラッシュメモリ等の記録メディア506に対するデータの読み出し、又は書き込み(記憶)を制御する。
ネットワークI/F508は、通信ネットワーク5を利用してデータ通信をするためのインターフェースである。ディスプレイ511は、カーソル、メニュー、ウィンドウ、文字、又は画像等の各種情報を表示する。キーボード512は、文字、数値、各種指示等の入力のための複数のキーを備えた入力手段の一種である。マウス513は、各種指示の選択や実行、処理対象の選択、カーソルの移動等を行う入力手段の一種である。DVD−RWドライブ515は、着脱可能な記録媒体の一例としてのDVD−RW514に対する各種データの読み出し等を制御する。なお、DVD−RW514は、DVD−R等であってもよい。また、DVD−RWドライブ515は、BD−RE(Blu−ray(登録商標) Disc Rewritable)又はCD−RW(Compact Disc ReWritable)等のディスクに対するデータの読み出し又は書き込み(記憶)を制御するブルーレイドライブ又はCD−RWドライブ等であってもよい。更に、コンテンツ配信システム50は、バスライン510を備えている。バスライン510は、図4に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
また、クライアントプログラム配信システム70は、一般的なコンピュータによって構築されており、図4に示されているように、CPU701、ROM702、RAM703、HD704、HDD705、メディアI/F707、ネットワークI/F708、ディスプレイ711、キーボード712、マウス713、DVD−RWドライブ715及びバスライン710を備えている。これらは、それぞれコンテンツ配信システム50におけるCPU501、ROM502、RAM503、HD504、HDD505、メディアI/F507、ネットワークI/F508、ディスプレイ511、キーボード512、マウス513、DVD−RWドライブ515及びバスライン510と同様の構成であるため、説明を省略する。ただし、クライアントプログラム配信システム70の場合は、HD704にクライアントプログラム配信システム用プログラムが記憶されている。
更に、ルータ90は、一般的なコンピュータによって構築されており、図4に示されているように、CPU901、ROM902、RAM903、HD904、HDD905、メディアI/F907、ネットワークI/F908、ディスプレイ911、キーボード912、マウス913、DVD−RWドライブ915及びバスライン910を備えている。これらは、それぞれコンテンツ配信システム50におけるCPU501、ROM502、RAM503、HD504、HDD505、メディアI/F507、ネットワークI/F508、ディスプレイ511、キーボード512、マウス513、DVD−RWドライブ515及びバスライン510と同様の構成であるため、説明を省略する。ただし、ルータ90の場合は、HD904にルータ用プログラムが記憶されている。
<<撮像装置のハードウエア構成>>
続いて、図5を用いて、撮像装置10のハードウエア構成について説明する。図5は、本実施形態に係る撮像装置10のハードウエア構成の一例を示す図である。ここでは、撮像装置10は、二つの撮像素子を使用した全天球(全方位)撮像装置10とするが、撮像素子は二つ以上いくつでもよい。また、必ずしも全方位撮像専用の装置である必要はなく、通常のデジタルカメラやスマートフォン等に後付けの全方位の撮像ユニットを取り付けることで、実質的に全天球撮像装置と同じ機能を有するようにしてもよい。
図5に示されているように、撮像装置10は、撮像ユニット101、画像処理ユニット104、撮像制御ユニット105、マイク108、音処理ユニット109、CPU111、ROM112、SRAM(Static Random Access Memory)113、DRAM(Dynamic Random Access Memory)114、操作部115、入出力I/F116、近距離通信回路117、近距離通信回路117のアンテナ117a、加速度・方位センサ118及びネットワークI/F119によって構成されている。
このうち、撮像ユニット101は、各々半球画像を結像するための180°以上の画角を有する広角レンズ(いわゆる魚眼レンズ)102a,102bと、各広角レンズに対応させて設けられている二つの撮像素子103a,103bを備えている。撮像素子103a,103bは、広角レンズ102a,102bによる光学像を電気信号の画像データに変換して出力するCMOSセンサやCCD(Charge Coupled Device)センサ等の画像センサ、この画像センサの水平又は垂直同期信号や画素クロック等を生成するタイミング生成回路、この撮像素子の動作に必要な種々のコマンドやパラメータ等が設定されるレジスタ群等を有している。
撮像ユニット101の撮像素子103a,103bは、各々、画像処理ユニット104とパラレルI/Fバスで接続されている。一方、撮像ユニット101の撮像素子103a,103bは、撮像制御ユニット105とは、シリアルI/Fバス(I2Cバス等)で接続されている。画像処理ユニット104、撮像制御ユニット105及び音処理ユニット109は、バス110を介してCPU111と接続される。更に、バス110には、ROM112、SRAM113、DRAM114、操作部115、入出力I/F116、近距離通信回路117、加速度・方位センサ118及びネットワークI/F119等も接続される。
画像処理ユニット104は、撮像素子103a,103bから出力される画像データをパラレルI/Fバスを通して取り込み、それぞれの画像データに対して所定の処理を施した後、これらの画像データを合成処理して、正距円筒射影画像のデータを作成する。
撮像制御ユニット105は、一般に撮像制御ユニット105をマスタデバイス、撮像素子103a,103bをスレーブデバイスとして、I2Cバスを利用して、撮像素子103a,103bのレジスタ群にコマンド等を設定する。必要なコマンド等は、CPU111から受け取る。また、撮像制御ユニット105は、同じくI2Cバスを利用して、撮像素子103a,103bのレジスタ群のステータスデータ等を取り込み、CPU111に送る。
また、撮像制御ユニット105は、操作部115のシャッターボタンが押下されたタイミングで、撮像素子103a,103bに画像データの出力を指示する。撮像装置10によっては、ディスプレイ(例えば、スマートフォンのディスプレイ)によるプレビュー表示機能や動画表示に対応する機能を持つ場合もある。この場合は、撮像素子103a,103bからの画像データの出力は、所定のフレームレート(フレーム/分)によって連続して行われる。
また、撮像制御ユニット105は、後述するように、CPU111と協働して撮像素子103a,103bの画像データの出力タイミングの同期をとる同期制御手段としても機能する。なお、本実施形態では、撮像装置10にはディスプレイが設けられていないが、表示部を設けてもよい。マイク108は、音を音(信号)データに変換する。音処理ユニット109は、マイク108から出力される音データをI/Fバスを通して取り込み、音データに対して所定の処理を施す。
CPU111は、撮像装置10の全体の動作を制御すると共に必要な処理を実行する。ROM112は、CPU111のための種々のプログラムを記憶している。SRAM113及びDRAM114はワークメモリであり、CPU111で実行するプログラムや処理途中のデータ等を記憶する。特に、DRAM114は、画像処理ユニット104での処理途中の画像データや処理済みの正距円筒射影画像のデータを記憶する。
操作部115は、シャッターボタン等の操作ボタンの総称である。ユーザは操作部115を操作することで、種々の撮像モードや撮像条件等を入力する。入出力I/F116は、SDカード等の外付けのメディア又はパーソナルコンピュータ等とのインターフェース回路(USBI/F等)の総称である。入出力I/F116は、無線、有線を問わない。DRAM114に記憶された正距円筒射影画像のデータは、入出力I/F116を介して外付けのメディアに記録されたり、必要に応じて入出力I/F116を介して外部端末(装置)に送信されたりする。近距離通信回路117は、撮像装置10に設けられたアンテナ117aを介して、NFC又はBluetooth(登録商標)等の近距離無線通信技術によって、外部端末(装置)と通信を行う。近距離通信回路117は、正距円筒射影画像のデータを、外部端末(装置)に送信することができる。
加速度・方位センサ118は、地球の磁気から撮像装置10の方位を算出し、方位情報を出力する。この方位情報はExifに沿った関連情報(メタデータ)の一例であり、撮像画像の画像補正等の画像処理に利用される。なお、関連情報には、画像の撮像日時、及び画像データのデータ容量の各データも含まれている。また、加速度・方位センサ118は、撮像装置10の移動に伴う角度の変化(Roll角、Pitch角、Yaw角)を検出するセンサである。角度の変化は、Exifに沿った関連情報(メタデータ)の一例であり、撮像画像の画像補正等の画像処理に利用される。更に、加速度・方位センサ118は、3軸方向の加速度を検出するセンサである。撮像装置10は、加速度・方位センサ118が検出した加速度に基づいて、自装置(撮像装置10)の姿勢(重力方向に対する角度)を算出する。撮像装置10に、加速度・方位センサ118が設けられることによって、画像補正の精度が向上する。ネットワークI/F119は、ルータ90を介して、インターネット等の通信ネットワーク5を利用したデータ通信を行うためのインターフェースである。
なお、上記各プログラムは、インストール可能な形式又は実行可能な形式のファイルで、コンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。記録媒体の例として、CD−R(Compact Disc Recordable)、DVD、ブルーレイディスク、SDカード等が挙げられる。また、記録媒体は、プログラム製品(Program Product)として、国内又は国外へ提供されることができる。例えば、撮像装置10は、本発明に係るプログラムが実行されることで本発明に係る通信方法を実現する。
<全天球画像について>
ここで、図6乃至図10を用いて、撮像装置10の一例である特殊撮像装置によって取得される全天球画像の一例について説明する。まず、図6及び図7を用いて、特殊撮像装置で撮像された画像から正距円筒射影画像EC及び全天球画像CEが作成されるまでの処理の概略を説明する。図6(A)は、特殊撮像装置で撮像された半球画像(前側)、図6(B)は、特殊撮像装置で撮像された半球画像(後側)、図6(C)は、正距円筒図法により表された画像(以下、「正距円筒射影画像」という)を示した図である。図7(A)は、正距円筒射影画像で球を被う状態を示した概念図、図7(B)は、全天球画像を示した図である。
図6(A)に示されているように、撮像素子103aによって得られた画像は、広角レンズ102aによって湾曲した半球画像(前側)となる。また、図6(B)に示されているように、撮像素子103bによって得られた画像は、広角レンズ102bによって湾曲した半球画像(後側)となる。そして、特殊撮像装置は、半球画像(前側)と180度反転された半球画像(後側)とを合成して、図6(C)に示すような正距円筒射影画像ECを作成する。
そして、特殊撮像装置は、OpenGLES(Open Graphics Library for Embedded Systems)を利用することで、図7(A)に示されているように、球面を覆うように正距円筒射影画像を貼り付け、図7(B)に示されているような全天球画像CEを作成する。このように、全天球画像CEは、正距円筒射影画像ECが球の中心を向いた画像として表される。なお、OpenGLESは、2D(2 Dimensions)及び3D(3 Dimensions)のデータを視覚化するために使用するグラフィックスライブラリである。また、全天球画像CEは、静止画であっても動画であってもよい。
以上のように、全天球画像CEは、球面を覆うように貼り付けられた画像であるため、人間が見ると違和感を持ってしまう。そこで、特殊撮像装置は、所定のディスプレイに、全天球画像CEの一部の所定領域(以下、「所定領域画像」という)を湾曲の少ない平面画像として表示させることで、人間に違和感を与えない表示をすることができる。これに関して、図8及び図9を用いて説明する。
図8は、全天球画像を三次元の立体球とした場合の仮想カメラ及び所定領域の位置を示した図である。仮想カメラICは、三次元の立体球として表示されている全天球画像CEに対して、その画像を見るユーザの視点の位置に相当するものである。図9(A)は、図8の立体斜視図、図9(B)は、ディスプレイに表示された場合の所定領域画像を表す図である。図9(A)は、図8に示した全天球画像CEを、三次元の立体球CSで表している。このように生成された全天球画像CEが、立体球CSであるとした場合、図8に示されているように、仮想カメラICは、全天球画像CEの内部に位置している。全天球画像CEにおける所定領域Tは、仮想カメラICの撮像領域であり、全天球画像CEを含む三次元の仮想空間における仮想カメラICの撮像方向と画角を示す所定領域情報によって特定される。また、所定領域Tのズームは、仮想カメラICを全天球画像CEに近づいたり、遠ざけたりすることで表現することもできる。所定領域画像Qは、全天球画像CEにおける所定領域Tの画像である。従って、所定領域Tは、画角αと、仮想カメラICから全天球画像CEまでの距離fにより特定できる(図10参照)。
そして、図9(A)に示されている所定領域画像Qは、図9(B)に示されているように、所定のディスプレイに、仮想カメラICの撮像領域の画像として表示される。図9(B)に示されている画像は、初期設定(デフォルト)された所定領域情報によって表された所定領域画像である。以下、仮想カメラICの撮像方向(ea,aa)と画角(α)を用いて説明する。なお、所定領域Tは、画角αと距離fではなく、所定領域Tである仮想カメラICの撮像領域(X,Y,Z)によって示してもよい。
次に、図10を用いて、所定領域情報と所定領域Tの画像の関係について説明する。図10は、所定領域情報と所定領域Tの画像の関係との関係を示した図である。図10に示されているように、「ea」はelevation angle(仰角)、「aa」はazimuth angle(方位角)、「α」は画角(Angle)を示す。すなわち、仮想カメラICの姿勢は、撮像方向(ea,aa)で示される仮想カメラICの注視点が、仮想カメラICの撮像領域である所定領域Tの中心点CPとなるように変更される。図10に示されているように、仮想カメラICの画角αによって表される所定領域Tの対角画角をαとした場合の中心点CPが、所定領域情報の(x,y)パラメータとなる。所定領域画像Qは、全天球画像CEにおける所定領域Tの画像である。fは、仮想カメラICから中心点CPまでの距離である。Lは所定領域Tの任意の頂点と中心点CPとの距離である(2Lは対角線)。そして、図10では、一般的に以下の(式1)で示される三角関数が成り立つ。
L/F=tan(α/2) …… (式1)
なお、上記で説明した特殊撮像装置は、広角画像を取得可能な撮像装置10の一例であり、全天球画像は、広角画像の一例である。ここで、広角画像は、一般には広角レンズを用いて撮像された画像であり、人間の目で感じるよりも広い範囲を撮像することができるレンズで撮像されたものである。また、一般的に35mmフィルム換算で35mm以下の焦点距離のレンズで、撮像された画像を意味する。
<機能について>
続いて、図11〜図14を用いて、本実施形態に係る通信システム1の機能構成について説明する。図11は、本実施形態に係る通信システムの機能構成の一例を示す図である。なお、図11では、図2に示されている各端末、装置及びサーバのうち、後述の処理又は動作に関連しているものが示されている。
<<撮像装置の機能構成>>
まず、図11を用いて、撮像装置10の機能構成について説明する。撮像装置10は、送受信部11、受付部12、撮像処理部13、読取部14、設定情報処理部15、ネットワーク制御部16、クライアントプログラム管理部17、コンテンツ送信制御部18、記憶・読出部19及び接続部21を有している。これら各部は、図5に示されている各構成要素のいずれかが、SRAM113又はDRAM114上に展開されたプログラムに従ったCPU111からの命令によって動作することで実現される機能、又は機能する手段である。また、撮像装置10は、図5に示されているROM112によって構築される記憶部1000を有している。
送受信部11は、図5に示されているCPU111からの命令、及びネットワークI/F119によって実現され、ルータ90を介して、他の装置との間で各種データ又は情報の送受信を行う機能である(第一の通信部の一例)。送受信部11は、例えば、コンテンツ配信システム50に対して、撮像処理部13によって取得された撮像画像を送信する。
受付部12は、図5に示されているCPU111からの命令、及び操作部115によって実現され、ユーザからの操作入力を受け付ける機能である。撮像処理部13は、図5に示されているCPU111からの命令、並びに撮像ユニット101、画像処理ユニット104、撮像制御ユニット105、マイク108及び音処理ユニット109によって実現され、被写体や風景画像等を撮像し、撮像画像を取得する取得部22として機能する。撮像処理部13によって取得される撮像画像は、動画であっても静止画であってもよく、画像と共に音声を含んでもよい。撮像処理部13は、例えば、通信端末30のディスプレイ317に表示された二次元コード(図17等参照)、及び、会議室に提示された二次元コード400を撮像する。
読取部14は、図5に示されているCPU111からの命令、及び画像処理ユニット104等によって実現され、撮像処理部13によって撮像されて取得された二次元コード400,450aを読み取る機能である。
設定情報処理部15は、図5に示されているCPU111からの命令によって実現され、読取部14によって読み取られた二次元コード450aを用いて、コンテンツ配信サービスを利用するための設定情報を取得する機能である。
ネットワーク制御部16は、図5に示されているCPU111からの命令、及びネットワークI/F119によって実現され、インターネット等の通信ネットワーク5への接続を制御する機能である。ネットワーク制御部16は、例えば、ルータ90へアクセスすることによって通信ネットワーク5に接続する。
クライアントプログラム管理部17は、図5に示されているCPU111からの命令によって実現され、撮像装置10によって実行するクライアントプログラムを管理する機能である。クライアントプログラム管理部17は、例えば、利用可能なコンテンツ配信サービスごとにインストールされたクライアントプログラムを管理する。
コンテンツ送信制御部18は、図5に示されているCPU111からの命令によって実現され、コンテンツ配信システム50に対するコンテンツの送信を制御する機能である。コンテンツ送信制御部18は、例えば、撮像処理部13によって取得された撮像画像を、コンテンツ配信システム50に対して送信する。接続部21は、図5に示されているCPU111からの命令、並びに入出力I/F116もしくは近距離通信回路117によって実現され、通信端末30から電源供給を受けると共に、データ通信を行う機能である。
記憶・読出部19は、図5に示されているCPU111からの命令によって実行され、記憶部1000に各種データを記憶させ、又は記憶部1000から各種データを読み出す機能である。また、記憶部1000は、撮像処理部13によって取得された撮像画像データを記憶している。なお、記憶部1000に記憶されている撮像画像データは、撮像処理部13によって取得されてから所定の時間経過した場合に削除される構成であってもよいし、コンテンツ配信システム50へ送信されたデータが削除される構成であってもよい。
<<通信端末の機能構成>>
続いて、図11を用いて、通信端末30の機能構成について説明する。通信端末30は、送受信部31、受付部32、表示制御部33、判断部34、設定情報生成部35、二次元コード生成部36、接続部37及び記憶・読出部39を有している。これら各部は、図3に示されている各構成要素のいずれかが、RAM303上に展開されたプログラム(Webブラウザでも専用アプリでもよい)に従ったCPU301からの命令によって動作することで実現される機能、又は機能する手段である。また、通信端末30は、図3に示されているROM302又は記録メディア307によって構築される記憶部3000を有している。
送受信部31は、図3に示されているCPU301からの命令、及び遠距離通信回路311によって実現され、ルータ90を介して、他の装置との間で各種データ又は情報の送受信を行う機能である(第三の通信部の一例)。
受付部32は、図3に示されているCPU301からの命令、並びにタッチパネル321等の入力手段によって実現され、通信端末30への各種選択又は操作入力を受け付ける機能である。
表示制御部33は、図3に示されているCPU301からの命令によって実現され、通信端末30のディスプレイ317に各種画面を表示させる機能である。表示制御部33は、例えば、二次元コード生成部36によって生成された二次元コード450aを、ディスプレイ317に表示させる。判断部34は、図3に示されているCPU301からの命令によって実現され、各種判断を行う機能である。
設定情報生成部35は、図3に示されているCPU301からの命令によって実現され、コンテンツ配信サービスを利用するための設定情報を生成する機能である。
二次元コード生成部36は、図3に示されているCPU301からの命令によって実現され、設定情報生成部35によって生成された設定情報を用いて、二次元コード450aを生成する機能である。二次元コード450aは、例えば、QRコード(登録商標)、DataMatrix(DataCode)、MaxiCode又はPDF417等である。接続部37は、図3に示されているCPU301からの命令、並びに外部機器接続I/F318もしくは近距離通信回路319によって実現され、撮像装置10から電源供給を受けると共に、データ通信を行う機能である。
記憶・読出部39は、図3に示されているCPU301からの命令によって実行され、記憶部3000に各種データを記憶させ、又は記憶部3000から各種データを読み出す機能である。
<<コンテンツ配信システムの機能構成>>
次に、図11を用いて、コンテンツ配信システム50の機能構成について説明する。コンテンツ配信システム50は、送受信部51、認証部52、判断部53、認可情報管理部54、コンテンツ配信管理部55、セッション管理部56、画面生成部57、及び、記憶・読出部59を有している。これら各部は、図4に示されている各構成要素のいずれかが、RAM503上に展開されたプログラムに従ったCPU501からの命令によって動作することで実現される機能、又は機能する手段である。また、コンテンツ配信システム50は、図4に示されているROM502、HD504又は記録メディア506によって構築される記憶部5000を有している。
送受信部51は、図4に示されているCPU501からの命令、及びネットワークI/F508によって実現され、通信ネットワーク5を介して、他の装置との間で各種データ又は情報の送受信を行う機能である(第二の通信部の一例)。
認証部52は、図4に示されているCPU501からの命令によって実現され、送受信部51によって受信された接続要求に基づいて、要求元の認証を行う機能である。認証部52は、例えば、送受信部51によって受信された接続要求に含まれている認証情報(ユーザID及びパスワード)を検索キーとし、記憶部5000の認証情報記憶部5001を検索する。そして、認証部52は、認証情報記憶部5001に同一の組のユーザID及びパスワードが管理されているかを判断することによって端末認証を行う。
判断部53は、図4に示されているCPU501からの命令によって実現され、各種判断を行う機能である。認可情報管理部54は、図4に示されているCPU501からの命令によって実現され、コンテンツ配信サービスへのアクセス権を示す認可情報を管理する機能である。認可情報管理部54は、例えば、送受信部51によって受信された設定情報に含まれているユーザIDを検索キーとして認可情報記憶部5003を検索することにより、対応するユーザIDに関連づけられた認可コードを特定する。
コンテンツ配信管理部55は、図4に示されているCPU501からの命令によって実現され、コンテンツ配信サービスによるコンテンツの配信を管理する機能である。
セッション管理部56は、セッション情報記憶部5007を使用して、撮像装置と通信端末のセッションの接続、切断を管理する。画面生成部57は通信端末30が表示する画面情報の生成を行う。通信端末30がWebアプリを実行する場合は、画面情報は、HTML、XML、CSS(Cascade Style Sheet)、及びJavaScript(登録商標)等により作成される。通信端末30がネイティブアプリを実行する場合は、画面情報は通信端末が保持しており、表示される情報がXML等で送信される。
記憶・読出部59は、図4に示されているCPU501からの命令によって実行され、記憶部5000に各種データを記憶させ、又は記憶部5000から各種データを読み出す機能である。また、記憶部5000には、クライアントプログラム配信システム70から提供されるクライアントプログラムを識別するためのクライアントプログラム識別情報(クライアントプログラムID)5003が記憶されている。
・認証管理テーブル
図12(A)は、認証管理テーブルを示す概念図である。記憶部5000には、図12(A)に示されているような認証管理テーブルによって構成されている認証情報記憶部5001が構築されている。この認証管理テーブルには、コンテンツ配信システム50によって管理される各ユーザを識別するためのユーザIDに対して、各パスワードが関連づけられて管理されている。図12(A)に示されている認証管理テーブルでは、例えば、ユーザAのユーザIDは「01aa」で、パスワードは「aaaa」であることが示されている。なお、以下の説明では、コンテンツ配信サービスを利用するための設定にユーザIDを用いる構成を説明するが、撮像装置10を識別するための装置ID(端末ID)を用いて設定を行う構成であってもよい。この場合、認証管理テーブルには、ユーザIDに変えて、装置ID(端末ID)が各パスワードと関連づけられて管理される。
・認可情報管理テーブル
図12(B)は、認可情報管理テーブルを示す概念図である。記憶部5000には、図12(B)に示されているような認可情報管理テーブルによって構成されている認可情報記憶部5003が構築されている。この認可情報管理テーブルには、コンテンツ配信サービスに管理されるユーザの各ユーザIDに対して、コンテンツ配信サービスへのアクセス権限を示す権限情報と認可コードが関連づけられて管理されている。図12(B)に示されている認可情報管理テーブルでは、例えば、ユーザID「01aa」のユーザAのアクセス権限は「full」である。また、例えば、ユーザID「01ba」のユーザBのアクセス権限は「limited」であり、ユーザBのコンテンツ配信サービスを利用できる範囲が限定される。更に、例えば、ユーザID「01ca」のユーザCのアクセス権限は「なし」であり、ユーザCは、コンテンツ配信サービスへアクセスする権限を有さない。
・クライアントプログラム識別情報
図12(C)は、クライアントプログラム識別情報を示す概念図である。記憶部5000には、図12(C)に示されているようなクライアントプログラム識別情報が記憶されている。クライアントプログラム識別情報は、クライアントプログラムを識別するための情報である。
・設置場所管理テーブル
図13は設置場所管理テーブルを示す概念図である。記憶部5000には、図13に示されているような設置場所管理テーブルによって構成されている設置場所情報記憶部5006が構築されている。この設置場所管理テーブルには、会議室などの撮像装置10が設置される設置場所IDに対して、設置場所名称、及び、セッションIDが関連づけられて管理されている。
この設置場所管理テーブルは事前に管理者等により登録され、適宜更新される。設置場所管理テーブルの1レコードの情報を有する二次元コード400が対応した会議室に提示されている。撮像装置10は、画像の配信開始時に二次元コード400から設置場所IDを読み取り、設置場所IDに対応付けられたセッションID(自端末が参加すべきセッションID)をコンテンツ配信システム50に問い合わせる。コンテンツ配信システム50は設置場所管理テーブルを検索することで、問い合わせられた設置場所IDに対応したセッションIDを応答する。
・セッション管理テーブル
図14はセッション管理テーブルを示す概念図である。記憶部5000には、図14に示されているようなセッション管理テーブルによって構成されているセッション情報記憶部5007が構築されている。このセッション管理テーブルには、セッションを識別するセッションIDに対応付けて、撮像装置10の状態、及び、セッションに参加している参加端末(通信端末を意味する)のIPアドレスが関連づけられて管理されている。
撮像装置10はコンテンツ配信システム50から取得したセッションIDの登録をコンテンツ配信システム50に要求する。コンテンツ配信システム50はセッション管理テーブルにセッションIDを登録する。撮像装置10が画像を送信中は撮像装置10の状態は画像送信中であり、帯域不足などで送信されなくなると撮像装置10の状態は画像停止とあり、シャットダウンするとセッション管理テーブルからセッションIDが削除される。
<<クライアントプログラム配信システムの機能構成>>
次に、図11を用いて、クライアントプログラム配信システム70の機能構成について説明する。クライアントプログラム配信システム70は、送受信部71、クライアントプログラム管理部72及び記憶・読出部79を有している。これら各部は、図4に示されている各構成要素のいずれかが、RAM703上に展開されたプログラムに従ったCPU701からの命令によって動作することで実現される機能、又は機能する手段である。また、クライアントプログラム配信システム70は、図4に示されているROM702、HD704又は記録メディア706によって構築される記憶部7000を有している。 送受信部71は、図4に示されているCPU701からの命令、及びネットワークI/F708によって実現され、通信ネットワーク5を介して、他の装置との間で各種データ又は情報の送受信を行う機能である。送受信部71は、例えば、撮像装置10からの要求に応じて、記憶部7000に記憶されているクライアントプログラム7001を、コンテンツ配信システム50へ送信する。
クライアントプログラム管理部72は、図4に示されているCPU701からの命令によって実現され、コンテンツ配信サービスを利用させるためのクライアントプログラム7001を管理する機能である。クライアントプログラム管理部72は、クライアントプログラム7001の登録を受け付けると共に、記憶部5000にクライアントプログラム7001を記憶(登録)させる。
記憶・読出部79は、図4に示されているCPU701からの命令によって実行され、記憶部7000に各種データを記憶させ、又は記憶部7000から各種データを読み出す機能である。また、記憶部7000には、撮像装置10がコンテンツ配信サービスを利用するためのクライアントプログラム7001が記憶されている。
<<ルータの機能構成>>
次に、図11を用いて、ルータ90の機能構成について説明する。ルータ90は、送受信部91、判断部92及び記憶・読出部99を有している。これら各部は、図4に示されている各構成要素のいずれかが、RAM903上に展開されたプログラムに従ったCPU901からの命令によって動作することで実現される機能、又は機能する手段である。また、ルータ90は、図4に示されているROM902、HD904又は記録メディア906によって構築される記憶部9000を有している。
送受信部91は、図4に示されているCPU901からの命令、及びネットワークI/F908によって実現され、通信ネットワーク5を介して、他の装置との間で各種データ又は情報の送受信を行う機能である。判断部92は、図4に示されているCPU901からの命令によって実現され、各種判断を行う機能である。判断部92は、例えば、撮像装置10からの要求に応じて、撮像装置10の通信ネットワーク5への接続可否を判断する。記憶・読出部99は、図4に示されているCPU901からの命令によって実行され、記憶部9000に各種データを記憶させ、又は記憶部9000から各種データを読み出す機能である。
<コンテンツ配信処理>
続いて、図15乃至図21を用いて、本実施形態に係る通信システム1の処理又は動作について説明する。以下の説明において、撮像装置10からコンテンツ配信システム50へコンテンツをアップロードする際の処理について説明する。図15及び図18は、本実施形態に係る通信システムにおけるコンテンツの配信処理の一例を示すシーケンス図である。
まず、通信端末30のユーザが所定の入力操作を行うことで、通信端末30の受付部32は、コンテンツ配信システム50から提供されるコンテンツ配信サービスの選択を受け付ける(ステップS11)。コンテンツ提供サービスには、YouTube(登録商標)、Instagram(登録商標)、又はTwitter(登録商標)等の動画又はアプリケーション等のコンテンツを配信するサービスが含まれている。
次に、通信端末30の送受信部31は、コンテンツ配信システム50に対して、サービスの利用を開始するための設定を要求する旨を示す設定開始要求を送信する(ステップS12)。これにより、コンテンツ配信システム50の送受信部51は、通信端末30から送信された設定開始要求を受信する。次に、送受信部51は、通信端末30に対して、サービスの利用を開始するための設定に用いる設定画面データを送信する(ステップS13)。これにより、通信端末30の送受信部31は、コンテンツ配信システム50から送信された設定画面データを受信する。
次に、通信端末30の表示制御部33は、ステップS13によって受信された設定画面データに係る設定画面200を、ディスプレイ317に表示させる(ステップS14)。
ここで、図16を用いて、通信端末30に表示される設定画面200について説明する。図16は、本実施形態に係る通信端末30に表示される設定画面の一例を示す図である。図16に示されている設定画面200は、ユーザがサービスの利用を開始するための設定を行う際に、通信端末30に表示される。設定画面200には、通信ネットワーク5に接続するためのネットワーク接続情報を入力するためのネットワーク接続情報入力領域201、コンテンツ配信システム50におけるユーザ認証処理に用いるユーザID及びパスワードを入力するための認証情報入力領域203、コンテンツ配信サービスのチャンネルを入力するためのチャンネル情報入力領域205、設定処理を開始する場合に押下される「OK」ボタン207、及び設定処理を中止する場合に押下される「閉じる」ボタン209が含まれている。
このうち、ネットワーク接続情報は、例えば、通信ネットワーク5に接続するためのルータ90のSSID(Service Set Identifier)及びPASS PHRASE(パスフレーズ)である。また、チャンネル情報は、コンテンツ配信サービス上で実現される配信を識別するための情報である。コンテンツ配信システム50は、同じコンテンツ配信サービス上で複数の配信を実現する場合があるため、チャンネルによってそれぞれの配信を区別する。なお、チャンネル情報がユーザによって入力される例を説明するが、チャンネル情報は、コンテンツ配信サービスの利用形態に応じてコンテンツ配信システム50によって生成されてもよい。この場合、コンテンツ配信システム50によって生成されたチャンネル情報は、後述するサービス提供情報に含まれることによって通信端末30に通知され
る。
なお、各入力領域に対する情報の入力は、タッチパネル321等の入力手段によって直接入力される形式であってもよいし、提示された情報を選択することによって入力される形式であってもよい。また、各入力領域は、別々に表示された異なる設定画面上に表示されてもよい。更に、各入力領域に入力される情報として、通信端末30に接続されたSIM(Subscriber Identity Module Card)カードやSDカード等の記録媒体から読み出された情報が取り込まれる構成であってもよい。
次に、通信端末30のユーザが設定画面200に含まれている各入力領域に対するデータ入力を行うと、通信端末30の受付部32は、設定要求情報の入力を受け付ける(ステップS15)。次に、通信端末30の送受信部31は、コンテンツ配信システム50に対して、ステップS15によって受け付けられた設定要求情報を送信する(ステップS16)。この設定要求情報には、利用するコンテンツ配信サービスのチャンネルを識別するためのチャンネル情報、コンテンツ配信システム50に対するユーザ認証を行うために用いる認証情報、通信ネットワーク5に接続するために用いるネットワーク接続情報が含まれている。これにより、コンテンツ配信システム50の送受信部51は、通信端末30から送信された設定要求情報を受信する。
次に、コンテンツ配信システム50の記憶・読出部59は、記憶部5000に記憶されているコンテンツ配信サービスをユーザに提供するためのサービス提供情報を読み出す(ステップS17)。具体的には、記憶・読出部59は、記憶部5000に記憶されているクライアントプログラム識別情報5005を読み出す。また、認可情報管理部54は、例えば、送受信部51によって受信された設定要求情報に含まれているユーザIDを検索キーとして認可情報記憶部5003を検索することにより、対応するユーザIDに関連づけられた認可コードを読み出す。すなわち、サービス提供情報には、クライアントプログラム識別情報及び認可コードが含まれている。
次に、コンテンツ配信管理部55は、ステップS16によって受信された設定要求情報及びステップS17によって読み出されたサービス提供情報を用いて、コンテンツ配信の準備を行う(ステップS18)。具体的には、コンテンツ配信管理部55は、例えば、コンテンツ配信のための仮想ルーム又はチャンネルを作成する。
次に、コンテンツ配信システム50の送受信部51は、通信端末30に対して、ステップS17によって読み出されたサービス提供情報を送信する(ステップS19)。これにより、通信端末30の送受信部31は、コンテンツ配信システム50から送信されたサービス提供情報を受信する。
次に、通信端末30の設定情報生成部35は、コンテンツ配信サービスを利用するための設定情報を生成する(ステップS20)。ここで、設定情報には、ステップS15によって受け付けられた設定要求情報及びステップS19によって受信されたサービス提供情報が含まれている。
また、二次元コード生成部36は、ステップS20によって生成された設定情報を用いて、二次元コード450aを生成する(ステップS21)。そして、表示制御部33は、ステップS21によって生成された二次元コード450aを、ディスプレイ317に表示させる(ステップS22)。ここで、図17を用いて、通信端末30に表示される二次元コード450aについて説明する。図17は、本実施形態に係る通信端末30に表示される二次元コード450aの一例を示す図である。図17に示されている二次元コード450aは、二次元コード生成部36によって生成されたQRコード(登録商標)である。この二次元コード450aには、設定情報生成部35によって生成された設定情報が埋め込まれている。
続いて、図18に基づいて説明する。撮像装置10の撮像処理部13は、通信端末30のディスプレイ317に表示されている二次元コード450aを撮像する(ステップS31)。そして、撮像装置10は、ステップS31によって撮像された二次元コードを用いて、設定情報の取得処理を実行する(ステップS32)。ここで、図19を用いて、設定情報の取得処理の詳細について説明する。図19は、本実施形態に係る通信端末30における設定情報の読取処理の一例を示すフローチャートである。
まず、撮像処理部13は、二次元コード450aが撮像された撮像画像を取得する(ステップS32−1)。次に、読取部14は、取得された撮像画像に示されている二次元コードの読み取りができるかどうかを判断する(ステップS32−2)。具体的には、撮像装置10は、図5乃至図10に示されている特殊撮像装置であるため、取得された撮像画像には、図20(A)に示されているような湾曲した二次元コードが撮像画像として取得される。この状態では、撮像画像に示されている二次元コードを読み取ることができない。
読取部14は、取得された撮像画像に示されている二次元コードが読取可能な場合(ステップS32−2のNO)、処理をステップS32−5へ移行させる。一方で、読取部14は、取得された撮像画像に示されている二次元コードの読取ができない場合(ステップS32−2のYES)、処理をステップS32−3へ移行させる。
読取部14は、撮像装置10の広角レンズ102の射影方式を特定する(ステップS32−3)。この場合、撮像装置10が図5乃至図10に示されている特殊撮像装置であるため、読取部14は、射影方式として等距離射影方式を特定する。次に、読取部14は、図20(B)に示されている(式2)を用いた変換を行うことによって補正画像を生成する(ステップS32−4)。具体的には、読取部14は、(式2)を用いて、ステップS32−3によって特定された等距離射影方式で示されている撮像画像の座標を中心射影方式の座標に変換した補正画像を生成する。ここで、(式2)に示されているx,yは、撮像面上での座標を示し、xc,ycは、中心射影方式における座標を示し、xED,yEDは、等距離射影方式における座標を示す。このように、読取部14は、取得された撮像画像の等距離射影方式における座標xED,yEDを、(式2)を用いて中心射影方式の座標xc,ycに変換する。そして、読取部14は、変換された中心射影方式の座標xc,ycによって示されている補正画像を生成する。なお、図20(B)に示されている(式2)は、撮像装置10のレンズの種類によって異なり、ステップS32−3によって特定される射影方式に基づいて、適切な変換式が選択される。
読取部14は、ステップS32−1によって取得された撮像画像又はステップS32−4によって生成された補正画像に示されている二次元コード450aを読み取る(ステップS32−5)。そして、設定情報処理部15は、ステップS32−5によって読み出された二次元コードを展開することにより、二次元コード450aに埋め込まれた設定情報を取得する(ステップS32−6)。これにより、撮像装置10は、通信端末30に表示された二次元コード450aを読み取ることによって、コンテンツ配信サービスを利用するための設定情報を取得することができる。
ここで、図21を用いて、ステップS32−6によって取得される設定情報について説明する。図21は、本実施形態に係る二次元コード450aに含まれている設定情報の一例を示す概念図である。設定情報処理部15によって取得される設定情報には、利用するコンテンツ配信サービスのチャンネルを識別するためのチャンネル情報、コンテンツ配信システム50に対するユーザ認証を行うために用いる認証情報、通信ネットワーク5に接続するために用いるネットワーク接続情報、撮像装置10がコンテンツ配信サービスを利用するためのクライアントプログラム7001を識別するためのクライアントプログラムID、及びコンテンツ配信サービスに対するユーザのアクセス権限を識別するための認可コードが含まれている。このうち、チャンネル情報、ユーザID及びパスワードを含む認証情報、並びにSSID及びPASS PHRASEを含むネットワーク接続情報は、通信端末30に表示された設定画面200を用いて、ユーザによって入力される情報である。また、クライアントプログラムID及び認可コードは、コンテンツ配信システム50によって管理されている情報である。撮像装置10は、二次元コード450aを読み取ることによって、二次元コード450aに埋め込まれている設定情報を取得する。
図18に戻り、撮像装置10の送受信部11は、ルータ90に対して、通信ネットワーク5への接続を要求するネットワーク接続要求を送信する(ステップS33)。このネットワーク接続要求には、ステップS32−6によって取得された設定情報に示されているネットワーク接続情報が含まれている。これにより、ルータ90の送受信部91は、撮像装置10から送信されたネットワーク接続要求を受信する。そして、ルータ90は、ステップS33によって受信されたネットワーク接続情報を用いて、撮像装置10とのネットワーク接続を行う(ステップS34)。これにより、撮像装置10のネットワーク制御部16は、ルータ90を介して、通信ネットワーク5への接続を確立する。
次に、撮像装置10の送受信部11は、クライアントプログラム配信システム70に対して、クライアントプログラム7001のダウンロードを要求するクライアントプログラム取得要求を送信する(ステップS35)。このクライアントプログラム取得要求には、ステップS32−6によって取得された設定情報に示されているクライアントプログラム識別情報が含まれている。これにより、クライアントプログラム配信システム70の送受信部71は、撮像装置10から送信されたクライアントプログラム取得要求を受信する。そして、送受信部71は、撮像装置10に対して、記憶部7000に記憶されたクライアントプログラム7001を送信する(ステップS36)。これにより、撮像装置10の送受信部11は、クライアントプログラム7001を受信(ダウンロード)する。
撮像装置10のクライアントプログラム管理部17は、ステップS36によって受信されたクライアントプログラム7001をインストールし、クライアントプログラム7001を起動させる(ステップS37)。そして、送受信部11は、起動されたクライアントプログラム7001を用いて、コンテンツ配信システム50に対して、コンテンツ配信サービスへの接続要求を送信する(ステップS38)。この接続要求には、ステップS32−6によって取得された設定情報に示されている認証情報(ユーザID及びパスワード)が含まれている。これにより、コンテンツ配信システム50の送受信部51は、撮像装置10から送信された接続要求を受信する。
コンテンツ配信システム50の認証部52は、送受信部51によって受信された認証情報を用いて、撮像装置10を用いるユーザの認証処理を行う(ステップS39)。具体的には、認証部52は、送受信部51によって受信された接続要求に含まれているユーザID及びパスワードを検索キーとして、認証管理テーブル(図12(A)参照)を検索する。また、認証部52は、ログイン要求情報に含まれているユーザID及びパスワードの組み合わせが、認証管理テーブルで管理されている場合、コンテンツ配信サービスへの接続(ログイン)を許可する。ここで、接続情報に含まれているユーザID及びパスワードの組合せが、認証管理テーブルで管理されている場合、以降の処理が実行される。また、認可情報管理部54は、送受信部51によって受信された接続要求に含まれている認可コードを検索キーとして認可情報管理テーブル(図12(B)参照)を検索することにより、対応する認可コードが関連づけられているアクセス権限を許可する。
そして、送受信部51は、撮像装置10に対して、許可されたアクセス権限が示されている権限情報を送信する(ステップS40)。これにより、撮像装置10の送受信部11は、コンテンツ配信システム50から送信された権限情報を受信する。
<設置場所IDの取得>
コンテンツ配信システム50と通信した撮像装置10は、自機が接続するセッションを特定する処理を開始する。図22は、撮像装置10が会議室403の天井に提示された二次元コード400を読み取って、コンテンツ配信システム50からセッションIDを取得する処理を示すシーケンス図の一例である。
S51:撮像装置10の撮像処理部13は周囲に提示されている二次元コード400を撮像する。読取部14は、取得された撮像画像に示されている二次元コード400を読み取り、設置場所IDに変換する(デコードする)。なお、必要に応じて図20(B)に示した画像補正を行う。
S52:撮像装置10の送受信部11は設置場所IDを指定してセッションIDをコンテンツ配信システム50に問い合わせる。
S53:コンテンツ配信システム50の送受信部51は問い合わせを受信し、記憶・読出部59が設置場所情報記憶部5006から設置場所IDに対応付けられているセッションIDを取得する。
S54:コンテンツ配信システム50の送受信部51は、設置場所IDとセッションIDを指定してセッションID問い合わせ結果を撮像装置10に送信する。
S55:撮像装置10の送受信部11はセッションID問い合わせ結果を受信する。コンテンツ送信制御部18はセッションIDを指定してセッションの登録をコンテンツ配信システム50に要求する。
S56:コンテンツ配信システム50の送受信部51はセッションの登録要求を受信する。セッション管理部56はセッション情報記憶部5007にセッションIDを登録する。これにより、撮像装置10が画像を配信するセッションが登録される。
S57:コンテンツ配信システム50の送受信部51はセッション登録OKを撮像装置10に送信する。
S58:撮像装置10の送受信部11はセッション登録OKを受信し、コンテンツ送信制御部18がセッションIDを指定して画像データの送信を開始する。コンテンツ配信システム50の送受信部51が画像データを受信すると、セッション管理部56はセッション情報記憶部5007のセッションIDに対応付けて撮像装置10が画像を送信中である旨を登録する。これにより、これから会議に参加する参加者は画像送信中かどうかを確認して会議室に参加できる。
<参加者の参加処理>
続いて、参加者が通信端末30を所望のセッションに接続させて、会議に参加する動作又は処理を説明する。図23は、通信端末30がセッションに接続する手順を示すシーケンス図の一例である。
S61:参加者は通信端末30を操作して、通信端末30をコンテンツ配信システム50に接続させる。コンテンツ配信システム50の画面生成部57はセッションの選択画面を生成する。すなわち、セッション情報記憶部5007からセッションIDを取得し、設置場所情報記憶部5006からセッションIDに対応付けられている会議室名称を取得する。そして、セッションIDと会議室名称とが会議室ごとに対応付けられたセッションの選択画面を生成する。この時、画像送信中か画像停止中かで異なる色などをセッションに設定するとよい。通信端末30の表示制御部33はコンテンツ配信システム50から受信したセッションの選択画面をディスプレイ317に表示する。なお、画面生成部57は設置場所情報テーブルからセッションの選択画面を生成してもよい。
図24は通信端末30が表示したセッションの選択画面460の一例を示す。セッションの選択画面460は、会議室名のリスト461を表示する。参加者は自分が参加する会議室名は知っているので、どの会議室を選択すれば、通信端末30を目的のセッションに接続できるか判断できる。なお、セッションの選択画面460にはセッションIDは表示されなくてもよい。
S62:通信端末30の受付部32は会議室(セッション)の選択を受け付ける。
S63:通信端末30の送受信部31はセッションIDと要求元IPアドレスを指定して、参加要求をコンテンツ配信システム50に送信する。
S64:コンテンツ配信システム50の送受信部51は参加要求を受信し、セッション管理部56がセッションへの参加処理を実行する。すなわち、セッション情報記憶部5007の参加要求されたセッションIDに対応付けて、通信端末30のIPアドレス(要求元IPアドレス)を登録する。
S65:コンテンツ配信システム50の送受信部51はセッションIDと参加処理結果を指定して参加要求応答を通信端末30に送信する。
S66:撮像装置10のコンテンツ送信制御部18はコンテンツ配信システム50から取得したセッションIDを指定して、撮像処理部13が送信した画像データをコンテンツ配信システム50に繰り返し送信する。
S67:コンテンツ配信システム50の送受信部51は画像データとセッションIDを受信する。コンテンツ配信管理部55は送信されたセッションIDをセッション情報記憶部5007で検索し、セッションに参加している参加端末のIPアドレスを特定する。そして、コンテンツ配信管理部55は、参加端末のIPアドレスを宛先にして画像データを送信する。このように、参加者は遠隔地から会議室の映像を共有できる。
<セッションの接続の別の例>
図22,図23等では、通信端末30が通信を開始する前に撮像装置10がコンテンツ配信システム50との間でセッションを接続し、通信端末30がセッションを指定して接続した。この方法とは別に、通信端末30が通信を開始するタイミングで撮像装置10と通信端末30がセッションを接続する方法もある。このセッションの接続方法でも会議室に提示された二次元コード400が有効である。
図25は、通信端末30が通信を開始するタイミングで撮像装置10と通信端末30がセッションを接続するシーケンス図の一例である。
S71:図22のステップS51と同様に撮像装置10の撮像処理部13が二次元コード400を撮像する。読取部14は設置場所IDを取得する。
S72:撮像装置10の送受信部11は、コンテンツ配信システム50に自端末の通信ID、設置場所ID及びIPアドレスを送信する。なお、通信IDは、会議に参加する端末を識別する識別情報である。電話番号に相当するものだが、メールアドレスなどでもよい。
S73:コンテンツ配信システム50の送受信部51は通信ID、設置場所ID及びIPアドレスを受信し、記憶・読出部59が設置場所情報記憶部5006の設置場所IDに対応付けて通信IDとIPアドレスを登録する。
図26は、図25における設置場所テーブルの一例である。設置場所IDに対応付けて、設置場所名称、IPアドレス、及び、通信IDが対応付けられている。図13と比較してセッションIDがないのは、図25の処理では通信端末30が接続したタイミングでセッションが接続されるからである。
S74:参加者が会議に参加する場合、通信端末30をコンテンツ配信システム50に接続させる。画面生成部57は図26の設置場所テーブルに基づいてセッションの選択画面を生成する。これにより、図24に示したセッションの選択画面を通信端末30が表示する。なお、図24に示しているセッションIDは表示されないことに注意されたい。
S75:参加者は自分が参加する会議室をリストから選ぶ。受付部12が会議室の選択を受け付け、送受信部11が配置場所IDを指定して、配置場所IDと対応する通信IDをコンテンツ配信システム50に問い合わせる。
S76:コンテンツ配信システム50の送受信部51は問い合わせを受信し、記憶・読出部59が設置場所IDに対応付けられている通信IDを設置場所情報記憶部5006から取得する。送受信部51は撮像装置の通信IDを通信端末30に送信する。
S77:通信端末30の送受信部31は通信IDを受信できたので、自機の通信IDとIPアドレスを指定して、コンテンツ配信システム50から通知された通信ID(撮像装置)に対して呼び出しを要求する。
S78:コンテンツ配信システム50の送受信部51は呼び出し要求を受信し、記憶・読出部59が撮像装置10の通信IDに対応付けられているIPアドレスを設置場所情報記憶部5006から取得する。セッション管理部56は撮像装置10のIPアドレスを宛先に、セッション開始要求を送信する。撮像装置10からセッション開始OKが返却されると、セッション管理部56は撮像装置10と通信端末30との間でセッションを接続する。具体的には、セッションIDを採番し、セッション情報記憶部5007に、撮像装置10と通信端末30の通信IDとIPアドレスをそれぞれ対応付けて登録する。
撮像装置10は通信IDと共に画像データを送信する。コンテンツ配信管理部55は通信IDに基づいてセッションに接続している通信端末30をセッション情報記憶部5007から特定し、この通信端末30のIPアドレスを宛先に画像データを送信する。
このように、通信端末30が通信を開始するタイミングで撮像装置10と通信端末30がセッションを接続することができる。
S79:撮像装置10の電源がシャットダウンされると、撮像装置10の送受信部11は配置場所IDを指定してシャットダウンをコンテンツ配信システム50に通知する。
S80:コンテンツ配信システム50の送受信部51はシャットダウン通知を受信して、記憶・読出部59が通信IDとIPアドレスを設置場所情報記憶部5006から削除する。また、セッション管理部56はセッション情報記憶部5007から撮像装置の通信IDとIPアドレスを削除する。こうすることで、セッションを終了できる。
<主な効果>
以上説明したように、本実施形態の撮像装置10は、撮像装置10が天井等に提示された二次元コード400を自動的に読み取り、自端末が配置された場所(たとえば会議室403)をコンテンツ配信システムに登録する。これにより、会議に参加する通信端末には撮像装置10の設置場所が表示されるので、撮像装置は配置されている場所を参加者に通知できる。
<その他>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、本実施形態では設置場所IDが会議室を意味したが、設置場所IDは撮像装置の設置場所を特定できればよい。撮像装置が設置される場所は、屋外でもよいし、海上や水中などでもよい。屋外では例えば、地面に二次元コード400が提示されてよい。また、会議室の他、教室、店舗、展示会場など、任意の施設が設置場所となりうる。
また、図11などの構成例は、コンテンツ配信システム50、撮像装置10、通信端末30による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。コンテンツ配信システム50、撮像装置10、通信端末30の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウエアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
また、上記で説明した実施形態の各種テーブルは、機械学習の学習効果によって生成されたものでもよく、関連づけられている各項目のデータを機械学習にて分類付けすることで、テーブルを使用しなくてもよい。ここで、機械学習とは、コンピュータに人のような学習能力を獲得させるための技術であり,コンピュータが,データ識別等の判断に必要なアルゴリズムを,事前に取り込まれる学習データから自律的に生成し,新たなデータについてこれを適用して予測を行う技術のことをいう。機械学習のための学習方法は、教師あり学習、教師なし学習、半教師学習、強化学習、深層学習のいずれかの方法でもよく、更に、これらの学習方法を組み合わせた学習方法でもよく、機械学習のための学習方法は問わない。
また、実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、コンテンツ配信システム50は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
更に、コンテンツ配信システム50は、開示された処理ステップ、例えば図22,図23等を様々な組み合わせで共有するように構成できる。例えば、所定のユニットによって実行されるプロセスは、コンテンツ配信システム50が有する複数の情報処理装置によって実行され得る。また、コンテンツ配信システム50は、1つのサーバ装置にまとめられていても良いし、複数の装置に分けられていても良い。