(57)【要約】【課題】動画像ファイルのリアルタイム配信において、アップロードとダウンロードとの競合による不具合を回避することができる動画像ファイル配信装置を提供すること。【解決手段】アップロードリクエストによりアップロードバッファ管理部９は、バッファメモリ８にアップロードバッファ６１を生成する。受信されるアップロードファイルは、アップロードバッファ６１に一時保持され、アップロードの完了後、記憶手段５に転送される。ダウンロードリクエストによりダウンロードバッファ管理部１０は、バッファメモリ８にダウンロードバッファ７１を生成する。ダウンロードファイルは、ダウンロードバッファ７１からクライアントに転送される。転送された後のアップロードバッファ６１やダウンロードバッファ７１は消滅させられる。【選択図】　　図１
2004145392.tif 000002
【特許請求の範囲】
【請求項１】
動画像ファイルをアップロードにより受信して記憶手段に蓄積し、前記記憶手段に蓄積した動画像ファイルをダウンロードによりクライアントに配信する動画像ファイル配信装置において、
受信に際して動画像ファイルを一時保持するアップロードバッファをセッションごとに動的に生成するアップロードバッファ生成手段と、
配信に際して動画像ファイルを一時保持するダウンロードバッファをセッションごとに動的に生成するダウンロードバッファ生成手段とを具備することを特徴とする動画像ファイル配信装置。
【請求項２】
前記アップロードバッファへの動画像ファイル全体の保持が完了した後に該動画像ファイルを前記記憶手段に転送する手段と、
前記記憶手段に動画像ファイル全体が転送された後に前記アップロードバッファを消滅させる手段とを具備し、
前記アップロードバッファ生成手段は、アップロードが開始された時点でアップロードバッファを生成することを特徴とする請求項１に記載の動画像ファイル配信装置。
【請求項３】
動画像ファイルがフラグメント形式であり、
前記アップロードバッファへの動画像ファイルの１フラグメントの保持完了ごとに該フラグメントを前記記憶手段に転送する手段と、
動画像ファイルの全フラグメントが前記記憶手段に転送された後に該アップロードバッファを消滅させる手段とを具備し、
前記アップロードバッファ生成手段は、アップロードが開始された時点でアップロードバッファを生成することを特徴とする請求項１に記載の動画像ファイル配信装置。
【請求項４】
前記ダウンロードバッファの生成と同時に、ダウンロードすべき動画像ファイルを前記記憶手段から前記ダウンロードバッファに転送する手段と、
動画像ファイル全体がダウンロードされた後に該ダウンロードバッファを消滅させる手段とを具備し、
前記ダウンロードバッファ生成手段は、ダウンロードが開始された時点でダウンロードバッファを生成することを特徴とする請求項１または２に記載の動画像ファイル配信装置。
【請求項５】
動画像ファイルがフラグメント形式であり、
前記ダウンロードバッファの生成と同時に、ダウンロードすべき動画像ファイルを１フラグメントずつ前記記憶手段から前記ダウンロードバッファに転送する手段と、
該ダウンロードバッファからフラグメントをダウンロードし、動画像ファイルの全フラグメントがダウンロードされた後に該ダウンロードバッファを消滅させる手段とを具備し、
前記ダウンロードバッファ生成手段は、ダウンロードが開始された時点でダウンロードバッファを生成することを特徴とする請求項１または３に記載の動画像ファイル配信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像ファイル配信装置に関し、特に、動画像ファイルのリアルタイム配信において、アップロードとダウンロードとの競合による不具合を回避することができる動画像ファイル配信装置に関するものである。
【０００２】
【従来の技術】
従来、動画像ファイルをＨＴＴＰ（ｈｙｐｅｒｔｅｘｔ　ｔｒａｎｓｆｅｒ　ｐｒｏｔｏｃｏｌ）でダウンロード配信する場合、動画像ファイル配信用に特化されていない通常のＷＷＷファイル配信装置（以下、サーバと称す。）を用いるのが一般的である。
【０００３】
従来のサーバの構成を図７に示す。サーバ１は、ＬＡＮやＡＤＳＬなどのネットワークに接続されるネットワークＩ／Ｆ部２、ＨＴＴＰサーバ部３、ファイルＩ／Ｏ部４、およびハードディスクなどの記憶手段５を備える。
【０００４】
ファイル提供者からサーバ１へのファイル格納、すなわちファイルアップロード時、ＨＴＴＰサーバ部３は、ネットワークＩ／Ｆ部２を介して受信されたアップロードリクエストに従ってアップロードファイルを直ちにファイルＩ／Ｏ部４を介して記憶手段５に転送し、所定の場所（ディレクトリ）に保存する。また、アップロードの成功あるいは失敗という結果をレスポンスとしてファイル提供者へ送信する。
【０００５】
受信者（以下、クライアントと称す。）へのファイル配信、すなわちファイルダウンロード時、ダウンロードファイルに関するリクエストがクライアントからサーバ１に送信されると、ＨＴＴＰサーバ部３は、リクエストされたファイルをディレクトリから探し出し、当該ファイルをレスポンスとしてクライアントに配信する。リクエストされたファイルが見つからなかった場合などのエラー情報もレスポンスとして送信される。
【０００６】
【発明が解決しようとする課題】
従来のサーバは、既にサーバ内に定常的に存在しているファイルをリクエストに従って配信するものであるが、例えば，ファイル提供者とサーバとの間の回線速度が低い場合あるいは回線速度がある程度高くてもファイルサイズが非常に大きい場合などにはファイル全体のアップロード完了に多くの時間がかかり、このような状況下で、アップロード途中のファイルに対してクライアントからダウンロードリクエストが行われた場合、記憶手段へのファイルアクセスの競合が発生し、ダウンロードリクエストがエラーとして拒否されたり、アップロード済みの途中部分までのファイルがダウンロードされたりする、などといった問題が生じる。
【０００７】
また、サーバとクライアントとの間の回線速度が低い場合あるいは回線速度がある程度高くてもファイルサイズが非常に大きい場合などにはダウンロードに多くの時間がかかり、このような状況下で、ダウンロード途中のファイルに対してファイル提供者からのアップロード（ファイル更新）リクエストが行われた場合、記憶手段へのファイルアクセスの競合を発生し、アップロードリクエストが拒否されたり、ダウンロードファイルが途中で中断されるなどの障害を生じたりする、などといった問題が生じる。
【０００８】
すなわち，従来のサーバは、ファイル提供者によるアップロードが頻繁に行われないこと、アップロード中にダウンロードリクエストが生じない、あるいはダウンロード中にアップロードリクエストが生じないないこと、アップロードには十分速い速度（回線）が使用され、アップロードに要する時間は極めて小さいこと、を前提としてアップロードおよびダウンロードが良好に行われるものとなっている。
【０００９】
この前提は、配信するファイルの内容を時々刻々と更新するわけではなく、また、個々のファイルのサイズがあまり大きくないインターネットＷＷＷホームページを配信するような場合には守られるため、通常の運用上で問題が生じることは殆どない。
【００１０】
しかしながら、例えば、ライブ動画像ファイルの配信をＨＴＴＰダウンロードするシステムを実現しようとする場合には、連続して生成される動画像データを適当に、例えば一定時間ごとや一定データサイズごとに細分化し、ファイルとして逐次サーバにアップロードし、同時に、クライアントからの配信リクエストに対して常に最新のファイルをダウンロードできるようにすることが必要となる。また、細分化された個々のファイルのサイズもＷＷＷホームページのテキストや静止画と比較して非常に大きなものとなる。
【００１１】
このようにシステムでは、従来のサーバにおいて良好にアップロードおよびダウンロードが行われる前提条件である、アップロードが頻繁に行われないこと、アップロード中にダウンロードリクエストが生じない、あるいはダウンロード中にアップロードリクエストが生じないないこと、およびアップロードは高速に行われること、を守れないことになる。したがって、従来のサーバをライブ動画像ファイルの配信にそのまま適用したのでは、アップロードがうまく行かない、アップロードファイルが破壊される、ダウンロードが拒否される、ダウンロードしたファイルが破壊されている、などといった現象が生じる。
【００１２】
また、同一ファイルのダウンロードを要求するクライアントが複数存在し、配信リクエストが時間的ずれをもって行われるような場合、１つのファイルが連続して長時間にわたりアクセスされ続けるといった状況となるため、ダウンロード中にアップロードリクエストが生じる可能性は一層大きくなる。
【００１３】
本発明の目的は、前述した従来技術の問題点を解決し、動画像ファイルのリアルタイム配信において、アップロードとダウンロードとの競合による不具合を回避することができる動画像ファイル配信装置を提供することにある。
【００１４】
【課題を解決するための手段】
前記した課題を解決するために、本発明は、動画像ファイルをアップロードにより受信して記憶手段に蓄積し、前記記憶手段に蓄積した動画像ファイルをダウンロードによりクライアントに配信する動画像ファイル配信装置において、受信に際して動画像ファイルを一時保持するアップロードバッファをセッションごとに動的に生成するアップロードバッファ生成手段と、配信に際して動画像ファイルを一時保持するダウンロードバッファをセッションごとに動的に生成するダウンロードバッファ生成手段とを具備する点に第１の特徴がある。
【００１５】
また、本発明は、前記アップロードバッファへの動画像ファイル全体の保持が完了した後に該動画像ファイルを前記記憶手段に転送する手段と、前記記憶手段に動画像ファイル全体が転送された後に前記アップロードバッファを消滅させる手段とを具備し、前記アップロードバッファ生成手段は、アップロードが開始された時点でアップロードバッファを生成する点に第２の特徴がある。
【００１６】
また、本発明は、動画像ファイルがフラグメント形式であり、前記アップロードバッファへの動画像ファイルの１フラグメントの保持完了ごとに該フラグメントを前記記憶手段に転送する手段と、動画像ファイルの全フラグメントが前記記憶手段に転送された後に該アップロードバッファを消滅させる手段とを具備し、前記アップロードバッファ生成手段は、アップロードが開始された時点でアップロードバッファを生成する点に第３の特徴がある。
【００１７】
また、本発明は、前記ダウンロードバッファの生成と同時に、ダウンロードすべき動画像ファイルを前記記憶手段から前記ダウンロードバッファに転送する手段と、動画像ファイル全体がダウンロードされた後に該ダウンロードバッファを消滅させる手段とを具備し、前記ダウンロードバッファ生成手段は、ダウンロードが開始された時点でダウンロードバッファを生成する点に第４の特徴がある。
【００１８】
さらに、本発明は、動画像ファイルがフラグメント形式であり、前記ダウンロードバッファの生成と同時に、ダウンロードすべき動画像ファイルを１フラグメントずつ前記記憶手段から前記ダウンロードバッファに転送する手段と、該ダウンロードバッファからフラグメントをダウンロードし、動画像ファイルの全フラグメントがダウンロードされた後に該ダウンロードバッファを消滅させる手段とを具備し、前記ダウンロードバッファ生成手段は、ダウンロードが開始された時点でダウンロードバッファを生成する点に第５の特徴がある。
【００１９】
本発明の特徴によれば、アップロードファイルを一時保持するアップロードバッファ、およびダウンロードファイルを一時保持するダウンロードバッファを動的に生成するので、アップロードとダウンロードとの競合による不具合を回避することができ、また、バッファを効果的に使用してその容量を必要最小限にすることができる。
【００２０】
さらに、動画像ファイルがフラグメント形式の場合、１フラグメントを保持するアップロードバッファやダウンロードバッファを生成してフラグメント単位で処理することにより、アップロードとダウンロードとの競合の機会を減らすことができる。
【００２１】
【発明の実施の形態】
以下、図面を参照して本発明を詳細に説明する。図１は、本発明に係る動画像ファイル配信装置の一実施形態を示すブロック構成図である。なお、図７と同一あるいは同等部分には同一番号を付してある。
【００２２】
本実施形態は、ＨＴＴＰサーバ部３とファイルＩ／Ｏ部４との間に、アップロードバッファ６１〜６ｎおよびダウンロードバッファ７１〜７ｍが動的に生成されるバッファメモリ８を配設した点、アップロードバッファ６１〜６ｎの生成・管理を行うアップロードバッファ管理部９を設けた点、およびダウンロードバッファ７１〜７ｍの生成・管理を行うダウンロードバッファ管理部１０を設けた点で図７のサーバと異なっている。なお、アップロードバッファ管理部９やダウンロードバッファ管理部１０は、ソフトウエアにより構成することができる。
【００２３】
本実施形態の動画像ファイル配信装置（サーバ）１の動作を、まず、アップロード時について説明する。サーバ１がファイル提供者からＨＴＴＰプロトコルによるアップロードリクエストをネットワークＩ／Ｆ部２を介して受信すると、ＨＴＴＰサーバ部３は、１つのＨＴＴＰアップロードセッションを開始させ、受信するアップロードファイルのセッション番号をアップロードバッファ管理部９に通知する。ここで、セッションは、１つのファイルに対応し、その中には、例えば一定期間の動画像データ、あるいは一定データサイズの動画像データが含まれる。
【００２４】
アップロードバッファ管理部９は、通知されたセッション番号と一対一に対応するアップロードバッファをバッファメモリ８内に生成する。以下では、アップロードバッファ６１が生成されるものとして説明する。続いて、ファイル提供者からのアップロードファイルの受信を開始し、受信されたファイルを当該ファイルのセッション番号と対応するアップロードバッファ６１に一時保持させる。
【００２５】
１つのファイルのアップロードが完了してセッションが終了した時、アップロードバッファ６１に保持されているファイルは、アップロードリクエスト時に指定されたファイル名に従ってファイルＩ／Ｏ部４を介して記憶手段５に書き込まれる。この書き込みの速度は、回線の伝送速度に較べて格段に速いので、この書き込み中にダウンロードリクエストが生じる可能性は無視でき、セッションが終了した時点でファイルの書き込みが行われる。記憶手段５へのファイルの書き込みが完了すれば、アップロードバッファ管理部９は、該ファイルの保持に使用されていたアップロードバッファ６１を消滅させる。
【００２６】
以上の処理中に、他のアップロードリクエストが受信されれば、同様に、アップロードバッファ６２が生成され、これを介して当該リクエストのアップロードファイルが記憶手段５に書き込まれる。
【００２７】
図２は、アップロードバッファ管理部９の動作の一例を示すフローチャートである。まず、ＨＴＴＰサーバ部３からアップロードファイルのセッション番号を受信すると（Ｓ１）、バッファ８内にアップロードバッファ６１を生成し（Ｓ２）、続いて受信されるファイルを、生成されたアップロードバッファ６１に格納する（Ｓ３）。ファイル全体の格納が完了したら（Ｓ４）、該ファイルを記憶手段５に転送する（Ｓ５）。記憶手段５へのファイルの転送が完了したら（Ｓ６）、アップロードファイル６１を消滅させ（Ｓ７）、動作を終了する。
【００２８】
次に、ダウンロード時の動作について説明する。サーバ１がクライアントからＨＴＴＰプロトコルによるダウンロードリクエストをネットワークＩ／Ｆ部２を介して受信すると、ＨＴＴＰサーバ部３は、１つのＨＴＴＰダウンロードセッションを開始させ、ダウンロードファイルのファイル名およびセッション番号をダウンロードバッファ管理部１０に通知する。
【００２９】
ダウンロードバッファ管理部１０は、通知されたダウンロードファイルのセッション番号と一対一に対応するダウンロードバッファをバッファメモリ８内に生成する。以下では、ダウンロードバッファ７１が生成されるものとして説明する。続いて、通知されたダウンロードファイルのファイル名に従って記憶手段５から当該ファイルを読み出し、該ファイルをファイルＩ／Ｏ部４を介して対応するセッション番号のダウンロードバッファ７１へと転送する。記憶手段５からのファイルの読み出し速度は、回線の伝送速度に較べて格段に速いので、この読み出し中にアップロードリクエストが生じる可能性は無視できる。
【００３０】
ＨＴＴＰサーバ３は、ダウンロードリクエストのレスポンスコードと合わせてダウンロードバッファ７１内のファイルの転送を開始する。ダウンロードバッファ７１内のファイルの転送が完了すれば、ダウンロードセッションが終了し、ダウンロードバッファ管理部１０は、ダウンロードバッファ７１を消滅させる。
【００３１】
図３は、ダウンロードバッファ管理部１０の動作の一例を示すフローチャートである。まず、ＨＴＴＰサーバ部３からダウンロードファイルのファイル名とセッション番号を受信すると（Ｓ８）、バッファ８内にダウンロードバッファ７１を生成し（Ｓ９）、続いて、受信されたファイル名に従って記憶手段５から当該ファイルを読み出し（Ｓ１０）、該ファイルをダウンロードバッファ７１に格納する。ファイルの読み出しが完了したら（Ｓ１１）、クライアントに対し該ファイルをダウンロードする（Ｓ１２）。なお、ファイルの読み出し完了を待たずにダウンロードを開始させてもよい。ダウンロードが完了したら（Ｓ１３）、ダウンロードファイル７１を消滅させ（Ｓ１４）、動作を終了する。
【００３２】
なお、ＨＴＴＰサーバ部３は、アップロード・ダウンロード共に、複数セッションを受け付けることができ、このとき、各セッションに対してセッション番号がユニークに付与されると共にバッファが生成される。また、サーバ１においては、セッション開始、バッファ生成からセッション終了・バッファ破棄までの一連の動作を、アップロード・ダウンロード問わず同時に並行して行うことが可能である。
【００３３】
本発明は、図４（ａ）に示すような、１つのヘッダ情報Ｈを伴うビデオデータＶとオーディオデータＡからなる通常のファイル構造に限られず、図４（ｂ）に示すような、１つのヘッダ情報Ｈを伴うビデオデータＶとオーディオデータＡからなるフラグメントＦが連続するフラグメント構造に対処できるように構成することもできる。
【００３４】
ＶやＡの１つの塊は、チャンクと呼ばれるもので、図４（ａ）の場合、具体例では、Ｖ，Ａの１チャンクはそれぞれ１秒分のデータを含み、ビデオフレームレート１０ｆｐｓ、ｘ＝１５秒とすると、各ファイルはＶとＡの１５組を含み、ビデオフレームは１チャンク当たり１０枚となる。
【００３５】
ヘッダ情報は、例えば、（１）ファイルの時間長、（２）ファイルの作成日時、（３）各メディア（Ｖ、Ａ）ごとの時間長、（４）各メディアごとの作成日時、（５）Ｖのサイズ（縦×横）、（６）Ｖチャンクの配置位置（バイトオフセット）、（７）Ｖのフレームの総数、（８）Ｖの１フレームごとのデータサイズ（バイト数）、（９）Ｖのフレーム表示継続時間、（１０）Ｖの符号化ビットレート、（１１）Ａのサンプリング周波数、（１２）Ａのモード（モノラル、ステレオ）、（１３）Ａチャンクの配置位置（バイトオフセット）、（１４）Ａの１フレームごとのデータサイズ、（１５）Ａのフレーム再生継続時間、（１６）Ａのフレーム総数などを含む。
【００３６】
また、図４（ｂ）の場合、ファイル先頭のヘッダ情報Ｈは、図２（ａ）の場合と同様に上記（１）〜（１６）を含むが、後続のヘッダ情報Ｈ′、Ｈ″、・・は、上記（６）〜（１０）、（１３）〜（１６）を含む。
【００３７】
図４（ｂ）に示すように、動画像ファイルが内部で分割構造、すなわちフラグメント形式を採る場合、動画像ファイルのアップロードにおいて、アップロードが開始された時点でアップロードバッファを生成し、アップロードバッファへの動画像ファイルの１フラグメントの保持が完了した時点ごとに該フラグメントを記憶手段に転送し、動画像ファイルの全フラグメントが記憶手段に転送された時点で該アップロードバッファを消滅させるようにすることができる。
【００３８】
また、動画像ファイルのダウンロードにおいても、ダウンロードが開始された時点でダウンロードバッファを生成し、ダウンロードすべき動画像ファイルを１フラグメントずつ記憶手段から該ダウンロードバッファに転送し、該ダウンロードバッファからフラグメントをダウンロードし、動画像ファイルの全フラグメントがダウンロードされた時点で該ダウンロードバッファを消滅させるようにすることができる。
【００３９】
図５および図６はそれぞれ、動画像ファイルがフラグメント形式を採る場合のアップロードバッファ管理部９およびダウンロードバッファ管理部１０の動作を示すフローチャートである。これは図２および図３と同様であるので詳細な説明は省略するが、図２および図３とはバッファと記憶手段との間の転送が１フラグメントごとに行われ、バッファの消滅がファイル全体の転送が完了したときに行われる点（Ｓ１５〜Ｓ１８、Ｓ１９〜Ｓ２２）で異なっている。
【００４０】
以上、実施形態について説明したが、本発明の範囲内で種々の改変が可能である。例えば、動画像ファイルは、オーディオデータＡを含まなくてもよい。また、動画像ファイルを蓄積する記憶手段としては、ハードディスクに限らず、メモリによる仮想ディスクなど、種々のデータ記憶手段を採用することができる。
【００４１】
本発明の動画像ファイル配信装置は、監視カメラにより撮像されたライブ画像を、携帯電話やインターネット向けに配信する監視映像配信サーバシステム、その他の動画像配信サーバシステムに適用できる。
【００４２】
【発明の効果】
以上に詳細に説明したように、本発明によれば、受信された動画像ファイルを一時保持するアップロードバッファをセッションごとに動的に生成し、また、配信に際して動画像ファイルを一時保持するダウンロードバッファをセッションごとに動的に生成するので、アップロード中にダウンロードリクエストがあっても、ダウンロード中にアップロードリクエストがあっても、それらの競合による不具合が生じることがなく、アップロードがうまく行かない、アップロードファイルが破壊される、ダウンロードが拒否される、ダウンロードしたファイルが破壊されている、などといった現象が生じることが防止される。また、複数端末からのダウンロードリクエストがあった場合でも、それら各々に対して各１つのダウンロードバッファを生成するので、上記現象は防止される。
【００４３】
また、アップロードバッファ管理部およびダウンロードバッファ管理部を設けて、アップロードバッファおよびダウンロードバッファの生成・管理を動的に行うことにより、バッファを効果的に使用してその容量を必要最小限にすることができる。
【図面の簡単な説明】
【図１】本発明に係る動画像ファイル配信装置の一実施形態を示すブロック構成図である。
【図２】アップロードバッファ管理部の動作の一例を示すフローチャートである。
【図３】ダウンロードバッファ管理部の動作の一例を示すフローチャートである。
【図４】配信されるファイルの構造の説明図である。
【図５】アップロードバッファ管理部の動作の他の例を示すフローチャートである。
【図６】ダウンロードバッファ管理部の動作の他の例を示すフローチャートである。
【図７】従来のサーバの構成を示すブロック構成図である。
【符号の説明】
１・・・サーバ、２・・・ネットワークＩ／Ｆ部、３・・・ＨＴＴＰサーバ部、４・・・ファイルＩ／Ｏ部、５・・・記憶手段、６１〜６ｎ・・・アップロードバッファ、７１〜７ｍ・・・ダウンロードバッファ、８・・・バッファメモリ、９・・・アップロードバッファ管理部、１０・・・ダウンロードバッファ管理部
【図１】
2004145392.tif 000003
【図２】
2004145392.tif 000004
【図３】
2004145392.tif 000005
【図４】
2004145392.tif 000006
【図５】
2004145392.tif 000007
【図６】
2004145392.tif 000008
【図７】
2004145392.tif 000009