(57)【要約】【課題】配信サーバと時刻同期を行っていないクライアント装置に対し、時刻変更を行うことなく、クライアント装置が適切なタイミングで映像データの取得を要求できる仕組みを提供することを目的とする。【解決手段】クライアント装置から、映像データの配信の開始要求を受信する受信手段と、開始要求を受信した場合に、クライアント装置による開始要求の送信タイミングとしてクライアント装置で計測されたクライアント時刻を示す情報を開始要求から抽出する抽出手段と、少なくともクライアント時刻に基づいて、映像データを配信可能な時刻を決定する第１の決定手段と、配信可能な時刻をクライアント装置に送信する送信手段とを有する。【選択図】図５
2019103087.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置から、映像データの配信の開始要求を受信する受信手段と、
前記開始要求を受信した場合に、前記クライアント装置による前記開始要求の送信タイミングとして前記クライアント装置で計測されたクライアント時刻を示す情報を前記開始要求から抽出する抽出手段と、
少なくとも前記クライアント時刻に基づいて、映像データを配信可能な時刻を決定する第１の決定手段と、
前記配信可能な時刻を前記クライアント装置に送信する送信手段と
を有することを特徴とする映像配信装置。
【請求項２】
前記第１の決定手段は、前記クライアント時刻と、前記映像データの配信に係る基準時間とに基づいて、前記映像データを配信可能な時刻を決定する
ことを特徴とする請求項１に記載の映像配信装置。
【請求項３】
前記第１の決定手段は、前記クライアント時刻に前記基準時間を加算した時刻を、前記配信可能な時刻として決定することを特徴とする請求項２に記載の映像配信装置。
【請求項４】
前記第１の決定手段は、一時記憶手段に、前記配信可能な映像データが記憶されていない場合に、前記クライアント時刻に前記基準時間を加算した時刻を、前記配信可能な時刻として決定することを特徴とする請求項３に記載の映像配信装置。
【請求項５】
前記第１の決定手段は、一時記憶手段に、前記配信可能な映像データが記憶されている場合に、前記クライアント時刻から前記基準時間を減じた時刻を、前記配信可能な時刻として決定することを特徴とする請求項２に記載の映像配信装置。
【請求項６】
前記基準時間は、前記映像配信装置に予め設定された時間であることを特徴とする請求項２乃至５の何れか１項に記載の映像配信装置。
【請求項７】
前記受信手段は、前記クライアント装置から、前記基準時間の指定をさらに受信し、
前記第１の決定手段は、前記クライアント装置から受信した前記基準時間に基づいて、前記配信可能な時刻を決定することを特徴とする請求項２乃至５の何れか１項に記載の映像配信装置。
【請求項８】
前記第１の決定手段は、前記クライアント装置により前記基準時間の指定を受信した場合には、前記クライアント装置により指定された前記基準時間に基づいて、前記配信可能な時刻を決定し、前記クライアント装置により前記基準時間の指定を受信しなかった場合には、前記映像配信装置に予め設定された基準時間に基づいて、前記配信可能な時刻を決定することを特徴とする請求項７に記載の映像配信装置。
【請求項９】
前記第１の決定手段は、前記開始要求に前記クライアント時刻が含まれない場合には、前記受信手段が前記開始要求を受信した受信タイミングとして、前記映像配信装置で計測された時刻と、前記基準時間と、に基づいて、前記配信可能な時刻を決定することを特徴とする請求項２乃至８の何れか１項に記載の映像配信装置。
【請求項１０】
映像配信装置が実行する制御方法であって、
クライアント装置から、映像データの配信の開始要求を受信する受信ステップと、
前記開始要求を受信した場合に、前記クライアント装置による前記開始要求の送信タイミングとして前記クライアント装置で計測されたクライアント時刻を示す情報を前記開始要求から抽出する抽出ステップと、
少なくとも前記クライアント時刻に基づいて、映像データを配信可能な時刻を決定する第１の決定ステップと、
前記配信可能な時刻を前記クライアント装置に送信する送信ステップと
を含むことを特徴とする制御方法。
【請求項１１】
コンピュータを、請求項１乃至９の何れか１項に記載の映像配信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像配信装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来、インターネットなどＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークを利用した配信システムが増加してきている。例えば、スキー場や動物園の状況を配信するインターネットサイトに採用されており、他にも店舗・ビル監視などにも採用されている。動画サービスでは、ＤＡＳＨ（Ｄｙｎａｍｉｃ  Ａｄａｐｔｉｖｅ  Ｓｔｒｅａｍｉｎｇ  ｏｖｅｒ  ＨＴＴＰ）やＡｐｐｌｅが主導して規格化しているＨＬＳ（ＨＴＴＰ  Ｌｉｖｅ  Ｓｔｒｅａｍｉｎｇ）等が普及してきている。これらは、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）によって規格化された技術である。これらの映像配信技術では、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）で問題であったネットワーク環境の問題や特別なクライアントアプリケーションが必要などの問題が解決されている。すなわち、これらの映像配信技術においては、通常のブラウザ上で動画配信を受信し再生できるようになっている。
【０００３】
一般的なＤＡＳＨ配信では、配信サーバ側で解像度やビットレートが異なる複数の動画データを数秒単位のセグメントと言われる動画ファイルに分割する。そして、クライアントは表示性能や通信帯域に合わせて最適な動画ファイルを順次ダウンロードして再生する。具体的には、クライアントはまず動画の全体情報が記載されているＭＰＤ（Ｍｅｄｉａ  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ）ファイルを取得し、その中から適切な解像度やビットレートの動画ストリームを選択する。そして、クライアントは、ＭＰＤの記載に従って、ＭＰＥＧ２  ＴＳストリームまたはＭＰ４ファイルの動画データをセグメント単位でダウンロードして再生する。
【０００４】
ＭＰＤファイルには配信可能時刻（ＡｖａｉｌａｂｉｌｉｔｙＳｔａｒｔＴｉｍｅ等）が記載されている。このため、特にライブ配信においては、クライアントは、配信可能時刻になるまで動画データの取得を待ったり、配信可能時刻を過ぎた場合は現在の動画データから取得したりすることができる。このため、配信サーバとクライアント間で予め時刻同期しておくことは重要である。これに対し、特許文献１には、ＭＰＤファイルにコンテンツデータを取り出すことができる時刻と時刻同期方法を含ませ、クライアントは、ＭＰＤファイルに記載してある時刻同期方法により時刻を合わせる技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１６−５０９４００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術においては、動画データを視聴するためにクライアント装置の時刻を変更しなければならなかった。
【０００７】
本発明はこのような問題点に鑑みなされたもので、配信サーバと時刻同期を行っていないクライアント装置に対し、時刻変更を行うことなく、クライアント装置が適切なタイミングで映像データの取得を要求できる仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００８】
そこで、本発明は、映像配信装置であって、クライアント装置から、映像データの配信の開始要求を受信する受信手段と、前記開始要求を受信した場合に、前記クライアント装置による前記開始要求の送信タイミングとして前記クライアント装置で計測されたクライアント時刻を示す情報を前記開始要求から抽出する抽出手段と、少なくとも前記クライアント時刻に基づいて、映像データを配信可能な時刻を決定する第１の決定手段と、前記配信可能な時刻を前記クライアント装置に送信する送信手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、配信サーバと時刻同期を行っていないクライアント装置に対し、時刻変更を行うことなく、クライアント装置が適切なタイミングで映像データの取得を要求できる仕組みを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】映像配信システムの全体図である。
【図２】カメラサーバ装置のハードウェア構成図である。
【図３】カメラサーバ装置の機能構成図である。
【図４】映像配信処理を示すシーケンス図である。
【図５】映像配信処理を示すフローチャートである。
【図６】配信可能時刻決定処理を示すフローチャートである。
【図７】映像生成と配信要求のタイミングを示した関係図である。
【図８】配信可能時刻決定処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面に基づいて説明する。
（第１の実施形態）
図１は、第１の実施形態に係る映像配信システム１００の全体図である。映像配信システム１００は、カメラサーバ装置１１０と、クライアント装置１２０と、を有している。カメラサーバ装置１１０とクライアント装置１２０とは、ネットワーク１３０を介して相互に接続される。カメラサーバ装置１１０はカメラを備え、撮影した映像データを、ネットワーク１３０を介してクライアント装置１２０に配信する。クライアント装置１２０は、カメラサーバ装置１１０にアクセスし、映像データを取得する。
【００１２】
図１においては、説明の簡略化のためにカメラサーバ装置１１０を１台としているが、２台以上であってもよい。またクライアント装置１２０以外にもカメラサーバ装置１１０にアクセスして画像の受信を行う他のクライアント装置があってもよい。ネットワーク１３０は、Ｅｔｈｅｒｎｅｔ（登録商標）等の通信規格を満足する複数のルータ、スイッチ、ケーブル等から構成される。なお、ネットワーク１３０の通信規格、規模、構成を問わない。ネットワーク１３０は、例えば、インターネットからＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であってもよい。
【００１３】
また、本実施形態においては、カメラサーバ装置１１０による配信対象のデータが映像データであるもとして説明するが、配信対象のデータは、映像データ以外のデータを含んでもよい。映像データ以外のデータとしては、音声データ、画像・音声解析データ、字幕データ等が挙げられる。
【００１４】
図２は、カメラサーバ装置１１０のハードウェア構成図である。ＣＰＵ２００、一次記憶装置２０１、二次記憶装置２０２、画像キャプチャＩ／Ｆ（インターフェース）２０３、ネットワークＩ／Ｆ２０４は、内部バス２０６を介して相互に接続されている。ＣＰＵ２００は、カメラサーバ装置１１０全体を制御する。一次記憶装置２０１は、ＲＡＭに代表される書き込み可能な高速の記憶装置で、ＯＳや各種プログラム及び各種データがロードされ、またＯＳや各種プログラムの作業領域としても使用される。二次記憶装置２０２は、フラッシュメモリ、ＨＤＤ、ＳＤカード等に代表される不揮発性を持った記憶装置で、ＯＳや各種プログラム及び各種データの永続的な記憶領域として使用される他に、短期的な各種データの記憶領域としても使用される。なお、後述するカメラサーバ装置１１０の機能や処理は、ＣＰＵ２００が二次記憶装置２０２に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
【００１５】
画像キャプチャＩ／Ｆ２０３にはＣＣＤやＣＭＯＳからなるセンサー（画像センサー）２０５が接続されている。画像キャプチャＩ／Ｆ２０３は、センサー２０５から取得した画像データを所定のフォーマットに変換・圧縮して一次記憶装置２０１に転送する。ネットワークＩ／Ｆ２０４は、ネットワーク１３０と接続するためのＩ／Ｆであり、クライアント装置１２０等との通信を担う。
【００１６】
図３は、カメラサーバ装置１１０の機能構成図である。撮像処理部３０１は、センサー２０５で生成された映像フレームを画像キャプチャＩ／Ｆ２０３を経由して取得し符号化処理を行い、一次記憶装置２０１に保存する。一次記憶装置２０１は、生成された映像フレームを一時的に格納する。一次記憶装置２０１に格納された映像フレームは、配信が完了した後に削除される。
【００１７】
配信管理部３０２は、クライアント装置１２０から配信開始要求を受信すると、配信可能時刻や配信可能映像ストリーム情報を含んだＭＰＤファイルを、ネットワーク処理部３０３を経由して送信する。ここで、配信開始要求は、ＭＰＤファイル取得要求である。配信管理部３０２はまた、一次記憶装置２０１に蓄積されている単数または複数の映像フレームを送信可能なセグメントファイル（動画ファイル）に変換する。そして、配信管理部３０２は、クライアント装置１２０の要求に合わせてネットワーク処理部３０３を経由してセグメントファイルを送信する。
【００１８】
なお、他の例としては、配信管理部３０２は、ＨＴＴＰ／２やＷｅｂｓｏｃｋｅｔなどのプロトコルを採用する場合には、要求を受信することなく、映像フレームを生成してセグメントファイルが完成した時点で次々と送信してもよい。また、配信管理部３０２が映像フレームをセグメントファイルに変換するとしたが、映像生成時に全クライアント共通でセグメントファイルを生成するようにしても構わない。
【００１９】
図４は、カメラサーバ装置１１０からクライアント装置１２０への映像配信処理を示すシーケンス図である。Ｓ４０１において、クライアント装置１２０は、Ｓ４０１の処理時点（送信時点）において自装置において計測された時刻（Ｔ１）を含む配信開始要求を、カメラサーバ装置１１０に送信する。以下、カメラサーバ装置１１０において計測された時刻（Ｔ１）をクライアント時刻と称することとする。カメラサーバ装置１１０は、配信開始要求を受信すると、Ｓ４０２において、配信可能な映像ストリームの映像生成を開始する。次に、Ｓ４０３において、カメラサーバ装置１１０は、配信可能な映像データが準備できるまでの基準時間（Ｄ１）を、配信開始要求に含まれるクライアント時刻（Ｔ１）に加算した値を配信可能時刻（Ｔ２）として決定する。なお、基準時間（Ｄ１）については、後に詳述する。
【００２０】
次に、Ｓ４０４において、カメラサーバ装置１１０は、配信可能時刻（Ｔ２）をＡｖａｉｌａｂｉｌｉｔｙＳｔａｒｔＴｉｍｅに設定したＭＰＤファイルを生成してクライアント装置１２０に送信する。次に、Ｓ４０５において、カメラサーバ装置１１０は、ＳＰＳ／ＰＰＳ等を含む映像フレーム１（Ｉフレーム）を生成する。次に、Ｓ４０６において、カメラサーバ装置１１０は、ＳＰＳ／ＰＰＳ等から最初の映像データである初期化セグメントを生成する。次に、Ｓ４０７において、カメラサーバ装置１１０では、映像フレーム１からの差分映像である映像フレーム２（Ｐフレーム）を生成する。次に、Ｓ４０８において、カメラサーバ装置１１０は、映像フレーム２からの差分映像である映像フレーム３（Ｐフレーム）を生成する。次に、Ｓ４０９において、カメラサーバ装置１１０は、映像フレーム１，２，３からメディアセグメント１を生成する。なお、本実施形態においては、差分映像をＰフレームとしたが、Ｂフレームでもよい。
【００２１】
続いて、クライアント装置１２０は、処理時点の現在時刻がＭＰＤファイルのＡｖａｉｌａｂｉｌｉｔｙＳｔａｒｔＴｉｍｅに設定された時刻になると、Ｓ４１０において、初期化セグメントの取得要求をカメラサーバ装置１１０へ送信する。次に、Ｓ４１１において、クライアント装置１２０は、カメラサーバ装置１１０から初期化セグメントを応答として受信する。次に、Ｓ４１２において、クライアント装置１２０は、メディアセグメント１の取得要求をカメラサーバ装置１１０へ送信する。次に、Ｓ４１３において、クライアント装置１２０は、カメラサーバ装置１１０からメディアセグメント１を応答として受信する。なお、本実施形態においては、クライアント装置１２０は、配信可能時刻以降に初期化セグメントを取得するものとしたが、初期化セグメントは事前に生成できるので配信可能時刻以前に取得することとしてもよい。
【００２２】
以下同様に、カメラサーバ装置１１０は、Ｓ４１４において映像フレーム４（Ｉフレーム）を生成し、次に、Ｓ４１５において映像フレーム５（Ｐフレーム）を生成し、次に、Ｓ４１６において映像フレーム６（Ｐフレーム）を生成する。次に、Ｓ４１７において、カメラサーバ装置１１０は、これらの映像フレームからメディアセグメント２を生成する。そして、Ｓ４１８において、クライアント装置１２０は、メディアセグメント２が生成される時刻以降に取得要求をカメラサーバ装置１１０へ送信する。次に、Ｓ４１９において、クライアント装置１２０は、カメラサーバ装置１１０から応答としてメディアセグメント２を受信する。
【００２３】
図５は、カメラサーバ装置１１０による映像配信処理を示すフローチャートである。映像配信処理は、クライアント装置１２０から配信開始要求を受信した際に実行される処理である。Ｓ５０１において、配信管理部３０２は、撮像処理部３０１に配信可能な映像ストリームの映像生成の開始を指示する。次に、Ｓ５０２において、配信管理部３０２は、配信開始要求に含まれているクライアント時刻（Ｔ１）に基づいて、配信可能時刻を決定する。本処理については、図６を参照しつつ後述する。
【００２４】
次に、Ｓ５０３において、配信管理部３０２は、Ｓ５０２において決定した配信可能時刻をＭＰＤファイルのＡｖａｉｌａｂｉｌｉｔｙＳｔａｒｔＴｉｍｅに設定し、ＭＰＤファイルを生成する。次に、Ｓ５０４において、配信管理部３０２は、ＭＰＤファイルをネットワーク処理部３０３経由でクライアント装置１２０に送信する。Ｓ５０５において、配信管理部３０２は、イベント発生まで待機し、イベントが発生すると（Ｓ５０５でＹＥＳ）、処理をＳ５０６へ進める。
【００２５】
Ｓ５０６において、配信管理部３０２は、イベントの種類を判定する。配信管理部３０２は、イベントの種類が映像フレーム生成の場合には（Ｓ５０６で映像フレーム生成）、処理をＳ５０７へ進める。配信管理部３０２は、イベントの種類がセグメント取得要求の場合には（Ｓ５０６でセグメント取得要求）、処理をＳ５１０へ進める。なお、セグメント取得要求は、初期化セグメント又はメディアセグメントの取得を要求する情報である。配信管理部３０２は、イベントの種類が配信終了の場合には（Ｓ５０６で配信終）、処理をＳ５１５へ進める。
【００２６】
Ｓ５０７において、配信管理部３０２は、映像フレームを一次記憶装置２０１にバッファリングする。このとき、配信管理部３０２は、映像フレームだけでなくＳＰＳ／ＰＰＳ等の情報もバッファに保存する。次に、Ｓ５０８において、配信管理部３０２は、バッファがフルの状態か否かを判定する。配信管理部３０２は、バッファがフルの状態でない場合には（Ｓ５０８でＮＯ）、処理をＳ５０５へ進める。配信管理部３０２は、バッファがフルの状態である場合には（Ｓ５０８でＹＥＳ）、処理をＳ５０９へ進める。Ｓ５０９において、配信管理部３０２は、古い映像フレームを解放し、その後処理をＳ５０５へ進める。
【００２７】
Ｓ５１０において、配信管理部３０２は、要求されたセグメントに含まれる情報がバッファに格納されているか否かを判定する。配信管理部３０２は、要求された情報がバッファに格納されている場合には（Ｓ５１０でＹＥＳ）、処理をＳ５１１へ進める。配信管理部３０２は、要求された情報がバッファに格納されていない場合には（Ｓ５１０でＮＯ）、処理をＳ５１４へ進める。Ｓ５１１において、配信管理部３０２は、要求されたセグメント（初期化セグメント又はメディアセグメント）を生成する。配信管理部３０２は、生成する初期化セグメントまたはメディアセグメントに含める時刻に、配信可能時刻を起点とした初期化セグメントの時刻や各メディアセグメントの時刻を設定してもよい。次に、Ｓ５１２において、配信管理部３０２は、Ｓ５１１において生成したセグメントをクライアント装置１２０に送信する。次に、Ｓ５１３において、配信管理部３０２は、送信した映像フレームをバッファから解放し、その後処理をＳ５０５へ進める。
【００２８】
Ｓ５１４において、配信管理部３０２は、クライアント装置１２０にエラー応答を送信し、その後処理をＳ５０５へ進める。Ｓ５１５において、配信管理部３０２は、バッファに格納されているすべての情報を解放する。次に、Ｓ５１６において、配信管理部３０２は、撮像処理部３０１に映像生成の停止を指示する。以上で、映像配信処理が終了する。
【００２９】
図６は、図５を参照しつつ説明した配信可能時刻決定処理（Ｓ５０２）における詳細な処理を示すフローチャートである。なお、前提として、カメラサーバ装置１１０がクライアント装置１２０から受信するＭＰＤファイルには、クライアント時刻が含まれる場合と含まれない場合があるものとする。同様に、カメラサーバ装置１１０がクライアント装置１２０から受信するＭＰＤファイルには、セグメント時間が含まれる場合と含まれない場合があるものとする。ここで、セグメント時間とは、カメラサーバ装置１１０が配信可能なセグメントを準備するのにかかる時間として、クライアント装置１２０のユーザにより設定された時間である。
【００３０】
Ｓ６０１において、配信管理部３０２は、ＭＰＤファイルにおいてクライアント時刻（Ｔ１）が指定されているか否かを判定する。配信管理部３０２は、クライアント時刻（Ｔ１）が指定されている場合には（Ｓ６０１でＹＥＳ）、処理をＳ６０２へ進める。配信管理部３０２は、クライアント時刻（Ｔ１）が指定されていない場合には（Ｓ６０１でＮＯ）、処理をＳ６０３へ進める。Ｓ６０２において、配信管理部３０２は、ＭＰＤファイルからクライアント時刻（Ｔ１）を抽出し、開始時刻（Ｔ２）にクライアント時刻（Ｔ１）を設定し、その後処理をＳ６０４へ進める。一方、Ｓ６０３においては、配信管理部３０２は、開始時刻（Ｔ２）に対し、Ｓ６０３の処理時点においてカメラサーバ装置１１０において計測された現在時刻（サーバ時刻）を設定し、その後処理をＳ６０４へ進める。ここで、クライアント時刻（Ｔ１）は、クライアント装置１２０による配信開始要求の送信タイミングとしてクライアント装置１２０により計測された時刻である。また、サーバ時刻は、カメラサーバ装置１１０による配信開始要求の受信タイミングとしてカメラサーバ装置１１０により計測された時刻である。
【００３１】
Ｓ６０４において、配信管理部３０２は、ＭＰＤファイルにおいてセグメント時間が指定されているか否かを判定する。配信管理部３０２は、セグメント時間が指定されている場合には（Ｓ６０４でＹＥＳ）、処理をＳ６０５へ進める。配信管理部３０２は、セグメント時間が指定されていない場合には（Ｓ６０４でＮＯ）、処理をＳ６０６へ進める。Ｓ６０５において、配信管理部３０２は、基準時間（Ｄ１）にセグメント時間を設定し、その後処理をＳ６０７へ進める。一方、Ｓ６０６において、配信管理部３０２は、基準時間（Ｄ１）にＩフレームからＩフレームの時間間隔であるＧＯＰ間隔を設定する。なお、ＧＯＰ間隔は、３つの映像フレームを生成する期間に相当する期間である。ＧＯＰ間隔は、カメラサーバ装置１１０において基準時間（Ｄ１）のデフォルト値として設定されているものとする。なお、デフォルト値は、カメラサーバ装置１１０において予め設定された値であればよく、ＧＯＰ間隔に限定されるものではない。また、映像ストリーム毎に異なる時間をデフォルト値として用いてもよい。Ｓ６０７において、配信管理部３０２は、開始時刻（Ｔ２）に基準時間（Ｄ１）を加算した値を、配信可能時刻として決定する。以上で、配信可能時刻決定処理（Ｓ５０２）が終了する。
【００３２】
以上のように、第１の実施形態に係る映像配信システム１００においては、カメラサーバ装置１１０がクライアント装置１２０から現在時刻を受信することで、クライアント装置１２０における配信開始時刻を決定し、これをクライアント装置１２０に送信する。このため、クライアント装置１２０は、時刻を変更することなく、適切なタイミングでセグメントの取得要求をカメラサーバ装置１１０へ送信することができる。このように、配信サーバと時刻同期を行っていないクライアント装置に対し、時刻変更を行うことなく、クライアント装置が適切なタイミングで映像データの取得を要求できる仕組みを提供することができる。
【００３３】
なお、第１の実施形態の第１の変形例としては、Ｓ６０７において、配信管理部３０２は、開始時刻（Ｔ２）と基準時間（Ｄ１）とに基づいて配信可能時刻を決定すればよく、そのための具体的な処理は実施形態に限定されるものではない。他の例としては、配信管理部３０２は、基準時間（Ｄ１）を１．５倍、０．５倍した値を開始時刻（Ｔ２）に加算してもよい。
【００３４】
また、第２の変形例としては、セグメント時間が１秒未満である等、基準時間が無視できる程度に短い場合は、基準時間を０秒としてもよい。つまり、クライアント時刻を、そのまま、映像データを配信可能な時刻として決定してもよい。
【００３５】
また、第３の変形例としては、Ｓ６０７において、配信管理部３０２は、さらに、クライアント装置１２０への配信が可能になるまでにかかる基準時間（Ｄ１）以外の時間を加味して配信可能時間を決定してもよい。配信管理部３０２は、例えば、カメラサーバ装置１１０とクライアント装置１２０間の通信に必要なＲＴＴ（ＲｏｕｎｄＴｒｉｐＴｉｍｅ）時間等を加味してもよい。
【００３６】
また、第４の変形例としては、配信可能時刻は、ＡｖａｉｌａｂｌｉｌｉｔｙＳｔａｒｔＴｉｍｅ以外の他の時刻情報として用いられてもよい。配信可能時刻は、例えば、ＩｎｂａｎｄＥｖｅｎｔＳｔｒｅａｍ等に使用するＰｕｂｌｉｓｈＴｉｍｅとして用いられてもよい。
【００３７】
（第２の実施形態）
次に、第２の実施形態に係る映像配信システム１００について、第１の実施形態に係る映像配信システム１００と異なる点を主に説明する。図７は、第２の実施形態における映像生成と配信要求のタイミングを示した関係図である。図７に示すグラフの横軸は生成される映像フレーム番号を示し、縦軸は時刻を示している。また、直線７００は生成されたフレーム番号に対する時刻を示している。図７に示すように、フレーム番号３のフレームが生成されたタイミング（Ｔ１１）で、セグメント１が生成される。また、フレーム番号６のフレームが生成されたタイミング（Ｔ１２）で、セグメント２が生成される。また、Ｔ１１とＴ１２の間のタイミング（Ｔ２０）において、カメラサーバ装置１１０がクライアント装置１２０からの配信開始要求を受信したものとする。
【００３８】
この場合において、さらにカメラサーバ装置１１０が既に生成済みのセグメント１から配信を開始するものとする。この場合には、カメラサーバ装置１１０は、タイミング（Ｔ２０）とセグメント１の生成時刻（Ｔ１１）の差分時間（Ｄ２）を求める。ここで、差分時間（Ｄ２）は、「Ｔ２０−Ｔ１１」となる。この場合、開始時刻（Ｔ２）は、「Ｔ１−Ｄ２」で求めることができるまた、カメラサーバ装置１１０が次に生成するセグメント２から配信を開始するものとする。この場合、カメラサーバ装置１１０は、セグメント２の生成時間（Ｔ１２）とタイミング（Ｔ２０）の差分時間（Ｄ３）を求める。ここで、差分時間（Ｄ３）は、「Ｔ１２−Ｔ２０」で求めることができる。この場合、開始時刻（Ｔ２）は、「Ｔ１＋Ｄ３」で求めることができる。
【００３９】
図８は、第２の実施形態に係る配信可能時刻決定処理を示すフローチャートである。なお、Ｓ８０１〜Ｓ８０３の処理は、図６を参照しつつ説明したＳ６０１〜Ｓ６０３の処理と同様である。続く、Ｓ８０４において、配信管理部３０２は、一時記憶部としてのバッファに配信可能なセグメントが格納されているか否かを判定する。配信管理部３０２は、セグメントが格納されている場合には（Ｓ８０４でＹＥＳ）、処理をＳ８０５へ進める。配信管理部３０２は、セグメントが格納されていない場合には（Ｓ８０４でＮＯ）、処理をＳ８０７へ進める。
【００４０】
Ｓ８０５におい、配信管理部３０２は、差分時間（Ｄ２）を算出する。次に、Ｓ８０６において、配信管理部３０２は、開始時刻（Ｔ１）から差分時間（Ｄ２）を減算した値を配信可能時刻として決定する。以上で、配信可能時刻決定処理が終了する。一方、Ｓ８０７において、配信管理部３０２は、差分時間（Ｄ３）を算出する。次に、Ｓ８０８において、配信管理部３０２は、開始時刻（Ｔ１）に差分時間（Ｄ３）を加算した値を配信可能時刻として決定する。以上で、配信可能時刻決定処理が終了する。
【００４１】
このように、第２の実施形態のカメラサーバ装置１１０は、バッファに配信可能なセグメントが存在する場合には、バッファに存在するセグメントから配信を開始する。一方で、カメラサーバ装置１１０は、バッファに配信可能なセグメントが存在しない場合には、これから生成されるセグメントから配信を開始する。なお、第２の実施形態に係る映像配信システム１００のこれ以外の構成及び処理は、第１の実施形態に係る映像配信システム１００の構成及び処理と同様である。
【００４２】
なお、第２の実施形態の変形例としては、配信管理部３０２は、バッファに配信可能なセグメントが格納されている場合であっても、次に生成するセグメントから配信を行うこととしてもよい。配信管理部３０２は、例えば、クライアント装置１２０から指示があった場合等に、次に生成するセグメントから配信を行うこととしてもよい。
【００４３】
また、上記実施形態においては、ＭＰＥＧ−ＤＡＳＨによる配信方法を例に説明したが、ＨＬＳなど他のＨＴＴＰ  Ａｄａｐｔｉｖｅ  Ｓｔｒｅａｍｉｎｇを用いた配信や、それ以外の時刻情報を使った配信方式にも適用可能である。
【００４４】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００４５】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４６】
１００  映像配信システム
１１０  カメラサーバ装置
１２０  クライアント装置
【図１】
2019103087.tif 000003
【図２】
2019103087.tif 000004
【図３】
2019103087.tif 000005
【図４】
2019103087.tif 000006
【図５】
2019103087.tif 000007
【図６】
2019103087.tif 000008
【図７】
2019103087.tif 000009
【図８】
2019103087.tif 000010