(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5985648
(24)【登録日】2016年8月12日
(45)【発行日】2016年9月6日
(54)【発明の名称】データセグメントを送るための方法および装置
(51)【国際特許分類】
H04N 21/238 20110101AFI20160823BHJP
【FI】
H04N21/238
【請求項の数】31
【全頁数】37
(21)【出願番号】特願2014-535929(P2014-535929)
(86)(22)【出願日】2012年10月12日
(65)【公表番号】特表2015-504617(P2015-504617A)
(43)【公表日】2015年2月12日
(86)【国際出願番号】US2012059995
(87)【国際公開番号】WO2013056076
(87)【国際公開日】20130418
【審査請求日】2014年6月6日
(31)【優先権主張番号】61/546,964
(32)【優先日】2011年10月13日
(33)【優先権主張国】US
(31)【優先権主張番号】13/650,074
(32)【優先日】2012年10月11日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘
(74)【代理人】
【識別番号】100103034
【弁理士】
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100140176
【弁理士】
【氏名又は名称】砂川 克
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100124394
【弁理士】
【氏名又は名称】佐藤 立志
(74)【代理人】
【識別番号】100112807
【弁理士】
【氏名又は名称】岡田 貴志
(74)【代理人】
【識別番号】100111073
【弁理士】
【氏名又は名称】堀内 美保子
(72)【発明者】
【氏名】シャウー、ジャック・エス.
(72)【発明者】
【氏名】リ、クオ−チュン
(72)【発明者】
【氏名】ナラヤナン、ラジェシュ
(72)【発明者】
【氏名】カパリー、ジリダー
(72)【発明者】
【氏名】ベラール、ステファン・エム.
(72)【発明者】
【氏名】マヘシュワリ、シャイレシュ
(72)【発明者】
【氏名】ナガラジ、サディ・エム.
【審査官】
後藤 嘉宏
(56)【参考文献】
【文献】
特開2005−222401(JP,A)
【文献】
特開2011−87103(JP,A)
【文献】
国際公開第2011/054377(WO,A1)
【文献】
米国特許出願公開第2005/0089035(US,A1)
【文献】
特開2004−135307(JP,A)
【文献】
特開2011−61876(JP,A)
【文献】
国際公開第2005/109224(WO,A2)
【文献】
Re: Web/TV services and media delivey protocols - is DASH sufficient?,2011年 2月18日,URL,http://lists.w3.org/Archives/Public/public-web-and-tv/2011Feb/0047.html
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00−21/858
(57)【特許請求の範囲】
【請求項1】
データセグメントを送るための方法であって、
データセグメントのストリームを受信することと、
前記データセグメントに基づいてセグメントの第1のグループを確立することと、
情報の第1のテーブルを生成すること、前記情報は、セグメントの前記第1のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第1のテーブルとセグメントの前記第1のグループとを送信することと、
前記データセグメントに基づいてセグメントの第2のグループを確立すること、セグメントの前記第2のグループは、セグメントの前記第1のグループ中に含まれるデータセグメントの部分的重複を含む、と、
情報の第2のテーブルを生成すること、前記情報は、セグメントの前記第1のグループおよび前記第2のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第2のテーブルと、前記第1のグループの一部でなかった前記第2のグループからのデータセグメントを含むセグメントの集合とを送信することと、
データセグメントの前記ストリーム内のデータセグメントのあるグループを受信することと前記第1のテーブルを送信することとの間のある時間制約を決定すること、セグメントの前記第1のグループを前記確立することは、前記決定された時間制約にさらに基づく、ここにおいて、前記時間制約はプレゼンテーションが開始する前の初期遅延と、チャネル切替遅延とに関する、と、
データセグメントの前記ストリーム内のデータセグメントの別のグループを受信することと前記第2のテーブルを送信することとの間の別の時間制約を決定すること、セグメントの前記第2のグループを前記確立することは、前記別の時間制約にさらに基づく、と
を備える、方法。
【請求項2】
セグメントの前記第1のグループを前記確立することは、前記第1のグループのためのデータセグメントの数を決定することをさらに備え、
セグメントの前記第2のグループを前記確立することは、前記第2のグループのためのデータセグメントの数を決定することをさらに備える、請求項1に記載の方法。
【請求項3】
前記データセグメントはDASHセグメントである、請求項1に記載の方法。
【請求項4】
前記第1のテーブルとセグメントの前記第1のグループとはFLUTEパケットである、請求項1に記載の方法。
【請求項5】
データセグメントの前記ストリームはビデオデータを備える、請求項1に記載の方法。
【請求項6】
前記ビデオデータは、MPEG2、MPEG4、H.264、またはH.265のうちの1つで符号化される、請求項5に記載の方法。
【請求項7】
前記1つまたは複数の属性のうちの1つの属性はURLである、請求項1に記載の方法。
【請求項8】
前記データセグメントに基づいてセグメントの第3のグループを確立すること、セグメントの前記第3のグループは、セグメントの前記第2のグループ中に含まれるデータセグメントの部分的重複を含む、と、
情報の第3のテーブルを生成すること、前記情報は、セグメントの前記第2のグループおよび前記第3のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第2のテーブルと、セグメントの前記第1のグループまたは前記第2のグループの一部でなかったセグメントの前記第3のグループからのセグメントを含むセグメントの集合とを送信することと
をさらに備える、請求項1に記載の方法。
【請求項9】
データセグメントを送るための方法であって、
データセグメントのストリームを受信することと、
前記ストリームの個々のデータセグメントをサイズNSのセグメントのグループにグループ化すること、セグメントの前記グループは、第1のグループ、最後のグループ、およびセグメントの前記第1のグループと前記最後のグループとの間の1つまたは複数の中間グループを含む、と、
前記1つまたは複数の中間グループのうちの第1の中間グループについて、前記第1の中間グループおよび前記ストリーム内の直前のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む情報のテーブルを生成することと、
前記テーブルと、前記直前のグループの一部でなかった前記第1の中間グループからのデータセグメントを含むセグメントの集合とを送信することと、
データセグメントの前記ストリーム内のデータセグメントのあるグループを受信することと第1のテーブルを送信することとの間のある時間制約を決定すること、前記ストリームの個々のデータセグメントをセグメントの前記第1のグループにグループ化することは、前記決定された時間制約にさらに基づく、ここにおいて、前記時間制約はプレゼンテーションが開始する前の初期遅延と、チャネル切替遅延とに関する、と、
データセグメントの前記ストリーム内のデータセグメントの別のグループを受信することと第2のテーブルを送信することとの間の別の時間制約を決定すること、前記ストリームの個々のデータセグメントをセグメントの前記別のグループにグループ化することは、前記別の時間制約にさらに基づく、と
を備える、方法。
【請求項10】
前記データセグメントはDASHセグメントである、請求項9に記載の方法。
【請求項11】
前記第1のテーブルとセグメントの前記集合とはFLUTEパケットである、請求項9に記載の方法。
【請求項12】
データセグメントの前記ストリームはビデオデータを備える、請求項9に記載の方法。
【請求項13】
前記1つまたは複数の属性のうちの1つの属性はURLである、請求項9に記載の方法。
【請求項14】
データセグメントを送るためのシステムであって、
データセグメントの受信ストリームに基づいてセグメントの第1のグループを確立するための手段と、
情報の第1のテーブルを生成するための手段、前記情報は、セグメントの前記第1のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第1のテーブルとセグメントの前記第1のグループとを送信するための手段と、
前記データセグメントに基づいてセグメントの第2のグループを確立するための手段、セグメントの前記第2のグループは、セグメントの前記第1のグループ中に含まれるデータセグメントの部分的重複を含む、と、
情報の第2のテーブルを生成するための手段、前記情報は、セグメントの前記第1のグループおよび前記第2のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第2のテーブルと、前記第1のグループの一部でなかった前記第2のグループからのデータセグメントを含むセグメントの集合とを送信するための手段と、
データセグメントの前記ストリーム内のデータセグメントのあるグループを受信することと前記第1のテーブルを送信することとの間のある時間制約を決定するための手段と、セグメントの前記第1のグループを前記確立することは、前記決定された時間制約にさらに基づく、ここにおいて、前記時間制約はプレゼンテーションが開始する前の初期遅延と、チャネル切替遅延とに関する、と、
データセグメントの前記ストリーム内のデータセグメントの別のグループを受信することと前記第2のテーブルを送信することとの間の別の時間制約を決定するための手段と、ここにおいて、セグメントの前記第2のグループを前記確立することは、前記別の時間制約にさらに基づく、と
を備える、システム。
【請求項15】
セグメントの前記第1のグループを前記確立することは、前記第1のグループのためのデータセグメントの数を決定することをさらに備え、
セグメントの前記第2のグループを前記確立することは、前記第2のグループのためのデータセグメントの数を決定することをさらに備える、請求項14に記載のシステム。
【請求項16】
データセグメントを送るためのシステムであって、
データセグメントの受信ストリームに基づいて、個々のセグメントをサイズNSのセグメントのグループにグループ化するための手段、セグメントの前記グループは、第1のグループ、最後のグループ、およびセグメントの前記第1のグループと前記最後のグループとの間の中間グループを含む、と、
第1の中間グループについて、前記第1の中間グループおよび前記ストリーム内の直前のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む情報のテーブルを生成するための手段と、
前記テーブルと、前記直前のグループの一部でなかった前記第1の中間グループからのデータセグメントを含むセグメントの集合とを送信するための手段と、
データセグメントの前記ストリーム内のデータセグメントのあるグループを受信することと第1のテーブルを送信することとの間のある時間制約を決定するための手段と、ここにおいて、前記ストリームの個々のデータセグメントをセグメントの前記第1のグループにグループ化することは、前記決定された時間制約にさらに基づく、ここにおいて、前記時間制約はプレゼンテーションが開始する前の初期遅延と、チャネル切替遅延とに関する、と、
データセグメントの前記ストリーム内のデータセグメントの別のグループを受信することと第2のテーブルを送信することとの間の別の時間制約を決定するための手段と、ここにおいて、前記ストリームの個々のデータセグメントをセグメントの前記第2のグループにグループ化することは、前記別の時間制約にさらに基づく、と
を備える、システム。
【請求項17】
データセグメントを送るためのシステムであって、
データセグメントのストリームを受信することと、
前記データセグメントに基づいてセグメントの第1のグループを確立することと、
情報の第1のテーブルを生成すること、前記情報は、セグメントの前記第1のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第1のテーブルとセグメントの前記第1のグループとを送信することと、
前記データセグメントに基づいてセグメントの第2のグループを確立すること、セグメントの前記第2のグループは、セグメントの前記第1のグループ中に含まれるデータセグメントの部分的重複を含む、と、
情報の第2のテーブルを生成すること、前記情報は、セグメントの前記第1のグループおよび前記第2のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第2のテーブルと、前記第1のグループの一部でなかった前記第2のグループからのデータセグメントを含むセグメントの集合とを送信することと、
データセグメントの前記ストリーム内のデータセグメントのあるグループを受信することと前記第1のテーブルを送信することとの間のある時間制約を決定すること、セグメントの前記第1のグループを前記確立することは、前記決定された時間制約にさらに基づく、ここにおいて、前記時間制約はプレゼンテーションが開始する前の初期遅延と、チャネル切替遅延とに関する、と、
データセグメントの前記ストリーム内のデータセグメントの別のグループを受信することと前記第2のテーブルを送信することとの間の別の時間制約を決定すること、セグメントの前記第2のグループを前記確立することは、前記別の時間制約にさらに基づく、と
を行うように構成された少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに結合された、データを記憶するためのメモリと
を備える、システム。
【請求項18】
セグメントの前記第1のグループを確立することは、前記第1のグループのためのデータセグメントの数を決定することをさらに備え、
セグメントの前記第2のグループを確立することは、前記第2のグループのためのデータセグメントの数を決定することをさらに備える、請求項17に記載のシステム。
【請求項19】
前記データセグメントはDASHセグメントである、請求項17に記載のシステム。
【請求項20】
前記第1のテーブルとセグメントの前記第1のグループとはFLUTEパケットである、請求項17に記載のシステム。
【請求項21】
データセグメントの前記ストリームはビデオデータを備える、請求項17に記載のシステム。
【請求項22】
前記1つまたは複数の属性のうちの1つの属性はURLである、請求項17に記載のシステム。
【請求項23】
前記少なくとも1つのプロセッサは、
前記データセグメントに基づいてセグメントの第3のグループを確立すること、セグメントの前記第3のグループは、セグメントの前記第2のグループ中に含まれるデータセグメントの部分的重複を含む、と、
情報の第3のテーブルを生成すること、前記情報は、セグメントの前記第2のグループおよび前記第3のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第2のテーブルと、セグメントの前記第1のグループまたは前記第2のグループの一部でなかったセグメントの前記第3のグループからのセグメントを含むセグメントの集合とを送信することと
を行うようにさらに構成された、請求項17に記載のシステム。
【請求項24】
データセグメントを送るためのシステムであって、
データセグメントのストリームを受信することと、
前記ストリームの個々のセグメントをサイズNSのセグメントのグループにグループ化すること、セグメントの前記グループは、第1のグループ、最後のグループ、およびセグメントの前記第1のグループと前記最後のグループとの間の中間グループを含む、と、
第1の中間グループについて、前記第1の中間グループおよび前記ストリーム内の直前のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む情報のテーブルを生成することと、
前記テーブルと、前記直前のグループの一部でなかった前記第1の中間グループからのデータセグメントを含むセグメントの集合とを送信することと、
データセグメントの前記ストリーム内のデータセグメントのあるグループを受信することと第1のテーブルを送信することとの間のある時間制約を決定すること、前記ストリームの個々のデータセグメントをセグメントの前記第1のグループにグループ化することは、前記決定された時間制約にさらに基づく、ここにおいて、前記時間制約はプレゼンテーションが開始する前の初期遅延と、チャネル切替遅延とに関する、と、
データセグメントの前記ストリーム内のデータセグメントの別のグループを受信することと第2のテーブルを送信することとの間の別の時間制約を決定すること、前記ストリームの個々のデータセグメントをセグメントの前記別のグループにグループ化することは、前記別の時間制約にさらに基づく、と
を行うように構成された少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに結合された、データを記憶するためのメモリと
を備える、システム。
【請求項25】
前記セグメントはDASHセグメントである、請求項24に記載のシステム。
【請求項26】
前記第1のテーブルとセグメントの前記集合とはFLUTEパケットである、請求項24に記載のシステム。
【請求項27】
データセグメントの前記ストリームはビデオデータを備える、請求項24に記載のシステム。
【請求項28】
前記1つまたは複数の属性のうちの1つの属性はURLである、請求項24に記載のシステム。
【請求項29】
データセグメントの送信を管理するための命令をコンピュータに実行させるコンピュータプログラムであって、前記命令は、前記コンピュータに、
データセグメントのストリームを受信させるためのコードと、
前記データセグメントに基づいてセグメントの第1のグループを確立させるためのコードと、
情報の第1のテーブルを生成させるためのコードと、前記情報は、セグメントの前記第1のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第1のテーブルとセグメントの前記第1のグループとを送信させるためのコードと、
前記データセグメントに基づいてセグメントの第2のグループを確立させるためのコードと、セグメントの前記第2のグループは、セグメントの前記第1のグループ中に含まれるデータセグメントの部分的重複を含む、と、
情報の第2のテーブルを生成させるためのコードと、前記情報は、セグメントの前記第1のグループおよび前記第2のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第2のテーブルと、前記第1のグループの一部でなかった前記第2のグループからのデータセグメントを含むセグメントの集合とを送信させるためのコードと、
データセグメントの前記ストリーム内のデータセグメントのあるグループを受信することと前記第1のテーブルを送信することとの間のある時間制約を決定させるためのコードと、セグメントの前記第1のグループを前記確立することは、前記決定された時間制約にさらに基づく、ここにおいて、前記時間制約はプレゼンテーションが開始する前の初期遅延と、チャネル切替遅延とに関する、と、
データセグメントの前記ストリーム内のデータセグメントの別のグループを受信することと前記第2のテーブルを送信することとの間の別の時間制約を決定させるためのコードと、セグメントの前記第2のグループを前記確立することは、前記別の時間制約にさらに基づく、と
を備える、コンピュータプログラム。
【請求項30】
前記コンピュータに、セグメントの前記第1のグループを前記確立させるためのコードは、前記コンピュータに、前記第1のグループのためのデータセグメントの数を決定させるためのコードをさらに備え、
前記コンピュータに、セグメントの前記第2のグループを前記確立させるためのコードは、前記コンピュータに、前記第2のグループのためのデータセグメントの数を決定させるためのコードをさらに備える、請求項29に記載のコンピュータプログラム。
【請求項31】
データセグメントの送信を管理するための命令をコンピュータに実行させるコンピュータプログラムであって、前記命令は、前記コンピュータに、
データセグメントのストリームを受信させるためのコードと、
前記ストリームの個々のセグメントをサイズNSのセグメントのグループにグループ化させるためのコードと、セグメントの前記グループは、第1のグループ、最後のグループ、およびセグメントの前記第1のグループと前記最後のグループとの間の中間グループを含む、と、
第1の中間グループについて、前記第1の中間グループおよび前記ストリーム内の直前のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む情報のテーブルを生成させるためのコードと、
前記テーブルと、前記直前のグループの一部でなかった前記第1の中間グループからのデータセグメントを含むセグメントの集合とを送信させるためのコードと、
データセグメントの前記ストリーム内のデータセグメントのあるグループを受信することと第1のテーブルを送信することとの間のある時間制約を決定させるためのコードと、前記ストリームの個々のデータセグメントをセグメントの前記第1のグループにグループ化させるためのコードは、前記決定された時間制約にさらに基づく、ここにおいて、前記時間制約はプレゼンテーションが開始する前の初期遅延と、チャネル切替遅延とに関する、と、
データセグメントの前記ストリーム内のデータセグメントの別のグループを受信させることと第2のテーブルを送信させることとの間の別の時間制約を決定させるためのコードと、前記ストリームの個々のデータセグメントをセグメントの前記別のグループにグループ化することは、前記別の時間制約にさらに基づく、と
を備える、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本特許出願は、本出願の譲受人に譲渡され、その全体が参照により本明細書に明確に組み込まれる、2011年10月13日に出願された「CONTROLLING STREAMING DELAY IN NETWORKS」と題する仮出願第61/546,964号の優先権を主張する。
【0002】
本開示の態様は、情報を送信するときの遅延を低減することに関し得る。より詳細には、本発明の態様は、単方向トランスポートを介したファイル配信(FLUTE:File Delivery over Unidirectional Transport)を介した動的適応ストリーミングオーバーHTTP(DASH:Dynamic Adaptive Streaming over HTTP)環境においてFLUTEパッケージエンジンに起因する(ビデオなどの)エンドツーエンドコンテンツ送信の遅延を低減することに関し得る。
【背景技術】
【0003】
ワイヤレス通信ネットワークは、音声、ビデオ、パケットデータ、メッセージング、ブロードキャストなどの様々な通信サービスを提供するために広く展開されている。これらのワイヤレスネットワークは、利用可能なネットワークリソースを共有することによって複数のユーザをサポートすることが可能な多元接続ネットワークであり得る。そのような多元接続ネットワークの例としては、符号分割多元接続(CDMA)ネットワーク、時分割多元接続(TDMA)ネットワーク、周波数分割多元接続(FDMA)ネットワーク、直交FDMA(OFDMA)ネットワーク、およびシングルキャリアFDMA(SC−FDMA)ネットワークがある。
【0004】
ワイヤレス通信ネットワークは、モバイルエンティティとも呼ばれるいくつかのユーザ機器(UE)の通信をサポートすることができるいくつかの基地局を含み得る。UEは、ダウンリンクおよびアップリンクを介して基地局と通信し得る。ダウンリンク(または順方向リンク)は基地局からUEへの通信リンクを指し、アップリンク(または逆方向リンク)はUEから基地局への通信リンクを指す。本明細書で使用する「基地局」は、ワイヤレス通信システムのeノードB(eNB)、ノードB、ホームノードB、または同様のネットワーク構成要素を意味する。
【0005】
第3世代パートナーシッププロジェクト(3GPP:3rd Generation Partnership Project)ロングタームエボリューション(LTE:Long Term Evolution)は、モバイル通信用グローバルシステム(GSM(登録商標):Global System for Mobile communications)およびユニバーサルモバイルテレコミュニケーションシステム(UMTS:Universal Mobile Telecommunications System)の発展形として、セルラー技術における大きな進歩を代表するものである。LTE物理レイヤ(PHY)は、発展型ノードB(eNB)などの基地局と、UEなどのモバイルエンティティとの間でデータと制御情報の両方を搬送する高効率な方法を与える。従来の適用例では、マルチメディアのために高帯域幅通信を可能にするための方法は単一周波数ネットワーク(SFN)動作であった。SFNは、加入者UEと通信するために、たとえば、eNBなどの無線送信機を利用する。ユニキャスト動作では、各eNBは、1つまたは複数の特定の加入者UEに向けられた情報を搬送する信号を送信するように制御される。ユニキャストシグナリングの特異性により、たとえば、音声通話、テキストメッセージング、またはビデオ通話など、人対人サービスが可能になる。
【0006】
ブロードキャスト動作では、ブロードキャストエリア中のいくつかのeNBが、ブロードキャストエリア中の加入者UEによって受信されアクセスされ得る情報を搬送する信号を同期形式でブロードキャストし得る。ブロードキャスト動作の一般性により、公衆が関心をもつ情報、たとえば、イベント関連のマルチメディアブロードキャストを送信する際の効率をより高めることが可能になる。イベント関連のマルチメディアおよび他のブロードキャストサービスに対する需要およびシステム能力が高まるにつれて、システムオペレータは、3GPPネットワークにおいてブロードキャスト動作を利用することに対してますます関心を示すようになった。過去に、3GPP LTE技術は主にユニキャストサービスのために使用され、ブロードキャストシグナリングに関係する改善および拡張の機会は放置されてきた。
【0007】
ビデオコンテンツなどのコンテンツの送信は、通信ネットワークにおいて様々な方法によって実行され得る。ビデオコンテンツの場合、たとえば、表示すべきビデオソースからのビデオ情報の送信は、とりわけ、ユニキャスト送信およびマルチキャスト/ブロードキャスト送信を介して行われ得る。ユニキャスト送信は、明確にターゲットされた受信デバイスに向けられる。ユニキャスト送信を取得するために、ターゲットデバイスは、ビデオソースのアドレスをもつユニフォームリソースロケータ(「URL」)を有し得、ターゲットデバイスが、ビデオファイルのダウンロードを可能にするためにビデオソース(一般にサーバ)に送り得る、HTTP GETコマンドを生成し得る。
【0008】
ユニキャスト環境におけるビデオの送信のための知られている方法は、動的適応ストリーミングオーバーHTTP(DASH)によるものである。ユニキャストにおけるDASHの使用はファイル全体を取得する。DASHは、ビデオファイルを、DASHセグメントと呼ばれるより小さい構成要素に変換し得、DASHセグメントは、所望のビデオを表示するために受信デバイスにおいて再アセンブルされ得る。
【0009】
発展型マルチメディアブロードキャスト/マルチキャストサービス(eMBMS:evolved-Multimedia Broadcast/Multicast Service)におけるなど、マルチキャスト送信またはブロードキャスト送信は、送信が複数の受信デバイスに送られるので、様々な問題をもたらす。これらの環境では、受信デバイスのモデムは、関連するシステムが情報を取得するための措置を実際に講じる前に、その情報を取得することができる。その受信された情報は、受信デバイスのローカルキャッシュにローカルに記憶され得る。(一般にアプリケーションレイヤにある)システムが、情報を取得するためのURLを生成すると、生成されたURLは、ユニキャスト環境の場合のようにサーバではなく、ローカルキャッシュを指し得る。
【0010】
単方向トランスポートを介したファイル配信(FLUTE)と組み合わせて利用されるDASHは、マルチキャスト環境のために使用されてきた1つの方法である。この方法では、ビデオコンテンツはDASHセグメントに変換され得る。DASHセグメントの小さいグループはFLUTEパッケージエンジン(FPE:FLUTE package engine)によって蓄積され得、FPEは、次に、送信のためにDASHセグメントをFLUTEパケットに変換し得る。この環境におけるFLUTEを介したDASHの使用は、ビデオコンテンツの表示における遅延問題および中断をもたらし得る。
【発明の概要】
【0011】
以下で、1つまたは複数の態様の基本的理解を与えるために、そのような態様の簡略化された概要を提示する。この概要は、すべての企図された態様の包括的な概観ではなく、すべての態様の主要または重要な要素を識別するものでも、いずれかまたはすべての態様の範囲を定めるものでもない。その唯一の目的は、後で提示するより詳細な説明の導入として、1つまたは複数の態様のいくつかの概念を簡略化された形で提示することである。
【0012】
ユニキャスト送信およびマルチキャスト/ブロードキャスト送信においてストリーミング遅延を制御するための装置および方法を開示する。一態様によれば、データセグメントを送るための方法は、データセグメントのストリームを受信することと、データセグメントに基づいてセグメントの第1のグループを確立することと、情報の第1のテーブルを生成することであって、情報が、セグメントの第1のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含むことと、第1のテーブルとセグメントの第1のグループとを送信することと、データセグメントに基づいてセグメントの第2のグループを確立することであって、セグメントの第2のグループが、セグメントの第1のグループ中に含まれるデータセグメントの部分的重複を含むことと、情報の第2のテーブルを生成することであって、情報が、セグメントの第1のグループおよび第2のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含むことと、第2のテーブルと、第1のグループの一部でなかった第2のグループからのデータセグメントを含むセグメントの集合とを送信することとを含む。
【0013】
別の態様によれば、データセグメントを送るための方法は、データセグメントのストリームを受信することと、ストリームの個々のセグメントをサイズNSのセグメントのグループにグループ化することであって、セグメントのグループが、第1のグループ、最後のグループ、およびセグメントの第1のグループと最後のグループとの間の1つまたは複数の中間グループを含むことと、1つまたは複数の中間グループのうちの第1の中間グループについて、第1の中間グループおよびストリーム内の直前のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む情報のテーブルを生成することと、テーブルと、直前のグループの一部でなかった第1の中間グループからのデータセグメントを含むセグメントの集合とを送信することとを含む。
【0014】
別の態様によれば、データセグメントを送るためのシステムは、データセグメントの受信ストリームに基づいてセグメントの第1のグループを確立するための手段と、情報の第1のテーブルを生成するための手段であって、情報が、セグメントの第1のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含むことと、第1のテーブルとセグメントの第1のグループとを送信するための手段と、データセグメントに基づいてセグメントの第2のグループを確立するための手段であって、セグメントの第2のグループが、セグメントの第1のグループ中に含まれるデータセグメントの部分的重複を含むことと、情報の第2のテーブルを生成するための手段であって、情報が、セグメントの第1のグループおよび第2のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含むことと、第2のテーブルと、第1のグループの一部でなかった第2のグループからのデータセグメントを含むセグメントの集合とを送信するための手段とを含む。
【0015】
別の態様によれば、データセグメントを送るためのシステムは、データセグメントの受信ストリームに基づいて、個々のセグメントをサイズNSのセグメントのグループにグループ化するための手段であって、セグメントのグループが、第1のグループ、最後のグループ、およびセグメントの第1のグループと最後のグループとの間の中間グループを含むことと、第1の中間グループについて、第1の中間グループおよびストリーム内の直前のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む情報のテーブルを生成するための手段と、テーブルと、直前のグループの一部でなかった第1の中間グループからのデータセグメントを含むセグメントの集合とを送信するための手段とを含む。
【0016】
別の態様によれば、データセグメントを送るためのシステムは、データセグメントのストリームを受信することと、データセグメントに基づいてセグメントの第1のグループを確立することと、情報の第1のテーブルを生成することであって、情報が、セグメントの第1のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含むことと、第1のテーブルとセグメントの第1のグループとを送信することと、データセグメントに基づいてセグメントの第2のグループを確立することであって、セグメントの第2のグループが、セグメントの第1のグループ中に含まれるデータセグメントの部分的重複を含むことと、情報の第2のテーブルを生成することであって、情報が、セグメントの第1のグループおよび第2のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含むことと、第2のテーブルと、第1のグループの一部でなかった第2のグループからのデータセグメントを含むセグメントの集合とを送信することとを行うように構成された少なくとも1つのプロセッサと、少なくとも1つのプロセッサに結合された、データを記憶するためのメモリとを含む。
【0017】
別の態様によれば、データセグメントを送るためのシステムは、データセグメントのストリームを受信することと、ストリームの個々のセグメントをサイズNSのセグメントのグループにグループ化することであって、セグメントのグループが、第1のグループ、最後のグループ、およびセグメントの第1のグループと最後のグループとの間の中間グループを含むことと、第1の中間グループについて、第1の中間グループおよびストリーム内の直前のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む情報のテーブルを生成することと、テーブルと、直前のグループの一部でなかった第1の中間グループからのデータセグメントを含むセグメントの集合とを送信することとを行うように構成された少なくとも1つのプロセッサと、少なくとも1つのプロセッサに結合された、データを記憶するためのメモリとを含む。
【0018】
別の態様によれば、データセグメントの送信を管理するためのコンピュータプログラム製品は、データセグメントのストリームを受信することと、データセグメントに基づいてセグメントの第1のグループを確立することと、情報の第1のテーブルを生成することであって、情報が、セグメントの第1のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含むことと、第1のテーブルとセグメントの第1のグループとを送信することと、データセグメントに基づいてセグメントの第2のグループを確立することであって、セグメントの第2のグループが、セグメントの第1のグループ中に含まれるデータセグメントの部分的重複を含むことと、情報の第2のテーブルを生成することであって、情報が、セグメントの第1のグループおよび第2のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含むことと、第2のテーブルと、第1のグループの一部でなかった第2のグループからのデータセグメントを含むセグメントの集合とを送信することとのためのコードを備えるコンピュータ可読媒体を含む。
【0019】
別の態様によれば、データセグメントの送信を管理するためのコンピュータプログラム製品は、データセグメントのストリームを受信するためのコードを含むコンピュータ可読媒体を含む。コンピュータ可読媒体は、ストリームの個々のセグメントをサイズNSのセグメントのグループにグループ化することであって、セグメントのグループが、第1のグループ、最後のグループ、およびセグメントの第1のグループと最後のグループとの間の中間グループを含むコードをさらに含み得る。コンピュータ可読媒体は、第1の中間グループについて、第1の中間グループおよびストリーム内の直前のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む情報のテーブルを生成するためのコードをさらに含み得る。コンピュータ可読媒体は、テーブルと、直前のグループの一部でなかった第1の中間グループからのデータセグメントを含むセグメントの集合とを送信するためのコードをさらに含み得る。
【0020】
様々な態様が例として図示され説明される、以下の発明を実施するための形態から、当業者には他の態様が容易に明らかになることを理解されたい。図面および発明を実施するための形態は、本質的に例示的なものと見なされるべきであり、限定的なものと見なされるべきではない。
【図面の簡単な説明】
【0021】
【
図1】本開示の一態様による、本発明の実施形態が使用され得るネットワークの一例を示す図。
【
図2】本開示の一態様に従って構成された基地局/eNBおよびUEの設計を概念的に示すブロック図。
【
図3】eMBMSにおけるFLUTEを介したDASHの例示的な実施形態を概念的に示すブロック図。
【
図4】本開示の一態様によるFLUTEパッキングエンジンのブロック図。
【
図5】本開示の一態様による、
図4のFLUTEパッキングエンジンによって実行される方法のフローチャート。
【
図6A】本開示の一態様による、
図5の方法によるセグメントグループへのDASHセグメントのグループ化のブロック図。
【
図6B】
図6Aの例による例示的なFDTインスタンスを示す図。
【
図7】
図4のFLUTEパッケージングエンジンを利用する、eMBMSにおけるFLUTEを介したDASHを概念的に示すブロック図。
【
図8】本開示の一態様による、ストリーミング遅延を制御するための例示的な方法を示す図。
【
図9】本開示の別の態様による、ストリーミング遅延を制御するための別の例示的な方法を示す図。
【
図10】たとえば、
図8の方法による、本開示の一態様の別の例示的な実施形態のブロック図。
【
図11】たとえば、
図9の方法による、本開示の一態様の別の例示的な実施形態のブロック図。
【0022】
添付の図面に関して以下に示す発明を実施するための形態は、様々な構成を説明するものであり、本明細書で説明する概念が実施され得る唯一の構成を表すものではない。発明を実施するための形態は、様々な概念の完全な理解を与えるための具体的な詳細を含む。ただし、これらの概念はこれらの具体的な詳細なしに実施され得ることが当業者には明らかであろう。いくつかの例では、そのような概念を不明瞭にしないように、よく知られている構造および構成要素をブロック図の形式で示す。
【0023】
本明細書で説明する技法は、CDMA、TDMA、FDMA、OFDMA、SC−FDMAおよび他のネットワークなど、様々なワイヤレス通信ネットワークのために使用され得る。「ネットワーク」および「システム」という用語は、しばしば互換的に使用される。CDMAネットワークは、ユニバーサル地上波無線アクセス(UTRA:Universal Terrestrial Radio Access)、CDMA2000などの無線技術を実装し得る。UTRAは、広帯域CDMA(WCDMA(登録商標))およびCDMAの他の変形態を含む。CDMA2000は、IS−2000、IS−95およびIS−856規格をカバーする。TDMAネットワークは、モバイル通信用グローバルシステム(GSM)などの無線技術を実装し得る。OFDMAネットワークは、発展型UTRA(E−UTRA:Evolved UTRA)、ウルトラモバイルブロードバンド(UMB:Ultra Mobile Broadband)、IEEE802.11(Wi−Fi(登録商標))、IEEE802.16(WiMAX(登録商標))、IEEE802.20、Flash−OFDMAなどの無線技術を実装し得る。UTRAおよびE−UTRAは、ユニバーサルモバイルテレコミュニケーションシステム(UMTS)の一部である。3GPPロングタームエボリューション(LTE)およびLTEアドバンスト(LTE−A:LTE-Advanced)は、E−UTRAを使用するUMTSの新しいリリースである。UTRA、E−UTRA、UMTS、LTE、LTE−AおよびGSMは、「第3世代パートナーシッププロジェクト」(3GPP)という名称の団体からの文書に記載されている。CDMA2000およびUMBは、「第3世代パートナーシッププロジェクト2」(3GPP2:3rd Generation Partnership Project 2)という名称の団体からの文書に記載されている。本明細書で説明する技法は、上記のワイヤレスネットワークおよび無線技術、ならびに他のワイヤレスネットワークおよび無線技術のために使用され得る。明快のために、本技法のいくつかの態様について以下ではLTEに関して説明し、以下の説明の大部分でLTE用語を使用する。
【0024】
以下の説明では、ビデオコンテンツの送信について特に説明する。ただし、ビデオは一例にすぎず、本発明の概念は必ずしもその例に限定されるとは限らないこと、およびこれらの概念は他のタイプのコンテンツに適用可能であり得ることを理解されたい。
【0025】
図1に、ワイヤレス通信ネットワーク100を示し、これはLTEネットワークであり得る。ワイヤレスネットワーク100は、いくつかのeNB110と他のネットワークエンティティとを含み得る。eNBは、UEと通信する局であり得、基地局、ノードB、アクセスポイント、または他の用語で呼ばれることもある。各eNB110a、110b、110cは、特定の地理的エリアに通信カバレージを与え得る。3GPPでは、「セル」という用語は、この用語が使用されるコンテキストに応じて、eNBのカバレージエリアおよび/またはこのカバレージエリアをサービスしているeNBサブシステムを指すことがある。
【0026】
eNBは、マクロセル、ピコセル、フェムトセル、および/または他のタイプのセルに通信カバレージを与え得る。マクロセルは、比較的大きい地理的エリア(たとえば、半径数キロメートル)をカバーし得、サービスに加入しているUEによる無制限アクセスを可能にし得る。ピコセルは、比較的小さい地理的エリアをカバーし得、サービスに加入しているUEによる無制限アクセスを可能にし得る。フェムトセルは、比較的小さい地理的エリア(たとえば、自宅)をカバーし得、フェムトセルとの関連を有するUE(たとえば、限定加入者グループ(CSG:Closed Subscriber Group)中のUE、自宅内のユーザのためのUEなど)による制限付きアクセスを可能にし得る。マクロセルのためのeNBはマクロeNBと呼ばれることがある。ピコセルのためのeNBはピコeNBと呼ばれることがある。フェムトセルのためのeNBはフェムトeNBまたはホームeNB(HeNB)と呼ばれることがある。
図1に示す例では、eNB110a、110bおよび110cは、それぞれマクロセル102a、102bおよび102cのためのマクロeNBであり得る。eNB110xは、UE120xにサービスするピコセル102xのためのピコeNBであり得る。eNB110yおよび110zは、それぞれフェムトセル102yおよび102zのためのフェムトeNBであり得る。eNBは、1つまたは複数の(たとえば、3つの)セルをサポートし得る。
【0027】
ワイヤレスネットワーク100はまた、中継局110rを含み得る。中継局は、上流局(たとえば、eNBまたはUE)からデータおよび/または他の情報の送信を受信し、そのデータおよび/または他の情報の送信を下流局(たとえば、UEまたはeNB)に送る局である。中継局はまた、他のUEに対する送信を中継するUEであり得る。
図1に示す例では、中継局110rは、eNB110aとUE120rとの間の通信を可能にするために、eNB110aおよびUE120rと通信し得る。中継局は、リレーeNB、リレーなどと呼ばれることもある。
【0028】
ワイヤレスネットワーク100は、様々なタイプのeNB、たとえば、マクロeNB、ピコeNB、フェムトeNB、リレーなどを含む異種ネットワークであり得る。これらの様々なタイプのeNBは、様々な送信電力レベル、様々なカバレージエリア、およびワイヤレスネットワーク100中の干渉に対する様々な影響を有し得る。たとえば、マクロeNBは、高い送信電力レベル(たとえば、20ワット)を有し得るが、ピコeNB、フェムトeNB、およびリレーは、より低い送信電力レベル(たとえば、1ワット)を有し得る。
【0029】
ワイヤレスネットワーク100は、同期動作または非同期動作をサポートし得る。同期動作の場合、eNBは同様のフレームタイミングを有し得、異なるeNBからの送信は近似的に時間的に整合され得る。非同期動作の場合、eNBは異なるフレームタイミングを有し得、異なるeNBからの送信は時間的に整合されないことがある。本明細書で説明する技法は、同期動作と非同期動作の両方のために使用され得る。
【0030】
ネットワークコントローラ130は、eNBのセットに結合し、これらのeNBの協調および制御を行い得る。ネットワークコントローラ130は、バックホールを介してeNB110と通信し得る。eNB110はまた、たとえば、ワイヤレスバックホールまたはワイヤラインバックホールを介して直接または間接的に互いに通信し得る。
【0031】
UE120は、ワイヤレスネットワーク100全体にわたって分散され得、各UEは固定または移動であり得る。UEは、端末、移動局、加入者ユニット、局などと呼ばれることもある。UEは、セルラーフォン、携帯情報端末(PDA)、ワイヤレスモデム、ワイヤレス通信デバイス、ハンドヘルドデバイス、ラップトップコンピュータ、コードレスフォン、ワイヤレスローカルループ(WLL)局、または他のモバイルエンティティであり得る。UEは、マクロeNB、ピコeNB、フェムトeNB、リレー、または他のネットワークエンティティと通信することが可能であり得る。
図1において、両矢印付きの実線は、ダウンリンクおよび/またはアップリンク上での、UEと、そのUEをサービスするように指定されたeNBであるサービングeNBとの間の所望の送信を示す。両矢印付きの破線は、UEとeNBとの間の干渉送信を示す。
【0032】
LTEは、ダウンリンク上では直交周波数分割多重化(OFDM)を利用し、アップリンク上ではシングルキャリア周波数分割多重化(SC−FDM)を利用する。OFDMおよびSC−FDMは、システム帯域幅を、一般にトーン、ビンなどとも呼ばれる複数(K)個の直交サブキャリアに区分する。各サブキャリアはデータで変調され得る。概して、変調シンボルは、OFDMの場合は周波数領域で、SC−FDMの場合は時間領域で送られる。隣接するサブキャリア間の間隔は固定であり得、サブキャリアの総数(K)はシステム帯域幅に依存し得る。たとえば、Kは、1.25、2.5、5、10または20メガヘルツ(MHz)のシステム帯域幅に対してそれぞれ128、256、512、1024または2048に等しくなり得る。システム帯域幅はまた、サブバンドに区分され得る。たとえば、サブバンドは1.08MHzをカバーし得、1.25、2.5、5、10または20MHzのシステム帯域幅に対してそれぞれ1つ、2つ、4つ、8つまたは16個のサブバンドがあり得る。
【0033】
図2に、
図1の基地局/eNBのうちの1つおよびUEのうちの1つに対応し得る、基地局/eNB110およびUE120の設計の一例のブロック図を示す。制限付き関連付けシナリオの場合、基地局110は
図1のマクロeNB110cであり得、UE120はUE120yであり得る。基地局110はまた、何らかの他のタイプの基地局であり得る。基地局110はアンテナ234a〜234tを装備し得、UE120はアンテナ252a〜252rを装備し得る。
【0034】
基地局110において、送信プロセッサ220は、データソース212からデータを受信し、コントローラ/プロセッサ240から制御情報を受信し得る。制御情報は、PBCH、PCFICH、PHICH、PDCCHなどのためのものであり得る。データは、PDSCHなどのためのものであり得る。プロセッサ220は、データと制御情報とを処理(たとえば、符号化およびシンボルマッピング)して、それぞれデータシンボルと制御シンボルとを取得し得る。プロセッサ220はまた、たとえば、PSS、SSS、およびセル固有基準信号のための基準シンボルを生成し得る。送信(TX)多入力多出力(MIMO)プロセッサ230は、適用可能な場合、データシンボル、制御シンボル、および/または基準シンボルに対して空間処理(たとえば、プリコーディング)を実行し得、出力シンボルストリームを変調器(MOD)232a〜232tに与え得る。各変調器232は、(たとえば、OFDMなどのために)それぞれの出力シンボルストリームを処理して、出力サンプルストリームを取得し得る。各変調器232はさらに、出力サンプルストリームを処理(たとえば、アナログへの変換、増幅、フィルタ処理、およびアップコンバート)して、ダウンリンク信号を取得し得る。変調器232a〜232tからのダウンリンク信号は、それぞれアンテナ234a〜234tを介して送信され得る。
【0035】
UE120において、アンテナ252a〜252rは、基地局110からダウンリンク信号を受信し得、受信信号をそれぞれ復調器(DEMOD)254a〜254rに与え得る。各復調器254は、それぞれの受信信号を調整(たとえば、フィルタ処理、増幅、ダウンコンバート、およびデジタル化)して、入力サンプルを取得し得る。各復調器254は、さらに、(たとえば、OFDMなどの)入力サンプルを処理して、受信シンボルを取得し得る。MIMO検出器256は、すべての復調器254a〜254rから受信シンボルを取得し、適用可能な場合は受信シンボルに対してMIMO検出を実行し、検出シンボルを与え得る。受信プロセッサ258は、検出シンボルを処理(たとえば、復調、デインターリーブ、および復号)し、UE120の復号されたデータをデータシンク260に与え、復号された制御情報をコントローラ/プロセッサ280に与え得る。
【0036】
アップリンク上では、UE120において、送信プロセッサ264は、データソース262から(たとえば、PUSCHのための)データを受信し、処理し得、コントローラ/プロセッサ280から(たとえば、PUCCHのための)制御情報を受信し、処理し得る。プロセッサ264はまた、基準信号のための基準シンボルを生成し得る。送信プロセッサ264からのシンボルは、適用可能な場合はTX MIMOプロセッサ266によってプリコードされ、さらに(たとえば、SC−FDMなどのために)変調器254a〜254rによって処理され、基地局110に送信され得る。基地局110において、UE120からのアップリンク信号は、アンテナ234によって受信され、復調器232によって処理され、適用可能な場合はMIMO検出器236によって検出され、さらに受信プロセッサ238によって処理されて、UE120によって送られた復号されたデータおよび制御情報が取得され得る。プロセッサ238は、復号されたデータをデータシンク239に与え、復号された制御情報をコントローラ/プロセッサ240に与え得る。
【0037】
コントローラ/プロセッサ240および280は、それぞれ基地局110およびUE120における動作を指示し得る。基地局110におけるプロセッサ240および/または他のプロセッサならびにモジュールは、本明細書で説明する技法のための様々なプロセスを実行するかまたはその実行を指示し得る。UE120におけるプロセッサ280および/または他のプロセッサならびにモジュールは、本明細書で説明する技法のための機能ブロックおよび/または他のプロセスを実行するかまたはその実行を指示し得る。メモリ242および282は、それぞれ基地局110およびUE120のためのデータおよびプログラムコードを記憶し得る。スケジューラ244は、ダウンリンクおよび/またはアップリンク上でのデータ送信のためにUEをスケジュールし得る。
【0038】
一構成では、ワイヤレス通信のためのUE120は、UEの接続モード中に干渉基地局からの干渉を検出するための手段と、干渉基地局の得られたリソースを選択するための手段と、得られたリソース上の物理ダウンリンク制御チャネルの誤り率を取得するための手段と、誤り率が所定のレベルを超えたことに応答して実行可能である、無線リンク障害を宣言するための手段とを含み得る。一態様では、上述の手段は、上述の手段によって具陳された機能を実行するように構成された、(1つまたは複数の)プロセッサ、コントローラ/プロセッサ280、メモリ282、受信プロセッサ258、MIMO検出器256、復調器254a、およびアンテナ252aであり得る。別の態様では、上述の手段は、上述の手段によって具陳された機能を実行するように構成されたモジュールまたは任意の装置であり得る。
【0039】
DASHの性質は、各DASHセグメントが識別子、たとえば、ユニフォームリソースロケータ(URL)を介してアクセスされ得ることである(以下の説明では「URL」を使用するが、本発明は必ずしもそれに限定されるとは限らないことを理解されたい)。次に
図3を参照すると、eMBMSにおいてFLUTEを介したDASHによってビデオコンテンツ302をディスプレイ322に送るための例示的なアーキテクチャが示されている。ビデオエンコーダ304(たとえば、ビデオのためのMPEG2、MPEG4、H.264、H.265コーデック)がビデオコンテンツ302を受信し得、符号化ビデオコンテンツ305を出力し得る。符号化ビデオコンテンツは固定持続時間を有し得る。DASHエンコーダ306は、符号化ビデオコンテンツ305を受信し得、DASH、たとえば、(3GP−DASHと呼ばれることもある)3GPP適応HTTPストリーミングのためにフォーマットされたDASHビデオセグメント308を出力し得る。
【0040】
ビデオエンコーダ304およびDASHエンコーダ306によって行われる符号化は約t秒かかり得、tは、ビデオエンコーダ304およびDASHエンコーダ306によって符号化された、対応する基礎をなすビデオコンテンツ(の一部分)の持続時間である。したがって、非限定的な例として、2秒のビデオコンテンツ302の場合、2秒のビデオコンテンツに対応する(1つまたは複数の)DASHセグメント308を出力することは約2秒かかり得る。符号化時間の大部分は、概して、ビデオエンコーダ304によって占められ得る。
【0041】
FLUTEパッケージエンジン(FPE)310は、DASHセグメント308を受信し得、それらをFLUTEパケット312に変換し得る。ブロードキャストマルチキャストサービスセンター(「BM−SC」)314は、FLUTEパケット312を受信し得、それらをUE受信機316にブロードキャストし得る。受信されたFLUTEパケット312は、バッファ318において受け取られ、デコーダ320において復号され、ディスプレイ322上に表示され得る。UE受信機316、バッファ318、デコーダ320、および/またはディスプレイ322は、
図1および
図2に関して説明したUE120の一部であり得る。
【0042】
FLUTEパケット312をDASHセグメント308に相関させるために、FPE310は、各セグメントに1つの送信オブジェクト識別子(TOI:Transmission Object Identifier)を割り当て得る。1つのセグメントは1つのファイルと見なされ得、セグメントURLは、TOIによって識別されるFLUTEファイルのファイル名と同じであり得る。FPE310が複数のDASHセグメント308をアグリゲートするとき、FPE310は、それらのDASHセグメント308についての属性を記述するためのファイル配信テーブル(FDT:File Delivery Table)インスタンスを生成し得る。例示的なFDTインスタンスについては、
図6Bに関して以下で説明する。属性は、(たとえば、URLによって指定された)ファイル名、ファイルタイプ(たとえば、ファイルのMIMEメディアタイプ)、ファイルのサイズ、ファイルの符号化フォーマット、および/またはファイルのメッセージダイジェストを含み得る。FDTは、FPE310によって送られるFLUTEパケット312の一部であり得る。
【0043】
上記の方法に伴う問題は、DASHフォーマッティングとFLUTEパッケージングとが逐次的であるため、FDTインスタンスを生成するより前にFPE310が受信しなければならないDASHセグメント308の数に遅延が比例し得ることである。さらに、遅延はDASHセグメント308の持続時間tに比例し得る。ライブストリーミングブロードキャストシステムでは、エンドツーエンド遅延は、概して、システム要件および/または、たとえば、モバイルデバイスにおけるエンドユーザエクスペリエンスによって決定され得る、所定の制限時間内に維持される必要があり得る。エンドツーエンド遅延は、ネットワーク側でビデオエンコーダに供給されるビデオコンテンツ(たとえば、
図3中のポイントA)と、UE受信機側でのコンテンツの表示(たとえば、
図3中のポイントB)との間の時間遅延と考えられ得る。その遅延は、FPE310がアグリゲートし得るDASHセグメント308の数NS、それらのDASHセグメント308の持続時間t、およびマルチキャストチャネル(「MCH」)スケジューリング期間(MSP:Multicast channel Scheduling Period)という3つのパラメータに依存し得る。MSPは、マルチキャスト制御チャネル(MCCH:Multicast control channel)上のMBSFNAreaConfiguration RRCメッセージを介してBM−SCによって与えられ得る。
【0044】
たとえば、第1の例示的な構成では、FPE310は、各DASHセグメントが2秒の持続時間を有する5つのDASHセグメントをアグリゲートするように構成される。第2の例示的な構成では、FPE310は、各DASHセグメントが2秒の持続時間を有する3つのDASHセグメントをアグリゲートするように構成される。第3の例示的な構成では、FPE310は、各DASHセグメントが1秒の持続時間を有する5つのDASHセグメントをアグリゲートするように構成される。第1の例では、各セグメントの持続時間が2秒である5つのDASHセグメントがあるので、エンドツーエンド遅延は10秒に比例する。第2の例では、エンドツーエンド遅延は6秒に比例し、第3の例では、エンドツーエンド遅延は5秒に比例する。3つの例示的な構成は、FPE310によってアグリゲートされるDASHセグメントの数を低減することと、各DASHセグメントの持続時間を低減することの一方または両方によって、エンドツーエンド遅延が低減され得ることを示す。時間要件または制約に基づいて、グループ当たりのアグリゲートすべきDASHセグメントの数、またはDASHセグメントの持続時間は、時間要件内(すなわち、時間遅延限界以下)になるように決定され得る。たとえば、10秒のエンドツーエンド遅延の時間要件の場合、1つの例示的な構成は、DASHセグメント当たり2秒の持続時間をもつ、グループ当たり4つのDASHセグメントをアグリゲートすることを含み、8秒のエンドツーエンド遅延を生じる。時間要件は、プログラム開始時間と、ユーザがディスプレイ上のコンテンツを見る時間との間の時間遅延である、初期遅延(または起動遅延)に関係し得る。たとえば、ユーザがプログラム開始時間においてチャネルに最初に同調したとき、ユーザは、セグメントの第1のグループの遅延に基づいてコンテンツを待つ。その上、第2の時間要件は、チャネル切替え遅延(たとえば、あるチャネルから別のチャネルに切り替えたときにユーザが経験する時間遅延)に関係し得る。チャネル切替え遅延は、SGOとDASHセグメント当たりの持続時間とに比例し得る。たとえば、ユーザは、すでにコンテンツをストリーミングしているチャネルに同調したとき、チャネル切替え遅延を経験し得る。たとえば、ユーザは、DASHセグメントの2つのグループが送信された後にチャネルに同調し得る。ユーザが経験する最大チャネル切替え遅延は、SGOによって決定されるDASHセグメントの数とDASHセグメント当たりの持続時間とに比例し得る。平均して、チャネル切替え遅延は、ユーザがDASHセグメントグループの送信期間中の任意の時間に同調し得るので、最大チャネル切替え遅延の1/2である。関係する態様では、MSP中にアグリゲートされたDASHセグメントをスケジュールすることに関連する遅延がエンドツーエンド遅延を増加させ得る。
【0045】
ブロードキャスト/マルチキャスト環境では、同じチャネルに同調するすべてのユーザが同じコンテンツを受信する。異なるユーザが異なる時間にチャネルに同調し得る。たとえば、
図3の環境においてチャネルに同調するユーザの初期遅延は、0〜NS*t+MSPの範囲内にあり得、平均遅延は、(NS*t+MSP)/2であり得る。ワーストケースシナリオでは、1つまたは複数のDASHセグメント308に対応するFDTインスタンスが小差で現在MSP送信ウィンドウを逃した場合、対応するFLUTEパケット312は、送信されるために次のMSPウィンドウを待たなければならないことがある。これにより、ユーザのディスプレイ322においてビデオ再生の中断が生じ得る。
【0046】
FPE310によって引き起こされる遅延は、FPE310がアグリゲートし得るDASHセグメント308の数を、理論上、1つのセグメントに低減することによって低減され得る。しかしながら、対応するFDTインスタンス自体の作成および送信は、得られるであろう利益を相殺し得るオーバーヘッドをシステムにもたらす。同様に、持続時間tのより小さい値は遅延を短縮することができるが、これは符号化効率を低下させ得る。ライブビデオまたはストリーミングビデオでは、これは、特定のチャネルに初めに同調したときまたはチャネル間で切り替えたときに遅延を引き起こし得るDASHセグメント308の小さいグループ中で情報が送られるので、難点をもたらし得る。
【0047】
別の難点は損失FDTインスタンスの可能性である。各FDTインスタンスは独立(self-contained)であり、ローカルキャッシュからビデオを再生するために必要とされる、対応するDASHセグメント308のURLを含み得る。FDTインスタンスが損失した場合、システムは、対応するDASHセグメント308を表示するために必要とされる情報を有しないことがある。
【0048】
次に
図4を参照すると、FLUTEパッケージングエンジン(FPE)400の一実施形態が示されている。FPE400および(通信ポート450を介して)そこから発生するFLUTEパケット430は、それぞれ、
図3中のFPE310およびFLUTEパケット312を置き換え得る。
【0049】
FPE400は、DASHエンコーダ306からDASHセグメント308を受信し得、いくつか(n個)のそのようなセグメントを保持することができる、バッファ410を含み得る。バッファ410はFIFOバッファであり得、nは、FPE400がアグリゲートし得るDASHセグメント308の最小グループサイズよりも大きいかまたはそれに等しいことがある。たとえば、FPE400が最大3つのDASHセグメント308をアグリゲートするように構成された場合、バッファ410は、3よりも大きいかまたはそれに等しいサイズnを有し得る。3以上のバッファ410のサイズは、バッファ410が、FPE400によって処理されるべき3つ以上のDASHセグメントを記憶することを可能にする。
【0050】
バッファ410は、通信ポート440を介して生成器420によってアクセスされ得る。生成器420は、FLUTEパッケージャ420aおよびFDT生成器420bという2つの協働セクションを有し、以下の2つの関係する動作を担当し得る。(1)FLUTEパッケージャ420aは、DASHセグメント308を、セグメントを含んでいるFLUTEパケット430aにパッケージングするための機能を含み得、(2)FDT生成器420bは、FLUTEパケット430aに対応する、FDTインスタンスを含んでいるFLUTEパケット430bを生成するための機能を含み得る。このコンテキストでは、FLUTEパッケージャ420aおよびFDT生成器420bは、無関係のハードウェアおよび/またはソフトウェア構成要素を指すことがあり、2つの、関係するかまたは無関係のソフトウェアプログラムを実行している単一の集積回路(IC)であり得る。
【0051】
生成器420はまた、データ入力として、(1)FPE400がアグリゲートし得るDASHセグメント308の数に対応する値NSと、(2)セグメントのオフセット値を表すセグメントグループ(「SG」)オフセット(SGO:segment group offset)とを受信し得る。NSの値は、プレゼンテーションが開始する前の初期遅延に影響を及ぼし得る。SGOは、前のSGの開始セグメント番号と現在SGの開始セグメント番号との間のオフセットであり得、チャネル切替え遅延に影響を及ぼし得る。FPE400がアグリゲートし得るDASHセグメント308の数に対応する値NSは、プレゼンテーションの前の初期遅延を低減するように構成され得る。SGOは、チャネル切替え遅延を低減するように構成され得る。初期遅延およびチャネル切替え遅延は送信スケジューリング期間に関係し得る。以下で説明する理由により、SGOはNS未満になり得る。
【0052】
NSとSGOの両方は、システム要件に従って事前構成され得る。ただし、本開示はそのように限定されず、いずれの値も固定であり得、ならびに/あるいは自動または手動操作によって可変であり得る。
【0053】
生成器420は、事前プログラムされた集積回路(IC)を介してなど、電子コンピュータハードウェアに関連して動作するソフトウェアによって実装され得る。ただし、他のソフトウェア、ハードウェアおよび/またはファームウェア構成が使用され得る。さらに、生成動作およびパッケージング動作は、単一の構成要素中で実行されるか、または複数の構成要素の間で(ソフトウェアおよび/またはハードウェアレベルで)分散され得る。本開示は生成器420の特定のアーキテクチャに限定されない。
【0054】
生成器420の例示的な実施形態によって実行される動作について、
図5および
図6Aを参照しながら説明する。
図5は動作のフローチャートであり、
図6Aは、NS=3およびSGO=2の値の場合、フローチャートの実装が一連のDASHセグメント308にどのように適用され得るかを概念的に示す。これらの値は例にすぎず、任意の適切な値が選定され得る。
【0055】
開示する主題に従って実装され得る方法は、
図5、
図8、および
図9などのフローチャートを参照すると、より良く諒解され得ることを理解されたい。説明を簡単にするために、方法を一連の行為/動作として図示し、説明することがある。ただし、いくつかの動作は、本明細書で図示および説明するものとは異なる順序で、および/または他の動作と実質的に同時に行われ得るので、請求する主題は動作の数または順序によって限定されない。さらに、本明細書で説明する方法を実装するために、図示されたすべての動作が必要とされるとは限らない。動作に関連する機能は、ソフトウェア、ハードウェア、それらの組合せまたは任意の他の好適な手段(たとえば、デバイス、システム、プロセス、または構成要素)によって実装され得ることを諒解されたい。さらに、本明細書の全体にわたって開示する方法は、そのような方法を様々なデバイスに移送および転送することを可能にする製造品に符号化された命令および/またはデータとして記憶することが可能であることをさらに諒解されたい。方法は、代替的に、状態図など、一連の相互に関係する状態または事象として表現され得ることを、当業者は理解し、諒解されよう。
【0056】
以下の説明では、例示的な値は、グループ当たり3つのDASHセグメント(すなわち、NS=3)およびセグメントグループオフセット2(すなわち、SGO=2)として選択される。DASHセグメントの第1のグループについて、インスタンス番号は1として定義され得る(すなわち、k=1)。インスタンス番号は、すべてのDASHセグメントが一緒にグループ化されるまで増分し得る。第1のグループでは、開始セグメント番号は1であり(すなわち、BSN[1]=1)、終了セグメント番号は3である(すなわち、ESN[1]=3)。処理され、第1のグループに追加されるDASHセグメントの数は、0から開始し、3まで増加し得る(すなわち、NSG[1]=0〜3)。3つのDASHセグメントが一緒にグループ化された後、プロセスはDASHセグメントの第2のグループに進む。
【0057】
DASHセグメントの第2のグループについて、インスタンス番号は2として定義され得る(すなわち、k=2)。第2のグループでは、開始セグメント番号は3であり(すなわち、BSN[2]=3)、終了セグメント番号は5である(すなわち、ESN[2]=5)。第1のグループからの終了セグメント番号は3であったが、第2のグループの開始セグメント番号は3であり、4ではないことに留意されたい。開始セグメント番号は、SGOと前のグループの開始セグメント番号とに基づいて決定されるので、開始セグメント番号は前のグループの終了セグメント番号に起因しない。この例では、SGOは2として選択される。したがって、第2のグループの開始セグメント番号(3)は、第1のグループの開始セグメント番号(1)+SGO(2)である。処理され、第2のグループに追加されるDASHセグメントの数は、0から開始し、3まで増加し得る(すなわち、NSG[2]=0〜3)。3つのDASHセグメントが一緒にグループ化された後、プロセスはDASHセグメントの次のグループに進む。
【0058】
SGOは、切替え遅延時間要件を満たすために有益に使用され得る。切替え遅延時間要件に基づいて、SGOは、時間要件を満たす(すなわち、遅延が時間制限に等しいかまたはそれよりも小さくなる)ように決定され得る。時間要件はチャネル切替え遅延に関係し得る。SGOは、前のSGの開始セグメント番号と現在SGの開始セグメント番号とのオフセットを決定するので、SGOはチャネル切替え遅延に影響を及ぼす。SGOは、いくつの新しいセグメントが各FLUTEパッケージに追加され得るかを決定し得る。新しいセグメントの数も、ユーザが既存のプログラムに同調するときに知覚するチャネル切替え時間遅延に影響を及ぼし得、チャネル切替え時間遅延は、満たされなければならない別の時間制約である。2つの新しいセグメントが追加され、各セグメントが2秒の持続時間を有する場合、チャネル切替え遅延は、約4秒(SGO*t+MSP)になり、平均では2秒(SGO*t+MSP)/2になり得る。
【0059】
次に
図5を参照すると、S510においてシステムが初期化され得る。初期化中に4つの変数、すなわち、(1)インスタンス変数k、(2)開始セグメント番号BSN[k]、(3)終了セグメント番号ESN[k]、および(4)グループ中のセグメントの数のカウンタNSG[k]が確立され得る。
【0060】
S510における初期化時に、一実施形態では、第1のインスタンスについてk=1であり、第1のDASHセグメント308についてBSN[1]=1であり、ESN[1]=NSであり、第1のグループ中のセグメントの数NSG[1]=0である。さらに、すべてのセグメントグループは、この実施形態では空であると考えられ得る。
【0061】
S512、S516、S517、S518、およびS520は、パッケージングのためにDASHセグメント308をアグリゲートし得る、方法中の再帰的動作をまとめて定義し得る。S512において、バッファ410は、それが空であるかどうかを確認され得る。空でない場合、S516において、次のDASHセグメント308が、新しいセグメントであるのか、バッファ410から前に取り出されたセグメントであるのかに関して、決定がされ得る。次のDASHセグメントが前に取り出された場合、制御はS518に移り得る。次のDASHセグメントが新しいセグメントである場合、S517において、次のDASHセグメント308がバッファ410から取り出され得る。上記で説明したように、バッファ410は、取り出されたDASHセグメント308が単にバッファストレージ中の次のセグメントであるようなFIFOバッファであり得るが、他のバッファおよび方法が使用され得る。制御は、次いでS518に移り得る。
【0062】
S518において、セグメントはセグメントグループに追加されたと考えられ得、カウンタNSG[k=1]を1だけ増分する。S520において、制御は、グループ中のセグメントの数がNSに等しいかどうかを決定し得る。等しくない場合、制御は、それ以外のセグメントを追加するためにS512に戻り得る。
【0063】
上記のプロセスは、第1のグループSG[k=1](すなわち、SG1)へのセグメントの蓄積によって
図6Aに反映される。上述したように、
図6Aの例では、NS=3である。したがって、ステップS512、S516、S517、S518、およびS520は、3つのセグメント、すなわち、セグメント1〜3をSG[k=1]に追加するために3回ループし得る。
【0064】
再び
図5を参照すると、S522において、それが第1のインスタンス(k=1)であるのかその後のインスタンスであるのかに基づいて、異なるアクションがとられ得る。それが第1のインスタンスである場合(これは、
図6Aの対応する説明における現在の状態である)、S524において、生成器420は、(a)蓄積DASHセグメント308のすべてをFLUTEパケット430aにパッケージングし、(b)対応するFLUTEパケット430a内のセグメントのすべてについてのFDT属性を記述し得る対応するFDTインスタンス430bを生成し得る。次いで、ディスプレイデバイス上での表示のためにUEにディスパッチするために、S524において、FLUTEパケット430aおよび対応するFDTインスタンス430bを、通信ポート450を介して生成器420からBM−SC314に送られ得る。
図6Aの例では、セグメント1〜3がFLUTEパケット430aのコンテンツであり得、それに関係するFDT情報は、対応するFDTインスタンス430b中に見つかり得る。
【0065】
制御は、次いでS526に移り得、システムは次のFDTインスタンスを準備する。インスタンスカウンタkは1だけ増分され得る。その新しいインスタンスの開始セグメント番号BSN[k]は、SGOの値だけ増分され得る(すなわち、BSN[k]=BSN[k−1]+SGO)。その新しいインスタンスの終了セグメント番号は、開始セグメント番号+NS−1の値に設定され得る(すなわち、ESN[k]=BSN[k]+NS−1)。カウンタNSGは0に戻り得る。
【0066】
制御は、次いでS512に戻り得、システムは、次のSGのためにDASHセグメント308をFLUTEパケットに再び蓄積し始める。ただし、(a)開始セグメント番号BSNは、NSではなくSGOによって増分され、(b)SGOはNSよりも小さいことがあるので、蓄積DASHセグメント308は、前のFLUTEパケット430中ですでに送られた少なくとも1つのDASHセグメント308と、少なくとも1つの新しいDASHセグメント308とを含み得る。これは、k=2である場合の第2のインスタンスSG2のコンテンツについて
図6Aを参照することによって理解され得る。
図6Aの例ではNS=3およびSGO=2であるので、SG2のためのセグメントグループは、バッファ410から前に取り出され、すでにディスパッチされたセグメントグループSG1中に含まれる、セグメント3から始まり、それを含み得る。
【0067】
処理は、セグメントグループを連続DASHセグメント308の総数に関連付けるために、S512、S516、S517、S518、およびS520を介して総NSまで再帰的に続き得る。
図6Aでは、NS=3であり、第1のセグメントがセグメント3によって占有される場合、もう2つのDASHセグメント308が、概して、セグメントグループSG2に追加される必要があり得、したがって、SG2は、セグメント4とセグメント5とを含むようになり得る。
【0068】
上記のことからわかるように、SGO<NSであるとき、開始セグメントカウントをSGOだけ増分することにより、FPE400は、前に処理されたDASHセグメント308を考慮に入れ得る。これは、セグメントカウントが、シーケンス中の次のセグメントに進められ得、したがって、前のセグメントを考慮に入れないことがある、
図3の例と対照をなす。
【0069】
S520においてセグメントグループがいっぱいであると決定された後、制御はS522に移り得る。これが第1のインスタンスでない(k≠1)とき、システムは、S552において、現在SG[k]と前のSG[k−1]の両方についてのFDT属性を記述し得るFDTインスタンス430bを生成する。
図6Aの例では、第2のインスタンスk=2である場合、SG1はセグメント1〜3を含み、SG2はセグメント3〜5を含む。FDTインスタンス[k=2]は、したがって、セグメント1〜5についてのFDT属性を記述し得る。同じFDTインスタンス内でのセグメント3についての記述の重複は不要であるので、その記述は1回のみ含まれる必要があり得ることに留意されたい。したがって、FDT[k]はSG[k]∪SG[k−1]を記述し得る。
【0070】
S551またはS552において、システムはまた、SG[k]中のDASHセグメント308のためのFLUTEパケット430aを準備する。セグメントグループSG[k]は、それに割り当てられた合計NS個のDASHセグメント308を有し得るが、前に送信されたDASHセグメント308を再送することは不要である。
図6Aの例では、第2のインスタンス(k=2)の場合、SG2はセグメント3〜5を割り当てられ得る。しかしながら、セグメント3はSG1で前に送られたので、セグメント3を再送する必要はないことがあり、したがって、セグメント3はSG2から除外され得る。したがって、SG2はセグメント4および5のみを含み得る。したがって、生成器420は、現在セグメントグループのために新たに収集されたDASHセグメント308のみを用いてFLUTEパッケージ430aを準備し得る。これは、SG[k]−(SG[k]∩SG[k−1])として考えられ得る。FLUTEパケット430aは、ディスプレイ322での表示のためにS524に従って送られ得る。
【0071】
上記の処理は、コンテンツストリーム全体を通して再帰的に続き得る。
図6Aの例に関して、次のインスタンスk=3では、FDT[k=3]インスタンス430bは、セグメント3〜7のFDT属性を記述し得、対応するFLUTEパケット430aはセグメント6および7を含み得る。
【0072】
最終的に、送るべきバッファ410中のDASHセグメント308がもはやなくなり得るように、コンテンツストリーム全体が終了し得る。コンテンツストリームが終了したとき、バッファ410は空であり得、S512において空のバッファステータスが検出され得る。各セグメントはt秒の符号化コンテンツを含んでいるので、(たとえば、S516、S517、S518において)各セグメントを処理するために必要な時間はt秒よりも長くなる可能性は低い。DASHセグメントがt秒ごとに生成され得ると仮定すると、セグメント持続時間の少なくとも2倍、またはより一般的には、n*t(n>1)秒待機することにより、バッファアンダーラン状況が回避され得る。n*t秒待機した後に、バッファが空の場合、コンテンツストリームは終了した。一例として、待機期間は2・t秒であるように選定され得るが、任意の時間が適宜に使用され得る。次いで、S514において、待機期間の後にバッファ410のステータスを確認する。これは、バッファ410に関連するステータスフラグ、またはバッファのステータスを決定するための他の知られている方法によって行われ得、本開示は、バッファのステータスが確認される特定のタイプの方法に限定されない。
【0073】
セグメントが待機期間の終わりまでに現れない場合、セグメントの不在はビデオストリームの終了を示し得る。制御はS515に移り得、送られるのを待機している、最後のグループに蓄積された未処理のDASHセグメント308があるかどうかを確認する。最後のグループに蓄積された未処理のDASHセグメント308がない場合(これは、最後のDASHセグメント308が最後のセグメントグループの最後のスロットと一致した場合であり得る)、プロセスは終了し得る。送られるべきセグメントがある場合、制御は、上記で説明したステップS522およびS524に類似するステップS530およびS532に移り得る。S532において最後のセグメントを送ると、プロセスは終了し得る。
【0074】
図6Bに、
図6Aの例による例示的なFDTインスタンス430b’を示す。FDTは、配信されるべきファイルに関連する様々な属性を記述するための手段を与える。FDTインスタンス430b’は、ヘッダ620と関連するファイルについてのファイル属性630、640、650とを含み得る。属性は、(たとえば、URLによって指定された)ファイル名、ファイルタイプ(たとえば、ファイルのMIMEメディアタイプ)、ファイルのサイズ、ファイルの符号化フォーマット、および/またはファイルのメッセージダイジェストを含み得る。
図6Aに示した例では、SG1のためのFDTインスタンス430bはセグメント1〜3を含む。FDTインスタンス430b’は、
図6AのSG1のためのFDTインスタンス430bに対応し得る。ファイル属性630、640、650は、それぞれ、セグメント1、セグメント2、およびセグメント3について与えられる。セグメント1についてのファイル属性630は、セグメント1のURL(またはURI)、セグメント1のMIMEタイプ、セグメント1のファイルサイズ、セグメント1のファイル圧縮のアルゴリズム、およびセグメント1のMD5ダイジェストを含み得る。セグメント2についてのファイル属性640は、セグメント2のURL、セグメント2のMIMEタイプ、セグメント2のファイルサイズ、セグメント2のファイル圧縮のアルゴリズム、およびセグメント2のMD5ダイジェストを含み得る。セグメント3についてのファイル属性650は、セグメント3のURL、セグメント3のMIMEタイプ、セグメント3のファイルサイズ、セグメント3のファイル圧縮のアルゴリズム、およびセグメント3のMD5ダイジェストを含み得る。ビデオコンテンツでは、3つのセグメントのMIMEメディアタイプは同じであり得る。
【0075】
上記の実施形態は様々な利点を提供し得る。たとえば、FDTインスタンスが、FDTインスタンスによって記述されるすべてのセグメントのURLを担持するとき、送信中のそのインスタンスの損失は、それによって記述されるすべてのセグメントの損失を暗示し得る。本明細書の様々な実施形態では、FDTインスタンスは、他のFDTインスタンスと重複する情報を含んでいることがあり、これは、特定のFDTインスタンスの損失の結果を緩和する冗長性レベルを与え得る。
【0076】
別の利点はエンドツーエンド遅延の低減であり得る。
図5では、FLUTEパッケージをパッケージングし、送ることによって生じる遅延は、グループ中のDASHセグメント308の数とそれらのパッケージの持続時間とに基づいていた(NS・t)。しかし、
図4〜
図6に関連して説明した実施形態では、遅延は、それらのセグメントのSGオフセット値と持続時間とに基づき得る(SGO・t)。SGO<NSである場合、対応する遅延はより短くなる。NS=3およびSGO=2である
図6Aの例では、遅延は、3・tの代わりに2・tに基づき得る。これは、FLUTEパケット430が、送信のために割り当てられたウィンドウ内でBM−SC314に到着し得る確率を改善し得る。
【0077】
上記の実施形態は、ディスプレイ322上のビデオコンテンツを閲覧するエンドユーザに様々な利点を与え得る。上記で説明したように、FDTインスタンスの損失により、FDTインスタンスが記述する、基礎をなすビデオコンテンツにアクセスすることができなくなり、ディスプレイ322上のビデオ再生にギャップが生じ得る。FDTインスタンスが他のFDTインスタンスと重複する情報を含んでいることがある限り、冗長性により、ディスプレイ322におけるビデオ再生の中断の可能性が低下し得る。
【0078】
エンドユーザに対する別の潜在的な利点は、SGO<NSである場合の、チャネルに初めに同調したときまたはチャネルを切り替えたときの遅延の低減であり得る。上記で説明したように、たとえば、
図3に一致するアーキテクチャを使用してチャネルに同調するユーザの初期遅延は、(NS*t+MSP)/2の平均遅延をもつ、0〜NS*t+MSPの範囲内にあり得る。本明細書の様々な実施形態の方法、たとえば、
図4〜
図6を使用すると、既存のチャネルに同調するユーザのチャネル切替え遅延は、(SGO*t+MSP)/2の平均遅延をもつ、0〜SGO*t+MSPの範囲内にあり得る。
【0079】
上述したように、FPE400およびそこから発生するFLUTEパケット430は、それぞれ、
図3中のFPE310およびFLUTEパケット312を置き換え得る。これは、
図7に示す実施形態に反映され得る。上記で説明したように、
図7中のFLUTEパケット430は、
図3の実施形態におけるFLUTEパケットとは異なる情報を含み得るが、
図3(および
図7)に示した残りの構成要素の動作は、FPE400を利用するとき、概して同じであり得る。
【0080】
図8に、たとえば、生成器420によって実行され得る、ストリーミング遅延を制御するための例示的な方法を示す。方法800は、802において、データセグメントのストリームを受信することを含み得る。本方法は、804において、データセグメントに基づいてセグメントの第1のグループを確立することを含み得る。本方法は、806において、情報の第1のテーブルを生成することを含み、情報は、セグメントの第1のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む。本方法は、808において、第1のテーブルとセグメントの第1のグループとを送信することを含み得る。本方法は、810において、データセグメントに基づいてセグメントの第2のグループを確立することを含み、セグメントの第2のグループは、セグメントの第1のグループ中に含まれるデータセグメントの部分的重複を含む。本方法は、812において、情報の第2のテーブルを生成することを含み、情報は、セグメントの第1のグループおよび第2のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む。本方法は、814において、第2のテーブルと、第1のグループの一部でなかった第2のグループからのデータセグメントを含むセグメントの集合とを送信することを含み得る。
【0081】
図9に、たとえば、生成器420によって実行され得る、ストリーミング遅延を制御するための別の例示的な方法を示す。方法900は、902において、データセグメントのストリームを受信することを含み得る。本方法は、904において、ストリームの個々のセグメントをサイズNSのセグメントのグループにグループ化することを含み、セグメントのグループは、第1のグループ、最後のグループ、およびセグメントの第1のグループと最後のグループとの間の1つまたは複数の中間グループを含む。本方法は、906において、1つまたは複数の中間グループのうちの第1の中間グループについて、第1の中間グループおよびストリーム内の直前のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む情報のテーブルを生成することを含み得る。本方法は、908において、テーブルと、直前のグループの一部でなかった第1の中間グループからのデータセグメントを含むセグメントの集合とを送信することを含み得る。
【0082】
次に
図10を参照すると、本開示の別の例示的な実施形態が装置1000において示されている。装置1000は
図8の方法を実装し得る。装置1000は、データセグメントの受信ストリームに基づいてセグメントの第1のグループを確立するためのモジュール1020を含み得る。そのようなモジュール1020の非限定的な例は生成器420であり得る。上記で説明したように、生成器420は、DASHセグメント308を受信し、それらをFLUTEパケット430a中のセグメントグループSG[k]として送り得る。非限定的な例として、
図6Aは、FLUTEパッケージャ420aが、セグメント1〜3を受信し得、セグメント1〜3をSG1に割り当て得る例を示す。上記で説明したように、生成器420のこの機能は、ハードウェアおよび/またはソフトウェアであり得、1つまたは複数のプロセッサおよび/または1つまたは複数のメモリを含み得る。
【0083】
本装置は、情報の第1のテーブルを生成するためのモジュール1030を含み、情報は、セグメントの第1のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、モジュール1030を含み得る。そのようなモジュール1020の非限定的な例は生成器420であり得る。上記で説明したように、FDT生成器420bは、セグメントグループSG[k]に割り当てられたDASHセグメント308を記述するFDTインスタンス[k]230bを準備し得る。非限定的な例として、
図6Aは、生成器420が、セグメント1〜3をどのように受信し得るかと、セグメント1〜3をSG1に最終的にどのように割り当て得るかと、セグメント1〜3の属性を記述するインスタンスFDT[1]をどのように準備し得るかと、を示す。上記で説明したように、生成器420のこの機能は、ハードウェアおよび/またはソフトウェアであり得、1つまたは複数のプロセッサおよび/または1つまたは複数のメモリを含み得る。
【0084】
本装置は、第1のテーブルとセグメントの第1のグループとを送信するためのモジュール1040を含み得る。モジュール1040の非限定的な例は、FPE400および/または図示し上記で説明した他の構成要素のデータ出力であり得るかまたはそれを含み得る。
【0085】
本装置は、データセグメントに基づいてセグメントの第2のグループを確立するためのモジュール1050を含み得、セグメントの第2のグループは、セグメントの第1のグループ中に含まれるデータセグメントの部分的重複を含む。そのようなモジュール1020の非限定的な例は生成器420であり得る。上記で説明したように、生成器420は、セグメントグループSG[k]に割り当てられたDASHセグメント308を記述するFDTインスタンス[k]430bを準備し得る。非限定的な例として、
図6Aは、生成器420が、セグメント1〜5をどのように受信し得るかと、セグメント1〜3をSG1におよびセグメント3〜5をSG2に最終的にどのように割り当て得るかと、を示す。上記で説明したように、生成器420のこの機能は、ハードウェアおよび/またはソフトウェアであり得、1つまたは複数のプロセッサおよび/または1つまたは複数のメモリを含み得る。
【0086】
本装置は、情報の第2のテーブルを生成するためのモジュール1060を含み、情報は、セグメントの第1のグループおよび第2のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む。そのようなモジュール1060の非限定的な例は生成器420であり得る。上記で説明したように、生成器420は、DASHセグメント308を受信し、それらをFLUTEパケット430a中のセグメントグループSG[k]として、たとえば、
図6Aに関して説明したSG1およびSG2として送り得る。生成器420はまた、SG[k]∪SG[k−1]の属性を記述し得るFDTインスタンス[k]430(b)を生成し得る。非限定的な例として、
図6Aは、生成器420が、セグメント1〜5をどのように受信し得るかと、セグメント1〜5を記述する対応するFDTをどのように生成し得るかと、を示す。上記で説明したように、生成器420のこの機能は、ハードウェアおよび/またはソフトウェアであり得、1つまたは複数のプロセッサおよび/または1つまたは複数のメモリを含み得る。
【0087】
本装置は、第2のテーブルと、第1のグループの一部でなかった第2のグループからのセグメントを含むセグメントの集合とを送信するためのモジュール1070を含み得る。モジュール1070の非限定的な例は、FPE400および/または図示し上記で説明した他の構成要素の接続ポート450であり得るかまたはそれを含み得る。本装置は、モジュールに接続し、および/またはモジュールのいずれかの機能を与え得る、プロセッサ1080および/またはメモリ1090を含み得る。
【0088】
構成要素1020〜1070は、データセグメントの受信ストリームに基づいてセグメントの第1のグループを確立するための手段を含み得る。たとえば、第1のグループを確立するための手段は、データセグメントのストリームを受信することとデータセグメントについての情報のテーブルを送信することとに関係する時間制約を決定するように構成され得る。たとえば、第1のグループを確立するための手段は、時間制約に基づいて第1のグループのためのデータセグメントの数を決定するように構成され得る。構成要素1020〜1070は、情報の第1のテーブルを生成するための手段であって、情報が、セグメントの第1のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含むことと、第1のテーブルとセグメントの第1のグループとを送信するための手段と、データセグメントに基づいてセグメントの第2のグループを確立するための手段であって、セグメントの第2のグループが、セグメントの第1のグループ中に含まれるデータセグメントの部分的重複を含むこととを含み得る。たとえば、第2のグループを確立するための手段は、データセグメントのストリームを受信することとデータセグメントについての情報のテーブルを送信することとに関係する時間制約を決定するように構成され得る。たとえば、第2のグループを確立するための手段は、時間制約に基づいて第2のグループのためのデータセグメントの数を決定するように構成され得る。構成要素1020〜1070は、情報の第2のテーブルを生成するための手段であって、情報が、セグメントの第1のグループおよび第2のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含むことと、第2のテーブルと、第1のグループの一部でなかった第2のグループからのセグメントを含むセグメントの集合とを送信するための手段とを含み得る。手段は、アルゴリズムを動作させる少なくとも1つの制御プロセッサ(たとえば、
図10のプロセッサ1080)を含むことも含まないこともある。アルゴリズムは、データセグメントの受信ストリームに基づいてセグメントの第1のグループを確立することを含み得る。アルゴリズムは、情報の第1のテーブルを生成することを含み、情報は、セグメントの第1のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む。アルゴリズムは、第1のテーブルとセグメントの第1のグループとを送信することを含み得る。アルゴリズムは、データセグメントに基づいてセグメントの第2のグループを確立することを含み、セグメントの第2のグループは、セグメントの第1のグループ中に含まれるデータセグメントの部分的重複を含む。アルゴリズムは、情報の第2のテーブルを生成することを含み、情報は、セグメントの第1のグループおよび第2のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む。アルゴリズムは、第2のテーブルと、第1のグループの一部でなかった第2のグループからのセグメントを含むセグメントの集合とを送信することを含み得る。
【0089】
次に
図11を参照すると、本開示の別の例示的な実施形態が装置1100において示されている。装置1100は
図9の方法を実装し得る。本装置は、データセグメントの受信ストリームに基づいて、個々のセグメントをサイズNSのセグメントのグループにグループ化するためのモジュール1120を含み、セグメントのグループは、第1のグループ、最後のグループ、およびセグメントの第1のグループと最後のグループとの間の1つまたは複数の中間グループを含む。そのようなモジュール1120の非限定的な例は生成器420であり得る。上記で説明したように、生成器420は、DASHセグメント308を受信し、それらをFLUTEパケット430a中のセグメントグループSG[k]として送り得る。上記で説明したように、生成器420のこの機能は、ハードウェアおよび/またはソフトウェアであり得、1つまたは複数のプロセッサおよび/または1つまたは複数のメモリを含み得る。
【0090】
装置1100は、第1の中間グループについて、第1の中間グループおよびストリーム内の直前のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む情報のテーブルを生成するためのモジュール1130を含み得る。そのようなモジュール1130の非限定的な例は生成器420であり得る。上記で説明したように、生成器420は、DASHセグメント308を受信し、それらをFLUTEパケット430a中のセグメントグループSG[k]として送り得る。生成器420はまた、SG[k]∪SG[k−1]の属性を記述し得るFDTインスタンス[k]430(b)を生成し得る。上記で説明したように、生成器420のこの機能は、ハードウェアおよび/またはソフトウェアであり得、1つまたは複数のプロセッサおよび/または1つまたは複数のメモリを含み得る。
【0091】
装置1100は、テーブルと、直前のグループの一部でなかった第1の中間グループからのデータセグメントを含むセグメントの集合とを送信するためのモジュール1140を含み得る。モジュール1140の非限定的な例は、FPE400および/または図示し上記で説明した他の構成要素の出力の接続ポート450であり得るかまたはそれを含み得る。装置1100は、モジュールに接続し、および/またはモジュールのいずれかの機能を与え得る、プロセッサ1150および/またはメモリ1160を含み得る。
【0092】
構成要素1120〜1140は、データセグメントの受信ストリームに基づいて、個々のセグメントをサイズNSのセグメントのグループにグループ化するための手段であって、セグメントのグループが、第1のグループ、最後のグループ、およびセグメントの第1のグループと最後のグループとの間の中間グループを含むこと、を含み得る。たとえば、個々のセグメントをグループ化するための手段は、個々のセグメントをグループ化することに関係する時間制約を決定するように構成され得る。たとえば、個々のセグメントをグループ化するための手段は、時間制約に基づいてNSを決定するように構成され得る。構成要素1120〜1140は、第1の中間グループについて、第1の中間グループおよびストリーム内の直前の中間グループ中のそれぞれのセグメントについての1つまたは複数の属性を含む情報のテーブルを生成するための手段と、テーブルと、直前のグループの一部でなかった第1の中間グループからのデータセグメントを含むセグメントの集合とを送信するための手段とを含み得る。手段は、アルゴリズムを動作させる少なくとも1つの制御プロセッサ(たとえば、
図11のプロセッサ1150)を含むことも含まないこともある。アルゴリズムは、データセグメントの受信ストリームに基づいて、個々のセグメントをサイズNSのセグメントのグループにグループ化することであって、セグメントのグループが、第1のグループ、最後のグループ、およびセグメントの第1のグループと最後のグループとの間の中間グループを含むこと、を含み得る。アルゴリズムは、第1の中間グループについて、第1の中間グループおよびストリーム内の直前のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む情報のテーブルを生成することを含み得る。アルゴリズムは、テーブルと、直前のグループの一部でなかった第1の中間グループからのデータセグメントを含むセグメントの集合とを送信することを含み得る。
【0093】
上記の実施形態について、eMBMSを介したFLUTE上でのDASHに関して説明したが、本発明はそのように限定されない。任意の適切なプロトコル、アーキテクチャおよび/またはネットワークが使用され得る。また、適用例について、マルチキャストを利用する環境に関して説明したが、ユニキャスト、マルチキャストおよび/またはブロードキャストのいずれかが使用され得る。
【0094】
情報および信号は多種多様な技術および技法のいずれかを使用して表され得ることを、当業者は理解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【0095】
さらに、本明細書の開示に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得ることを、当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課された設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈されるべきではない。
【0096】
本明細書の開示に関して説明した様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。
【0097】
本明細書の開示に関して説明した方法またはアルゴリズムのステップは、直接ハードウェアで実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその2つの組合せで実施され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROM(登録商標)メモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサに一体化され得る。プロセッサおよび記憶媒体はASIC中に常駐し得る。ASICはユーザ端末中に常駐し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末中に個別構成要素として常駐し得る。
【0098】
1つまたは複数の例示的な設計では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、汎用または専用コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコード手段を搬送または記憶するために使用され得、汎用もしくは専用コンピュータ、または汎用もしくは専用プロセッサによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続も、送信信号の非一時的記憶を伴う限り、コンピュータ可読媒体と適切に呼ばれ得る。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、信号が、非一時的時間の間、記憶媒体またはデバイスメモリ上の送信チェーンに保持される限り、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびblu−ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【0099】
本開示についての以上の説明は、いかなる当業者も本開示を作成または使用することができるように与えたものである。本開示への様々な修正は当業者には容易に明らかとなり得、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用され得る。したがって、本開示は、本明細書で説明した例および設計に限定されるものではなく、本明細書で開示した原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1] データセグメントを送るための方法であって、
データセグメントのストリームを受信することと、
前記データセグメントに基づいてセグメントの第1のグループを確立することと、
情報の第1のテーブルを生成すること、前記情報は、セグメントの前記第1のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第1のテーブルとセグメントの前記第1のグループとを送信することと、
前記データセグメントに基づいてセグメントの第2のグループを確立すること、セグメントの前記第2のグループは、セグメントの前記第1のグループ中に含まれるデータセグメントの部分的重複を含む、と、
情報の第2のテーブルを生成すること、前記情報は、セグメントの前記第1のグループおよび前記第2のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第2のテーブルと、前記第1のグループの一部でなかった前記第2のグループからのデータセグメントを含むセグメントの集合とを送信することと
を備える、方法。
[C2] データセグメントの前記ストリーム内のデータセグメントのあるグループを受信することと前記第1のテーブルを送信することとの間のある時間制約を決定すること、セグメントの前記第1のグループを前記確立することは、前記決定された時間制約にさらに基づく、と、
データセグメントの前記ストリーム内のデータセグメントの別のグループを受信することと前記第2のテーブルを送信することとの間の別の時間制約を決定すること、セグメントの前記第2のグループを前記確立することは、前記別の時間制約にさらに基づく、と
をさらに備える、C1に記載の方法。
[C3] セグメントの前記第1のグループを前記確立することは、前記第1のグループのためのデータセグメントの数を決定することをさらに備え、
セグメントの前記第2のグループを前記確立することは、前記第2のグループのためのデータセグメントの数を決定することをさらに備える、C2に記載の方法。
[C4] 前記データセグメントはDASHセグメントである、C1に記載の方法。
[C5] 前記第1のテーブルとセグメントの前記第1のグループとはFLUTEパケットである、C1に記載の方法。
[C6] データセグメントの前記ストリームはビデオデータを備える、C1に記載の方法。
[C7] 前記ビデオデータは、MPEG2、MPEG4、H.264、またはH.265のうちの1つで符号化される、C6に記載の方法。
[C8] 前記1つまたは複数の属性のうちの1つの属性はURLである、C1に記載の方法。
[C9] 前記データセグメントに基づいてセグメントの第3のグループを確立すること、セグメントの前記第3のグループは、セグメントの前記第2のグループ中に含まれるデータセグメントの部分的重複を含む、と、
情報の第3のテーブルを生成すること、前記情報は、セグメントの前記第2のグループおよび前記第3のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第2のテーブルと、セグメントの前記第1のグループまたは前記第2のグループの一部でなかったセグメントの前記第3のグループからのセグメントを含むセグメントの集合とを送信することと
をさらに備える、C1に記載の方法。
[C10] データセグメントを送るための方法であって、
データセグメントのストリームを受信することと、
前記ストリームの個々のデータセグメントをサイズNSのセグメントのグループにグループ化すること、セグメントの前記グループは、第1のグループ、最後のグループ、およびセグメントの前記第1のグループと前記最後のグループとの間の1つまたは複数の中間グループを含む、と、
前記1つまたは複数の中間グループのうちの第1の中間グループについて、前記第1の中間グループおよび前記ストリーム内の直前のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む情報のテーブルを生成することと、
前記テーブルと、前記直前のグループの一部でなかった前記第1の中間グループからのデータセグメントを含むセグメントの集合とを送信することと
を備える、方法。
[C11] 前記データセグメントはDASHセグメントである、C10に記載の方法。
[C12] 前記第1のテーブルとセグメントの前記集合とはFLUTEパケットである、C10に記載の方法。
[C13] データセグメントの前記ストリームはビデオデータを備える、C10に記載の方法。
[C14] 前記1つまたは複数の属性のうちの1つの属性はURLである、C10に記載の方法。
[C15] データセグメントを送るためのシステムであって、
データセグメントの受信ストリームに基づいてセグメントの第1のグループを確立するための手段と、
情報の第1のテーブルを生成するための手段、前記情報は、セグメントの前記第1のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第1のテーブルとセグメントの前記第1のグループとを送信するための手段と、
前記データセグメントに基づいてセグメントの第2のグループを確立するための手段、セグメントの前記第2のグループは、セグメントの前記第1のグループ中に含まれるデータセグメントの部分的重複を含む、と、
情報の第2のテーブルを生成するための手段、前記情報は、セグメントの前記第1のグループおよび前記第2のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第2のテーブルと、前記第1のグループの一部でなかった前記第2のグループからのデータセグメントを含むセグメントの集合とを送信するための手段と
を備える、システム。
[C16] データセグメントの前記ストリーム内のデータセグメントのあるグループを受信することと前記第1のテーブルを送信することとの間のある時間制約を決定するための手段、セグメントの前記第1のグループを前記確立することは、前記決定された時間制約にさらに基づく、と、
データセグメントの前記ストリーム内のデータセグメントの別のグループを受信することと前記第2のテーブルを送信することとの間の別の時間制約を決定するための手段、セグメントの前記第2のグループを前記確立することは、前記別の時間制約にさらに基づく、と
をさらに備える、C15に記載のシステム。
[C17] セグメントの前記第1のグループを前記確立することは、前記第1のグループのためのデータセグメントの数を決定することをさらに備え、
セグメントの前記第2のグループを前記確立することは、前記第2のグループのためのデータセグメントの数を決定することをさらに備える、C16に記載のシステム。
[C18] データセグメントを送るためのシステムであって、
データセグメントの受信ストリームに基づいて、個々のセグメントをサイズNSのセグメントのグループにグループ化するための手段、セグメントの前記グループは、第1のグループ、最後のグループ、およびセグメントの前記第1のグループと前記最後のグループとの間の中間グループを含む、と、
第1の中間グループについて、前記第1の中間グループおよび前記ストリーム内の直前のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む情報のテーブルを生成するための手段と、
前記テーブルと、前記直前のグループの一部でなかった前記第1の中間グループからのデータセグメントを含むセグメントの集合とを送信するための手段と
を備える、システム。
[C19] データセグメントを送るためのシステムであって、
データセグメントのストリームを受信することと、
前記データセグメントに基づいてセグメントの第1のグループを確立することと、
情報の第1のテーブルを生成すること、前記情報は、セグメントの前記第1のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第1のテーブルとセグメントの前記第1のグループとを送信することと、
前記データセグメントに基づいてセグメントの第2のグループを確立すること、セグメントの前記第2のグループは、セグメントの前記第1のグループ中に含まれるデータセグメントの部分的重複を含む、と、
情報の第2のテーブルを生成すること、前記情報は、セグメントの前記第1のグループおよび前記第2のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第2のテーブルと、前記第1のグループの一部でなかった前記第2のグループからのデータセグメントを含むセグメントの集合とを送信することと
を行うように構成された少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに結合された、データを記憶するためのメモリと
を備える、システム。
[C20] 前記少なくとも1つのプロセッサは、
データセグメントの前記ストリーム内のデータセグメントのあるグループを受信することと前記第1のテーブルを送信することとの間のある時間制約を決定すること、セグメントの前記第1のグループを確立することは、前記決定された時間制約にさらに基づく、と、
データセグメントの前記ストリーム内のデータセグメントの別のグループを受信することと前記第2のテーブルを送信することとの間の別の時間制約を決定すること、セグメントの前記第2のグループを確立することは、前記別の時間制約にさらに基づく、と
を行うようにさらに構成された、C19に記載のシステム。
[C21] セグメントの前記第1のグループを確立することは、前記第1のグループのためのデータセグメントの数を決定することをさらに備え、
セグメントの前記第2のグループを確立することは、前記第2のグループのためのデータセグメントの数を決定することをさらに備える、C20に記載のシステム。
[C22] 前記データセグメントはDASHセグメントである、C19に記載のシステム。
[C23] 前記第1のテーブルとセグメントの前記第1のグループとはFLUTEパケットである、C19に記載のシステム。
[C24] データセグメントの前記ストリームはビデオデータを備える、C19に記載のシステム。
[C25] 前記1つまたは複数の属性のうちの1つの属性はURLである、C19に記載のシステム。
[C26] 前記少なくとも1つのプロセッサは、
前記データセグメントに基づいてセグメントの第3のグループを確立すること、セグメントの前記第3のグループは、セグメントの前記第2のグループ中に含まれるデータセグメントの部分的重複を含む、と、
情報の第3のテーブルを生成すること、前記情報は、セグメントの前記第2のグループおよび前記第3のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第2のテーブルと、セグメントの前記第1のグループまたは前記第2のグループの一部でなかったセグメントの前記第3のグループからのセグメントを含むセグメントの集合とを送信することと
を行うようにさらに構成された、C19に記載のシステム。
[C27] データセグメントを送るためのシステムであって、
データセグメントのストリームを受信することと、
前記ストリームの個々のセグメントをサイズNSのセグメントのグループにグループ化すること、セグメントの前記グループは、第1のグループ、最後のグループ、およびセグメントの前記第1のグループと前記最後のグループとの間の中間グループを含む、と、
第1の中間グループについて、前記第1の中間グループおよび前記ストリーム内の直前のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む情報のテーブルを生成することと、
前記テーブルと、前記直前のグループの一部でなかった前記第1の中間グループからのデータセグメントを含むセグメントの集合とを送信することと
を行うように構成された少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに結合された、データを記憶するためのメモリと
を備える、システム。
[C28] 前記セグメントはDASHセグメントである、C27に記載のシステム。
[C29] 前記第1のテーブルとセグメントの前記集合とはFLUTEパケットである、C27に記載のシステム。
[C30] データセグメントの前記ストリームはビデオデータを備える、C27に記載のシステム。
[C31] 前記1つまたは複数の属性のうちの1つの属性はURLである、C27に記載のシステム。
[C32] データセグメントの送信を管理するためのコンピュータプログラム製品であって、
データセグメントのストリームを受信することと、
前記データセグメントに基づいてセグメントの第1のグループを確立することと、
情報の第1のテーブルを生成すること、前記情報は、セグメントの前記第1のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第1のテーブルとセグメントの前記第1のグループとを送信することと、
前記データセグメントに基づいてセグメントの第2のグループを確立すること、セグメントの前記第2のグループは、セグメントの前記第1のグループ中に含まれるデータセグメントの部分的重複を含む、と、
情報の第2のテーブルを生成すること、前記情報は、セグメントの前記第1のグループおよび前記第2のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む、と、
前記第2のテーブルと、前記第1のグループの一部でなかった前記第2のグループからのデータセグメントを含むセグメントの集合とを送信することと
のためのコードを備えるコンピュータ可読媒体
を備える、コンピュータプログラム製品。
[C33] 前記コンピュータ可読媒体は、
データセグメントの前記ストリーム内のデータセグメントのあるグループを受信することと前記第1のテーブルを送信することとの間のある時間制約を決定すること、セグメントの前記第1のグループを前記確立することは、前記決定された時間制約にさらに基づく、と、
データセグメントの前記ストリーム内のデータセグメントの別のグループを受信することと前記第2のテーブルを送信することとの間の別の時間制約を決定すること、セグメントの前記第2のグループを前記確立することは、前記別の時間制約にさらに基づく、と
のためのコードをさらに備える、C32に記載のコンピュータプログラム製品。
[C34] セグメントの前記第1のグループを前記確立することは、前記第1のグループのためのデータセグメントの数を決定することをさらに備え、
セグメントの前記第2のグループを前記確立することは、前記第2のグループのためのデータセグメントの数を決定することをさらに備える、C33に記載のコンピュータプログラム製品。
[C35] データセグメントの送信を管理するためのコンピュータプログラム製品であって、
データセグメントのストリームを受信することと、
前記ストリームの個々のセグメントをサイズNSのセグメントのグループにグループ化すること、セグメントの前記グループは、第1のグループ、最後のグループ、およびセグメントの前記第1のグループと前記最後のグループとの間の中間グループを含む、と、
第1の中間グループについて、前記第1の中間グループおよび前記ストリーム内の直前のグループ中のそれぞれのセグメントについての1つまたは複数の属性を含む情報のテーブルを生成することと、
前記テーブルと、前記直前のグループの一部でなかった前記第1の中間グループからのデータセグメントを含むセグメントの集合とを送信することと
のためのコードを備えるコンピュータ可読媒体
を備える、コンピュータプログラム製品。