(57)【要約】【課題】  データ量が一定ではない符号化データの順次蓄積し、蓄積映像の配信を行う共に、端末からの要求に応じて最新の符号化データをライブ映像とし配信する。【解決手段】  配信状態情報に基づいて符号化部103の符号化レートの設定を行うレート制御部104と、符号化データ量の揺らぎを吸収すると共に、格納時刻を付加する揺らぎ吸収バッファ106と、符号化データを受信し、揺らぎ吸収バッファ106へ書込むと共に、端末からライブ映像配信の要求がある場合にはライブ映像をライブ配信制御部110へ送る符合化データ受信部105と、揺らぎ吸収バッファ106に書き込まれた符合化データを順次蓄積領域108へ格納すると共に、端末からの要求に応じて指定時刻の符号化データを蓄積映像として蓄積配信制御部109へ送る蓄積管理部107と、端末からの要求に応じてライブ映像あるいは蓄積映像をネットワークへ配信する配信部111を備える。【選択図】図１
2005175717.tif 000002
【特許請求の範囲】
【請求項１】
カメラから入力される映像信号をデジタルデータに変換する映像入力部と、
上記映像入力部に入力されるデジタルデータを符号化する符号化部と、
ネットワークへの配信状態情報に基づいて上記符号化部における符号化レートの設定を行うレート制御部と、
送り込まれる符合化データの単位時間あたりの符号化データ量の揺らぎを吸収すると共に、符合化データを格納した時の時刻を付加する符号化揺らぎ吸収バッファと、
上記符号化部により符号化された符号化データを受信し、受信した符号化データを上記符号化揺らぎ吸収バッファへ書込むと共に、ネットワークに接続された端末からライブ映像配信の要求がある場合には、受信した最新の符号化データをライブ映像としてライブ配信制御部へも送る符合化データ受信部と、
上記符号化揺らぎ吸収バッファに書き込まれた符合化データを順次蓄積領域へ格納すると共に、上記端末からの要求に応じて上記蓄積領域内にある指定された時刻の符号化データを蓄積映像として蓄積配信制御部へ送る蓄積管理部と、
上記端末からの要求に応じて上記ライブ配信制御部に送り込まれたライブ映像あるいは上記蓄積配信制御部に送り込まれた蓄積映像をネットワヘクへ配信する配信部とを備えたことを特徴とする映像データ配信装置。
【請求項２】
上記蓄積配信制御部に上記符号化揺らぎ吸収バッファと同等の機能を有した配信バッファを備え、蓄積映像の配信開始時に単位時間当たりの符号化データを上記配信バッファに先読みすることを特徴とする請求項１に記載の映像データ配信装置。
【請求項３】
上記蓄積配信制御部は、蓄積映像の配信の際、単位時間あたりの符号化レートを算出し、算出した結果と符号化レートとの比較を行い、その結果に応じて符号化レートの変更を行うことを特徴とする請求項２に記載の映像データ配信装置。
【請求項４】
上記蓄積配信制御部は、配信先の端末から一定周期で蓄積映像の受信状態情報を受信し、この情報から算出した配信レートと符号化レートとの比較を行い、その結果に応じて符号化レートの変更を行うことを特徴とする請求項３に記載の映像データ配信装置。
【請求項５】
異常発生などの信号を入力するイベント入力部、イベント発生前後の符号化データの管理や端末へのイベント発生通知を行うイベント管理部を備えたことを特徴とする請求項１〜４のいずれか１項に記載の映像データ配信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、入力される映像信号を符号化し、符号化された最新の符号化データを順次装置内に蓄積すると共に、最新の符号化データをライブ映像として、また、蓄積した符号化データを蓄積映像として配信する映像データ配信装置に関するものである。
【背景技術】
【０００２】
従来の映像入映像データ配信装置としては、例えば、特許文献１（特開２００１−３２６９２６号公報）に記載されたものがある。
特許文献１に記載のデータ配信装置は、監視カメラなどの映像をデジタルデータに符号化し、ネットワーク経由でデータをネットワーク経由で端末に配信するシステムにおいて、熱感知器や動き検出装置などによって火災や侵入者などの異常を検出することにより、自動的に異常発生前後の映像を蓄積し、配信するデータ配信装置に関するものである。
【０００３】
上記特許文献１に記載のデータ配信装置は、データを入力する入力装置と、入力装置から入力されたデータを所定の期間蓄積するデータ蓄積装置と、入力装置に入力されるデータに関する異常を検出する異常検出装置と、異常検出措置によって検出された異常に関する異常情報を入力し、異常情報が入力された時に、データ蓄積装置に蓄積されているデータを読出し、読出したデータを保存する異常対処装置と、異常対処装置で読出したデータを保存するデータ保存装置と、データ保存装置に保存されたデータを端末へ配信する配信装置を備えている。
【特許文献１】特開２００１−３２６９２６号公報（図１、段落０００７）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の映像データ配信装置では、カメラから入力した映像を設定された符号化レートに基づいて符号化部により符号化し、その符号化データをライブ映像として装置に接続されているネットワークを通じて、映像要求元の端末等に配信する。
このとき、異常監視等の目的のため、最新の符号化データを順次装置内に蓄積し、異常発生後にその異常発生時刻前後の符号化データを蓄積映像として端末等へ配信することがある。
符号化データを蓄積する場合、符号化部により生成される符号化データが一定の符号化データ量であれば、装置内に設ける蓄積領域は、符号化データ生成時間当たりのデータ量を一レコードとしたリングバッファを構成することによって、現在から一定時間分の符号化データを蓄積することができる。
【０００５】
しかし、符号化方式によっては、単位時間あたりの符号化データ量は一定となるが、符号化データ生成時間単位（例えば、ＪＰＥＧなどの符号化方式では１フレームを圧縮するためにかかる時間）で見ると、データ量が揺らぐ（符号化データ量が増減）ことがある。
また、インターネットなど、ネットワーク品質が一定ではない場合にライブ映像を配信する場合、ネットワーク品質に応じた符号化データ量とする必要がある。
このため、ライブ映像を受信する端末が受信状態を示す配信レートを映像データ配信装置に一定周期で送信し，映像データ配信装置はこの配信レートを元に符号化レートを適宜変更することによって符号化データ量を増減させ、ライブ映像を安定した品質で配信できるようにする。
【０００６】
このような場合、前述したリングバッファを使って符号化データを蓄積しようとすると、符号化データ量が一定ではないため、例えば蓄積領域の最古の蓄積映像から配信を開始する場合、蓄積映像の配信による符号化データの読出し量が符号化データの蓄積による書込み量より小さい場合が発生した時に、同一の蓄積領域に対して読出しと書込みが行われる。
即ち、同一の蓄積領域に対する読出しと書込みの競合が生じる。
従って、この状態の発生を回避するためには、符号化データの蓄積処理または蓄積映像の配信処理のどちらかを停止しなければならないという問題点があった。
この発明は、このような問題点を解決するためになされたもので、同一の蓄積領域に対する競合が回避でき、符号化データ量が一定ではない符号化データの蓄積を行いつつ、蓄積映像の配信を行える映像データ配信装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る映像データ配信装置は、カメラから入力される映像信号をデジタルデータに変換する映像入力部と、上記映像入力部に入力されるデジタルデータを符号化する符号化部と、ネットワークへの配信状態情報に基づいて上記符号化部における符号化レートの設定を行うレート制御部と、送り込まれる符合化データの単位時間あたりの符号化データ量の揺らぎを吸収すると共に、符合化データを格納した時の時刻を付加する符号化揺らぎ吸収バッファと、上記符号化部により符号化された符号化データを受信し、受信した符号化データを上記符号化揺らぎ吸収バッファへ書込むと共に、ネットワークに接続された端末からライブ映像配信の要求がある場合には、受信した最新の符号化データをライブ映像としてライブ配信制御部へも送る符合化データ受信部と、上記符号化揺らぎ吸収バッファに書き込まれた符合化データを順次蓄積領域へ格納すると共に、上記端末からの要求に応じて上記蓄積領域内にある指定された時刻の符号化データを蓄積映像として蓄積配信制御部へ送る蓄積管理部と、上記端末からの要求に応じて上記ライブ配信制御部に送り込まれたライブ映像あるいは上記蓄積配信制御部に送り込まれた蓄積映像をネットワヘクへ配信する配信部とを備えたものである。
【発明の効果】
【０００８】
この発明によれば、符号化データ生成時間における符号化データ量の揺らぎを新たに設けたバッファで吸収することにより、蓄積領域に対する読出しと書込みの競合が回避されるので、符号化データを順次蓄積すると同時に蓄積された符号化データを蓄積映像として配信することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面に基づいて本発明の一実施の形態について説明する。
なお、各図間において、同一符号は同一あるいは相当のものを表す。
実施の形態１．
図１は、実施の形態１による映像データ配信装置の構成を示すブロック図である。
図１において、カメラ１０１により入力された映像信号は、映像入力部１０２によりデジタルデータに変換され、さらに符号化部１０３にて符号化データに変換される。
符号化部１０３は、単位時間で見た場合は、設定された符号化レートとなる符号化方式で、映像入力部１０２より入力された映像信号の符号化を行う。
レート制御部１０４は、符号化部１０３に対して符号化する際の符号化レートを設定するための手段が設けられており、また、ライブ配信制御部１１０、蓄積配信制御部１０９から現在の符号化レートの参照および変更を行える手段が設けられている。
【００１０】
符号化データ受信部１０５は、符号化部１０３から出力される符号化データを順次受信し、符号化揺らぎ吸収バッファ１０６へ受信した符号化データを一旦格納する。
また、符号化データを受信したことをライブ配信制御部１１０へ通知し、必要であれば受信した符号化データをライブ配信制御部１１０へも受け渡す。
蓄積管理部１０７は、符号化揺らぎ吸収バッファ１０６に格納されている符号化データを蓄積領域１０８に格納（蓄積）する。
【００１１】
蓄積配信制御部１０９は、ネットワーク１１２上の端末１１３からの蓄積映像配信要求に基づいて指定された時刻情報の符号化データを蓄積管理部１０７を通して取得し、配信部１１１を通して蓄積映像を端末１１３へ配信する。
ライブ配信制御部１１０は、ネットワーク１１２上の端末１１３からのライブ映像配信要求に基づいて符号化データ受信部１０５から受け渡される符号化データをライブ映像として配信部１１１を通して端末１１３へ配信する。配信部１１１は、端末１１３と本装置間での映像配信手順を備える。
【００１２】
図２は、符号化揺らぎ吸収バッファ１０６の構成例を示す図である。
図２において、符号化情報格納領域２０１は、１符号化データの情報を示す符号化情報２０２を単位時間分以上格納できる領域である。
符号化情報２０２は、ヘッダ部２０３とデータ部２０４とで構成されており、ヘッダ部２０３には、符号化データを格納した時刻を示す符号化時刻、符号化データのサイズを示す符号化データサイズなどの情報が格納され、データ部２０４には、符号化データが格納される。
書込みポインタ２０５は、最新の符号化情報Ｎが格納されているアドレスを示し、読出しポインタ２０６は、現在読出しが行える最古の符号化情報Ｎ−ｘのアドレスを示す。
【００１３】
図３は、蓄積領域１０８の構成例を示す図である。
図３において、符号化情報格納領域３０１は、１符号化データの情報を示す符号化情報３０２を一定時間分格納できる領域である。
符号化情報３０２は、ヘッダ部３０３とデータ部３０４とで構成され、ヘッダ部３０３には、符号化データを格納した時刻を示す符号化時刻、符号化データのサイズを示す符号化データサイズ、当該符号化データが読出しの対象となっていることを示す読出しカウントなどの情報が格納され、データ部３０４には、符号化データが格納される。
最新情報ポインタ３０５は、最新の符号化情報Ｍが格納されているアドレスを示し、最古情報ポインタ３０６は、現在読出しが行える最古の符号化情報Ｍ−ｘのアドレスを示す。
【００１４】
次に、本実施の形態による映像データ配信装置の動作を、図４〜図６を参照しながら説明する。
図４は、符号化データ受信部１０５において符号化部１０３から受信した符号化データを符号化揺らぎ吸収バッファ１０６へ書込む際の動作を説明するためのフローチャートである。
図５は、蓄積管理部１０７および蓄積配信制御部１０９において蓄積領域１０８から符号化データを読み出す際の動作を説明するためのフローチャートである。
また、図６は、蓄積管理部１０７において符号化揺らぎ吸収バッファ１０６の符号化データを蓄積領域１０８へ書込む際の動作を説明するためのフローチャートである。
【００１５】
カメラ１０１により入力された映像信号は、映像入力部１０２によりデジタルデータに変換される。
符号化部１０３は、レート制御部１０４によって設定された符号化レートにしたがって、このデジタルデータを符号化する。
符号化部１０３によって符号化された符号化データは、符号化データ受信部１０５で受信され、符号化揺らぎ吸収バッファ１０６へ格納される。
図４のフローチャートに基づいて、符号化部１０３から受信した符号化データを符号化揺らぎ吸収バッファ１０６へ書込む際の動作について説明する。
符号化データ受信部１０５は、符号化データを格納するために、まずステップＳ４０１において、書込みポインタ２０５が指す符号化情報Ｎ−１のヘッダ部３０３のサイズに符号化データサイズを加えたデータサイズを書込みポインタ２０５のアドレスに加え、書込みアドレスを算出する。
この時、符号化データサイズが０であれば、その符号化情報は、無効なので書込みポインタ２０５が指すアドレスを書込みアドレスとする。
【００１６】
次に、ステップＳ４０２において、ステップＳ４０１で算出した書込みアドレスと読出しポインタ２０６との差分から符号化情報Ｎを格納する領域が確保できるかを確認し、確保できる場合、算出した書込みアドレスを書込みポインタ２０５に設定する。
この場合、あらかじめ符号化揺らぎ吸収バッファ１０６は単位時間分以上の領域を確保しているので、常に符号化情報Ｎの領域は、確保できる。
最後にステップＳ４０３において、書込みポインタ２０５が示すアドレスを先頭に受信した符号化データとともに受信したときの時刻、符号化データサイズを書込み、符号化揺らぎ吸収バッファ１０６への格納処理を終了する。
【００１７】
さらに、符号化データ受信部１０５は、ライブ配信制御部１１０へ符号化データを受信したことを通知するとともに符号化データを受け渡す。
ライブ配信制御部１１０は、端末１１３からライブ映像配信要求を受け付けている場合、この受け渡された符号化データをライブ映像として配信部１１１を通して端末１１３へ配信する。
ライブ映像配信要求を受け付けていない場合、ライブ配信制御部１１０は、この受け渡された符号化データを無視する。
蓄積配信制御部１０９は、端末１１３からの蓄積映像配信要求を受け付けている場合、指定された時刻の符号化データを蓄積管理部１０７を通して取得し、端末１１３へ配信する。
【００１８】
図５のフローチャートに基づいて、蓄積領域１０８から符号化データを読み出す際の動作について説明する。
まず、蓄積配信制御部１０９は、指定された開始・終了時刻間の符号化データが蓄積領域１０８に存在するかを、ステップＳ５０１で蓄積管理部１０７へ問い合わせる。
蓄積管理部１０７は、ステップＳ５０２、ステップＳ５０３において、最新情報ポインタ３０５および最古情報ポインタ３０６が指す符号化情報３０２の符号化時刻を取得し、これらと開始・終了時刻とを比較する。
【００１９】
指定された時刻の符号化データがなければ、そこで処理を終了する。指定された時刻の符号化データがある場合は、ステップＳ５０４〜ステップＳ５０６において、開始時刻に該当する符号化情報３０２の位置を取得するため、最古情報ポインタ３０６が示す符号化情報３０２から順に符号化時刻を比較し、開始符号化情報アドレスを取得する。
また、ステップＳ５０７〜ステップＳ５１０において、終了時刻に該当する符号化情報３０２の位置を取得するため、開始符号化情報アドレスから順に符号化時刻を比較し、終了符号化情報アドレスする。
また、この期間の符号化情報３０２の更新を禁止するため、この期間に検索された符号化情報３０２の読出しカウントをインクリメントする。
【００２０】
ステップＳ５０９において終了符号化情報アドレスを取得すると、蓄積管理部１０７は、これら開始・終了符号化情報アドレスを蓄積配信制御部１０９へ渡す。
蓄積配信制御部１０９は、ステップＳ５１１〜ステップＳ５１６において渡された開始符号化情報アドレスの符号化情報３０２から順に最終符号化情報アドレスの符号化情報３０２までを取得し、符号化データの配信を行う。
まず、ステップＳ５１２〜ステップＳ５１３では、開始符号化情報アドレスに前回取得した符号化情報３０２の符号化データサイズおよびヘッダ部サイズを加えたアドレスを蓄積管理部１０７へ渡し、該当符号化情報３０２の読出しを依頼する。
【００２１】
蓄積管理部１０７は、渡されたアドレスにある符号化情報３０２の読出しカウントをデクリメントするとともに符号化情報３０２を読出し、蓄積配信制御部１０９へ読出した符号化情報３０２を渡す。
ステップＳ５１４において、蓄積配信制御部１０９は、渡された符号化情報３０２の符号化データを配信部１１１へ渡し、配信する。ステップＳ５１５で、今回取得した符号化情報３０２が終了時刻に該当する符号化情報３０２であるかを判定し、終了時刻に該当する符号化情報３０２の場合は、処理を終了する。
次に、配信すべき符号化情報がある場合は、ステップＳ５１６で次の読出しまでの時間間隔を現在の符号化レートと今回取得した符号化データのサイズから算出し、算出した時間分待つ。
【００２２】
図６のフローチャートに基づいて、符号化揺らぎ吸収バッファ１０６の符号化データを蓄積領域１０８へ書込む際の動作について説明する。
蓄積管理部１０７は、一定周期で符号化揺らぎ吸収バッファ１０６にある符号化情報２０２を蓄積領域１０８への書込み処理を行う。
まず、ステップＳ６０１〜ステップＳ６０２において、符号化揺らぎ吸収バッファ１０６に符号化情報２０２が存在するか判定する。
書込みポインタ２０５と読出しポインタ２０６のアドレスが等しければ、符号化揺らぎ吸収バッファ１０６には、符号化情報２０２が存在しないので処理を終了する。
符号化情報２０２が存在する場合は、ステップＳ６０３〜ステップＳ６０４において、読出しポインタ２０６が示す符号化情報２０２の符号化データサイズを取得し、最新情報ポインタ３０５が示す符号化情報３０２の符号化データサイズとそのヘッダ部サイズを最新情報ポインタ３０５のアドレスに加えた書込みアドレスを算出する。
【００２３】
最新情報ポインタ３０５が示す符号化情報３０２の符号化データサイズが０の場合は、その符号化情報３０２は、無効であるので書込みアドレスは、最新情報ポインタ３０５が示すアドレスとなる。
ステップＳ６０５〜ステップＳ６０６では、算出した書込みアドレスと最古情報ポインタ３０６との差分を求め、この差分が読出しポインタ２０６が示す符号化情報２０２の符号化データサイズと符号化情報３０２のヘッダ部サイズとの和より大きければ蓄積領域１０８へ書き込めると判定する。
書込み可能と判定された場合は、ステップＳ６０７〜ステップＳ６０９において最新情報ポインタ３０５を算出した書込みアドレスへ更新し、読出しポインタ２０６が示す符号化情報２０２を最新情報ポインタ３０５が示すアドレスを先頭に書き込む。
この際、符号化情報３０２の読出しカウントは、０とする。
【００２４】
最後に読出しポインタ２０６が示す符号化情報２０２の符号化データサイズとそのヘッダ部サイズの和を読出しポインタ２０６が示すアドレスに加え、読出しポインタ２０６を更新し、ステップＳ６０１へ戻る。
書込み不可と判定された場合は、ステップＳ６１０〜ステップＳ６１１において、最古情報ポインタ３０６が示す符号化情報３０２の読出しカウントを参照し、最古情報ポインタ３０６を更新できるか判定する。
この時、読出しカウントが０であれば、この符号化情報３０２の読出しが行われていないので、ステップＳ６１２で最古情報ポインタ３０６が示す符号化情報３０２の符号化データサイズとそのヘッダ部サイズを最古情報ポインタ３０６が示すアドレスに加え、最古情報ポインタ３０６を更新し、ステップＳ６０４へ戻る。
読出しカウントが１以上であれば、読出しの対象となっているので処理を終了する。
【００２５】
以上説明したように、本実施の形態による映像データ配信装置は、１０１カメラから入力される映像信号をデジタルデータに変換する映像入力部１０２と、映像入力部１０２に入力されるデジタルデータを符号化する符号化部１０３と、ネットワーク１１２への配信状態情報に基づいて符号化部１０３における符号化レートの設定を行うレート制御部１０４と、送り込まれる符合化データの単位時間あたりの符号化データ量の揺らぎを吸収すると共に、符合化データを格納した時の時刻を付加する符号化揺らぎ吸収バッファ１０６と、符号化部１０３により符号化された符号化データを受信し、受信した符号化データを符号化揺らぎ吸収バッファ１０６へ書込むと共に、ネットワーク１１２に接続された端末１１３からライブ映像配信の要求がある場合には、受信した最新の符号化データをライブ映像としてライブ配信制御部１１０へも送る符合化データ受信部１０５と、符号化揺らぎ吸収バッファ１０６に書き込まれた符合化データを順次蓄積領域１０８へ格納すると共に、端末１１３からの要求に応じて蓄積領域１０８内にある指定された時刻の符号化データを蓄積映像として蓄積配信制御部１０９へ送る蓄積管理部１０７と、端末１１３からの要求に応じてライブ配信制御部１１０に送り込まれたライブ映像あるいは蓄積配信制御部１０９に送り込まれた蓄積映像をネットワヘク１１２へ配信する配信部１１１とを備えている。
【００２６】
その結果、符号化データ生成時間における符号化データ量の揺らぎを符号化揺らぎ吸収バッファ１０６で吸収することが可能となり、蓄積領域１０８に対する競合が回避され、最新の符号化データを順次蓄積すると同時に蓄積された符号化データを蓄積映像として配信することができる。
【００２７】
実施の形態２．
図７は、実施の形態２による映像データ配信装置に用いられる蓄積配信制御部７０１の構成を示すブロック図である。
本実施の形態による映像データ配信装置のその他の構成は、実施の形態１と同様であるので説明を省略する。
蓄積配信制御部７０１は、蓄積管理部１０７を通して蓄積領域１０８の符号化情報３０２を読出し、配信バッファ７０３へ格納する配信バッファ書込み手段７０２とネットワーク１１２上の端末１１３からの蓄積映像配信要求を受け付け、配信バッファに格納されている符号化データを配信部１１１を通して配信する蓄積配信手段７０４を備える。
図８は、本実施の形態における配信バッファ７０３の構成例を示す図である。
配信バッファ７０３は、図２に示した符号化揺らぎ吸収バッファ１０６の構成に等しいので、詳細な説明は省略する。
【００２８】
本実施の形態による映像データ配信装置の動作を、図９および図１０を参照しながら説明する。
図９は、配信バッファ書込み手段７０２および蓄積配信手段７０４において、蓄積領域１０８から蓄積管理部１０７を通して符号化データを読出し、配信バッファ７０３へ格納する際のフローチャートである。
また、図１０は、蓄積配信手段７０４において配信バッファ７０３から符号化データを読み出す際のフローチャートである。
その他の動作については、前述の実施の形態１と同様であるので説明を省略する。
【００２９】
図９のフローチャートに基づいて、蓄積領域１０８から蓄積管理部１０７を通して符号化データを読出し、配信バッファ７０３へ格納する際の動作について説明する。
蓄積配信手段７０４は、端末１１３から蓄積映像配信要求を受け付けている場合、指定された時刻の符号化データを配信バッファ７０３から取得し、端末１１３へ配信する。
まず、蓄積配信手段７０４は、配信バッファ７０３の読出し準備が完了したかをステップＳ９０１で指定された開始・終了時刻ともに配信バッファ書込み手段７０２へ問い合わせる。
配信バッファ書込み手段７０２は、通知された開始・終了時刻から蓄積領域１０８に、この期間の符号化データが存在するかを、ステップＳ９０２〜ステップＳ９０３において蓄積管理部１０７へ問い合わせる。
この際の手順は、図５に示したステップＳ５０１〜ステップＳ５０９と同じである。
【００３０】
指定された時刻の符号化データが存在しない場合は、蓄積配信手段７０４へその旨を通知し、蓄積配信手段７０４、配信バッファ書込み手段７０２ともに処理を終了する。
指定された時刻の符号化データが存在する場合、蓄積管理部１０７を通して、符号化情報３０２を読み出す。
ステップＳ９０４での手順は、図５に示したステップＳ５１２〜ステップＳ５１３と同じである。
ステップＳ９０５〜ステップＳ９０７において、配信バッファ７０３へ読出した符号化データが書き込めるか否かを判定する。
まず、読出した符号化情報３０２の符号化データサイズと符号化情報８０２のヘッダ部サイズを書込みポインタ８０５のアドレスに加えた書込みアドレスを算出する。
【００３１】
次に算出した書込みアドレスと読出しポインタ８０６との差分を求め、この差分が読出した符号化情報３０２の符号化データサイズと符号化情報８０２のヘッダ部サイズとの和より大きければ配信バッファ７０３へ書き込めると判定する。
書込み可能と判定された場合は、ステップＳ９０８〜ステップＳ９０９において書込みポインタ８０５を算出した書込みアドレスへ更新し、読出した符号化情報３０２を書込みポインタ８０５が示すアドレスを先頭に書き込む。
ステップＳ９１０において、読出した符号化情報３０２が終了時刻の符号化情報３０２かを判定し、終了時刻の符号化情報３０２であれば、配信バッファ書込み手段７０２を終了する。終了時刻の符号化情報３０２でなければ、ステップＳ９０４へ戻る。
【００３２】
書込み不可と判定された場合は、ステップＳ９１１において１回目の書込み不可であれば、配信バッファ７０３に単位時間分の符号化情報が格納されたことになるので、ステップＳ９１３において配信バッファの準備完了を蓄積配信手段７０４へ通知した後、ステップＳ９１２において一定時間待ち、再度配信バッファへの書込み判定を行うため、ステップＳ９０５へ戻る。
この通知を受け、蓄積配信手段７０４は、配信バッファからの読出しを開始する。１回目の書込み不可でなければ、ステップＳ９１２で一定時間待ち、再度配信バッファへの書込み判定を行うため、ステップＳ９０５へ戻る。
【００３３】
図１０のフローチャートに基づいて、配信バッファ７０３から符号化データを読み出す際の動作について説明する。
蓄積配信手順７０４は、配信バッファの準備が完了したことが通知されると配信バッファから符号化情報を読出し、符号化データを配信する。
まず、ステップＳ１００１〜ステップＳ１００２で配信バッファ７０３に符号化情報８０２が存在するか判定する。
書込みポインタ８０５と読出しポインタ８０６のアドレスが等しければ符号化情報８０２は、存在せず、終了時刻の符号化情報８０２まで読出したことになるので処理を終了する。
符号化情報８０２が存在する場合は、ステップＳ１００３〜ステップＳ１００４において読出しポインタ８０６が示すアドレスの符号化情報８０２を読出し、符号化データを配信部１１１へ渡し、配信する。
【００３４】
ステップＳ１００５において、読出した符号化情報８０２の符号化データサイズと符号化情報８０２のヘッダ部サイズとを読出しポインタ８０６のアドレスに加え、読出しポインタを更新する。
更新後、ステップＳ１００６において、ステップＳ１００２と同じ判定方法により配信バッファ７０３に符号化情報８０２が存在するか判定する。
存在しない場合は、ここで処理を終了する。存在する場合は、ステップＳ１００７において、次の読出しまでの時間間隔を、現在の符号化レートと今回取得した符号化データのサイズから算出し、算出した時間分待つ。
【００３５】
以上のように、本実施の形態によれば、蓄積配信制御部７０１に符号化揺らぎ吸収バッファ１０６と同等の機能を有した配信バッファ７０３を備え、蓄積映像の配信開始時に単位時間当たりの符号化データを配信バッファ７０３に先読みするので、同時に複数の蓄積映像配信要求を受け付ける場合において、蓄積配信制御部にその数分の配信バッファ書込み手段、配信バッファ、蓄積配信手段を備えれば、同時に同じ開始・終了時刻の配信要求があっても単位時間待てば蓄積領域に対する競合が回避され、複数の端末からの蓄積映像配信要求を受け付けることができる。
【００３６】
実施の形態３．
図１１は、本実施の形態による映像データ配信装置に用いられるレート制御部１０４に備えられるレート制御テーブルの構成例を示す図である。
本実施の形態による映像データ配信装置における映像データ配信装置のその他の構成は、実施の形態１と同様であるので説明を省略する。
本実施の形態におけるレート制御テーブル１１０１は、現在の符号化レートを示す符号化レート情報１１０２、レート制御部１０４が符号化部１０３へ最初に設定する符号化レートを示す設定符号化レート情報１１０３、ライブ配信制御部１１０が要求する符号化レートを示すライブ符号化レート情報１１０４、蓄積配信制御部７０１が要求する符号化レートを示す蓄積符号化レート情報１１０５から構成される。
【００３７】
次に、実施の形態３による映像データ配信装置の動作を、図１２および図１３を参照しながら説明する。
図１２は、レート制御部１０４が符号化部１０３に設定する符号化レートを決定する際の動作を説明するためのフローチャートである。
また、図１３は、配信バッファ書込み手段７０２が蓄積符号化レート情報を更新する際の動作を説明するためのフローチャートである。
その他の動作については、実施の形態２と同様であるので説明を省略する。
【００３８】
ライブ配信制御部１１０は、端末１１３からライブ映像配信要求を受け付けると符号化データ受信部１０５から符号化データを受け取り、この符号化データをライブ映像として配信部１１１を通して端末１１３へ配信する。
端末１１３は、ライブ映像を受信してから一定周期でライブ映像の受信状態を示す受信状態情報を本装置に送信する。
送信された受信状態情報は、ライブ配信制御部１１０へ渡され、この情報からネットワーク１１２および端末１１３の状態を推測し、現在の符号化レートでは、正常に端末１１３で受信できないと判定した場合は、受信できる符号化レートを算出し、ライブ符号化レート情報１１０４に設定する。
ライブ配信制御部１１０は、ライブ映像を配信している間にこの処理を行う。配信が終了するとライブ配信制御部１１０は、ライブ符号化レート情報１１０４の設定を無効とする情報を設定する。
【００３９】
図１２のフローチャートに基づいて、レート制御部１０４が符号化部１０３に設定する符号化レートを決定する際の動作について説明する。
レート制御部１０４は、一定周期でレート制御テーブル１１０１を参照し、ステップＳ１２０１〜ステップＳ１２０５が示す決定手順によって符号化レートを決定し、符号化部１０３へ決定した符号化レートを設定する。
ステップＳ１２０１〜ステップＳ１２０５において、符号化レートは、蓄積符号化レート情報１１０５を最優先の符号化レートとみなし、設定符号化レート情報１１０３を最も優先度の低い符号化レートとみなす。
【００４０】
蓄積配信制御部７０１において、端末１１３からの蓄積映像配信要求を受け付けた場合、配信バッファ書込み手段７０２は、配信バッファの準備が完了し、ステップＳ９０９で示す配信バッファへの符号化情報８０２の書込みを行う毎に、蓄積符号化レートの更新を行う。
図１３のフローチャートに基づいて、配信バッファ書込み手段７０２が蓄積符号化レート情報を更新する際の動作について説明する。
まず、ステップＳ１３０１において、読出しポインタ８０６のアドレスから順に配信バッファ７０３に格納されている全ての符号化情報８０２の符号化データサイズの和と最新・最古の符号化時刻の差分時間から単位時間あたりの符号化レートを算出する。
算出した算出符号化レートは、ステップＳ１３０２で符号化レート情報１１０２と比較し、算出符号化レートが符号化レート情報１１０２の符号化レートよりも小さい場合は、ステップＳ１３０３において算出符号化レートと蓄積符号化レート情報１１０５と比較する。算出符号化レートが蓄積符号化レート情報１１０５の符号化レート情報よりも小さい場合は、Ｓステップ１３０４で算出符号化レートを蓄積符号化レート情報１１０５に設定する。
【００４１】
以上のように、本実施の形態によれば、蓄積配信制御部は、蓄積映像の配信の際、単位時間あたりの符号化レートを算出し、算出した結果と符号化レートとの比較を行い、その結果に応じて符号化レートの変更を行う、即ち、蓄積映像配信時に蓄積配信における単位時間あたりの符号化レートを最優先として、符号化部の符号化レートを設定する。
従って、例えば、ライブ映像配信時にそのネットワーク状態が悪く、設定符号化レートよりも小さい符号化レートで単位時間以上、蓄積された符号化データを蓄積映像配信する場合、符号化部の符号化レートは、この蓄積映像の単位時間あたりの符号化レートとなるため、蓄積領域に対する競合が発生せず、蓄積映像を配信することができる。
【００４２】
実施の形態４．
本実施の形態による映像データ配信装置は、前述の実施の形態３による映像データ配信装置において、蓄積配信制御部は、配信先の端末から一定周期で蓄積映像の受信状態情報を受信し、この情報から算出した配信レートと符号化レートとの比較を行い、その結果に応じて符号化レートの変更を行うことを特徴とする。
その他の動作および構成は、実施の形態３と同様であるので説明を省略する。
図１４は、本実施の形態における蓄積配信制御部において、蓄積配信手段が蓄積符号化レート情報を更新する際のフローチャートである。
【００４３】
図１４に基づいて、本実施の形態による蓄積配信制御部の蓄積符号化レート情報の更新について説明する。
蓄積配信手段７０４（図７を参照）には、蓄積映像を配信している間、端末１１３から蓄積映像の受信状態を示す受信状態情報が送信される。蓄積配信手段７０４は、受信状態情報を受信するとステップＳ１４０１において受信状態情報から配信レートを算出する。
算出した配信レートは、ステップＳ１４０２において蓄積符号化レート情報１１０５と比較し、配信レートが蓄積符号化レート情報１１０５の符号化レートよりも小さい場合は、ステップＳ１４０３において配信レートを蓄積符号化レート情報１１０５に設定する。
【００４４】
以上のように、本実施の形態によれば、蓄積配信制御部は、配信先の端末から一定周期で蓄積映像の受信状態情報を受信し、この情報から算出した配信レートと符号化レートとの比較を行い、その結果に応じて符号化レートの変更を行う。
従って、蓄積映像を安定した品質で配信しながら、蓄積領域に対する競合を回避することができる。
【００４５】
実施の形態５．
図１５は、実施の形態５による映像データ配信装置の構成を示すブロック図である。
図１５において、イベント発生器１５１４により入力されたイベント信号は、イベント入力部１５１５によって、イベント管理部１５１６に通知される。
イベント管理部１５１６は、蓄積領域１０８にあるイベント発生前後の符号化データを格納したイベント領域を管理し、また、イベント発生したことをイベント配信制御部１５１７を通して端末１１３へ通知する。
イベント配信制御部１５１６は、ネットワーク１１２上の端末１１３からのイベント映像配信要求により、蓄積領域１０８に格納されているイベント領域の符号化データを蓄積管理部１０７を通して取得し、配信部１１１を通してイベント映像を端末１１３へ配信する。
本実施の形態による映像データ配信装置のその他の構成は、実施の形態１と同様であるので説明を省略する。
【００４６】
図１６は、本実施の形態による映像データ配信装置の動作を説明するための図であり、図１６（ａ）は、イベント管理部１５１６に備えられるイベント管理テーブルの構成を示しており、また、図１６（ｂ）は、蓄積領域にあるイベント領域状態の遷移の様子を示している。
図１６（ａ）に示すように、イベント管理テーブル１６０１は、蓄積領域１０８にあるイベント領域の状態を示すイベント領域状態１６０２、イベント映像として記録する時刻を示すイベント記録開始時刻１６０３、イベント記録終了時刻１６０４、イベント領域の開始・終了の符号化情報のアドレスを示す開始符号化情報アドレス１６０５、終了符号化情報アドレス１６０６、イベント領域の排他を行う際に蓄積管理部１０７が使用する最終書込みアドレス１６０７から構成される。
【００４７】
また、図１６（ａ）に示すように、パラメータとしてイベント発生前後何時間記録するかを決定する発生前時間１６０８、発生後時間１６０９、イベント発生時の通知先を指定するイベント発生通知先１６１０がある。
イベント領域状態１６０２の状態は、図１６（ｂ）に示すように、「イベント領域なし」を初期状態として、「記録中」→「イベント領域あり」→「領域開放中」→「イベント領域なし」と遷移する。
【００４８】
次に、本実施の形態による映像データ配信装置の動作を、図１７および図１８を参照しながら説明する。
図１７は、蓄積管理部１０７における終了符号化情報アドレスの取得動作を説明するためのフローチャートである。
この動作は、図６に示した蓄積領域書込み動作を示すフローチャート中のステップＳ６０８とステップＳ６０９の間で行われる。
図１８は、蓄積管理部１０７におけるイベント領域の排他動作を説明するためのフローチャートである。
この動作は、図６に示した蓄積領域書込み動作を示すフローチャート中のステップＳ６０６とステップ６１０の間で行われる。
その他の動作については、実施の形態１と同様であるので説明を省略する。
【００４９】
イベント発生器１５１４から入力されたイベント信号は、イベント入力部１５１５によってイベント管理部１５１６へ通知される。
イベント管理部１５１６は、イベントが通知されるとイベント管理テーブル１６０１を参照し、通知された時刻に対して発生前時間１６０８、発生後時間１６０９を元にイベント記録開始時刻１６０３、イベント記録終了時刻１６０４を算出する。
また、イベント領域状態１６０２を「イベント領域なし」から「記録中」に遷移させる。
次に、蓄積管理部１０７を通してイベント記録開始時刻１６０３に該当する符号化情報のアドレスである開始符号化情報アドレス１６０６を取得した後、蓄積管理部１０７がイベント記録終了時刻１６０３まで記録するのを待つ。
【００５０】
図１７のフローチャートに基づいて、蓄積管理部における終了符号化情報アドレスの取得動作を説明する。
蓄積管理部１０７は、蓄積領域１０８への書込み動作時、ステップＳ１７０１〜ステップＳ１７０２において、イベント領域状態１６０２が「記録中」であれば、ステップＳ１７０３〜ステップＳ１７０４においてイベント記録終了時刻１６０５を参照し、蓄積領域１０８へ書き込んだ符号化情報３０２の符号化時刻と同じである場合は、ステップＳ１７０５〜ステップＳ１７０６において最新情報ポインタ３０５が示すアドレスを終了符号化情報アドレス１６０７へ設定し、イベント領域状態１６０２の状態を「記録中」から「イベント領域あり」へ遷移させる。
イベント管理部１５１６は、イベント領域状態１６０２が「イベント領域あり」となったことで蓄積管理部１０８でのイベント記録が終了したことを認識するとイベント発生通知先１６１０で示されている端末１１３へイベントが発生したことをイベント配信制御部１５１７、配信部１１１を通して通知する。
【００５１】
端末１１３は、イベント発生の通知を受けるとイベント映像配信要求を行う。
イベント配信制御部１５１７は、イベント映像配信要求を受け付けると開始符号化情報アドレス１６０６で示される符号化情報３０２から終了符号化情報アドレス１６０７で示される符号化情報３０２まで順に蓄積管理部１５０７を通して読出し、符号化データを配信する。
イベント映像の配信が終了すると端末１１３は、任意の時間にイベント領域開放要求を行う。
イベント配信制御部１５１７は、イベント領域開放要求を受け付けるとイベント領域状態１６０２の状態を「イベント領域あり」から「領域開放中」へ遷移させる。
【００５２】
蓄積管理部１０７は、蓄積領域１０８への書込み動作時、イベント領域状態１６０２の状態が「イベント領域あり」または、「領域開放中」である場合、イベント領域の排他を行う。
図１８のフローチャートに基づいて、蓄積管理部におけるイベント領域の排他動作について説明する。
まず、ステップＳ１８０１〜ステップＳ１８０２において、イベント領域状態１６０２の状態が「イベント領域あり」の場合について説明する。
この場合、ステップＳ１８０３〜ステップＳ１８０４において、最古情報ポインタ３０６が示すアドレスが開始符号化情報アドレス１６０６と同じか、または、ステップＳ１８０７〜ステップＳ１８０８において最終書込みアドレス１６０７と同じであると、ステップＳ１８０５〜ステップＳ１８０６において、最新情報ポインタ３０５が示すアドレスを最終書込みアドレス１６０７へ設定し、最古情報ポインタ３０６、最新情報ポインタ３０５に終了符号化情報アドレス１６０７を設定する。
【００５３】
イベント領域状態１６０２の状態が「領域開放中」である場合について説明する。
この場合は、ステップＳ１８１０〜ステップＳ１８１１において、最古情報ポインタ３０６が示すアドレスが開始符号化情報アドレス１６０６と同じか、または、ステップＳ１８１４〜ステップＳ１８１５において最終書込みアドレス１６０７と同じであると、ステップＳ１８１２〜ステップＳ１８１３において、最古情報ポインタ３０６に終了符号化情報アドレス１６０７を設定し、イベント領域状態１６０２の状態を「領域開放中」から「イベント領域なし」へ遷移させる。
【００５４】
以上のように、本実施の形態によれば、異常発生などの信号を入力するイベント入力部、イベント発生前後の符号化データの管理や端末へのイベント発生通知を行うイベント管理部を備え、イベント発生前後の映像を蓄積領域の一部を使って保持するので、新たな蓄積領域を設けずにイベント映像を保持することができ、かつ、蓄積映像、およびライブ映像を配信することができる。また、イベント映像は、その領域を開放しなければ、一定時間経過後も配信することができる。
【産業上の利用可能性】
【００５５】
この発明は、符号化データ量が一定ではない符号化データの蓄積を行いつつ、蓄積映像およびライブ映像の配信を行える映像データ配信装置の実現に有効である。
【図面の簡単な説明】
【００５６】
【図１】実施の形態１による映像データ配信装置の構成を示すブロック図である。
【図２】符号化揺らぎ吸収バッファの構成例を示す図である。
【図３】蓄積領域の構成例を示す図である
【図４】符号化データを符号化揺らぎ吸収バッファへ書込む際の動作を説明するためのフローチャートである。
【図５】蓄積領域から符号化データを読み出す際の動作を説明するためフローチャートである。
【図６】符号化揺らぎ吸収バッファの符号化データを蓄積領域へ書込む際の動作を説明するためのフローチャートである。
【図７】実施の形態２による映像データ配信装置に用いられる蓄積配信制御部の構成を示すブロック図である。
【図８】配信バッファの構成を示す図である。
【図９】配信バッファへの書込み動作を説明するためのフローチャートである。
【図１０】配信バッファからの読出し動作を説明するためのフローチャートである。
【図１１】実施の形態３による映像データ配信装置に用いられるレート制御テーブルの構成例を示す図である。
【図１２】符号化レート決定動作を説明するためのフローチャートである。
【図１３】配信バッファ書込み手段での蓄積符号化レート更新動作を説明するためのフローチャートである。
【図１４】実施の形態４による映像データ配信装置において、蓄積配信手段での蓄積符号化レート更新動作を説明するためのフローチャートである。
【図１５】実施の形態５による映像データ配信装置の構成を示すブロック図である。
【図１６】イベント管理テーブルの構成を示す図である。
【図１７】蓄積管理部における終了符号化情報アドレスの取得動作を説明するためのフローチャートである。
【図１８】蓄積管理部におけるイベント領域の排他動作を説明するためのフローチャートである。
【符号の説明】
【００５７】
１０１  カメラ                    １０２  映像入力部
１０３  符号化部                  １０４  レート制御部
１０５  符号化データ受信部        １０６  符号化揺らぎ吸収バッファ
１０７  蓄積管理部                １０８  蓄積領域
１０９  蓄積配信制御部            １１０  ライブ配信制御部
１１１  配信部                    １１２  ネットワーク
１１３  端末
７０２  配信バッファ書込み手段    ７０３  蓄積管理部
７０４  蓄積配信手段
１５１４  イベント発生器          １５１５  イベント入力部
１５１６  イベント管理部          １５１７  イベント配信部
【図１】
2005175717.tif 000003
【図２】
2005175717.tif 000004
【図３】
2005175717.tif 000005
【図４】
2005175717.tif 000006
【図５】
2005175717.tif 000007
【図６】
2005175717.tif 000008
【図７】
2005175717.tif 000009
【図８】
2005175717.tif 000010
【図９】
2005175717.tif 000011
【図１０】
2005175717.tif 000012
【図１１】
2005175717.tif 000013
【図１２】
2005175717.tif 000014
【図１３】
2005175717.tif 000015
【図１４】
2005175717.tif 000016
【図１５】
2005175717.tif 000017
【図１６】
2005175717.tif 000018
【図１７】
2005175717.tif 000019
【図１８】
2005175717.tif 000020