説明

コンテンツ配信システム、コンテンツ配信制御システム、コンテンツ配信制御装置、コンテンツ受信装置、及びコンテンツ配信制御プログラム

【課題】冗長構成にしたコンテンツ配信装置のうちの1台が故障した場合でも、コンテンツ受信装置はコンテンツを受信することができる。
【解決手段】コンテンツ配信システム1は、コンテンツを所定のデータサイズに分割した複数のメディアデータを、D×L行列となるように行方向に時系列順に並べ、前記D×L行列の列方向に並べられる前記メディアデータの冗長データを行方向に並べることで、N×L行列で構成される符号化データを作成する誤り訂正符号化手段と、前記符号化データのn行目(1≦n≦N)に並べられるデータを、n番目の前記コンテンツ配信装置に対して配信するように制御する配信制御手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテンツの配信を制御する、コンテンツ配信システム、コンテンツ配信制御システム、コンテンツ配信制御装置、コンテンツ受信装置、及びコンテンツ配信制御プログラムに関し、特に、コンテンツのライブ配信やVOD(Video On Demand)配信を制御する技術に関する。
【背景技術】
【0002】
従来のコンテンツ配信装置は、ライブ配信を行うためのコンテンツを予め決められた単位のデータに分割する分割部と、複数の通信経路を介してコンテンツ受信装置にデータを送信する送信部と、分割部によって分割されたデータを送信する毎に送信部の通信経路を切り替えて送信する送信制御部と、を有する構成である。
この際、コンテンツ配信装置は、冗長データを分割されたデータ毎に付加し、受信装置は、冗長データを分割されたデータの誤り訂正に使用する(特許文献1参照)。
【0003】
ここで、特許文献1に記載された技術は、ライブ配信時に、コンテンツを特定の単位にデータ分割し、別々の経路で分割したデータを配信することに意味がある。その為、冗長データは、それぞれの単位に分割されたデータ毎に付加され、通信路での誤り訂正のために用いられる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−258895号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、特許文献1に記載された技術は、コンテンツ配信装置の冗長化に関して、特に想定されていない。そこで、特許文献1に記載された技術を用いて、複数のコンテンツ配信装置でコンテンツを分割して送信することを考えることができる。しかしながら、その場合であっても、コンテンツ配信装置が故障した場合には、コンテンツ受信装置は、コンテンツを受信することができないという問題があった。
【0006】
本発明は、前記問題に鑑みてなされたものであり、冗長構成にしたコンテンツ配信装置のうちの少なくとも1台が故障した場合でも、コンテンツ受信装置はコンテンツを受信することができる、コンテンツ配信システム、コンテンツ配信制御システム、コンテンツ配信制御装置、コンテンツ受信装置、及びコンテンツ配信制御プログラムを提供することを課題とする。
【課題を解決するための手段】
【0007】
前記課題を解決するため、本発明に係るコンテンツ配信システムは、コンテンツ管理装置(250,1200)と、N台(Nは複数)のコンテンツ配信装置(300)と、コンテンツ受信装置(600)とがネットワーク(500)を介して接続されるコンテンツ配信システムであって、前記コンテンツ管理装置(250,1200)が、コンテンツを所定のデータサイズに分割した複数のメディアデータ(711)を、D×L行列(DはN−1、Lは整数)となるように行方向に時系列順に並べ、前記D×L行列の列方向に並べられるD個の前記メディアデータに対する冗長データ(721)を所定の行にL個並べることで、N×L行列で構成される符号化データ(700)を作成する誤り訂正符号化部(220)と、前記誤り訂正符号化部が作成した符号化データを前記N台のコンテンツ配信装置に対して送信するデータ配信部(230)と、を備え、n番目(1≦n≦N)の前記コンテンツ配信装置(300)が、受信した前記符号化データのn行目に並べられるデータを、他の前記コンテンツ配信装置と同期を取って前記コンテンツ受信装置に対して送信するデータ配信部(320)と、を備え、前記コンテンツ受信装置(600)が、前記N台のコンテンツ配信装置から受信した複数の前記n行目に並べられるデータを結合するデータ結合部(610)と、前記符号化データを構成する前記メディアデータのうち、受信しなかった何れかの行の前記メディアデータがある場合に、前記符号化データを構成する前記冗長データ及び受信した前記メディアデータを用いて復号する誤り訂正復号化部(620)と、前記データ結合部が結合し、又は、前記誤り訂正復号化部が復号した前記メディアデータを出力する出力部(630)と、を備えることを特徴とする。但し、( )内の符号は、例示である。
【0008】
また、本発明に係るコンテンツ配信制御装置は、N個(Nは複数)のコンテンツ配信装置(300)と通信可能に接続されるコンテンツ配信制御装置(910)であって、コンテンツを所定のデータサイズに分割した複数のメディアデータ(711)を、D×L行列(DはN−1、Lは整数)となるように行方向に時系列順に並べ、前記D×L行列の列方向に並べられる前記メディアデータの冗長データ(721)を行方向に並べることで、N×L行列で構成される符号化データ(700)を作成する誤り訂正符号化手段(220)と、前記符号化データのn行目(1≦n≦N)に並べられるデータを、n番目の前記コンテンツ配信装置に対して配信するように制御する配信制御手段(420)と、を備えることを特徴とする。但し、( )内の符号は、例示である。
【0009】
また、本発明に係るコンテンツ受信装置は、コンテンツを所定のデータサイズに分割した複数のメディアデータ(711)を(N−1)台のコンテンツ配信装置から受信し、前記複数のメディアデータの冗長データ(721)を他のA台(A≧1)のコンテンツ配信装置から受信するコンテンツ受信装置であって、n番目(1≦n≦N)の前記コンテンツ配信装置から受信したデータを時系列順に複数の前記n行目に並べられるデータを結合するデータ結合部(610)と、前記符号化データを構成する前記メディアデータのうち、受信しなかった何れかの行の前記メディアデータがある場合に、前記符号化データを構成する前記冗長データ及び受信した前記メディアデータを用いて復号する誤り訂正復号化部(620)と、前記データ結合部が結合し、又は、前記誤り訂正復号化部が復号した前記メディアデータを出力する出力部(630)と、を備えることを特徴とする。但し、( )内の符号は、例示である。
【発明の効果】
【0010】
本発明によれば、冗長構成にしたコンテンツ配信装置のうちの少なくとも1台が故障した場合でも、コンテンツ受信装置はコンテンツを受信することができる。
【図面の簡単な説明】
【0011】
【図1】第1実施形態に係るコンテンツ配信システムの構成図である。
【図2】第1実施形態に係るエンコーダの機能構成図である。
【図3】第1実施形態に係るFECデータ付加済みMPEGデータの構成図である。(a)は、FECエンコーダ部によりFECデータが付加された状態を説明するための図であり、(b)は、データ分割部により分割された状態を説明するための図である。
【図4】第1実施形態に係るコンテンツ配信装置の機能構成図である。
【図5A】第1実施形態に係るデータ配信部の処理(正常時)を説明するための図である。
【図5B】第1実施形態に係るデータ配信部の処理(故障時)を説明するための図である。
【図6】第1実施形態に係る配信制御装置の機能構成図である。
【図7】第1実施形態に係るコンテンツ受信装置の機能構成図である。
【図8】第1実施形態に係るコンテンツ配信システムにおける、DESCRIBEメソッドのシーケンス図である。
【図9】第1実施形態に係るコンテンツ配信システムにおける、SETUPメソッドのシーケンス図である。
【図10】第1実施形態に係るコンテンツ配信システムにおける、PLAYメソッドのシーケンス図である。
【図11】第1実施形態に係るコンテンツ配信システムにおける、PAUSEメソッドのシーケンス図である。
【図12】第1実施形態に係るコンテンツ配信システムにおける、TEARDOWNメソッドのシーケンス図である。
【図13】第2実施形態に係るコンテンツ配信システムの構成図である。
【図14】第2実施形態に係るコンテンツ管理装置の機能構成図である。
【図15】第2実施形態に係る配信制御装置の機能構成図である。
【図16】第2実施形態に係るコンテンツ配信システムにおける、DESCRIBEメソッドのシーケンス図である。
【図17】第2実施形態に係るコンテンツ配信システムにおける、SETUPメソッドのシーケンス図である。
【図18】第2実施形態に係るコンテンツ配信システムにおける、PLAYメソッドのシーケンス図である。
【図19】第2実施形態に係るコンテンツ配信システムにおける、PAUSEメソッドのシーケンス図である。
【図20】第2実施形態に係るコンテンツ配信システムにおける、TEARDOWNメソッドのシーケンス図である。
【図21】変形例に係るFECデータ付加済みMPEGデータの構成図である。(a)は、FECエンコーダ部によりFECデータが付加された状態を説明するための図であり、(b)は、データ分割部により分割された状態を説明するための図である。
【図22】変形例に係るコンテンツ配信システムの構成図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本発明の実施形態(第1実施形態及び第2実施形態)につき詳細に説明する。第1実施形態では、本発明がコンテンツのライブ配信に適用される場合の構成等ついて説明し、第2実施形態では、本発明がコンテンツのVOD(Video On Demand)配信に適用される場合について説明する。
【0013】
なお、各図は、本発明を十分に理解できる程度に、概略的に示してあるに過ぎない。よって、本発明は、図示例のみに限定されるものではない。なお、各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
【0014】
[第1実施形態]
≪第1実施形態に係るコンテンツ配信システムの構成≫
図1を参照して、第1実施形態に係るコンテンツ配信システム1の構成を説明する。図1は、第1実施形態に係るコンテンツ配信システム1の構成図である。
【0015】
コンテンツ配信システム1は、ビデオカメラ100と、エンコーダ200と、#1〜#N台(Nは複数)のコンテンツ配信装置300と、配信制御装置400と、コンテンツ受信装置600とを備えて構成される。ビデオカメラ100とエンコーダ200は専用線を介して接続される。また、エンコーダ200、コンテンツ配信装置300、及び配信制御装置400は、LAN(Local Area Network)を介して接続され、コンテンツ配信装置300及び配信制御装置400と、コンテンツ受信装置600はネットワーク500を介して接続されている。本実施形態では、ネットワーク500としてIP(Internet Protocol)で規定されるWAN(Wide Area Network)インターネットを想定して説明する。
【0016】
なお、コンテンツ配信システム1の構成のうち、ビデオカメラ100と、エンコーダ200と、#1〜#N台のコンテンツ配信装置300と、配信制御装置400とをまとめて、コンテンツ配信制御システム900と呼ぶ場合ある。また、エンコーダ200をコンテンツ管理装置250と呼ぶ場合がある。
以下、コンテンツ配信システム1の各構成を説明する。
【0017】
<ビデオカメラ>
データ生成部としてのビデオカメラ100は、付属するレンズを通した光(映像)を、CCD(Charge Coupled device)などの撮像素子に結像し、それを電気信号である映像データとしてエンコーダ200に出力し、また、付属するマイクを通した音声を、音声データとしてエンコーダ200に出力する。
【0018】
<エンコーダ>
図2を参照して、第1実施形態に係るエンコーダ200の構成を説明する。図2は、第1実施形態に係るエンコーダ200の機能構成図である。
エンコーダ200は、MPEGエンコーダ部210と、FECエンコーダ部220と、データ配信部230とを備える。
【0019】
MPEGエンコーダ部210、FECエンコーダ部220、及びデータ配信部230は、エンコーダ200が備える図示しないCPU(Central Processing Unit)によるプログラム実行処理や、専用回路等により実現される。なお、MPEGエンコーダ部210、FECエンコーダ部220、及びデータ配信部230をプログラム実行処理により実現する場合、図示しない記憶部にこれらを実現するためのプログラムが格納される。以下、機能ごとに説明する。
【0020】
(MPEGエンコーダ部)
MPEG符号化部としてのMPEGエンコーダ部210は、ビデオカメラ100から受信した映像データや音声データを、MPEGデータにエンコードし、エンコードしたMPEGデータをFECエンコーダ部220に出力する。
なお、本実施形態では、MPEGエンコーダ部210は、MPEG2標準のトランスポートストリーム(TS:Transport Stream)に従ってエンコードを行う。そのため、MPEGデータは、MPEGエンコーダ部210でエンコードされた後では、188バイトの固定長のTSパケットで構成される。
【0021】
(FECエンコーダ部)
誤り訂正符号化部としてのFECエンコーダ部220は、MPEGデータにFECデータを付加することでエンコードし、FECデータを付加したMPEGデータ(以下「FECデータ付加済みMPEGデータ」と呼ぶ場合がある)をデータ配信部230に出力する。なお、本実施形態では、FECエンコーダ部220は、例えば1次元Pro−MPEG FECの1つである「Pro−MPEG FEC Code of Practice #3.1」に従ってエンコードを行う。そのため、FECデータ付加済みMPEGデータは、図3に示す行列として構成される。
【0022】
図3を参照し、本実施形態のFECデータ付加済みMPEGデータ700の構成について説明する。ここで、図3(a)は、FECエンコーダ部によりFECデータが付加された状態を説明するための図であり、図3(b)は、データ分割部により分割された状態を説明するための図である。ここでは、図3(a)を参照し、図3(b)については後で参照する。
【0023】
FECエンコーダ部220は、ネットワーク500上でのデータ形式であるIPパケットの最大サイズ(1500バイト)に収まるように、7個のTSパケット(188バイト)をメディアデータ711(図3では「M」と表記)としてひとまとめにし、メディアデータ711の時系列順に1行目の左から右にL個並べ、次に2行目の左から右にL個並べ、というようにD行目まで繰り返す。ここで、「L」,「D」は、整数である。そのため、MPEGデータは、左上→右上→・・・→左下→右下という順番(時系列順)に並べられるメディアデータ711のD行L列で構成される行列710を構成する。
【0024】
また、FECエンコーダ部220は、あらかじめ決められたパラメータに基づいて、列方向(縦方向)に並ぶメディアデータ711に対してパリティ演算を行い、行列710の各列に対応するFECデータ721(図3では「F」と表記)を生成し、D+1行目にL個並べる。そのため、D+1行目にFECデータ721の1行L列で構成される行列720が形成される。その結果、FECデータ付加済みMPEGデータ700は、メディアデータ711のD行L列で構成される行列710と、FECデータ721の1行L列で構成される行列720とが合成した、(D+1)行L列で構成されることになる。
【0025】
なお、FECデータ721は列方向(縦方向)に並ぶメディアデータ711に対するパリティ演算により生成されるため、FECデータ721のデータサイズはメディアデータ711のサイズと同じ(TSパケット(188バイト)が7個分)になる。
【0026】
(データ配信部)
図2に戻り、データ配信部230は、FECデータ付加済みMPEGデータ700を、#1コンテンツ配信装置300〜#Nコンテンツ配信装置300(図1参照)、及び配信制御装置400に対して配信する。
データ配信部230は、例えば、RTP(Real-time Transport Protocol)などのデータ転送プロトコルに従って、メディアデータ711やFECデータ721をRTPパケットとして、マルチキャストで配信する。この際、データ配信部230は、メディアデータ711やFECデータ721にRTPヘッダを付加することで、メディアデータ711やFECデータ721をRTPパケット化する。RTPヘッダには、RTPパケットの順序を示すシーケンス番号や、RTPパケットの作成時刻を示すタイムスタンプなどのデータが設定される。
【0027】
具体例の一例として、データ配信部230は、メディアデータ711やFECデータ721が格納されるRTPパケットのシーケンス番号の設定欄に、M11→M12→・・→M1L→M21→M22→・・→M2L→・・・・→MD1→MD2→・・→MDL→F11→F12→・・→F1Lの順番となるように連続番号(昇順)を設定する。そして、データ配信部230は、シーケンス番号を設定したRTPパケットを、さらにUDP(User Datagram Protocol)、IP(Internet Protocol)等に従いパケット化し、#1コンテンツ配信装置300〜#Nコンテンツ配信装置300(図1参照)、及び配信制御装置400に対してマルチキャストで配信する。
以上で、エンコーダ200の構成の説明を終了する。
【0028】
<コンテンツ配信装置>
図4を参照して、第1実施形態に係る#1コンテンツ配信装置300〜#Nコンテンツ配信装置300の構成を説明する。ここで、#1コンテンツ配信装置300〜#Nコンテンツ配信装置300の構成は、すべて同じである。以下では、#1コンテンツ配信装置300〜#Nコンテンツ配信装置300を省略して「#1〜#Nコンテンツ配信装置300」と呼ぶ場合があり、また、まとめて「コンテンツ配信装置300」と呼ぶ場合がある。図4は、第1実施形態に係るコンテンツ配信装置300の機能構成図である。
【0029】
コンテンツ配信装置300は、データ分割部310と、データ配信部320と、配信制御部330とを備える。データ分割部310、データ配信部320、及び配信制御部330は、コンテンツ配信装置300が備える図示しないCPU(Central Processing Unit)によるプログラム実行処理や、専用回路等により実現される。なお、データ分割部310、データ配信部320、及び配信制御部330をプログラム実行処理により実現する場合、図示しない記憶部にこれらを実現するためのプログラムが格納される。以下、機能ごとに説明する。
【0030】
(データ分割部)
データ分割部310は、エンコーダ200から配信されたメディアデータ711やFECデータ721が格納されたRTPパケットを受信することで、FECデータ付加済みMPEGデータ700(図3(a)参照)を取得する。データ分割部310は、図3(b)に示すように、取得したFECデータ付加済みMPEGデータ700を行方向(横方向)に分割する。この結果、FECデータ付加済みMPEGデータ700は、メディアデータ711やFECデータ721で構成される1行L列の行列730−1〜行列730−Nが組み合わさった構成になる。以下では、行列730−1〜行列730−Nをまとめて「行列730」と呼ぶ場合がある。
【0031】
(データ配信部)
特定のコンテンツ配信装置300のデータ配信部320は、FECデータ付加済みMPEGデータ700(図3(b))のうち特定の行に並ぶデータのみ、言い換えれば、特定の行列730のデータのみをコンテンツ受信装置600に対して配信(送信)する。例えば、#1コンテンツ配信装置300のデータ配信部320は、FECデータ付加済みMPEGデータ700のうち行列730−1に並ぶデータ(M11,M12,・・,M1L)を送信し、#2コンテンツ配信装置300のデータ配信部320は、FECデータ付加済みMPEGデータ700のうち行列730−2に並ぶデータ(M21,M22,・・,M2L)を送信し、・・・、#N−1コンテンツ配信装置300のデータ配信部320は、FECデータ付加済みMPEGデータ700のうち行列730−(N−1)に並ぶデータ(MD1,MD2,・・,MDL)を送信し、#Nコンテンツ配信装置300のデータ配信部320は、FECデータ付加済みMPEGデータ700のうち行列730−Nに並ぶデータ(F11,F12,・・,F1L)を送信する。
【0032】
そのため、コンテンツ配信装置300は、図3(b)に示すFECデータ付加済みMPEGデータ700に含まれる行の数だけ(行列730の数だけ)必要である。言い換えれば、FECデータ付加済みMPEGデータ700の行数(D+1)は、コンテンツ配信装置300の台数Nと同数にする。
【0033】
次に、#1〜#Nコンテンツ配信装置300のデータ配信部320がデータを送信するタイミングについて、図5Aを参照して説明する。図5Aは、第1実施形態に係るデータ配信部320の処理(正常時)を説明するための図である。図5Bは、第1実施形態に係るデータ配信部320の処理(故障時)を説明するための図である。ここでは、図5Aを参照し、図5Bは、後で説明する。
【0034】
図5Aにおける符号700A,700Bは、共にFECデータ付加済みMPEGデータ700を表し、FECデータ付加済みMPEGデータ700Aは、FECデータ付加済みMPEGデータ700Bよりも時系列の順番が早いデータである。#1〜#Nコンテンツ配信装置300は、データの送信順序が#1コンテンツ配信装置300→#2コンテンツ配信装置300→#3コンテンツ配信装置300→・・・→#(N−1)コンテンツ配信装置300→#Nコンテンツ配信装置300となるように、互いに同期をとりながらデータの送信を行う。
【0035】
具体的には、#1〜#Nコンテンツ配信装置300は、FECデータ付加済みMPEGデータ700Aの行列730−1に並ぶデータ→行列730−2に並ぶデータ→行列730−3に並ぶデータ→行列730−(N−1)に並ぶデータ→行列730−Nに並ぶデータ→FECデータ付加済みMPEGデータ700Bの行列730−1に並ぶデータ→行列730−2に並ぶデータ→行列730−3に並ぶデータ→行列730−(N−1)に並ぶデータ→行列730−Nに並ぶデータ→・・の順番になるようにデータの送信を行う。
【0036】
この際、データ配信部320は、データ分割部310で受信したRTPパケットのヘッダを、ssrc(同期送信元識別子)の値を除きそのまま使用する。これは、RTPパケットのヘッダに設定されるシーケンス番号やタイムスタンプなどのデータは、後記するコンテンツ受信装置600においてもエンコーダ200で一元的に付与された値を使用する必要があるためである。ssrcについては、後述される「<コンテンツの再生>の(SETUPメソッド)、(PLAYメソッド)」にて説明される。
【0037】
(配信制御部)
配信制御部330は、データ配信部320に対して、いずれのRTPパケットから配信(送信)を行うのか指示をする。例えば、配信制御部330は、配信を開始するRTPヘッダに設定されるシーケンス番号をデータ配信部320に通知し、データ配信部320は、通知されたシーケンス番号以降のRTPパケットのデータに対して、特定の行の行列730に並ぶデータを配信する。
以上で、コンテンツ配信装置300の構成の説明を終了する。
【0038】
<配信制御装置>
図6を参照して、第1実施形態に係る配信制御装置400の構成を説明する。図6は、第1実施形態に係る配信制御装置400の機能構成図である。
配信制御装置400は、データ受信部410と、配信制御部420とを備える。データ受信部410、及び配信制御部420は、配信制御装置400が備える図示しないCPU(Central Processing Unit)によるプログラム実行処理や、専用回路等により実現される。なお、データ受信部410、及び配信制御部420をプログラム実行処理により実現する場合、図示しない記憶部にこれらを実現するためのプログラムが格納される。以下、機能ごとに説明する。
【0039】
(データ受信部)
データ受信部410は、エンコーダ200から配信されたメディアデータ711やFECデータ721が格納されたRTPパケット(すなわち、FECデータ付加済みMPEGデータ700)を受信し、FECデータ付加済みMPEGデータ700のうち時系列順に先頭のメディアデータ711であるM11(図3参照)が格納されているRTPパケットにおけるシーケンス番号を図示しない記憶部に随時記憶させる。
【0040】
図5Aを参照して、データ受信部410の処理をより詳細に説明する。データ受信部410は、エンコーダ200から配信されたFECデータ付加済みMPEGデータ700Aを受信し、FECデータ付加済みMPEGデータ700Aの先頭のメディアデータ711であるM11(図3参照)が格納されているRTPパケットに設定されるシーケンス番号を記憶させる。次に、データ受信部410は、エンコーダ200から配信されたFECデータ付加済みMPEGデータ700Bを受信し、FECデータ付加済みMPEGデータ700Bの先頭のメディアデータ711であるM11(図3参照)が格納されているRTPパケットに設定されるシーケンス番号を新たに記憶させる(上書きする)。以下、データ受信部410は、この作業を繰り返す。このようにして、データ受信部410は、エンコーダ200から配信されているFECデータ付加済みMPEGデータ700の情報を常に保持する。
【0041】
(配信制御部)
図6に戻り、配信制御部420は、コンテンツ受信装置600からの再生開始要求の応答として、データ受信部410が記憶しているFECデータ付加済みMPEGデータ700Bの先頭のメディアデータ711が格納されているRTPパケットに設定されるシーケンス番号を取得し、#1〜#Nコンテンツ配信装置300の配信制御部330に対して、エンコーダ200から受信するコンテンツ(FECデータ付加済みMPEGデータ700)の配信の開始を、取得したシーケンス番号と共に通知する。
以上で、配信制御装置400の構成の説明を終了する。
【0042】
<コンテンツ受信装置>
図7を参照して、第1実施形態に係るコンテンツ受信装置600の構成を説明する。図7は、第1実施形態に係るコンテンツ受信装置600の機能構成図である。
コンテンツ受信装置600は、データ結合部610と、FECデコーダ部620と、出力部630と、配信要求部640とを備える。データ結合部610、FECデコーダ部620、出力部630、及び配信要求部640は、コンテンツ受信装置600が備える図示しないCPU(Central Processing Unit)によるプログラム実行処理や、専用回路等により実現される。なお、データ結合部610、FECデコーダ部620、出力部630、及び配信要求部640をプログラム実行処理により実現する場合、図示しない記憶部にこれらを実現するためのプログラムが格納される。以下、機能ごとに説明する。
【0043】
(データ結合部)
データ結合部610は、#1〜#Nコンテンツ配信装置300のデータ配信部320から、FECデータ付加済みMPEGデータ700を構成するメディアデータ711やFECデータ721が格納されるRTPパケットを受信し、各RTPパケットのRTPヘッダに設定されるシーケンス番号に基づいてRTPパケットの順序の並び替えを行うことで、エンコーダ200から配信されている状態のFECデータ付加済みMPEGデータ700に結合する(図3(a)参照)。
【0044】
具体的には、データ結合部610は、#1コンテンツ配信装置300のデータ配信部320から、FECデータ付加済みMPEGデータ700のうち行列730−1に並ぶデータ(M11,M12,・・,M1L)が格納されるRTPパケットを受信し、#2コンテンツ配信装置300のデータ配信部320から、FECデータ付加済みMPEGデータ700のうち行列730−2に並ぶデータ(M21,M22,・・,M2L) が格納されるRTPパケットを受信し、・・・、#N−1コンテンツ配信装置300のデータ配信部320から、FECデータ付加済みMPEGデータ700のうち行列730−(N−1)に並ぶデータ(MD1,MD2,・・,MDL) が格納されるRTPパケットを受信し、#Nコンテンツ配信装置300のデータ配信部320から、FECデータ付加済みMPEGデータ700のうち行列730−Nに並ぶデータ(F11,F12,・・,F1L) が格納されるRTPパケットを受信する。
【0045】
ここで、データ結合部610が受信するRTPパケットのRTPヘッダに設定されるシーケンス番号は、エンコーダ200のデータ配信部230により付与されたデータがコンテンツ配信装置300のデータ配信部320によりそのまま使用されている。その為、データ結合部610は、RTPヘッダに設定されるシーケンス番号で受信したRTPパケットの並び替えを行うことにより、エンコーダ200から配信されているFECデータ付加済みMPEGデータ700の並びで結合することが可能である。
【0046】
なお、データ結合部610は、1つのFECデータ付加済みMPEGデータ700を構成する全てのメディアデータ711やFECデータ721を受信したタイミングで、又はタイムアウトしたタイミング(事前に設定した時間を経過したタイミング)で、FECデータ付加済みMPEGデータ700の並びで結合する。ここで、タイムアウトする場合として、例えば、#1〜#Nコンテンツ配信装置300のいずれかが故障したことにより、故障したコンテンツ配信装置300(図5Bでは、#2コンテンツ配信装置300)から受信するはずのRTPパケットを受信できない。データ結合部610は、タイムアウトした場合に、受信したデータのみを用いて不完全なFECデータ付加済みMPEGデータ700を結合し、FECデコーダ部620が、受信できたメディアデータ711及びFECデータ721を用いて、故障したコンテンツ配信装置300から受信するはずのメディアデータ711を復号する。
【0047】
(FECデコーダ部)
FECデコーダ部620は、受信できたメディアデータ711、及びFECデータ721を用いて受信できなかったメディアデータ711を復号する。
ここで、本実施形態では、エンコーダ200のFECエンコーダ部220は、例えば1次元Pro−MPEG FECの1つである「Pro−MPEG FEC Code of Practice #3.1」に従ってエンコードを行っているので、FECデコーダ部620は、1列において1つのメディアデータ711を復号することが可能である。その為、#1〜#Nコンテンツ配信装置300のいずれか1台が故障したことにより、故障したコンテンツ配信装置300(図5Bでは、#2コンテンツ配信装置300)から特定の行列730に並ぶメディアデータ711(図5Bでは、行列730−2に並ぶデータ(M21,M22,・・,M2L))を受信できない場合でも、FECデータ721に対してロスするメディアデータ711は1行分のみのために、特定の行列730に並ぶメディアデータ711を復号することができる。ただし、故障していないコンテンツ配信装置300(図5では、#1,#3〜#Nコンテンツ配信装置)から送信されるデータ送信が成功することが保証されていることを前提とする。
【0048】
(出力部)
出力部630は、データ結合部610で結合、又はFECデコーダ部620で復号したエンコーダ200から配信されているFECデータ付加済みMPEGデータ700のうち、行列710に並ぶメディアデータ711(MPEGデータ)を、映像データや音声データに復号し、図示しないディスプレイ装置やスピーカなどに復号した映像データや音声データを出力する。これにより、コンテンツ受信装置600のユーザは、ディスプレイ装置やスピーカなどを介して、コンテンツの閲覧や視聴が可能となる。
【0049】
(配信要求部)
配信要求部640は、コンテンツ受信装置600のユーザの操作により、配信制御装置400に対して、コンテンツの再生開始要求などを送信する。詳細は、後記する動作の処理で説明する。
以上で、コンテンツ受信装置600の構成の説明を終了する。また、コンテンツ配信システムの構成の説明を終了する。
【0050】
≪第1実施形態に係るコンテンツ配信システムの動作≫
コンテンツ受信装置600からのコンテンツ再生、停止等の要求は、配信制御装置400に対してRTSPプロトコルで行うものとする。ここでは、標準的なRTSPのシーケンスで使用されるメソッドに対する、コンテンツ配信システム1の動作について説明する。
【0051】
<コンテンツの再生>
(DESCRIBEメソッド)
まず、コンテンツ受信装置600は、コンテンツの情報を取得するため、DESCRIBEメソッドを送信する。図8に、DESCRIBEメソッドに対するコンテンツ配信システム1の動作シーケンスを示す。
コンテンツ受信装置600から送信されたDESCRIBE要求は、配信制御装置400の配信制御部420に送られる(ステップS61)。配信制御部420は、コンテンツの情報を設定ファイルから取得し(ステップS62)、DESCRIBEの応答としてコンテンツ受信装置600に送信する(ステップS63)。
【0052】
(SETUPメソッド)
次に、コンテンツ受信装置600は、コンテンツ受信の準備のため、SETUPメソッドを送信する。図9に、SETUPメソッドに対するコンテンツ配信システム1の動作シーケンスを示す。
コンテンツ受信装置600から送信されたSETUP要求は、配信制御装置400の配信制御部420に送られる(ステップS71)。配信制御部420は、コンテンツ配信装置300に対して、設定ファイルから取得したマルチキャストアドレス及びポート番号と、ステップS71で送られるコンテンツ受信装置600のクライアントアドレス及びポート番号を通知する(ステップS72)と共に、コンテンツ受信装置600への配信時にRTPヘッダを修正するため、pseudo−ssrcの値をランダムな値に設定する。
ここで、pseudo−ssrcの値はPLAYメソッドによるRTPパケット送出の切り替え毎にRTPヘッダ内のssrc値を変更するために用いられる値である。
【0053】
次に、コンテンツ配信装置300は、通知されたマルチキャストアドレス及びポート番号に対してjoinを行い、エンコーダ200のデータ配信部230から送信されるマルチキャストパケットの受信を開始する(ステップS73)。その後、コンテンツ配信装置300は、配信制御装置400の配信制御部420に対して、コンテンツ受信装置600にデータを送信する際のコンテンツ配信装置300のアドレス及びポート番号を通知する(ステップS74)。
【0054】
全てのコンテンツ配信装置300に対して上記処理が完了した時点で、配信制御装置400の配信制御420は、セッションIDを作成し(ステップS75)、ステップS73で取得した全てのコンテンツ配信装置300のアドレス及びポート番号のリストと共に、コンテンツ受信装置600にSETUPの完了を通知する(ステップS76)。なお、これ以降の通信には、セッションIDが必ず付与される。
【0055】
(PLAYメソッド)
次に、コンテンツ受信装置600は、コンテンツ再生開始のため、PLAYメソッドを送信する。図10に、PLAYメソッドに対するコンテンツ配信システム1の動作シーケンスを示す。
コンテンツ受信装置600から送信されたPLAY要求は、配信制御装置400の配信制御部420に送られる(ステップS81)。配信制御部420は、はじめにデータ受信部410で記録されているFECデータ付加済みMPEGデータ700の先頭のRTPパケットのシーケンス番号を取得し(ステップS82)、その値とpseudo−ssrcの値を各コンテンツ配信装置300に対し通知する(ステップS83)。
【0056】
コンテンツ配信装置300では、データ分割部310において受信されたRTPパケットで、ステップS83で通知されたシーケンス番号以降のRTPパケットを対象に、RTPヘッダのssrcの値をpseudo−ssrcの値で置き換えた後、SETUP時に通知されたコンテンツ受信装置600のアドレス及びポートへコンテンツの配信を開始する(ステップS84)。コンテンツ受信装置600へのデータ配信が開始された場合、コンテンツ配信装置300は、配信制御装置400に対して、配信開始の成功を通知する(ステップS85)。次に、配信制御装置400は、コンテンツ受信装置600に対し配信開始の成功(200OK)を返す(ステップS86)。
【0057】
ここで、ステップS84に示すコンテンツの配信時のコンテンツ配信システム1の動作を説明する。コンテンツ配信装置300は、エンコーダ200からFECデータ付加済みMPEGデータ700を受信し、自己が担当する特定の行のデータのみをコンテンツ受信装置600のアドレス及びポート番号に対して送信する。
コンテンツ受信装置600では、各コンテンツ配信装置300からネットワーク500を介して送信されるRTPパケットを、RTPヘッダのシーケンス番号を元にして並び替えを行った後、FECデコードを行うことによって、元のコンテンツデータの取得が可能となる。
以上で、コンテンツの再生の動作の説明を終了する。
【0058】
<コンテンツ再生の一時停止>
(PAUSEメソッド)
次に、コンテンツ受信装置600は、コンテンツ再生の一時停止をする場合、PAUSEメソッドを送信する。図11に、PAUSEメソッドに対するコンテンツ配信システム1の動作シーケンスを示す。
コンテンツ受信装置600から送信されたPAUSE要求は、配信制御装置400の配信制御部420に送られる(ステップS91)。配信制御部420は、コンテンツ配信装置300に対して、コンテンツの配信一時停止の要求を行う(ステップS92)。
【0059】
次に、コンテンツ配信装置300は、コンテンツ受信装置600への配信を一時停止した後(ステップS93)、コンテンツの配信の一時停止成功を返す(ステップS94)。全コンテンツ配信装置300への配信一時停止要求が成功した場合、配信制御装置400は、pseudo−ssrcの値をPLAYメソッド時に設定した値と異なるランダムな値に変更し、コンテンツ受信装置600に対し配信一時停止成功(200OK)を返す(ステップS95)。
以上で、コンテンツ再生の一時停止の動作の説明を終了する。
【0060】
<コンテンツ再生の停止>
(TEARDOWNメソッド)
次に、コンテンツ受信装置600は、コンテンツ再生を停止する場合、TEARDOWMメソッドを送信する。図12にTEARDOWNメソッドに対するコンテンツ配信システム1の動作シーケンスを示す。
コンテンツ受信装置600から送信されたTEARDOWN要求は、配信制御装置400の配信制御部420に送られる(ステップS101)。配信制御部420は、各コンテンツ配信装置300に対して、コンテンツの配信停止の要求を行う(ステップS102)。
【0061】
次に、コンテンツ配信装置300は、コンテンツ受信装置600への配信を停止した後(ステップS103)、コンテンツの配信停止成功を返す(ステップS104)。全コンテンツ配信装置300への配信停止要求が成功した場合、配信制御装置400は、コンテンツ配信装置600に対し配信停止成功(200OK)を返す(ステップS105)。
以上で、コンテンツ再生の停止の動作の説明を終了する。
【0062】
以上のように、第1実施形態に係るコンテンツ配信システム1は、コンテンツ(FECデータ付加済みMPEGデータ700)を、FECデータ721が並ぶ方向(行方向)と同じ方向に分割し、分割したデータ(メディアデータ711)を別々のコンテンツ配信装置300を用いて送信し、コンテンツ受信装置600で別々に送信されたデータを結合する。
したがって、第1実施形態に係るコンテンツ配信システム1は、#1〜#Nコンテンツ配信装置300のうちいずれか1台が故障した場合でも、コンテンツ受信装置600に送信されるデータは、FECデータ付加済みMPEGデータ700のうち特定の行列730に並ぶメディアデータ711が消失したデータとなり、コンテンツ受信装置600のFECデコーダ部620により復号することができる。その為、コンテンツ受信装置600でコンテンツの閲覧が可能となる。
【0063】
[第2実施形態]
第1実施形態が、コンテンツのライブ配信(放送)を想定していたのに対して、第2実施形態は、コンテンツのVOD(Video On Demand)配信を想定している。
第1実施形態で想定されるコンテンツのライブ配信では、コンテンツ受信装置600が複数ある場合で、これらのコンテンツ受信装置600から同一のコンテンツの再生要求が行われた際に、各コンテンツ受信装置600に同じデータを配信すればよいため、FECエンコード処理をエンコーダ200でコンテンツ毎に1回行えばよい。
一方、第2実施形態で想定されるコンテンツのVOD配信では、コンテンツ受信装置600が複数ある場合で、これらのコンテンツ受信装置600から同一のコンテンツの再生要求が行われた際に、各コンテンツ受信装置600毎に再生しているコンテンツの時刻が異なるため、セッション毎にデータの読み込みやFECエンコードなどの処理が必要になる。
【0064】
≪第2実施形態に係るコンテンツ配信システムの構成≫
図13を参照して、第2実施形態に係るコンテンツ配信システム1001の構成を説明する。図13は、第2実施形態に係るコンテンツ配信システム1001の構成図である。
第1実施形態に係るコンテンツ配信システム1と、第2実施形態に係るコンテンツ配信システム1001との違いは、ビデオカメラ100が削除されコンテンツ格納装置1100が追加されている点と、コンテンツ管理装置250の構成及び配信制御装置400の構成が変更されて、コンテンツ管理装置1200及び配信制御装置1400に変更されている点である。なお、#1〜#Nコンテンツ配信装置300、ネットワーク500、及びコンテンツ受信装置600の構成は、第1実施形態と同様である。以下では、第2実施形態に係るコンテンツ配信システム1001の構成の内、第1実施形態から変更されている構成について説明する。
【0065】
<コンテンツ格納装置>
コンテンツ格納装置1100は、例えば、内蔵ディスク、外部RAID(Redundant Array of Inexpensive Disks)装置など、MPEGエンコード済みのデータ(コンテンツ)を格納する装置である。コンテンツ格納装置1100は、コンテンツ管理装置1200と接続されており、コンテンツ管理装置1200から指定されたコンテンツをコンテンツ管理装置1200に対して送信する。
【0066】
<コンテンツ管理装置>
図14を参照して、第2実施形態に係るコンテンツ管理装置1200の構成を説明する。図14は、第2実施形態に係るコンテンツ管理装置1200の機能構成図である。
コンテンツ管理装置1200は、コンテンツ管理部1210と、FECエンコーダ部220と、データ配信部230と、制御部1240とを備える。なお、FECエンコーダ部220、及びデータ配信部230は、第1実施形態の機能と同様である。
【0067】
(コンテンツ管理部)
コンテンツ管理部1210は、コンテンツ格納装置1100に格納されるコンテンツの情報、コンテンツの配信時に使用する配信テーブルを図示しない記憶部に記憶している。また、コンテンツ管理部1210は、コンテンツ格納装置1100に対して、指定するコンテンツの読み込みを行う。
【0068】
(制御部)
制御部1240は、配信制御装置1400からのコンテンツの配信要求を受信し、コンテンツ管理部1210に対するデータ(コンテンツ)の読み込み指示、及びデータ配信部230に対するコンテンツ配信指示を行う。
以上で、コンテンツ管理装置1200の構成の説明を終了する。
【0069】
<配信制御装置>
図15を参照して、第2実施形態に係る配信制御装置1400の構成を説明する。図15は、第2実施形態に係る配信制御装置1400の機能構成図である。配信制御装置1400は、配信制御部1420を備える。
【0070】
(配信制御部)
配信制御部1420は、コンテンツ受信装置600からの各種要求(本実施形態では、RTSPに準拠する)に応じて、コンテンツ管理装置1200の制御部1240、及び#1〜#Nコンテンツ配信装置300の配信制御部330に対して、要求に応じた処理の指示を行う。
以上で、配信制御装置1400の構成の説明を終了する。また、第2実施形態に係るコンテンツ配信システム1001の構成の説明を終了する。
【0071】
≪第2実施形態に係るコンテンツ配信システムの動作≫
コンテンツ受信装置600からのコンテンツ再生、停止等の要求は、配信制御装置1400に対してRTSPプロトコルで行うものとする。ここでは、標準的なRTSPのシーケンスで使用されるメソッドに対する、コンテンツ配信システム1001の動作について説明する。
【0072】
<コンテンツの再生>
(DESCRIBEメソッド)
まず、コンテンツ受信装置600は、コンテンツの情報を取得するため、DESCRIBEメソッドを送信する。図16に、DESCRIBEメソッドに対するコンテンツ配信システム1001の動作シーケンスを示す。
コンテンツ受信装置600から送信されたDESCRIBE要求は、配信制御装置1400の配信制御部1420に送られる(ステップS11)。配信制御部1420は、コンテンツの情報をコンテンツ管理装置1200から取得し(ステップS12,S13)、DESCRIBEの応答としてコンテンツ受信装置600に送信する(ステップS14)。
【0073】
(SETUPメソッド)
次に、コンテンツ受信装置600は、コンテンツ受信の準備のため、SETUPメソッドを送信する。図17に、SETUPメソッドに対するコンテンツ配信システム1001の動作シーケンスを示す。
コンテンツ受信装置600から送信されたSETUP要求は、配信制御装置1400の配信制御部1420に送られる(ステップS21)。配信制御部1420は、コンテンツ管理装置1200の制御部1240に対して指定されたコンテンツのオープンを行う。また、データ配信部1230は、RTPヘッダのssrcの値をランダムな値に設定すると共に、配信する際に使用するマルチキャストアドレスとポート番号を取得し(ステップS22)、そのアドレスとポート番号を配信制御装置1400の配信制御部1420に送信する(ステップS23)。
【0074】
次に、配信制御装置1400は、マルチキャストアドレスやポート番号と、ステップS21で送られるコンテンツ受信装置600のクライアントアドレスやポート番号を、コンテンツ配信装置300に対して通知する(ステップS24)。コンテンツ配信装置300は、通知されたマルチキャストアドレス及びポート番号に対してjoinを行い、コンテンツ管理装置1200のデータ配信部1230から送信されるマルチキャストパケットの受信を行えるように準備する。また、コンテンツ配信装置300は、配信制御装置1400の配信制御部1420に対して、コンテンツ受信装置600にデータを送信する際のコンテンツ配信装置300のアドレス及びポート番号を通知する(ステップS25)。
【0075】
全てのコンテンツ配信装置300に対してステップS25までの処理が完了した時点で、配信制御装置1400の配信制御部1420は、セッションIDを作成し(ステップS26)、ステップS25で取得した全コンテンツ配信装置300のアドレス及びポート番号のリストと共に、コンテンツ受信装置600にSETUPの完了を通知する(ステップS27)。なお、これ以降の通信にはセッションIDが必ず付与される。
【0076】
(PLAYメソッド)
次に、コンテンツ受信装置600は、コンテンツ再生開始のため、PLAYメソッドを送信する。図18にPLAYメソッドに対するコンテンツ配信システム1001の動作シーケンスを示す。
コンテンツ受信装置600から送信されたPLAY要求は、配信制御装置1400の配信制御部1420に送られる(ステップS31)。配信制御部1420は、はじめに各コンテンツ配信装置300に対して、コンテンツ管理装置1200から受信したMPEGデータ700からなるコンテンツをコンテンツ受信装置600に配信できるように、SETUP時に通知されたコンテンツ受信装置600のアドレス及び受信ポートへのコンテンツの配信開始の準備を要求する(ステップS32)。
【0077】
全コンテンツ配信装置300への配信開始の準備要求が成功した場合(ステップS33)、配信制御装置1400は、コンテンツ管理装置1200の制御部1240に対して、ステップS31で指定された配信開始時刻からのコンテンツの読み込み及びマルチキャストでのコンテンツの配信を指示する(ステップS34)。コンテンツ管理装置1200において、配信開始時刻とコンテンツデータ位置との対応は、コンテンツ管理部1210内のコンテンツごとの配信テーブルを参照することにより得られる。
【0078】
次に、コンテンツ管理装置1200は、コンテンツのマルチキャスト配信開始前に、RTPヘッダのシーケンス番号をランダムな値で初期化し、各コンテンツ配信装置300に対してマルチキャストによりコンテンツの配信を開始する(各コンテンツ配信装置300に配信されたコンテンツは、コンテンツ受信装置600に配信される)(ステップS35)。マルチキャストでのデータ配信が開始された場合、コンテンツ管理装置1200は、配信制御装置1400に対して、配信開始の成功を通知する(ステップS36)。次に、配信制御装置1400は、コンテンツ受信装置600に対して、コンテンツの配信開始の成功(200OK)を通知する(ステップS37)。
【0079】
ここで、ステップS35によるコンテンツの配信時のコンテンツ配信システム1001の動作を説明する。
まず、コンテンツ管理装置1200では、コンテンツ管理部1210内のコンテンツごとの配信テーブルに従い、データ配信の時刻を決定する。データ配信部1230では、上記配信時刻に従ってコンテンツ管理部1210からコンテンツデータの読み込み及びFECエンコードを行い、SETUP時に指定したマルチキャストアドレス及びポート番号に対してコンテンツの配信を行う。これにより、コンテンツ配信装置300では、SETUP時にjoinしたマルチキャストアドレス及びポートからFECデータ付加済みMPEGデータ700が受信可能となる。
【0080】
コンテンツ配信装置300は、FECデータ付加済みMPEGデータ700を受信し、自己が担当する特定の行のデータのみをコンテンツ受信装置600のアドレス及びポート番号に対して送信する。コンテンツ受信装置600では、各コンテンツ配信装置300からネットワーク500を介して送信されるRTPパケットを、RTPヘッダのシーケンス番号を元にして並び替えを行った後、FECデコードを行うことによって、元のコンテンツデータの取得が可能となる。
以上で、コンテンツの再生の動作の説明を終了する。
【0081】
<コンテンツ再生の一時停止>
(PAUSEメソッド)
次に、コンテンツ受信装置は、再生の一時停止・ジャンプなどをする場合、PAUSEメソッドを送信する。図19に、PAUSEメソッドに対するコンテンツ配信システム1001の動作シーケンスを示す。
コンテンツ受信装置600から送信されたPAUSE要求は、配信制御装置1400の配信制御部1420に送られる(ステップS41)。配信制御部1420は、はじめにコンテンツ配信装置300に対して、コンテンツの配信一時停止の要求を行う(ステップS42,S43)。
【0082】
全コンテンツ配信装置300への配信一時停止要求が成功した場合、配信制御装置1400は、コンテンツ管理装置1200の制御部1240を介してデータ配信部1230からのマルチキャスト配信の一時停止を行う(ステップS44)。データ配信部1230は、コンテンツの配信を一時停止後、RTPヘッダのssrcの値をPLAYメソッド時に設定した値と異なるランダムな値に変更し(ステップS45)、配信一時停止成功を返す(ステップS46)。次に、配信制御装置1400は、コンテンツ受信装置600に対し配信一時停止成功(200OK)を返す(ステップS47)。
以上で、コンテンツ再生の一時停止の動作の説明を終了する。
【0083】
<コンテンツ再生の停止>
(TEARDOWNメソッド)
次に、コンテンツ受信装置600は、コンテンツ再生を停止する場合、TEARDOWNメソッドを送信する。図20に、TEARDOWNメソッドに対するコンテンツ配信システム1001の動作シーケンスを示す。
コンテンツ配信装置600から送信されたTEARDOWN要求は、配信制御装置1400の配信制御部1420に送られる(ステップS51)。配信制御部1420は、はじめに各コンテンツ配信装置300に対して、コンテンツの配信停止の要求を行い、コンテンツ配信装置300は、コンテンツ受信装置600へのコンテンツの配信を停止する。その後、コンテンツ配信装置300は、コンテンツ管理装置1200からデータ送信されているマルチキャストアドレス及びポート番号からleaveを行い、データの受信を停止する(ステップS52,S53)。
【0084】
全コンテンツ配信装置300への配信停止要求が成功した場合、配信制御装置1400は、コンテンツ管理装置1200の制御部1240を介してデータ配信部1230からのマルチキャスト配信の停止を指示し、コンテンツ管理装置1200は、マルチキャスト配信の停止を行う。また、コンテンツ管理部1210からのデータ読み込みを停止し、コンテンツをクローズする(ステップS54,S55)。次に、配信制御装置1400は、コンテンツ受信装置600に対し配信停止成功(200OK)を返す(ステップS56)。
以上で、コンテンツ再生の停止の動作の説明を終了する。
【0085】
上記の動作により、コンテンツ受信装置600におけるコンテンツの再生・停止が可能となる。また、コンテンツ再生時の特殊操作に関しても、(1)「一時停止→再生」は「PAUSE→PLAY」、(2)「ジャンプ再生」は「PAUSE→PLAY(再生開始時刻がPAUSEと異なる)」により実現でき、(3)「早送り・巻き戻し」は「コンテンツ管理部1210内のコンテンツごとの配信テーブルにより、データ配信部1230のデータ読み取り速度を変える」ことにより実現できる。
【0086】
以上のように、第2実施形態に係るコンテンツ配信システム1001は、コンテンツ(FECデータ付加済みMPEGデータ700)を、FECデータ721が並ぶ方向(行方向)と同じ方向に分割し、分割したデータ(メディアデータ711)を別々のコンテンツ配信装置300を用いて送信し、コンテンツ受信装置600で別々に送信されたデータを結合する。
したがって、第2実施形態に係るコンテンツ配信システム1001は、#1〜#Nコンテンツ配信装置300のうちいずれか1台が故障した場合でも、コンテンツ受信装置600に送信されるデータは、FECデータ付加済みMPEGデータ700のうち特定の行列730に並ぶメディアデータ711が消失したデータとなり、コンテンツ受信装置600のFECデコーダ部620により復号することができる。その為、コンテンツ受信装置600でコンテンツの閲覧が可能となる。さらに、第2実施形態に係るコンテンツ配信システム1001は、コンテンツのライブ配信に限らず、VOD配信も実現可能である。
【0087】
[変形例]
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。実施形態の変形例を以下に示す。
【0088】
(FECデコーダ部)
第1実施形態、及び第2実施形態では、FECデコーダ部620が、例えば1次元Pro−MPEG FECの1つである「Pro−MPEG FEC Code of Practice #3.1」に従ってエンコードを行っていたが、例えば2次元Pro−MPEG FECの1つである「Pro−MPEG FEC Code of Practice #3.2」に従ってエンコードを行うようにしてもよい。FECエンコーダ部620が、「Pro−MPEG FEC Code of Practice #3.2」に従ってエンコードを行った場合、FECデータ付加済みMPEGデータ700の構成は、図21(a)に示すように、列方向のみならず行方向にもFECデータ722が作成されることになる。
【0089】
「Pro−MPEG FEC Code of Practice #3.2」に従ってエンコードを行う場合、データ分割部310は、図21(b)に示すように、取得したFECデータ付加済みMPEGデータ700を行方向(横方向)に分割するようにすればよい。2次元にエンコードを行う場合であっても、列方向に対して符号化を行うことには変わりがないからである。「Pro−MPEG FEC Code of Practice #3.2」に従ってエンコードを行う場合に、行方向の伝送誤り訂正を復元できるので、更に信頼性が増すという効果を奏する。
【0090】
また、第1実施形態、及び第2実施形態では、FECデコーダ部620が、「Pro−MPEG FEC Code of Practice #3.1」に従ってエンコードを行っていたが、その他のFECブロック符号を用いてエンコードを行ってもよい。その場合、適用する誤り訂正符号の種類によっては、FECデータ721(図3参照)のデータサイズは1行とは限らず、複数行としてパラメータ化することもできる。
【0091】
(コンテンツ管理装置、配信制御装置)
第1実施形態では、図1に示すように、コンテンツ管理装置250(特に、エンコーダ200)と配信制御装置400とを別の装置としたが、これらの機能を合わせて一つの装置とすることも可能である。コンテンツ管理装置250(特に、エンコーダ200)と配信制御装置400とを一つにした装置を、図22に示すように、コンテンツ配信制御装置910と呼ぶ場合がある。なお、第2実施形態のコンテンツ管理装置1200と、配信制御装置1400についても同様に、これらの機能を合わせて一つの装置とすることが可能である。
【0092】
(コンテンツ配信装置のナンバー「#」)
第1実施形態、及び第2実施形態では、コンテンツ配信装置300に与えられるナンバー(図1及び図13では「#」と記載)が固定されていることを想定していたが、コンテンツ毎に配信制御装置400,1400がコンテンツ配信装置300にナンバーを付与し、各コンテンツ装置300に通知するようにしてもよい。ただし、1つのコンテンツに対して、複数のコンテンツ配信装置300に同一のナンバーを付与することはできない。
【0093】
(データ配信部)
第1実施形態、及び第2実施形態では、データ配信部230が、#1コンテンツ配信装置300〜#Nコンテンツ配信装置300に対して、FECデータ付加済みMPEGデータ700をマルチキャストで配信していたが、ユニキャストで配信するようにしてもよい。ユニキャストで配信する場合、配信制御装置400の制御により、データ配信部230は、全てのコンテンツ配信装置300に対して、FECデータ付加済みMPEGデータ700の全体を送信するのではなく、特定のコンテンツ配信装置300に対して、特定の行のデータを送るようにしてもよい(例えば、#Nコンテンツ配信装置に対して、FECデータ付加済みMPEGデータ700のn行目を送信するようにする)。
【符号の説明】
【0094】
1,1001 コンテンツ配信システム
100 ビデオカメラ(データ生成部)
200 エンコーダ
210 MPEGエンコーダ部(MPEG符号化部)
220 FECエンコーダ部(誤り訂正符号化部、誤り訂正符号化手段、誤り訂正符号化機能)
230 データ配信部
250,1200 コンテンツ管理装置
300 コンテンツ配信装置
310 データ分割部
320 データ配信部
330 配信制御部
400,1400 配信制御装置
410 データ受信部
420 配信制御部(配信制御手段、配信制御機能)
500 ネットワーク
600 コンテンツ受信装置
610 データ結合部
620 FECデコーダ部(誤り訂正復号化部)
630 出力部
900 コンテンツ配信制御システム
910 コンテンツ配信制御装置
1100 コンテンツ格納装置
1210 コンテンツ管理部
1240 制御部
1420 配信制御部

【特許請求の範囲】
【請求項1】
コンテンツ管理装置と、N台(Nは複数)のコンテンツ配信装置と、コンテンツ受信装置とがネットワークを介して接続されるコンテンツ配信システムであって、
前記コンテンツ管理装置は、
コンテンツを所定のデータサイズに分割した複数のメディアデータを、D×L行列(DはN−1、Lは整数)となるように行方向に時系列順に並べ、前記D×L行列の列方向に並べられるD個の前記メディアデータに対する冗長データを所定の行にL個並べることで、N×L行列で構成される符号化データを作成する誤り訂正符号化部と、
前記誤り訂正符号化部が作成した符号化データを前記N台のコンテンツ配信装置に対して送信するデータ配信部と、を備え、
n番目(1≦n≦N)の前記コンテンツ配信装置は、
受信した前記符号化データのn行目に並べられるデータを、他の前記コンテンツ配信装置と同期を取って前記コンテンツ受信装置に対して送信するデータ配信部と、を備え、
前記コンテンツ受信装置は、
前記N台のコンテンツ配信装置から受信した複数の前記n行目に並べられるデータを結合するデータ結合部と、
前記符号化データを構成する前記メディアデータのうち、受信しなかった何れかの行の前記メディアデータがある場合に、前記符号化データを構成する前記冗長データ及び受信した前記メディアデータを用いて復号する誤り訂正復号化部と、
前記データ結合部が結合し、又は、前記誤り訂正復号化部が復号した前記メディアデータを出力する出力部と、を備える、
ことを特徴とするコンテンツ配信システム。
【請求項2】
前記誤り訂正符号化部は、
前記D×L行列の列方向に並べられるD個の前記メディアデータに対する冗長データをN行目にL個並べる、
ことを特徴とする請求項1に記載のコンテンツ配信システム。
【請求項3】
前記データ配信部は、
前記符号化データを、LAN又は専用線を介して、マルチキャストにより前記N台のコンテンツ配信装置に対して送信する、
ことを特徴とする請求項1又は請求項2に記載のコンテンツ配信システム。
【請求項4】
前記データ配信部は、
前記符号化データを構成する前記メディアデータ及び前記冗長データに、ユニークなシーケンス番号を設定したRTPヘッダを付加することでRTPパケットを作成し、前記RTPパケットを前記N台のコンテンツ配信装置に対して送信し、
データ結合部は、
前記RTPパケットを受信し、RTPヘッダに設定されているシーケンス番号に基づいて前記n行目に並べられるデータを結合する、
ことを特徴とする請求項1ないし請求項3のいずれか1項に記載のコンテンツ配信システム。
【請求項5】
前記コンテンツ管理装置は、
入力した画像データや音声データをMPEG方式により符号化することで、MPEG方式により符号化された前記コンテンツを生成するMPEG符号化部、をさらに備える、
ことを特徴とする請求項1ないし請求項4のいずれか1項に記載のコンテンツ配信システム。
【請求項6】
前記コンテンツ管理装置は、
MPEG方式により符号化された前記コンテンツを格納するコンテンツ格納装置と接続され、
前記コンテンツ格納装置から前記コンテンツを取得するコンテンツ管理部をさらに備える、
ことを特徴とする請求項1ないし請求項4のいずれか1項に記載のコンテンツ配信システム。
【請求項7】
前記コンテンツ管理装置は、
誤り訂正符号化部が、
前記D×L行列の列方向に並べられるL個の前記メディアデータに対する冗長データを所定の列にさらにN個並べることで、N×(L+1)行列で構成される符号化データを作成する、
ことを特徴とする請求項1ないし請求項6のいずれか1項に記載のコンテンツ配信システム。
【請求項8】
コンテンツ管理装置と、N台(Nは複数)のコンテンツ配信装置とが通信可能に接続され、コンテンツ受信装置に対するコンテンツの配信を制御するコンテンツ配信制御システムであって、
前記コンテンツ管理装置は、
コンテンツを所定のデータサイズに分割した複数のメディアデータを、D×L行列(DはN−1、Lは整数)となるように行方向に時系列順に並べ、前記D×L行列の列方向に並べられるD個の前記メディアデータに対する冗長データを所定の行にL個並べることで、N×L行列で構成される符号化データを作成する誤り訂正符号化部と、
前記誤り訂正符号化部が作成した符号化データを前記N台のコンテンツ配信装置に対して送信するデータ配信部と、を備え、
n番目(1≦n≦N)の前記コンテンツ配信装置は、
受信した前記符号化データのn行目に並べられるデータを、他の前記コンテンツ配信装置と同期を取って前記コンテンツ受信装置に対して送信するデータ配信部と、を備える、
ことを特徴とするコンテンツ配信制御システム。
【請求項9】
N個(Nは複数)のコンテンツ配信装置と通信可能に接続されるコンテンツ配信制御装置であって、
コンテンツを所定のデータサイズに分割した複数のメディアデータを、D×L行列(DはN−1、Lは整数)となるように行方向に時系列順に並べ、前記D×L行列の列方向に並べられる前記メディアデータの冗長データを行方向に並べることで、N×L行列で構成される符号化データを作成する誤り訂正符号化手段と、
前記符号化データのn行目(1≦n≦N)に並べられるデータを、n番目の前記コンテンツ配信装置に対して配信するように制御する配信制御手段と、
を備えることを特徴とするコンテンツ配信制御装置。
【請求項10】
コンテンツを所定のデータサイズに分割した複数のメディアデータを(N−1)台のコンテンツ配信装置から受信し、前記複数のメディアデータの冗長データを他のA台(A≧1)のコンテンツ配信装置から受信するコンテンツ受信装置であって、
n番目(1≦n≦N)の前記コンテンツ配信装置から受信したデータを時系列順に複数の前記n行目に並べられるデータを結合するデータ結合部と、
前記符号化データを構成する前記メディアデータのうち、受信しなかった何れかの行の前記メディアデータがある場合に、前記符号化データを構成する前記冗長データ及び受信した前記メディアデータを用いて復号する誤り訂正復号化部と、
前記データ結合部が結合し、又は、前記誤り訂正復号化部が復号した前記メディアデータを出力する出力部と、を備える、
ことを特徴とするコンテンツ受信装置。
【請求項11】
N個(Nは複数)のコンテンツ配信装置と通信可能に接続されるコンテンツ配信装置で実行するコンテンツ配信制御プログラムであって、
コンテンツを所定のデータサイズに分割した複数のメディアデータを、D×L行列(DはN−1、Lは整数)となるように行方向に時系列順に並べ、前記D×L行列の列方向に並べられる前記メディアデータの冗長データを行方向に並べることで、N×L行列で構成される符号化データを作成する誤り訂正符号化機能と、
前記符号化データのn行目(1≦n≦N)に並べられるデータを、n番目の前記コンテンツ配信装置に対して配信するように制御する配信制御機能と、
を実行させるためのコンテンツ配信制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2013−69116(P2013−69116A)
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2011−207227(P2011−207227)
【出願日】平成23年9月22日(2011.9.22)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】