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