(57)【特許請求の範囲】
【請求項１】
映像信号の符号化を行なうエンコーダ装置と、前記エンコーダ装置から受信した映像ストリームを第１の動画ファイルとしてファイルサーバに蓄積する蓄積サーバと、前記蓄積サーバが前記ファイルサーバに蓄積中の前記第１の動画ファイルを他の動画フォーマットへ変換して第２の動画ファイルを生成する変換サーバと、前記蓄積サーバによって生成された前記第１の動画ファイルおよび前記変換サーバによって生成された第２の動画ファイルを格納する前記ファイルサーバとで構成される映像蓄積変換システムにおいて、
前記蓄積サーバは、前記ファイルサーバに、前記第1の動画ファイルの蓄積処理中であることを示す書込みファイルを生成し、かつ前記第1の動画ファイルの蓄積が終了したときに前記書込みファイルを削除し、
前記変換サーバは、前記書込みファイルがあるときには、前記第１の動画ファイルから前記第２の動画ファイルへの変換を継続し、前記書込みファイルがないときには、前記第１の動画ファイルから前記第２の動画ファイルへの変換を終了することを特徴とする映像蓄積変換システム。
【請求項２】
コンピュータを、
エンコーダから映像ストリームを受信するストリーム受信部、
受信した前記映像ストリームを動画ファイルとしてファイルサーバに蓄積する動画ファイル蓄積部、
蓄積の開始および終了のタイミングを判定し、蓄積の開始に先立って、蓄積状況を示す書込みファイルを前記ファイルサーバに生成し、蓄積の終了を以て、前記映像ストリームの他の動画フォーマットへの変換の終了の可否の判定のために前記書込みファイルを削除する管理部、
として機能させるためのプログラム。
【請求項３】
前記管理部は、さらに、
書込みエラーを検出したとき、エラーの発生を記録するエラーファイルを前記ファイルサーバに生成することを特徴とする請求項２に記載のプログラム。
【請求項４】
コンピュータを、
ファイルサーバに格納されている動画ファイルを受信する動画ファイル読込み部、
前記動画ファイルのフォーマットを変換し、前記ファイルサーバに出力する動画フォーマット変換部、
前記ファイルサーバに記録された蓄積状況を示す書込みファイルに基づいて、動画ファイルを受信する速度とタイミングとを判定し、前記書込みファイルが削除されているときに前記動画ファイルのフォーマットの変換を終了する制御部、
として機能させるためのプログラム。
【請求項５】
前記制御部は、さらに、
前記書込みファイルが前記ファイルサーバに記録されていないとき、正常終了し、前記ファイルサーバに書込みエラーの発生を示すエラーファイルが記録されているとき、エラー終了することを特徴とする請求項４記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像ストリームをストレージに動画ファイルとして蓄積し、蓄積した動画ファイルを読込んで別の映像フォーマットへと変換した動画ファイルを生成する映像蓄積変換システムに関し、特に蓄積処理と変換処理をパラレルに実行する蓄積プログラムおよび変換プログラムに関する。
【背景技術】
【０００２】
近年、ネットワークを介したコンテンツ配信サーバおよび受信端末が普及し始めた。これに伴い、多様な配信プラットフォームが登場している。しかし、各配信プラットフォームは、それぞれ異なる動画フォーマットを採用する場合が多い。そのため、コンテンツの提供事業者は、同一内容のコンテンツに対して、フォーマットの異なる複数の動画ファイルを用意する必要に迫られている。
【０００３】
また、配信する動画像や音声などの映像コンテンツは、高精細となって容量が増大化している。この結果、１つのコンテンツを動画ファイルとしての蓄積および別のフォーマットへの変換にかかる処理時間を短縮することが、迅速に映像配信サービスを提供するという観点から重要になっている。
【０００４】
特許文献１は、受信端末が希望する動画像ストリームを受信端末から指定された位置から配信する場合に、所望のフレームから高画質な動画像ストリームを高速に変換して受信端末に送信することができる動画像配信システム、変換装置および動画像配信方法を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２００８／１４２９４８号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１は、映像ストリームを受信してから動画ファイルとして蓄積し、更に動画ファイルを別のフォーマットへ変換するまでのシステム全体としての処理時間を短縮するという観点について、記載していない。
【０００７】
また、従来の映像蓄積変換システムでは、動画蓄積と動画変換をシーケンシャルに実行することが一般的である。このため、変換された動画ファイルが配信プラットフォームに対して提供可能となるまでの時間が多大である。これは、映像フォーマットの変換では、変換元ファイル（ベースとなる蓄積ファイル）が既にファイルとしてストレージで完成している状態に対して、変換プログラムが変換元ファイルを先頭から読込んでいき、変換元ファイルの終端までの変換を実施するとフォーマット変換が完了し、変換後ファイル（別の映像フォーマットの動画ファイル）が完成する方法のためである。
【０００８】
そこで、動画蓄積と動画変換をパラレルに実行することで、システムトータルとしての処理時間を短縮する方法が有効となる。しかし、パラレル方式では、蓄積サーバがエンコーダ装置から入力される映像ストリームをストレージに書きこんでいる生成中ファイルを、変換サーバが追いかけ読込みを行って変換を行っていく必要がある。しかし、蓄積サーバによってファイルを蓄積していく処理速度と、変換サーバによってファイルを変換していく処理速度の同期をとることは困難である。
【課題を解決するための手段】
【０００９】
上述した課題は、映像信号の符号化を行なうエンコーダ装置と、エンコーダ装置から受信した映像ストリームを第１の動画ファイルとして蓄積する蓄積サーバと、蓄積サーバが蓄積中の第１の動画ファイルを他の動画フォーマットへ変換して第２の動画ファイルを生成する変換サーバと、蓄積サーバおよび変換サーバによって生成された動画ファイルを格納するファイルサーバとで構成され、蓄積サーバは、ファイルサーバに、蓄積処理中であることを示す書込みファイルを生成／削除し、変換サーバは、書込みファイルの有無に基づいて、第１の動画ファイルから第２の動画ファイルへの変換を継続または終了する映像蓄積変換システムにより、解決できる。
【００１０】
また、コンピュータを、エンコーダから映像ストリームを受信するストリーム受信部、受信した映像ストリームを動画ファイルとしてファイルサーバに蓄積する動画ファイル蓄積部、蓄積の開始および終了のタイミングを判定し、蓄積の開始に先立って、蓄積状況を示す書込みファイルをファイルサーバに生成し、蓄積の終了を以て、書込みファイルを削除する管理部、として機能させるためのプログラムにより、解決できる。
【００１１】
さらに、コンピュータを、ファイルサーバに格納されている動画ファイルを受信する動画ファイル読込み部、動画ファイルのフォーマットを変換し、ファイルサーバに出力する動画フォーマット変換部、ファイルサーバに記録された蓄積状況を示す書込みファイルに基づいて、動画ファイルを受信する速度とタイミングとを判定する制御部、として機能させるためのプログラムにより、解決できる。
【発明の効果】
【００１２】
本発明によれば、変換サーバが変換終了または一定期間経過後の読込み再開の判定をすることで、変換サーバにおける変換速度を調整することができる。
【図面の簡単な説明】
【００１３】
【図１】映像蓄積変換システムのハードウェアブロック図である。
【図２】蓄積サーバの機能ブロック図である。
【図３】変換サーバの機能ブロック図である。
【図４】ファイルサーバの機能ブロック図である。
【図５】蓄積サーバ／変換サーバのハードウェアブロック図である。
【図６】書込みファイルの記載内容を説明する図である。
【図７】エラーファイルの記載内容を説明する図である。
【図８】蓄積サーバの動作を説明するフローチャートである。
【図９Ａ】変換サーバの動作を説明するフローチャート（その１）である。
【図９Ｂ】変換サーバの動作を説明するフローチャート（その２）である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について、実施例を用い図面を参照しながら詳細に説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。以下説明する実施例は、動画像や音声などの映像ストリームをファイルサーバなどのストレージに動画ファイルとして蓄積し、蓄積した動画ファイルを読込んで、別の映像フォーマットへ変換された動画ファイルを生成する映像蓄積変換システムである。
【００１５】
まず、図１を参照して、映像蓄積変換システム１０００のハードウェアを説明する。図１において、映像蓄積変換システム１０００は、カメラまたは映像再生装置等の映像信号出力装置１０１と、映像信号ケーブル１０２と、エンコーダ装置１０３と、ＬＡＮ（Local Area Network）１０４と、蓄積サーバ２００と、変換サーバ３００と、ファイルサーバ４００と、ビデオオンデマンドやダウンロード等の映像配信サービスを提供する２台の配信サーバ１０８と、インターネット網に代表される公衆回線１１０と、公衆回線１１０に接続して映像および音声の受信再生等が可能なｎ台の受信端末１１１から構成されている。
【００１６】
映像信号出力装置１０１とエンコーダ装置１０３とは、映像信号ケーブル１０２を介して接続されている。またエンコーダ装置１０３と蓄積サーバ２００と変換サーバ３００とファイルサーバ４００と配信サーバ１０８とは、ＬＡＮ１０４を介して接続されている。なお、相互接続するネットワークは、必ずしもＬＡＮ１０４である必要はなく、情報の送受信ができるネットワークであれば公衆回線網などであってもよい。
【００１７】
配信サーバ１０８と受信端末１１１とは、公衆回線１１０を介して接続されている。受信端末１１１は、映像配信要求を送信する。配信サーバ１０８は、映像配信要求に対する応答として映像を配信する。配信サーバ１０８と受信端末１１１とは、区別するとき、配信サーバ１０８−Ａ、配信サーバ１０８−Ｂ、受信端末１１１−ａ〜受信端末１１１−ｎと記載する。
【００１８】
図２を参照して、蓄積サーバ２００の機能ブロックを説明する。図２において、蓄積サーバ２００は、通信制御部２０１と、ストリーム受信部２０２と、動画ファイル蓄積部２０３と、スケジュール管理部２０４と、バッファメモリ２０５とから構成される。
【００１９】
通信制御部２０１は、ＬＡＮ１０４を介して情報の送受信を行なう。ストリーム受信部２０２は、通信制御部２０１より映像ストリームを受け取る。動画ファイル蓄積部２０３は、受信した映像ストリームを動画ファイルとして蓄積するために通信制御部２０１を介してファイルサーバ４００へと出力する。バッファメモリ２０５は、受信したストリームを一時的に保存する。
【００２０】
スケジュール管理部２０４は、蓄積の開始および終了するタイミングを判定する。スケジュール管理部２０４は、動画ファイル蓄積部２０３による蓄積に先立って、ファイルサーバ４００に書込みファイルを格納する。また、スケジュール管理部２０４は、動画ファイル蓄積部２０３の蓄積が終了すると、ファイルサーバ４００の書込みファイルを削除する。さらに、スケジュール管理部２０４は、書込みエラーを確認する。書込みエラーを検出したとき、スケジュール管理部２０４は、エラーファイルをファイルサーバ４００に格納する。
【００２１】
図３を参照して、変換サーバ３００の機能ブロックを説明する。図３において、変換サーバ３００は、通信制御部３０１と、動画ファイル読込み部３０２と、動画フォーマット変換部３０３と、変換制御部３０４と、バッファメモリ３０５とから構成される。
【００２２】
通信制御部３０１は、ＬＡＮ１０４を介して情報の送受信を行なう。動画ファイル読込み部３０２は、通信制御部３０１を介してファイルサーバ４００に格納されている動画ファイルを読込む。動画フォーマット変換部３０３は、読込んだ動画ファイルの動画像や音声などのフォーマットを、別のフォーマットへ変換する。動画フォーマット変換部３０３は、通信制御部２０１を介してファイルサーバ４００へと出力する。バッファメモリ３０５は、読込んだ動画ファイルのデータを一時的に保存する。
【００２３】
変換制御部３０４は、ファイルサーバ４００の書込みファイル４０７に基づいて、変換の開始および終了するタイミングを判定する。変換制御部３０４は、ファイルサーバ４００にエラーファイル４０８があるか確認する。エラーファイル４０８があったとき、変換制御部３０４は、動画フォーマットの変換をエラー終了する。変換制御部３０４は、ファイルサーバ４００に書込みファイル４０７があるか確認する。書込みファイル４０７がなかったとき、変換制御部３０４は、動画フォーマットの変換を正常終了する。
【００２４】
図４を参照して、ファイルサーバ４００の機能ブロックを説明する。図４において、ファイルサーバ４００は、通信制御部４０１と、ファイル読出し部４０２と、ファイル書出し部４０３と、ストレージ４０４とから構成される。
【００２５】
通信制御部４０１は、ＬＡＮ１０４を介して情報の送受信を行なう。ファイル読出し部４０２は、ストレージ４０４からファイルを読出す。ファイル書出し部４０３は、ストレージ４０４へファイルを書込む。また、ストレージ４０４は、動画ファイルＡ４０５と、動画ファイルＢ４０６と、書込みファイル４０７と、エラーファイル４０８とを格納する。ここで、動画ファイルＡ４０５と、動画ファイルＢ４０６とは、フォーマットの異なる動画ファイルである。
【００２６】
図５を参照して、蓄積サーバ２００および変換サーバ３００のハードウェア構成を説明する。図５において、蓄積サーバ２００は、内部バス２１０に接続された中央演算装置（ＣＰＵ）２２０、メインメモリ２３０、バッファメモリ２４０、ＮＩＣ（Network Interface Card）２５０、ＨＤＤ（Hard Disk Drive）２６０で構成されている。図５の内部の参照番号は、蓄積サーバ２００のハードウェアの参照番号を振っている。しかし、図５を変換サーバ３００として、参照するとき、それぞれ、内部バス３１０、ＣＰＵ３２０、メインメモリ３３０、バッファメモリ３４０、ＮＩＣ３５０、ＨＤＤ３６０と読み替える。
【００２７】
図５から明らかなように、蓄積サーバ２００および変換サーバ３００は、コンピュータである。図２と図５の対比および図３と図５の対比から明らかなように、蓄積サーバ２００／変換サーバ３００の各機能ブロックは、ＨＤＤ２６０／３６０に記録された蓄積プログラム／変換プログラムをメインメモリ２３０／３３０に読み込んで、ＣＰＵ２２０／３２０が実行することで、実現する。
【００２８】
図６を参照して、書込みファイル４０７の記載内容を説明する。図６において、書込みファイル４０７は、蓄積対象とする動画ファイルの蓄積開始日時７１、蓄積終了日時７２、書込み中の動画ファイルパス７３、書込み済みファイルサイズ７４、進捗状況７５が書かれている。また場合によっては、書込み済みファイルサイズ７４、蓄積の進捗状況７５は、書かれていなくてもよい。
【００２９】
書込みファイル４０７は、蓄積サーバ２００による動画ファイル４０５の蓄積が開始した直後にスケジュール管理部２０４によって生成され、ファイルサーバ４００のストレージ４０４の中に格納される。また書込みファイル４０７は、蓄積サーバ２００による動画ファイル４０５の蓄積が終了した直後にスケジュール管理部２０４によって、ファイルサーバ４００のストレージ４０４の中から削除される。
【００３０】
変換サーバ３００は、ファイルサーバ４００のストレージ４０４上の書込みファイル４０７の存在有無をチェックする。存在しない場合、変換サーバ３００は、蓄積サーバ２００による動画ファイル４０５の蓄積が終了したことを認識する。書込みファイル４０７が存在する場合、変換サーバ３００は、蓄積サーバ２００による動画ファイル４０５の生成は継続中であると認識する。
【００３１】
また変換サーバ３００の変換制御部３０４は、書込みファイル４０７に記載される書込み済みファイルサイズを参照する。参照結果により、変換制御部３０４は、動画ファイル４０５の読込み済みファイルサイズと比較し、蓄積サーバ２００による動画ファイルＡ４０５の書込みに追いつかないように、１回あたりの読込みサイズを小さくすることで読込み速度を調整する。
【００３２】
図７を参照して、エラーファイル４０８の記載内容を説明する。図７において、エラーファイル４０８は、蓄積対象とする動画ファイル４０５の蓄積開始日時８１、蓄積終了日時８２、書込み中の動画ファイルパス８３、書込み途中に発生したエラーを識別するためのエラーコード８４、エラーの詳細内容であるエラー内容８５が書かれている。また場合によっては、エラーコード８４またはエラー内容８５は、省略可能である。
【００３３】
エラーファイル４０８は、蓄積サーバ２００による動画ファイル４０５の蓄積中にファイル書込みエラー等が発生した場合にスケジュール管理部２０４によって生成され、ファイルサーバ４００のストレージ４０４の中に格納される。
【００３４】
変換サーバ３００は、ファイルサーバ４００のストレージ４０４上のエラーファイル４０８の存在有無をチェックする。存在しない場合、変換サーバ３００は、蓄積サーバ２００による動画ファイル４０５の蓄積が正常であることを認識する。エラーファイル４０８が存在する場合、変換サーバ３００は、蓄積サーバ２００による動画ファイル４０５の蓄積にエラーが発生したことを認識し、動画フォーマット変換を終了する。
【００３５】
図８を参照して、蓄積サーバ２００の動作を説明する。図８において、まず、蓄積サーバ２００は、スケジュール管理部２０４において蓄積開始日時が到来しているかどうかの判定を行なう（Ｓ７０１）。蓄積開始日時が到来していない場合、蓄積サーバ２００は、ステップ７０１に戻る。蓄積開始日時が到来していた場合、蓄積サーバ２００は、ファイルサーバ４００へ書込みファイル４０７を生成する（Ｓ７０２）。そして、蓄積サーバ２００は、通信制御部２０１を介してストリーム受信部２０２が受信した映像ストリームについて、動画ファイル蓄積部２０３においてファイルサーバ４００へ動画ファイルＡ４０５としてファイル書込みを開始する（Ｓ７０３）。
【００３６】
蓄積サーバ２００は、動画ファイルＡ４０５を書込み、エラー発生の有無を確認する（Ｓ７０４）。エラー発生が無いとき、蓄積サーバ２００は、蓄積終了日時に至ったか判定する（Ｓ７０７）。ステップ７０４でエラー発生があるとき、蓄積サーバ２００は、ファイルサーバ４００にエラーファイル４０８を生成して（Ｓ７０６）、ステップ７０７に遷移する。ステップ７０７でＮＯのとき、蓄積サーバ２００は、ステップ７０４に遷移する。ステップ７０７でＹＥＳのとき、蓄積サーバ２００は、ファイルサーバ４００への動画ファイルＡ４０５の書込みを終了する（Ｓ７０８）。蓄積サーバ２００は、ファイルサーバ４００の書込みファイル４０７を削除して（Ｓ７０９）、終了する。
【００３７】
図９を参照して、変換サーバ３００の動作を説明する。図９Ａにおいて、まず、変換サーバ３００は、変換開始日時が到来しているか判定する（Ｓ８０１）。ＮＯのとき、変換サーバ３００は、ステップ８０１に再び遷移する。ステップ８０１でＹＥＳのとき、変換サーバ３００は、ファイルサーバ４００から、動画ファイルＡ４０５の読込みを開始する（Ｓ８０２）。変換サーバ３００は、読み込んだ部分の動画フォーマットの変換を開始する（Ｓ８０３）。変換サーバ３００は、変換した部分をファイルサーバ４００のファイルＢ４０６への書込みを開始する（Ｓ８０４）。
【００３８】
図９Ｂにおいて、変換サーバ３００は、動画ファイルＡ４０５を読込み、動画フォーマット変換し、動画ファイルＢ４０６を書込む（Ｓ８０６）。変換サーバ３００は、エラーファイル４０８がファイルサーバ４００にあるか確認する（Ｓ８０７）。変換サーバ３００は、エラーファイル４０８の有無を判定する（Ｓ８０８）。エラーファイル４０８がないとき、変換サーバ３００は、動画ファイルＡ４０５の読込みファイル終端か判定する（Ｓ８０９）。ＮＯのとき、変換サーバ３００は、そのままステップ８０６に遷移する。ステップ８０９でＹＥＳのとき、変換サーバ３００は、書き込みファイルの存在を確認する（Ｓ８１１）。変換サーバ３００は、書込みファイルの有無を判定する（Ｓ８１２）。ＹＥＳのとき、変換サーバ３００は、そのままステップ８０６に遷移する。ステップ８１２でＮＯのとき、変換サーバ３００は、動画フォーマット変換を終了して（Ｓ８１３）、終了する。なお、ステップ８０８でＹＥＳのとき、変換サーバ３００は、そのままステップ８１３に遷移する。
【００３９】
以上に説明した実施例によれば、蓄積サーバ２００がエンコーダ装置１０３から入力される映像ストリームをファイルサーバ４００のストレージ４０４へ書き込んでいる蓄積中の動画ファイルを、変換サーバ３００が追いかけて読込み変換を行っていく際に、同期ずれを回避して蓄積および変換の両方をパラレルに実現することが可能となる。
【００４０】
なお、蓄積プログラムおよび変換プログラムは、光ディスク、ハードディスクなどの記録媒体に記録させておくことができる。またネットワークを介して処理プログラムを得るようにしてもよい。
【００４１】
以上、好適な実施例を説明したが、発明は、実施の形態に限定されず、発明の趣旨を逸脱しない範囲で適宜変更が可能である。以下のような実施の形態が考えられる。
（１）蓄積サーバ２００と変換サーバ３００は別サーバとして記載したが、同一のサーバ内に蓄積プログラムおよび変換プログラムを実装して運用するようにしてもよい。
（２）ファイルサーバ４００を独立したサーバとして記載したが、蓄積サーバもしくは変換サーバ内のハードディスクなどの記録媒体に対して、動画ファイル、書込みファイルおよびエラーファイルを格納する運用が考えられる。
（３）ファイルサーバ４００は、変換前の動画ファイルＡと変換後の動画ファイルＢとを保持知るが、別個のファイルサーバで保持してもよい。
【符号の説明】
【００４２】
１０１…映像信号出力装置、１０３…エンコーダ装置、２００…蓄積サーバ、２０２…ストリーム受信部、２０３…動画ファイル蓄積部、２０４…スケジュール管理部、２１０…内部バス、２２０…ＣＰＵ、２３０…メインメモリ、２４０…バッファメモリ、２５０…ＮＩＳ、２６０…ＨＤＤ、３００…変換サーバ、３０２…動画ファイル読込み部、３０３…動画フォーマット変換部、３０４…変換制御部、３１０…内部バス、３２０…ＣＰＵ、３３０…メインメモリ、３４０…バッファメモリ、３５０…ＮＩＣ、３６０…ＨＤＤ、４００…ファイルサーバ、４０７…書込みファイル、４０８…エラーファイル、１０００…映像蓄積変換システム。
【図１】
0005498124.tif 000002
【図２】
0005498124.tif 000003
【図３】
0005498124.tif 000004
【図４】
0005498124.tif 000005
【図５】
0005498124.tif 000006
【図６】
0005498124.tif 000007
【図７】
0005498124.tif 000008
【図８】
0005498124.tif 000009
【図９Ａ】
0005498124.tif 000010
【図９Ｂ】
0005498124.tif 000011