(57)【要約】【課題】高品質のライブ配信を高い信頼性で実現可能な映像配信装置を提供する。【解決手段】複数のピクチャが時系列的に配列された映像情報を含む入力データストリームから、複数のパケットが時系列的に配列され第１クロック信号に同期した第１データストリームを生成する第１生成部と、入力データストリームから、複数のパケットが時系列的に配列され第１クロック信号とは異なる第２クロック信号に同期した第２データストリームを生成する第２生成部と、第１データストリームおよび第２データストリームを入力し、第１データストリーム、および、第２データストリームにそれぞれ含まれる時刻情報を有するパケット内容に基づき、第１データストリームまたは時刻差分に基づき時刻情報を補正された第２データストリームのいずれかを出力する切り替え部とを有する。【選択図】      図１
2014017607.tif 000002
【特許請求の範囲】
【請求項１】
複数のピクチャが時系列的に配列された映像情報を含む入力データストリームから、複数のパケットが時系列的に配列され第１クロック信号に同期した第１データストリームを生成する第１生成部と、
前記入力データストリームから、複数のパケットが時系列的に配列され前記第１クロック信号とは異なる第２クロック信号に同期した第２データストリームを生成する第２生成部と、
前記第１データストリームおよび前記第２データストリームを入力し、前記第１データストリーム、および、前記第２データストリームにそれぞれ含まれる時刻情報を有するパケット内容に基づき、前記第１データストリームまたは時刻差分に基づき前記時刻情報を補正された前記第２データストリームのいずれかを出力する切り替え部とを備えた映像配信装置。
【請求項２】
請求項１に記載の映像配信装置において、
前記切り替え部は、
前記第１データストリームに所定の遅延を与える第１バッファと、
前記第２データストリームに前記所定の遅延を与える第２バッファと、
前記第１データストリームに含まれる時刻情報と、前記第２データストリームに含まれる時刻情報とに基づいて、前記第１クロック信号に基づく時刻と前記第２クロック信号に基づく時刻との差分を前記時刻差分として検出する検出部と、
前記時刻差分に基づいて、前記第２バッファによって遅延された前記第２データストリームに含まれる時刻情報を、前記第１データストリームに含まれる時刻情報に同期するように補正する補正部と、
前記遅延された前記第１データストリームを前記伝送路に送出する第１状態と、前記補正された前記第２データストリームを前記伝送路に送出する第２状態とを切り替える切替スイッチと、
前記第１生成部が正常に動作している場合に、前記切替スイッチを前記第１状態に設定し、前記第１生成部に障害が発生した場合に、前記切替スイッチを前記第２状態に設定する切替制御部とを有する
ことを特徴とする映像配信装置。
【請求項３】
請求項２に記載の映像配信装置において、
前記第１生成部は、所定数のピクチャを含むピクチャの集合を単位とする符号化処理を実行し、
前記第１バッファと前記第２バッファは、前記所定数のピクチャが前記映像情報として入力される時間に相当する遅延を前記第１データストリームと前記第２データストリームとにそれぞれ与え、
前記切替制御部は、
前記第１生成部における障害が検出された場合に、前記第１バッファに保持された情報に基づいて、前記障害によって符号化処理およびパケット化処理が未完成となった前記ピクチャ集合の先頭のピクチャに当たる境界ピクチャを特定する特定部を有し、
前記境界ピクチャに対応して生成された第２データストリームのパケットが前記切替スイッチに渡されるタイミングで、前記切替スイッチの状態を、前記遅延された前記第１データストリームを前記伝送路に送出する第１状態から、前記補正された前記第２データストリームを前記伝送路に送出する第２状態に切り替える
ことを特徴とする映像配信装置。
【請求項４】
請求項３に記載の映像配信装置において、
前記切り替え部は、
前記第２データストリームに含まれる前記パケットのうち、前記境界ピクチャよりも前に入力されたピクチャに対応するパケットに含まれる、当該パケットが属するデータストリームを示すパケット識別子を、当該パケットが無効なデータストリームに属する旨を示す特定の値に置換し、前記境界ピクチャ以降に入力されたピクチャに対応するパケットに含まれる前記パケット識別子を前記第１データストリームを示す値に置換する第１置換部を有する
ことを特徴とする映像配信装置。
【請求項５】
請求項３に記載の映像配信装置において、
前記第１生成部が正常に動作している間は、前記第２生成部に対して、前記データストリームに含まれる各ピクチャに対して個々のピクチャを単位とする符号化処理を適用させ、前記第１生成部の動作が停止した場合に、前記第２生成部に対して、前記ピクチャの集合を単位とする符号化処理を適用させる制御を行う符号化制御部を備える
ことを特徴とする映像配信装置。
【請求項６】
請求項１に記載の映像配信装置において、
更に、
前記切り替え部による出力の切り替えに先立って、当該切り替えを実行する第１タイミングを指定する情報を含む切替予告を前記切り替え部に通知する予告部を備えた映像配信装置。
【請求項７】
複数のピクチャが時系列的に配列された映像情報を含む入力データストリームから、複数のパケットが時系列的に配列され第１クロック信号に同期した第１データストリームを生成し、
前記入力データストリームから、複数のパケットが時系列的に配列され前記第１クロック信号とは異なる第２クロック信号に同期した第２データストリームを生成し、
前記第１データストリームおよび前記第２データストリームを入力し、前記第１データストリーム、および、前記第２データストリームにそれぞれ含まれる時刻情報を有するパケット内容に基づき、前記第１データストリームまたは時刻差分に基づき前記時刻情報を補正された前記第２データストリームのいずれかを出力する
ことを特徴とする映像配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件開示は、映像を配信する映像配信装置及び映像配信方法に関する。
【背景技術】
【０００２】
ビデオ・オン・デマンドサービスなどのために、既存のコンテンツに含まれる映像を含むマルチメディアデータを連続的に配信するための技術として、例えば、マルチメディアデータの配信処理を行うサーバを二重化する技術が提案されている(特許文献１参照)。
【０００３】
特許文献１の技術は、稼動系サーバと待機系サーバとに夫々蓄積された圧縮ビデオデータを一定時間遅延させながら同期して伸長処理を行い、稼動系サーバの障害検知から上述した一定時間の遅延内に待機系サーバに切り替えることで、連続的な配信を達成している。
【０００４】
近年では、サーバ内に完成された形で蓄積されたマルチメディアコンテンツを配信するサービスに加えて、ライブカメラからの映像やコンサート会場で撮影された映像などを即時に配信するライブ配信サービスも提供されている。
【０００５】
このようなライブ配信サービスにおいて、連続的な配信を実現するための技術として、二重化された伝送経路を用いて配信する技術が提案されている(特許文献２参照)。
【０００６】
特許文献２の技術は、ライブ映像を符号化して得られたパケット列を２系統に分岐させ、各系統のパケット列を互いに異なる伝送経路に送出する。また、受信側でシーケンス番号に基づくパケットの選別を行うことで、２つの伝送経路のいずれかにおける異常発生にかかわらず、受信側の端末装置に全てのパケットを正常な順序で到達させる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−６０２９３号公報
【特許文献２】特開２００８−３０６５４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、特許文献１の技術は、二重化されたサーバの夫々に同一内容の圧縮ビデオデータが蓄積されていることを前提としている。このため、蓄積されたデータが十分に存在しないライブ配信サービスに適用することはできない。
【０００９】
一方、特許文献２の技術は、二重化された伝送路の一方に障害が発生した場合に、他方の伝送路経由のパケット列を受信させることにより、ライブ配信サービスを利用者に継続して提供することが可能である。しかしながら、特許文献２の技術においては、ライブ映像の符号化処理などを行う配信サーバ自体に障害が発生した場合には、ライブ配信サービスを継続することができなくなってしまう。また、特許文献２の技術を用いてライブ配信サービスの提供を受けるためには、二重化された伝送路を維持するためのコストを利用者が負担することが必要となる。
【００１０】
本件開示の装置は、高品質のライブ配信を高い信頼性で実現可能な映像配信装置及び映像配信方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
一つの観点による映像配信装置は、複数のピクチャが時系列的に配列された映像情報を含む入力データストリームから、複数のパケットが時系列的に配列され第１クロック信号に同期した第１データストリームを生成する第１生成部と、前記入力データストリームから、複数のパケットが時系列的に配列され前記第１クロック信号とは異なる第２クロック信号に同期した第２データストリームを生成する第２生成部と、前記第１データストリームおよび前記第２データストリームを入力し、前記第１データストリーム、および、前記第２データストリームにそれぞれ含まれる時刻情報を有するパケット内容に基づき、前記第１データストリームまたは時刻差分に基づき前記時刻情報を補正された前記第２データストリームのいずれかを出力する切り替え部とを有する。
【００１２】
また、別の観点による映像配信方法は、複数のピクチャが時系列的に配列された映像情報を含む入力データストリームから、複数のパケットが時系列的に配列され第１クロック信号に同期した第１データストリームを生成し、前記入力データストリームから、複数のパケットが時系列的に配列され前記第１クロック信号とは異なる第２クロック信号に同期した第２データストリームを生成し、前記第１データストリームおよび前記第２データストリームを入力し、前記第１データストリーム、および、前記第２データストリームにそれぞれ含まれる時刻情報を有するパケット内容に基づき、前記第１データストリームまたは時刻差分に基づき前記時刻情報を補正された前記第２データストリームのいずれかを出力する。
【発明の効果】
【００１３】
本件開示の映像配信装置及び映像配信方法によれば、高品質のライブ配信を高い信頼性で実現可能である。
【図面の簡単な説明】
【００１４】
【図１】映像配信装置の一実施形態を示す図である。
【図２】第１クロックによる時刻と第２クロックによる時刻との違いを説明する図である。
【図３】検出部及び補正部の一実施形態を示す図である。
【図４】映像配信装置のハードウェア構成例を示す図である。
【図５】トランスポートストリームの切り替えを説明する図である。
【図６】映像配信装置の別実施形態を示す図である。
【図７】障害通知パケットの例を示す図である。
【図８】障害の発生に応じた符号化処理の切り替えの一例を示す図である。
【図９】映像配信装置のハードウェア構成の別例を示す図である。
【図１０】切替ユニットのハードウェア構成例を示す図である。
【図１１】第２トランスポートストリームＴＳ２を調整する処理のフローチャートの例を示す図である。
【図１２】スイッチ制御処理のフローチャートの例を示す図である。
【図１３】映像配信装置の別実施形態を示す図である。
【図１４】切替予告に基づく符号化処理の切り替え例を示す図である。
【図１５】映像配信装置のハードウェア構成の別例を示す図である。
【図１６】予告切り替え処理のフローチャートの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面に基づいて、本発明の実施形態について詳細に説明する。
【００１６】
図１は、映像配信装置の一実施形態を示す。図１に例示した映像配信装置１０は、ビデオカメラ１によって取得された映像情報及び音声情報を含む入力データストリームＳｉｎから、複数のパケットが時系列的に配列されたデータストリームの一例であるトランスポートストリームを生成する。
【００１７】
また、映像配信装置１０は、生成したトランスポートストリームを伝送路Ｒｏｕｔに送出し、利用者の受信端末（図示せず）に配信する。
【００１８】
映像配信装置１０は、第１生成部１１と、第１クロック生成部１２と、第２生成部１３と、第２クロック生成部１４と、切り替え部１５とを含んでいる。また、切り替え部１５は、第１バッファ１５１と、第２バッファ１５２と、検出部１５３と、補正部１５４と、切替スイッチ１５５と、切替制御部１５６とを含んでいる。
【００１９】
図１に示した第１生成部１１および第１クロック生成部１２は、第１サーバ装置２０に含まれており、一方、第２生成部１３および第２クロック生成部１４は、上述した第１サーバ装置２０とは別の第２サーバ装置３０に含まれている。なお、第１クロック生成部１２は、第１クロック信号ＣＬＫ１を生成し、第２クロック生成部１４は、上述した第１クロック信号ＣＬＫ１とは異なる第２クロック信号ＣＬＫ２を生成する。第１クロック信号ＣＬＫ１は、第１サーバ装置２０のシステムタイムクロックとしても用いられ、同様に、第２クロック信号ＣＬＫ２は、第２サーバ装置３０のシステムタイムクロックとしても用いられる。
【００２０】
また、切り替え部１５は、第１サーバ装置２０及び第２サーバ装置３０とは別の独立した装置として設けてもよいし、また、例えば、図１に示すように、一部の構成要素を、第２サーバ装置３０の内部に設けてもよい。図１の例では、切り替え部１５に含まれる構成要素のうち、第２バッファ１５２と検出部１５３と補正部１５４とは、上述した第２サーバ装置３０に含まれている。一方、切り替え部１５に含まれる構成要素のうち、第１バッファ１５１と切り替えスイッチ１５５と切替制御部１５６とは、上述した第１サーバ装置２０および第２サーバ装置３０から独立した切り替えユニット４０に含まれている。なお、図１に示した切替ユニット４０は、第２サーバ装置３０及び第１サーバ装置２０に伝送路を介して接続されている。
【００２１】
図１に示した第１生成部１１は、第１クロック生成部１２から供給される第１クロック信号ＣＬＫ１に同期して符号化処理およびパケット化処理を実行することにより、上述した入力データストリームＳｉｎから第１トランスポートストリームＴＳ１を生成する。なお、入力データストリームＳｉｎに含まれる映像情報は、複数のピクチャが時系列的に配列された情報である。また、第１トランスポートストリームは、複数のパケットが時系列的に配列され、上述した第１クロック信号ＣＬＫ１に同期した第１データストリームの一例である。
【００２２】
また、第２生成部１３は、第２クロック生成部１４から供給される第２クロック信号ＣＬＫ２に同期して符号化処理およびパケット化処理を実行することにより、上述した入力データストリームＳｉｎから第２トランスポートストリームＴＳ２を生成する。なお、第２トランスポートストリームは、複数のパケットが時系列的に配列され、上述した第２クロック信号ＣＬＫ２に同期した第２データストリームの一例である。
【００２３】
第１トランスポートストリームＴＳ１及び第２トランスポートストリームＴＳ２それぞれに含まれる複数のパケットは固定のデータ長を有し、それぞれ後述する時刻情報を含んでいる。また、各パケットに含まれるデータは、入力データストリームＳｉｎの映像情報及び音声情報を符号化して得られる映像エレメンタリストリーム及び音声エレメンタリストリームを所定のデータ長ごとに分割することで得られる。
【００２４】
図１に示した切り替え部１５は、第１トランスポートストリームＴＳ１及び第２トランスポートストリームＴＳ２を入力する。即ち、切り替え部１５は、第１生成部１１、第２生成部１３から、それぞれ第１トランスポートストリームＴＳ１と第２トランスポートストリームＴＳ２とを受け取る。また、切り替え部１５は、第１トランスポートストリームＴＳ１と、後述するようにして時刻情報を補正された第２トランスポートストリームとのいずれかを出力する
図１に示した第１生成部１１および第２生成部１３は、同一の入力データストリームＳｉｎの入力を受けている。したがって、第１生成部１１および第２生成部１３が、入力データストリームＳｉｎの映像情報に含まれる各ピクチャをＩピクチャとして符号化すれば、各パケットに含まれる符号化データが互いに同一である２系統のトランスポートストリームを得ることができる。
【００２５】
しかしながら、上述したように、第１生成部１１と第２生成部１３とは、互いに異なる第１クロック信号ＣＬＫ１と第２クロック信号ＣＬＫ２とに従って動作する。このため、第１トランスポートストリームＴＳ１に含まれるプログラムクロックリファレンス(ＰＣＲ：Program Clock Reference)などの時刻情報と、第２トランスポートストリームＴＳ２に含まれる対応する時刻情報とは互いに同期していない。つまり、第１トランスポートストリームＴＳ１の各パケットに含まれる時刻情報と、第２トランスポートストリームＴＳ２の各パケットに含まれる時刻情報との間には時刻差分がある。
【００２６】
時刻情報が互いに同期していない２つのトランスポートストリームを配信中に切り替えると、２つのトランスポートストリームに含まれる情報が同一であっても、受信側の再生や復元に用いる時刻情報の一貫性が崩れるために、映像が途切れてしまうおそれがある。
【００２７】
つまり、第１トランスポートストリームＴＳ１と第２トランスポートストリームＴＳ２に含まれる時刻情報が互いに同期しないこと、即ち、時刻差分が存在することが、２台のサーバ装置を用いてトランスポートストリームの生成を二重化する際の課題であった。
【００２８】
本件開示の映像配信装置１０は、図１に示すような切り替え部１５を用いて第１トランスポートストリームＴＳ１と第２トランスポートストリームＴＳ２とを切り替えることにより、上述した課題の解決を図っている。
【００２９】
図１に示した切り替え部１５に含まれる第１バッファ１５１は、第１生成部１１から受け取った第１トランスポートストリームＴＳ１に所定の遅延を与え、遅延させた第１トランスポートストリームＴＳ１を切替スイッチ１５５に渡す。
【００３０】
また、第２バッファ１５２は、第２生成部１３で生成された第２トランスポートストリームＴＳ２に、上述した第１バッファ１５１と好ましくは同一の遅延を与え、遅延させた第２トランスポートストリームＴＳ２を補正部１５４に渡す。
【００３１】
検出部１５３は、第１トランスポートストリームＴＳ１に含まれる時刻情報と、第２トランスポートストリームＴＳ２に含まれる時刻情報とに基づいて、第１クロック生成部１２で示される時刻と第２クロック生成部１４で示される時刻と間の時刻差分を検出する。
【００３２】
補正部１５４は、検出部１５３で得た時刻差分に基づいて、第２バッファ１５２から渡された第２トランスポートストリームＴＳ２に含まれる時刻情報を補正することにより、第１生成部１１で得られた第１トランスポートストリームＴＳ１の時刻情報に同期させる。補正部１５４は、後述するように第２トランスポートストリームＴＳ２の時刻情報を補正することで、補正後の時刻情報を、上述した第１クロック信号ＣＬＫ１に基づいて設定された時刻情報と同等にする。
【００３３】
切替スイッチ１５５は、切替制御部１５６からの指示に応じて、遅延させられた第１トランスポートストリームＴＳ１を伝送路Ｒｏｕｔに送出する第１状態と、補正された第２トランスポートストリームＴＳ２を伝送路Ｒｏｕｔに送出する第２状態とを切り替える。
【００３４】
切替制御部１５６は、第１生成部１１が正常に動作している場合は、切替スイッチ１５５を第１状態に設定し、第１生成部１１に障害が発生した場合に、切替スイッチ１５５の状態を第２状態に切り替える。
【００３５】
上述したように、補正部１５４から切替スイッチ１５５に渡される第２トランスポートストリームＴＳ２の時刻情報と、第１バッファ１５１から切替スイッチ１５５に渡される第１トランスポートストリームＴＳ１の時刻情報とは互いに同期している。
【００３６】
したがって、障害の発生に応じて、切替スイッチ１５５が、上述した第１状態から第２状態に切り替わった際にも、伝送路Ｒｏｕｔに送出される第３トランスポートストリームの時刻情報の一貫性を維持することができる。これにより、第１トランスポートストリームＴＳ１から第２トランスポートストリームＴＳ２への切り替えの際に、時刻情報の一貫性が崩れてしまうことによる映像の瞬断などが発生することを防ぐことができる。
【００３７】
このように、本件開示の映像配信装置１０によれば、第１生成部１１と第２生成部１３とによってそれぞれ生成される２系統のトランスポートストリームＴＳ１，ＴＳ２について、時刻情報の一貫性を維持した切り替えを実現することができる。したがって、第１生成部１１における障害の発生した場合でも、伝送路Ｒｏｕｔを介して第３トランスポートストリームを受信する受信端末は、切れ目のない高品質の映像及び音声を享受することができる。
【００３８】
つまり、本件開示の映像配信装置１０によれば、高品質のライブ配信を高い信頼性で実現可能であるので、ライブ配信サービスの利用者に対して、品質の高いサービスを提供することができる。
【００３９】
次に、図１に示した検出部１５３により、第１クロック信号ＣＬＫ１に基づく時刻と第２クロック信号ＣＬＫ２に基づく時刻との間の時刻差分を検出する手法及び検出した時刻差分に基づいて時刻情報の補正を行う手法について、図２及び図３を参照して説明する。
【００４０】
図２は、第１クロック生成部１２による時刻と第２クロック生成部１４による時刻との違いを説明する図である。なお、図２において、符号ＣＬＫ１は、第１クロック生成部１２から供給されるクロック信号ＣＬＫ１の例を示し、符号ＣＬＫ２は、第２クロック生成部１４から供給されるクロック信号ＣＬＫ２の例を示している。また、符号ＮＵＭ１は、第１クロック生成部１２に同期した計数動作によって得られる計数値を示し、符号ＮＵＭ２は、第２クロック生成部１４に同期した計数動作によって得られる計数値を示している。
【００４１】
図１に示した第１サーバ装置２０と第２サーバ装置３０とが同等の性能を持っている場合に、クロック信号ＣＬＫ１の周期τ１とクロック信号ＣＬＫ２の周期τ２とはほぼ同等である。しかしながら、この場合でも、クロック信号ＣＬＫ１の周期τ１とクロック信号ＣＬＫ２の周期τ２とは厳密には一致しない。また、第１サーバ装置２０が動作を開始した時刻と第２サーバ装置３０が動作を開始した時刻とは、一致しない場合が多い。
【００４２】
このため、図２に示すように、計数値ＮＵＭ１は、時刻Ｔ０以降において、オフセット値Ｏｆ１から１ずつ増加していくのに対して、計数値ＮＵＭ２は、上述したオフセット値Ｏｆ１とは異なるオフセット値Ｏｆ２から１ずつ増加していく。
【００４３】
図１に示した第１生成部１１は、上述した第１クロック生成部１２に同期して第１トランスポートストリームＴＳ１を生成する過程で、５００ミリ秒ごとに、上述した計数値ＮＵＭ１をプログラムクロックリファレンスとして含むＰＣＲパケットを挿入する。以下の説明では、プログラムクロックリファレンスをＰＣＲ(Program Clock Reference)と略称する。また、第１生成部１３も、上述した第２クロック生成部１４に同期して第２トランスポートストリームＴＳ２を生成する過程で、同様に５００ミリ秒間隔で上述した計数値ＮＵＭ２をＰＣＲとして含むＰＣＲパケットを挿入する。なお、図２において、第１トランスポートストリームＴＳ１に挿入されたＰＣＲパケットの例を符号ＰＣＲ１で示し、第２トランスポートストリームＴＳ２に挿入されたＰＣＲパケットの例を符号ＰＣＲ２で示している。
【００４４】
図１に示した検出部１５３は、例えば、第１トランスポートストリームＴＳ１と第２トランスポートストリームＴＳ２とにそれぞれに含まれるＰＣＲとを、次のようにして照合する。そして、検出部１５３は、照合結果に基づいて、第１クロック生成部１２による時刻と第２クロック生成部１４による時刻との間の時刻差分を検出する。
【００４５】
検出部１５３は、第１トランスポートストリームＴＳ１からＰＣＲパケット(ＰＣＲ１)を検出した時刻と第２トランスポートストリームＴＳ２からＰＣＲパケット(ＰＣＲ２)を検出した時刻との差τｄを求める。時刻の差τｄは、図２に示すように、ＰＣＲパケット(ＰＣＲ１)が第１トランスポートストリームＴＳ１に挿入された時刻Ｔ１とＰＣＲパケット(ＰＣＲ２)が第２トランスポートストリームＴＳ２に挿入された時刻Ｔ２との差に相当する。
【００４６】
したがって、第１クロック信号ＣＬＫ１に基づく時刻Ｔ２を示す計数値ＮＵＭ１(Ｔ２)は、上述した時刻Ｔ１と時刻Ｔ２との差τｄと上述したＰＣＲパケット(ＰＣＲ１)にＰＣＲとして設定された値Ｐｃｒ１とを用いて、式(１)のように表すことができる。
ＮＵＭ１(Ｔ２)＝Ｐｃｒ１＋τｄ／τ１    ・・・（１）
そして、第１クロック信号ＣＬＫ１に基づく時刻と第２クロック信号ＣＬＫ２に基づく時刻との時刻差分ｄは、式(２)に示すように、上述した値ＮＵＭ１(Ｔ２)とＰＣＲパケット(ＰＣＲ２)にＰＣＲとして設定された値Ｐｃｒ２との差として得ることができる。
ｄ＝Ｐｃｒ２−ＮＵＭ１(Ｔ２)＝Ｐｃｒ２−Ｐｃｒ１−τｄ／τ１    ・・・（２）
図１に示した検出部１５３は、第１トランスポートストリームＴＳ１と第２トランスポートストリームＴＳ２とを監視することで、上述した式(２)を用いて時刻差分ｄを得るために必要な情報を取得することができる。つまり、検出部１５３は、第１トランスポートストリームＴＳ１および第２トランスポートストリームＴＳ２からそれぞれＰＣＲパケット(ＰＣＲ１)，(ＰＣＲ２)を検出し、これらを検出した時刻Ｔ１，Ｔ２を取得する。また、検出部１５３は、検出したＰＣＲパケット(ＰＣＲ１)，(ＰＣＲ２)から、それぞれにＰＣＲとして設定された値Ｐｃｒ１，Ｐｃｒ２を取得する。そして、検出部１５３は、取得した情報に上述した式(１)、(２)を適用することにより、上述した時刻差分ｄを求めればよい。
【００４７】
図３は、検出部１５３および補正部１５４の一実施形態を示している。なお、図３に示した構成要素のうち、図１に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【００４８】
図３に示したカウンタＣＮＴ２は、第２クロック生成部１４からのクロック信号ＣＬＫ２に同期した計数動作を行い、この計数動作で得られる計数値を、第２生成部１３及び検出部１５３に渡す。
【００４９】
図３に示した検出部１５３は、２つのＰＣＲ検出部５２ａ，５２ｂおよび２つのレジスタ５３ａ，５３ｂを含む照合回路５１と、推定部５４と、差分算出部５５とを含んでいる。ＰＣＲ検出部５２ａは、第１トランスポートストリームＴＳ１からＰＣＲパケットを検出し、検出したＰＣＲパケットに設定された値Ｐｃｒ１を推定部５４に渡す。同様に、ＰＣＲ検出部５２ｂは、第２トランスポートストリームＴＳ２からＰＣＲパケットを検出し、検出したＰＣＲパケットにＰＣＲとして設定された値Ｐｃｒ２を差分算出部５５に渡す。レジスタ５３ａは、ＰＣＲ検出部５２ａによるＰＣＲパケットの検出に応じて、上述したカウンタＣＮＴ２の計数値を第１計数値として保持する。レジスタ５３ｂは、ＰＣＲ検出部５２ｂによるＰＣＲパケットの検出に応じて、上述したカウンタＣＮＴ２の計数値を第２計数値として保持する。
【００５０】
ここで、第１トランスポートストリームＴＳ１のＰＣＲパケットが到来した時刻は、図２に示した時刻Ｔ１に相当し、第２トランスポートストリームＴＳ２のＰＣＲパケットが到来した時刻は、図２に示した時刻Ｔ２に相当する。つまり、第１計数値は、図２において、第２クロック信号ＣＬＫ２に基づく時刻Ｔ１を示す計数値ＮＵＭ２(Ｔ１)であり、第２計数値は、第２クロック信号ＣＬＫ２に基づく時刻Ｔ２を示す計数値ＮＵＭ２(Ｔ２)である。
【００５１】
図３に示した推定部５４は、レジスタ５３ａに保持された第１計数値と、レジスタ５３ｂに保持された第２計数値と、ＰＣＲ検出部５２ａから受け取った値Ｐｃｒ１とに基づき、第１クロック信号ＣＬＫ１に基づく時刻Ｔ２を示す計数値ＮＵＭ１(Ｔ２)を推定する。
【００５２】
推定部５４は、例えば、式(３)に示すように、第２計数値と第１計数値との差τｐを、上述した値Ｐｃｒ１に加算することで、第１クロック信号ＣＬＫ１に基づく時刻Ｔ２を示す計数値ＮＵＭ１(Ｔ２)を推定してもよい。
ＮＵＭ１(Ｔ２)＝Ｐｃｒ１＋τｐ        ・・・(３)
なお、第２計数値と第１計数値との差τｐは、図２に示した時刻Ｔ１と時刻Ｔ２との間におけるカウンタＣＮＴ２の計数値の増分であり、上述した時間τｄを第２クロック信号ＣＬＫ２の周期τ２で除算した値に相当する。上述したように、クロック信号ＣＬＫ１の周期τ１と上述した周期τ２とはほぼ一致するので、式(３)を用いて推定した値ＮＵＭ１(Ｔ２)と式(１)を用いて算出した値ＮＵＭ１(Ｔ２)とは同等である。
【００５３】
また、図３に示した照合回路５１は、２つのレジスタ５３ａ，５３ｂの代わりにカウンタを含んでもよい。このカウンタにより、ＰＣＲ検出部５２ａによるＰＣＲパケットの検出からＰＣＲ検出部５２ｂによるＰＣＲパケットの検出までの期間にわたってクロック信号ＣＬＫ２に同期した計数を行うことで、上述した第２時刻と第１時刻との差τｐを取得してもよい。
【００５４】
また、図３に示した差分算出部５５は、例えば、減算器であり、ＰＣＲ検出部５２ｂから受け取ったＰＣＲ値(Ｐｃｒ２)から、上述した推定部５４で得られた値ＮＵＭ１(Ｔ２)を減算する。差分算出部５５は、この減算結果を、第１クロック信号ＣＬＫ１に基づく時刻と第２クロック信号ＣＬＫ２に基づく時刻との時刻差分ｄとして、補正部１５４に渡す。
【００５５】
図３に示した補正部１５４は、時刻情報抽出部５６と、減算器５７と、ヘッダ書換部５８とを含んでいる。
【００５６】
時刻情報抽出部５６は、第２トランスポートストリームＴＳ２から、第２クロック信号ＣＬＫ２に基づいて設定された時刻情報を抽出する。時刻情報抽出部５６は、例えば、第２トランスポートストリームＴＳ２の各パケットに含まれるタイムスタンプとともに、第２トランスポートストリームＴＳ２に挿入されたＰＣＲパケットにＰＣＲとして設定された値を抽出すればよい。なお、時刻情報抽出部５６が抽出するタイムスタンプは、符号化データの復元処理順序を示すデコーディングタイムスタンプ及び復元されたピクチャの再生時刻を示すプレゼンテーションタイムスタンプを含んでいる。
【００５７】
減算器５７は、時刻情報抽出部５６によって抽出されたタイムスタンプおよびＰＣＲ値から、上述したようにして得られた時刻差分ｄを減算することにより、それぞれの補正後の値を求める。減算器５７は、例えば、プレゼンテーションタイムスタンプ(ＰＴＳ)、デコーディングタイムスタンプ(ＤＴＳ)及びＰＣＲ値(Ｐｃｒ)について、以下に示す式(４)〜(６)を適用することで対応する補正値ＰＴＳｃ、ＤＴＳｃ、Ｐｃｒｃを求める。
ＰＴＳｃ＝ＰＴＳ−ｄ      ・・・（４）
ＤＴＳｃ＝ＤＴＳ−ｄ      ・・・（５）
Ｐｃｒｃ＝Ｐｃｒ−ｄ      ・・・（６）
なお、上述したプレゼンテーションタイムスタンプ(ＰＴＳ)、デコーディングタイムスタンプ(ＤＴＳ)及びＰＣＲ値(Ｐｃｒ)は、それぞれトランスポートストリームに含まれる時刻情報の一例である。
【００５８】
また、図３に示したヘッダ書換部５８は、上述したようにして得られた補正値ＰＴＳｃ、ＤＴＳｃ、Ｐｃｒｃを用いて、各パケットのヘッダに含まれる対応する時刻情報を書き換える。つまり、ヘッダ書換部５８は、各パケットのヘッダに設定されたプレゼンテーションタイムスタンプ(ＰＴＳ)およびデコーディングタイムスタンプ(ＤＴＳ)を、対応する補正値ＰＴＳｃ、ＤＴＳｃに書き換える。また、ヘッダ書換部５８は、ＰＣＲパケットのヘッダに設定されたＰＣＲ値(Ｐｃｒ)を、同様に、対応する補正値Ｐｃｒｃに書き換える。
【００５９】
上述した補正値への書き換えを行うことにより、第２バッファ１５２によって遅延された第２トランスポートストリームＴＳ２に含まれる時刻情報を、図１に示した第１クロック生成部１２を基準とする値に補正することができる。したがって、補正部１５４による補正後の第２トランスポートストリームＴＳ２に含まれる時刻情報は、図１に示した第１クロック生成部１２を基準として設定された時刻情報と同等に扱うことができる。つまり、補正部１５４による補正後の第２トランスポートストリームＴＳ２は、第２バッファ１５２による遅延時間だけ前に第１生成部１１で生成された第１トランスポートストリームＴＳ１に同期している。
【００６０】
ここで、図１及び図３に示した第１バッファ１５１は、第２バッファ１５２と同等の遅延を第１トランスポートストリームＴＳ１に与える。したがって、第１バッファ１５１によって遅延させられた第１トランスポートストリームＴＳ１と、補正部１５４による補正後の第２トランスポートストリームＴＳ２とは、互いに同期している。
【００６１】
つまり、図３に示した検出部１５３と補正部１５４とにより、第１バッファ１５１によって遅延させられた第１トランスポートストリームＴＳ１と、第２バッファ１５２で遅延させられた第２トランスポートストリームＴＳ２との同期を実現することができる。したがって、切替スイッチ１５５により、伝送路Ｒｏｕｔから送出する第３トランスポートストリームを、第１トランスポートストリームＴＳ１から第２トランスポートストリームＴＳ２に切り替えた場合にも、切り替えの前後で時刻情報の一貫性を維持することができる。
【００６２】
また、図３に示したように、本件開示の映像配信装置１０に含まれる検出部１５３及び補正部１５４は、いずれも、小規模のハードウェアを第２サーバ装置に追加することによって実現可能である。
【００６３】
また、第１バッファ１５１及び第２バッファ１５２として望ましい記憶容量は、例えば、１５枚のピクチャに対応するトランスポートストリームを保持可能な容量である。１５枚のピクチャに対応するトランスポートストリームに対応する記憶容量は、例えば、１つの配信プログラムを蓄積するために必要とされる記憶容量などに比べて非常に小さい。したがって、第１バッファ１５１及び第２バッファ１５２もまた、小規模のハードウェアによって実現可能である。
【００６４】
また、図３に示した検出部１５３は、第１サーバ装置２０から第１クロック信号ＣＬＫ１に基づく時刻を示す情報を直接取得する代わりに、２系統のトランスポートストリームＴＳ１、ＴＳ２に夫々含まれるＰＣＲパケットを照合することで、時刻差分ｄを検出する。したがって、第１サーバ装置２０と第２サーバ装置３０との間に、例えば、第１クロック生成部１２からの第１クロック信号ＣＬＫ１に基づく時刻を示す情報を渡すために新規の信号線を設ける必要はない。
【００６５】
これにより、図３に示した検出部１５３及び補正部１５４によれば、第１サーバ装置２０と第２サーバ装置３０の独立性を維持しつつ、第２トランスポートストリームＴＳ２の時刻情報の補正を実現することができる。
【００６６】
図３に例示した検出部１５３及び補正部１５４を有する映像配信装置１０は、例えば、図４に示すようなハードウェア構成によって実現することが可能である。
【００６７】
図４は、映像配信装置１０のハードウェア構成例を示している。なお、図４に示した構成要素のうち、図１および図３に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【００６８】
図４に示した第１生成部１１は、動画像エンコーダ１１１と、音声エンコーダ１１２と、多重化装置１１３とを含んでいる。動画像エンコーダ１１１は、入力データストリームＳｉｎに含まれる映像情報ＶＳｉｎの符号化処理を行うことにより、映像エレメンタリストリームを生成し、生成した映像エレメンタリストリームを多重化装置１１３に渡す。また、音声エンコーダ１１２は、入力データストリームＳｉｎに含まれる音声情報ＡＳｉｎの符号化処理を行うことにより、音声エレメンタリストリームを生成し、生成した音声エレメンタリストリームを多重化装置１１３に渡す。また、多重化装置１１３は、映像エレメンタリストリームおよび音声エレメンタリストリームをそれぞれ固定長のパケットに分割してパケット化するとともに多重化することにより、第１トランスポートストリームＴＳ１を生成する。
【００６９】
また、図４に示した第１サーバ装置２０は、プロセッサ２１とシステムタイムクロック(ＳＴＣ：System Time Clock)生成部２２と、伝送路インタフェース(Ｉ／Ｆ)２３とを含んでいる。プロセッサ２１は、第１生成部１１及び伝送路インタフェース２３の動作を制御する。また、ＳＴＣ生成部２２は、図１に示した第１クロック生成部１２の一例であり、プロセッサ２１及び第１生成部１１に第１クロック信号ＣＬＫ１を供給する。また、伝送路インタフェース２３は、多重化装置１１３から第１トランスポートストリームＴＳ１を受け取り、伝送路Ｃ１を介して図１に示した第１バッファ１５１に送出する。
【００７０】
図４に示した第２生成部１３は、上述した第１生成部１１と同様に、動画像エンコーダ１３１と、音声エンコーダ１３２と、多重化装置１３３とを含んでいる。動画像エンコーダ１３１、音声エンコーダ１３２及び多重化装置１３３は、上述した動画像エンコーダ１１１、音声エンコーダ１１２および多重化装置１１３と同様にして、入力データストリームＳｉｎから第２トランスポートストリームＴＳ２を生成する。
【００７１】
また、図４に示した第２サーバ装置３０は、プロセッサ３１とＳＴＣ生成部３２と、２つの伝送路インタフェース(Ｉ／Ｆ)３３ａ，３３ｂとを含んでいる。プロセッサ３１は、第２生成部１３及び伝送路インタフェース３３ａ，３３ｂの動作を制御する。また、ＳＴＣ生成部３２は、図１に示した第２クロック生成部１４の一例であり、プロセッサ３１及び第２生成部１３に第２クロック信号ＣＬＫ２を供給する。
【００７２】
図４に示した第２サーバ装置３０において、伝送路インタフェース３３ａは、第２生成部１３で生成された第２トランスポートストリームＴＳ２を伝送路Ｃ２−１を介して第２バッファ１５２に渡す。また、伝送路インタフェース３３ｂは、補正部１５４によって時刻情報が補正された第２トランスポートＴＳ２を伝送路Ｃ２−２を介して図１に示した切り替えユニット４０に渡す。
【００７３】
また、図４に示した検出部１５３は、図３に示した照合回路５１とプロセッサ３１とを含んでいる。照合回路５１は、伝送路Ｃ１を介して受け取った第１トランスポートストリームＴＳ１に含まれるＰＣＲパケットと、伝送路Ｃ２−１を介して受け取った第２トランスポートストリームＴＳ２に含まれるＰＣＲパケットとについて、上述した照合処理を行う。この照合処理結果に基づいて、プロセッサ３１が、図３に示した推定部１６５及び差分算出部１６６の機能を果たすための処理を実行することにより、図３に示した検出部１５３と同等の機能を果たすことができる。
【００７４】
なお、図４に示した伝送路インタフェース２３から照合回路５１までの経路長は、伝送路インタフェース３３ａから照合回路５１までの経路長とほぼ同等とすることが望ましい。上述した２つの経路長を同等とすることにより、図２に示した第１時刻Ｔ１と第２時刻Ｔ２との差τｄを高い精度で取得することができるので、この差τｄに基づいてプロセッサ３１が式(２)を用いて算出する時刻差分ｄの精度を向上することができる。
【００７５】
また、図４に示した補正部１５４は、プロセッサ３１と、図３に示したヘッダ書換部５８とを含んでいる。プロセッサ３１は、第２バッファ１５２から出力される各パケットの時刻情報を抽出する処理を実行することにより、図３に示した時刻情報抽出部５６の機能を果たすことができる。また、プロセッサ３１は、各パケットから抽出した時刻情報から、上述した検出部１５３で得られた検出結果を減算する処理を実行することにより、図３に示した減算器５７の機能を果たし、補正後の時刻情報を得ることができる。また、プロセッサ３１が、上述したようにして取得した補正後の時刻情報をヘッダ書換部５８に渡し、各パケットのヘッダの書換処理を実行させることにより、図１に示した補正部１５４と同等の機能を果たすことができる。
【００７６】
また、ヘッダ書換部５８は、上述したようにしてヘッダ書換処理が完了したパケットを伝送路インタフェース３３ｂに渡す。また、伝送路インタフェース３３ｂは、上述した伝送路Ｃ２−１とは別の伝送路Ｃ２−２を介して、図１に示した切替スイッチ１５５に送出する。
【００７７】
このように、第２サーバ装置３０は、第１サーバ装置２０と同様の構成に、第２バッファ１５２と、伝送路インタフェース３３ａと、照合回路５１及びヘッダ書換部５８を付加し、また、プロセッサ３１のソフトウェアを変更することにより実現できる。
【００７８】
ここで、図３を用いて説明したように、照合回路５１は小規模の回路によって実現可能である。また、ヘッダ書換部５８も小規模のハードウェアあるいはプロセッサ３１のソフトウェアの変更によって実現が可能である。
【００７９】
したがって、本件開示の映像配信装置１０は、同等の構成を持つ２台のサーバ装置の一方に、上述した小規模のハードウェアを追加するとともに、追加した機能のためのソフトウェアを追加することによって実現することができる。このような変更は、比較的小さなコストで実現することが可能であるから、本件開示の映像配信装置１０によれば、高品質のライブ配信を高い信頼性で実現可能なライブ配信システムを低コストで提供することができる。
【００８０】
ところで、図１に示した伝送路Ｒｏｕｔを介して送出される現用系のトランスポートストリームは、映像情報ＶＳｉｎを、所定数のピクチャを含むピクチャの集合ごとに符号化して得られるエレメンタリストリームから生成することが望ましい。例えば、ＭＰＥＧ(Moving Picture Experts Group)方式における再生及び編集単位であるＧＯＰ(Group of Picture)は、上述したピクチャの集合の一例である。また、ピクチャの集合における各ピクチャの符号化処理には、例えば、ピクチャの集合における各ピクチャの配置に応じて、画面内予測符号化処理、双方向予測符号化処理および前方予測符号化処理を組み合わせて適用することが望ましい。なお、以下の説明において、ＧＯＰに属するピクチャの配列に応じて、適用する予測符号化処理の種類を示した情報をＧＯＰ構造と称する。
【００８１】
図１に示した第１生成部１１によって生成される第１トランスポートストリームＴＳ１は、第１生成部１１が正常に動作している限り、第３トランスポートストリームとして伝送路に送出される。したがって、第１生成部１１は、例えば、画面内予測符号化処理を適用するＩピクチャとともに、前方予測符号化処理を適用するＰピクチャと、双方向予測符号化処理を適用するＢピクチャとを含むＧＯＰ構造を適用して符号化処理を行うことが望ましい。なお、望ましいＧＯＰ構造の一例は、１５枚のピクチャにつき、「ＩＢＢＰＢＢＰＢＢＰＢＢＰＢＢ」のように、先頭のＩピクチャの後に、２枚のＢピクチャと１枚のＰピクチャとの組が反復するＧＯＰ構造である。
【００８２】
上述したＧＯＰ構造のように、ＢピクチャやＰピクチャを含むＧＯＰ構造を適用した符号化で得られた符号化データを受信側で正常に復元するためには、トランスポートストリームにおいてもＧＯＰ構造が維持されていることが望ましい。
【００８３】
このため、図１に示した切替制御部１５６は、第１トランスポートストリームＴＳ１におけるＧＯＰの区切りを考慮して、切替スイッチ１５５による第１トランスポートストリームＴＳ１から第２トランスポートストリームＴＳ２への切り替えを行うことが望ましい。
【００８４】
次に、第１生成部１１の障害発生に応じて第１トランスポートストリームＴＳ１から第２トランスポートストリームＴＳ２に切り替える際に、当該切り替えをＧＯＰの区切りにおいて実行する手法として好適な例を、図５を参照しつつ説明する。
【００８５】
図５は、トランスポートストリームの切り替えを説明する図である。なお、図５に示した構成要素のうち、図１に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【００８６】
ここで、第１生成部１１と第２生成部１３とが、上述したＧＯＰ構造を適用した符号化処理をそれぞれに実行すると、第１生成部１１と第２生成部１３とが、同一のピクチャをＧＯＰ内の異なる順番のピクチャとして符号化する可能性がある。この場合に、第１生成部１１で生成された第１トランスポートストリームＴＳ１と第２生成部１３で生成された第２トランスポートストリームＴＳ２とでは、ＧＯＰの区切りが一致しない可能性がある。
【００８７】
このため、以下では、第２生成部１３が、映像情報ＶＳｉｎに含まれる各ピクチャを、それぞれ独立して復号可能なＩピクチャとして符号化する場合について説明する。このように、映像情報ＶＳｉｎに含まれる各ピクチャをＩピクチャとして符号化した場合は、各ピクチャを１つのＧＯＰとして捉えることができる。したがって、第１トランスポートストリームＴＳ１と第２トランスポートストリームＴＳ２とのＧＯＰの区切りを一致させることができる。
【００８８】
図５は、映像情報ＶＳｉｎに含まれるｎ番目のピクチャに対応するトランスポートストリームのパケットを生成する過程で、第１生成部１１において障害が発生した場合を示している。なお、図５の例は、ｍ番目のＧＯＰ(ｍ)の先頭から４番目に位置するＰピクチャとして、第１生成部１１が上述したｎ番目のピクチャを符号化・パケット化する過程で障害が発生したことを示している。
【００８９】
図５の例において、第１バッファ１５１は、上述したｎ番目のピクチャに先立って第１生成部１１に入力された映像情報ＶＳｉｎに対応するトランスポートストリームＴＳ１のパケットＰ１(ｎ−１５)〜Ｐ１(ｎ−１)を保持している。ここで、例えば、図５に示したパケットＰ１(ｎ−１５)は、映像情報ＶＳｉｎのｎ−１５番目のピクチャを、第１生成部１１が符号化して得た映像符号化データの一部をそれぞれ含む複数の固定長パケットを示している。同様に、図５の例では、ＧＯＰ内の各ピクチャとトランスポートストリームに含まれるパケットとの対応関係の把握を容易にするために、複数の固定長パケットをまとめて示している。また、図５に示した第１トランスポートストリームＴＳ１，第２トランスポートストリームＴＳ２においては、音声エレメンタリストリームから生成されたパケットの図示は省略している。
【００９０】
第１バッファ１５１に保持されたパケットのうち、パケットＰ１(ｎ−１５)〜Ｐ１(ｎ−４)は、正常に符号化が完了したｍ−１番目のＧＯＰ(ｍ−１)に含まれるｎ−１５番目〜ｎ−１番目のピクチャに対応している。一方、パケットＰ１(ｎ−３)〜Ｐ１(ｎ−１)は、障害の発生によって、第１生成部１１による符号化が完了していないＧＯＰ(ｍ)に含まれるｎ−３番目〜ｎ−１番目のピクチャに対応する符号化データを含むパケットである。つまり、図５の例において、パケットＰ１(ｎ−３)は、上述した障害の発生によって未完成となったＧＯＰの先頭に当たる境界ピクチャの符号化データを含むパケットであり、第１トランスポートストリームＴＳ１におけるＧＯＰの区切りに対応している。
【００９１】
また、図５に示した第２バッファ１５２は、映像情報ＶＳｉｎのｎ−１５番目〜ｎ−１番目までの各ピクチャをＩピクチャとして符号化して得られた符号化データを含む第２トランスポートストリームＴＳ２のパケットＰ２(ｎ−１５)〜Ｐ２(ｎ−１)を保持している。
【００９２】
ここで、第２バッファ１５２に保持されているパケットのうち、パケットＰ２(ｎ−３)〜Ｐ２(ｎ−１)は、第１バッファ１５１に保持されたパケットＰ１(ｎ−３)〜Ｐ１(ｎ−１)と同様に、映像情報ＶＳｉｎに含まれるｎ−３番目〜ｎ−１番目のピクチャに対応している。
【００９３】
また、上述したように、補正部１５４は、第２バッファ１５２から出力される各パケットに含まれる時刻情報を、第１バッファ１５１から出力されるトランスポートストリームＴＳ１の各パケットに同期させる。
【００９４】
したがって、補正部１５４によって時刻情報が補正されたパケットＰ２(ｎ−３)〜Ｐ２(ｎ−１)は、第１バッファ１５１に保持されたパケットＰ１(ｎ−１５)〜Ｐ１(ｎ−４)にシームレスに連続するトランスポートストリームとして扱うことができる。
【００９５】
つまり、切替スイッチ１５５により、上述したパケットＰ１(ｎ−１５)〜Ｐ１(ｎ−４)を伝送路Ｒｏｕｔに送出した後に、パケットＰ２(ｎ−３)〜Ｐ２(ｎ−１)を送出すれば、時刻情報の一貫性とともにＧＯＰ構造を維持したトランスポートストリームが得られる。
【００９６】
上述したように、ＧＯＰの区切りを考慮して２系統のトランスポートストリームＴＳ１，ＴＳ２を切り替える手法は、例えば、図６に示すような映像配信装置１０によって実現することができる。
【００９７】
図６は、映像配信装置１０の別実施形態を示している。なお、図６に示した構成要素のうち、図１に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【００９８】
図６に示した第１サーバ装置２０は、図１に示した第１生成部１１及び第１クロック生成部１２に加えて、挿入部１６を含んでいる。挿入部１６は、第１生成部１１に障害が発生したときに、当該障害を通知する情報を含む障害通知パケットを、第１トランスポートストリームＴＳ１に挿入する。
【００９９】
図７は、障害通知パケットの例を示している。図７に示した障害通知パケットは、トランスポートストリームに含まれる他のパケットと同様に、固定長のペイロードと、所定のデータ長を持つヘッダとを含んでいる。
【０１００】
図７に示した障害通知パケットのヘッダにおいて、符号Ｓｙｎｃは同期ワードを示し、符号ＰＩＤはパケット識別子を示している。また、図７に示すように、ペイロードの一部に設けたペイロードヘッダＰＬｈに所定の値を設定することにより、当該パケットが障害通知パケットであることを示してもよい。
【０１０１】
なお、上述したパケット識別子は、当該パケットが属するトランスポートストリームを特定する情報である。また、パケット識別子として、特定の値「ＮＵＬＬ」を設定することにより、当該パケットが有効なトランスポートストリームに属していない旨を示すことができる。したがって、挿入部１６により、障害通知パケットのパケット識別子として上述した特定の値「ＮＵＬＬ」を設定することにより、この障害通知パケットが、復号処理の対象となる符号化データを含んでいないパケットである旨を受信端末に対して示してもよい。
【０１０２】
図６に示した挿入部１６を有する第１サーバ装置２０によれば、上述した障害通知パケットによって、第１サーバ装置２０において障害が発生したことを、第２サーバ装置３０あるいは切替ユニット４０に配置された切替制御部１５６に伝えることができる。したがって、第１サーバ装置２０における障害の発生を、切替制御部１５６に伝達するための信号線などを設けなくてもよい。
【０１０３】
また、図６に示した第２サーバ装置３０において、切替制御部１５６は、複写バッファ３４と、特定部１５７と、スイッチ制御部３６とを含んでいる。
【０１０４】
図６に示した複写バッファ３４は、第１生成部１１から第１バッファ１５１に渡される第１トランスポートストリームＴＳ１の複写を保持することにより、第１バッファ１５１と同等の情報を保持する。
【０１０５】
特定部１５７は、上述した第１トランスポートストリームＴＳ１から、第１サーバ装置２０の挿入部１６によって挿入された障害通知パケットを検出する。また、特定部１５７は、障害通知パケットを検出した場合に、当該障害通知パケットに先立って複写バッファ３４に保持された情報に基づいて、障害によって未完成となったＧＯＰの先頭のピクチャに当たる境界ピクチャを特定する。
【０１０６】
上述したように、複写バッファ３４に保持される情報は、第１バッファ１５１に保持される情報と同等である。したがって、特定部１５７は、複写バッファ３４を参照することにより、第１バッファ１５１を参照することで得られる情報と同等の情報を取得することができる。つまり、第２サーバ装置３０内に複写バッファ３４を設け、特定部１５７がこの複写バッファ３４を参照する構成は、特定部１５７に第１バッファ１５１内の情報を参照させる構成の一例である。したがって、特定部１５７は、障害通知パケットの検出に応じて、複写バッファ３４を参照することにより、境界ピクチャを特定するための情報を取得することができる。
【０１０７】
特定部１５７は、例えば、障害の直前に複写バッファ３４に保持されたパケットのプレゼンテーションタイムスタンプに基づいて、当該パケットが、未完成となったＧＯＰの先頭のピクチャから何番目のピクチャに対応するかを示す情報を取得してもよい。このようにして取得した情報は、障害発生時に処理中であったピクチャから未完成となったＧＯＰの先頭のピクチャまでのピクチャ数を示している。つまり、特定部１５７が、上述したパケットのプレゼンテーションスタンプに基づいて取得した情報で示されるピクチャ数は、上述した境界ピクチャを特定する情報の一例である。
【０１０８】
なお、特定部１５７は、上述したようにして得られたピクチャ数の代わりに、１つのＧＯＰに属するピクチャ数(例えば、１５枚)から上述したピクチャ数を差し引いた値を、境界ピクチャを特定する情報としてスイッチ制御部３６に渡してもよい。このようにして得られた値は、正常に処理が完了したＧＯＰに属するピクチャのうち、障害が発生した時点において第１バッファ１５１に未送出のまま残っているパケットに対応するピクチャの数を示している。以下では、特定部１５７が、正常に処理が完了したＧＯＰに属するピクチャのうち、未送出の第１トランスポートストリームＴＳ１に対応するピクチャ数をスイッチ制御部３６に渡す場合について説明する。
【０１０９】
図６に示したスイッチ制御部３６は、上述した特定部１５７から渡される情報に基づいて、境界ピクチャに対応して生成された第２トランスポートストリームＴＳ２のパケットが、切替スイッチ１５５に渡されるタイミングを特定する。また、スイッチ制御部３６は、特定したタイミングで、切替スイッチ１５５の状態を、第１状態から第２状態に切り替える制御を行う。ここで、第１状態は、切替スイッチ１５５が、遅延された第１トランスポートストリームＴＳ１を伝送路Ｒｏｕｔに送出する状態である。また、第２状態は、切替スイッチ１５５が、補正された第２トランスポートストリームＴＳ２を伝送路Ｒｏｕｔに送出する状態である。
【０１１０】
スイッチ制御部３６は、例えば、補正部１５４から出力されるパケットを監視し、障害が検出された後に、補正部１５４から第２トランスポートストリームＴＳ２のパケットとして符号化データが出力されたピクチャの数を計数する。また、スイッチ制御部３６は、上述した計数値が特定部１５７から渡された情報で示されるピクチャ数に一致したときに、当該パケットを、境界ピクチャに対応して生成された第２トランスポートストリームＴＳ２のパケットとして検出する。このようにして、境界ピクチャに対応して生成された第２トランスポートストリームＴＳ２のパケットを検出したタイミングで、スイッチ制御部３６は、切替スイッチ１５５の状態を、上述した第１状態から第２状態に切り替える。
【０１１１】
このような制御を切替制御部１５６が行うことにより、障害の発生タイミングにかかわらず、ＧＯＰの区切りにおいて、第１トランスポートストリームＴＳ１から第２トランスポートストリームＴＳ２への切り替えを実現できる。
【０１１２】
図５の例で説明すれば、上述した境界ピクチャに対応するパケットＰ２(ｎ−３)が、第２バッファ１５２から出力され、補正部１５４を介して切替スイッチ１５５に渡されるタイミングで、スイッチ制御部３６は、切替スイッチ１５５を第２状態に切り替える。このようにして第２状態に切り替えられた切替スイッチ１５５は、上述したパケットＰ２(ｎ−３)以降に第２バッファ１５２および補正部１５４を介して渡される各パケットを伝送路Ｒｏｕｔに送出する。なお、第２バッファ１５２から上述したパケットＰ２(ｎ−３)が出力されるまでは、切替スイッチ１５５の状態は第１状態を維持している。したがって、障害が発生した時点において第１バッファ１５１に未送出のまま残っているパケットＰ１(ｎ−１５)〜Ｐ１(ｎ−４)は、上述したタイミングの到来前に、切替スイッチ１５５を介して伝送路Ｒｏｕｔに送出済みである。
【０１１３】
このように、図６に示した切替制御部１５６を有する映像配信装置１０では、障害の発生タイミングから時間的に遡った位置にあるＧＯＰの区切りにおいて、第１トランスポートストリームＴＳ１から第２トランスポートストリームＴＳ２への切り替えが可能である。
【０１１４】
更に、図６に示すように、映像配信装置１０は、第１置換部１５８と符号化制御部１７とを含んでもよい。
【０１１５】
図６に示した第１置換部１５８は、上述した境界ピクチャよりも前に入力されたピクチャに対応して生成された第２トランスポートストリームＴＳ２のパケットについて、パケット識別子を上述した特定の値「ＮＵＬＬ」に置換する処理を行う。また、第１置換部１５８は、境界ピクチャ以降に入力されたピクチャに対応して生成された第２トランスポートストリームＴＳ２のパケットについて、パケット識別子を第一トランスポートストリームＴＳ１を示す値に置換する処理を行う。なお、第１置換部１５８は、第１トランスポートストリームＴＳ１を示すパケット識別子の値を、例えば、上述した複写バッファ３４に保持された各パケットのヘッダを参照することで取得してもよい。
【０１１６】
第２トランスポートストリームＴＳ２に属する各パケットのパケット識別子を、第１トランスポートストリームＴＳ１を示す値に置換することにより、当該パケットを、第１トランスポートストリームＴＳ１の一部として扱うことができる。
【０１１７】
図５の例を用いて説明すれば、例えば、補正部１５４の後に配置された第１置換部１５８は、第２バッファ１５２から出力されるパケットＰ２(ｎ−１５)〜Ｐ２(ｎ−４)のパケット識別子を値「ＮＵＬＬ」に置換する。これらのパケットのパケット識別子についてこのような置換処理を行うことにより、これらのパケットを無効化することができる。その後、第２バッファ１５２からパケットＰ２(ｎ−３)が出力されたときに、第１置換部１５８は、上述したパケットＰ２(ｎ−３)及び当該パケット以降に第２バッファ１５２から出力される各パケットについて、パケット識別子を第１トランスポートストリームＴＳ１に対応する値に置換する処理を行う。この置換処理により、時刻情報が補正されたトランスポートストリームＴＳ２の各パケットを、境界ピクチャの直前のピクチャに対応するパケットＰ１(ｎ−４)に続く第１トランスポートストリームＴＳ１のパケットとすることができる。
【０１１８】
このような第１置換部１５８を有する映像配信装置１０によれば、上述した境界ピクチャ以降に対応する第２トランスポートストリームＴＳ２のパケットを、あたかも第１トランスポートストリームのパケットであるかのように伝送路Ｒｏｕｔに送出できる。
【０１１９】
なお、上述した第１置換部１５８を有する映像配信装置１０によれば、境界ピクチャより前のピクチャに対応する第２トランスポートストリームＴＳ２の各パケットは無効化されている。つまり、境界ピクチャより前のピクチャに対応する第２トランスポートストリームＴＳ２の各パケットが伝送路Ｒｏｕｔに送出されても、受信端末における復号処理の対象となることはない。したがって、図６に示した切替スイッチ１５５を、例えば、第１置換部１５８の出力を伝送路Ｒｏｕｔに接続する経路と、第１バッファ１５１の出力を伝送路Ｒｏｕｔから切り離すスイッチとを用いて実現してもよい。
【０１２０】
また、図６に示した符号化制御部１７は、第１生成部１１が正常に動作している間は、第２生成部１３に対して、入力データストリームＳｉｎに含まれる各ピクチャに対して個々のピクチャを単位とする符号化処理を適用させる制御を行う。例えば、符号化制御部１７は、第１生成部１１が正常に動作している間は、第２生成部１３に対して、各ピクチャをＩピクチャとして符号化する旨を指示すればよい。一方、符号化制御部１７は、第１生成部１１の動作が停止した場合に、第２生成部１３に対して、上述したピクチャの集合を単位とする符号化処理を適用させる制御を行う。例えば、符号化制御部１７は、第１生成部１１の動作が停止した場合に、第１生成部１１が符号化処理に適用していたＧＯＰ構造を適用して符号化する旨を、第２生成部１３に対して指示すればよい。
【０１２１】
なお、符号化制御部１７は、例えば、第１生成部１１で生成されたトランスポートストリームＴＳ１を監視し、上述した障害通知パケットを検出したときに、第１生成部１１の動作が停止したと判断してもよい。また、符号化制御部１７は、第１生成部１１で生成されたトランスポートストリームＴＳ１を監視する過程で、第１生成部１１が入力データストリームＳｉｎに含まれる各ピクチャの符号化処理に適用していたＧＯＰ構造を示す情報を取得してもよい。
【０１２２】
上述した符号化制御部１７を有する映像配信装置１０において、第２生成部１３は、上述した障害通知パケットが到来するまでは、入力データストリームＳｉｎに含まれる各ピクチャをＩピクチャとして符号化している。したがって、障害通知パケットが到来したときに、符号化制御部１７からの指示に応じて、第２生成部１３は、即座に、上述した符号化制御部１７からの指示で指定されたＧＯＰ構造に従う符号化処理を開始することができる。
【０１２３】
符号化制御部１７が上述した制御を行うことにより、第２生成部１３は、例えば、図５に示したピクチャＧ(ｎ＋１)以降の各ピクチャを、図８に示すように、新たなＧＯＰに属する各ピクチャとして符号化する。
【０１２４】
図８は、障害の発生に応じた符号化処理の切り替えの一例を示している。なお、図８に示した要素のうち、図５に示した要素と同等のものについては同一の符号を付して示し、説明を省略する。
【０１２５】
図８は、ＧＯＰ(ｍ)の４番目のＰピクチャについての符号化が第１生成部１１で行われている途中で障害が発生した際に、第２生成部１３の符号化モードを切り替えた場合を示している。なお、図８において、第１生成部１１において障害が発生した時刻を、符号Ｔａで示した。また、符号Ｔｐは、第１生成部１１による符号化が完成している最後のＧＯＰ(ｍ−１)と未完成となったＧＯＰ(ｍ)との境界に当たる境界ピクチャが映像配信装置１０に入力された時刻を示している。
【０１２６】
図８において、符号ＴＳ１−ｄは、第１バッファ１５１によって遅延させられた第１トランスポートストリームＴＳ１を示している。また、符号ＴＳ２−ｄは、第２バッファ１５２によって遅延させられた第２トランスポートストリームＴＳ２を示している。また、符号ＴＳｏｕｔは、切り替えスイッチ１５５を介して伝送路Ｒｏｕｔに送出される第３トランスポートストリームを示している。なお、図８に示した第１トランスポートストリームＴＳ１，第２トランスポートストリームＴＳ２及び第３トランスポートストリームＴＳｏｕｔにおいては、音声エレメンタリストリームから生成されたパケットの図示は省略している。
【０１２７】
図８に示した例では、図６に示した符号化制御部１７からの指示に応じて、第２生成部１３は、時刻Ｔａ以降に入力される映像情報ＶＳｉｎに含まれる各ピクチャについて、第１生成部１１と同様のＧＯＰ構造を適用した符号化処理を開始する。なお、図８において、符号ＧＯＰ(ｍ＋１)は、第２生成部１３が上述したＧＯＰ構造を適用して生成した１ＧＯＰ分の第２トランスポートストリームＴＳ２を示している。
【０１２８】
ここで、上述した時刻Ｔａの時点で、図６に示した第２バッファ１５２は、未完成となったＧＯＰ(ｍ)に対応する４ピクチャ分の第２トランスポートストリームＴＳ２を保持している。第２バッファ１５２は、この４ピクチャ分の第２トランスポートストリームＴＳ２を１ＧＯＰ分遅延させ、時刻Ｔｓ〜時刻Ｔｑにおいて出力する。なお、時刻Ｔｓは、上述した時刻Ｔｐから１ＧＯＰ分の時間が経過した時刻であり、図６に示した切り替えスイッチ１５５が、遅延させられた第２トランスポートストリームＴＳ２−ｄの送出を開始する時刻である。また、時刻Ｔｑは、第１生成部１１において障害が発生した時刻Ｔａから１ＧＯＰ分の時間が経過した時刻である。
【０１２９】
また、上述した４ピクチャ分の第２トランスポートストリームＴＳ２に続いて、切り替えスイッチ１５５は、ＧＯＰ(ｍ＋１)に対応する第２トランスポートストリームＴＳ２を、トランスポートストリームＴＳｏｕｔとして伝送路Ｒｏｕｔに送出する。
【０１３０】
このように、符号化制御部１７が上述した符号化モードの切り替えを行うことで、伝送路Ｒｏｕｔに送出されるトランスポートストリームにおいて、Ｉピクチャが連続している期間を境界ピクチャから障害が発生したピクチャまでに対応する期間に限定できる。
【０１３１】
ここで、各ピクチャをＩピクチャとした予測符号化によって得られる符号化データは、ＢピクチャやＰピクチャを含むＧＯＰ構造を適用した予測符号化処理で得られる符号化データに比べて大きい場合が多い。このため、第２生成部１３は、各ピクチャをＩピクチャとして符号化する際に、予測符号化によって得られる符号化データに対して、高い圧縮率を適用した圧縮を施す場合が多く、このような圧縮処理の際に情報の一部が失われることがある。つまり、伝送路Ｒｏｕｔに送出されるトランスポートストリームの中で、各ピクチャをＩピクチャとして符号化して得られた符号化データを含むパケットが多くなると、受信側で復元される画像の品質が低下するおそれがある。したがって、上述したようにして、Ｉピクチャが連続している期間を境界ピクチャから障害が発生したピクチャまでに対応する期間に限定することにより、受信側で復元される画像の品質の低下を抑制することができる。
【０１３２】
つまり、図６に示した符号化制御部１７を有する本件開示の映像配信装置１０によれば、第１トランスポートストリームＴＳ１から第２トランスポートストリームＴＳ２への切替に伴う映像の品質低下を最小限に抑えることが可能である。
【０１３３】
なお、図６に示した映像配信装置１０において、上述した境界ピクチャから障害が発生したピクチャまでの各ピクチャに対応する第２トランスポートストリームＴＳ２が第２バッファ１５２から出力される期間は、１ＧＯＰ以内である。したがって、各ピクチャをＩピクチャとして符号化して得た符号化データを含むトランスポートストリームが伝送路Ｒｏｕｔに送出される期間は、最小で３０ミリ秒程度であり、最大でも１ＧＯＰに相当する０．５秒程度である。このため、本件開示の映像配信装置１０によるライブ配信を受信している利用者が、上述したトランスポートストリームの切替処理の過程で、配信される映像の画質の低下に気付くおそれは非常に小さい。
【０１３４】
図６に示した本件開示の映像配信装置１０は、例えば、図９及び図１０に示すようなハードウェア構成によって実現することができる。
【０１３５】
図９は、第１サーバ装置２０及び第２サーバ装置３０のハードウェア構成の別例を示している。なお、図９に示した構成要素のうち、図４及び図６に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【０１３６】
図９に示した第１サーバ装置２０は、パケット生成部２５を含んでいる。図９に示したパケット生成部２５は、プロセッサ２１からの指示に応じて、図７に例示した障害通知パケットを生成し、生成した障害通知パケットを伝送路インタフェース２３に渡す。つまり、プロセッサ２１が、例えば、第１サーバ装置２０に障害が発生したときに、パケット生成部２５に障害通知パケットの生成を指示することにより、図６に示した挿入部１６の機能を実現することができる。
【０１３７】
また、図９に示した第２サーバ装置３０は、上述した複写バッファ３４とともに、パケット監視部３５を含んでいる。図９に示したパケット監視部３５は、例えば、第１サーバ装置２０が伝送路Ｃ１に送出する第１トランスポートストリームＴＳ１の各パケットのヘッダ部を監視し、パケット識別子として上述した特定の値「ＮＵＬＬ」が設定された障害通知パケットを検出する。
【０１３８】
図９に示したプロセッサ３１は、パケット監視部３５から障害通知パケットについての検出結果を示す通知を受け、受け取った通知に応じて、後述するように、第２トランスポートストリームＴＳ２を調整する処理を実行する。プロセッサ３１は、例えば、第２サーバ装置３０に設けられたメモリ(図示せず)に格納された第１アプリケーションプログラムを実行することにより、第２トランスポートストリームＴＳ２を調整する処理を実行する。
【０１３９】
なお、第１アプリケーションプログラムは、図９に示した照合回路５１による照合結果に基づいて、第１クロック生成部１２に基づく時刻と第２クロック生成部１４に基づく時刻との時刻差分ｄを検出する処理を行うためのプログラムを含んでいる。また、第１アプリケーションプログラムは、ヘッダ書換部５８に対して、各パケットに含まれる時刻情報を、補正後の時刻情報に書き換える処理を実行させるためのプログラムを含んでいる。
【０１４０】
更に、第１アプリケーションプログラムは、障害通知パケットを検出した際に、第１トランスポートストリームＴＳ１におけるＧＯＰの区切りで第２トランスポートストリームＴＳ２への切り替えを行う処理のための切替制御プログラムを含んでいる。
【０１４１】
プロセッサ３１は、切替制御プログラムを実行する過程で、複写バッファ３４に保持された情報に基づいて、上述した境界ピクチャを特定する処理を行うことにより、図６に示した特定部１５７の機能を実現する。また、プロセッサ３１は、切替制御プログラムを実行する過程で、ヘッダ書換部５８に、上述したパケット識別子の置換処理を実行させることにより、図６に示した第１置換部１５８の機能を実現する。更に、プロセッサ３１は、切替制御プログラムを実行する過程で、第２生成部１３が映像情報ＶＳｉｎの符号化処理に適用するＧＯＰ構造を切り替える制御を行うことにより、図６に示した符号化制御部１７の機能を実現する。
【０１４２】
なお、図９においては図示を省略しているが、プロセッサ３１は、照合回路５１による照合結果に基づいて、上述した時刻の時刻差分ｄを検出する処理のためのプログラムを実行することで、図１に示した検出部１５３の機能を果たす。同様に、図９においては図示を省略しているが、プロセッサ３１は、上述した時刻情報の書換処理のためのプログラムに従って、ヘッダ書換部５８の動作を制御することで、図１に示した補正部１５４の機能を果たす。
【０１４３】
また、図１０は、切替ユニット４０のハードウェア構成の別例を示している。なお、図１０に示した構成要素のうち、図４に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【０１４４】
図１０に示した切替ユニット４０は、パケット監視部４２とプロセッサ４３とを有するユニット制御部４１を含んでいる。図１０に示したパケット監視部４２は、図９に示したパケット監視部３５と同様にして、第１サーバ装置２０が伝送路Ｃ１に送出した第１トランスポートストリームＴＳ１から、上述した障害通知パケットを検出する。また、プロセッサ４３は、パケット監視部４２から障害通知パケットを検出した旨の通知を受けたときに、後述するスイッチ制御処理を実行する。
【０１４５】
プロセッサ４３は、スイッチ制御処理を実行する過程で、第１バッファ１５１に保持された情報に基づいて、上述した境界ピクチャを特定する処理を行うことにより、図６に示した特定部１５７の機能を実現する。また、プロセッサ４３は、スイッチ制御処理を実行する過程で、境界ピクチャに対応するパケットが切替スイッチ１５５に渡されるタイミングで、切替スイッチ１５５を第２状態に切り替える処理を行うことにより、図６に示したスイッチ制御部３６の機能を実現する。
【０１４６】
図１０に示したように、切替ユニット４０は、図６に示した特定部１５７及びスイッチ制御部３６の機能を果たすユニット制御部４１を含んでいる。このユニット制御部４１によれば、第２サーバ装置３０から切替スイッチ１５５の動作を制御するための信号を受け取らなくても、境界ピクチャに対応するパケットが切替スイッチ１５５に渡されるタイミングでの切り替えを実現できる。
【０１４７】
つまり、第１サーバ装置２０及び第２サーバ装置３０と切替ユニット４０とを、上述した伝送路Ｃ１，Ｃ２−２を用いて接続することで、ＧＯＰの区切りで２系統のトランスポートストリームＴＳ１，ＴＳ２の切り替え可能な映像配信装置１０を実現できる。これにより、第１サーバ装置２０、第２サーバ装置３０及び切替ユニット４０それぞれのハードウェアとして独立性を高めることができるので、映像配信装置１０の保守・管理を容易にすることができる。
【０１４８】
図１１は、第２トランスポートストリームＴＳ２を調整する処理のフローチャートの一例を示している。図１１に示したステップＳ３０１〜ステップＳ３１５の各処理は、第２トランスポートストリームＴＳ２を調整する処理のための第１アプリケーションプログラムに含まれる処理の一例である。また、これらのステップＳ３０１〜ステップＳ３１５の各処理は、プロセッサ３１によって実行される。
【０１４９】
まず、プロセッサ３１は、パケット監視部３５からの通知に基づいて、障害通知パケットが検出されたか否かを判定する(ステップ３０１)。
【０１５０】
例えば、図９に示した第１生成部１１が正常に動作している場合のように、障害通知パケットが未検出である場合に、プロセッサ３１は、ステップ３０１の否定判定ルートに従ってステップ３０２に進む。
【０１５１】
ステップ３０２において、プロセッサ３１は、図２を用いて説明したようにして、図９に示した照合回路５１による照合結果に基づいて、第１クロック生成部１２に基づく時刻と第２クロック生成部１４に基づく時刻と間の時刻差分ｄを算出する。
【０１５２】
次いで、プロセッサ３１は、ステップ３０２で求めた時刻差分ｄと、上述した式(４)〜式(６)とに基づいて、各パケットに含まれる時刻情報を補正する(ステップ３０３)。プロセッサ３１は、ステップ３０３の処理において、各パケットのヘッダから時刻情報を抽出し、抽出した時刻情報と上述した式(４)〜(６)とに基づいて、各パケットに含まれる時刻情報の補正値を求める。また、プロセッサ３１は、求めた時刻情報をヘッダ書換部５８に渡して、各パケットのヘッダに含まれる時刻情報を書換させることで、時刻情報の補正を行う。
【０１５３】
また、プロセッサ３１は、ヘッダ書換部５８に対して、各パケットのヘッダに含まれる第２トランスポートストリームＴＳ２のパケット識別子を、上述した特定の値「ＮＵＬＬ」に置換する処理を実行させる(ステップ３０４)。なお、プロセッサ３１は、上述したステップ３０３の時刻情報の補正処理とステップ３０４のパケット識別子の置換処理とを同時に実行してもよいし、また、逆の順番で実行してもよい。
【０１５４】
次いで、プロセッサ３１は、映像配信装置１０による映像の配信が完了したか否かを判定する(ステップ３０５)。未配信の入力データストリームＳｉｎがある場合に、プロセッサ３１は、ステップ３０５の否定判定ルートに従ってステップ３０１の処理に戻る。
【０１５５】
したがって、第１生成部１１が正常に動作している間は、プロセッサ３１は、ステップ３０１〜ステップ３０５の処理を繰り返して実行する。プロセッサ３１は、ステップ３０１〜ステップ３０５の処理を繰り返して実行する過程で、第２トランスポートストリームＴＳ２に対する調整処理として、時刻情報を第１トランスポートストリームＴＳ１に同期させる処理とともに、無効化する処理を実行する。また、プロセッサ３１が、ステップ３０１〜ステップ３０５の処理を繰り返す過程で、映像の配信が完了した場合に、プロセッサ３１は、ステップ３０５の肯定判定ルートに従って、第２トランスポートストリームＴＳ２を調整する処理を終了する。
【０１５６】
一方、第１生成部１１に障害が発生した場合に、図９に示したパケット監視部３５は、障害通知パケットを検出した旨をプロセッサ３１に通知する。この通知を受け取ったときに、プロセッサ３１は、ステップ３０１の肯定判定ルートに進み、以下に述べる切替制御処理を実行する。なお、プロセッサ３１は、例えば、第１トランスポートストリームＴＳ１のパケットが所定の時間以上にわたって途切れた場合などに、第１サーバ装置２０に障害が発生したと判断し、ステップ３０１の肯定判定ルートの処理を実行してもよい。
【０１５７】
まず、プロセッサ３１は、第２生成部１３に対して、第１生成部１１による符号化処理で適用されていた符号化モードの適用を指示することで、符号化モードの切り替えを行う(ステップ３０６)。プロセッサ３１は、例えば、第１生成部１１が正常に動作している間に、図９に示した複写バッファ３４に保持されている情報に基づいて、第１生成部１１による符号化処理で適用されているＧＯＰ構造を含む符号化モードを示す情報を取得してもよい。また、プロセッサ３１は、このようにして取得した情報を第２生成部１３に含まれる動画像エンコーダ１３１(図４参照)に渡し、符号化モードの切り替えを指示すればよい。
【０１５８】
次いで、プロセッサ３１は、複写バッファ３４を参照することで、障害通知パケットの直前に生成された第１トランスポートストリームＴＳ１のパケットに対応するピクチャを示す情報を取得する(ステップ３０７)。次に、プロセッサ３１は、ステップ３０６の処理で取得した情報に基づいて、第１バッファ１５１に保持された第１トランスポートストリームＴＳ１に対応するピクチャのうち、境界ピクチャよりも前に入力されたピクチャの数ｎｐを算出する(ステップ３０８)。このようにして得られたピクチャ数ｎｐは、境界ピクチャを特定する情報の一例である。したがって、プロセッサ３１が、ステップ３０１の肯定判定ルートにおいて、ステップ３０７及びステップ３０８の処理を実行することは、図６に示した特定部１５７の実施形態の一つである。
【０１５９】
なお、プロセッサ３１は、上述したステップ３０６の処理と、ステップ３０７及びステップ３０８の処理とを、図１１に示した順番とは逆の順序で実行してもよい。
【０１６０】
次に、プロセッサ３１は、第１生成部１１に障害が発生した以降に第２バッファ１５２から出力された分の第２トランスポートストリームＴＳ２に対応するピクチャの数ｎｓを計数する(ステップ３０９)。例えば、プロセッサ３１は、第２バッファ１５２から出力されるパケットを監視し、１枚のピクチャに対応するパケットが第２バッファ１５２から出力されるごとに、上述したピクチャ数ｎｓに数値「１」を加算する処理を行うことで、計数処理を行ってもよい。
【０１６１】
次いで、プロセッサ３１は、ステップ３０９で得られたピクチャ数ｎｓとステップ３０８で得られたピクチャ数ｎｐとを比較する(ステップ３１０)。境界ピクチャの位置を示すピクチャ数ｎｐよりもピクチャ数ｎｓの方が小さい場合に、プロセッサ３１は、まだ境界ピクチャに対応するパケットは第２バッファ１５２から出力されていないと判断し、ステップ３１０の肯定判定ルートの処理を実行する。
【０１６２】
ステップ３１０の肯定判定ルートにおいて、プロセッサ３１は、上述したステップ３０４と同様にして、第２バッファ１５２から出力されたパケットのヘッダに含まれるパケット識別子を、特定の値「ＮＵＬＬ」に置換する処理を行う(ステップ３１１)。次いで、プロセッサ３１は、ステップ３０３と同様にして、第２バッファ１５２から出力されたパケットに含まれる時刻情報を補正する処理を行う(ステップ３１２)。なお、ステップ３１２の処理において、プロセッサ３１は、最後にステップ３０２の処理を実行した際に得られた時刻差分ｄの値に基づいて、各時刻情報に対応する補正値を求めればよい。次に、プロセッサ３１は、ステップ３１３において、映像の配信処理が完了したか否かを判定し、未配信の入力データストリームＳｉｎがある場合に、ステップ３１３の否定判定ルートに従ってステップ３０９の処理に戻る。
【０１６３】
したがって、第２バッファ１５２から上述した境界ピクチャより前にピクチャに対応するパケットが出力されている期間は、プロセッサ３１は、上述したステップ３０９〜ステップ３１３の処理を繰り返して実行する。このようにして、プロセッサ３１は、上述した境界ピクチャより前のピクチャに対応する第２トランスポートストリームＴＳ２に対して、時刻情報を第１トランスポートストリームＴＳ１に同期させる処理と無効化する処理とを含む調整処理を実行する。
【０１６４】
その後、ステップ３０９で得られたピクチャ数ｎｓが上述した境界ピクチャの位置を示すピクチャ数ｎｐ以上となったときに(ステップ３１０の否定判定)、プロセッサ３１は、第２バッファ１５２から境界ピクチャに対応するパケットが出力されたと判断する。
【０１６５】
ステップ３１０の否定判定ルートにおいて、プロセッサ３１は、ヘッダ書換部５８に対して、各パケットのヘッダに含まれるパケット識別子を、第１トランスポートストリームＴＳ１のパケット識別子に置換する処理を実行させる(ステップ３１４)。プロセッサ３１は、例えば、第１生成部１１が正常に動作している間に、上述した複写バッファ３４に保持されている情報に基づいて、第１トランスポートストリームＴＳ１のパケット識別子を取得してもよい。また、プロセッサ３１は、このようにして取得したパケット識別子をヘッダ書換部５８に渡すとともに、ヘッダ書換部５８に対して、パケット識別子の書き換えを指示すればよい。このようなパケット識別子の書き換え処理を行うことにより、書き換え処理後のパケットを、第１トランスポートストリームＴＳ１に属するパケットとすることが可能となる。
【０１６６】
次いで、プロセッサ３１は、上述したステップ３１２の処理を実行することにより、各パケットに含まれる時刻情報の補正を行う。次に、プロセッサ３１は、ステップ３１３において、映像の配信処理が完了したか否かを判定し、未配信の入力データストリームＳｉｎがある場合に、ステップ３１３の否定判定ルートに従ってステップ３０９の処理に戻り、以降の各パケットについての処理を行う。
【０１６７】
このようにして、プロセッサ３１は、第２バッファ１５２から出力される境界ピクチャ以降の各ピクチャに対応するパケットについて、上述したステップ３０９，ステップ３１０，ステップ３１４，ステップ３１２及びステップ３１３の処理を繰り返し実行する。この処理の過程で、プロセッサ３１は、境界ピクチャ以降のピクチャに対応する各パケットに対して、第１トランスポートストリームＴＳ１のパケットにする処理と、時刻情報を第１トランスポートストリームＴＳ１に同期させる処理とを含む調整処理を実行する。
【０１６８】
その後、入力データストリームＳｉｎの配信が終了したときに、プロセッサ３１は、ステップ３１３の肯定判定ルートに従って、第２トランスポートストリームＴＳ２の調整処理を終了する。
【０１６９】
図１１に示したフローチャートでは、プロセッサ３１は、ステップ３１０の判定結果に応じて、ステップ３１１あるいはステップ３１４の処理を実行する。このように、プロセッサ３１が、境界ピクチャの前後で、ヘッダ書き換え後の各パケットを無効化する処理と、各パケットを第１トランスポートストリームＴＳ１の一部とする処理とを切り替えて実行することは、図６に示した第１置換部１５８の実施形態の一つである。また、プロセッサ３１が、ステップ３０１の肯定判定ルートと否定判定ルートとにおいて、それぞれ時刻情報を補正する処理としてステップ３０３及びステップ３１２を実行することは、図１に示した補正部１５４の実施形態の一つである。なお、ステップ３０１の否定判定ルートにおいて、ステップ３１２の時刻情報を補正する処理を、例えば、ステップ３１０の処理の前に実行することにより、時刻情報の補正処理とパケット識別子の置換処理の順序を入れ替えて実行してもよい。
【０１７０】
このような処理をプロセッサ３１が実行することにより、第２トランスポートストリームＴＳ２のうち、境界ピクチャ以降の各ピクチャに対応する部分を、第１トランスポートストリームＴＳ１の一部として切替ユニット４０に渡すことができる。
【０１７１】
図１２は、スイッチ制御処理のフローチャートの例を示している。図１２に示したステップＳ３２１〜ステップＳ３２６の各処理は、スイッチ制御処理の一例である。また、これらのステップＳ３２１〜ステップＳ３２６の各処理は、図１０に示したプロセッサ４３によって実行される。
【０１７２】
まず、プロセッサ４３は、図１０に示したパケット監視部４２からの通知に基づいて、第１トランスポートストリームＴＳ１から障害通知パケットが検出されたか否かを判定する(ステップ３２１)。
【０１７３】
例えば、図９に示した第１生成部１１が正常に動作している場合のように、障害通知パケットが未検出である場合に、プロセッサ４３は、ステップ３２１の否定判定ルートに従って、ステップ３２１の処理を繰り返す。一方、パケット監視部４２から障害通知パケットを検出した旨が通知されたときに、プロセッサ４３は、ステップ３２１の肯定判定ルートに進み、切替スイッチ１５５の状態を切り替える処理を実行する。
【０１７４】
ステップ３２１の肯定判定ルートにおいて、プロセッサ４３は、まず、図１０に示した第１バッファ１５１を参照し、障害通知パケットの直前に生成された第１トランスポートストリームＴＳ１のパケットに対応するピクチャを示す情報を取得する(ステップ３２２)。
【０１７５】
次いで、プロセッサ４３は、ステップ３２２の処理で取得した情報に基づいて、第１バッファ１５１に保持された第１トランスポートストリームＴＳ１に対応するピクチャのうち、境界ピクチャよりも前に入力されたピクチャの数ｎｐを算出する(ステップ３２３)。
【０１７６】
次に、プロセッサ４３は、第１生成部１１に障害が発生した以降に第１バッファ１５１から出力された分の第１トランスポートストリームＴＳ１に対応するピクチャの数ｎｓを計数する(ステップ３２４)。例えば、プロセッサ４３は、第１バッファ１５１から出力されるパケットを監視し、１枚のピクチャに対応するパケットが第１バッファ１５１から出力されるごとに、上述したピクチャ数ｎｓに数値「１」を加算する処理を行うことで、計数処理を行ってもよい。
【０１７７】
次いで、プロセッサ３１は、ステップ３２４で得られたピクチャ数ｎｓとステップ３２３で得られたピクチャ数ｎｐとを比較する(ステップ３２５)。境界ピクチャの位置を示すピクチャ数ｎｐよりもピクチャ数ｎｓが小さい場合に、プロセッサ４３は、ステップ３２５の否定判定ルートに従ってステップ３２４の処理に戻り、ステップ３２４及びステップ３２５の処理を繰り返す。
【０１７８】
その後、第１バッファ１５１から出力されたピクチャ数ｎｓが、境界ピクチャの位置を示すピクチャ数ｎｐに到達したときに(ステップ３２５の肯定判定)、プロセッサ４３は、ステップ３２６の処理に進む。
【０１７９】
ステップ３２６において、プロセッサ４３は、切替スイッチ１５５を、第１バッファ１５１の出力を選択する第１状態から、図１０に示した伝送路Ｃ２−２経由の第２トランスポートストリームＴＳ２を選択する第２状態に切り替え、切替制御処理を終了する。
【０１８０】
このような切替制御処理をプロセッサ４３が実行することにより、第１トランスポートストリームＴＳ１におけるＧＯＰの区切りで、図１１を用いて説明した調整処理が施された第２トランスポートストリームＴＳ２への切り替えを実現することができる。つまり、図１０に示したプロセッサ４３が、ステップ３２１〜ステップ３２６の処理を実行することにより、図６に示した切替制御部１５７の機能を実現することができる。
【０１８１】
また、この切り替え処理以降は、切替スイッチ１５５は、伝送路Ｃ２−２経由の第２トランスポートストリームＴＳ２を選択する第２状態を維持し、上述した調整処理が施された第２トランスポートストリームＴＳ２の各パケットを伝送路Ｒｏｕｔに送出する。
【０１８２】
このようにして伝送路Ｒｏｕｔに送出された第２トランスポートストリームＴＳ２の各パケットは、第１トランスポートストリームＴＳ１に同期した時刻情報と第１トランスポートストリームＴＳ１と同一のパケット識別子を含んでいる。したがって、これらの各パケットを受信した受信端末は、上述した切り替え前に送出された第１トランスポートストリームＴＳ１の一部として復元・再生することが可能であるので、遅滞や映像の脱落などが発生することはない。
【０１８３】
このように、図９及び図１０に示したハードウェア構成を有する映像配信装置１０によれば、第１生成部１１を含む第１サーバ装置２０に障害が発生した場合でも、上述した切替処理により、高い信頼性で、高品質のライブ映像の配信サービスを継続することができる。
【０１８４】
ところで、ライブ映像の配信サービスを継続的に提供していくためには、映像配信装置１０に含まれる第１サーバ装置２０及び第２サーバ装置３０の状態を定期的に点検することが望ましい。また、予備系として動作している第２サーバ装置３０についての点検についても、現用系として動作している第１サーバ装置２０についての点検も、ライブ映像の配信サービスを継続しながら実施することが望ましい。
【０１８５】
次に、ライブ映像の配信サービスを継続しながら、第１サーバ装置２０の定期点検などを実施可能とする方法について説明する。
【０１８６】
図１３は、映像配信装置１０の別実施形態を示している。なお、図１３に示した構成要素のうち、図１に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【０１８７】
図１３に示した第１サーバ装置２０は、第１生成部１１から第２生成部１３への現用系の切り替えに先立って、当該切り替えを実行する第１タイミングを指定する情報を含む切替予告を切り替え部１５に通知する予告部１８を含んでいる。予告部１８は、例えば、定期点検によって第１サーバ装置２０を停止させる時刻を示すスケジュール情報などに基づいて切替予告を生成し、上述した時刻に対応する第１タイミングの前に、生成した切替予告を切り替え部１５に通知すればよい。
【０１８８】
予告部１８は、例えば、第１生成部１１において採用中の符号化モードにおいて１つのＧＯＰに含まれるピクチャ数を含む制御パケットを切替予告として生成してもよい。また、予告部１８は、第１生成部１１によって最後に符号化されるＧＯＰの先頭に対応するパケットの直前に、上述したようにして生成した制御パケットを挿入し、第１トランスポートストリームＴＳ１の一部として送出することで、切替予告を通知してもよい。なお、予告部１８は、上述した制御パケットを生成する際に、図７に示した障害通知パケットと同様に、パケット識別子に特定の値「ＮＵＬＬ」を設定することが望ましい。
【０１８９】
また、図１３に示した第２サーバ装置３０は、切り替え部１５に属する構成要素として、予告制御部１５９と、第２置換部１６０とを含んでいる。なお、図１３に示した例のように、予告制御部１５９及び第２置換部１６０を第２サーバ装置３０に配置する代わりに、予告制御部１５９及び第２置換部１６０を切替ユニット４０に配置してもよい。
【０１９０】
図１３に示した予告制御部１５９は、切替予告で指定された第１タイミングから、第１バッファ１５１による遅延に相当する時間の経過した後の第２タイミングにおいて、切替スイッチ１５５の状態を、上述した第１状態から第２状態に切り替える制御を行う。
【０１９１】
上述した第２タイミングは、第１バッファ１５１から切り替えスイッチ１５５に渡される遅延させられた第１トランスポートストリームＴＳ１が途切れるタイミングに相当する。また、この第２タイミングは、上述した第１タイミング以降の入力データストリームＳｉｎから第２生成部１３が生成したパケットが、第２バッファ１５２による遅延及び補正部１５４による時刻情報の補正を経て切り替えスイッチ１５５に到達するタイミングでもある。
【０１９２】
したがって、予告制御部１５９が上述した制御を行うことにより、第１タイミングの到来前に生成された第１トランスポートストリームＴＳ１から第１タイミングの到来後に生成された第２トランスポートストリームＴＳ２への切り替えを実現することができる。
【０１９３】
また、第２置換部１６０は、上述した第２タイミングまでは、第２バッファ１５２あるいは補正部１５４から出力される各パケットのパケット識別子を上述した特定の値「ＮＵＬＬ」に置換する。第２置換部１６０が、このような置換処理を行うことにより、第２タイミングの到来前に切り替えスイッチ１５５に渡される第２トランスポートストリームＴＳ２を無効化することができる。
【０１９４】
また、第２置換部１６０は、上述した第２タイミング以降に第２バッファ１５１あるいは補正部１５４から出力される各パケットのパケット識別子を、第１トランスポートストリームＴＳ１を示す値に置換する。第２置換部１６０が、このような置換処理を行うことにより、第１タイミングの到来以降に第２生成部１３で生成された各パケットを、第１トランスポートストリームＴＳ１のパケットとして切り替えスイッチ１５５に渡すことができる。
【０１９５】
また、図１３に示すように、第２サーバ装置３０は、符号化制御部１７を含んでもよい。なお、図１３に示した符号化制御部１７は、第１サーバ装置２０から出力される第１トランスポートストリームＴＳ１のパケットが消失したときに、第１生成部１１の動作が停止したと判断してもよい。また、符号化制御部１７は、上述した制御パケットを検出してから、この制御パケットに含まれるピクチャ数分の第１トランスポートストリームＴＳ１が第１サーバ装置２０から出力されたときに、第１生成部１１の動作停止を検出してもよい。
【０１９６】
符号化制御部１７が、第１生成部１１の動作状態に応じて、第２生成部１３の符号化モードを切り替えることにより、上述した第１タイミングの到来に応じて、第２生成部１３に第１生成部１１と同様のＧＯＰ構造を適用した符号化処理を開始させることができる。
【０１９７】
これにより、図１４に示すように、第２生成部１３が上述したＧＯＰ構造を適用して生成した第２トランスポートストリームＴＳ２を、上述した第２タイミングに合わせて、切り替えスイッチ１５５に渡すことができる。
【０１９８】
図１４は、切り替え予告に基づく符号化モードの切り替え例を示している。なお、図１４に示した要素のうち、図８に示した要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【０１９９】
図１４の例は、図１３に示した予告部１８により、ｍ−１番目のＧＯＰとｍ番目のＧＯＰとの境界に上述した制御パケットＰ１(ＣＴＬ)が挿入された場合を示している。この場合に、第１生成部１１は、符号ＧＯＰ(ｍ)で示した１ＧＯＰ分の第１トランスポートストリームＴＳ１の生成が完了した時刻Ｔｃ１において動作を停止する。すなわち、図１４の例では、時刻Ｔｃ１は、第１サーバ装置２０から第２サーバ装置３０への切り替えを実行する第１タイミングに相当する。また、この第１タイミングにおいて、第２生成部１３は、第１トランスポートストリームＴＳ１のＧＯＰ(ｍ−１)と同様のＧＯＰ構造を適用した符号化処理を開始している。なお、図１４において、符号ＧＯＰ(ｍ＋１)は、時刻Ｔｃ１以降の１ＧＯＰ分の各ピクチャに対応して第２生成部１３が生成した第２トランスポートストリームＴＳ２を示している。
【０２００】
また、図１４の例において、上述した時刻Ｔｃ１から１ＧＯＰ分の遅延時間が経過した時刻Ｔｃ２は、第１タイミングから１ＧＯＰ分の時間が経過した後の第２タイミングに相当する。この第２タイミングにおいて、図１４において符号ＧＯＰ(ｍ＋１)で示した第２トランスポートストリームＴＳ２は、符号ＧＯＰ(ｍ)で示した第１トランスポートストリームＴＳ１に続いて、トランスポートストリームＴＳｏｕｔの一部として送出される。
【０２０１】
このように、図１３に示した映像配信装置１０によれば、上述した予告切り替え制御を行うことにより、切り替え直後のトランスポートストリームにおいても、高品質の映像を少ない情報量で伝送可能なＧＯＰ構造を適用させることができる。
【０２０２】
なお、第１生成部１１は、最後に生成するＧＯＰ(ｍ)を、後続のＧＯＰに含まれる情報に依存せずに復元可能なＧＯＰ構造を持つクローズドＧＯＰとすることが望ましい。なお、クロ−ズドＧＯＰの構造の一例は、図１４に示したように、最後のピクチャをＰピクチャとして符号化する構造である。このように、切り替え前の最後のＧＯＰをクローズドＧＯＰとすることにより、受信端末において、第１トランスポートストリームＴＳ１の最後のＧＯＰを、後続の第２トランスポートストリームＴＳ２の情報を用いずに復元することが可能となる。これにより、トランスポートストリームの切り替えに伴って画像の乱れが発生することを、より高い確度で防ぐことができる。
【０２０３】
図１３に例示した映像配信装置１０は、図１５に示すようなハードウェア構成で実現することが可能である。
【０２０４】
図１５は、映像配信装置１０のハードウェア構成の別例を示している。なお、図１５に示した構成要素のうち、図４及び図９に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【０２０５】
図１５に示した第１サーバ装置２０において、パケット生成部２５は、プロセッサ２１からの指示に応じて、上述した予告切り替えのための制御パケットを生成し、プロセッサ２１からの指示に応じて、生成した制御パケットを伝送路インタフェース２３に渡す。
【０２０６】
また、プロセッサ２１は、例えば、第１サーバ装置２０に設けられたメモリ(図示せず)に設定されたスケジュール情報に基づいて、パケット生成部２５に制御パケットを生成させるとともに、制御パケットを出力させるタイミングを制御する。
【０２０７】
このように、プロセッサ２１が、予め設定されたスケジュール情報に基づいてパケット生成部２５による制御パケットの生成動作及び出力動作を制御することにより、図１３に示した予告部１８の機能を実現することができる。
【０２０８】
また、図１５に示した第２サーバ装置３０においてパケット監視部３５は、第１サーバ装置２０が伝送路Ｃ１に送出する第１トランスポートストリームＴＳ１から、上述した制御パケットを検出する。
【０２０９】
図１５に示したプロセッサ３１は、パケット監視部３５によって制御パケットが検出されたときに、後述するように、第２生成部１３を現用系として動作させるための予告切り替え処理を実行する。プロセッサ３１は、例えば、第２サーバ装置３０に設けられたメモリ(図示せず)に格納された第２アプリケーションプログラムを実行することにより、予告切り替え処理を実行する。
【０２１０】
第２アプリケーションプログラムは、図１５に示した照合回路５１による照合結果に基づいて、第１クロック生成部１２に基づく時刻と第２クロック生成部１４に基づく時刻との間の時刻差分ｄを検出する処理を行うためのプログラムを含んでいる。プロセッサ３１は、照合回路５１による照合結果に基づいて、上述した時刻差分ｄを検出する処理のためのプログラムを実行することで、図１３に示した検出部１５３の機能を果たす。なお、図１５においては、検出部１５３の図示は省略している。
【０２１１】
また、第２アプリケーションプログラムは、ヘッダ書換部５８に対して、各パケットに含まれる時刻情報を、補正後の時刻情報に書き換える処理を実行させるためのプログラムを含んでいる。プロセッサ３１は、上述した時刻情報の書換処理のためのプログラムに従って、ヘッダ書換部５８の動作を制御することで、図１に示した補正部１５４の機能を果たす。なお、図１５においては、補正部１５４の図示は省略している。
【０２１２】
更に、第２アプリケーションプログラムは、検出した制御パケットに含まれる情報に基づいて、切り替えスイッチ１５５の切り替えを制御する処理のためのプログラムを含んでいる。プロセッサ３１は、パケット監視部３５から受け取った情報に基づいて、切り替えスイッチ１５５の切り替えを制御する処理を行うことにより、図１３に示した予告制御部１５９の機能を実現する。
【０２１３】
また、第２アプリケーションプログラムは、検出した制御パケットに含まれる情報に基づいて、ヘッダ書換部５８によるパケット識別子の書換動作を制御する処理のためのプログラムを含んでいる。プロセッサ３１は、パケット監視部３５から受け取った情報に基づいて、ヘッダ書換部５８によるパケット識別子の書換動作を制御する処理を行うことにより、図１３に示した第２置換部１６０の機能を実現する。
【０２１４】
つまり、図１５に示したハードウェア構成例に含まれるプロセッサ３１が、パケット監視部３５から上述した制御パケットを検出した旨が通知されたときに、図１６に示す予測切り替え処理を実行することで、図１３に示した映像配信装置１０を実現できる。
【０２１５】
図１６は、予告切り替え処理のフローチャートの一例を示している。なお、図１６に示したステップのうち、図１１に示したステップと同等のものについては、同一の符号を付して示し、その説明は省略する。
【０２１６】
図１６に示した各ステップの処理は、予測切り替え処理のための第２アプリケーションプログラムに含まれる処理の一例である。また、これらの各ステップの処理は、プロセッサ３１によって実行される。
【０２１７】
プロセッサ３１は、まず、パケット監視部３５から、上述した制御パケットに含まれる情報の通知を受け、受け取った情報から、切り替え前に符号化される最後のＧＯＰに属するピクチャ数ｎｐを取得する(ステップ３３１)。
【０２１８】
次に、プロセッサ３１は、第１生成部１１が動作中であるか否かを判定する（ステップ３３２）。プロセッサ３１は、例えば、パケット監視部３５による検出状況を示す情報を受け取り、この検出状況を示す情報に基づいて、ステップ３３２の判定処理を実行してもよい。
【０２１９】
パケット監視部３５から、第１トランスポートストリームＴＳ１のパケットを検出している状態が継続している旨が通知されている場合に、プロセッサ３１は、第１生成部１１は動作中であると判断し、ステップ３３２の肯定判定ルートに進む。
【０２２０】
ステップ３３２の肯定判定ルートにおいて、プロセッサ３１は、図１１に示したステップ３０２〜ステップ３０４と同様に、第２トランスポートストリームＴＳ２の各パケットについて時刻差分ｄを補正するとともに無効化する処理を実行する。その後、プロセッサ３１は、ステップ３３２の処理に戻る。
【０２２１】
ここで、ステップ３３２で第１生成部１１が動作中であるとする判定が継続する期間は、第１生成部１１によって、切り替え前の最後のＧＯＰに対応する第１トランスポートストリームが生成されている期間に相当する。つまり、プロセッサ３１は、切り替え前の最後のＧＯＰに対応する第１トランスポートストリームが生成されている期間にわたって、ステップ３３２の処理及びステップ３０２〜ステップ３０４の処理を繰り返して実行する。なお、この期間は、図１４に示した例では、制御パケットＰ１(ＣＴＬ)が第１トランスポートストリームＴＳ１に挿入されたタイミングから、第１タイミングに相当する時刻Ｔｃ１までの期間である。
【０２２２】
第１生成部１１が最後のＧＯＰに対応する第１トランスポートストリームＴＳ１の生成を完了したときに、パケット監視部３５は、第１トランスポートストリームＴＳ１のパケットが検出できなくなった旨をプロセッサ３１に通知する。この通知に応じて、プロセッサ３１は、第１生成部１１の動作が停止したと判断し、ステップ３３２の否定判定ルートの処理を開始する。
【０２２３】
ステップ３３２の否定判定ルートにおいて、プロセッサ３１は、まず、図１１に示したステップ３０６と同様にして、第２生成部１３の符号化モードを切り替える。このように、プロセッサ３１が、ステップ３３２の否定判定ルートにおいて、ステップ３０６の処理を実行することで、図１３に示した符号化制御部１７の機能を実現することができる。これにより、図１４に示したように、第１生成部１１によって最後のＧＯＰ(ｍ)に対応する第１トランスポートストリームＴＳ１の生成が完了したタイミングで、第２生成部１３に、第１生成部１１と同様のＧＯＰ構造を適用した符号化処理を開始させることができる。
【０２２４】
次いで、プロセッサ３１は、上述したステップ３０６で符号化モードを切り替えた以降に、第２バッファ１５２から出力された第２トランスポートストリームＴＳ２に対応するピクチャ数ｎｓを計数する(ステップ３３３)。
【０２２５】
次に、プロセッサ３１は、第１トランスポートストリームＴＳ１の最後のＧＯＰに属するピクチャ数ｎｐとステップ３３３の処理で得られたピクチャ数ｎｓとを比較する（ステップ３３４）。
【０２２６】
ピクチャ数ｎｓがピクチャ数ｎｐより小さい場合に(ステップ３３４の肯定判定)、プロセッサ３１は、まだ、第１トランスポートストリームＴＳ１の最後のＧＯＰに対応する第２トランスポートストリームＴＳ２の出力が完了していないと判断する。この場合に、プロセッサ３１は、ステップ３３４の肯定判定ルートの処理として、図１１に示したフローチャートと同様に、ステップ３１１〜ステップ３１３の処理を実行する。つまり、第２バッファ１５２が、切り替え前の最後のＧＯＰに対応する第２トランスポートストリームＴＳ２の各パケットを出力している間は、プロセッサ３１は、上述したステップ３３３，３３４及びステップ３１１〜ステップ３１３の処理を繰り返して実行する。このようにして、プロセッサ３１は、切り替え前の最後のＧＯＰに対応する第２トランスポートストリームＴＳ２に対して、時刻情報を第１トランスポートストリームＴＳ１に同期させる処理と無効化する処理とを実行する。
【０２２７】
その後、ステップ３３３で得られたピクチャ数ｎｓが最後のＧＯＰに属するピクチャ数ｎｐ以上となったときに(ステップ３３４の否定判定)、プロセッサ３１は、符号化モードの切り替え後に生成されたパケットが第２バッファ１５２から出力されたと判断する。
【０２２８】
ステップ３３４の否定判定ルートにおいて、プロセッサ３１は、まず、ステップ３３３で得られたピクチャ数ｎｓと最後のＧＯＰに属するピクチャ数ｎｐとが等しいか否かを判定する(ステップ３３５)。ステップ３３５の肯定判定の場合に、プロセッサ３１は、図１５に示した切替スイッチ１５５に対して、上述した第２状態への切り替えを指示することで、切替スイッチ１５５に第２トランスポートストリームＴＳ２を伝送路Ｒｏｕｔに送出させる(ステップ３３６)。なお、ステップ３３５の肯定判定となるタイミングは、図１４に示した時刻Ｔｃ２に対応する第２タイミングである。つまり、ステップ３３４の否定判定ルートの処理の過程で、ステップ３３５の肯定判定に応じて、プロセッサ３１が、ステップ３３６の処理を実行することにより、図１３に示した予告制御部１５９の機能を実現することができる。
【０２２９】
また、上述したステップ３３６の処理の実行後も含めて、ステップ３３４の否定判定ルートの処理において、プロセッサ３１は、図１１に示したステップ３１４と同様のパケット識別子の置換処理を行う。これにより、上述した符号化モードの切り替え後に、第２生成部１３によって生成された第２トランスポートストリームＴＳ２のパケットを、第１トランスポートストリームＴＳ１に属するパケットとして伝送路Ｒｏｕｔに送出することが可能となる。
【０２３０】
このようにして伝送路Ｒｏｕｔに送出された第２トランスポートストリームＴＳ２の各パケットは、第１トランスポートストリームＴＳ１に同期した時刻情報と第１トランスポートストリームＴＳ１と同一のパケット識別子を含んでいる。したがって、これらの各パケットを受信した受信端末は、上述した切り替え前に送出された第１トランスポートストリームＴＳ１の一部として復元・再生することが可能であるので、遅滞や映像の脱落などが発生することはない。
【０２３１】
上述したように、プロセッサ３１が、予告切り替え処理のための第２アプリケーションプログラムを実行することにより、第２サーバ装置３０により、図１３に示した予告制御部１５９および第２置換部１６０を含む、切り替え部１５の機能を実現することができる。
【０２３２】
予告切り替え処理のための第２アプリケーションプログラムは、第２サーバ装置３０を予備系の映像配信装置として動作させるためのアプリケーションプログラムの一部を変更することによって実現可能である。また、パケット監視部３５及びヘッダ書換部５８を設けたことによるハードウェアの増大も小規模である。
【０２３３】
このように、本件開示の映像配信装置１０によれば、第２サーバ装置３０のハードウェア及びソフトウェアに小規模の機能を追加することにより、映像配信を継続しつつ、第１サーバ装置２０から第１サーバ装置３０への切り替えを実現できる。これにより、ライブ映像の配信サービスを継続しながら、第１サーバ装置２０の定期点検などを実施することが可能となるので、映像配信装置１０の信頼性を更に向上することができる。
【０２３４】
なお、図１０に示したように、切り替えユニット４０にもパケット監視部４２とプロセッサ４３と含むユニット制御部４１を設け、このユニット制御部４１により、予告制御部１５９の機能を実現してもよい。
【０２３５】
また、図１６に示した予告切り替え処理を、図１１に示した第２トランスポートストリームＴＳ２を調整する処理の一部として組み込んでもよい。例えば、図１１のフローチャートにおいて、ステップ３０１の否定判定ルートでの最初の処理として、プロセッサ３１に、パケット監視部３５で上述した制御パケットを検出したか否かを判定する処理を実行させるように第１アプリケーションプログラムを変更してもよい。そして、上述した判定処理の肯定判定ルートの処理として、プロセッサ３１に、図１６に示した予告切り替え処理を実行させればよい。
【０２３６】
以上の説明に関して、更に、以下の各項を開示する。
(付記１)
複数のピクチャが時系列的に配列された映像情報を含む入力データストリームから、複数のパケットが時系列的に配列され第１クロック信号に同期した第１データストリームを生成する第１生成部と、
前記入力データストリームから、複数のパケットが時系列的に配列され前記第１クロック信号とは異なる第２クロック信号に同期した第２データストリームを生成する第２生成部と、
前記第１データストリームおよび前記第２データストリームを入力し、前記第１データストリーム、および、前記第２データストリームにそれぞれ含まれる時刻情報を有するパケット内容に基づき、前記第１データストリームまたは時刻差分に基づき前記時刻情報を補正された前記第２データストリームのいずれかを出力する切り替え部とを備えた映像配信装置。
(付記２)
付記１に記載の映像配信装置において、
前記切り替え部は、
前記第１データストリームに所定の遅延を与える第１バッファと、
前記第２データストリームに前記所定の遅延を与える第２バッファと、
前記第１データストリームに含まれる時刻情報と、前記第２データストリームに含まれる時刻情報とに基づいて、前記第１クロック信号に基づく時刻と前記第２クロック信号に基づく時刻と間の差分を前記時刻差分として検出する検出部と、
前記時刻差分に基づいて、前記第２バッファによって遅延された前記第２データストリームに含まれる時刻情報を、前記第１データストリームに含まれる時刻情報に同期するように補正する補正部と、
前記遅延された前記第１データストリームを前記伝送路に送出する第１状態と、前記補正された前記第２データストリームを前記伝送路に送出する第２状態とを切り替える切替スイッチと、
前記第１生成部が正常に動作している場合に、前記切替スイッチを前記第１状態に設定し、前記第１生成部に障害が発生した場合に、前記切替スイッチを前記第２状態に設定する切替制御部とを有する
ことを特徴とする映像配信装置。
(付記３)
付記２に記載の映像配信装置において、
前記第１データストリームの時刻情報は、第１クロック信号に同期した計数動作で得られる第１計数値を示す第１プログラムクロックリファレンスを含み、
前記第２データストリームの時刻情報は、第２クロック信号に同期した計数動作で得られる第２計数値を示す第２プログラムクロックリファレンスを含み、
前記検出部は、
前記第１データストリームに含まれる前記第１プログラムクロックリファレンスと、当該第１プログラムクロックリファレンスを検出した第１時刻と、前記第２データストリームから前記第２プログラムクロックリファレンスを検出した第２時刻とに基づいて、前記第２時刻における前記第１計数値を推定する推定部と、
前記推定部によって得られた推定結果と前記第２時刻に前記第２データストリームから検出された前記第２プログラムクロックリファレンスとの差を算出し、算出結果を前記時刻差分として出力する差分算出部とを有する
ことを特徴とする映像配信装置。
(付記４)
付記２に記載の映像配信装置において、
前記第１生成部は、所定数のピクチャを含むピクチャの集合を単位とする符号化処理を実行し、
前記第１バッファと前記第２バッファは、前記所定数のピクチャが前記映像情報として入力される時間に相当する遅延を前記第１データストリームと前記第２データストリームとにそれぞれ与え、
前記切替制御部は、
前記第１生成部における障害が検出された場合に、前記第１バッファに保持された情報に基づいて、前記障害によって符号化処理およびパケット化処理が未完成となった前記ピクチャ集合の先頭のピクチャに当たる境界ピクチャを特定する特定部を有し、
前記境界ピクチャに対応して生成された第２データストリームのパケットが前記切替スイッチに渡されるタイミングで、前記切替スイッチの状態を、前記遅延された前記第１データストリームを前記伝送路に送出する第１状態から、前記補正された前記第２データストリームを前記伝送路に送出する第２状態に切り替える
ことを特徴とする映像配信装置。
(付記５)
付記４に記載の映像配信装置において、
前記第２データストリームに含まれる前記パケットのうち、前記境界ピクチャよりも前に入力されたピクチャに対応するパケットに含まれる、当該パケットが属するデータストリームを示すパケット識別子を、当該パケットが無効なデータストリームに属する旨を示す特定の値に置換し、前記境界ピクチャ以降に入力されたピクチャに対応するパケットに含まれる前記パケット識別子を前記第１データストリームを示す値に置換する第１置換部を有する
ことを特徴とする映像配信装置。
(付記６)
付記４に記載の映像配信装置において、
前記第１生成部における障害の発生に応じて、当該障害の発生を示す情報とともに前記パケット識別子として前記特定の値を含む障害通知パケットを生成し、生成した障害通知パケットを前記第１データストリームに挿入する挿入部を有し、
前記特定部は、前記障害通知パケットに基づいて、前記第１生成部における障害を検出する
ことを特徴とする映像配信装置。
(付記７)
付記４に記載の映像配信装置において、
前記第１生成部が正常に動作している間は、前記第２生成部に対して、前記データストリームに含まれる各ピクチャに対して個々のピクチャを単位とする符号化処理を適用させ、前記第１生成部の動作が停止した場合に、前記第２生成部に対して、前記ピクチャの集合を単位とする符号化処理を適用させる制御を行う符号化制御部を備える
ことを特徴とする映像配信装置。
(付記８)
付記１に記載の映像配信装置において、
更に、
前記切り替え部による出力の切り替えに先立って、当該切り替えを実行する第１タイミングを指定する情報を含む切替予告を前記切り替え部に通知する予告部とを備えた
ことを特徴とする映像配信装置。
(付記９)
付記８に記載の映像配信装置において、
前記切り替え部は、
前記第１データストリームに所定の遅延を与える第１バッファと、
前記第２データストリームに前記所定の遅延を与える第２バッファと、
前記第１データストリームに含まれる時刻情報と、前記第２データストリームに含まれる時刻情報とに基づいて、前記第１クロック信号に基づく時刻と前記第２クロック信号に基づく時刻との差分を前記時刻差分として検出する検出部と、
前記時刻差分に基づいて、前記第２バッファによって遅延された前記第２データストリームに含まれる時刻情報を、前記第１データストリームに含まれる時刻情報に同期するように補正する補正部と、
前記遅延された前記第１データストリームを前記伝送路に送出する第１状態と、前記補正された前記第２データストリームを前記伝送路に送出する第２状態とを切り替える切替スイッチと、
前記切替予告で指定された前記第１タイミングから前記所定の遅延に相当する時間が経過した後の第２タイミングにおいて、前記切替スイッチの状態を前記第１状態から前記第２状態に切り替える制御を行う予告制御部とを有する
ことを特徴とする映像配信装置。
(付記１０)
付記８に記載の映像配信装置において、
前記第１生成部は、所定数のピクチャを含むピクチャの集合を単位とする符号化処理を実行し、
前記第１バッファと前記第２バッファは、前記所定数のピクチャが前記映像情報として入力される時間に相当する遅延を前記第１データストリームと前記第２データストリームとにそれぞれ与え、
前記予告部は、前記ピクチャの集合に含まれるピクチャ数を含む制御パケットを、前記第１生成部によって最後に符号化される前記ピクチャの集合の先頭に対応するパケットの直前に挿入し、
前記予告制御部は、前記制御パケットに含まれる前記ピクチャ数に基づいて、前記第２タイミングを特定する
ことを特徴とする映像配信装置。
(付記１１)
付記８に記載の映像配信装置において、
前記切り替え部は、
前記第２タイミングまでは、前記第２バッファあるいは前記補正部から出力される各パケットのパケット識別子を前記特定の値に置換し、前記第２タイミング以降に前記第２バッファあるいは前記補正部から出力される各パケットのパケット識別子を、前記第１データストリームを示す値に置換する第２置換部を有する
ことを特徴とする映像配信装置。
(付記１２)
複数のピクチャが時系列的に配列された映像情報を含む入力データストリームから、複数のパケットが時系列的に配列され第１クロック信号に同期した第１データストリームを生成し、
前記入力データストリームから、複数のパケットが時系列的に配列され前記第１クロック信号とは異なる第２クロック信号に同期した第２データストリームを生成し、
前記第１データストリームおよび前記第２データストリームを入力し、前記第１データストリーム、および、前記第２データストリームにそれぞれ含まれる時刻情報を有するパケット内容に基づき、前記第１データストリームまたは時刻差分に基づき前記時刻情報を補正された前記第２データストリームのいずれかを出力する
ことを特徴とする映像配信方法。
【符号の説明】
【０２３７】
１０…映像配信装置；１１…第１生成部；１２…第１クロック生成部；１３…第２生成部；１４…第２クロック生成部；１５…切り替え部；１６…挿入部；１７…符号化制御部；１８…予告部；２０…第１サーバ装置；２１，３１，４３…プロセッサ；２２，３２…システムタイムクロック(ＳＴＣ)生成部；２３，３３ａ，３３ｂ…伝送路インタフェース(Ｉ／Ｆ)；３４…複写バッファ；３５，４２…パケット監視部；３６…スイッチ制御部；４１…ユニット制御部；５１…照合部；５２ａ，５２ｂ…ＰＣＲ検出部；５３ａ，５３ｂ…レジスタ；５４…推定部；５５…差分算出部；５６…時刻情報抽出部；５７…減算器；５８…ヘッダ書換部；１１１，１３１…動画像エンコーダ；１１２、１３２…音声エンコーダ；１１３，１３３…多重化装置；１５１…第１バッファ；１５２…第２バッファ；１５３…検出部；１５４…補正部；１５５…切替スイッチ；１５６…切替制御部；１５７…特定部；１５８…第１置換部；１５９…予告制御部；１６０…第２置換部
【図１】
2014017607.tif 000003
【図２】
2014017607.tif 000004
【図３】
2014017607.tif 000005
【図４】
2014017607.tif 000006
【図５】
2014017607.tif 000007
【図６】
2014017607.tif 000008
【図７】
2014017607.tif 000009
【図８】
2014017607.tif 000010
【図９】
2014017607.tif 000011
【図１０】
2014017607.tif 000012
【図１１】
2014017607.tif 000013
【図１２】
2014017607.tif 000014
【図１３】
2014017607.tif 000015
【図１４】
2014017607.tif 000016
【図１５】
2014017607.tif 000017
【図１６】
2014017607.tif 000018