(57)【要約】【課題】  ユーザが通信装置が利用できる通信プロトコルを更新せずとも、クラウドサービスが利用する通信プロトコルの更新に対応できるようにする。【解決手段】  中継サーバは接続部と制御部を有する。制御部は、配信サーバが提供するサービスが利用する第一の通信プロトコルに関するデータを配信サーバから、デジタルカメラが利用する第二の通信プロトコルに関するデータをデジタルカメラから受信する。制御部は、第一の通信プロトコルと第二の通信プロトコルとを比較し、通信プロトコルとが一致すると判断した場合、制御部は、サービスを利用するための配信データを配信サーバへ第二の通信プロトコルに従って送信する。通信プロトコルとが異なると判断した場合、制御部は、配信データをデジタルカメラから第二の通信プロトコルに従って受信し、受信した配信データを配信サーバへ第一の通信プロトコルに従って送信する。【選択図】  図７
2020123086.tif 000002
【特許請求の範囲】
【請求項１】
通信手段と、
制御手段と、を有し、
前記制御手段は、外部装置が提供するサービスが利用する第一の通信プロトコルに関するデータを、前記外部装置から受信するよう前記通信手段を制御し、
前記制御手段は、通信装置が利用する第二の通信プロトコルに関するデータを、前記通信装置から受信するよう前記通信手段を制御し、
前記制御手段は、前記第一の通信プロトコルに関するデータと前記第二の通信プロトコルに関するデータとを比較し、
前記第一の通信プロトコルおよび前記第二の通信プロトコルが一致すると判断した場合、前記制御手段は、前記サービスを利用するために前記通信装置から前記外部装置へ送信される第一のデータを前記外部装置へ前記第二の通信プロトコルに従って送信するよう、前記通信手段を介して前記通信装置を制御し、
前記第一の通信プロトコルおよび前記第二の通信プロトコルが異なると判断した場合、前記制御手段は、前記第一のデータを前記通信装置から前記第二の通信プロトコルに従って受信し、受信した前記第一のデータを前記外部装置へ前記第一の通信プロトコルに従って送信するよう、前記通信手段を制御する
ことを特徴とする情報処理装置。
【請求項２】
前記第一の通信プロトコルおよび前記第二の通信プロトコルが一致すると判断した場合、前記制御手段は、前記第一の通信プロトコルに従って前記外部装置へ前記第一のデータを送信するためのアドレスを、前記通信装置へ送信するよう前記通信手段を制御し、
前記第一の通信プロトコルおよび前記第二の通信プロトコルが異なると判断した場合、前記制御手段は、前記第二の通信プロトコルに従って前記第一のデータを受信するためのアドレスを、前記通信装置へ送信するよう前記通信手段を制御する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記第二の通信プロトコルに従って受信した前記第一のデータを前記第一の通信プロトコルに従って前記外部装置へ送信するための第二のデータに変換し、
前記制御手段は、前記第二のデータを前記第一の通信プロトコルに従って前記外部装置へ送信するよう前記通信手段を制御する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記制御手段は前記通信装置から前記サービスの利用を終了することを要求するパケットを受信し、受信した要求を前記外部装置へ送信するよう前記通信手段を制御することを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第二の通信プロトコルに従って前記第一のデータを受信する場合、前記制御手段は前記通信装置から前記サービスの利用を終了することを要求するパケットを受信し、受信した要求を前記外部装置へ送信するよう前記通信手段を制御し、
前記第二の通信プロトコルに従って前記第一のデータを受信しない場合、前記制御手段は前記通信装置から前記サービスの利用を終了することを要求するパケットを受信しないよう前記通信手段を制御する
ことを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項６】
前記第一のデータは前記外部装置が提供するサービスのコンテンツであることを特徴とする請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第一のデータは動画データおよび音声データの少なくとも一方であることを特徴とする請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記制御手段は、前記通信装置から前記サービスを利用するための登録情報を受信するよう前記通信手段を制御し、
前記制御手段は、前記登録情報を用いて前記外部装置から認証情報を受信するよう前記通信手段を制御する
ことを特徴とする請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
前記登録情報はアカウントＩＤおよびパスワードであり、前記認証情報はアクセストークンであることを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記第一の通信プロトコルおよび前記第二の通信プロトコルはそれぞれストリーミングによる通信を目的とした通信プロトコルであることを特徴とする請求項１から９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記サービスはストリーミング技術を利用したサービスであることを特徴とする請求項１から１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記サービスはライブ配信サービスであることを特徴とする請求項１から１１のいずれか１項に記載の通信装置。
【請求項１３】
通信手段と、
制御手段と、を有し、
前記制御手段は、外部装置が提供するサービスを利用するためのデータを前記外部装置へ送信するために利用する第一の通信プロトコルに関する情報を、情報処理装置から受信するよう前記通信手段を制御し、
前記第一の通信プロトコルを利用する場合、前記制御手段は前記第一の通信プロトコルに従って前記外部装置へ前記データを送信するよう前記通信手段を制御し、
前記第一の通信プロトコルを利用しない場合、前記制御手段は、前記第一の通信プロトコルとは異なる第二の通信プロトコルに従って前記情報処理装置へ前記データを送信するよう前記通信手段を制御する
ことを特徴とする通信装置。
【請求項１４】
前記第一の通信プロトコルを利用する場合、前記制御手段は前記サービスの利用を終了するためのパケットを前記外部装置へ送信するよう前記通信手段を制御し、
前記第一の通信プロトコルを利用しない場合、前記制御手段は、前記サービスの利用を終了するためのパケットを前記情報処理装置へ送信するよう前記通信手段を制御する
ことを特徴とする請求項１３に記載の通信装置。
【請求項１５】
前記制御手段は、前記サービスの利用を終了するためのパケットを送信する前に前記データの送信を終了することを特徴とする請求項１４に記載の通信装置。
【請求項１６】
さらに表示手段を有し、
前記サービスの利用を開始する前に前記表示手段に待機画面を表示することを特徴とする請求項１３から１５のいずれか１項に記載の通信装置。
【請求項１７】
さらに撮像手段を有し、
前記データは前記制御手段が前記撮像手段によって撮像したデータである
ことを特徴とする請求項１３から１６のいずれか１項に記載の通信装置。
【請求項１８】
前記第一の通信プロトコルおよび前記第二の通信プロトコルはそれぞれストリーミングによる通信を目的とした通信プロトコルであることを特徴とする請求項１３から１７のいずれか１項に記載の通信装置。
【請求項１９】
前記サービスはストリーミング技術を利用したサービスであることを特徴とする請求項１３から１８のいずれか１項に記載の通信装置。
【請求項２０】
前記サービスはライブ配信サービスであることを特徴とする請求項１３から１９のいずれか１項に記載の通信装置。
【請求項２１】
前記第二の通信プロトコルはＲｅａｌ−Ｔｉｍｅ  Ｍｅｓｓａｇｉｎｇ  Ｐｒｏｔｏｃｏｌであることを特徴とする請求項１３から２０のいずれか１項に記載の通信装置。
【請求項２２】
通信手段と、
制御手段と、を有する情報処理装置の制御方法であって
外部装置が提供するサービスが利用する第一の通信プロトコルに関するデータを、前記外部装置から受信するよう前記通信手段を制御するステップと、
通信装置が利用する第二の通信プロトコルに関するデータを、前記通信装置から受信するよう前記通信手段を制御するステップと、
前記第一の通信プロトコルに関するデータと前記第二の通信プロトコルに関するデータとを比較するステップと、
前記第一の通信プロトコルおよび前記第二の通信プロトコルが一致すると判断した場合、前記サービスを利用するための第一のデータを前記外部装置へ前記第二の通信プロトコルに従って送信するよう、前記通信手段を介して前記通信装置を制御するステップと、
前記第一の通信プロトコルおよび前記第二の通信プロトコルが異なると判断した場合、前記第一のデータを前記通信装置から前記第二の通信プロトコルに従って受信し、受信した前記第一のデータを前記外部装置へ前記第一の通信プロトコルに従って送信するよう、前記通信手段を制御するステップと、
を有することを特徴とする制御方法。
【請求項２３】
通信手段と、
制御手段と、を有する通信装置の制御方法であって、
外部装置が提供するサービスを利用するためのデータを前記外部装置へ送信するために利用する第一の通信プロトコルに関する情報を、情報処理装置から受信するよう前記通信手段を制御するステップと、
前記第一の通信プロトコルを利用する場合、前記第一の通信プロトコルに従って前記外部装置へ前記データを送信するよう前記通信手段を制御するステップと、
前記第一の通信プロトコルを利用しない場合、前記第一の通信プロトコルとは異なる第二の通信プロトコルに従って前記情報処理装置へ前記データを送信するよう前記通信手段を制御するステップと、
を有することを特徴とする制御方法。
【請求項２４】
コンピュータを請求項１から１２のいずれか１項に記載の情報処理装置の各手段として機能させるための、コンピュータが読み取り可能なプログラム。
【請求項２５】
コンピュータを請求項１３から２１のいずれか１項に記載の通信装置の各手段として機能させるための、コンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信プロトコルに従って通信可能な情報処理装置に関する。
【背景技術】
【０００２】
近年、コンテンツをインターネットを介して、ユーザに提供するクラウドサービスが知られている。例えば、ユーザがデジタルカメラによって撮影した動画（コンテンツ）をリアルタイムにインターネットを介して他のユーザへ配信できるといった、ライブ配信サービスというクラウドサービスがある。特許文献１では、デジタルカメラとサーバとが通信し、サーバがデジタルカメラで撮影している動画データをライブ配信するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−２２０５９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、クラウドサービスのシステムの仕様変更や改修等によりクラウドサービスを利用するための通信プロトコルが更新されることがあった。そのため、例えばライブ配信サービスが利用する通信プロトコルが更新された場合、ユーザはそれに対応してデジタルカメラが利用できる通信プロトコルを更新しなければ、そのライブ配信サービスを利用できなくなるおそれがあった。
【０００５】
そこで本発明は、ユーザは通信装置が利用できる通信プロトコルを更新せずとも、クラウドサービスが利用する通信プロトコルの更新に対応できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の情報処理装置は、通信手段と、制御手段と、を有し、前記制御手段は、外部装置が提供するサービスが利用する第一の通信プロトコルに関するデータを、前記外部装置から受信するよう前記通信手段を制御し、前記制御手段は、通信装置が利用する第二の通信プロトコルに関するデータを、前記通信装置から受信するよう前記通信手段を制御し、前記制御手段は、前記第一の通信プロトコルに関するデータと前記第二の通信プロトコルに関するデータとを比較し、前記第一の通信プロトコルおよび前記第二の通信プロトコルが一致すると判断した場合、前記制御手段は、前記サービスを利用するために前記通信装置から前記外部装置へ送信される第一のデータを前記外部装置へ前記第二の通信プロトコルに従って送信するよう、前記通信手段を介して前記通信装置を制御し、前記第一の通信プロトコルおよび前記第二の通信プロトコルが異なると判断した場合、前記制御手段は、前記第一のデータを前記通信装置から前記第二の通信プロトコルに従って受信し、受信した前記第一のデータを前記外部装置へ前記第一の通信プロトコルに従って送信するよう、前記通信手段を制御することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ユーザは通信装置が利用できる通信プロトコルを更新せずとも、クラウドサービスが利用する通信プロトコルの更新に対応できる。
【図面の簡単な説明】
【０００８】
【図１】第一の実施形態における通信システムの構成の一例を示す図である。
【図２】第一の実施形態におけるデジタルカメラの構成の一例を示す図である。
【図３】第一の実施形態における中継サーバの構成の一例を示す図である。
【図４】（Ａ）第一の実施形態におけるデジタルカメラが利用する通信プロトコルを管理するためのデータベースのテーブルの一例である。（Ｂ）第一の実施形態におけるクラウドサービスが利用する通信プロトコルを管理するためのデータベースのテーブルの一例である。（Ｃ）第一の実施形態において、中継サーバ２００が生成するデータベースのテーブルの一例である。（Ｄ）第一の実施形態におけるデジタルカメラの種類ごとのデータベースのテーブルの一例である。
【図５】（Ａ）第一の実施形態における中継サーバ２００がデジタルカメラ１００が利用する通信プロトコルをデータベースに登録する処理の一例を示すシーケンス図である。（Ｂ）第一の実施形態における中継サーバ２００が配信サーバ３００が利用する通信プロトコルをデータベースに登録する処理の一例を示すシーケンス図である。
【図６】第一の実施形態におけるデジタルカメラ１００が配信サーバ３００へ直接配信データを送信する場合のライブ配信処理の一例のシーケンスを示す図である。
【図７】第一の実施形態におけるデジタルカメラ１００が配信サーバ３００へ中継サーバ２００を介して配信データを送信する場合のライブ配信処理の一例のシーケンスを示す図である。
【図８】（Ａ）第一の実施形態におけるライブ配信処理を開始するための画面の一例である。（Ｂ）第一の実施形態におけるデジタルカメラのライブ配信を開始する前の待機画面の一例である。（Ｃ）第一の実施形態におけるデジタルカメラのライブ配信中の画面の一例である。
【図９】第一の実施形態におけるデジタルカメラの動作の一例を示すフローチャートである。
【図１０】第一の実施形態における中継サーバの動作の一例を示すフローチャートである。
【図１１】第二の実施形態におけるデジタルカメラ１００が配信サーバ３００へ直接配信データを送信する場合のライブ配信処理の一例のシーケンスを示す図である。
【図１２】第二の実施形態におけるデジタルカメラ１００が配信サーバ３００へ中継サーバ２００を介して配信データを送信する場合のライブ配信処理の一例のシーケンスを示す図である。
【図１３】第二の実施形態におけるデジタルカメラの動作の一例を示すフローチャートである。
【図１４】第二の実施形態における中継サーバの動作の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
［第一の実施形態］
＜システム構成＞
図１は、デジタルカメラ１００がライブ配信するためのシステム構成の一例を示す図である。デジタルカメラ１００はネットワークを介して中継サーバ２００および配信サーバ３００にアクセスする。ここで、デジタルカメラ１００は中継サーバ２００のアドレスを記録しており、中継サーバ２００は配信サーバ３００のアドレスを記録しているとする。このアドレスは例えばＩＰアドレスやＵＲＬ等である。
【００１０】
本実施形態の外部装置の一例である配信サーバ３００はストリーミング技術を利用したクラウドサービスを提供する。本実施形態において、配信サーバ３００は例えばライブ配信サービスを提供する。
【００１１】
デジタルカメラ１００と中継サーバ２００は、ネットワークルータ４００を介して接続する。ネットワークルータ４００は無線ＬＡＮのアクセスポイントとなってネットワークを形成する。デジタルカメラ１００はクライアントとしてネットワークルータ４００が形成したネットワークにジョインする。デジタルカメラ１００はネットワークルータ４００を介して、中継サーバ２００と接続する。また、中継サーバ２００は公衆回線を経由して、配信サーバ３００と接続する。そして、デジタルカメラ１００は中継サーバ２００から配信サーバ３００のアドレスを受信し、そのアドレスを利用して配信サーバ３００と接続することができる。
【００１２】
なお、本実施形態においてデジタルカメラ１００がネットワークルータ４００に無線接続する例を説明するが、デジタルカメラ１００はネットワークルータ４００に有線接続してもよい。また、本実施形態の通信システムではデジタルカメラ１００は１台として説明しているが、複数のデジタルカメラ１００が中継サーバ２００および配信サーバ３００と接続することも可能である。
【００１３】
＜デジタルカメラ１００の構成＞
まず通信装置の一例であるデジタルカメラ１００について説明する。図２は、本実施形態におけるデジタルカメラ１００の構成例を示すブロック図である。なお、ここでは通信装置の一例としてデジタルカメラについて述べるが、通信装置はこれに限られない。例えば通信装置は、いわゆるスマートフォンや、タブレットデバイス、デジタルビデオカメラ、パーソナルコンピュータなどの情報処理装置であってもよい。本実施形態では特に、ユーザが携帯できるデジタルカメラ１００を例に説明する。本実施形態において、デジタルカメラ１００はライブ配信サービスを利用するための機能を有している。ライブ配信については後述する。
【００１４】
制御部１０１は、入力された信号や、後述のプログラムに従ってデジタルカメラ１００の各部を制御する。なお、制御部１０１が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【００１５】
撮像部１０２は、例えば、光学レンズユニットと絞り・ズーム・フォーカスなど制御する光学系と、光学レンズユニットを経て導入された光（映像）を電気的な映像信号に変換するための撮像素子などで構成される。撮像素子としては、一般的には、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）や、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）が利用される。撮像部１０２は、制御部１０１に制御されることにより、撮像部１０２に含まれるレンズで結像された被写体光を、撮像素子により電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。本実施形態では、当該画像データを撮像し出力するための一連の処理を「撮影」という。また、撮像部１０２は連続して撮影した画像データを１つのデータとして記録することで動画データを生成できる。本実施形態のデジタルカメラ１００では、画像データおよび動画データは、ＤＣＦ（Ｄｅｓｉｇｎ  Ｒｕｌｅ  ｆｏｒ  Ｃａｍｅｒａ  Ｆｉｌｅ  ｓｙｓｔｅｍ）の規格に従って、記録媒体１１０に記録される。また、ライブ配信において配信するための画像データおよび動画データは、作業用メモリ１０４に一時的に記録される。
【００１６】
不揮発性メモリ１０３は、電気的に消去・記録可能な不揮発性のメモリであり、制御部１０１で実行される後述のプログラム等が格納される。
【００１７】
作業用メモリ１０４は、撮像部１０２で撮影された画像データおよび動画データを一時的に保持するバッファメモリや、表示部１０６の画像表示用メモリ、制御部１０１の作業領域等として使用される。
【００１８】
操作部１０５は、ユーザがデジタルカメラ１００に対する指示をユーザから受け付けるために用いられる。操作部１０５は例えば、ユーザがデジタルカメラ１００の電源のオン／オフを指示するための電源ボタンや、撮影を指示するためのレリーズスイッチ、画像データの再生を指示するための再生ボタンを含む。さらに、後述の接続部１１１を介して外部機器との通信を開始するための専用の接続ボタンなどの操作部材を含む。また、後述する表示部１０６に形成されるタッチパネルも操作部１０５に含まれる。なお、レリーズスイッチは、ＳＷ１およびＳＷ２を有する。レリーズスイッチが、いわゆる半押し状態となることにより、ＳＷ１がオンとなる。これにより、ＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理、ＥＦ（フラッシュプリ発光）処理等の撮影準備を行うための指示を受け付ける。また、レリーズスイッチが、いわゆる全押し状態となることにより、ＳＷ２がオンとなる。これにより、撮影を行うための指示を受け付ける。
【００１９】
表示部１０６は、撮影の際のビューファインダー画像の表示、撮影した画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部１０６は必ずしもデジタルカメラ１００が内蔵する必要はない。デジタルカメラ１００は内部または外部の表示部１０６と接続することができ、表示部１０６の表示を制御する表示制御機能を少なくとも有していればよい。また、制御部１０１は、作業用メモリ１０４に蓄積された画像データまたは動画データを表示部１０６に逐次転送して表示することで、表示部１０６は電子ビューファインダとして機能する。これによってデジタルカメラ１００はスルー画像表示（ライブビュー表示）を実行することができる。
【００２０】
マイク１０７は、音や音声等の音波をデジタルカメラ１００に入力するために用いられる。マイク１０７は音や音声を電気信号に変換してデジタルカメラ１００に入力する。制御部１０１は入力された電気信号から音声データを生成する。制御部１０１はこの音声データと撮像部１０２が撮影した動画データとを同期させて記録する。本実施形態において、ライブ配信に送信するための音声データは作業用メモリ１０４に記録される。なお、マイク１０７はデジタルカメラ１００に着脱可能なよう構成してもよいし、デジタルカメラ１００に内蔵されていてもよい。すなわち、デジタルカメラ１００は少なくともマイク１０７から電気信号を受け取るための手段を有していればよい。
【００２１】
記録媒体１１０は、撮像部１０２から出力された画像データおよび動画データを記録することができる。記録媒体１１０は、デジタルカメラ１００に着脱可能なよう構成してもよいし、デジタルカメラ１００に内蔵されていてもよい。すなわち、デジタルカメラ１００は少なくとも記録媒体１１０にアクセスする手段を有していればよい。
【００２２】
接続部１１１は、情報処理装置および外部装置と接続するためのインターフェースである。制御部１０１は、接続部１１１を制御することで情報処理装置および外部装置との通信を実現する。本実施形態のデジタルカメラ１００は、接続部１１１を介して、後述する中継サーバ２００および配信サーバ３００とデータのやりとりを行うことができる。例えば、デジタルカメラ１００は撮像部１０２で生成した動画データおよびマイク１０７で生成した音声データを、接続部１１１を介して配信サーバ３００に送信することができる。なお、本実施形態では、接続部１１１はＩＥＥＥ８０２．１１の規格に従った、いわゆる無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）で通信するためのインターフェースを含む。本実施形態におけるデジタルカメラ１００の接続部１１１は、インフラストラクチャモードにおけるクライアントとして動作するクライアントモードを有している。そして、接続部１１１をクライアントモードで動作させることにより、本実施形態におけるデジタルカメラ１００は、インフラストラクチャモードにおけるクライアント機器として動作することが可能である。デジタルカメラ１００がクライアント機器として動作する場合、周辺のアクセスポイント機器に接続することで、アクセスポイント機器が形成するＬＡＮにジョインすることが可能である。なお、通信方式は無線ＬＡＮに限定されるものではなく、例えば４ＧやＬＴＥなどの公衆無線通信方式や、Ｅｔｈｅｒｎｅｔ等の規格に従った有線通信方式を含む。
【００２３】
以上、通信装置の一例であるデジタルカメラ１００について説明した。
【００２４】
＜中継サーバ２００の構成＞
次に、情報処理装置の一例である中継サーバ２００について説明する。図３は、本実施形態における中継サーバ２００の構成例を示すブロック図である。なお、ここでは情報処理装置の一例としてサーバを例に挙げて説明するが、情報処理装置はこれに限らない。情報処理装置は、デジタルカメラ１００と配信サーバ３００との通信を中継し、配信サーバ３００の通信プロトコルの変更に対応できる機能を有していればよい。情報処理装置は、例えば、スマートフォン、タブレットデバイス、およびパーソナルコンピュータ等である。
【００２５】
制御部２０１は、入力された信号や、後述のプログラムに従って中継サーバ２００の各部を制御する。なお、制御部２０１が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【００２６】
不揮発性メモリ２０３は、電気的に消去・記録可能な不揮発性のメモリである。不揮発性メモリ２０３には、制御部２０１が実行する基本的なソフトウェアであるＯＳ（オペレーティングシステム）や、このＯＳと協働して応用的な機能を実現するアプリケーションが記録されている。また、本実施形態では、不揮発性メモリ２０３には、デジタルカメラ１００および配信サーバ３００と通信するためのアプリケーションが格納されている。さらに、不揮発性メモリ２０３には後述するデータベースが記録される。
【００２７】
作業用メモリ２０４は、揮発性メモリである。作業用メモリ２０４は、制御部２０１のワーク領域、エラー処理時のデータの退避領域等として使用される。
【００２８】
操作部２０５は、中継サーバ２００に対する指示をユーザから受け付けるために用いられる。操作部２０５は例えば、ユーザが中継サーバ２００の電源のオン／オフを指示するための電源ボタンや、キーボードやマウス等の入力装置等を含む。また、後述する表示部２０６に形成されるタッチパネルも操作部２０５に含まれる。なお、操作部２０５は必ずしも中継サーバ２００が内蔵する必要はない。中継サーバ２００は内部または外部の操作部２０５と接続することができる。
【００２９】
表示部２０６は、対話的な操作のための文字表示などを行う。表示部２０６は例えば、液晶ディスプレイや有機ＥＬディスプレイ等である。なお、表示部２０６は必ずしも中継サーバ２００が内蔵する必要はない。中継サーバ２００は内部または外部の表示部２０６と接続することができ、表示部２０６の表示を制御する表示制御機能を少なくとも有していればよい。
【００３０】
外部記録装置２１０は、外部記録媒体に対して読み出しおよび書き込みを行う装置である。プログラムや画像データが外部記録媒体に記録されている場合、これらは外部記録装置２１０を介して作業用メモリ２０４に読み込まれる。外部記録媒体は、例えば、ＤＶＤ−ＲＷ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＡＭなどの光ディスクや、フレキシブルディスク、ＭＯなどの磁気ディスク、着脱可能なフラッシュメモリ等の中継サーバ２００に着脱可能な不揮発性メモリである。
【００３１】
接続部２１１は、通信装置および外部装置と接続するためのインターフェースである。本実施形態の中継サーバ２００は、接続部２１１を介して、通信装置および外部装置とデータのやりとりを行うことができる。
【００３２】
以上、中継サーバ２００について説明した。
【００３３】
＜ライブ配信の説明＞
ここで、ライブ配信について説明する。ライブ配信は、ストリーミング技術によって配信者（ユーザ）がインターネットを介してリアルタイムに動画データや音声データ等を視聴者（他のユーザ）へ配信することである。視聴者はこの動画データや音声データ等を、テレビ放送やラジオ放送の生放送のように、インターネットを介してリアルタイムに視聴できる。このようなクラウドサービスをライブ配信サービスという。ライブ配信サービスが提供する配信サーバ３００は配信者と視聴者とを仲介する。例えばデジタルカメラ１００は撮影している動画データを配信サーバ３００へリアルタイムに送信する。配信サーバ３００は受信した動画データをＷｅｂページ等で視聴者がリアルタイムに視聴できるようにサービスを提供する。以降、ライブ配信において視聴者へ配信するための動画データ、音声データおよびテキストデータ等のコンテンツを総称して配信データという。本実施形態では、デジタルカメラ１００は動画データおよび音声データの少なくとも一方のコンテンツを送信する。
【００３４】
ユーザはライブ配信を開始する前に、パソコンやスマートフォン等を用いてイベントを配信サーバ３００上に作成する。イベントは、例えばライブ配信の識別子、送信ＵＲＬ、ストリームキー、ライブ配信のタイトル、ライブ配信の開始時間、および動画データのビットレート等のライブ配信に関する設定を含むデータである。送信ＵＲＬは、例えば配信データの送信先となる配信サーバ３００のＩＰアドレスやＵＲＬである。ユーザはこのイベントを配信サーバに複数作成することができる。また、デジタルカメラ１００がイベントを作成することもできる。また、配信サーバ３００はユーザのイベントを設定する手間を省くためにデフォルトのイベントを有してもよい。本実施形態において配信サーバ３００はデジタルカメラ１００によって要求されたイベントを中継サーバ２００を介してデジタルカメラ１００へ送信する。なお、中継サーバ２００はそのイベントからデジタルカメラ１００がライブ配信に必要な情報を選択してデジタルカメラ１００へ送信してもよい。
【００３５】
次にライブ配信サービスにおける通信において用いられる通信プロトコルについて説明する。一般的に、配信データの送受信に利用する通信プロトコルと、配信データ以外のデータの送受信に利用する通信プロトコルは異なる。ライブ配信において配信データの送受信に利用する通信プロトコルはストリーミングによる通信を目的とした通信プロトコルが用いられる。例えば、この通信プロトコルはＲＴＭＰ（Ｒｅａｌ―Ｔｉｍｅ  Ｍｅｓｓａｇｉｎｇ  Ｐｒｏｔｏｃｏｌ）やＤＡＳＨ（Ｄｙｎａｍｉｃ  Ａｄａｐｔｉｖｅ  Ｓｔｒｅａｍｉｎｇ  ｏｖｅｒ  ＨＴＴＰ）等のストリーミング用の通信プロトコルである。ＤＡＳＨはＭＰＥＧ−ＤＡＳＨとも呼ばれている。これらの配信データの送受信に利用する通信プロトコルは、ライブ配信サービスごとに異なることがある。
【００３６】
また、配信データ以外のデータの送受信に利用する通信プロトコルは汎用的な通信プロトコルがよく用いられる。これは一般的に、ストリーミングによる通信を目的とした通信プロトコルよりも汎用的な通信プロトコルの方が、データの用途に応じたインターフェースの実装が容易であるという理由等がある。例えば、汎用的な通信プロトコルはＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）である。本実施形態では各装置は配信データの送受信には前者のストリーミングによる通信を目的とした通信プロトコルを利用する。また本実施形態では、各装置は配信データ以外のデータの送受信には後者の汎用的な通信プロトコルであるＨＴＴＰを利用する。
【００３７】
＜中継サーバ２００のデータベースの構成＞
図４（Ａ）〜（Ｃ）を用いて、デジタルカメラ１００が利用する通信プロトコルおよび配信サーバ３００が利用する通信プロトコルを中継サーバ２００がそれぞれ管理する方法を説明する。本実施形態において、デジタルカメラ１００が利用する通信プロトコルおよび配信サーバ３００が利用する通信プロトコルを中継サーバ２００はデータベースを用いて管理する。
【００３８】
図４（Ａ）は第一の実施形態におけるデジタルカメラが利用する通信プロトコルを管理するためのデータベースのテーブルの一例である。このデータベースは中継サーバ２００の不揮発性メモリ２０３に記録される。このデータベースには、デジタルカメラの識別子、およびそのデジタルカメラが利用する通信プロトコルが記録される。例えばレコード４１０１およびレコード４１０２に示すように、識別子がＤＣ−ＡであるデジタルカメラはＲＴＭＰおよびＭＰＥＧ−ＤＡＳＨの通信プロトコルに準拠して通信できる。また、例えばレコード４１０３に示すように、識別子がＤＣ−ＢであるデジタルカメラはＲＴＭＰの通信プロトコルに準拠して通信する。このように中継サーバ２００はデジタルカメラごとにそのデジタルカメラが利用する通信プロトコルに関する情報をデータベースに格納する。本実施形態において中継サーバ２００はデジタルカメラと接続を確立する度に、その接続を確立したデジタルカメラに関する情報を更新する。これにより中継サーバ２００は接続したことのあるデジタルカメラの最新の情報を記録しておくことができる。また、中継サーバ２００は通信プロトコルに関する情報をデジタルカメラの他の情報と一緒に記録していてもよい。例えばデジタルカメラの他の情報はバージョン情報や機種名等である。
【００３９】
図４（Ｂ）は第一の実施形態におけるクラウドサービスが利用する通信プロトコルを管理するためのデータベースのテーブルの一例である。このデータベースは中継サーバ２００の不揮発性メモリ２０３に記録される。このデータベースには、クラウドサービスの名称、およびそのクラウドサービスを利用するための通信プロトコルが記録される。本実施形態においてクラウドサービスはライブ配信サービスを提供しているサービスである。レコード４２０１およびレコード４２０２に示すように、名称がＳｅｒｖｉｃｅＡのクラウドサービスはＲＴＭＰおよびＭＰＥＧ−ＤＡＳＨの通信プロトコルに準拠して通信できる。またレコード４２０３に示すように、名称がＳｅｒｖｉｃｅＢのクラウドサービスはＭＰＥＧ−ＤＡＳＨの通信プロトコルに準拠して通信する。本実施形態において中継サーバ２００はクラウドサービスと接続を確立する度にこの情報を更新する。これにより中継サーバ２００は接続したことのあるクラウドサービスの通信プロトコルに関する最新の情報を記録することができる。また、中継サーバ２００は通信プロトコルに関する情報をそのクラウドサービスに関する他の情報と一緒に記録していてもよい。例えばクラウドサービスに関する他の情報はユーザの登録情報やアクセストークン等である。
【００４０】
図４（Ｃ）は第一の実施形態において、配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用できない場合、中継サーバ２００が生成するデータベースのテーブルの一例である。このデータベースは中継サーバ２００の不揮発性メモリ２０３に記録される。このデータベースには、中継サーバ２００がデジタルカメラ１００からデータを受信するための通信プロトコルおよびＵＲＬ、中継サーバ２００から配信サーバ３００へデータを送信するための通信プロトコルおよびＵＲＬが記録される。以下、中継サーバ２００がデジタルカメラ１００からデータを受信するための通信プロトコルを受信プロトコル、およびデジタルカメラ１００からデータを受信するためのＵＲＬを中継ＵＲＬという。また、中継サーバ２００が配信サーバ３００へデータを送信するための通信プロトコルを送信プロトコル、および配信サーバ３００へデータを送信するためのＵＲＬを送信ＵＲＬという。例えばレコード４３０１には、受信プロトコルがＲＴＭＰ、送信プロトコルがＭＰＥＧ−ＤＡＳＨである場合における中継ＵＲＬおよび送信ＵＲＬが記録されている。ここで、中継サーバ２００は中継ＵＲＬを送信ＵＲＬごとに生成する。また、中継サーバ２００はこの中継ＵＲＬを他の中継ＵＲＬと異なるように生成する。例えば以下の中継ＵＲＬに示すように、図４（Ｃ）のレコード４３０１では、中継サーバ２００は中継ＵＲＬをデジタルカメラ１００の識別子（ＤＣ−Ｂ）、レコード番号（４１０３）および生成された順番を表す番号（Ｎｏ１）を組み合わせて生成する。なお、本実施形態において１９２．１６８．１．１は中継サーバ２００のＩＰアドレスであり、１７２．１６．１．１は配信サーバ３００のＩＰアドレスであるとする。また、中継ＵＲＬおよび送信ＵＲＬにおけるＩＰアドレスの部分はドメイン名でもよい。
ｒｔｍｐ：／／１９２．１６８．１．１／ＤＣ−Ｂ／４１０３／Ｎｏ１
【００４１】
配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用できない場合、このデータベースに基づいて、中継サーバ２００はデジタルカメラ１００から配信データを受信プロトコルに従って受信する。中継サーバ２００は受信したデータを、送信プロトコルに従ってクラウドサービスへ送信する。ここで、それぞれの通信プロトコルによってパケットやデータ等の構成の規定が異なるため、中継サーバ２００は受信した配信データに対して、プロトコル変換およびトランスコード等の配信データを変換するための処理を実行する。これにより、デジタルカメラ１００はクラウドサービスが利用する通信プロトコルを利用できなくとも、中継サーバ２００を介して配信サーバ３００へ配信データを送信できる。なお、データを受信するためのＵＲＬは中継サーバ２００を示すＵＲＬではなく、プロトコル変換およびトランスコード等のデータを変換するための情報処理装置を示すＵＲＬでもよい。
【００４２】
なお、図４（Ｄ）については後述する。
【００４３】
＜デジタルカメラ１００および配信サーバ３００の登録＞
中継サーバ２００がデジタルカメラ１００および配信サーバ３００をデータベースに登録（記録）する処理について説明する。この準備処理において、デジタルカメラ１００、中継サーバ２００、および配信サーバ３００はＨＴＴＰに準拠して通信する。
【００４４】
まず中継サーバ２００がデジタルカメラ１００をデータベースに登録する処理について説明する。図５（Ａ）は本実施形態における中継サーバ２００がデジタルカメラ１００をデータベースに登録する処理の一例を示すシーケンス図である。
【００４５】
ステップＳ５０１において、ユーザはデジタルカメラ１００が中継サーバ２００にアクセスするための登録情報（以下、登録情報Ａという）をデジタルカメラ１００に入力する。例えばユーザはこの登録情報Ａを表示部１０６に表示されたキーボードをタッチパネルをタッチ操作することで入力する。登録情報Ａは、ユーザが中継サーバ２００に登録されていることを証明するための情報である。例えば、登録情報Ａは中継サーバ２００にアクセスするためのアカウントＩＤとパスワードである。
【００４６】
ステップＳ５０２において、デジタルカメラ１００は中継サーバ２００と接続を確立する。ここで、デジタルカメラ１００はステップＳ５０１において入力された登録情報Ａを用いて中継サーバ２００にアクセスする。
【００４７】
ステップＳ５０３において、中継サーバ２００はライブ配信する際の通信に利用できる通信プロトコルの情報をデジタルカメラ１００に要求する。
【００４８】
ステップＳ５０４において、デジタルカメラ１００は中継サーバ２００から要求された情報を送信する。
【００４９】
ステップＳ５０５において、中継サーバ２００はステップＳ５０４において受信した情報とデジタルカメラ１００の識別子とをデータベースに記録する。デジタルカメラ１００の識別子は本ステップにおいて中継サーバ２００が生成する。これにより中継サーバ２００はデジタルカメラ１００が利用できる通信プロトコルを図４（Ａ）に示すようなデータベースに記録できる。
【００５０】
以上、中継サーバ２００がデジタルカメラ１００をデータベースに登録する処理について説明した。なお、ステップＳ５０１において、ユーザは登録情報をデジタルカメラ１００を介して中継サーバ２００に送信しているが、他の方法でもよい。例えば、ユーザは他のパソコン等の情報処理装置から中継サーバ２００に登録情報を送信すればよい。
【００５１】
また、図４（Ａ）に示したデータベースにデジタルカメラ１００に関する情報をさらに登録する場合、ステップＳ５０３において中継サーバ２００はその情報をさらにデジタルカメラ１００に要求する。そしてステップＳ５０４において、デジタルカメラ１００はステップＳ５０３において中継サーバ２００から要求された情報を中継サーバ２００へ送信する。このようにすることで中継サーバ２００は図４（Ａ）に示したデータベースにさらにデジタルカメラ１００の情報を登録できる。
【００５２】
次に中継サーバ２００が配信サーバ３００をデータベースに登録する処理について説明する。図５（Ｂ）は本実施形態における中継サーバ２００が配信サーバ３００をデータベースに登録する処理の一例を示すシーケンス図である。
【００５３】
ステップＳ５５１において、ユーザは中継サーバ２００が配信サーバ３００にアクセスするための登録情報（以下、登録情報Ｂという）を中継サーバ２００に入力する。例えば、ユーザは登録情報Ｂをパソコンやスマートフォン等の情報処理装置またはデジタルカメラ１００を介して中継サーバ２００に入力する。この登録情報Ｂは、ユーザが配信サーバ３００に登録されていることを証明するための情報である。例えば、この登録情報Ｂは配信サーバ３００にアクセスするためのアカウントＩＤとパスワードである。
【００５４】
ステップＳ５５２において、中継サーバ２００は配信サーバ３００に認証情報を要求する。本実施形態では、ステップＳ５５１において受信した登録情報Ｂを用いて、中継サーバ２００は配信サーバ３００に認証情報を要求する。この認証情報は、例えばアクセストークンである。この認証情報はデジタルカメラ１００のデータベースと関連付けて記録される。
【００５５】
ステップＳ５５３において、中継サーバ２００は配信サーバ３００から認証情報を受信する。この認証情報を利用することで中継サーバ２００は配信サーバ３００にアクセスすることができる。
【００５６】
ステップＳ５５４において、中継サーバ２００はライブ配信する際の通信に利用する通信プロトコルの情報を配信サーバ３００に要求する。この通信プロトコルの情報は、例えば、配信サーバ３００が利用する通信プロトコルを示す情報である。
【００５７】
ステップＳ５５５において、配信サーバ３００は中継サーバ２００から要求された情報を中継サーバ２００に送信する。
【００５８】
ステップＳ５５６において、中継サーバ２００はステップＳ５５５において受信した通信プロトコルの情報と配信サーバ３００（クラウドサービス名）とをデータベースに記録する。これにより中継サーバ２００は配信サーバ３００が利用する通信プロトコルを図４（Ｂ）に示すようなデータベースに記録できる。
【００５９】
また、図４（Ｂ）に示したデータベースに配信サーバ３００に関する情報をさらに登録する場合、ステップＳ５５２において中継サーバ２００はその情報をさらに配信サーバ３００に要求する。そしてステップＳ５５３において、配信サーバ３００はステップＳ５５２において中継サーバ２００から要求された情報を中継サーバ２００へ送信する。このようにすることで中継サーバ２００は図４（Ｂ）に示したデータベースにさらに配信サーバ３００の情報を登録できる。
【００６０】
以上、中継サーバ２００が配信サーバ３００をデータベースに登録する処理について説明した。
【００６１】
なお、中継サーバ２００が配信サーバ３００からライブ配信する際の通信に利用する通信プロトコルの情報を受信できない場合、中継サーバ２００の管理者やユーザ等が配信サーバ３００が利用する通信プロトコルを中継サーバ２００に入力する。
【００６２】
なお、中継サーバ２００は認証情報をデジタルカメラ１００から受信してもよい。この場合、中継サーバ２００はステップＳ５５２およびステップＳ５５３の処理を実行しない。
【００６３】
＜ライブ配信処理＞
図６および図７は本実施形態におけるライブ配信処理の一例のシーケンスを示す図である。図６はデジタルカメラ１００が配信サーバ３００へ直接配信データを送信する場合のライブ配信処理の一例を示すシーケンス図である。図７はデジタルカメラ１００が配信サーバ３００へ中継サーバ２００を介して配信データを送信する場合のライブ配信処理の一例を示すシーケンス図である。図８（Ａ）〜（Ｃ）は本実施形態におけるデジタルカメラ１００が表示する画面の一例である。図８（Ａ）〜（Ｃ）の画面は例えば表示部１０６に表示される。先に図６および図８（Ａ）〜（Ｃ）を用いて、デジタルカメラ１００が配信サーバ３００へ直接配信データを送信する場合のライブ配信処理について説明する。まずデジタルカメラ１００がイベントを配信サーバ３００から中継サーバ２００を介して受信する処理について説明する。
【００６４】
ステップＳ６０１において、ユーザがデジタルカメラ１００を操作して、ライブ配信を開始するための指示を入力する。図８（Ａ）は本実施形態におけるライブ配信処理を開始するための画面の一例である。例えばユーザがタッチパネルをタッチ操作し釦８０２を選択することによって、デジタルカメラ１００はライブ配信処理を開始する。なお、ユーザがタッチパネルをタッチ操作して釦８０１を選択した場合、デジタルカメラ１００は、中継サーバ２００にデジタルカメラ１００を登録するための処理を開始する。この処理は図５（Ａ）を用いて説明した処理である。
【００６５】
ステップＳ６０２において、デジタルカメラ１００はイベントを中継サーバ２００に要求する。
【００６６】
ステップＳ６０３において、中継サーバ２００は、デジタルカメラ１００から要求されたイベントを配信サーバ３００に要求する。ここで中継サーバ２００は配信サーバ３００に情報を要求する場合、デジタルカメラ１００と関連付けて記録している認証情報を利用する。
【００６７】
ステップＳ６０４において、ステップＳ６０３において受信した要求に対する応答として、配信サーバ３００はイベントを、中継サーバ２００へ送信する。例えば配信サーバ３００はデフォルトのイベントを中継サーバ２００へ送信する。また本ステップにおいて、配信サーバ３００は配信データを受け付ける状態になる。
【００６８】
ステップＳ６０５において、中継サーバ２００は配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力があるか否かを判断する。本シーケンスでは配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力があると中継サーバ２００は判断する。
【００６９】
ステップＳ６０６において、ステップＳ６０５の処理に基づいて中継サーバ２００は、ステップＳ６０４において受信したデータ（イベント）をデジタルカメラ１００へ送信する。本ステップにおいて、中継サーバ２００はステップＳ６０４において受信したイベントに含まれる送信ＵＲＬを配信データの送信先として、デジタルカメラ１００へ送信する。
【００７０】
ステップＳ６０７において、配信データを配信サーバ３００に送信する前に、デジタルカメラ１００は待機画面を表示する。図８（Ｂ）は本実施形態におけるデジタルカメラ１００のライブ配信を開始する前の待機画面の一例である。図８（Ｂ）に示すように、デジタルカメラ１００は表示部１０６にスルー画像を表示する。ユーザはこのスルー画像を参照しながら画角等を調整し、ライブ配信の準備をすることができる。
【００７１】
ここまでの処理によりデジタルカメラ１００は中継サーバ２００を介して配信サーバ３００からイベントを受信した。デジタルカメラ１００はこのデータに基づいて配信サーバ３００へ直接ライブ配信する。このライブ配信するための処理をこれから説明する。
【００７２】
ステップＳ６０８において、ユーザはデジタルカメラ１００を操作し、配信データの送信を開始するための指示を入力する。例えば図８（Ｂ）に示す画面において、ユーザがタッチパネルをタッチ操作して、釦８０３を選択することによりライブ配信処理を開始するための指示を入力する。デジタルカメラ１００は本ステップ以降に撮影した動画データおよび本ステップ以降に生成した音声データを配信データとして配信サーバ３００へ送信する。
【００７３】
ステップＳ６０９において、デジタルカメラ１００はステップＳ６０６おいて受信したデータを利用して配信データを配信サーバ３００へ送信する。ここで、配信データは中継サーバ２００を介することなく配信サーバ３００へ送信される。デジタルカメラ１００は本ステップの処理を繰り返す。このようにデジタルカメラ１００は配信データを継続的に送信することで、配信サーバ３００を介してライブ配信できる。ここで、配信サーバ３００は受信した配信データを視聴者であるユーザに送信（配信）している。ここで、図８（Ｃ）は本実施形態におけるデジタルカメラ１００のライブ配信中における画面の一例である。図８（Ｃ）に示すように、本ステップにおいてデジタルカメラ１００はライブ配信中であることを表示部１０６の左上に「●Ｌｉｖｅ」と表示することでユーザに示している。また、ライブ配信中において、デジタルカメラ１００は配信サーバ３００から受信したライブ配信に関する情報を表示部１０６に表示する。例えば、図８（Ｃ）に示すように、デジタルカメラ１００は表示項目８０４に視聴者数を表示することで、現在ライブ配信を視聴しているユーザの人数を示すことができる。他にもライブ配信の状態に関する情報は、例えば配信サーバ３００との通信状況、ライブ配信の評価に関する数値、およびライブ配信中に視聴者から受信したコメント等がある。デジタルカメラ１００はこのライブ配信に関する情報をライブ配信中に適宜配信サーバ３００から受信する。
【００７４】
以上の処理を実行することで、デジタルカメラ１００はライブ配信する。ユーザは任意のタイミングでデジタルカメラ１００を操作することでこのライブ配信処理を終了することができる。これからライブ配信を終了する処理について説明する。
【００７５】
ステップＳ６１０において、ユーザはデジタルカメラ１００を操作して、ライブ配信を終了するための指示を入力する。例えば、図８（Ｃ）に示す画面において、ユーザがタッチパネルをタッチ操作して、釦８０５を選択することによりライブ配信を終了するための指示を入力する。
【００７６】
ステップＳ６１１において、デジタルカメラ１００は動画データの記録および送信を終了する。
【００７７】
ステップＳ６１２において、デジタルカメラ１００はライブ配信を終了するための要求を中継サーバ２００に送信する。
【００７８】
ステップＳ６１３において、中継サーバ２００は、ステップＳ６１２において受信した要求に基づいて、配信サーバ３００にライブ配信を終了するよう要求する。
【００７９】
ステップＳ６１４において、ステップＳ６１３において受信した要求に対する応答として、配信サーバ３００はライブ配信を終了したことを示す通知を中継サーバ２００へ送信する。
【００８０】
ステップＳ６１５において、中継サーバ２００は、ステップＳ６１４において受信した通知に基づいて、ライブ配信を終了したこと示す通知をデジタルカメラ１００へ送信する。以上の処理によりデジタルカメラ１００はライブ配信を終了することができる。
【００８１】
このように、配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力がある場合、デジタルカメラ１００は配信データを配信サーバ３００へ直接送信する。以上、デジタルカメラ１００が配信サーバ３００へ直接配信データを送信する場合のライブ配信処理について説明するについて説明した。
【００８２】
次に図７を用いて、デジタルカメラ１００が配信サーバ３００へ中継サーバ２００を介して配信データを送信する場合のライブ配信処理について説明する。まずデジタルカメラ１００がイベントを配信サーバ３００から中継サーバ２００を介して受信する処理について説明する。
【００８３】
ステップＳ７０１からステップＳ７０４はそれぞれ図６のステップＳ６０１からステップＳ６０４と同様であるため説明を省略する。
【００８４】
ステップＳ７０５において、中継サーバ２００は配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力があるか否かを判断する。本シーケンスではデジタルカメラ１００は配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力がないと判断する。
【００８５】
ステップＳ７０６において、ステップＳ７０５の処理に基づいて中継サーバ２００は、ステップＳ６０４において受信したデータをデジタルカメラ１００へ送信する。ただし、本ステップにおいて、中継サーバ２００は中継ＵＲＬを配信データの送信先として、デジタルカメラ１００へ送信する。この中継ＵＲＬは本ステップにおいて中継サーバ２００が生成する。
【００８６】
ここまでの処理によりデジタルカメラ１００は中継サーバ２００を介して配信サーバ３００からイベントを受信した。デジタルカメラ１００はこのデータに基づいて中継サーバ２００を介してライブ配信する。このライブ配信するための処理をこれから説明する。
【００８７】
ステップＳ７０７およびステップＳ７０８はそれぞれ図６のステップＳ６０７およびステップＳ６０８と同様であるため説明を省略する。
【００８８】
ステップＳ７０９において、デジタルカメラ１００はステップＳ７０６おいて受信したデータを利用して配信データを送信する。ここで、デジタルカメラ１００はステップＳ７０６において配信データの送信先として中継ＵＲＬを受信したので、配信データは中継サーバ２００に送信される。
【００８９】
ステップＳ７１０において、中継サーバ２００は受信した配信データに対してプロトコル変換およびトランスコード等の処理を実行する。これにより中継サーバ２００は配信サーバ３００が利用する通信プロトコルに従って受信した配信データを配信サーバ３００へ送信できるようになる。
【００９０】
ステップＳ７１１において、中継サーバ２００はステップＳ７１０において変換した配信データを配信サーバ３００へ送信する。
【００９１】
デジタルカメラ１００および中継サーバ２００はステップＳ７０９〜ステップＳ７１１の処理を繰り返す。これにより、デジタルカメラ１００は配信サーバ３００が利用する通信プロトコルを利用する能力がなくとも、配信サーバ３００を介してライブ配信できる。ここで、デジタルカメラ１００は図６のステップＳ６０９と同様に画面を表示する。以上の処理を実行することで、デジタルカメラ１００はライブ配信する。
【００９２】
ステップＳ７１２からステップＳ７１７の処理は、それぞれ図６のステップＳ６１１からステップＳ６１５と同様であるため説明を省略する。この一連の処理はライブ配信を終了する処理である。
【００９３】
このように、配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力がない場合、デジタルカメラ１００は配信データを中継サーバ２００を介して配信サーバ３００へ送信する。以上、デジタルカメラ１００が配信サーバ３００へ中継サーバ２００を介して配信データを送信する場合のライブ配信処理について説明した。
【００９４】
なお、図６のステップＳ６０２および図７のステップＳ７０２において、デジタルカメラ１００は中継サーバ２００へ認証情報やライブ配信に利用する通信プロトコルの一覧を送信してもよい。この場合、中継サーバ２００は図６のステップＳ６０５および図７のステップＳ７０５において、デジタルカメラ１００の通信プロトコルはこの通信プロトコルを利用する能力があるとして判断する。
【００９５】
なお、図６のステップＳ６０４および図７のステップＳ７０４において、配信サーバ３００は中継サーバ２００に、ライブ配信に利用する通信プロトコルを通知してもよい。この場合、図６のステップＳ６０５および図７のステップＳ７０５において、中継サーバ２００はその通信プロトコルをデジタルカメラ１００が利用する能力があるか否かを判断する。
【００９６】
なお、中継サーバ２００は中継ＵＲＬを本処理の開始前にあらかじめ生成し、データベースに記録していてもよい。この場合、ステップＳ７０６において、中継サーバ２００は中継ＵＲＬを新たに生成せず、データベースから中継ＵＲＬを読み込む。
【００９７】
＜デジタルカメラ１００の動作＞
図８（Ａ）〜（Ｃ）および図９を用いてデジタルカメラ１００の処理について説明する。図８（Ａ）〜（Ｃ）は本実施形態におけるデジタルカメラ１００の表示画面の一例である。図９は、本実施形態のライブ配信処理におけるデジタルカメラ１００の動作の一例を示すフローチャートである。このデジタルカメラ１００の処理は、不揮発性メモリ１０３に記録されたソフトウェアを作業用メモリ１０４に展開して制御部１０１が実行することで実現する。またこの処理は、ユーザによるライブ配信を開始する指示を制御部１０１が受け付けたことをトリガに開始される。例えば図８（Ａ）に示す画面において、ユーザがタッチパネルをタッチ操作しての釦８０２を選択したことをトリガに、制御部１０１は本フローチャートの処理を開始する。これは図６のステップＳ６０１および図７のステップＳ７０１に対応する。
【００９８】
ステップＳ９０１において、制御部１０１は接続部１１１を介してイベントを要求するパケットを中継サーバ２００へ送信する。本ステップは、図６のステップＳ６０２および図７のステップＳ７０２に対応する。
【００９９】
ステップＳ９０２において、接続部１１１を介して中継サーバ２００からイベントを受信したか否かを制御部１０１は判断する。イベントを受信した場合、制御部１０１はその情報を作業用メモリ１０４に保持し、ステップＳ７０３に遷移する。制御部１０１はイベントを受信するまで本処理を繰り返す。このイベントには送信ＵＲＬまたは中継ＵＲＬが含まれる。なお、制御部１０１は受信したＵＲＬが送信ＵＲＬか中継ＵＲＬかを判断しない。本ステップは、図６のステップＳ６０６および図７のステップＳ７０６に対応する。
【０１００】
ステップＳ９０３において、制御部１０１は待機画面を表示する。例えば制御部１０１は表示部１０６に図８（Ｂ）に示すような画面を表示する。図８（Ｂ）は本実施形態におけるデジタルカメラ１００のライブ配信を開始する前の待機画面の一例である。図８（Ｂ）の釦８０３はライブ配信の開始を受け付けるためのアイテムである。本ステップは図６のステップＳ６０７および図７のステップＳ７０７に対応する。
【０１０１】
ステップＳ９０４において、制御部１０１は配信データの送信を開始する指示を受け付けたか否かを判断する。例えば、制御部１０１はユーザのタッチパネルへのタッチ操作によって図８（Ｂ）の釦８０３が選択されたことを検知した場合、ステップＳ９０５に遷移する。制御部１０１はユーザから配信データの送信を開始する指示を受け付けるまで本処理を繰り返す。本ステップは図６のステップＳ６０８および図７のステップＳ７０８に対応する。ここで、ステップＳ９０５以降に撮影された動画データおよびステップＳ９０５以降に生成された音声データを制御部１０１は配信データとする。
【０１０２】
ステップＳ９０５において、制御部１０１はステップＳ９０２において受信したイベントに基づいて、接続部１１１を介して配信データを送信する。制御部１０１はユーザからライブ配信を終了する指示を受け付けるまで、配信データの送信を継続する。ここで、制御部１０１は配信データを作業用メモリ１０４に保持し、所定量以上の配信データが作業用メモリ１０４に格納された場合、接続部１１１を介して配信データを送信する。ここで、図８（Ｃ）に示すように、制御部１０１はライブ配信中であることを表示部１０６の左上に「●Ｌｉｖｅ」と表示することでユーザに示す。本ステップは図６のステップＳ６０９および図７のステップＳ７０９に対応する。
【０１０３】
ステップＳ９０６において、制御部１０１はユーザからライブ配信の終了の指示を受け付けたか否かを判断する。ライブ配信の終了の指示を受け付けた場合、制御部１０１はステップＳ９０７に遷移する。ライブ配信の終了の指示を受け付けていない場合、制御部１０１はステップＳ９０５に戻り、ライブ配信を継続する。制御部１０１は、例えば、図８（Ｃ）に示す釦８０５を、ユーザがタッチパネルをタッチ操作によって選択したことを検知することでライブ配信の終了の指示を受け付ける。本ステップは、図６のステップＳ６１０および図７のステップＳ７１２に対応する。
【０１０４】
ステップＳ９０７において、制御部１０１は配信データの送信を終了する。本ステップは、図６のステップＳ６１１および図７のステップＳ７１３に対応する。
【０１０５】
ステップＳ９０８において、制御部１０１は中継サーバ２００へライブ配信の処理を終了するよう要求する。本ステップは図６のステップＳ６１２および図７のステップＳ７１４に対応する。
【０１０６】
ステップＳ９０９において、制御部１０１は中継サーバ２００からライブ配信の処理を終了したことを示す通知を受信し、処理を終了する。なお、所定時間が経過してもこの通知を受信できない場合、制御部１０１は再度ステップＳ９０８の処理を実行する。本ステップは図６のステップＳ６１５および図７のステップＳ７１７に対応する。
【０１０７】
以上、デジタルカメラ１００の動作について説明した。
【０１０８】
＜中継サーバ２００の動作＞
図１０は本実施形態における中継サーバ２００の動作の一例を示すフローチャートである。中継サーバ２００はデジタルカメラ１００と接続した場合、本処理を開始する。この中継サーバ２００の処理は、不揮発性メモリ２０３に記録されたソフトウェアを作業用メモリ２０４に展開して制御部２０１が実行することで実現する。
【０１０９】
ステップＳ１００１において、制御部２０１はイベントを要求するパケットを受信したか否かを判断する。この要求パケットを受信した場合、制御部２０１はステップＳ１００２に遷移する。制御部２０１はこの要求パケットを受信するまで本ステップの処理を繰り返す。なお、所定時間経過しても要求パケットを受信しなかった場合、制御部２０１は処理を終了してもよい。本ステップは図６のステップＳ６０２および図７のステップＳ７０２に対応する。
【０１１０】
ステップＳ１００２において、制御部２０１は接続部２１１を介して、イベントを要求するパケットを配信サーバ３００へ送信する。ここで制御部２０１は認証情報を用いて配信サーバ３００に要求する。本ステップは図６のステップＳ６０３および図７のステップＳ７０３に対応する。
【０１１１】
ステップＳ１００３において、制御部２０１は接続部２１１を介して、配信サーバ３００からイベントを受信したか否かを判断する。イベントを受信した場合、制御部２０１はステップＳ１００４に遷移する。制御部２０１はイベントを受信するまで本ステップの処理を繰り返す。ただし、所定時間経過してもイベントを受信できない場合、制御部２０１はデジタルカメラ１００へイベントを要求してもよい。本ステップは図６のステップＳ６０４および図７のステップＳ７０４に対応する。
【０１１２】
ステップＳ１００４において、制御部２０１は配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力があるか否かを判断する。例えばここで、制御部２０１は図４（Ａ）、（Ｂ）において説明したようなデータベースを参照して判断する。配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力がある場合、制御部２０１はステップＳ１００５に遷移する。配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力がない場合、制御部２０１はステップＳ１００７に遷移する。本ステップは図６のステップＳ６０５および図７のステップＳ７０５に対応する。
【０１１３】
このように中継サーバ２００がデジタルカメラ１００および配信サーバ３００の通信プロトコルについて判断することで、デジタルカメラ１００は配信サーバ３００が利用する通信プロトコルについて判断する処理を実行する必要がなくなる。まず、配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力がある場合について説明する。
【０１１４】
ステップＳ１００５において、制御部２０１はイベントをデジタルカメラ１００へ送信する。ここで、イベントは送信ＵＲＬを含む。本ステップは図６のステップＳ６０６に対応する。
【０１１５】
ステップＳ１００６において、制御部２０１はデジタルカメラ１００からライブ配信を終了することを要求するパケットを受信したか否かを判断する。制御部２０１はこの要求パケットを受信するまで本ステップの処理を繰り返す。この要求パケットを受信した場合、制御部２０１はステップＳ１０１２に遷移する。本ステップは、図６のステップＳ６１２に対応する。次に、配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力がない場合について説明する。
【０１１６】
ステップＳ１００７において、制御部２０１はイベントをデジタルカメラ１００へ送信する。ここで、制御部２０１はイベントに含まれる送信ＵＲＬを中継ＵＲＬに置き換える。本ステップは図７のステップＳ７０６に対応する。
【０１１７】
ステップＳ１００８において、制御部２０１はデジタルカメラ１００から配信データを受信した否かを判断する。制御部２０１は配信データを受信するまで本ステップの処理を繰り返す。なお、制御部２０１は所定時間経過しても配信データを受信できなかった場合、デジタルカメラ１００へエラーを示すパケットを送信する。本ステップは図７のステップＳ７０９に対応する。
【０１１８】
ステップＳ１００９において、制御部２０１はステップＳ１００８において受信した配信データに対してプロトコル変換およびトランスコード等の処理を実行する。本ステップは図７のステップＳ７１０に対応する。
【０１１９】
ステップＳ１０１０において、制御部２０１はステップＳ１００９において変換した配信データを配信サーバ３００へ送信する。本ステップは図７のステップＳ７１１に対応する。
【０１２０】
ステップＳ１０１１において、制御部２０１はデジタルカメラ１００からライブ配信を終了することを要求するパケットを受信したか否かを判断する。制御部２０１はこの要求パケットを受信するまでステップＳ１００８からステップＳ１０１０までの処理を繰り返す。この要求パケットを受信した場合、制御部２０１はステップＳ１０１２に遷移する。本ステップは図７のステップＳ７１４に対応する。
【０１２１】
ステップＳ１０１２において、制御部２０１はライブ配信を終了することを要求するパケットを配信サーバ３００へ送信する。本ステップは図７のステップＳ７１５に対応する。
【０１２２】
ステップＳ１０１３において、制御部２０１は配信サーバ３００からライブ配信を終了したことを示す通知を受信する。本ステップは図７のステップＳ７１６に対応する。
【０１２３】
ステップＳ１０１４において、制御部２０１はライブ配信を終了したことを示す通知をデジタルカメラ１００へ送信する。本ステップは図７のステップＳ７１７に対応する。
【０１２４】
以上、中継サーバ２００の動作について説明した。
【０１２５】
このように中継サーバ２００がデジタルカメラ１００および配信サーバ３００の通信プロトコルについて判断することで、配信サーバ３００が利用する通信プロトコルに関わらず、ユーザはデジタルカメラ１００を介してライブ配信が可能になる。
【０１２６】
また、配信サーバ３００が利用する通信プロトコルのリストを取得できる場合、デジタルカメラ１００および中継サーバ２００はその通信プロトコルのリストを要求するパケットを送信してもよい。この場合、ステップＳ１００４において、この通信プロトコルのリストに基づいて中継サーバ２００は判断する。
【０１２７】
本実施形態では図１０のステップＳ１００４において、中継サーバは通信プロトコルだけに基づいて判断したが、ライブ配信に関係する諸条件で判断してもよい。
【０１２８】
なお、配信サーバ３００がライブ配信する時間に上限を設けている場合、デジタルカメラ１００はその上限の時間に合わせてライブ配信する。ライブ配信している時間が上限に達した場合、デジタルカメラ１００はユーザの操作を待つことなく自動的にライブ配信を終了する。
【０１２９】
なお、中継サーバ２００は中継サーバ２００の利用情報や配信サーバ３００の利用情報等をユーザに通知してもよい。この利用情報は例えば、会員の種類、利用料金、および今月の利用時間等の個人情報である。
【０１３０】
ここで、図４（Ａ）に示したデータベースのテーブルは次の図４（Ｄ）に示すようなテーブルでもよい。図４（Ｄ）は第一の実施形態におけるデジタルカメラの種類ごとのデータベースのテーブルの一例である。このデータベースには、デジタルカメラの機種名、デジタルカメラのバージョン、およびそのデジタルカメラが利用する通信プロトコルが記録される。レコード４４０１に示すように、機種名がＸＸＸでありバージョン１．００．００のデジタルカメラはＲＴＭＰの通信プロトコルを利用する。しかし、レコード４４０２およびレコード４４０３に示すように、機種名がＸＸＸであってもバージョン１．１０．００のデジタルカメラはＲＴＭＰおよびＭＰＥＧ−ＤＡＳＨの通信プロトコルを利用する。またレコード４４０４に示すように、機種名がＹＹＹでありバージョン１．００．００のデジタルカメラはＲＴＭＰの通信プロトコルを利用する。このようにデジタルカメラの種類およびバージョンごとの情報をデータベースに格納することで、中継サーバ２００は接続しているデジタルカメラの種類およびバージョンの情報からそのデジタルカメラが利用する通信プロトコルを取得することができる。
【０１３１】
なお、中継サーバ２００はデジタルカメラと接続を確立するごとにデジタルカメラが利用する通信プロトコルに関する情報をデジタルカメラから受信し、デジタルカメラと接続を確立している間のみこの情報を保持するとしてもよい。この場合、中継サーバ２００はデジタルカメラとの接続を切断した場合、この情報を消去する。
【０１３２】
また、中継サーバ２００はデジタルカメラ１００の最新のバージョン情報を有する場合、デジタルカメラ１００の現在のバージョンと最新のバージョンとを比較し、一致しない場合は、デジタルカメラ１００に最新のバージョン情報を送信してもよい。これにより、ユーザはデジタルカメラ１００を更新することで、デジタルカメラ１００が配信サーバ３００が利用する通信プロトコルを利用できるようになる場合がある。
【０１３３】
［第二の実施形態］
第二の実施形態では、配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力があるか否かを、中継サーバ２００ではなくデジタルカメラ１００が判断する。本実施形態において、システム構成およびそのシステムに利用する装置（デジタルカメラ１００、中継サーバ２００、および配信サーバ３００）の構成は第一の実施形態と同様である。
【０１３４】
＜ライブ配信処理＞
図１１は本実施形態におけるデジタルカメラ１００、中継サーバ２００、および配信サーバ３００のライブ配信処理の一例のシーケンスを示す図である。まず図１１を用いて、デジタルカメラ１００が配信サーバ３００へ直接配信データを送信する場合のライブ配信処理について説明する。
【０１３５】
ステップＳ１１０１からステップＳ１１０４はそれぞれ図６のステップＳ６０１からステップＳ６０４と同様であるため説明を省略する。
【０１３６】
ステップＳ１１０５において、中継サーバ２００はステップＳ１１０４において受信したイベントをデジタルカメラ１００へ送信する。本ステップにおいて、中継サーバ２００は配信サーバ３００が利用する通信プロトコルについて判断しない。中継サーバ２００の処理はこのステップで終了する。
【０１３７】
ステップＳ１１０６において、デジタルカメラ１００はステップＳ１１０５において受信したイベントに基づいて、配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力があるか否かを判断する。本シーケンスでは配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力があるとデジタルカメラ１００は判断する。そのためこれからの処理において、デジタルカメラ１００は受信したイベントに含まれる送信ＵＲＬに配信データを送信する。
【０１３８】
ステップＳ１１０７からステップＳ１１０９は、それぞれ図６のステップＳ６０７からステップＳ６０９と同様であるため説明を省略する。本処理はライブ配信するための処理である。
【０１３９】
ステップＳ１１１０およびステップＳ１１１１は、それぞれ図６のステップＳ６１０からステップＳ６１１と同様であるため説明を省略する。本処理はライブ配信を終了するための処理である。
【０１４０】
ステップＳ１１１２において、デジタルカメラ１００は配信サーバ３００へ直接ライブ配信を終了することを要求するパケットを送信する。
【０１４１】
ステップＳ１１１３において、ステップＳ１１１２において受信した要求に対する応答として、配信サーバ３００はライブ配信を終了したことを示す通知をデジタルカメラ１００へ送信する。
【０１４２】
このように、配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力がある場合、デジタルカメラ１００は配信データを配信サーバ３００へ直接送信する。以上、デジタルカメラ１００が配信サーバ３００へ直接配信データを送信する場合のライブ配信処理について説明するについて説明した。
【０１４３】
次に図１２を用いて、デジタルカメラ１００が配信サーバ３００へ中継サーバ２００を介して配信データを送信する場合のライブ配信処理について説明する。まずデジタルカメラ１００がイベントを配信サーバ３００から中継サーバ２００を介して受信する処理について説明する。
【０１４４】
ステップＳ１２０１からステップＳ１２０４はそれぞれ図７のステップＳ７０１からステップＳ７０４と同様であるため説明を省略する。
【０１４５】
ステップＳ１２０５において、中継サーバ２００はステップＳ１２０４において受信したイベントをデジタルカメラ１００へ送信する。本ステップにおいて、中継サーバ２００は配信サーバ３００が利用する通信プロトコルについて判断しない。本シーケンスにおいて中継サーバ２００の処理はこのステップでは終了しない。
【０１４６】
ステップＳ１２０６において、デジタルカメラ１００はステップＳ１２０５において受信したイベントに基づいて、配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力があるか否かを判断する。本シーケンスでは配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力がないとデジタルカメラ１００は判断する。そのためこれからの処理において、デジタルカメラ１００は中継サーバ２００を介して配信データを配信サーバ３００へ送信するための処理を実行する。
【０１４７】
ステップＳ１２０７において、デジタルカメラ１００は中継ＵＲＬを要求するパケットを中継サーバ２００へ送信する。
【０１４８】
ステップＳ１２０８において、ステップＳ１２０７において受信した要求への応答として、中継サーバ２００は中継ＵＲＬをデジタルカメラ１００へ送信する。デジタルカメラ１００はステップＳ１２０５において受信したデータおよび本ステップにおいて受信したデータに基づいてライブ配信処理を実行する。
【０１４９】
ステップＳ１２０９からステップＳ１２１９は、それぞれ図７のステップＳ７０７からステップＳ７１７と同様であるため説明を省略する。本処理はライブ配信を開始してから終了するまでの処理である。
【０１５０】
このように、配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力がない場合、デジタルカメラ１００は配信データを中継サーバ２００を介して配信サーバ３００へ送信する。以上、デジタルカメラ１００が配信サーバ３００へ中継サーバ２００を介して配信データを送信する場合のライブ配信処理について説明した。
【０１５１】
なお、本実施形態において、配信サーバ３００が利用する通信プロトコルに関する情報はイベントに含まれていてもよい。この場合、デジタルカメラ１００はこの配信サーバ３００が利用する通信プロトコルに関する情報に基づいて、配信データを中継サーバ２００を介して送信するか配信サーバ３００へ直接送信するかを判断する。
【０１５２】
＜デジタルカメラ１００の動作＞
図１３を用いてデジタルカメラ１００の動作について説明する。図１３は、本実施形態のライブ配信処理におけるデジタルカメラ１００の動作の一例を示すフローチャートである。この処理は、不揮発性メモリ１０３に記録されたソフトウェアを作業用メモリ１０４に展開して制御部１０１が実行することで実現する。またこの処理は、ユーザによるライブ配信を開始する指示を制御部１０１が受け付けたことをトリガに開始される。例えば図８（Ａ）に示す画面において、ユーザがタッチパネルをタッチ操作しての釦８０２を選択したことをトリガに、制御部１０１は本フローチャートの処理を開始する。これは図１１のステップＳ１１０１および図１２のステップＳ１２０１に対応する。
【０１５３】
ステップＳ１３０１において、制御部１０１はイベントを要求するパケットを接続部１１１を介して中継サーバ２００へ送信する。本ステップは、図１１のステップＳ１１０２および図１２のステップＳ１２０２に対応する。
【０１５４】
ステップＳ１３０２において、接続部１１１を介して中継サーバ２００からイベントを受信したか否かを制御部１０１は判断する。イベントを受信した場合、制御部１０１はその情報を作業用メモリ１０４に保持し、ステップＳ１３０３に遷移する。制御部１０１はイベントを受信するまで本処理を繰り返す。このイベントには送信ＵＲＬが含まれる。本ステップは、図１１のステップＳ１１０５および図１２のステップＳ１２０５に対応する。
【０１５５】
ステップＳ１３０３において、ステップＳ１３０２において受信したデータに基づいて、制御部１０１は配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力があるか否かを判断する。配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力がある場合、制御部１０１はステップＳ１３０４に遷移し、配信データを直接配信サーバ３００へ送信するための処理を実行する。配信サーバ３００が利用する通信プロトコルをデジタルカメラ１００が利用する能力がない場合、制御部１０１はステップＳ１３１１に遷移し、配信データを中継サーバ２００を介して配信サーバ３００へ送信するための処理を実行する。本ステップは図１１のステップＳ１１０６および図１２のステップＳ１２０６に対応する。まず制御部１０１が配信データを配信サーバ３００へ直接送信する処理について説明する。
【０１５６】
ステップＳ１３０４において、制御部１０１は待機画面を表示する。例えば制御部１０１は表示部１０６に図８（Ｂ）に示すような画面を表示する。本ステップは図１１のステップＳ１１０７に対応する。
【０１５７】
ステップＳ１３０５において、制御部１０１は配信データの送信を開始する指示を受け付けたか否かを判断する。例えば、制御部１０１はユーザのタッチパネルへのタッチ操作によって図８（Ｂ）の釦８０３が選択されたことを検知した場合、ステップＳ１３０５に遷移する。制御部１０１はユーザから配信データの送信を開始する指示を受け付けるまで本処理を繰り返す。本ステップは図１１のステップＳ１１０８に対応する。ここで、ステップＳ１３０５以降に撮影された動画データおよびステップＳ１３０５以降に生成された音声データを制御部１０１は配信データとする。
【０１５８】
ステップＳ１３０６において、制御部１０１は配信データを配信サーバ３００へ直接送信する。本ステップは図１１のステップＳ１１０９に対応する。
【０１５９】
ステップＳ１３０７において、制御部１０１はユーザからライブ配信の終了の指示を受け付けたか否かを判断する。ライブ配信の終了の指示を受け付けた場合、制御部１０１はステップＳ１３０８に遷移する。ライブ配信の終了の指示を受け付けていない場合、制御部１０１はステップＳ１３０６に戻り、ライブ配信を継続する。制御部１０１は、例えば、図８（Ｃ）に示す釦８０５を、ユーザがタッチパネルをタッチ操作によって選択したことを検知することでライブ配信の終了の指示を受け付ける。本ステップは、図１１のステップＳ１１１０に対応する。
【０１６０】
ステップＳ１３０８において、制御部１０１は配信データの送信を終了する。本ステップは、図１１のステップＳ１１１１に対応する。
【０１６１】
ステップＳ１３０９において、制御部１０１は配信サーバ３００へライブ配信の処理を終了するよう要求する。本ステップは図１１のステップＳ１１１２に対応する。
【０１６２】
ステップＳ１３１０において、制御部１０１は配信サーバ３００からライブ配信の処理を終了したことを示す通知を受信し、処理を終了する。なお、所定時間が経過してもこの通知を受信できない場合、制御部１０１は再度ステップＳ１３０９の処理を実行する。本ステップは図１１のステップＳ１１１３に対応する。
【０１６３】
ここまで制御部１０１が配信データを配信サーバ３００へ直接送信する処理について説明した。これから制御部１０１が配信データを中継サーバ２００を介して配信サーバ３００へ送信する処理について説明する。
【０１６４】
ステップＳ１３１１において、制御部１０１は中継ＵＲＬを要求するパケットを中継サーバ２００へ送信する。本ステップは図１２のステップＳ１２０７に対応する。
【０１６５】
ステップＳ１３１２において、制御部１０１は中継サーバ２００から中継ＵＲＬを受信したか否かを判断する。制御部１０１は中継サーバ２００からこのデータを受信するまで本処理を繰り返す。このデータを受信した場合、制御部１０１はステップＳ１３１３に遷移し、配信データを中継サーバ２００を介して配信サーバ３００へ送信する。
【０１６６】
ステップＳ１３１３およびステップＳ１３１４はそれぞれステップＳ１３０４およびステップＳ１３０５と同様であるため説明を省略する。ステップＳ１３１３およびステップＳ１３１４はそれぞれ図１２のステップＳ１２０９およびステップＳ１２１０に対応する。
【０１６７】
ステップＳ１３１５において、制御部１０１は配信データを中継サーバ２００へ送信する。この配信データは中継サーバ２００を介して配信サーバ３００へ送信される。本ステップは図１２のステップＳ１２１１に対応する。
【０１６８】
ステップＳ１３１６において、制御部１０１はユーザからライブ配信の終了の指示を受け付けたか否かを判断する。ライブ配信の終了の指示を受け付けた場合、制御部１０１はステップＳ１３１７に遷移する。ライブ配信の終了の指示を受け付けていない場合、制御部１０１はステップＳ１３１５に戻り、ライブ配信を継続する。制御部１０１は、例えば、図８（Ｃ）に示す釦８０５を、ユーザがタッチパネルをタッチ操作によって選択したことを検知することでライブ配信の終了の指示を受け付ける。本ステップは、図１２のステップＳ１２１４に対応する。
【０１６９】
ステップＳ１３１７において、制御部１０１は配信データの送信を終了する。本ステップは、図１２のステップＳ１２１５に対応する。
【０１７０】
ステップＳ１３１８において、制御部１０１は中継サーバ２００へライブ配信の処理を終了するよう要求する。本ステップは図１２のステップＳ１２１６に対応する。
【０１７１】
ステップＳ１３１９において、制御部１０１は中継サーバ２００からライブ配信の処理を終了したことを示す通知を受信し、処理を終了する。なお、所定時間が経過してもこの通知を受信できない場合、制御部１０１は再度ステップＳ１３１８の処理を実行する。本ステップは図１２のステップＳ１２１９に対応する。
【０１７２】
以上、デジタルカメラ１００の動作について説明した。
【０１７３】
また、配信サーバ３００が利用する通信プロトコルのリストを取得できる場合、デジタルカメラ１００および中継サーバ２００はその通信プロトコルのリストを要求するパケットを送信してもよい。この場合、ステップＳ１３０３において、この通信プロトコルのリストに基づいてデジタルカメラ１００は判断する。
【０１７４】
＜中継サーバ２００の動作＞
図１４は本実施形態における中継サーバ２００の動作の一例を示すフローチャートである。中継サーバ２００はデジタルカメラ１００と接続した場合、本処理を開始する。この処理は、不揮発性メモリ２０３に記録されたソフトウェアを作業用メモリ２０４に展開して制御部２０１が実行することで実現する。
【０１７５】
ステップＳ１４０１からステップＳ１４０３はそれぞれ図１０のステップＳ１００１から１００３と同様であるため説明を省略する。ステップＳ１４０１からステップＳ１４０３はそれぞれ図１１のステップＳ１１０２からステップＳ１１０４に対応する。またステップＳ１４０１からステップＳ１４０３はそれぞれ図１２のステップＳ１２０２からステップＳ１２０４に対応する。
【０１７６】
ステップＳ１４０４において、制御部２０１はイベントをデジタルカメラ１００へ送信する。ここで、制御部２０１はイベントについて変更を加えない。本ステップは図１１のステップＳ１１０５および図１２のステップＳ１２０５に対応する。
【０１７７】
ステップＳ１４０５において、中継ＵＲＬを要求するパケットを制御部２０１はデジタルカメラ１００から受信したか否かを判断する。このデータを要求するパケットを受信した場合、制御部２０１はステップＳ１４０６に遷移する。このデータを要求するパケットを受信していない場合、制御部２０１は処理を終了する。ここで、例えばデジタルカメラ１００との接続が切断した場合や所定時間経過してもこのデータを要求するパケットを受信していない場合に、制御部２０１は要求パケットを受信していないと判断する。本ステップは図１２のステップＳ１２０７に対応する。これから中継ＵＲＬを要求するパケットを制御部２０１がデジタルカメラ１００から受信した場合について説明する。
【０１７８】
ステップＳ１４０６において、制御部２０１は中継ＵＲＬをデジタルカメラ１００へ送信する。本ステップは図１２のステップＳ１２０８に対応する。
【０１７９】
ステップＳ１４０７からステップＳ１４１０はそれぞれ図１０のステップＳ１００８からステップＳ１０１１と同様であるため説明を省略する。本処理はデジタルカメラ１００から受信した配信データを変換し、その変換した配信データを配信サーバ３００へ送信する処理である。ステップＳ１４０７からステップＳ１４１０はそれぞれ図１２のステップＳ１２１１、ステップＳ１２１２、ステップＳ１２１３、およびステップＳ１２１６に対応する。
【０１８０】
ステップＳ１４１１からステップＳ１４１３はそれぞれ図１０のステップＳ１０１２からステップＳ１０１４と同様であるため説明を省略する。本処理はライブ配信を終了する処理である。ステップＳ１４１１からステップＳ１４１３はそれぞれ図１２のステップＳ１２１７からステップＳ１２１９に対応する。
【０１８１】
以上、中継サーバ２００の動作について説明した。
【０１８２】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１８３】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図１】
2020123086.tif 000003
【図２】
2020123086.tif 000004
【図３】
2020123086.tif 000005
【図４】
2020123086.tif 000006
【図５】
2020123086.tif 000007
【図６】
2020123086.tif 000008
【図７】
2020123086.tif 000009
【図８】
2020123086.tif 000010
【図９】
2020123086.tif 000011
【図１０】
2020123086.tif 000012
【図１１】
2020123086.tif 000013
【図１２】
2020123086.tif 000014
【図１３】
2020123086.tif 000015
【図１４】
2020123086.tif 000016
【手続補正書】
【提出日】令和2年2月7日(2020.2.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信手段と、
制御手段と、を有する情報処理装置であって、
前記制御手段は、通信装置がクラウドサービスにおいて提供される第一のデータを外部装置へ第一の通信プロトコルに従って送信するか、前記通信装置が前記第一のデータを前記情報処理装置へ前記第一の通信プロトコルとは異なる第二の通信プロトコルに従って送信するかを判断し、
前記通信装置が前記第一のデータを前記外部装置へ前記第一の通信プロトコルに従って送信する場合、前記制御手段は、前記通信装置が前記第一のデータを前記外部装置へ送信する際に利用される第二のデータを前記通信装置へ送信するよう前記通信手段を制御し、
前記通信装置が前記第一のデータを前記情報処理装置へ前記第二の通信プロトコルに従って送信する場合、前記制御手段は、前記第一のデータを前記第二の通信プロトコルに従って前記通信装置から受信し、受信した前記第一のデータを前記第一の通信プロトコルに従って前記外部装置へ送信するよう前記通信手段を制御する
ことを特徴とする情報処理装置。
【請求項２】
前記外部装置が利用可能な通信プロトコルに関するデータと前記通信装置が利用可能な通信プロトコルに関するデータとに基づいて、前記制御手段は、前記通信装置が前記第一のデータを前記外部装置へ前記第一の通信プロトコルに従って送信するか、前記通信装置が前記第一のデータを前記情報処理装置へ前記第二の通信プロトコルに従って送信するかを判断する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記外部装置が利用可能な通信プロトコルに関するデータを、前記外部装置から受信するよう前記通信手段を制御し、
前記制御手段は、前記通信装置が利用可能な通信プロトコルに関するデータを、前記通信装置から受信するよう前記通信手段を制御する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記通信装置が前記第一のデータの送信を終了する場合、前記制御手段は、前記クラウドサービスにおいて前記第一のデータを提供する処理を終了することを前記外部装置に要求するよう前記通信手段を制御することを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第一のデータは、動画データまたは音声データを含むことを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第二のデータは、前記通信装置が前記第一のデータを前記外部装置へ前記第一の通信プロトコルに従って送信するためのアドレスを含むことを特徴とする請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記制御手段は、前記クラウドサービスを利用するための登録情報を用いて、前記外部装置にアクセスするための認証情報を前記外部装置から受信するよう前記通信手段を制御することを特徴とする請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記登録情報はアカウントＩＤおよびパスワードを含み、前記認証情報はアクセストークンであることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記第一の通信プロトコルおよび前記第二の通信プロトコルは、それぞれ異なるストリーミング用の通信プロトコルであることを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記クラウドサービスは、ストリーミング技術を利用したクラウドサービスであることを特徴とする請求項１から９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記クラウドサービスは、ライブ配信サービスであることを特徴とする請求項１から１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記制御手段は、前記第一の通信プロトコルと異なる第三の通信プロトコルに従って前記第二のデータを前記外部装置から受信するよう前記通信手段を制御することを特徴とする請求項１から１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記通信装置が前記第一のデータを前記情報処理装置へ前記第二の通信プロトコルに従って送信する場合、前記制御手段は、前記第二の通信プロトコルに従って前記第一のデータを受信する際に利用する第三のデータを前記通信装置へ送信することを特徴とする請求項１から１２のいずれか１項に記載の情報処理装置。
【請求項１４】
前記第三のデータは、前記第二の通信プロトコルに従って前記第一のデータを前記通信装置から受信するためのアドレスを含むことを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
通信手段を有する情報処理装置の制御方法であって
通信装置がクラウドサービスにおいて提供される第一のデータを外部装置へ第一の通信プロトコルに従って送信するか、前記通信装置が前記第一のデータを前記情報処理装置へ前記第一の通信プロトコルとは異なる第二の通信プロトコルに従って送信するかを判断するステップと、
前記通信装置が前記第一のデータを前記外部装置へ前記第一の通信プロトコルに従って送信する場合、前記制御手段は、前記通信装置が前記第一のデータを前記外部装置へ送信する際に利用される第二のデータを前記通信装置へ送信するよう前記通信手段を制御するステップと、
前記通信装置が前記第一のデータを前記情報処理装置へ前記第二の通信プロトコルに従って送信する場合、前記制御手段は、前記第一のデータを前記第二の通信プロトコルに従って前記通信装置から受信し、受信した前記第一のデータを前記第一の通信プロトコルに従って前記外部装置へ送信するよう前記通信手段を制御するステップと、
を有することを特徴とする制御方法。
【請求項１６】
通信手段を有する情報処理装置のコンピュータに、
通信装置がクラウドサービスにおいて提供される第一のデータを外部装置へ第一の通信プロトコルに従って送信するか、前記通信装置が前記第一のデータを前記情報処理装置へ前記第一の通信プロトコルとは異なる第二の通信プロトコルに従って送信するかを判断するステップと、
前記通信装置が前記第一のデータを前記外部装置へ前記第一の通信プロトコルに従って送信する場合、前記制御手段は、前記通信装置が前記第一のデータを前記外部装置へ送信する際に利用される第二のデータを前記通信装置へ送信するよう前記通信手段を制御するステップと、
前記通信装置が前記第一のデータを前記情報処理装置へ前記第二の通信プロトコルに従って送信する場合、前記制御手段は、前記第一のデータを前記第二の通信プロトコルに従って前記通信装置から受信し、受信した前記第一のデータを前記第一の通信プロトコルに従って前記外部装置へ送信するよう前記通信手段を制御するステップと、
を実行させるためのプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本発明に係る情報処理装置は、通信手段と、制御手段と、を有し、前記制御手段は、通信装置がクラウドサービスにおいて提供される第一のデータを外部装置へ第一の通信プロトコルに従って送信するか、前記通信装置が前記第一のデータを前記情報処理装置へ前記第一の通信プロトコルとは異なる第二の通信プロトコルに従って送信するかを判断し、前記通信装置が前記第一のデータを前記外部装置へ前記第一の通信プロトコルに従って送信する場合、前記制御手段は、前記通信装置が前記第一のデータを前記外部装置へ送信する際に利用される第二のデータを前記通信装置へ送信するよう前記通信手段を制御し、前記通信装置が前記第一のデータを前記情報処理装置へ前記第二の通信プロトコルに従って送信する場合、前記制御手段は、前記第一のデータを前記第二の通信プロトコルに従って前記通信装置から受信し、受信した前記第一のデータを前記第一の通信プロトコルに従って前記外部装置へ送信するよう前記通信手段を制御することを特徴とする。