(57)【要約】【課題】特にライブストリームと蓄積ストリームの配送のためのバッファを制御することで、両ストリームを要求に応じて好適に配送すること。【解決手段】ライブストリーム配送手段と、蓄積ストリーム配送手段と、蓄積用ストリームの配送状況を観測する蓄積ストリーム観測手段とを有し、蓄積ストリーム観測手段でストリームの配送状況が悪化した際に、ライブストリームのバッファリソースを蓄積ストリームに流用することによってライブストリーム配送と蓄積ストリーム配送を行い、蓄積用ストリームを配送する蓄積ストリーム配送手段と、該蓄積用ストリームの配送状況を観測する蓄積ストリーム観測手段と、蓄積ストリームで利用されるメモリへのバッファ方法を切り替える切り替え手段とを有し、蓄積ストリームの該配送状況が悪化した際に、バッファ方法を切り替えることを特徴とする。【選択図】図１
2006197398.tif 000002
【特許請求の範囲】
【請求項１】
ライブ用ストリームを配送するライブストリーム配送手段と、蓄積用ストリームを可変のバッファを用いて配送する蓄積ストリーム配送手段と、蓄積用ストリームの配送状況を観測する蓄積ストリーム観測手段とを有し、蓄積ストリーム観測手段でストリームの配送状況が悪化した際に、ライブストリームのバッファリソースを蓄積ストリームに流用することによってライブストリーム配送と蓄積ストリーム配送を行い、蓄積用ストリームを配送する蓄積ストリーム配送手段と、該蓄積用ストリームの配送状況を観測する蓄積ストリーム観測手段と、蓄積ストリームで利用されるメモリへのバッファ方法を切り替える切り替え手段とを有し、蓄積ストリームの該配送状況が悪化した際に、バッファ方法を切り替えることを特徴とする複数ストリームの映像配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラ等で撮影した映像を複数のストリームとして配信する映像配信システムに関するものである。
【背景技術】
【０００２】
近年のストリーミング技術の例を挙げるまでもなく、画像や映像をサーバから配信してクライアントで閲覧するようなことが一般的になってきている。
【０００３】
その際にはクライアントの要求する各種の画像属性（ｃｏｄｅｃ、画質、ｂｉｔｒａｔｅ等）に応じてストリームが選択されたり、或は画像変換等されてサーバから配送されている。
【０００４】
又、ＱｏＳの観点等から、サーバ・クライアント間での配送データの制御・制限も行われている（例えば、特許文献１参照）。
【０００５】
一方で、ＶＢシリーズに代表されるような組み込み機器型のカメラサーバの映像配信システムもあり、動画像を遠隔地からコントロールしたり、自動制御したりする雲台付きカメラも使われている。これは映像ストリームを受け取るとともに、ユーザの要求によってカメラ制御等を行い、所望する映像ストリームを得られる（例えば、特許文献２参照）。
【０００６】
【特許文献１】特開２００３−００９１２６号公報
【特許文献２】特開平１０−１６４４２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
これらの映像システム等では、同一のカメラサーバから複数のクライアントに映像を配信できるが、クライアントに要求されるストリームは必ずしも一様なストリームではない。例えば、即時性重視のライブストリーム要求や、映像蓄積クライアント等からの一定の基準の品質（例えば、コマ落ちさせない等）を求める蓄積ストリーム要求等が混在している。
【０００８】
一方でサーバ資源は有限であり、必ずしも全ての要求に応えられる訳ではない。サーバの処理能力は、ＣＰＵパワーやメモリリソース等により、限定的である。
【０００９】
本発明は、特にライブストリームと蓄積ストリームの配送のためのバッファを制御することで、両ストリームを要求に応じて好適に配送し、課題を解決しようとするものである。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明は、ライブ用ストリームを配送するライブストリーム配送手段と、蓄積用ストリームを可変のバッファを用いて配送する蓄積ストリーム配送手段と、蓄積用ストリームの配送状況を観測する蓄積ストリーム観測手段とを有し、蓄積ストリーム観測手段でストリームの配送状況が悪化した際に、ライブストリームのバッファリソースを蓄積ストリームに流用することによってライブストリーム配送と蓄積ストリーム配送を行い、蓄積用ストリームを配送する蓄積ストリーム配送手段と、該蓄積用ストリームの配送状況を観測する蓄積ストリーム観測手段と、蓄積ストリームで利用されるメモリへのバッファ方法を切り替える切り替え手段とを有し、蓄積ストリームの該配送状況が悪化した際に、バッファ方法を切り替えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、蓄積ストリームが要求するフレームレートをライブストリームのリソースを利用してまで保証することができる。
【００１２】
又、限られたバッファリソースの元で好適な蓄積ストリームを配送することができる。
【発明を実施するための最良の形態】
【００１３】
以下に本発明の実施の形態を添付図面に基づいて説明する。
【００１４】
＜実施の形態１＞
システム構成の代表図を図１に示す。
【００１５】
映像配信システム１００は、撮像装置１０１からの映像信号１０２を受けデータを圧縮するデータ圧縮装置１０３、システムを立ち上げるのに必要なプログラムやデータ、バッファが記憶されるメモリ１０４、演算や処理の制御を行うところの中央処理装置１０５、ネットワークへデータを配信するネットワークインターフェース１０６から構成される。
【００１６】
撮像装置１０１は、映像配信システム１００の制御信号１０７を受け、ビデオ信号１０２を出力する複数のクライアント１０９は、ネットワーク１０８を介して映像配信システム１００より配信されたデータを受け取り表示する。
【００１７】
映像配信システム１００と撮像装置１０１が一体となったシステム構成でも、本実施の形態は同様に適用できる（図示せず）。
【００１８】
又、メモリ１０４には、マルチストリーム配送プログラム２１０、配信制御プログラム２２０、画像キャプチャプログラム２３０、ライブストリーム配送プログラム２４０、蓄積ストリーム配送プログラム２５０、蓄積ストリーム観測プログラム２６０とキャプチャバッファ２７０、ライブストリームバッファ２８０、蓄積ストリームバッファ２９０がそれぞれ複数と、配信ストリーム情報３００が格納されている（図２）。
【００１９】
次に、本実施の形態の動作について詳細に説明する。
【００２０】
データ圧縮装置１０１では、例えば従来からあるような圧縮チップにおいて、ＣＰＵ１０５等から指示によって、映像信号が圧縮され、ｊｐｅｇやＭＰＥＧのデータとして出力され、ＣＰＵ１０５から指示されたメモリ１０２に格納される。
【００２１】
ネットワークインターフェース１０６では、従来からあるようなネットワークチップにおいて、ネットワーク１０８へのＣＰＵ１０５からのデータのＩ／Ｏを実現する。
【００２２】
クライアント１０９は、例えば従来からあるＰＣ等の上で動作する映像表示プログラムやネットワークファイルシステムへの画像データの転送・保存で実現される。
【００２３】
次に、マルチストリーム配送プログラム２１０の動作について図３に示す。
【００２４】
本実施の形態では、即時性の求められるライブストリームと、コマ落ちのない蓄積ストリームを扱う例を示す。
【００２５】
ｓ３０１においてメモリ１０２から設定値等を読み込み、プログラムの初期設定を行う。その際に後述する配信制御プログラム２２０を起動し初期化させる（ｓ３０２）。
【００２６】
又、後述する画像キャプチャプログラム２３０を実行させ、撮像装置１０１及びデータ圧縮装置１０３の初期化を行う（ｓ３０３）。
【００２７】
ｓ３０４でイベントを待つ。
【００２８】
ｓ３１０でストリーム要求イベントが送られてきた際には、ｓ３１１で要求ストリームの属性が新規のものであれば、ｓ３１２でキャプチャバッファ２７０を確保し設定する。
【００２９】
これは従来からあるようなシングルバッファやダブルバッファの確保やＤＭＡの設定と同様である。
【００３０】
同様の属性のものが既に存在する場合は、ｓ３１３で同様の以前のキャプチャバッファ２７０の設定を参照する。
【００３１】
ｓ３１４で要求ストリームの属性等と共にキャプチャバッファ２７０の設定情報を、画像キャプチャプログラム２３０に設定イベントとして送付する。
【００３２】
ｓ３１５で属性に応じて後述するライブストリーム配送プログラム２４０（ｓ３１６）や、蓄積ストリーム配送プログラム２５０を起動する（ｓ３１７）。起動の際にはキャプチャバッファ２７０の設定情報や要求ストリームの属性等も送付する。その際に、確保されたバッファの情報（後述するライブストリームバッファ２８０か蓄積ストリームバッファ２９０）を受け取りストリーム要求イベント送付元に返す（ｓ３１８）。
【００３３】
ｓ３２０でストリーム切断イベントが送られてきた際には、ｓ３２１で属性に応じてライブストリーム配送プログラム２４０や（ｓ３２２）、蓄積ストリーム配送プログラム２５０を終了する（ｓ３２３）ために、ストリーム切断イベントを投げる。その際にｓ３２２，ｓ３２３で開放されたバッファ（後述するライブストリームバッファ２８０か蓄積ストリームバッファ２９０）の情報を受け取る（ｓ３２４）。
【００３４】
ｓ３２５で要求ストリームの属性が唯一のものである場合、画像キャプチャプログラム２３０に削除イベントを送付し、ｓ３２６で該当するキャプチャバッファ２７０を削除し、その開放したキャプチャバッファ２７０の設定情報とｓ３２４の開放されたバッファの情報を切断イベント送付元に返す（ｓ３２７）。
【００３５】
ｓ３３０でストリーム制御イベントが送られてきた際には、ｓ３３１で、制御イベントを、該当するキャプチャバッファ２７０の設定情報と共に画像キャプチャプログラム２３０に制御イベントとして送付する。
【００３６】
又、ｓ３３２で属性に応じてライブストリーム配送プログラム２４０や（ｓ３３３）、蓄積ストリーム配送プログラム２５０を（ｓ３３４）に制御イベントを送付する。送付の際にはキャプチャバッファ２７０の設定情報も送付する。
【００３７】
ｓ３９０で終了のイベントが送られてきた際には、ｓ３９９で終了する。
【００３８】
ここで要求ストリームの属性の例を図４に示す。
【００３９】
ストリームの属性は、例えばライブか蓄積か、又、画像サイズがＱＶＧＡかＶＧＡかＸＧＡか、更に画質（ＪＰＥＧの従来例で言えばＱ値）等で示される。
【００４０】
又、キャプチャバッファ２７０の設定情報の例を図５に示す。
【００４１】
バッファの設定情報は開始アドレスと長さなどで示される。例えば、従来例のダブルバッファ等の場合では、ＶＧＡの画像をバッファするために、ＶＧＡ分の２倍のバッファを確保する。
【００４２】
次に、配信制御プログラム２２０の動作について図６に示す。
【００４３】
配信制御プログラム２２０が起動されると、ｓ６０１においてメモリ１０２から設定値等を読み込み、プログラムの初期設定を行う。
【００４４】
ｓ６０２でイベントを待つ。
【００４５】
ｓ６１０でクライアント１０９より映像配信要求イベントが送付されてきた場合、ｓ６１１で要求ストリームの属性等をストリーム要求イベントとしてマルチストリーム配送プログラム２１０に送付する。
【００４６】
ｓ６１２で配信ストリーム情報３００に該当する要求ストリームを加える。その際にマルチストリーム配送プログラム２１０の戻り値であるバッファ情報も加える。
【００４７】
ｓ６２０でクライアントより映像配信切断イベントが送付されてきた場合、ｓ６２１で切断ストリームの属性等をストリーム切断イベントとしてマルチストリーム配送プログラム２１０に送付する。
【００４８】
ｓ６２２で配信ストリーム情報３００で該当する切断ストリームを削除するｓ６３０でクライアントより映像配信制御イベントが送付されてきた場合、ｓ６３１で制御ストリームの属性等をストリーム制御イベントとしてマルチストリーム配送プログラム２１０に送付する。
【００４９】
ｓ６３２で配信ストリーム情報３００で該当する制御ストリームの情報を変更する配信ストリーム情報３００の例を図７に示す。同様の属性を持った配信要求の場合は識別ＩＤをインクリメントして対応しても良い。
【００５０】
ここで、図７でストリームバッファアドレスとストリームバッファ長さとして表したものは、ライブストリームバッファ２８０と蓄積ストリームバッファ２９０の設定情報等である。これらは、図５のバッファ設定情報の例と同様に、ライブストリーム配送プログラム２４０と蓄積ストリーム配送プログラム２５０の戻り値をマルチストリーム配送プログラム２２０が返してきた値である。
【００５１】
ここで、ライブストリーム配送プログラム２４０の動作について図８に示す。
【００５２】
ライブストリーム配送プログラム２４０が起動されると、ｓ９０１で送付された設定値等を読み込む。
【００５３】
ｓ８０２で要求ストリームの属性のサイズに応じてライブストリーム配送用のライブストリームバッファ２８０を確保し、呼び出し元にバッファの設定情報を返す。
【００５４】
この際、ライブストリームバッファ２８０は、従来からあるシングルバッファのようなもので、転送用の１フレーム分が確保されていれば良い。
【００５５】
ｓ８０３でｓ８０１で読み込んだ要求ストリームの接続元クライアント１０９とのネットワーク接続を確立する。
【００５６】
ｓ８０４でｓ８０１で読み込んだ対象のキャプチャバッファ２７０から転送用のライブストリームバッファ２８０に送付する画像データを読み込み、クライアント１０９に送付する。
【００５７】
ｓ８０５でイベントを待つ。
【００５８】
ｓ８１０でクライアント１０９から画像受領のイベント（ａｃｋ）が返ってきた場合、ｓ８１１で、キャプチャバッファ２７０に既に送付した画像よりも新しい画像が利用可能になるまで待つ。この際には従来からあるように画像のシーケンシャルナンバー等から新規画像かどうかを判定する。
【００５９】
又、この際に幾つかシーケンシャルナンバーが飛んでいる場合があり得るが、即時性を求めるライブストリーム配送ではコマ落ちを無視し、最新のキャプチャデータを用いる。
【００６０】
ｓ８１２でキャプチャバッファ２７０から転送用のライブストリームバッファ２８０に送付する画像データを読み込み、クライアント１０９に送付し、イベントループｓ８０５に戻る。
【００６１】
ｓ８２０でストリーム制御イベントを受けた場合、ｓ８２１で現在送付中の画像のクライアント１０９からの画像受領のイベント（ａｃｋ）を待つ。
【００６２】
ｓ８２２で制御イベントの要求する属性に応じて、ｓ８０１で読み込んだ利用するキャプチャバッファ２７０の設定情報を用いてキャプチャバッファ２７０を変更し、ライブストリームバッファ２８０も変更する。
【００６３】
ｓ８２３で新たな対象のキャプチャバッファ２７０から新たな転送用のライブストリームバッファ２８０に送付する画像データを読み込み、クライアント１０９に送付し、イベントループｓ８０５に戻る。
【００６４】
ｓ８９０でストリーム切断イベントを受けた場合、ｓ８９１でネットワークの終了処理を行い、ｓ８９２でライブストリームバッファ２８０を開放して、開放したバッファの設定情報を呼び出し元に返し（ｓ８９３）、終了する。
【００６５】
次に、蓄積ストリーム配送プログラム２５０の動作について図９に示す。
【００６６】
蓄積ストリーム配送プログラム２５０が起動されると、ｓ９０１で送付された設定値等を読み込む。
【００６７】
ｓ９０２で要求ストリームの属性のサイズに応じて蓄積ストリーム配送用の蓄積ストリームバッファ２９０を確保し、呼び出し元にバッファの設定情報を返す。
【００６８】
この際、蓄積ストリームバッファ２９０は、従来からあるリングバッファのようなもので実現される。又、ｓ９０１で読み込んだ設定値によりリングバッファの容量は確保すべきフレーム数分の大きさで確保されることによって、転送遅延等が起こった場合でも、フレームを落とすことなく転送される。
【００６９】
ｓ９０３でｓ９０１で読み込んだ要求ストリームの接続元クライアント１０９とのネットワーク接続を確立する。
【００７０】
ｓ９０４でｓ９０１で読み込んだ対象のキャプチャバッファ２７０から転送用の蓄積ストリームバッファ２９０に送付する画像データを読み込み、クライアント１０９に送付する。
【００７１】
ｓ９０５でイベントを待つ。
【００７２】
ｓ９１０でクライアント１０９から画像受領のイベント（ａｃｋ）が返ってきた場合、ｓ９１１で、蓄積ストリームバッファ２９０に既に送付した画像よりも新しい画像が利用可能になるまで待たされる。この際の判定については従来からあるようにリングバッファのスタートとエンドのポインタの位置関係によって、新規のものがあるかは判定できる。
【００７３】
ｓ９１２で蓄積ストリームバッファ２９０の最も古い画像をクライアント１０９に送付し、ｓ９１３で該当する画像データを蓄積ストリームバッファ２９０から消去し、イベントループｓ９０５に戻る。
【００７４】
ｓ９２０でストリーム制御イベントを受けた場合、ｓ９２１で現在送付中の画像のクライアント１０９からの画像受領のイベント（ａｃｋ）を待つ。この際、画像データの送付が終わっていれば、バッファが変更されても問題ないので、必ずしも画像受領のイベント（ａｃｋ）待たずに次のステップに進んでも良い。
【００７５】
ｓ９２２で制御イベントの要求する属性に応じて、ｓ８０１で読み込んだ利用するキャプチャバッファ２７０の設定情報を用いてキャプチャバッファ２７０を変更し、蓄積ストリームバッファ２９０も変更する。その際に必要ならば、変更前後のリングバッファでデータの複製等の処理が行われ整合が取られる（ｓ９２３）。
【００７６】
ｓ９２４で新たな対象のキャプチャバッファ２７０から新たな転送用の蓄積ストリームバッファ２９０に送付する画像データを読み込み、クライアント１０９に送付し、イベントループｓ９０５に戻る。
【００７７】
ｓ９３０で画像キャプチャプログラム２３０からキャプチャ済イベントを受けた場合、ｓ９３１で対象のキャプチャバッファ２７０から転送用の蓄積ストリームバッファ２９０の最も新しい画像として画像データを読み込む。この際、リングバッファが溢れた場合には最も古い画像データが新しい画像データで上書きされる。
【００７８】
ｓ９３２で蓄積ストリーム観測プログラム２６０（図示せず）を起動し、リングバッファが溢れた場合、若しくは設定値によって定められただけの空きバッファ量より少ないバッファしか残っていない場合をアラート状態とし（ｓ９３３）、ｓ９３４で蓄積アラートイベントを配信制御プログラム２２０に送付し、イベントループｓ９０５に戻る。
【００７９】
蓄積ストリーム観測プログラム２６０は、ｓ９３２，ｓ９３３，ｓ９３４のステップを切り出し、ｓ９０４等で予め別プログラムとして起動され、常に蓄積ストリームバッファ２９０を観測させても良い。この場合、ｓ９３２，ｓ９３３，ｓ９３４のステップを繰り返すようなものが蓄積ストリーム観測プログラム２６０’となる。
【００８０】
ｓ９９０でストリーム切断イベントを受けた場合、ｓ９９１でネットワークの終了処理を行い、ｓ９９２で蓄積ストリームバッファ２９０を開放して、開放したバッファの設定情報を呼び出し元に返し（ｓ９９３）、終了する。
【００８１】
又、ここで、画像キャプチャプログラム２３０の動作について図１０に示す。
【００８２】
画像キャプチャプログラム２３０が起動される（ｓ１０００）と、ｓ１００１においてメモリ１０２から設定値等を読み込み、プログラムの初期設定を行う。
【００８３】
ｓ１００２で撮像装置１０１及びデータ圧縮装置１０３をｓ１００１の初期設定から初期化する。
【００８４】
ｓ１００３でイベントを待つ。
【００８５】
ｓ１０１０でマルチストリーム配送プログラム２１０より設定イベントを受けると、ｓ１０１１で送付された設定値等を読み込む。
【００８６】
ｓ１０１２においてｓ１０１１で読み込んだ要求ストリームの属性に応じたサイズや画質でのキャプチャの設定を撮像装置１０１やデータ圧縮装置１０３に対して行う。
【００８７】
次に、ｓ１０１３では、ｓ１０１１で読み込んだ対象のキャプチャバッファ２７０に対して、画像データを保存するように設定する。これは例えば従来からあるようなＤＭＡの設定で良い。
【００８８】
ｓ１０１４で該当する画像のキャプチャを開始し、イベントループｓ１００３に戻る。この際、ｓ１０１１で以前に設定済みの要求ストリームの属性を読み込んだのであれば、特に何もしなくとも良い。
【００８９】
ｓ１０２０で従来からあるようにデータの圧縮装置１０３からキャプチャの終了のイベント（例えば、ＤＭＡの終了のイベント）を受け取ると、ｓ１０２１で該当する要求ストリームの属性の、蓄積ストリーム配送プログラム２５０へ、画像データのキャプチャ済みイベントを送付し、イベントループｓ１００３に戻る。この際に次のキャプチャは継続されている。
【００９０】
ｓ１０３０でマルチストリーム配送プログラム２１０から削除イベントを受けた場合、ｓ１０３１で該当する要求ストリームの属性の、画像データに対するキャプチャを止め、イベントループｓ１００３に戻る。この際にその他のキャプチャは継続されている。
【００９１】
ｓ１０９０で終了イベントを受け取ると、画像キャプチャプログラム２３０は、全てのキャプチャを止める等の終了処理をして（ｓ１０９１）終了する。
【００９２】
引き続き、図６の配信制御プログラム２２０の動作についてに示す。
【００９３】
ｓ６４０で蓄積ストリーム観測プログラム２６０’より、蓄積アラートイベントを受けた場合、ｓ６４１で配信ストリーム情報３００の種別がライブのもののマルチストリーム配送プログラム２１０に対して、ストリーム属性等も含めてマルチストリーム配送プログラム２１０を介してストリーム切断イベントを送付する。
【００９４】
この際、図８のライブストリーム配送プログラム２４０のｓ８９１のネットワーク終了処理において、転送中の画像データに対しては送り切ってから終了しても良く、更に画像受領のイベント（ａｃｋ）を待ってから終了しても良く、逆にｓ８９１でストリーム配送切断イベントを送って切断しても良い。
【００９５】
クライアント１０９では、ストリーム配送切断イベントを受けた際には即座にネットワークを切断するようにすれば、データ待ちによる、いわゆる一般で言う「刺さった」状態にはならない。
【００９６】
ｓ６４２で配信ストリーム情報３００で該当する切断ストリームを削除し、該当するクライアント１０９にストリーム配送切断イベントを送る。先にｓ８９１等でストリーム配送切断イベントを送っている場合には送らなくとも良い。
【００９７】
ｓ６４３で戻り値にある開放されたバッファの設定情報を含めて、アラートの上がった蓄積ストリームに対するストリーム制御イベントとしてマルチストリーム配送プログラム２１０に送付する。
【００９８】
この際、具体的には図９で示した、蓄積ストリーム配送プログラム２５０のｓ９２２で、開放されたバッファの設定情報を用いて、蓄積ストリームバッファ２９０をその分増加させる制御が行われる。
【００９９】
ｓ６９０で終了イベントを受けると配信制御プログラム２２０はｓ６９９で終了する。
【０１００】
こうすることによって、限られたバッファをライブストリームから蓄積ストリームに回し、キャプチャ漏れ、配送漏れを防ぐことができる。
【０１０１】
＜実施の形態２＞
実施の形態１では、ライブストリームを切断し、蓄積ストリームへバッファを回すことで蓄積ストリームの配送漏れを防いだが、これに限る訳ではない。
【０１０２】
本実施の形態では、蓄積ストリームのキャプチャを制御することで蓄積ストリームバッファを有効活用し、配送漏れを防ぐ実施の形態について述べる。
【０１０３】
本実施の形態のシステム構成図は図１の映像配信システム構成図と同様である。
【０１０４】
システム構成の補足の図２において、蓄積ストリーム観測プログラム２６０が、蓄積ストリーム観測プログラム２６１に、置き換わり、蓄積バッファアラートレベル情報３１０が加わったものである（図示せず）。
【０１０５】
本実施の形態での動作の詳細について説明する。
【０１０６】
実施の形態１の図９示した、蓄積ストリーム配送プログラム２５０の、ｓ９３２，ｓ９３３，ｓ９３４から成る蓄積ストリーム観測プログラム２６０’を、本実施の形態の蓄積ストリーム観測プログラム２６１で置き換える。
【０１０７】
ここで、蓄積ストリーム観測プログラム２６１の動作について図１１に示す。
【０１０８】
ｓ１１００で蓄積ストリーム観測プログラム２６１が起動されると、ｓ１１０１でメモリ１０２から設定値等を読み込み、プログラムの初期設定を行う。
【０１０９】
ｓ１１０２で蓄積バッファアラートレベル情報３１０を読み出す。
【０１１０】
蓄積バッファアラートレベル情報３１０の例を図１２に示す。
【０１１１】
蓄積バッファアラートレベル情報３１０は、例えばレベルと割合の組のリストや、レベルと或る設定値の組と、そのレベルに対する処理を示すリスト等で表現され、後述のアラートレベルを算出する際に用いられる。
【０１１２】
ｓ１１０３で配信ストリーム情報３００を読み込み該当する蓄積ストリームの蓄積ストリームバッファの設定情報を読み出す。
【０１１３】
ｓ１１０４で、例えばバッファが従来からあるリングバッファ等で実現されている場合に、該当する蓄積ストリームバッファの容量と、先頭ポインタ、最後尾ポインタ等の情報を取り出し、バッファ容量に対する利用済みバッファの割合を算出する。
【０１１４】
ｓ１１０５でアラートレベルが変化したか判定を行う。
【０１１５】
ｓ１１０６で蓄積バッファアラートレベル情報３１０のアラートレベルで指示された処理を行う。
【０１１６】
図１２の蓄積バッファアラートレベル情報３１０の例で言うと、例えばレベル１はバッファ使用済み割合が５０％を超えている場合（ｓ１１０５）、レベル１の指示する内容が画質ダウンであることから、蓄積ストリームの属性で画質のＱ値が１００であるような場合に、ｓ１１０７でそれを５０に落とし、画像キャプチャプログラム２３０に制御イベントを送付する。
【０１１７】
又、更に、レベル２の使用済み割合８０％を超えている場合には、更に画像サイズがＸＧＡであったとしたら、ｓ１１０７でＶＧＡ等に画像サイズを落とし、画像キャプチャプログラム２３０に制御イベントを送付する。
【０１１８】
又、アラートレベル２から１、１から０と戻る場合にも、処理を変更することでなるべく良い品質で配送されるようになる。
【０１１９】
ｓ１１９９で蓄積ストリーム観測プログラム２６１は終了する。
【０１２０】
又、実施の形態１で示したように、蓄積ストリーム観測プログラム２６１が別途で起動されるとした場合、ｓ１１０３を変形したｓ１１０３’では該当の蓄積ストリームと限らずに全ての蓄積ストリームに対して、順次ｓ１１０４からｓ１１０６を繰り返す。つまり、ｓ１１９９で終了しないで、ｓ１１０３’にループさせる。
【０１２１】
このようにすることで、限られた蓄積ストリームバッファが溢れないようにし、キャプチャ漏れ、配送漏れを防ぐことができる。
【図面の簡単な説明】
【０１２２】
【図１】本発明の実施の形態１の映像配信システムの構成図である。
【図２】本発明の実施の形態１の映像配信システム構成の補足図である。
【図３】本発明の実施の形態１のマルチストリーム作成プログラムの流れを説明するフロチャートである。
【図４】本発明の実施の形態１のストリームの属性例を示す図である。
【図５】本発明の実施の形態１のバッファの設定情報例を示す図である。
【図６】本発明の実施の形態１の配信制御プログラムの流れを説明するフロチャートである。
【図７】本発明の実施の形態１の配信ストリーム情報の例を示す図である。
【図８】本発明の実施の形態１のライブストリーム配送プログラムの流れを説明するフロチャートである。
【図９】本発明の実施の形態１の蓄積ストリーム配送プログラムの流れを説明するフロチャートである。
【図１０】本発明の実施の形態１の画像キャプチャプログラムの流れを説明するフロチャートである。
【図１１】本発明の実施の形態２の蓄積ストリーム観測プログラムの流れを説明するフロチャートである。
【図１２】本発明の実施の形態２の蓄積バッファアラートレベル情報の例を示す図である。
【符号の説明】
【０１２３】
１００  映像配信システム
１０１  撮像装置
１０２  映像信号
１０３  データを圧縮する圧縮装置
１０４  メモリ
１０５  中央処理装置
１０６  ネットワークインターフェース
１０７  制御信号
１０８  ネットワーク
１０９  クライアント
２１０  マルチストリーム配送プログラム
２２０  配信制御プログラム
２３０  画像キャプチャプログラム
２４０  ライブストリーム配送プログラム
２５０  蓄積ストリーム配送プログラム
２６０  蓄積ストリーム観測プログラ
２７０  キャプチャバッファ
２８０  ライブストリームバッファ
２９０  蓄積ストリームバッファ
３００  配信ストリーム情報
３１０  蓄積バッファアラートレベル情報
【図１】
2006197398.tif 000003
【図２】
2006197398.tif 000004
【図３】
2006197398.tif 000005
【図４】
2006197398.tif 000006
【図５】
2006197398.tif 000007
【図６】
2006197398.tif 000008
【図７】
2006197398.tif 000009
【図８】
2006197398.tif 000010
【図９】
2006197398.tif 000011
【図１０】
2006197398.tif 000012
【図１１】
2006197398.tif 000013
【図１２】
2006197398.tif 000014