(57)【要約】【課題】  配信対象の映像ファイルの中に、蓄積中の映像ファイルが含まれるような再生リストであっても、配信するのに適切な映像ファイルを複数の候補映像ファイルから選択し、シームレスに映像を配信することができる映像配信システムを提供することにある。【解決手段】  配信対象の映像に対応する再生リストに蓄積中の映像ファイルが含まれている場合、映像配信部407は、候補の映像ファイルから配信すべき映像ファイルを選択し、配信バッファ408に格納するとともに、格納された映像ファイルを再生リストに従って配信する。【選択図】図４
2005286962.tif 000002
【特許請求の範囲】
【請求項１】
映像配信要求に応じて映像を配信する映像配信システムにおいて、
前記映像配信要求を受信する受信手段と、
該受信した映像配信要求に対応する配信対象の映像に関する情報をもとに、配信管理テーブルを作成する作成手段と、
該作成された配信管理テーブルに列挙された映像ファイルの蓄積状況を確認する確認手段と、
該確認の結果、蓄積状況が蓄積中である映像ファイルがある場合は、該映像ファイルに対する候補映像ファイルの中から、配信すべき映像ファイルを選択する選択手段と、
該選択された映像ファイルに対応する映像データを格納する格納手段と、
該格納手段に格納された映像データを、前記配信管理テーブルに含まれる配信リストに従って配信する配信手段とを備えることを特徴とする映像配信システム。
【請求項２】
前記選択手段は、
前記配信管理テーブルに列挙された映像ファイルの中に、蓄積状況が蓄積中である映像ファイルがある場合は、
該映像ファイルに対応する候補映像ファイルに関する時間長情報が増加しているか否かを判断して、該候補映像ファイルの配信優先度を更新し、
該更新後の配信優先度に従って、配信すべき候補映像ファイルを選択することを特徴とする請求項１記載の映像配信システム。
【請求項３】
前記選択手段は、
前記配信管理テーブルに優先度決定付加指標が含まれている場合は、該指標に従って、前記候補映像ファイルの配信優先度を更新し、配信すべき候補映像ファイルを選択することを特徴とする請求項２記載の映像配信システム。
【請求項４】
前記優先度決定付加指標は、映像配信先までのネットワーク帯域幅に関する情報であることを特徴とする請求項３記載の映像配信システム。
【請求項５】
前記優先度決定付加指標は、配信される映像ファイルが蓄積されている装置のデータアクセス速度に関する情報であることを特徴とする請求項３記載の映像配信システム。
【請求項６】
複数の映像ファイルから構成される映像コンテンツの配信要求に従って、該複数の映像ファイルをシームレスに配信する映像配信システムにおいて、
前記配信要求と、該要求された映像コンテンツに対応する映像ファイルに関する再生リストを受信する受信手段と、
該受信した再生リストに含まれる映像ファイルに、複数の候補映像ファイルが対応付けられている場合、該複数の候補映像ファイルの中から、配信すべき映像ファイルを選択する選択手段と、
該選択された映像ファイルを、前記再生リストに従ってシームレスに配信する配信手段とを備えることを特徴とする映像配信システム。
【請求項７】
映像再生要求に応じて映像を再生する映像再生装置において、
該要求された映像に対応する再生リストを受信する受信手段と、
該再生リストに従って、再生管理テーブルを生成する生成手段と、
該再生管理テーブルに含まれる映像ファイルの蓄積状況が蓄積中であるか否かを確認する確認手段と、
該蓄積状況が蓄積中である映像ファイルに対応する複数の候補映像ファイルの中から、再生すべき映像ファイルを選択する選択手段と、
該選択された映像ファイルを前記再生リストに従って再生する再生手段とを備えることを特徴とする映像再生装置。
【請求項８】
映像配信要求を行う視聴端末と、該要求に従って映像データを前記視聴端末に配信するビデオサーバを含む映像配信システムにおける映像配信方法であって、
前記ビデオサーバは、視聴端末から映像配信要求を受信し、
前記ビデオサーバは、該受信した映像配信要求を行った視聴端末に関する情報及び該受信した映像配信要求に対応する再生リストをもとに、該要求された映像配信を行う配信管理テーブルを生成し、
前記ビデオサーバは、該生成された配信管理テーブルに含まれる、配信対象の映像ファイルの蓄積状況を判断し、
前記ビデオサーバは、該蓄積状況が蓄積済みである場合は、該映像ファイルを配信バッファに追加し、
前記ビデオサーバは、該蓄積状況が蓄積中である場合は、蓄積中である映像ファイルに対応する候補映像ファイルの中から配信すべき映像ファイルを選択し、
前記ビデオサーバは、該選択された映像ファイルを前記配信バッファに追加し、
前記ビデオサーバは、前記配信バッファに格納された映像ファイルを、前記再生リストに従って、前記映像配信要求を行った視聴端末に対して配信することを特徴とする映像配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、配信要求があった映像を配信する映像配信システムに関し、複数の映像ファイルをシームレスに配信する映像配信システムに関するものである。
【背景技術】
【０００２】
近年、イントラネットまたはインターネットにおいて、ネットワーク伝送能力の向上やハードディスクの大容量化に伴い、映像ストリーミング環境が整備されつつある。企業では、映像ストリーミング配信システム(以下、映像配信システム)を教育や業務に適用し、低コスト化と効率化を図っている。またインターネットにおいては、ニュース映像やライブ映像を配信したりしている。このような映像配信システムの中には、複数の映像ファイルを並べて再生リストなるものを作成し、それを1つのコンテンツとみなして並べた順番にシームレスに配信する技術がする。ここでシームレスに配信するとは、ある一続きの映像があるとし、その映像をある時間で2つに区切って映像ファイルとして生成したとして、時間順にそれら2つの映像ファイルを映像と音声が途切れないように配信することをいう。なお、ここではある映像を2つに区切る場合を説明したが、2つ以上に区切る場合でも同様であり、また、区切る時間についても限定するものではない。
【０００３】
また、例えばライブ映像のような一回きりしか撮影することができない映像をハードディスクに蓄積し配信しなければならない場合、その映像をハードディスクへ蓄積するためのリアルタイム符号化処理時に蓄積障害が発生することを想定して、複数のリアルタイム符号化処理装置(以下、エンコーダ)を動作させて、障害対策を施す運用形態を採ることが考えられる。さらに撮影しなければならない時間が長くなる場合には、全ての映像を1つの映像ファイルにすると映像ファイルサイズが大きくなり取り扱いが難しくなることから、適当なサイズで分割して複数の映像ファイルとしてとっておくことは、蓄積障害時の映像データ損失を最小限にするため、また映像ファイルの取り扱いやすくするため、一般的な映像ファイル管理方法と考えられる（特許文献１参照）。
【０００４】
【特許文献１】特開2003-242074号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のような映像ファイルの管理においては、蓄積済みの映像ファイル、そして複数の配信候補が存在する蓄積中の映像ファイルという、蓄積状況が異なる映像ファイルが再生リストとして作成される可能性があるが、そのような場合であっても、1つの映像コンテンツとしてシームレスに配信して視聴させたいという要求がある。ただこのような状況下では、シームレス配信を行うときに既に蓄積済みの映像ファイルは一意に決定できるが、蓄積中の映像ファイルは、蓄積障害が発生するかもしれないという不確定要素が存在することにより、シームレス配信すべき映像ファイルを一意に決定することができず、シームレス配信する映像ファイルとして選択した蓄積中の映像ファイルが蓄積途中で蓄積障害が発生した場合には、配信開始した時点に希望していた内容をシームレス配信できないことになってしまう。このように、配信する映像候補が蓄積中の映像ファイルであって、蓄積障害が発生する可能性のある映像ファイルが再生リストに含まれている場合は、シームレスな映像配信を実現できなかった。
【０００６】
本発明の目的は、蓄積中の映像ファイルが含まれるような再生リストであっても、複数の配信候補の映像ファイルから配信に適切な映像ファイルを選択し、再生リストに従ってシームレスに映像を配信する映像配信システムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達するために本発明は、配信対象の映像に関する配信管理テーブルを作成する。そして、その配信管理テーブルに列挙された映像ファイルの蓄積状況が蓄積中である映像ファイルがある場合は、該映像ファイルに対する候補映像ファイルの中から、配信すべき映像ファイルを選択する。そして、選択された映像ファイルを、配信管理テーブルに含まれる配信リストに従って配信する構成を採用した。
【発明の効果】
【０００８】
本発明によれば、蓄積中の映像ファイルが含まれるような再生リストであっても、配信に適切な映像ファイルを配信候補の映像ファイルの中から選択し、シームレスに映像を配信することが可能となる。
【発明を実施するための最良の形態】
【０００９】
図1は、本発明の一実施例である映像配信システムの構成図を示す。映像107は、カメラ等の撮影装置により撮影され取得されるもので、エンコーダ103に入力して符号化しハードディスク等に蓄積される映像である。エンコーダ103は、入力映像107をハードディスクに蓄積するために符号化する装置である。符号化した映像データは、映像ファイルサーバ104に映像ファイルとして蓄積するとともに、パス情報(蓄積場所)等の映像ファイル情報を映像情報管理サーバ102に登録する。映像ファイルサーバ104は、エンコーダ103が生成した映像データを映像ファイルとして蓄積する装置、映像情報管理サーバ102は、映像ファイルサーバ104に蓄積されている映像ファイルのパス情報等を管理する装置である。WWWサーバ101は、視聴端末100に対して、ビデオサーバ105が映像配信可能なコンテンツリストを表示する機能を有し、視聴端末100からコンテンツを選択された場合にそのコンテンツを映像視聴するのに必要な情報を送信する機能も有する装置である。ビデオサーバ105は、視聴端末100からの映像配信要求を受けると映像ファイルサーバに蓄積されている指定された映像ファイルの映像データを配信する機能を有する装置である。視聴端末100は、映像配信要求をビデオサーバ105に向けて送信し、ビデオサーバ105から配信された映像データを受信し、その映像データを複号化しながら画面上に再生する機能を有する装置である。ネットワーク106は、前述の各装置間に位置し、それらの間の通信を実現する。尚、この図1では、障害発生を考慮に入れた構成として説明を簡略化するためにエンコーダ103を2つにして記載しているが、特に2つに限定するものではなく、複数であればいくつでもよい。
【００１０】
図2は、映像配信の流れの一例を示した図である。視聴端末100は、WWWサーバ101が提供する映像コンテンツリストの中から視聴したい映像コンテンツを選択し、映像視聴要求を送信する(ステップ200)。WWWサーバ101は、その映像視聴要求のあった映像コンテンツを構成している1つ以上の映像ファイルの蓄積場所等に関する情報を映像情報管理サーバ102に問い合わせ(ステップ201)、映像情報管理サーバ102は、その映像情報をWWWサーバ101に返信する(ステップ202)。WWWサーバ101は、返信された映像情報を再生リスト300として構成し、ビデオサーバ105のIPアドレス等のビデオサーバ情報とともに視聴端末100へ返信する(ステップ203)。視聴端末100は、そのビデオサーバ情報に従い、ビデオサーバ105にアクセスし、再生リスト300をビデオサーバ105に送信する(ステップ204)。ビデオサーバ105は、受信した再生リスト300をもとに視聴端末100に映像配信するために必要な配信リストを生成し、その配信リストに従って、映像ファイルサーバ104に蓄積されている映像ファイルから適切な映像ファイルを選択し、映像データを読み出し(ステップ205、206)、アクセスしてきた視聴端末100に対して映像配信を開始する(ステップ207)。
【００１１】
ここで、映像配信の流れにおける視聴端末100の画面の説明を図8と図9を用いて説明する。
【００１２】
図8は、視聴端末100上での映像コンテンツ選択画面の1例を示した図であり、図2のステップ200を開始する際の画面例である。WWWブラウザ800は、視聴端末100上で動作するWWWサーバ101と通信するプログラムである。視聴端末100では、映像コンテンツを選択するため、視聴端末100のWWWブラウザ800を用いてWWWサーバ101にアクセスし、WWWサーバ101は、配信できる映像コンテンツのリストをHTMLとして視聴端末100のWWWブラウザ800に返す。返された結果の画面例がこの図8である。WWWブラウザ800上に表示されている映像コンテンツ1などを選択することにより、図2のステップ200が開始される。
【００１３】
図9は、視聴端末100上での視聴画面の1例を示した図である。映像表示領域900は、WWWブラウザ800上のビデオサーバ105から映像配信される映像データを表示する領域である。映像データを視聴端末100が受信した後、何らかの復号処理がなされて映像データが映像表示領域900に表示されると考えてよい。シークバー901は、視聴している映像コンテンツを時間的に未来や過去へジャンプさせて再生させたいときに使用するものである。早戻しボタン902は、視聴している映像コンテンツを早戻しするときに使用するボタンである。停止ボタン903は、視聴している映像コンテンツを停止し、映像コンテンツの最初まで戻るときに使用するボタンである。一時停止ボタン904は、視聴している映像コンテンツを一時的に停止するときに使用するボタンである。再生ボタン905は、停止していた場合に通常再生を開始するときや早送りや早戻しを行っている場合に再度通常再生を開始するとき等に使用するボタンである。早送りボタン906は、視聴している映像コンテンツを早送りするときに使用するボタンである。映像再生位置表示領域907は、現在映像表示領域900に表示されている映像の映像位置を表示する領域である。表示形式としてはタイムコード等が考えられるが、それに限定するわけではない。この図9は、図2のステップ207以降における視聴端末100上のWWWブラウザ800画面の1例となっている。ビデオサーバ105から配信される映像データが映像表示領域900に表示されるが、視聴端末100を利用している視聴者が適宜シークバー901や各種ボタンを操作して映像を視聴することを想定している。視聴端末100のWWWブラウザ800上では、図8に示した映像コンテンツリストの中から映像コンテンツを選択することによって、図9のような画面に遷移すると考えてよい。
【００１４】
図3は、再生リスト300の一例を示した図である。再生リスト300は、ある映像コンテンツが複数の映像ファイルから構成されている場合に、その複数の映像ファイル名を列挙し、再生リスト300に列挙された映像ファイルの順にシームレスにつなげて再生することを表現するリストであり、ある映像コンテンツに対応するコンテンツ情報である。この複数の映像ファイルをシームレスにつなげて再生することで、ある一連の映像が1つの映像コンテンツとして表現される。映像コンテンツと再生リストは1対1対応である。列挙する各映像ファイルには、蓄積状況（蓄積済み、蓄積中、蓄積予定）を合わせて記載する。蓄積中、蓄積予定の映像（図3における映像4及び5）に関しては、蓄積完了後に残される映像ファイルの候補として、複数の映像ファイルが列挙される。
【００１５】
なお、この図3では、再生リスト300の中に5映像をリストした例を記載しているが、5つに限定するものではなく、1以上であればリストになり得る。また、候補の映像ファイルは、再生リスト300に上から順に映像配信に利用する優先順位が高いという意味を持たせてもよいし、別途この再生リスト300に候補の映像ファイルの優先順位を持たせてもよい。さらに候補の映像ファイルは複数であればよく、2つでなくてもよい。
【００１６】
図4は、ビデオサーバ105の構成を示した図である。ビデオサーバ105は、CPU400、キーボード401、マウス402、バス403、メモリ404、ハードディスク409、ネットワークインタフェース410、ディスプレイ411からなる。バス403は、複数のハードウェア間の通信を司る。ディスプレイ411、キーボード402、マウス403はビデオサーバ105への入出力を司る。メモリ404、ハードディスク409、ネットワークインタフェース410は、バス403を介してCPU400よりアクセスされる。
【００１７】
メモリ404は、複数のプログラムやテーブルを保持する。メモリ404は、映像配信管理部405、配信管理テーブル406、映像配信部407、配信バッファ408を含む。映像配信管理部405は、視聴端末100からの映像配信開始要求をネットワークインタフェース410経由で受けて、配信管理テーブル406の設定や映像配信部407への映像配信開始命令を出す。配信管理テーブル406は、視聴端末100に対して映像配信をするために必要な情報を管理しているテーブルである。配信管理テーブル406は、再生リスト300を元にして配信する映像ファイルのリストが構成される。映像配信部407は、配信管理テーブル406に従い、映像ファイルから映像データを読み出して、配信バッファ408へ追加したり、配信バッファ408に格納されている映像データを映像配信時間に従って視聴端末100へネットワークインタフェース410経由で映像配信したりする。尚、配信バッファ408のサイズは、視聴端末100により早送りや早戻し等の特殊な配信を要求される場合や配信タイミングを考慮し、可変であっても固定であっても構わない。
【００１８】
また、ビデオサーバ105から配信された映像データを、ビデオサーバ105のディスプレイ411が、図9に示すような画面で表示してもよい。つまり、映像配信を行うビデオサーバ105は、映像再生装置（視聴端末100）も兼ねることができる。図10は、この場合のビデオサーバの構成図である。図10に示すビデオサーバは、図4と比較して、映像再生部1000、再生バッファ1001が追加されている。映像再生部1000は、ビデオサーバ105から自身に配信された映像データが蓄えられる再生バッファ1001から映像データを読み出して、読み出した映像データをディスプレイ411に表示する。映像データが暗号処理されている場合は、復号処理を行った上で映像データを表示する。
【００１９】
図5は、ビデオサーバ105におけるメモリ404内の配信管理テーブル406の構成例を示した図である。配信管理テーブル406は、映像配信部407が利用するテーブルである。配信管理テーブル406は、配信先500、総時間501、現在配信時間502、配信バッファ積載状況503、現在位置504、配信リスト505からなり、配信リスト505は、映像ファイル名506、蓄積状況507、候補映像ファイル名508、時間長509、配信優先度510、優先度決定付加指標511からなる。配信先500は、映像配信開始要求を出してきた視聴端末100のIPアドレスやポート番号といった配信先情報を格納する。総時間501は、再生リスト300内の映像ファイルをシームレスに配信した場合の映像の全体時間長を格納する。現在配信時間502は、配信を開始してから現在までの配信時間を格納する。この現在配信時間502は、映像配信部407が配信バッファ408にある映像データを配信先500に格納された配信先に向けて配信する際、どのくらいの映像データをどのような間隔で配信したらよいか、その配信タイミングを計るために映像配信部407が利用する。
【００２０】
配信バッファ積載状況503は、映像配信部407により配信バッファ408へ追加された映像データが現在配信バッファ全体のどの程度まで満たされているかを示す情報を格納する。つまり、配信バッファ積載状況503は、配信バッファ408に格納されているがまだ配信されていない映像データの配信バッファ408全体に占める割合を示す。現在位置504は、配信バッファ408にこれから追加しなければならない映像データの時間位置を格納し、映像配信部407が参照する。
【００２１】
配信リスト505は、再生リスト300をもとにどの映像ファイルをシームレス映像配信すればよいのかを示すリストである。配信リスト505には、以下の項目が含まれる。映像ファイル名506は、配信する映像ファイルのパス情報を格納する。蓄積状況507は、各映像ファイルが既に映像ファイルサーバ104に蓄積済みなのか、蓄積中なのか、蓄積予定なのかを示す情報を格納する。候補映像ファイル名508は、蓄積状況507が蓄積中あるいは蓄積予定の場合の映像ファイルサーバ104に蓄積される候補となる映像ファイルのパス情報を格納する。時間長509は、各映像ファイルの映像の時間長を格納する。配信優先度510は、蓄積状況507が蓄積中の場合、候補となっている複数の映像ファイルの中で、配信データとして利用する対象としての優先順位を格納する。
【００２２】
優先度決定付加指標511は、配信優先度510を決定する際、（１）蓄積状況507のみで配信優先度510を決定するのか、（２）蓄積状況507に加えて映像配信先までのネットワーク帯域幅をも考慮に入れた判定をし、配信優先度510を決定するのか、（３）蓄積状況507に加えて映像ファイルが蓄積されている装置のデータアクセス速度をも考慮に入れた判定をし、配信優先度510を決定するのか、を指定する指標のことである。
【００２３】
上記（２）に示す蓄積状況507に加えて映像配信先までのネットワーク帯域も考慮に入れて配信優先度510を決定すれば、蓄積状況507の判定で耐障害性が高まるとともに、例えば映像配信先までのネットワーク帯域幅に合う適切なビットレートの映像ファイルが選択されることになるので、視聴端末100とビデオサーバ105間でレスポンスのよい快適な映像配信サービスを提供できる。また、上記（３）に示す蓄積状況507に加えて映像ファイルが蓄積されている装置のデータアクセス速度も考慮に入れて配信優先度510を決定すれば、蓄積状況507の判定で耐障害性が高まるとともに、例えばデータアクセス速度の速い映像ファイルが選択されることになるので、ネットワーク帯域幅という優先度決定付加指標511と同様、レスポンスのよい快適な映像配信サービスを提供できる。
【００２４】
尚、ここでは優先度決定付加指標511としてネットワーク帯域幅やデータアクセス速度を取り上げたが、それに限定するものではない。そして優先度決定付加指標511として、ネットワーク帯域幅とデータアクセス速度を別に説明しているが、これら2つの指標を合わせて配信優先度510を決定してもよい。
【００２５】
図6及び図7を用いて、配信管理テーブル406（図5）内の配信リスト505に候補映像ファイルが含まれる場合の配信の流れと、障害発生時の候補映像ファイルの切り替えについて説明する。
【００２６】
図6は、ビデオサーバ105が視聴端末100から映像配信開始要求を受けて映像を配信するまでの流れを示したフローチャートである。ビデオサーバ105の映像配信管理部405は、視聴端末100から映像配信開始要求を受けると(ステップ600)、その要求を行った視聴端末100のIPアドレスやポート番号といった配信先情報や再生リスト300を元に、配信リスト505をはじめとする配信管理テーブル406の項目に情報を入力して配信管理テーブル406を生成する(ステップ601)。
【００２７】
その後、映像配信管理部405は、映像配信部407へ映像配信を開始するよう命令を出す。そして映像配信部407は、視聴端末100から配信停止要求を受けるまで、以下のステップを繰り返す(ステップ602)。映像配信部407は、配信管理テーブル406の配信先500、総時間501、現在配信時間502、配信バッファ積載状況503、現在位置504、配信リスト505を参照し(ステップ603)、配信バッファ408へ追加する現在位置504に該当する配信リスト505内の映像ファイルの蓄積状況が蓄積済みかどうか確認する(ステップ604)。蓄積済みである場合には（ステップ604：Yes）、現在位置504に該当する映像ファイルから配信バッファ積載状況503に見合ったサイズだけ映像データを読み出して(ステップ608)、その映像データを配信バッファ408に追加する(ステップ609)。蓄積済みでない場合は（ステップ604：No）、配信バッファ408へ追加する現在位置504に該当する配信リスト505内の映像ファイルの蓄積状況が蓄積中かどうか確認する(ステップ605)。蓄積中である場合には（ステップ605：Yes）、複数の候補映像ファイルからどの映像ファイルから映像データを読み出すのかを判定するステップを行ってから(ステップ607)、現在位置504に該当する映像ファイルから配信バッファ積載状況503に見合ったサイズだけ映像データを読み出して(ステップ608)、その映像データを配信バッファ408に追加する(ステップ609)。ステップ607の判定処理の詳細なフローは図7で説明する。
【００２８】
ステップ605において蓄積中でない場合（つまり、蓄積予定である場合）には、映像配信できない位置を指定していることを視聴端末100へ通知し、配信処理を終了する(ステップ606)。映像配信部407は、現在配信時間502に従って配信バッファ408から映像データを配信先500に向けて映像配信する(ステップ610)。そして配信バッファ積載状況503が、満杯でなければステップ603に戻ってステップを繰り返し、満杯状態であれば少し待ってから再度配信積載状況503を確認する。(ステップ611)。尚、配信バッファ408は、判定処理等の処理時間を考慮し、十分に映像データで満たしておくことは必要である。また、蓄積中の映像ファイルに対して現在実際に蓄積を行っている位置より一定区間前までを映像配信可能範囲として、蓄積障害発生時においてもシームレス映像配信の滑らかさが損なわれないようにしてもよい。
【００２９】
図7は、配信候補が複数存在する場合の最適な映像ファイルを選択する判定処理を示したフローチャートであり、図6のステップ607の判定処理を詳細に示すフローである。映像配信部407は、配信管理テ−ブル406の配信リスト505の候補映像ファイル名508と配信優先度510を参照し、優先度の高い順に候補になっている映像ファイルを開き、全候補映像ファイルを開くまでステップ702からステップ703を繰り返す(ステップ700)。前回確認した映像ファイル内に埋め込まれているタイムコードあるいはタイムスタンプのような時間長情報から、現在の映像ファイル内に埋め込まれている時間長情報が増加しているかどうか確認する(ステップ701)。増加している場合には、配信優先度510を更新するが(ステップ703)、増加していない場合には、その候補映像ファイルに映像データを追加しているエンコーダ103に何らかの障害が発生していると考えられるため、対応する映像ファイルの配信優先度510の項目に、障害が発生していることを示すフラグを立てておく(ステップ702)。そして、この候補映像ファイルから映像データを読み出してはいけないこと（または読み出す優先順位が低いこと）を、映像配信部407が分かるようにしておく。ステップ701からステップ703までの処理を配信優先度順に全候補映像ファイルに対して行う。
【００３０】
映像配信部407は、全ての候補映像ファイルの蓄積状況を確認した後、優先度決定付加指標511を取得し（ステップ704）、優先度決定付加指標511を使用して再度配信優先度510を設定するかどうかを判断する(ステップ705)。ここで、配信優先度510を再度設定するか否かは、優先度決定付加指標511に、上述したように、蓄積状況に加えて、映像配信先までのネットワーク帯域を考慮するか、または蓄積状況に加えて、映像蓄積装置のデータアクセス速度を考慮するかに関する情報が含まれているかによる。ステップ705において、設定しない場合には、現状の配信優先度510で配信優先度が最も高い候補映像ファイルを選択する(ステップ707)。設定する場合には、その指定された指標に従って、配信優先度510を付け直してから(ステップ706)、配信優先度が最も高い候補映像ファイルを選択する(ステップ707)。そしてその選択した候補映像ファイルに対して、図6のステップ608以下を行う。尚、ステップ700において、繰り返し処理を最も高い配信優先度510を持つ候補映像ファイルが決定するまで行うといった処理も考えられる。
【００３１】
以上に述べてきたように、本実施形態に示す映像配信を行うことにより、一意に決定できる映像ファイルのみから構成された再生リストだけでなく、複数の候補映像ファイルが存在し、蓄積途中であるような映像ファイルが含まれる再生リストに従って、映像データをシームレスに配信することが可能となる。
【００３２】
図11は、映像再生装置1100の構成を示した図である。映像再生装置1100は、図1においてネットワーク106に接続されてシステムを構成する。
映像再生装置1100は、CPU1101、キーボード1102、マウス1103、バス1104、メモリ1105、ハードディスク1110、ネットワークインタフェース1111、ディスプレイ1112からなっている。バス1104は、複数のハードウェア間の通信を司る。ディスプレイ1112、キーボード1103、マウス1104は映像再生装置1100への入出力を司る。メモリ1105、ハードディスク1110、ネットワークインタフェース1111は、バス1104を介してCPU1101よりアクセスされる。メモリ1105は、映像再生管理部1106、再生管理テーブル1107、映像再生部1108、再生バッファ1109を含む。映像再生管理部1106は、視聴者からの映像再生開始要求を受けて、再生管理テーブル1107の設定や映像再生部1108への映像再生開始命令を出す。再生管理テーブル1107は、ディスプレイ1112に対して映像再生をするために必要な情報を管理するテーブルである。再生管理テーブル1107は、再生リスト300を元にして再生する映像ファイルのリストが構成される。映像再生部1108は、再生管理テーブル1107に従い、映像ファイルから映像データを読み出して、再生バッファ1109へ追加したり、再生バッファ1109に格納されている映像データを映像再生時間に従ってディスプレイ1112へ映像再生したりする。尚、再生バッファ1109のサイズは、視聴者により早送りや早戻し等の特殊な配信を要求される場合や配信タイミングを考慮し、可変であっても固定であっても構わない。
【００３３】
また、ディスプレイ1112に映像が再生表示される形態は、図9のような視聴画面が表示されると考えてよい。さらに、再生する映像ファイルは、映像再生装置1100上のハードディスク1110に格納されているものでも、他の蓄積装置内にあって、ネットワークインタフェース1111を経由して利用されるものでも構わない。再生リスト300も、映像再生装置1100上のハードディスク1110に格納されているものでも、他の蓄積装置内にあって、ネットワークインタフェース1111を経由して利用されるものでも構わない。
【００３４】
図12は、映像再生装置1100におけるメモリ1105内の再生管理テーブル1107の構成例を示した図である。再生管理テーブル1107は、映像再生部1108が参照する。再生管理テーブル1107は、総時間1200、現在再生時間1201、優先度決定付加指標1202、再生バッファ積載状況1203、現在位置1204、映像再生リスト1205からなり、映像再生リスト1205は、映像ファイル名1206、蓄積状況1207、候補映像ファイル名1208、時間長1209、再生優先度1210からなる。総時間1200は、再生リスト300内の映像ファイルをシームレスに再生した場合の映像の全体時間長を格納する。現在再生時間1201は、再生を開始してから現在までの再生時間を格納する。この現在再生時間1201は、映像再生部1108が再生バッファ1109にある映像データをディスプレイ1112上に表示する際、どのくらいの映像データをどのような間隔で再生したらよいか、その再生タイミングを計るために映像再生部1108が利用する。
【００３５】
優先度決定付加指標1202は、再生優先度1210を決定する際、（１）蓄積状況1207のみで再生優先度1210を決定するのか、（２）蓄積状況1207に加えて映像ファイルが蓄積されている装置のデータアクセス速度をも考慮に入れた判定をし、再生優先度1210を決定するのかを指定する指標を示す。上記（２）に示す蓄積状況1207に加えて映像ファイルが蓄積されている装置のデータアクセス速度も考慮に入れて再生優先度1210を決定すれば、蓄積状況1207の判定で耐障害性が高まるとともに、例えばデータアクセス速度の速い映像ファイルが選択されることになるので、レスポンスのよい快適な映像再生機能を提供できることになる。尚、ここでは優先度決定付加指標1202としてデータアクセス速度を取り上げたが、それに限定するものではない。
【００３６】
再生バッファ積載状況1203は、映像再生部1108により再生バッファ1109へ追加された映像データが現在再生バッファ全体のどの程度まで満たされているかを示す情報を格納する。つまり、再生バッファ積載状況1203は、再生バッファ1109に格納されているが、まだ再生されていない映像データの再生バッファ1109全体に占める割合を示す。現在位置1204は、再生バッファ1209にこれから追加しなければならない映像データの時間位置を格納し、映像再生部1108が参照する。
【００３７】
映像再生リスト1205は、再生リスト300をもとにどの映像ファイルをシームレス映像再生すればよいのかを示すリストである。映像再生リスト1205には、以下の項目が含まれる。映像ファイル名1206は、再生する映像ファイルのパス情報を格納する。蓄積状況1207は、各映像ファイルが既に映像再生装置1100のハードディスク1110または他の蓄積装置に蓄積済みなのか、蓄積中なのか、蓄積予定なのかの区別するフラグを格納する。候補映像ファイル名1208は、蓄積状況1207が蓄積中あるいは蓄積予定の場合の、映像再生装置1100のハードディスク1110または他の蓄積装置に蓄積される候補となる映像ファイルのパス情報を格納する。時間長1209は、各映像ファイルの映像の時間長を示す。再生優先度1210は、蓄積状況1207が蓄積中の場合、候補となっている複数の映像ファイルの中で、再生データとして利用する対象としての優先順位を示す。
【００３８】
図13、図14を用いて、再生管理テーブル1107（図12）の映像再生リスト1205に候補映像ファイルが含まれるような場合の映像再生処理と、障害発生時の候補映像ファイルの切り替え処理について説明する。
【００３９】
図13は、映像再生装置1100が、視聴者から映像再生開始要求を受けて映像を再生する流れを示すフローチャートである。映像再生装置1100の映像再生管理部1106は、映像再生開始要求を受けると(ステップ1300)、その要求とともに取得する再生リスト300を元に、映像再生リスト1205をはじめとする再生管理テーブル1107の項目に情報を入力して、再生管理テーブル1107を生成する(ステップ1301)。その後、映像再生管理部1106は、映像再生部1108へ映像再生を開始するよう命令を出す。そして再生停止要求を受けるまで、以下のステップを繰り返す(ステップ1302)。映像再生部1108は、再生管理テーブル1207の総時間1200、現在再生時間1201、優先度決定付加指標1202、再生バッファ積載状況1203、現在位置1204、映像再生リスト1205を参照し(ステップ1303)、再生バッファ1109へ追加する現在位置1204に該当する映像再生リスト1205内の映像ファイルの蓄積状況が蓄積済みかどうか確認する(ステップ1304)。蓄積済みである場合には、現在位置1204に該当する映像ファイルから再生バッファ積載状況1203に見合ったサイズだけ映像データを読み出して(ステップ1308)、その映像データを再生バッファ1109に追加する(ステップ1309)。ステップ1304において蓄積済みでない場合は、再生バッファ1109へ追加する現在位置1204に該当する映像再生リスト1205内の映像ファイルの蓄積状況が蓄積中かどうか確認する(ステップ1305)。蓄積中である場合には、複数の候補映像ファイルからどの映像ファイルの映像データを読み出すのかを判定し(ステップ1307)、現在位置1204に該当する映像ファイルから再生バッファ積載状況1203に見合ったサイズだけ映像データを読み出して(ステップ1308)、その映像データを再生バッファ1109に追加する(ステップ1309)。ここで、ステップ1307の判定処理の詳細は図14で説明する。ステップ1305において蓄積中でない場合（つまり、蓄積予定である場合）には、映像再生できない位置を指定していることを通知し、再生処理を終了する(ステップ1306)。映像再生部1106は、現在再生時間1201に従って再生バッファ1109から映像データをディスプレイ1112に向けて映像再生する(ステップ1310)。そして再生バッファ積載状況1203が、満杯でなければステップ1303に戻ってステップを繰り返し、満杯状態であれば少し待ってから再度再生バッファ積載状況1203を確認する。(ステップ1311)。尚、再生バッファ1109は、判定処理等の処理時間を考慮し、十分に映像データで満たしておくことは必要である。また、蓄積中の映像ファイルに対して現在実際に蓄積を行っている位置より一定区間前までを映像再生可能範囲として、蓄積障害発生時においてもシームレス映像再生の滑らかさが損なわれないようにしてもよい。
【００４０】
図14は、配信候補が複数存在する場合の最適な映像ファイルを選択する判定処理を示したフローチャートである。図13のステップ1307の判定処理フローである。映像再生部1108は、再生管理テ−ブル1107の映像再生リスト1205の候補映像ファイル名1208と再生優先度1210を参照し、優先度の高い順に候補になっている映像ファイルを開き、全候補映像ファイルを開くまでステップ1401からステップ1403を繰り返す(ステップ1400)。映像再生部1108は、前回確認した映像ファイル内に埋め込まれているタイムコードあるいはタイムスタンプのような時間長情報から、現在の映像ファイル内に埋め込まれている時間長情報が増加しているかどうか確認する(ステップ1401)。増加している場合には、再生優先度1210を更新するが(ステップ1403)、増加していない場合には、その候補映像ファイルに映像データを追加しているエンコーダ103に何らかの障害が発生していると考えられるため、再生優先度1210を障害が発生していることを示すフラグを立てておく(ステップ1402)。そして、この候補映像ファイルから映像データを読み出してはいけないこと（または読み出す優先順位が低いこと）を、映像再生部1108が分かるようにしておく。このステップ1401かステップ1403までのフローを再生優先度順に全候補映像ファイルに対して行う。
【００４１】
映像再生部1108は、全ての候補映像ファイルの蓄積状況を確認した後、優先度決定付加指標1202を取得し、優先度決定付加指標1202を使用して再度再生優先度1210を付け直すかどうかを判断する(ステップ1404)。付け直さない場合には、現状の再生優先度1210で再生優先度が最も高い候補映像ファイルを選択する(ステップ1407)。付け直す場合には、その指定された指標に従って、再生優先度1210を付け直してから(ステップ1406)、再生優先度が最も高い候補映像ファイルを選択する(ステップ1407)。そしてその選択した候補映像ファイルに対して、図13のステップ1308以下を行う。尚、ステップ1400において、繰り返し処理を最も高い再生優先度1210を持つ候補映像ファイルが決定するまで行うといった処理も考えられる。
【００４２】
以上に述べてきたように、本実施の形態に示すのシームレス映像再生を行うことにより、複数の候補映像ファイルが存在し、蓄積途中に障害が発生する可能性があるような映像が含まれる再生リストに従って、映像データをシームレスに再生することが可能となる。
【００４３】
尚、ここで示した例のみならず、判定処理の部分には様々な形態のものが考えられる。上記で説明したように映像ファイル内に含まれる時間長情報を確認するのではなく、映像ファイル長を確認する、映像ファイル自体の更新時間を確認する形態も考えられる。
【図面の簡単な説明】
【００４４】
【図１】本発明の一実施形態であるシームレス映像配信システムのシステム構成を示す図である。
【図２】シームレス映像配信システムにおける映像配信の流れを示した図である。
【図３】再生リスト300を示した図である。
【図４】図1におけるビデオサーバの構成を示した図である。
【図５】配信管理テーブルを示した図である。
【図６】視聴端末からビデオサーバが映像配信開始要求を受けてから配信するまでの流れを示したフローチャートである。
【図７】配信候補の映像ファイルが複数存在する場合の最適な映像ファイルを選択する判定処理を示したフローチャートである。
【図８】視聴端末100における映像コンテンツ選択画面を示した図である。
【図９】視聴端末100での視聴画面を示した図である。
【図１０】ビデオサーバ105と視聴端末100が共通装置であった場合の、ビデオサーバ105の構成図である。
【図１１】映像再生装置1100の構成を示した図である。
【図１２】再生管理テーブル1107を示した図である。
【図１３】映像再生装置1100が映像再生開始要求を受けてから再生するまでの流れを示したフローチャートである。
【図１４】再生候補の映像ファイルが複数存在する場合の最適な映像ファイルを選択する判定処理を示したフローチャートである。
【符号の説明】
【００４５】
100：視聴端末、101：WWWサーバ、102：映像情報管理サーバ、103：エンコーダ、104：映像ファイルサーバ、105：ビデオサーバ、106：ネットワーク、300：再生リスト、406：配信管理テーブル、505：配信リスト、1100：映像再生装置、1205：映像再生リスト
【図１】
2005286962.tif 000003
【図２】
2005286962.tif 000004
【図３】
2005286962.tif 000005
【図４】
2005286962.tif 000006
【図５】
2005286962.tif 000007
【図６】
2005286962.tif 000008
【図７】
2005286962.tif 000009
【図８】
2005286962.tif 000010
【図９】
2005286962.tif 000011
【図１０】
2005286962.tif 000012
【図１１】
2005286962.tif 000013
【図１２】
2005286962.tif 000014
【図１３】
2005286962.tif 000015
【図１４】
2005286962.tif 000016