(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6653575
(24)【登録日】2020年1月30日
(45)【発行日】2020年2月26日
(54)【発明の名称】コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、端末装置の動作方法、およびコンテンツ供給システム
(51)【国際特許分類】
H04N 21/238 20110101AFI20200217BHJP
G06F 13/00 20060101ALI20200217BHJP
【FI】
H04N21/238
G06F13/00 520B
【請求項の数】18
【全頁数】20
(21)【出願番号】特願2015-527260(P2015-527260)
(86)(22)【出願日】2014年7月8日
(86)【国際出願番号】JP2014068125
(87)【国際公開番号】WO2015008653
(87)【国際公開日】20150122
【審査請求日】2017年7月5日
【審判番号】不服2019-5361(P2019-5361/J1)
【審判請求日】2019年4月23日
(31)【優先権主張番号】特願2013-148212(P2013-148212)
(32)【優先日】2013年7月17日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】316009762
【氏名又は名称】サターン ライセンシング エルエルシー
【氏名又は名称原語表記】Saturn Licensing LLC
(74)【代理人】
【識別番号】100121131
【弁理士】
【氏名又は名称】西川 孝
(74)【代理人】
【識別番号】100082131
【弁理士】
【氏名又は名称】稲本 義雄
(72)【発明者】
【氏名】山岸 靖明
【合議体】
【審判長】
鳥居 稔
【審判官】
間宮 嘉誉
【審判官】
千葉 輝久
(56)【参考文献】
【文献】
国際公開第2013/052780(WO,A1)
【文献】
米国特許出願公開第2013/0060956(US,A1)
【文献】
米国特許出願公開第2012/0239785(US,A1)
【文献】
米国特許出願公開第2011/0302618(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00-21/858
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
コンテンツのフラグメントストリームをマルチキャスト配信するコンテンツ供給装置において、
リアルタイムに撮影された前記コンテンツのソースデータを元にしてランダムアクセス可能な、それぞれがGOP(group of pictures)からなる第1のデータ単位で前記フラグメントストリームを順次生成するフラグメントストリーム生成部と、
順次生成された前記コンテンツのフラグメントストリームを前記第1のデータ単位よりも時間長が短い第2のデータ単位毎に細分化し、前記第2のデータ単位毎にファイル送信単位を順次生成し、順次生成した前記ファイル送信単位を順次FLUTEを介して配信する配信部と
を備えるコンテンツ供給装置。
【請求項2】
前記配信部は、前記フラグメントストリームの前記第1のデータ単位の前記第2のデータ単位に対して、version属性が追加されたmoof、および前記第2のデータ単位のデータを格納したmdatからなる前記ファイル送信単位を生成する
請求項1に記載のコンテンツ供給装置。
【請求項3】
前記配信部は、
前記フラグメントストリームの前記第1のデータ単位の先頭の前記第2のデータ単位に対して、styp、version属性およびntptが追加されたmoof、および前記第2のデータ単位のデータを格納したmdatからなる前記ファイル送信単位を生成し、
前記第1のデータ単位の前記先頭の前記第2のデータ単位とは異なる他の第2のデータ単位に対して、moof、およびmdatからなる前記ファイル送信単位を生成する
請求項2に記載のコンテンツ供給装置。
【請求項4】
前記配信部は、前記version属性にmoofのバーションを示す数値を格納し、前記ntptに前記第1のデータ単位の先頭の前記第2のデータ単位のBaseMediaDecodeTime-1に対応するNTP Time-1を格納する
請求項3に記載のコンテンツ供給装置。
【請求項5】
前記配信部は、前記先頭の前記第2のデータ単位とは異なる他の第2のデータ単位に対応する前記ファイル送信単位のmoofを、前回生成した前記ファイル送信単位の、前記version属性および前記ntptを含む前記moofをコピーして更新することにより生成する
請求項4に記載のコンテンツ供給装置。
【請求項6】
コンテンツのフラグメントストリームをマルチキャスト配信するコンテンツ供給装置のコンテンツ供給方法において、
前記コンテンツ供給装置による、
リアルタイムに撮影された前記コンテンツのソースデータを元にしてランダムアクセス可能な、それぞれがGOP(group of pictures)からなる第1のデータ単位で前記フラグメントストリームを順次生成するフラグメントストリーム生成ステップと、
順次生成された前記コンテンツのフラグメントストリームを前記第1のデータ単位よりも時間長が短い第2のデータ単位毎に細分化し、前記第2のデータ単位毎にファイル送信単位を順次生成し、順次生成した前記ファイル送信単位を順次FLUTEを介して配信する配信ステップと
を含むコンテンツ供給方法。
【請求項7】
コンテンツのフラグメントストリームをマルチキャスト配信するコンピュータに、
リアルタイムに撮影された前記コンテンツのソースデータを元にしてランダムアクセス可能な、それぞれがGOP(group of pictures)からなる第1のデータ単位で前記フラグメントストリームを順次生成するフラグメントストリーム生成部と、
順次生成された前記コンテンツのフラグメントストリームを前記第1のデータ単位よりも時間長が短い第2のデータ単位毎に細分化し、前記第2のデータ単位毎にファイル送信単位を順次生成し、順次生成した前記ファイル送信単位を順次FLUTEを介して配信する配信部と
して機能させるプログラム。
【請求項8】
コンテンツのフラグメントストリームをマルチキャスト配信するコンテンツ供給装置から配信された前記コンテンツを受信、再生する端末装置において、
前記フラグメントストリームは、前記コンテンツのソースデータを元にしてランダムアクセス可能な、それぞれがGOP(group of pictures)からなる第1のデータ単位で順次生成され、
第2のデータ単位からなるファイル送信単位は、順次生成された前記コンテンツのフラグメントストリームが前記第1のデータ単位よりも時間長が短い第2のデータ単位毎に細分化されることにより、順次生成されて、FLUTEを介して配信され、
順次FLUTE配信された前記ファイル送信単位を受信し、前記第1のデータ単位に対応する複数の前記ファイル送信単位が受信できるまでバッファリングし、前記第1のデータ単位に対応する複数の前記ファイル送信単位毎で再生するように構成される
端末装置。
【請求項9】
前記ファイル送信単位の1つは、前記ファイル送信単位の1つに対応する前記第2のデータ単位に対して、version属性が追加されたmoof、および前記第2のデータ単位のデータが格納されたmdatを含む
請求項8に記載の端末装置。
【請求項10】
前記第2のデータ単位が、先頭の前記第2のデータ単位に続く他の第2のデータ単位を含む第1のデータ単位が細分化された先頭の第2のデータ単位であるとき、前記moofは、styp、およびntptをさらに含む
請求項9に記載の端末装置。
【請求項11】
前記ntptは、前記第2のデータ単位のデコーディングタイムを含む
請求項10に記載の端末装置。
【請求項12】
前記他の第2のデータ単位に対応する前記ファイル送信単位の他の1つのmoofは、前記ファイル送信単位の1つの前記moofのコピーである
請求項11に記載の端末装置。
【請求項13】
コンテンツのフラグメントストリームをマルチキャスト配信するコンテンツ供給装置から配信された前記コンテンツを受信、再生する端末装置において、
前記フラグメントストリームは、前記コンテンツのソースデータを元にしてランダムアクセス可能な、それぞれがGOP(group of pictures)からなる第1のデータ単位で順次生成され、
第2のデータ単位からなるファイル送信単位は、順次生成された前記コンテンツのフラグメントストリームが前記第1のデータ単位よりも時間長が短い第2のデータ単位毎に細分化されることにより、順次生成されて、FLUTEを介して配信され、
順次FLUTE配信された前記ファイル送信単位を受信し、前記第1のデータ単位に対応する複数の前記ファイル送信単位が受信できるまでバッファリングし、前記第1のデータ単位に対応する複数の前記ファイル送信単位毎で再生する
端末装置の動作方法。
【請求項14】
前記ファイル送信単位の1つは、前記ファイル送信単位の1つに対応する前記第2のデータ単位に対して、version属性が追加されたmoof、および前記第2のデータ単位のデータが格納されたmdatを含む
請求項13に記載の端末装置の動作方法。
【請求項15】
前記第2のデータ単位が、先頭の前記第2のデータ単位に続く他の第2のデータ単位を含む第1のデータ単位が細分化された先頭の第2のデータ単位であるとき、前記moofは、styp、およびntptをさらに含む
請求項14に記載の端末装置の動作方法。
【請求項16】
前記ntptは、前記第2のデータ単位のデコーディングタイムを含む
請求項15に記載の端末装置の動作方法。
【請求項17】
前記他の第2のデータ単位に対応する前記ファイル送信単位の他の1つのmoofは、前記ファイル送信単位の1つの前記moofのコピーである
請求項16に記載の端末装置の動作方法。
【請求項18】
コンテンツのフラグメントストリームをマルチキャスト配信するコンテンツ供給装置と、前記コンテンツ供給装置から配信された前記コンテンツを受信、再生する端末装置とから成るコンテンツ供給システムにおいて、
前記コンテンツ供給装置は、
リアルタイムに撮影された前記コンテンツのソースデータを元にしてランダムアクセス可能な、それぞれがGOP(group of pictures)からなる第1のデータ単位で前記フラグメントストリームを順次生成するフラグメントストリーム生成部と、
順次生成された前記コンテンツのフラグメントストリームを前記第1のデータ単位よりも時間長が短い第2のデータ単位毎に細分化し、前記第2のデータ単位毎にファイル送信単位を順次生成し、順次生成した前記ファイル送信単位を順次FLUTEを介して配信する配信部と
を備え、
前記端末装置は、
順次FLUTEを介して配信された前記ファイル送信単位を受信し、前記第1のデータ単位に対応する複数の前記ファイル送信単位が受信できるまでバッファリングし、前記第1のデータ単位に対応する複数の前記ファイル送信単位毎で再生する
コンテンツ供給システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、
端末装置の動作方法、およびコンテンツ供給システムに関し、特に、コンテンツのストリーミングデータをFLUTE(File Delivery over Unidirectional Transport)配信する場合に用いて好適なコンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、
端末装置の動作方法、およびコンテンツ供給システムに関する。
【背景技術】
【0002】
インターネットを介する動画配信に利用可能な国際標準化された動画配信プロトコルとして、Webサイトなどの閲覧と同様のHTTPを用いるMPEG-DASH(Moving Picture Experts Group-Dynamic Adaptive Streaming over HTTP。以下、DASHと称する)が知られている(例えば、非特許文献1を参照)。
【0003】
DASHでは適応型ストリーミング技術が実現されている。すなわち、コンテンツの供給側は、同一内容のコンテンツであって、画質や画角サイズなどの違いによってビットレートが異なる複数のストリームを用意するようになされている。一方、受信側は、供給側が用意している複数のストリームのうち、インターネットの通信環境や自己のデコード能力などに応じて最適なストリームを選択して取得、再生することができる。
【0004】
なお、受信側がストリームを適応的に選択して受信、再生できるように、MPD(Media Presentation Description)と称されるメタファイルが供給側から受信側に供給されるようになされている。
【0005】
MPDには、チャンク化されたコンテンツのストリーミングデータ(Audio/Video/Subtitle等のメディアデータ)を受信側に供給するサーバ(供給元)のアドレス(url情報)が記述されている。受信側は該url情報に基づいて、コンテンツの供給元となるサーバにアクセスしてストリーミングデータを要求し、該要求に応じてサーバからHTTPユニキャスト配信されるストリーミングデータを受信、再生することになる。
【0006】
図1は、DASHに基づいてコンテンツをストリーミング配信するコンテンツ供給システムの構成の一例を示している。
【0007】
該コンテンツ供給システム10は、コンテンツを供給する複数のコンテンツ供給装置20と、コンテンツを受信、再生する多数のDASHクライアント30から構成される。DASHクライアント30は、インターネット11を利用したCDN(Contents Delivery Network)12を介してコンテンツ供給装置20に接続できる。
【0008】
コンテンツ供給装置20は、同一内容のコンテンツであってビットレートが異なる複数のストリームを配信する。コンテンツ供給装置20は、チャネルストリーマ21、DASHセグメントストリーマ22、およびDASH MPDサーバ23を有する。
【0009】
チャネルストリーマ21は、DASHクライアント30に配信するためのコンテンツのソースデータを管理しており、該ソースデータからビットレートが異なる複数のストリーミングデータを生成してDASHセグメントストリーマ22に出力する。
【0010】
DASHセグメントストリーマ22は、各ストリーミングデータを時間的にセグメントに分割することにより、例えばFragmented MP4などのセグメントストリームを生成し、生成したセグメントストリームをファイル化して保持する。さらに、DASHセグメントストリーマ22は、WEBサーバとして、DASHクライアント30からの要求(HTTPリクエスト)に応じ、保持するセグメントストリームのファイルを要求元にHTTPユニキャスト配信する。さらに、DASHセグメントストリーマ22は、セグメントストリームのファイルの供給元を表すアドレスを含むメタデータをDASH MPDサーバ23に通知する。
【0011】
DASH MPDサーバ23は、セグメントストリームのファイルの供給元(すなわち、DASHセグメントストリーマ22)を表すアドレスなどを記述したMPDを生成する。また、DASH MPDサーバ23は、WEBサーバとして、DASHクライアント30からの要求(HTTPリクエスト)に応じ、生成したMPDを要求元にHTTPユニキャスト配信する。
【0012】
DASHクライアント30は、DASH MPDサーバ23に対してMPDを要求し、これに応じてHTTPユニキャスト配信されたMPDを受信する。さらに、DASHクライアント30は、受信したMPDに基づいて、DASHセグメントストリーマ22にセグメントストリームのファイルを要求し、これに応じてHTTPユニキャスト配信されるセグメントストリームのファイルを受信、再生する。
【0013】
なお、CDN12は、キャッシュサーバ(不図示)を包含しており、該キャッシュサーバは、CDN12を介してHTTPユニキャスト配信されるMPDやセグメントストリームのファイルをキャッシングする。そして、キャッシュサーバは、WEBサーバとしてのDASH MPDサーバ23またはDASHセグメントストリーマ22に代わり、キャッシングしているMPDやセグメントストリームのファイルを、要求元のDASHクライアント30にHTTPユニキャスト配信することができる。
【先行技術文献】
【非特許文献】
【0014】
【非特許文献1】「既存のWebサーバーで途切れない動画配信を実現」、平林光浩、NIKKEI ELECTRONICS 2012.3.19
【発明の概要】
【発明が解決しようとする課題】
【0015】
上述したように、DASHではHTTPユニキャスト配信を用いた適応的ストリーミング技術が実現されている。
【0016】
ところで、受信側がHTTPユニキャスト配信だけでなく、例えば、FLUTEマルチキャスト配信やRTPマルチキャスト配信されるストリームも受信できるのであれば、それらの配信パスも用いてストリームを配信するようにし、受信側で適応的にストリームを選択できるようにすることが望ましい。
【0017】
すなわち、FLUTEマルチキャスト配信やRTPマルチキャスト配信はQoS(保証帯域/遅延等)が保証されているので、ライブ映像などのリアルタイム性が要求されるコンテンツを配信する場合、HTTPユニキャスト配信に比較して受信側での安定したストリームの受信、再生が期待できる。
【0018】
ここで、リアルタイムに撮影されているコンテンツのソースデータからFragmented MP4などのセグメントストリームが生成され、これが順次、FLUTEマルチキャスト配信される場合について考察する。
【0019】
図2は、Fragmented MP4をFLUTE配信する場合のファイル送信単位の従来の生成方法の概要を示している。
【0020】
すなわち、Fragmented MP4がFLUTE配信される場合、fragmentedMP4のランダムアクセス可能な最少単位であるGOP単位毎にファイル送信単位が生成されて、これがFLUTEマルチキャスト配信される。ただし実際には、GOPの整数倍の単位毎にファイル送信単位が生成される場合もあるが、本明細書においてはGOP単位毎にファイル送信単位が生成されるものとする。
【0021】
なお、
図2の例では、Fragmented MP4のGOP範囲のデータが、時系列順にSample(s)(1),Sample(s)(2),Sample(s)(3)からなるものとする。ファイル送信単位は、Sample(s)(1)からSample(s)(3)までが生成されるのを待って生成され、FLUTEマルチキャスト配信される。
【0022】
図3は、Fragmented MP4がFLUTE配信される場合の従来のファイル送信単位のデータ構造を示している。
【0023】
このファイル送信単位(Media Segment)はstyp,moof,mdatから構成される。moofはmfhdとtrafからなり、trafはtfhd,tfdt,trun,sdtpを有する。mfhdには順次送信されるファイル送信単位のsequence_numberが格納され、trafのtfdtには、該GOP単位の先頭のSample(s)(1)のBaseMediaDecodeTime-1が格納される。trafのtrunには、該GOP単位に属するSample(s)(1)からSample(s)(3)のプレゼンテーションタイムを計算するために必要な情報が格納される。mdatには、mdatのヘッダとSample(s)(1)からSample(s)(3)が格納される。
【0024】
図4は、ファイル送信単位を送信するタイミングを示している。同
図Aは、ファイル送信単位の送信される放送網などの帯域がファイル送信単位のデータ量に比較して充分に広い場合を示しており、この場合であれば、GOP毎にファイル送信単位を滞りなく受信側にバルク転送することができる。
【0025】
しかしながら、実際には、必ずしもファイル送信単位を瞬時にバルク転送できるほど放送網などの帯域が広いとは限らず、また、今後、コンテンツが高画質化してFragmented MP4のビットレートが増加することも考えられる。そのような場合、同
図Bに示されるように、ファイル送信単位の供給に滞りを生じさせてしまうことが起こり得、この滞りが受信側でのバッファリングの開始時刻に遅延をもたらし、結果的にリアルタイム性があるコンテンツの再生に悪影響を与えてしまうことになる。
【0026】
図5は、上述した問題を解決するための方法の概要を示している。すなわち、上記の問題を解決するためには、GOP毎のSample(s)(1)からSample(s)(3)の生成を待ってファイル送信単位を生成、送信するのではなく、
図5に示されるように、ファイル送信単位をより小型化して逐次送信すればよい。しかしながら、そのような方法は従来確立されていない。
【0027】
本開示はこのような状況に鑑みてなされたものであり、セグメントストリームのファイル送信単位を滞りなく送信できるようにするものである。
【課題を解決するための手段】
【0028】
本開示の第1の側面であるコンテンツ供給装置は、コンテンツのフラグメントストリームをマルチキャスト配信するコンテンツ供給装置において、リアルタイムに撮影された前記コンテンツのソースデータを元にしてランダムアクセス可能な
、それぞれがGOP(group of pictures)からなる第1のデータ単位で前記フラグメントストリームを順次生成するフラグメントストリーム生成部と、順次生成された前記コンテンツのフラグメントストリームを前記第1のデータ単位よりも時間長が短い第2のデータ単位毎に細分化し、前記第2のデータ単位毎にファイル送信単位を順次生成し、順次生成した前記ファイル送信単位を順次FLUTEを介して配信する配信部とを備える。
【0029】
前記配信部は、前記フラグメントストリームの前記第1のデータ単位の前記第2のデータ単位に対して、version属性が追加されたmoof、および前記第2のデータ単位のデータを格納したmdatからなる前記ファイル送信単位を生成することができる。
【0030】
前記配信部は、前記フラグメントストリームの前記第1のデータ単位の先頭の前記第2のデータ単位に対して、styp、version属性およびntptが追加されたmoof、および前記第2のデータ単位のデータを格納したmdatからなる前記ファイル送信単位を生成し、前記第1のデータ単位の前記先頭の前記第2のデータ単位とは異なる他の第2のデータ単位に対して、moof、およびmdatからなる前記ファイル送信単位を生成することができる。
【0031】
前記配信部は、前記version属性にmoofのバーションを示す数値を格納し、前記ntptに前記第1のデータ単位の先頭の前記第2のデータ単位のBaseMediaDecodeTime-1に対応するNTP Time-1を格納することができる。
【0032】
前記配信部は、前記先頭の前記第2のデータ単位とは異なる他の第2のデータ単位に対応する前記ファイル送信単位のmoofを、前回生成した前記ファイル送信単位の、前記version属性および前記ntptを含む前記moofをコピーして更新することにより生成することができる。
【0033】
本開示の第1の側面であるコンテンツ供給方法は、コンテンツのフラグメントストリームをマルチキャスト配信するコンテンツ供給装置のコンテンツ供給方法において、前記コンテンツ供給装置による、リアルタイムに撮影された前記コンテンツのソースデータを元にしてランダムアクセス可能な
、それぞれがGOP(group of pictures)からなる第1のデータ単位で前記フラグメントストリームを順次生成するフラグメントストリーム生成ステップと、順次生成された前記コンテンツのフラグメントストリームを前記第1のデータ単位よりも時間長が短い第2のデータ単位毎に細分化し、前記第2のデータ単位毎にファイル送信単位を順次生成し、順次生成した前記ファイル送信単位を順次FLUTEを介して配信する配信ステップとを含む。
【0034】
本開示の第1の側面であるプログラムは、コンテンツのフラグメントストリームをマルチキャスト配信するコンピュータに、リアルタイムに撮影された前記コンテンツのソースデータを元にしてランダムアクセス可能な
、それぞれがGOP(group of pictures)からなる第1のデータ単位で前記フラグメントストリームを順次生成するフラグメントストリーム生成部と、順次生成された前記コンテンツのフラグメントストリームを前記第1のデータ単位よりも時間長が短い第2のデータ単位毎に細分化し、前記第2のデータ単位毎にファイル送信単位を順次生成し、順次生成した前記ファイル送信単位を順次FLUTEを介して配信する配信部として機能させる。
【0035】
本開示の第1の側面においては、コンテンツのソースデータを元にしてランダムアクセス可能な
、それぞれがGOP(group of pictures)からなる第1のデータ単位でフラグメントストリームが順次生成され、生成された前記コンテンツのフラグメントストリームが前記第1のデータ単位に区切られ、さらに前記第1のデータ単位が第2のデータ単位毎に細分化され、前記第2のデータ単位毎にファイル送信単位が生成されてFLUTEを介して配信される。
【0036】
本開示の第2の側面である端末装置は、コンテンツのフラグメントストリームをマルチキャスト配信するコンテンツ供給装置から配信された前記コンテンツを受信、再生する端末装置において、前記フラグメントストリームは、前記コンテンツのソースデータを元にしてランダムアクセス可能な
、それぞれがGOP(group of pictures)からなる第1のデータ単位で順次生成され、第2のデータ単位からなるファイル送信単位は、順次生成された前記コンテンツのフラグメントストリームが前記第1のデータ単位よりも時間長が短い第2のデータ単位毎に細分化されることにより、順次生成されて、FLUTEを介して配信され、順次FLUTE配信された前記ファイル送信単位を受信し、前記第1のデータ単位に対応する複数の前記ファイル送信単位が受信できるまでバッファリングし、前記第1のデータ単位に対応する複数の前記ファイル送信単位毎で再生するように構成される。
本開示の第2の側面である端末装置の動作方法は、コンテンツのフラグメントストリームをマルチキャスト配信するコンテンツ供給装置から配信された前記コンテンツを受信、再生する端末装置において、前記フラグメントストリームは、前記コンテンツのソースデータを元にしてランダムアクセス可能な
、それぞれがGOP(group of pictures)からなる第1のデータ単位で順次生成され、第2のデータ単位からなるファイル送信単位は、順次生成された前記コンテンツのフラグメントストリームが前記第1のデータ単位よりも時間長が短い第2のデータ単位毎に細分化されることにより、順次生成されて、FLUTEを介して配信され、順次FLUTE配信された前記ファイル送信単位を受信し、前記第1のデータ単位に対応する複数の前記ファイル送信単位が受信できるまでバッファリングし、前記第1のデータ単位に対応する複数の前記ファイル送信単位毎で再生する。
【0037】
本開示の第2の側面においては、
順次FLUTE
を介して配信されたファイル送信単位が受信され、第1のデータ単位に対応する複数の前記ファイル送信単位が受信できるまでバッファリングされ、前記第1のデータ単位に対応する複数の前記ファイル送信単位毎で再生される。
【0038】
本開示の第3の側面であるコンテンツ供給システムは、コンテンツのフラグメントストリームをマルチキャスト配信するコンテンツ供給装置と、前記コンテンツ供給装置から配信された前記コンテンツを受信、再生する端末装置とから成るコンテンツ供給システムにおいて、前記コンテンツ供給装置は、リアルタイムに撮影された前記コンテンツのソースデータを元にしてランダムアクセス可能な
、それぞれがGOP(group of pictures)からなる第1のデータ単位で前記フラグメントストリームを順次生成するフラグメントストリーム生成部と、順次生成された前記コンテンツのフラグメントストリームを前記第1のデータ単位よりも時間長が短い第2のデータ単位毎に細分化し、前記第2のデータ単位毎にファイル送信単位を順次生成し、順次生成した前記ファイル送信単位を順次FLUTEを介して配信する配信部とを備え、前記端末装置は、順次FLUTEを介して配信された前記ファイル送信単位を受信し、前記第1のデータ単位に対応する複数の前記ファイル送信単位が受信できるまでバッファリングし、前記第1のデータ単位に対応する複数の前記ファイル送信単位毎で再生する。
【0039】
本開示の第3の側面においては、コンテンツのフラグメントストリームをマルチキャスト配信するコンテンツ供給装置により、コンテンツのソースデータを元にしてランダムアクセス可能な
、それぞれがGOP(group of pictures)からなる第1のデータ単位でフラグメントストリームが順次生成され、生成された前記コンテンツのフラグメントストリームが前記第1のデータ単位に区切られ、さらに前記第1のデータ単位が第2のデータ単位毎に細分化され、前記第2のデータ単位毎にファイル送信単位が生成されて順次FLUTEを介して配信される。また、端末装置により、順次FLUTEを介して配信されたファイル送信単位が受信され、第1のデータ単位に対応する複数の前記ファイル送信単位が受信できるまでバッファリングされ、前記第1のデータ単位に対応する複数の前記ファイル送信単位毎で再生される。
【発明の効果】
【0040】
本開示の第1の側面によれば、セグメントストリームのファイル送信単位を滞りなく送信することができる。
【0041】
本開示の第2の側面によれば、FLUTEマルチキャスト配信されたセグメントストリームを受信、再生することができる。
【0042】
本開示の第3の側面によれば、セグメントストリームのファイル送信単位を滞りなく送信し、端末装置にて受信、再生することができる。
【図面の簡単な説明】
【0043】
【
図1】従来のコンテンツ供給システムの構成の一例を示すブロック図である。
【
図2】Fragmented MP4をFLUTE配信する場合のファイル送信単位の従来の生成方法の概要を示す図である。
【
図3】Fragmented MP4をFLUTE配信する場合の従来のファイル送信単位のデータ構造を示す図である。
【
図4】ファイル送信単位の送信タイミングを示す図である。
【
図5】ファイル送信単位の送信タイミングを示す図である。
【
図6】本開示を適用したコンテンツ供給システムの構成例を示すブロック図である。
【
図7】コンテンツ供給装置にてFragmented MP4をFLUTE配信する場合のファイル送信単位の生成方法の概要を示す図である。
【
図8】コンテンツ供給装置にてFragmented MP4をFLUTE配信する場合のデータ構造を示す図である。
【
図9】Fragmented MP4ファイルフォーマット仕様の拡張を示す図である。
【
図10】Fragmented MP4ファイルフォーマット仕様の拡張を示す図である。
【
図11】FLUTEストリーム配信処理を説明するフローチャートである。
【
図12】
図11ステップS4の処理を説明するフローチャートである。
【
図13】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【0044】
以下、本開示を実施するための最良の形態(以下、実施の形態と称する)について説明する。
【0045】
[コンテンツ供給システムの構成例]
図6は、本開示の実施の形態であるコンテンツ供給システムの構成例を示している。
【0046】
該コンテンツ供給システム50は、複数のコンテンツ供給装置60と、多数の端末装置70から構成される。コンテンツ供給装置60と端末装置70とは、ネットワーク51を介して接続できる。
【0047】
ネットワーク51は、インターネットとそれを利用したCDNに代表される双方向通信網の他、地上放送波、衛星放送波、携帯放送(e)MBMSなどを利用した各種の放送網を含む。
【0048】
ネットワーク51には、UTCタイムフォーマットに従ったシステム時刻情報を提供するNTPサーバ52が接続されている。NTPサーバ52は、各コンテンツ供給装置60、各端末装置70などに対してシステム時刻情報を供給することができ、各コンテンツ供給装置60、および各端末装置70は、NTPサーバ52からのシステム時刻情報に従い、自己のシステム時刻をNTP時間軸に同期させて動作する。
【0049】
コンテンツ供給装置60は、コンテンツをHTTPユニキャスト配信するとともにFLUTEマルチキャスト配信するものである。コンテンツ供給装置60は、チャネルストリーマ61、DASHセグメンタ62、FLUTEストリーマ63、MPDジェネレータ64、WEBサーバ65、およびマルチキャストサーバ66を有する。
【0050】
なお、コンテンツ供給装置60が有するチャネルストリーマ61乃至マルチキャストサーバ66は、一箇所に集積して配置してもよいし、インターネットなどを介して分散して配置してもよい。
【0051】
チャネルストリーマ61は、端末装置70に配信するための、リアルタイムに撮影されたコンテンツのソースデータからビットレートが異なる複数のストリーミングデータを生成してDASHセグメンタ62に出力する。
【0052】
DASHセグメンタ62は、各ストリーミングデータを時間的にセグメントに分割することにより、例えばFragmented MP4などのセグメントストリームを生成し、生成したセグメントストリームをFLUTEストリーマ63およびWEBサーバ65に出力する。また、DASHセグメンタ62は、セグメントストリームの供給元を表すアドレスを含むメタデータをMPDジェネレータ64に通知する。
【0053】
FLUTEストリーマ63は、DASHセグメンタ62から順次入力されるセグメントストリームをFLUTEストリームに変換してマルチキャストサーバ66に出力する(詳細後述)。また、FLUTEストリーマ63は、MPDジェネレータ64で生成されるMPDをFLUTEパケットに格納してマルチキャストサーバ66に出力する。
【0054】
MPDジェネレータ64は、DASHセグメンタ62から通知されるメタデータに基づき、セグメントストリームのファイルの供給元(WEBサーバ65)を表すアドレスなどを記述したMPDを生成してFLUTEストリーマ63およびWEBサーバ65に出力する。
【0055】
WEBサーバ65は、端末装置70からのMPDの要求(HTTPリクエスト)に応じ、MPDジェネレータ64から入力されているMPDを要求元にHTTPユニキャスト配信する。また、WEBサーバ65は、端末装置70からのセグメントストリームの要求(HTTPリクエスト)に応じ、セグメントストリームのファイルを要求元にHTTPユニキャスト配信する。
【0056】
マルチキャストサーバ66は、MPDをFLUTEマルチキャスト配信する。また、マルチキャストサーバ66は、FLUTEストリームをFLUTEマルチキャスト配信する。
【0057】
端末装置70は、ネットワーク51を介してコンテンツ供給装置60からMPDを取得する。具体的には、HTTPリクエストを送信、それに応じてHTTPユニキャスト配信されるMPDを受信するか、FLUTEマルチキャスト配信されるMPDを受信する。また、端末装置70は、取得したMPDに基づいてWEBサーバ65にセグメントストリームを要求し、これに応じてHTTPマルチキャスト配信されるセグメントストリームのファイルを受信、再生する。さらに、端末装置70は、FLUTEマルチキャスト配信されるFLUTEストリームを受信、再生する。なお、端末装置70が、FLUTEマルチキャスト配信されるMPDやFLUTEストリームを受信する場合には、FLUTEマルチキャスト配信を行なうマルチキャストサーバ66のポータルチャネルが記述されたアナウンス情報が参照される。
【0058】
該アナウンス情報は、FLUTEマルチキャスト配信がネットワーク51に含まれる携帯放送(e)MBMSを介して行われる場合、MBMSにおけるUSD(User Service Description)などにより、インタラクションチャネルまたはブロードキャスト・マルチキャストチャネルを介して周知される。また、FLUTEマルチキャスト配信がネットワーク51に含まれる地上放送波または衛星放送を介して行われる場合、該アナウンス情報は、DVB-H(IPDC)のESG(Electronic Service Guide)などにより、インタラクションチャネルまたはブロードキャスト・マルチキャストチャネルを介して周知される。
【0059】
[Fragmented MP4に基づくFLUTEストリームの生成について]
上述したように、従来、Fragmented MP4をFLUTE配信する場合には、GOP毎にファイル送信端を生成して送信していた。本実施の形態では、GOPの途中であっても逐次、ファイル転送単位を生成して配信するようにする。
【0060】
図7は、FLUTEストリーマ63による、順次入力されるFragmented MP4のセグメントストリームから、FLUTEストリームのファイル転送単位を生成する概要を示している。
図7の例では、Fragmented MP4のGOP範囲のデータが、時系列順にSample(s)(1),Sample(s)(2),Sample(s)(3)からなるものとする。
【0061】
まず、Sample(s)(1)が入力された段階で、Sample(s)(1)に対応するファイル送信単位が生成、FLUTE配信され、次に、Sample(s)(2)が入力された段階で、Sample(s)(2)に対応するファイル送信単位、FLUTE配信が生成される。
【0062】
なお、Sample(s)(3)が入力された段階で、Sample(s)(3)に対応するファイル送信単位が生成、FLUTE配信される。ただし、端末装置70では、GOPを構成するSample(s)(1)乃至Sample(s)(3)に対応する3つのファイル送信単位を受信した段階でデコードを行なうものとする。
【0063】
図8は、本実施の形態で生成されるファイル送信単位のデータ構造を示している。このファイル送信単位(Media Segment)はstyp,moof,mdatから構成される。moofはmfhdとtrafからなり、trafはtfhd,tfdt,ntpt,trun,sdtpを有する。
【0064】
図8と
図3を比較して明らかなように、本実施の形態で生成されるファイル送信単位には、
図3のファイル送信単位に対して、mfhdには、moofのバージョンを表すversion属性が追加される。また、moofのtrafにはNTP Time Box(ntpt)が追加される。ntptには、tfdtに格納される該GOP単位の先頭のSample(s)(1)のBaseMediaDecodeTime-1に対応するNTP Time-1が格納される。
【0065】
Sample(s)(1)に対応するファイル送信単位は、styp,moof,mdatを有し、moof/mfhdにはsequence_numberとversion=1が格納され、moof/traf/tfdtにはSample(s)(1)のBaseMediaDecodeTime-1が格納され、moof/traf/ntptにはBaseMediaDecodeTime-1に対応するNTP Time-1が格納される。また、moof/traf/trunにはSample(s)(1)のプレゼンテーションタイムを計算するために必要な情報が格納される。mdatには、mdatのヘッダとSample(s)(1)が格納される。
【0066】
Sample(s)(2)に対応するファイル送信単位では、stypが省略され、moofはSample(s)(1)に対応するファイル送信単位のmoofがコピーされ、moof/mfhdのversionが2に更新されて、moof/traf/trunにはSample(s)(2)のプレゼンテーションタイムを計算するために必要な情報が追加される。mdatには、Sample(s)(2)が格納される。
【0067】
Sample(s)(3)に対応するファイル送信単位では、stypが省略され、moofはSample(s)(2)に対応するファイル送信単位のmoofがコピーされ、moof/mfhdのversionが3に更新されて、moof/traf/trunにはSample(s)(3)のプレゼンテーションタイムを計算するために必要な情報が追加される。mdatには、Sample(s)(3)が格納される。
【0068】
Sample(s)(1),Sample(s)(2),Sample(s)(3)のそれぞれに対応するファイル送信単位のデータを比較した場合、moofについては徐々にそのデータ量が大きくなるものの、mdatには、ほぼ同等となる。また、これらと従来のGOP単位のファイル送信単位のデータ量を比較した場合、ほぼ1/3にすることができるので、
図5に示されたように、ファイル送信単位をより小型化して逐次送信することが可能となる。
【0069】
[Fragmented MP4ファイルフォーマット仕様の拡張]
図9は、moof/mfhdにversion属性を追加するためのFragmented MP4ファイルフォーマット仕様の拡張を示している。
【0070】
すなわち、本実施の形態では、同
図Aに示される従来のmoof/mfhdのsequence_number属性に関するSyntaxに、同
図Bに示されるようにversion属性を追加した状態に拡張する。version属性を設けることにより、端末装置70で受信したファイル送信単位に含まれるmoofのsequence_numberが同一である場合に、そのmoofが先頭のSample(s)(1)のみに対応するものであるのか、Sample(s)(1)からSample(s)(3)、すなわちGOP全体に対応するものであるのかを判断することができる。なお、同
図Aおよび同
図Bをまとめて、同
図Cに示されるようにFragmented MP4ファイルフォーマット仕様を拡張してもよい。
【0071】
図10は、moof/trafにNTP Time Box(ntpt)を追加するためのFragmented MP4のファイルフォーマット仕様の拡張を示している。ntptを設けることにより、コンテンツのリアルタイム性を確保してそのFragmented MP4をFLUTEマルチキャスト配信することができる。
【0072】
[コンテンツ供給システム50の動作]
次に、コンテンツ供給システム50の動作について説明する。
【0073】
図11は、コンテンツ供給装置60にてFLUTEストリームを配信する処理(以下、FLUTEストリーム配信処理と称する)を説明するフローチャートである。
【0074】
ステップS1において、チャネルストリーマ61は、端末装置70に配信するための、リアルタイムに撮影されたコンテンツのソースデータからビットレートが異なる複数のストリーミングデータを生成してDASHセグメンタ62に出力する。DASHセグメンタ62は、各ストリーミングデータを元に、Fragmented MP4(セグメントストリーム)を生成してFLUTEストリーマ63に出力する。
【0075】
ステップS2において、FLUTEストリーマ63は、DASHセグメンタ62から順次入力されるFragmented MP4のGOPの先頭のSample(s)(1)に対応するファイル送信単位を生成する。
【0076】
具体的には、Sample(s)(1)に対応するファイル送信単位として、styp,moof,mdatを設け、moof/mfhdにはsequence_numberとversion=1を格納し、moof/traf/tfdtにはSample(s)(1)のBaseMediaDecodeTime-1を格納し、moof/traf/ntptにはBaseMediaDecodeTime-1に対応するNTP Time-1を格納する。また、moof/traf/trunにはSample(s)(1)のプレゼンテーションタイムを計算するために必要な情報を格納する。mdatには、mdatのヘッダとSample(s)(1)を格納する。
【0077】
ステップS3において、マルチキャストサーバ16は、ステップS2の処理で生成されたSample(s)(1)に対応するファイル送信単位を、ネットワーク51を介してFLUTEマルチキャスト配信する。
【0078】
次に、ステップS4において、FLUTEストリーマ63は、DASHセグメンタ62から順次入力されるFragmented MP4のGOPの次のSample(s)(Sample(s)(2)またはSample(s)(3))に対応するファイル送信単位を生成する。
【0079】
このステップS4の処理について詳述する。
図12は、ステップS4の処理を詳細に説明するフローチャートである。
【0080】
次のSample(s)がSample(s)(2)である場合、ステップS11において、FLUTEストリーマ63は、stypを省略し、前のファイル送信単位(いまの場合、Sample(s)(1)に対応するファイル送信単位)からmoofをコピーする。さらに、ステップS12において、FLUTEストリーマ63は、moof/mfhdのversionを2に更新する。また、moof/traf/trunにはSample(s)(2)のプレゼンテーションタイムを計算するために必要な情報を追加する。ステップS13において、FLUTEストリーマ63は、mdatにSample(s)(2)を格納する。
【0081】
また、次のSample(s)がSample(s)(3)である場合、ステップS11において、FLUTEストリーマ63は、stypを省略し、前のファイル送信単位(いまの場合、Sample(s)(2)に対応するファイル送信単位)からmoofをコピーする。さらに、ステップS12において、FLUTEストリーマ63は、moof/mfhdのversionを3に更新する。また、moof/traf/trunにはSample(s)(3)のプレゼンテーションタイムを計算するために必要な情報を追加する。ステップS13において、FLUTEストリーマ63は、mdatにSample(s)(3)を格納する。
【0082】
図11に戻る。ステップS5において、マルチキャストサーバ16は、ステップS4で生成されたファイル送信単位を、ネットワーク51を介してFLUTEマルチキャスト配信する。ステップS6において、FLUTEストリーマ63は、ステップS4で生成したファイル送信単位がGOPの終わりに対応するものであるか否かを判断する。この判断が否定である場合、処理はステップS4に戻されて、それ以降が繰り返される。ステップS6での判断が肯定である場合、処理はステップS7に進められる。
【0083】
ステップS7において、FLUTEストリーマ63は、DASHセグメンタ62からFragmented MP4(セグメントストリーム)の入力が終了したかを判断する。この判断が否定である場合、処理はステップS2に戻されて、それ以降が繰り返される。ステップS7での判断が肯定である場合、このFLUTEストリーム配信処理は終了される。
【0084】
以上説明したFLUTEストリーム配信処理によれば、Fragmented MP4(セグメントストリーム)をFLUTEマルチキャスト配信する場合、より小さいファイル送信単位として逐次送信することができる。よって、今後、コンテンツが高画質化してFragmented MP4のビットレートが増加したりしても、ファイル送信単位の供給に滞りを生じさせてしまうことを抑止できる。また、この滞りによる端末装置70でのバッファリングの開始時刻に遅延をもたらしたり、その結果としてリアルタイム性があるコンテンツの再生に悪影響を与えてしまったりすることを抑止できる。
【0085】
ところで、上述した一連の処理を実行するコンテンツ供給装置60、および端末装置70は、それぞれをハードウェアにより構成する他、コンピュータがソフトウェアを実行することにより実現することもできる。このコンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【0086】
図13は、上述したコンピュータのハードウェアの構成例を示すブロック図である。
【0087】
このコンピュータ100において、CPU(Central Processing Unit)101,ROM(Read Only Memory)102,RAM(Random Access Memory)103は、バス104により相互に接続されている。
【0088】
バス104には、さらに、入出力インタフェース105が接続されている。入出力インタフェース105には、入力部106、出力部107、記憶部108、通信部109、およびドライブ110が接続されている。
【0089】
入力部106は、キーボード、マウス、マイクロフォンなどよりなる。出力部107は、ディスプレイ、スピーカなどよりなる。記憶部108は、ハードディスクや不揮発性のメモリなどよりなる。通信部109は、ネットワークインタフェースなどよりなる。ドライブ110は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア111を駆動する。
【0090】
以上のように構成されるコンピュータ100では、CPU101が、例えば、記憶部108に記憶されているプログラムを、入出力インタフェース105およびバス104を介して、RAM103にロードして実行することにより、上述した一連の処理が行われる。
【0091】
コンピュータ100(CPU101)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア111に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【0092】
コンピュータ100では、プログラムは、リムーバブルメディア111をドライブ110に装着することにより、入出力インタフェース105を介して、記憶部108にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部109で受信し、記憶部108にインストールすることができる。その他、プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。
【0093】
なお、コンピュータ100が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであってもよいし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであってもよい。
【0094】
本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【0095】
本開示は以下のような構成もとることができる。
(1)
コンテンツのフラグメントストリームをマルチキャスト配信するコンテンツ供給装置において、
前記コンテンツのソースデータを元にして前記フラグメントストリームを生成するフラグメントストリーム生成部と、
生成された前記フラグメントストリームをランダムアクセス可能な第1のデータ単位に区切り、さらに前記第1のデータ単位を第2のデータ単位毎に細分化し、前記第2のデータ単位毎にファイル送信単位を生成してFLUTEマルチキャスト配信する配信部と
を備えるコンテンツ供給装置。
(2)
前記配信部は、前記フラグメントストリームの前記第1のデータ単位の前記第2のデータ単位に対して、version属性が追加されたmoof、および前記第2のデータ単位のデータを格納したmdatからなる前記ファイル送信単位を生成する
前記(1)に記載のコンテンツ供給装置。
(3)
前記配信部は、
前記フラグメントストリームの前記第1のデータ単位の先頭の前記第2のデータ単位に対して、styp、version属性およびntptが追加されたmoof、および前記第2のデータ単位のデータを格納したmdatからなる前記ファイル送信単位を生成し、
前記第1のデータ単位の前記先頭の前記第2のデータ単位とは異なる他の第2のデータ単位に対して、moof、およびmdatからなる前記ファイル送信単位を生成する
前記(1)または(2)に記載のコンテンツ供給装置。
(4)
前記配信部は、前記version属性にmoofのバーションを示す数値を格納し、前記ntptに前記第1のデータ単位の先頭の前記第2のデータ単位のBaseMediaDecodeTime-1に対応するNTP Time-1を格納する
前記(3)に記載のコンテンツ供給装置。
(5)
前記配信部は、前記先頭の前記第2のデータ単位とは異なる他の第2のデータ単位に対応する前記ファイル送信単位のmoofを、前回生成した前記ファイル送信単位の、前記version属性および前記ntptを含む前記moofをコピーして更新することにより生成する
前記(4)に記載のコンテンツ供給装置。
【符号の説明】
【0096】
50 コンテンツ供給システム, 51 ネットワーク, 52 NTPサーバ, 60 コンテンツ供給装置, 61 チャネルストリーマ, 62 DASHセグメンタ, 63 FLUTEストリーマ, 64 MPDジェネレータ, 65 WEBサーバ, 66 マルチキャストサーバ, 70 端末装置, 100 コンピュータ, 101 CPU