(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024124197
(43)【公開日】2024-09-12
(54)【発明の名称】放送用ビデオサーバ、放送用ビデオサーバ制御プログラム及び放送用ビデオサーバ制御方法
(51)【国際特許分類】
H04N 21/231 20110101AFI20240905BHJP
H04N 21/24 20110101ALI20240905BHJP
H04N 5/765 20060101ALI20240905BHJP
G11B 20/10 20060101ALI20240905BHJP
G11B 27/00 20060101ALI20240905BHJP
【FI】
H04N21/231
H04N21/24
H04N5/765
G11B20/10 321Z
G11B27/00 D
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023032198
(22)【出願日】2023-03-02
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】永井 浩樹
【テーマコード(参考)】
5C164
5D044
5D110
【Fターム(参考)】
5C164FA04
5C164GA06
5C164SA21S
5C164SB36P
5C164SB41P
5C164YA25
5D044AB07
5D044BC01
5D044CC04
5D044DE03
5D044DE24
5D044DE25
5D044DE38
5D044DE39
5D044DE49
5D044DE61
5D044FG19
5D044GK19
5D044JJ02
5D110AA13
5D110AA29
5D110DA01
5D110DA04
5D110DA06
5D110DA11
(57)【要約】
【課題】ストレージ部の障害に起因する読み出し遅延が発生した場合であっても、速やかに再生処理を復旧可能にすること。
【課題を解決するための手段】実施形態に係るビデオサーバは、読み出し処理部と、判定部と、算出部と、制御部とを備える。読み出し処理部は、映像ファイルを保存するストレージ部から映像データを順次読み出す読み出し処理を実行する。判定部は、ストレージ部の障害に起因する読み出し処理の遅延の有無を判定する。算出部は、判定部が読み出し処理に遅延有と判定した場合、読み出し処理において遅延無の場合の再生予定位置を基準として再生復旧位置を算出する。制御部は、再生復旧位置に対応する映像データを用いて遅延後に再開する再生処理を制御する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
映像ファイルを保存するストレージ部から映像データを順次読み出す読み出し処理を実行する読み出し処理部と、
前記ストレージ部の障害に起因する前記読み出し処理の遅延の有無を判定する判定部と、
前記判定部が前記読み出し処理に遅延有と判定した場合、前記読み出し処理において遅延無の場合の再生予定位置を基準として再生復旧位置を算出する算出部と、
前記再生復旧位置に対応する前記映像データを用いて前記遅延後に再開する再生処理を制御する制御部と、
を備える放送用ビデオサーバ。
【請求項2】
前記算出部は、前記再生予定位置と予測される再生復旧時間とを用いて、前記再生復旧位置を算出する、
請求項1に記載の放送用ビデオサーバ。
【請求項3】
前記再生復旧時間は、再生処理において予測される予測読み出し時間、予測デコード処理時間、予測動作遅延時間に基づいて決定される、
請求項2に記載の放送用ビデオサーバ。
【請求項4】
コンピュータに、
映像ファイルを保存するストレージ部から映像データを順次読み出す読み出し処理を実行する読み出し処理機能と、
前記ストレージ部の障害に起因する前記読み出し処理の遅延の有無を判定する判定機能と、
前記読み出し処理に遅延有と判定した場合、前記読み出し処理において遅延無の場合の再生予定位置を基準として再生復旧位置を算出する算出機能と、
前記再生復旧位置に対応する前記映像データを用いて前記遅延後に再開する再生処理を制御する制御機能と、
を実現させる放送用ビデオサーバ制御プログラム。
【請求項5】
放送用ビデオサーバが、
映像ファイルを保存するストレージ部から映像データを順次読み出す読み出し処理を実行し、
前記ストレージ部の障害に起因する前記読み出し処理の遅延の有無を判定し、
前記読み出し処理に遅延有と判定した場合、前記読み出し処理において遅延無の場合の再生予定位置を基準として再生復旧位置を算出し、
前記再生復旧位置に対応する前記映像データを用いて前記遅延後に再開する再生処理を制御すること、
を備えた放送用ビデオサーバ制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、放送用ビデオサーバ、放送用ビデオサーバ制御プログラム及び放送用ビデオサーバ制御方法に関する。
【背景技術】
【0002】
放送用ビデオサーバは、ストレージ部に記録された映像ファイルを順次読み出してデコードし、映像信号を出力する放送業務向けのサーバである。この放送用ビデオサーバを用いた映像信号の再生処理の実行中に、ストレージ部に障害が発生し、映像ファイルのデータの読み出しが遅延する場合がある。係る場合には、映像ファイルのデータの読み出しのより後段の処理も遅れ、映像信号が遅れて出力されることになる。
【0003】
従来の放送用ビデオサーバにおいては、映像ファイルのデータ読み出しが遅延した場合、障害によって発生した遅れに対して対処する仕組みが存在しない。そのため、一度発生した遅延が継続した状態で再生処理が実行されることとなる。その結果、予定していた放送時間に映像データの最後の部分の再生処理を完了することができない。
【0004】
また、放送システムでは、障害が発生した場合でも放送を止めないように、通常、同じ構成を持つ二系統のシステムによって構成されている。このため、例えば一方の系統のストレージ部で障害が発生した場合であっても、障害の発生していない他方の系統によって再生処理を実行することで正常な放送が保たれる。しかしながら、障害の発生していない他方の系統でさらに障害が発生する多重障害を考慮すると、障害によって発生した遅れに対して対処する仕組みを設けることが望ましい。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ストレージ部の障害に起因する読み出し遅延が発生した場合であっても、速やかに再生処理を復旧可能な放送用ビデオサーバ、放送用ビデオサーバ制御プログラム及び放送用ビデオサーバ制御方法を提供することである。
【課題を解決するための手段】
【0007】
実施形態に係る放送用ビデオサーバは、読み出し処理部と、判定部と、算出部と、制御部とを備える。前記読み出し処理部は、映像ファイルを保存するストレージ部から映像データを順次読み出す読み出し処理を実行する。前記判定部は、前記ストレージ部の障害に起因する前記読み出し処理の遅延の有無を判定する。前記算出部は、前記判定部が前記読み出し処理に遅延有と判定した場合、前記読み出し処理において遅延無の場合の再生予定位置を基準として再生復旧位置を算出する。前記制御部は、前記再生復旧位置に対応する前記映像データを用いて前記遅延後に再開する再生処理を制御する。
【図面の簡単な説明】
【0008】
【
図1】実施形態に係る放送システムの概略を説明するための構成図である。
【
図2】メイン処理部の機能ブロック図の一例を示した図である。
【
図3】ストレージ部に障害は発生しておらず映像データの読み出し処理が遅延なく実行されている場合の、時間経過と再生位置との関係の一例を示した図である。
【
図4】ストレージ部に障害が発生し一旦再生不能になった後、一定の遅延時間経過後再生可能となった場合の、時間経過と再生位置との関係の一例を示した図である。
【
図5】ストレージ部に障害が場合した場合において、遅延復旧処理を含む再生処理における時間経過と再生位置との関係の一例を示した図である。
【
図6】遅延復旧処理を含む再生処理の流れの一例を示したフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を参照して、実施形態に係る放送用ビデオサーバ、放送用ビデオサーバ制御プログラム及び放送用ビデオサーバ制御方法について説明する。なお、以下の実施形態では、同一の参照符号を付した部分は同様の動作をおこなうものとして、重複する説明を適宜省略する。以下の実施形態は開示の技術を限定するものではない。そして、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0010】
図1は、実施形態に係る放送システムSの概略を説明するための構成図である。実施形態に係る放送システムSは、送出制御システム1、放送用ビデオサーバ2を備える。
【0011】
なお、実施形態に係る放送システムSの構成は、
図1の例に限定する趣旨ではない。例えば、ストレージ部22はネットワークを介して放送用ビデオサーバ2の外部に設ける構成であってもよい。
【0012】
送出制御システム1は、例えば番組進行表に従って、映像データの再生指示を放送用ビデオサーバ2へ送出する。
【0013】
放送用ビデオサーバ2は、送出制御システム1からの再生制御指示に応答して、ストレージ部22に保存された映像ファイルを順次読み出してデコードし、映像信号を出力する放送業務向けのサーバである。放送用ビデオサーバ2は、制御部20、再生部21、ストレージ部22を備える。
【0014】
ストレージ部22は、収録素材の映像ファイルを所定のフォーマット形式(例えば、MXFファイル(Material eXchange Format:デジタル映像・音声を扱うためのコンテナフォーマット)で保存する。
【0015】
制御部20は、送出制御システム1から再生処理の指示に応答して、再生部21に対して再生制御指示を送出する。
【0016】
再生部21は、制御部20からの再生制御指示に応答して、ストレージ部22に格納された収録素材の映像ファイルから映像信号を生成して出力する再生処理を実行する。ここで、再生処理は、ストレージ部22から映像ファイルのデータ(映像データ)を読み出す読み出し処理、読み出した映像データをデコードして映像信号を生成するデコード処理、デコード処理された映像データを映像信号として外部へ出力する出力処理を含む。
【0017】
また、再生部21は、ストレージ部22の障害により映像データの読み出し遅延が発生し、その後ストレージ部22の障害が解消した場合において、遅延復旧処理を含む再生処理を実行する。この遅延復旧処理を含む再生処理については後で詳しく説明する。
【0018】
具体的には、再生部21は、メイン処理部210、読み出し処理部212、第1バッファ部214、デコード処理部215、第2バッファ部216、出力処理部217を備える。
【0019】
メイン処理部210は、制御部20からの再生制御指示を受け、再生処理において、読み出し処理部212、デコード処理部215、出力処理部217を制御する。
【0020】
図2は、メイン処理部210の機能ブロック図の一例を示した図である。
図2に示した様に、メイン処理部210は、復旧制御部210a、エラー判定部210b、復旧位置算出部210cを備える。
【0021】
復旧制御部210aは、読み出し処理部212に対して、ストレージ部22に保存された映像データの読み出し位置(フレーム番号)を含む制御信号を送出する。
【0022】
すなわち、復旧制御部210aは、ストレージ部22に障害が発生した後ストレージ部22の障害が解消した場合において、ストレージ部22の障害が発生していないと想定した場合の位置を基準として、映像データの読み出し処理が実行されるように読み出し処理部212を制御する。
【0023】
また、復旧制御部210aは、ストレージ部22に障害が発生した後ストレージ部22の障害が解消した場合において、解消後の再生開始に用いる映像データの再生位置を、ストレージ部22に障害が発生していない場合の再生位置となるようにデコード処理部215、出力処理部217を制御する。
【0024】
エラー判定部210bは、ストレージ部22に障害が発生し映像データの読み出し遅延が発生した場合に、出力処理部217から映像信号が遅れて出力されるか否かを判定する。
【0025】
具体的には、エラー判定部210bは、デコード処理部215との通信により、第1バッファ部214のデータが枯渇したか否かを判定する。また、エラー判定部210bは、出力処理部217との通信により、第2バッファ部216のデータが枯渇したか、あるいは、枯渇する見込みか否かを判定する。エラー判定部210bは、第1バッファ部214のデータの枯渇の有無、第2バッファ部216のデータの枯渇の有無又は見込みに基づいて、出力処理部217から映像信号が遅れて出力されるか否かを判定する。
【0026】
復旧位置算出部210cは、出力処理部217から映像信号が遅れて出力される場合において、再生復旧位置を算出する。ここで、再生復旧位置とは、遅延復旧処理で用いられる読み出し処理を再開する再生位置(フレーム番号)である。
【0027】
図1に戻り、読み出し処理部212は、メイン処理部210から受け取った読み出し位置(フレーム番号)に基づいて、ストレージ部22に保存された映像データを読み出す読み出し処理を実行する。また、読み出し処理部212は、読み出した映像データを第1バッファ部214に書き込む書き込み処理を実行する。なお、読み出し処理部212によって一回に読み出され第1バッファ部214に書き込みされる映像データのサイズは、例えば1メガバイト~数十メガバイト程度である。
また、読み出し処理部212は、ストレージ部22から映像データを読み出しできた場合と読み出しできずエラーを検知した場合のそれぞれにおいて、読み出しの可否を示す情報をメイン処理部210へ送出する。
【0028】
第1バッファ部214は、例えば数秒~数十秒分の映像データを蓄積するリングバッファである。第1バッファ部214が蓄積するデータのうち、デコード処理部215によって読み出された映像データは順次削除される。また、読み出し処理部212によってストレージ部22から新たに読みだされた映像データは、第1バッファ部214の空き領域に順次書き込まれ蓄積される。
【0029】
デコード処理部215は、第1バッファ部214に映像データが蓄積されている場合、かつ、第2バッファ部216に空き領域がある場合、第1バッファ部214にから映像データを読み出し、デコードを実行してデコード後の映像データを生成する。デコード処理部215は、デコード後の映像データを第2バッファ部216に書き込む。
【0030】
また、デコード処理部215は、第1バッファ部214において蓄積された映像データが無くなった場合(第1バッファ部214が枯渇した場合)、第1バッファ部214が枯渇したことを示す情報をメイン処理部210へ送出する。
【0031】
第2バッファ部216は、数秒分の映像データを蓄積するリングバッファである。第2バッファ部216が蓄積するデータのうち、出力処理部217によって読み出された映像データは順次削除される。また、デコード処理部215によって新たに生成されたデコード後の映像データは、第2バッファ部216の空き領域に順次蓄積される。
【0032】
出力処理部217は、フレームタイミングに合わせて、第2バッファ部216から映像データを順番に読み出し、外部に映像信号として出力する。また、出力処理部217は、ストレージ部22に障害が発生した後ストレージ部22の障害が解消した場合において、メイン処理部210からの制御に従って、再生復旧位置に基づいて障害解消後の再生処理における映像データの出力を制御する。また、出力処理部217は、メイン処理部210からの要求に従って、第2バッファ部216に残っている映像データの時間(残り時間)を応答する。
【0033】
(遅延復旧処理)
次に、実施形態に係る放送用ビデオサーバ2の再生部21が実行する遅延復旧処理について説明する。ここで、遅延復旧処理とは、映像データの再生処理実行時において、ストレージ部22に障害が発生しデータの読み出し遅延が発生した場合において、その後ストレージ部22の障害が解消した場合に、解消後の再生開始に用いる映像データの再生位置(フレーム番号)を、ストレージ部22に障害が発生していない場合の再生位置とするものである。
【0034】
図3、
図4、
図5は、実施形態に係る遅延復旧処理を説明するための図である。なお、各図において、「再生位置」とは、放送用ビデオサーバ2の再生部21から出力される映像データ(映像信号)のフレーム番号を意味する。
【0035】
また、
図4、
図5における※は、本来再生されるべきフレーム番号の映像データが再生不能であり、放送用ビデオサーバ2の再生部21から新たな映像データが出力されないこと(すなわち、再生不能状態であること)を示している。
【0036】
図3は、ストレージ部22に障害は発生しておらず読み出し処理部212による読み出し処理が遅延なく実行されている場合の、時間経過(各時刻)と再生位置(フレーム番号)との関係を示した図である。
【0037】
図3に示した様に、ストレージ部22に障害が発生しなければ、時間経過と共に各フレーム番号に対応する映像が順番に(フレームの欠損が発生することなしに)再生される。
【0038】
図4は、ストレージ部22に障害が発生し一旦再生不能になった後、一定の遅延時間経過後再生可能となった場合の、時間経過と再生位置との関係を示した図である。なお、
図4は従来の再生処理に対応するものである。
【0039】
すなわち、
図4は、再生位置「1455」に対応する映像データを再生したタイミング(時刻「05:01:08:17」)でストレージ部22の障害が発生し、例えば読み出し処理部212による時刻「05:01:08:18」以降の読み出し処理が遅延した場合を示している。
【0040】
係る場合、ストレージ部22の障害により映像データの読み出しが遅延しても、第1バッファ部214、第2バッファ部216に映像データが残っている分はデコード処理、出力処理に影響せず、再生処理を継続することができる。
【0041】
一方、読み出し遅延が継続し、第1バッファ部214の映像データが枯渇すると、デコード処理が実行されず、やがて第2バッファ部216の映像データも枯渇し映像出力が停止することとなる。また、一定期間後、ストレージ部22の障害が解消し読み出し処理が再開したとしても、再生終了まで映像が遅延した状態のままとなる。
【0042】
係る場合、第2バッファ部216に既に格納されている再生位置「1456」から再生位置「1515」までの映像データについては、それぞれ時刻「05:01:08:18」から時刻「05:01:10:17」において出力処理部217から出力される。また、第1バッファ部214に既に格納されている再生位置「1516」から再生位置「1815」までの映像データについては、それぞれデコード処理部215によるデコード処理を経て、それぞれ時刻「05:01:10:18」から時刻「05:01:20:17」において出力処理部217から出力される。
【0043】
一方、時刻「05:01:08:18」以降においては、ストレージ部22において発生した障害により、読み出し処理部212による読み出し処理は実行されない。従って、ストレージ部22において発生した障害が解消するまで、第1バッファ部214に新たなデータが書き込みされることはない。このため、時刻「05:01:20:17」において再生位置「1815」の映像データが出力された以後は、第1バッファ部214のデータ、第2バッファ部216のデータが枯渇した状態となり、出力処理部217から新たな映像データが出力されない再生不能状態となる。
【0044】
また、
図4は、時刻「05:01:20:18」以後再生不能期間が継続し、時刻「05:01:50:16」でストレージ部22の障害が解消し、読み出し処理部212が読み出し処理を再生不能期間分だけ遅延して再開した場合を示している。係る場合、読み出し処理部212が読み出した映像データは、第1バッファ部214に順次格納される。第1バッファ部214に格納された映像データは、デコード処理部215によるデコード処理、第2バッファ部216における一次保存を経て、出力処理部217から順次出力される。
【0045】
すなわち、
図4においては、時刻「05:01:50:16」において再開された読み出し処理によって読み出された映像データ(再生位置「1816」)が、時刻「05:01:50:16」から時刻「05:01:50:20」までの期間においてデコード処理等を経て、時刻「05:01:50:21」において出力処理部217から再開された出力処理により出力される。
【0046】
また、
図4に示した例では、再生位置「1815」において再生不能になったタイミングから再生位置「1816」が出力処理によって出力されるまでの再生不能期間において、例えば再生位置「1815」に対応する映像が継続して表示される。
【0047】
図4と
図3とを比較した場合、再生不能期間経過後の時刻「05:01:50:21」においては、903フレーム分の遅延が発生した状態となっている。さらに、再生処理が再開された時刻「05:01:50:21」において、最後に再生された再生位置「1815」の映像データの次の再生位置「1816」の映像データが再生されている。このため、時刻「05:01:50:21」以後においては、903フレーム分の遅延を含んだままの再生処理となる。その結果、予定された放送時間内に番組等の最後の部分を放送することはできない。
【0048】
図5は、ストレージ部22に障害が場合した場合において、遅延復旧処理を含む再生処理における時間経過(各時刻)と再生位置との関係を示した図である。
【0049】
なお、
図5における「再生予定位置」はストレージ部22に障害が発生していない場合の再生位置(すなわち、
図3に示した再生位置)を示している。また、
図5においては、
図4と同様に、時刻「05:01:08:17」においてストレージ部22の障害が発生し、時刻「05:01:20:18」において再生不能となり、時刻「05:01:50:16」においてストレージ部22の障害が解消した場合を想定している。
【0050】
図5に示した様に、時刻「05:01:50:16」でストレージ部22の障害が解消し、読み出し処理部212による読み出し処理が可能となる。
【0051】
復旧位置算出部210cは、読み出し処理が再開された時刻「05:01:50:16」及び再生予定位置「2714」を基準として、再生処理において予測される再生復旧時間に基づいて再生復旧位置を算出する。ここで、再生復旧時間とは、再生処理において予測される予測読み出し時間、予測デコード処理時間、予測動作遅延時間の例えば合計値として算出することができる。また、再生復旧位置は、再生不能期間経過後の最初の再生位置となる。なお、
図5においては、再生復旧時間を6フレームとし、再生復旧位置として「2720フレーム」が算出された場合を例示している。また、再生復旧位置を出力する時刻(再生復旧時刻)は、読み出し処理が再開された時刻に再生復旧時間を加算した時刻として算出することができる。
図5においては、再生復旧時刻は「05:01:50:22」が算出された場合を例示している。
【0052】
時刻「05:01:50:16」において再開された読み出し処理によって読み出された再生位置「1816」から再生復旧位置の一つ前の位置「2719」までの映像データは不要のため、復旧制御部210aは読み出し処理212を制御し当該データを破棄する。
【0053】
復旧制御部210aは、再生復旧位置である「2720フレーム」の映像データから読み出す様に、読み出し処理部212を制御する。読み出し処理部212は、再生予定位置「2720」以後の映像データを順次読み出して第1バッファ部214に順次格納する。デコード処理部215は、第1バッファ部214に格納された映像データをデコードし、デコード後の映像データを第2バッファ部216に格納する。
【0054】
復旧制御部210aは、再生復旧時刻「05:01:50:22」より再生復旧位置である「2720フレーム」の映像データから出力されるように、出力処理部217を制御する。
【0055】
図5に示した遅延復旧処理により、再生予定位置を基準として、予め設定された再生復旧時間において再生復旧位置の出力準備をし、再生処理を復旧した際には、ストレージ部22の障害が発生していない場合の再生位置(再生復旧位置)から再生処理を再開する。従って、時刻「05:01:50:22」以後においては、再生不能期間に対応するフレーム分の遅延を含まない再生処理となる。その結果、予定された放送時間内に番組等の最後の部分を放送することができる。
【0056】
次に、遅延復旧処理を含む再生処理の流れについて説明する。
【0057】
図6は、遅延復旧処理を含む再生処理の流れを示したフローチャートである。通常の再生処理を実行している状態において、
図6に示した様に、メイン処理部210のエラー判定部210bは、読み出し処理部212からの読み出し可否情報により、読み出しのエラーが発生したか否かを判定する(ステップS1)。
【0058】
メイン処理部210のエラー判定部210bは、読み出しのエラーが発生していないと判定した場合には(ステップS1のNo)、第1バッファ部214が枯渇しているか否かを判定する(ステップS2)。
【0059】
メイン処理部210のエラー判定部210bは、第1バッファ部214が枯渇していると判定した場合には(ステップS2のYes)、第2バッファ部216に残っている映像データの時間(残り時間)と現在の再生予定位置を確認する(ステップS3)。
【0060】
メイン処理部210のエラー判定部210bは、第2バッファ部216の残り時間によって、第2バッファ部216が枯渇しているか、あるいは、枯渇する見込みかを判定する(ステップS4)。
【0061】
第2バッファ部216が枯渇しているか、あるいは、枯渇する見込みの場合は(ステップS4のYes)、今読み出され第1バッファ部214に蓄積されたデータは遅延して読み出されたデータ(遅延読み出しデータ)であり、第2バッファ部216の枯渇により一時的に再生不能状態となるため、遅延復旧処理に入る(ステップS5、ステップS6、ステップS7)。第2バッファ部216が枯渇する見込みかどうかは、第2バッファ部216の残り時間が、第1バッファ部214の映像データがデコード処理部215、第2バッファ部216、出力処理部217を経由して出力されるまでの時間(予測デコード処理時間と予測動作遅延時間の合計値)未満かどうかで判定する。
【0062】
メイン処理部210の復旧制御部210aは読み出し処理部212を制御し、遅延して読み出されたデータ(遅延読み出しデータ)を破棄する(ステップS5)。
【0063】
メイン処理部210の復旧位置算出部210cは、例えばステップS3で確認した現在の再生予定位置と再生復旧時間とに基づいて、再生復旧位置を算出する(ステップS6)。
【0064】
メイン処理部210の復旧制御部210aは、再生復旧位置を用いた読み出し処理を実行する(ステップS7)。
【0065】
メイン処理部210の復旧制御部210aは、再生復旧時刻より再生復旧位置から出力されるように、出力処理部217を制御する。出力処理部217は、指定された再生復旧時刻に第2バッファ部216にある再生復旧位置のデータを出力する(ステップS8)。
以降は、通常の再生処理を行う。
【0066】
また、メイン処理部210のエラー判定部210bは、第2バッファ部216が枯渇していない、枯渇する見込みでない場合は(ステップS4のNo)、再生不能状態とならないため、通常の再生処理を継続し、次の位置のデータの読み出し処理を行う(ステップ9)。
【0067】
また、メイン処理部210のエラー判定部210bは、第1バッファ部214が枯渇していないと判定した場合には(ステップS2のNo)、通常の再生処理を継続し、次の位置のデータの読み出し処理を行う(ステップS9)。
【0068】
メイン処理部210のエラー判定部210bは、ストレージ部22からの読み出しのエラーが発生したと判定した場合(ステップS1のYes)、第1バッファ部214が枯渇しているか否かを判定する(ステップS10)。
【0069】
メイン処理部210のエラー判定部210bは、第1バッファ部214が枯渇していると判定した場合には(ステップS10のYes)、第2バッファ部216に残っている映像データの時間(残り時間)と現在の再生予定位置を確認する(ステップS11)。
【0070】
メイン処理部210のエラー判定部210bは、第2バッファ部216の残り時間によって、第2バッファ部216が枯渇しているか、あるいは、枯渇する見込みかを判定する(ステップS12)。
【0071】
第2バッファ部216が枯渇しているか、あるいは、枯渇する見込みの場合は(ステップS12のYes)、第2バッファ部216の枯渇により再生不能状態となるため、遅延復旧処理に入る(ステップS13、ステップS14、ステップS15)。第2バッファ部216が枯渇する見込みかどうかは、第2バッファ部216の残り時間が、読み出し処理のリトライを行い映像データがストレージ部から読み出され、第1バッファ部214、デコード処理部215、第2バッファ部216、出力処理部217を経由して出力されるまでの時間(予測読み出し時間、予測デコード処理時間、予測動作遅延時間の合計値)未満かどうかで判定する。なお、この場合は、ストレージ部22からの読み出しのエラーが発生しているため、遅延して読み出されるデータ(遅延読み出しデータ)は無い。
【0072】
メイン処理部210の復旧位置算出部210cは、例えばステップS10で確認した現在の再生予定位置と再生復旧時間とに基づいて、再生復旧位置を算出する(ステップS13)。
【0073】
メイン処理部210の復旧制御部210aは、再生復旧位置を用いた読み出し処理を実行する(ステップS14)。
【0074】
メイン処理部210の復旧制御部210aは、再生復旧時刻より再生復旧位置から出力されるように、出力処理部217を制御する。出力処理部217は、指定された再生復旧時刻に第2バッファ部216にある再生復旧位置のデータを出力する(ステップS15)。以降は、通常の再生処理を行う。
【0075】
また、メイン処理部210のエラー判定部210bは、第2バッファ部216が枯渇していない、枯渇する見込みでない場合は(ステップS12のNo)、読み出しエラーとなった位置の読み出し処理をリトライしても再生不能状態とならないため、読み出し位置を移動せずに読み出し処理をリトライする(ステップS16)。
【0076】
また、メイン処理部210のエラー判定部210bは、第1バッファ部214が枯渇していないと判定した場合も(ステップS10のNo)、読み出しエラーとなった位置の読み出し処理をリトライしても再生不能状態とならないため、読み出し位置を移動せずに読み出し処理をリトライする(ステップS16)。
【0077】
なお、ストレージからの読み出しがエラーとなった場合(ステップ1のNo)に回数をカウントし、一定回数超過した場合には遅延復旧処理では対処することができず、リトライをやめ、ストレージ部22の障害を解消するための修理等が必要という判断を行っても良い。
【0078】
実施形態に係るビデオサーバは、読み出し処理部212と、判定部としてのエラー判定部210bと、算出部としての復旧位置算出部210cと、制御部としての復旧制御部210aとを備える。読み出し処理部212は、映像ファイルを保存するストレージ部22から映像データを順次読み出す読み出し処理を実行する。エラー判定部210bは、ストレージ部22の障害に起因する読み出し処理の遅延の有無を判定する。復旧位置算出部210cは、エラー判定部210bが読み出し処理に遅延有と判定した場合、読み出し処理において遅延無の場合の再生予定位置を基準として再生復旧位置を算出する。復旧制御部210aは、再生復旧位置に対応する映像データを用いて遅延後に再開する再生処理を制御する。
【0079】
以上述べた構成によれば、再生予定位置を基準として再生復旧位置の出力準備をし、再生処理を復旧した際には、ストレージ部22の障害が発生していない場合の再生復旧位置から再生処理を再開する。再生復旧位置以後においては、再生不能期間に対応するフレーム分の遅延を含まない再生処理となる。従って、予定された放送時間内に番組等の最後の部分を放送することができる。その結果、ストレージ部22の障害に起因する読み出し遅延が発生した場合であっても、速やかに再生処理を復旧可能にすることができる。
【0080】
また、復旧位置算出部210cは、再生予定位置と予測される再生復旧時間とを用いて、再生復旧位置を算出する。再生復旧時間は、再生処理において予測される予測読み出し時間、予測デコード処理時間、予測動作遅延時間に基づいて決定される、従って、障害が発生していない場合の再生復旧位置から再生処理を、読み出し処理時間、デコード処理時間、各種動作遅延時間を考慮して高い精度で再開することができる。
【0081】
また、ストレージ部の障害によりデータの読み出し遅延、失敗が発生した場合、またシステムの多重障害が発生した場合でも、その後ストレージ部の障害が解消された場合には、再生復旧位置を時間経過に併せた位置に位相することにより、映像出力の時間軸上の位置を、障害発生前の位置に復元することができる。
映像の出力位置を正常に出力している状態に合わせて再生することができる。結果、プログラムが途中で終了する等の事態を避けることができる。
【0082】
(変形例)
上記各実施形態に係る放送用ビデオサーバ2は、既存の放送用ビデオサーバに対して、上記遅延復旧機能を実現するプログラムをインストールし起動させることによっても実現することができる。
【0083】
なお、上記各実施形態において説明した伝送方法は、コンピュータによって実行可能なプログラムによっても実現することができる。すなわち、上記各実施形態において説明した伝送方法を実現するプログラムをメモリに格納し、コンピュータの処理回路により当該プログラムをメモリから読み出し、ソフトウエアとハードウエア資源とが協働することによって、上記各実施形態において説明した伝送システム又は伝送方法を構築することも可能である。
【0084】
以上、本発明のいくつかの実施形態(及び変形例)を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組み合わせを行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0085】
1 送出制御システム
2 放送用ビデオサーバ
20 制御部
21 再生部
22 ストレージ部
210 メイン処理部
212 読み出し処理部
214 第1バッファ部
215 デコード処理部
216 第2バッファ部
217 出力処理部
S 放送システム