IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7190589セッションベースDASH動作のためのパターン指定
<>
  • 特許-セッションベースDASH動作のためのパターン指定 図1
  • 特許-セッションベースDASH動作のためのパターン指定 図2
  • 特許-セッションベースDASH動作のためのパターン指定 図3
  • 特許-セッションベースDASH動作のためのパターン指定 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-07
(45)【発行日】2022-12-15
(54)【発明の名称】セッションベースDASH動作のためのパターン指定
(51)【国際特許分類】
   H04N 21/462 20110101AFI20221208BHJP
   H04N 21/845 20110101ALI20221208BHJP
【FI】
H04N21/462
H04N21/845
【請求項の数】 12
(21)【出願番号】P 2021557410
(86)(22)【出願日】2021-01-04
(65)【公表番号】
(43)【公表日】2022-05-23
(86)【国際出願番号】 US2021012060
(87)【国際公開番号】W WO2021141847
(87)【国際公開日】2021-07-15
【審査請求日】2021-09-24
(31)【優先権主張番号】62/958,136
(32)【優先日】2020-01-07
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/095,182
(32)【優先日】2020-11-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ソダガァ,イラジ
【審査官】川中 龍太
(56)【参考文献】
【文献】米国特許出願公開第2013/0246643(US,A1)
【文献】国際公開第2016/056412(WO,A1)
【文献】特表2018-512771(JP,A)
【文献】特表2019-523600(JP,A)
【文献】国際公開第2015/174298(WO,A1)
【文献】特表2022-525298(JP,A)
【文献】特表2022-525740(JP,A)
【文献】特表2022-526004(JP,A)
【文献】特表2022-526807(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00 - 21/858
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
HTTP上の動的アダプティブストリーミング(DASH)クライアントが実行するセッションベースDASH動作の方法であって、
セッションベース記述(SBD)を参照し且つメディアアクセスセッション中のキー名を示すメディアプレゼンテーション記述(MPD)を受信するステップであって、前記MPDは、セグメントのシーケンスに分割されたメディアコンテンツのメディアプレゼンテーションを記述する、ステップと、
前記MPDによって参照される前記SBDを受信するステップであって、前記SBDは、前記キー名の時間設定キー値の第1のシーケンスを含む第1の反復パターン要素を含み、前記第1の反復パターン要素は、前記キー名の前記時間設定キー値の前記第1のシーケンスがタイムライン又はオーダーラインに沿って反復されることを示す、ステップと、
前記SBD内の前記第1の反復パターン要素に基づいて、前記セグメントのシーケンスの現在のセグメントのタイミング又はセグメント番号に対応する前記キー名の第1のキー値を決定するステップと、
前記現在のセグメントに対する要求をメディアコンテンツサーバに送信するステップであって、前記要求は、前記キー名と前記第1のキー値とのペアを含む、ステップと
を含む方法。
【請求項2】
前記第1の反復パターン要素は、前記キー名の前記時間設定キー値の前記第1のシーケンスが何回反復されるかを示す反復属性を含む、請求項1に記載の方法。
【請求項3】
前記反復属性が-1の値を有する場合、前記キー名の前記時間設定キー値の前記第1のシーケンスは、前記メディアアクセスセッションの終了まで反復される、請求項2に記載の方法。
【請求項4】
前記反復属性が1の値を有する場合、前記キー名の前記時間設定キー値の前記第1のシーケンスは反復されない、請求項2に記載の方法。
【請求項5】
前記第1の反復パターン要素は、ネスト式の第2の反復パターン要素を含み、前記第2の反復パターン要素は、前記キー名の時間設定キー値の第2のシーケンスを含み、
前記キー名の前記時間設定キー値の前記第2のシーケンスは、前記第2の反復パターン要素によって示されるように反復され、前記キー名の時間設定キー値の第3のシーケンスを形成し、
前記キー名の前記時間設定キー値の前記第3のシーケンスは、前記キー名の前記時間設定キー値の前記第1のシーケンスの一部である、請求項1乃至4のうちいずれか1項に記載の方法。
【請求項6】
前記SBDは、前記第1の反復パターン要素の外側に前記キー名の時間設定キー値の第4のシーケンスを含む、請求項1乃至5のうちいずれか1項に記載の方法。
【請求項7】
前記第1の反復パターン要素は、前記第1の反復パターン要素内の前記キー名の前記時間設定キー値の前記第1のシーケンスが適用し始めるときの開始タイミングを示す開始時間属性を含む、請求項1乃至6のうちいずれか1項に記載の方法。
【請求項8】
前記開始タイミングは、基準タイミングに関するオフセットによって表される、請求項7に記載の方法。
【請求項9】
前記キー名の前記時間設定キー値の前記第1のシーケンスは、オーダーラインに沿って反復され、前記第1の反復パターン要素は、前記第1の反復パターン要素内の前記キー名の前記時間設定キー値のシーケンスが適用し始める開始セグメント番号を示す開始カウント属性を含む、請求項1乃至6のうちいずれか1項に記載の方法。
【請求項10】
前記開始セグメント番号は、前記SBDのSBD開始時間属性によって示される開始タイミングに関するセグメント番号である、請求項9に記載の方法。
【請求項11】
セッションベースのHTTP上の動的アダプティブストリーミング(DASH)動作の装置であって、
請求項1乃至10のうちいずれか1項に記載の方法を実行するように構成された回路を含む装置。
【請求項12】
プロセッサによって実行されると、前記プロセッサに対して、請求項
1乃至10のうちいずれか1項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
本出願は、2020年11月11日に出願された米国特許第17/095,182号「PATTERN ADDRESSING FOR SESSION-BASED DASH OPERATIONS」に対する優先権の利益を主張し、当該出願は、2020年1月7日に出願された米国仮特許出願第62/958,136号「PATTERN ADDRESSING FOR SESSION-BASED DASH OPERATIONS」に対する優先権の利益を主張する。これらの先の出願の開示を参照により援用する。
【0002】
[技術分野]
本開示は、概してハイパーテキスト転送プロトコル上の動的アダプティブストリーミング(DASH, dynamic adaptive streaming over hypertext transfer protocol)のための方法及び装置に関連する実施形態を記載する。
【背景技術】
【0003】
本明細書で提供される背景技術の説明は、本開示の内容を一般的に提示するためのものである。本発明の発明者の研究は、当該研究がこの背景技術の段落に記載されている範囲において、また、出願時に他の点では従来技術として適していない可能性がある説明の側面において、本開示に対する従来技術として明示的にも暗示的にも認められるものではない。
【0004】
ハイパーテキスト転送プロトコル上の動画専門家集団(MPEG, moving picture expert group)動的アダプティブストリーミング(DASH)は、IPネットワーク上のストリーミングマルチメディアコンテンツのための標準を提供する。DASH標準では、メディアプレゼンテーション記述(MPD, media presentation description)は、DASHサーバからメディアセグメントをダウンロードすることにより、DASHクライアントがメディアコンテンツを適応的にストリーミングするための情報を提供するために使用される。しかし、MPDは全てのDASHクライアントにとって包括的である。したがって、DASHクライアントは、セッションベース記述(SBD, session-based description)ファイルのようなサイドファイルを取得してもよく、これは、クライアントがDASH視聴セッションに固有のMPDを作成するための情報を提供する。
【発明の概要】
【0005】
本開示の態様は、HTTP上の動的アダプティブストリーミング(DASH)クライアントにおけるセッションベースDASH動作の方法を提供する。当該方法は、セッションベース記述(SBD)を参照し且つメディアアクセスセッション中のキー名を示すメディアプレゼンテーション記述(MPD)を受信するステップを含んでもよい。MPDは、セグメントのシーケンスに分割されたメディアコンテンツのメディアプレゼンテーションを記述する。MPDによって参照されるSBDが受信されてもよい。SBDは、キー名の時間設定キー値の第1のシーケンスを含む第1の反復パターン要素を含む。第1の反復パターン要素は、キー名の時間設定キー値の第1のシーケンスがタイムライン又はオーダーラインに沿って反復されることを示す。セグメントのシーケンスの現在のセグメントのタイミング又はセグメント番号に対応するキー名の第1のキー値は、SBD内の第1の反復パターン要素に基づいて決定されてもよい。現在のセグメントに対する要求は、メディアコンテンツサーバに送信されてもよい。要求は、キー名と第1のキー値とのペアを含む。
【0006】
一例では、第1の反復パターン要素は、キー名の時間設定キー値の第1のシーケンスが何回反復されるかを示す反復属性を含む。一例では、反復属性が-1の値を有する場合、キー名の時間設定キー値の第1のシーケンスは、メディアアクセスセッションの終了まで反復される。一例では、反復属性が1の値を有する場合、キー名の時間設定キー値の第1のシーケンスは反復されない。
【0007】
一例では、第1の反復パターン要素は、ネスト式の第2の反復パターン要素を含む。第2の反復パターン要素は、キー名の時間設定キー値の第2のシーケンスを含む。キー名の時間設定キー値の第2のシーケンスは、第2の反復パターン要素によって示されるように反復され、キー名の時間設定キー値の第3のシーケンスを形成する。キー名の時間設定キー値の第3のシーケンスは、キー名の時間設定キー値の第1のシーケンスの一部である。
【0008】
一例では、SBDは、第1の反復パターン要素の外側にキー名の時間設定キー値の第4のシーケンスを含む。一例では、第1の反復パターン要素は、第1の反復パターン要素内のキー名の時間設定キー値の第1のシーケンスが適用し始めるときの開始タイミングを示す開始時間属性を含む。一実施形態では、開始タイミングは、基準タイミングに関するオフセットによって表される。
【0009】
一実施形態では、キー名の時間設定キー値の第1のシーケンスは、オーダーラインに沿って反復され、第1の反復パターン要素は、第1の反復パターン要素内のキー名の時間設定キー値のシーケンスが適用し始める開始セグメント番号を示す開始カウント属性を含む。一実施形態では、開始セグメント番号は、SBDのSBD開始時間属性によって示される開始タイミングに関するセグメント番号である。
【0010】
本開示の態様は、セッションベースDASH動作の装置を提供する。当該装置は、SBDを参照し且つメディアアクセスセッション中のキー名を示すMPDを受信するように構成された回路を含んでもよい。MPDは、セグメントのシーケンスに分割されたメディアコンテンツのメディアプレゼンテーションを記述する。MPDによって参照されるSBDが受信されてもよい。SBDは、キー名の時間設定キー値の第1のシーケンスを含む第1の反復パターン要素を含む。第1の反復パターン要素は、キー名の時間設定キー値の第1のシーケンスがタイムライン又はオーダーラインに沿って反復されることを示す。セグメントのシーケンスの現在のセグメントのタイミング又はセグメント番号に対応するキー名の第1のキー値は、SBD内の第1の反復パターン要素に基づいて決定されてもよい。現在のセグメントに対する要求は、メディアコンテンツサーバに送信されてもよい。要求は、キー名と第1のキー値とのペアを含む。
【0011】
また、本開示の態様は、メディアデータを受信するためにコンピュータによって実行されると、コンピュータにセッションベースDASH動作の方法を実行させる命令を記憶した非一時的なコンピュータ読み取り可能媒体を提供する。
【図面の簡単な説明】
【0012】
開示の対象物の更なる特徴、性質及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになる。
図1】本開示の一実施形態による、例示的なハイパーテキスト転送プロトコル上の動的アダプティブストリーミング(DASH)システムを示す。
図2】本開示の一実施形態による他の例示的なDASHシステムを示す。
図3】いくつかの実施形態によるセッションベースDASH動作の例示的なプロセスを概説するフローチャートを示す。
図4】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0013】
[I.ハイパーテキスト転送プロトコル上の動的アダプティブストリーミング(DASH)及びメディアプレゼンテーション記述(MPD)]
ハイパーテキスト転送プロトコル上の動的アダプティブストリーミング(DASH)は、ウェブサーバ、コンテンツ配信ネットワーク(CDN, content delivery networks)、様々なプロキシ及びキャッシュ等のようなハイパーテキスト転送プロトコル(HTTP)インフラストラクチャを使用してメディアコンテンツのストリーミングを可能にするアダプティブビットレートストリーミング技術である。DASHは、DASHサーバからDASHクライアントへのオンデマンドストリーミング及びライブストリーミングの双方をサポートし、DASHクライアントがストリーミングセッションを制御することを可能にする。それにより、DASHサーバは、大規模配置において、ストリーム適応管理の更なる負荷に対処する必要はない。また、DASHは、DASHクライアントが様々なDASHサーバからストリーミングを選択することを可能にし、したがって、DASHクライアントのためのネットワークの負荷バランシングを更に達成する。DASHは、例えば、ネットワーク条件に適応するためにビットレートを変化させることによって、異なるメディアトラックの間の動的切り替えを提供する。
【0014】
DASHでは、メディアプレゼンテーション記述(MPD)ファイルは、DASHクライアントがDASHサーバからメディアセグメントをダウンロードすることによりメディアコンテンツを適応的にストリーミングするための情報を提供する。MPDファイルは、階層データモデルによって定義されてもよい。MPDファイルは、セッション開始の遅延を低減するために、分割されて部分的に配信されてもよい。また、MPDファイルは、ストリーミングセッション中に更新されてもよい。いくつかの例では、MPDファイルは、コンテンツアクセシビリティ機能、レーティング及びカメラビューの表現をサポートする。また、DASHは、マルチビュー及びスケーラブル符号化コンテンツの配信をサポートする。
【0015】
MPDファイルは、1つの期間又は期間のシーケンスを含んでもよい。1つ以上の期間のそれぞれは、MPDファイルの期間要素によって定義されてもよい。MPDファイルは、MPDのavailableStartTime属性と各期間の開始属性を含んでもよい。動的タイプ(例えば、ライブサービスに使用される)を有するメディアプレゼンテーションについては、期間の開始属性とMPD属性のavailableStartTimeとの和及びメディアセグメントの持続時間は、協定世界時(UTC, coordinated universal time)フォーマットでの期間の利用可能時間、特に、対応する期間における各リプレゼンテーションの最初のメディアセグメントを示してもよい。静的タイプ(例えば、オンデマンドサービスに使用される)のメディアプレゼンテーションについては、最初の期間の開始属性は0でもよい。いずれかの他の期間については、開始属性は、最初の期間の開始時間に対する対応する期間の開始時間の時間オフセットを指定してもよい。各期間は、次の期間の開始まで、或いは、最後の期間の場合にはメディアプレゼンテーションの終了まで延長してもよい。期間開始時間は正確であり、全ての過去の期間のメディアを再生した結果として生じる実際のタイミングを反映してもよい。
【0016】
各期間は、1つ以上のアダプテーションセット(adaptation set)を含んでもよく、アダプテーションセットのそれぞれは、同じメディアコンテンツについての1つ以上のリプレゼンテーション(representation)を含んでもよい。リプレゼンテーションは、オーディオ又はビデオデータの複数の代替符号化バージョンのうち1つでもよい。リプレゼンテーションは、符号化タイプによって、例えば、ビットレート、解像度、及び/又はビデオデータ及びビットレートのコーデック、及び/又はオーディオデータのコーデックによって異なってもよい。リプレゼンテーションという用語は、マルチメディアコンテンツの特定の期間に対応し且つ特定の方法で符号化された符号化オーディオ又はビデオデータのセクションを示すために使用されてもよい。
【0017】
特定の期間のアダプテーションセットは、MPDファイル内のグループ属性によって示されるグループに割り当てられてもよい。同じグループ内のアダプテーションセットは、一般的に互いに代替的であると考えられる。例えば、特定の期間のビデオデータの各アダプテーションセットは同じグループに割り当てられてもよく、それにより、いずれかのアダプテーションセットが、対応する期間のマルチメディアコンテンツのビデオデータを表示するように復号するために選択されてもよい。いくつかの例では、1つの期間内のメディアコンテンツは、存在する場合には、グループ0からの1つのアダプテーションセットによって表現されてもよく、或いは、それぞれのゼロでないグループからの多くても1つのアダプテーションセットの組み合わせによって表現されてもよい。期間の各リプレゼンテーションについてのタイミングデータは、期間の開始時間に対して表されてもよい。
【0018】
リプレゼンテーションは、1つ以上のセグメントを含んでもよい。各リプレゼンテーションは、初期化セグメントを含んでもよく、或いは、リプレゼンテーションの各セグメントは、自己初期化してもよい。存在する場合、初期化セグメントは、リプレゼンテーションにアクセスするための初期化情報を含んでもよい。いくつかの場合、初期化セグメントはメディアデータを含まない。セグメントは、ユニフォームリソースロケータ(URL)、ユニフォームリソース名(URN, uniform resource name)又はユニフォームリソース識別子(URI, uniform resource identifier)のような識別子によって一意に参照されてもよい。MPDファイルは各セグメントについて識別子を提供してもよい。いくつかの例では、MPDファイルは、範囲属性の形式でバイト範囲を提供してもよく、範囲属性は、URL、URN又はURIによってアクセス可能なファイル内のセグメントのデータに対応してもよい。
【0019】
また、各リプレゼンテーションは、1つ以上のメディアコンポーネントを含んでもよく、各メディアコンポーネントは、オーディオ、ビデオ又は(例えば、クローズドキャプションのための)タイミング付きテキストのような、1つの個々のメディアタイプの符号化バージョンに対応してもよい。メディアコンポーネントは、1つのリプレゼンテーション内の連続したメディアセグメントの境界を横切って時間的に連続でもよい。
【0020】
いくつかの実施形態では、DASHクライアントは、DASHサーバからMPDファイルにアクセスしてダウンロードしてもよい。すなわち、DASHクライアントは、ライブセッションを開始する際に使用するMPDファイルを取得してもよい。MPDファイルに基づいて、選択された各リプレゼンテーションについて、DASHクライアントは、何がサーバ上で利用可能な最新セグメントであるかの決定、次のセグメント及び場合によっては将来のセグメントのセグメント利用可能開始時間の決定、いつセグメントの再生を開始するか及びセグメント内のどのタイムラインから開始するかの決定、並びにいつ新たなMPDファイルを取得/フェッチするかの決定を含む、いくつかの決定を行ってもよい。サービスが再生されると、クライアントは、ライブサービスと自身の再生との間のドリフトを追跡してもよく、これは検出されて補償される必要がある。
【0021】
[II.セッションベースDASH動作及びセッションベース記述]
MPDファイルは、全てのDASHクライアントにとって包括的になり得る。DASHクライアントのセッションに固有のMPDファイルを作成するために、動画専門家集団(MPEG)は、セッションベースDASH動作をサポートするための方式を開発した。セッションベースDASH動作では、DASHクライアントは、セッションベース記述(SBD)ファイルと呼ばれるサイドファイルを受信してもよく、サイドファイルは、DASHクライアントがセッション毎、場合によってはクライアント毎にMPDファイルをカスタマイズするための情報を提供する。
【0022】
図1は、本開示の一実施形態による、セッションベースDASHシステム(100)を示す。セッションベースDASHシステム(100)では、MPDファイルは、DASHサーバ(101)(例えば、コンテンツサーバ)からDASHクライアント(102)に送信される。DASHクライアント(102)は、MPDファイルに基づいてDASHサーバ(101)からメディアセグメントを受信してもよい。DASHクライアント(102)は、MPDファイルを更新するためにDASHサーバ(101)に要求を送信してもよい。さらに、DASHクライアント(102)は、DASHサーバ(101)又は第三者(例えば、セッションコントローラ)からSBDファイル(SBDドキュメントとも呼ばれる)を受信してもよい。
【0023】
様々な例では、複数のDASHサーバは、MPDファイル及びメディアセグメントを送信してもよい。MPDファイル及びメディアセグメントは、異なるDASHサーバからDASHクライアント(102)に送信されてもよい。DASHクライアント(102)から送信された要求を受信したDASHサーバは、メディアセグメントを送信するDASHサーバとは異なってもよい。
【0024】
本開示の態様によれば、SBDファイルは、更なるメタデータと共に、複数の時間範囲及び対応するキー・値のペア(又は名前・値のペア)を含んでもよい。SBDファイルは、例えば、URLによってMPDファイル内で参照されてもよい。SBDファイルは、DASHクライアント(102)によって受信されたMPDファイルを、DASHクライアント(102)のセッションに固有であるようにカスタマイズするために使用されてもよい。例えば、SBDファイルは、セッション毎に固有のMPDを生成することなく、セッション固有のパラメータをセグメントURLに追加することを可能にすることができる。
【0025】
図2は、本開示の一実施形態による、他のセッションベースDASHシステム(200)を示す。セッションベースDASHシステム(200)では、マルチメディアコンテンツは、オーディオソース(例えば、マイクロフォン)及びビデオソース(例えば、ビデオカメラ)を含んでもよいコンテンツ生成デバイス(201)(例えば、スマートフォン)によって準備されて生成される。マルチメディアコンテンツは、コンテンツ生成デバイス(201)によって記憶されてもよく、或いは、様々なマルチメディアコンテンツを記憶できるコンテンツサーバ(202)に送信されてもよい。マルチメディアコンテンツは、MPDファイルによって記述されてもよい。MPDファイルは、コンテンツサーバ(202)によって記憶されて更新され、メディアセグメントを取得するためにDASHアクセスクライアント(203)を含むクライアントデバイスによってアクセスされてもよい。コンテンツサーバ(202)は、マルチメディアコンテンツの1つ以上のメディアセグメントについて、DASHアクセスクライアント(203)のようなクライアントデバイスから要求を受信してもよい。
【0026】
セッション固有の情報を取得するために、DASHアクセスクライアント(203)は、SBDファイルにアクセスするための要求をSBDクライアント(204)(例えば、セッションクライアント)に送信してもよい。SBDファイルは、現在のセッションについての複数の時間範囲及び対応するキー・値のペアを含んでもよい。例えば、DASHアクセスクライアント(203)は、キー名(例えば、パラメータの名前)及び時間をSBDクライアント(204)に送信してもよい。これに応じて、SBDクライアント(204)は、キー名及び時間に対応する値をDASHアクセスクライアント(203)に返信してもよい。DASHアクセスクライアント(203)は、その値を要求内のセグメントURLのクエリ部分に含めてもよい。要求は、対応するメディアセグメントを要求するためにコンテンツサーバ(202)に送信されてもよい。例えば、セグメント要求は、HTTP GET又は部分GET要求でもよい。
【0027】
SBDクライアント(204)は、セッションコントローラ(205)及びセッションコントローラ(206)のような異なるセッションコントローラから複数のSBDファイルを受信してもよい。
【0028】
本開示の態様によれば、様々な例において、コンテンツサーバ(202)(例えば、DASHサーバ)の機能の一部又は全部は、ルータ、ブリッジ、プロキシデバイス、スイッチ又は他のデバイスのような、コンテンツ配信ネットワーク(CDN)の1つ以上のデバイスに実装されてもよい。一例では、コンテンツサーバ(202)は、クライアントデバイス(例えば、DASHアクセスクライアント(203))からネットワーク要求を受信するように構成された要求処理ユニットを含んでもよい。例えば、要求処理ユニットは、HTTP GET又は部分GET要求を受信し、要求に応じてマルチメディアコンテンツのデータを提供するように構成されてもよい。要求はセグメントのURLを使用してセグメントを指定してもよい。いくつかの例では、要求はセグメントの1つ以上のバイト範囲を指定してもよく、したがって、部分GET要求を含む。要求処理ユニットは、セグメントのヘッダデータを提供するためのHTTP HEAD要求を提供するように構成されてもよい。
【0029】
様々な例では、コンテンツ生成デバイス(201)及びコンテンツサーバ(202)は、無線ネットワーク又は有線ネットワークによって結合されてもよく、或いは、直接通信可能に結合されてもよい。コンテンツ生成デバイス(201)及びコンテンツサーバ(202)は、同じデバイスに含まれてもよい。コンテンツサーバ(202)及びセッションコントローラ(205)~(206)は、同じデバイスに含まれてもよい。コンテンツサーバ(202)及びDASHアクセスクライアント(203)は、無線ネットワーク又は有線ネットワークによって結合されてもよい。SBDクライアント(204)及びセッションコントローラ(205)~(206)は、無線ネットワーク又は有線ネットワークによって結合されてもよく、或いは、直接通信可能に結合されてもよい。
【0030】
いくつかの実施形態では、DASHアクセスクライアント(203)及びSBDクライアント(204)は、同じデバイスに含まれてもよい。デバイスは、DASHアクセスクライアント(203)及びSBDクライアント(204)の双方の機能を実行するDASHクライアントとして機能してもよい。
【0031】
[III.セッション及びセッションパラメータ]
様々な実施形態では、SBDメカニズムは、セッション毎に固有のMPDを生成することなく、セッション特有の要素をセグメントURLに追加することを可能にする。SBDにおけるタイムライン上の特定の時間範囲に関連するセッションパラメータ列は、SBDクライアント(204)によって解析され、DASHアクセスクライアント(203)によって発行されたHTTPセグメント要求に追加されるパラメータに変換される。SBDは、そのURLによってMPD内で参照されてもよい。
【0032】
一例として、SBDで伝達される情報は、表1に概念的に提示されるものでもよい。
【0033】
【表1】
表1において、各行は時間範囲に対応し、各列は1つの名前付きパラメータに対応する。パラメータ「p1」及び「p2」は、セグメント要求URLのクエリ部分において情報を伝達することが想定される。時間範囲00:00:00~00:00:00:42では、「p1」の値は「foo」であり、「p2」の値は42である。時間範囲00:00:42~00:04:20では、「p1」は「bar」であり、「p2」は420である。2秒セグメントの場合、最初の21個のセグメントは、URLクエリパラメータの一部として「p1=foo&p2=42」を含み、次の109個のセグメントは、HTTP GET要求内のセグメントURLの一部として「p1=bar&p2=420」を含む。
【0034】
[IV.タイムライン及びオーダーライン指定]
いくつかの実施形態では、SBDドキュメントは、識別された(ID)にそれぞれ関連する1つ以上のテーブルを概念的に含んでもよい。各テーブルは、表2に示すように、異なる時間間隔のキー・値のペアの割り当てを含んでもよい。
【0035】
【表2】
表2において、tiはメディアタイムラインにおける時点を示し、(kj,vi,j)は時間tiのキー・値のペアjである。
【0036】
或いは、SBDドキュメントは、1つ以上のテーブルを概念的に含んでもよい。各テーブルは、表3に示すように、セグメント順序のためのキー・値のペアの情報を含んでもよい。
【0037】
【表3】
表3において、niはセグメントniを示すセグメントインデックス又はセグメント番号であり、(kj,vi,j)は、セグメントniからセグメントni+1まで(セグメントni+1を含まない)の全てのセグメントについてのキー・値のペアjである。
【0038】
[V.SBDについてのMPD伝達]
いくつかの例では、DASHマニフェスト内でセッションベース情報を伝達するために、1つ以上のSBD記述子が定義されてもよい。一例では、SBD記述子は、MPD階層データモデルの1つ以上のレベルにおいて1回以上現れてもよい。
【0039】
一例では、SBD記述子は、MPDのEssentialPropertyで示されるエッセンシャルプロパティ記述子でもよい。例えば、SBD記述子は、その@schemeIdUriとしてURN「urn:mpeg:dash:sbd:2020」を有してもよく、1つ以上のKeyList要素を含んでもよい。一例として、表4は、SBDを伝達するための要素及び属性を含むMPD EssentialProperty記述子を示す。
【0040】
【表4】
[VI.セッションベースDASH動作のためのパターンベース指定]
[VI.1 単純タイムライン指定方式]
いくつかの例では、セッション毎及びクライアント毎にMPDをカスタマイズするために、単純タイムライン指定方式(simple timeline addressing scheme)がセッションベースDASH動作に使用される。このようなシナリオでは、SBDファイルは、セグメントのタイミング又は順序、及びSBDテーブル内の各エントリに対応する、対応するキー・値のペアを記述するための要素(キー値タイムライン要素と呼ばれる)を含んでもよい(例えば、表2又は表3と同様)。
【0041】
表5は、単純SBDタイムライン指定を実装するキー値タイムライン要素の例を示す。キー値タイムライン要素は、拡張可能マークアップ言語(XML, extensible markup language)の形式のSBDファイルの一部でもよい。
【0042】
【表5】
表5において、KeyValueTimelineで示されるキー値タイムライン要素は、タイムライン要素(行2~行6)を含む。タイムライン要素は、V(行3~行5)で示す3つの値要素を含む。3つの値要素のそれぞれは、dで示される持続時間属性と、vで示されるキー値属性とを含む。さらに、最初の値要素は、sで示される開始時間属性も含む。例えば、1秒のタイムスケールが使用されると仮定すると、キー値タイムライン要素は、基準タイミングに関して0の時間オフセットにおいて適用し始める(例えば、表5におけるキー値タイムライン要素を含むSBDを適用する開始時間、又は表5におけるSBDを参照する期間の開始時間)。行3~行5において、3つのキー値のシーケンスが、それぞれ1秒間、3秒間及び1秒間続く3つの連続した持続時間に適用される。
【0043】
対応するキー・値のペアのテーブルに反復パターンが存在する場合、そのパターンは、単純タイムライン指定方式に基づいて反復されてもよい。例えば、表5のキー・値のペアが3回反復される場合、対応するSBDファイルは表6に示されるものとなる。行3~行5におけるキー値のシーケンスは、行6~行8及び行9~行11において2回反復される。パターンの反復は、反復回数に比例してSBDファイルの増加をもたらす。
【0044】
【表6】
[VI.2 パターンベースタイムライン及びオーダーライン指定]
いくつかのアプリケーションでは、クエリのパターンが反復されることがあるので、本開示の態様は、パターンベース指定方式を提供する。パターンベース指定方式を使用することにより、SBDのよりコンパクトな表現が達成でき、これはSBDを伝達するためのビット及びSBDを解析するための時間を節約する。ビット及び時間の節約は、パターン反復回数に比例してもよい。
【0045】
一実施形態では、表6における時間設定キー値(timed key value)のシーケンスにおける反復パターンを伝達するための要素が定義されてもよい。このような要素は、反復パターン要素又はパターン要素と呼ばれてもよい。表7は、タイムライン指定のためのパターン要素を使用したXMLにおけるキー値タイムライン要素の例を示す。
【0046】
【表7】
表7に示すように、Pで示される反復パターン要素が行3~行7に含まれる。P要素を使用した結果、表6の反復パターンは、6行も有するパターンを反復する代わりに、行3及び行7において2つの更なるラインを使用して伝達される。さらに、P要素は、P要素内で時間設定キー値のシーケンス(行4~行6)が何回反復されるかを示すために、rで示される反復属性を含む。
【0047】
表8は、オーダーライン指定のためのパターン要素を使用したXMLにおけるキー値タイムライン要素の例を示す。
【0048】
【表8】
表8に示すように、P要素は、キー値タイムライン要素内のオーダーライン要素に含まれる。P要素は、行4~行6にOで示される3つのオーダーライン値要素を含む。それぞれのO要素は、vで示されるキー値属性を含む。さらに、P要素は、基準タイミングに関する時間オフセットを示す、cで示される開始セグメント番号属性を含んでもよい。例えば、基準タイミングは、表8におけるキー値タイムライン要素を含むSBDを適用する開始時間、又は表8のSBDへの参照を含む期間の開始時間でもよい。5の値を有する属性cは、基準タイミングに関して最初の4つのセグメントがスキップできることを示してもよい。P要素内のキー値は、第5のセグメントから適用し始める。
【0049】
[VI.3 パターン指定を有するタイムライン指定]
表9は、本開示のいくつかの実施形態に従って使用されるパターン指定を有する例示的タイムライン要素の意味テーブルを示す。
【0050】
【表9】

表9に示すように、行9及び16で定義されるP要素によって表されるパターン指定は、行7のタイムライン要素及び行14のオーダーライン要素によって表されるタイムライン指定及びオーダーライン指定の双方に使用されてもよい。
【0051】
さらに、パターン指定は、通常の指定と組み合わされてもよい。例えば、行7のタイムライン要素は、V要素(通常の指定)とP要素(パターン指定)との双方を含んでもよい。行9において定義されたP要素内に、V要素とP要素との双方が存在してもよい。行14におけるオーダーライン要素は、O要素(通常の指定)とP要素(パターン指定)との双方を含んでもよい。行16において定義されたP要素内に、O要素とP要素との双方が存在してもよい。
【0052】
さらに、パターン指定は、無限のパターン反復(すなわち、セッションの終了まで)を伝達するために使用されてもよい。例えば、行13及び行21において定義されるように、反復属性rは、メディアアクセスセッションの終了までパターンが反復されることを示すために、予め定義された値(例えば-1)を有してもよい。
【0053】
また、パターン指定は、ネストされた方式で使用されてもよく、いずれかのネストレベルにおいて通常の指定と組み合わされてもよい。行11及び行18に示すように、P要素は、ネスト式パターン反復を表すために、他のP要素を含んでもよい。
【0054】
通常のタイムライン指定及びオーダーライン指定と同様に、パターン指定は、開始時間属性s又は開始セグメント番号cを使用することによって、時間又はカウントオフセットを有してもよい。タイムライン指定におけるパターン指定は、属性sを用いて時間でオフセットされてもよい。オーダーライン指定におけるパターン指定は、時間(属性sを使用する)又はカウント(属性cを使用する)のいずれかによってオフセットされてもよい。
【0055】
表5~表9における要素又は属性は、本発明の概念を説明するための例として使用されるが、本開示はこれらの例に限定されない。例えば、様々な実施形態において、反復要素P内の要素及び属性は、タイムライン又はオーダーラインのいずれかにおける時間設定キー値のシーケンスを記述するために、表5~表9において提供されるものと同様のものでもよく或いは同様のものでもない様々な形式を取ってもよい。例えば、キー値は、表7に示すような持続時間のシーケンスの代わりに、複数の時間範囲の開始時間のシーケンスに関連付けられてもよい。
【0056】
さらに、反復パターン要素は、XMLファイル内の要素として定義される代わりに、タイムライン要素又はオーダーライン要素に含まれる属性として定義されてもよい。或いは、SBDのキー値タイムライン要素は、要素の代わりにオブジェクトとして定義されてもよい。したがって、表9における要素及び属性は、オブジェクトのフォーマットに適した一組のパラメータに適合されてもよい。例えば、反復パターン要素は、時間設定キー値のシーケンスの反復を制御するループパラメータに変換されてもよい。
【0057】
[VII.セッションベースDASH動作の例示的なプロセス]
図3は、本開示のいくつかの実施形態によるセッションベースDASH動作のプロセス(300)を概説するフローチャートを示す。様々な実施形態では、プロセス(300)は、DASHクライアント(102)内の処理回路のような処理回路によって実行される。いくつかの実施形態では、プロセス(300)は、ソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行したとき、処理回路はプロセス(300)を実行する。プロセス(300)は(S301)で始まり、(S310)に進む。
【0058】
(S310)において、MPDは、例えばメディアコンテンツサーバから、メディアアクセスセッション中に受信されてもよい。MPDはSBDを参照し、キー名を示してもよい。MPDは、セグメントのシーケンスに分割されたメディアコンテンツのメディアプレゼンテーションを記述してもよい。
【0059】
(S320)において、MPDによって参照されるSBDは、例えばセッションコントローラから受信されてもよい。SBDは、キー名の時間設定キー値の第1のシーケンスを含む第1の反復パターン要素を含んでもよい。第1の反復パターン要素は、キー名の時間設定キー値の第1のシーケンスがタイムライン又はオーダーラインに沿って反復されることを示す。
【0060】
(S330)において、セグメントのシーケンスの現在のセグメントのタイミング又はセグメント番号に対応するキー名の第1のキー値は、SBD内の第1の反復パターン要素に基づいて決定されてもよい。
【0061】
(S340)において、現在のセグメントに対する要求は、メディアコンテンツサーバに送信されてもよい。要求は、キー名と第1のキー値とのペアを含んでもよい。例えば、要求は、URLのクエリ部分に含まれるキー名及び第1のキー値を有するURLを含んでもよい。プロセスは(S399)に進み、(S399)で終了してもよい。
【0062】
[VIII.コンピュータシステム]
本明細書に記載の技術、コンポーネント(例えば、図1及び図2)、機能及び実施形態は、回路(例えば、集積回路、プロセッサ等)、又はソフトウェアとハードウェアとの組み合わせによって実装されてもよい。いくつかの例では、コンポーネントの機能は、非一時的なコンピュータ読み取り可能媒体に記憶された命令によって実装されてもよい。
【0063】
上記の技術は、コンピュータ読み取り可能命令を使用してコンピュータソフトウェアとして実装され、1つ以上のコンピュータ読み取り可能媒体に物理的に記憶されてもよい。
【0064】
例えば、図4は、開示の対象物の特定の実施形態を実装するのに適したコンピュータシステム(400)を示す。
【0065】
コンピュータソフトウェアは、いずれかの適切な機械コード又はコンピュータ言語を使用して符号化されてもよく、当該機械コード又はコンピュータ言語は、命令を含むコードを生成するために、アセンブリ、コンパイル、リンク又は類似のメカニズムを受けてもよく、当該命令は、1つ以上のコンピュータ中央処理装置(CPU, central processing unit)、グラフィックス処理ユニット(GPU, Graphics Processing Unit)等によって、直接的に或いはインタープリタ、マイクロコード実行等を通じて実行されてもよい。
【0066】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットのデバイス等を含む様々なタイプのコンピュータ又はその構成要素上で実行されてもよい。
【0067】
コンピュータシステム(400)について図4に示される構成要素は、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲又は機能に関する如何なる限定も示唆することを意図するものではない。また、構成要素の構成も、コンピュータシステム(400)の例示的な実施形態に示される構成要素のいずれか1つ又は組み合わせに関する如何なる依存性又は要件も有するものとして解釈されるべきではない。
【0068】
コンピュータシステム(400)は、特定のヒューマンインタフェース入力デバイスを含んでもよい。このようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動き等)、オーディオ入力(音声、拍手等)、視覚入力(ジェスチャ等)、嗅覚入力(図示せず)を通じて、1人以上の人間のユーザによる入力に応答してもよい。また、ヒューマンインタフェースデバイスは、オーディオ(例えば、会話、音楽、周辺音)、画像(スキャンされた画像、静止画カメラから取得された写真画像等)、ビデオ(2次元ビデオ、立体ピクチャを含む3次元ビデオ等)のような、人間による意識的入力に必ずしも直接関連しない特定のメディアをキャプチャするために使用されてもよい。
【0069】
入力ヒューマンインタフェースデバイスは、キーボード(401)、マウス(402)、トラックパッド(403)、タッチ画面(410)、データグローブ(図示せず)、ジョイスティック(405)、マイクロフォン(406)、スキャナ(407)及びカメラ(408)のうち1つ以上を含んでもよい。
【0070】
また、コンピュータシステム(400)は、特定のヒューマンインタフェース出力デバイスを含んでもよい。このようなヒューマンインタフェース出力デバイスは、例えば、触覚出力、音、光及び嗅覚/味覚を通じて、1人以上の人間のユーザの感覚を刺激してもよい。このようなヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えば、タッチ画面(410)、データグローブ(図示せず)又はジョイスティック(405)による触覚フィードバック、ただし、入力デバイスとして機能しない触覚フィードバックデバイスが存在してもよい)と、オーディオ出力デバイス(スピーカ(409)、ヘッドフォン(図示せず)等)と、視覚出力デバイス(それぞれがタッチ画面入力機能を有しても有さなくてもよく、それぞれが触覚フィードバック機能を有しても有さなくてもよく、いくつかが2次元視覚出力又は立体出力のような手段を通じた3次元以上の出力を出力可能でもよいCRT画面、LCD画面、プラズマ画面、OLED画面を含む画面(410)、仮想現実メガネ(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず))と、プリンタ(図示せず)とを含んでもよい。これらの視覚出力デバイス(画面(410)等)は、グラフィックスアダプタ(450)を通じてシステムバス(448)に接続されてもよい。
【0071】
また、コンピュータシステム(400)は、CD/DVD又は同様の媒体(421)を有するCD/DVD ROM/RW(420)を含む光媒体のような人間がアクセス可能な記憶デバイス及び関連する媒体、サムドライブ(422)、取り外し可能ハードドライブ又はソリッドステートドライブ(423)、テープ及びフロッピーディスク(図示せず)のようなレガシー磁気媒体、セキュリティドングル(図示せず)のような特殊なROM/ASIC/PLDに基づくデバイス等を含んでもよい。
【0072】
また、当業者は、ここに開示の対象物に関連して使用される用語「コンピュータ読み取り可能媒体」が伝送媒体、搬送波又は他の非一時的な信号を含まないことを理解すべきである。
【0073】
また、コンピュータシステム(400)は、1つ以上の通信ネットワーク(455)へのネットワークインタフェース(454)を含んでもよい。1つ以上の通信ネットワーク(455)は、例えば、無線、有線、光でもよい。1つ以上の通信ネットワーク(455)は、ローカル、広域、メトロポリタン、車両及び産業、リアルタイム、遅延耐性等でもよい。1つ以上の通信ネットワーク(455)の例は、イーサネット、無線LAN、セルラネットワーク(GSM、3G、4G、5G、LTE等を含む)、TV有線又は無線広域デジタルネットワーク(ケーブルTV、衛星TV、及び地上放送TVを含む)、車両及び産業(CANBusを含む)等を含む。特定のネットワークは、一般的に、特定の汎用データポート又は周辺バス(449)に取り付けられる外部ネットワークインタフェースアダプタ(例えば、コンピュータシステム(400)のUSBポート等)を必要とし、他のネットワークインタフェースアダプタは、一般的に、以下に説明するシステムバス(例えば、PCコンピュータシステムへのイーサネットインタフェース又はスマートフォンコンピュータシステムへのセルラネットワーク)に取り付けられることによって、コンピュータシステム(400)のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(400)は、他のエンティティと通信することができる。このような通信は、一方向の受信のみ(例えば、放送TV)、一方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)でもよく、或いは、例えば、ローカル又は広域デジタルネットワークを使用する他のコンピュータシステムへの双方向でもよい。特定のプロトコル及びプロトコルスタックは、上記のようなネットワーク及びネットワークインタフェースのそれぞれにおいて使用されてもよい。
【0074】
上記のヒューマンインタフェースデバイス、人間がアクセス可能な記憶デバイス及びネットワークインタフェースは、コンピュータシステム(400)のコア(440)に取り付けられてもよい。
【0075】
コア(440)は、1つ以上の中央処理装置(CPU)(441)、グラフィックス処理ユニット(GPU)(442)、フィールドプログラマブルゲートアレイ(FPGA, Field Programmable Gate Area)(443)の形式の特殊なプログラム可能処理ユニット、特定のタスク用のハードウェアアクセラレータ(444)等を含んでもよい。これらのデバイスは、読み取り専用メモリ(ROM)(445)、ランダムアクセスメモリ(446)、内部大容量記憶装置(内部のユーザアクセス不可能なハードドライブ、SSD等)(447)と共に、システムバス(448)を通じて接続されてもよい。いくつかのコンピュータシステムでは、システムバス(448)は、更なるCPU、GPU等による拡張を可能にするために、1つ以上の物理プラグの形式でアクセス可能でもよい。周辺デバイスは、コアのシステムバス(448)に直接取り付けられてもよく、或いは、周辺バス(449)を通じて取り付けられてもよい。周辺バスのアーキテクチャは、PCI、USB等を含む。
【0076】
CPU(441)、GPU(442)、FPGA(443)及びアクセラレータ(444)は特定の命令を実行してもよく、当該特定の命令は、組み合わせによって上記のコンピュータコードを構成してもよい。当該コンピュータコードは、ROM(445)又はRAM(446)に記憶されてもよい。また、一時的なデータは、RAM(446)に記憶されてもよいが、永続的なデータは、例えば、内部大容量記憶装置(447)に記憶されてもよい。1つ以上のCPU(441)、GPU(442)、大容量記憶装置(447)、ROM(445)、RAM(446)等と密接に関連してもよいキャッシュメモリを使用することによって、メモリデバイスのいずれかへの高速記憶及び検索が可能になってもよい。
【0077】
コンピュータ読み取り可能媒体は、様々なコンピュータに実装された動作を実行するためのコンピュータコードを有してもよい。媒体及びコンピュータコードは、本開示の目的のために特に設計及び構築されたものでよく、或いは、コンピュータソフトウェア分野における当業者に周知で入手可能なようなものでもよい。
【0078】
限定ではなく一例として、アーキテクチャ(400)、具体的には、コア(440)を有するコンピュータシステムは、1つ以上の有形のコンピュータ読み取り可能媒体に具現されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)の結果として機能を提供できる。このようなコンピュータ読み取り可能媒体は、コア内部の大容量記憶装置(447)又はROM(445)のような非一時的な性質のコア(440)の特定の記憶装置と同様に、上記のようなユーザがアクセス可能な大容量記憶装置に関連する媒体でもよい。本開示の様々な実施形態を実装するソフトウェアは、このようなデバイスに記憶されてコア(440)によって実行されてもよい。コンピュータ読み取り可能媒体は、特定のニーズに従って、1つ以上のメモリデバイス又はチップを含んでもよい。ソフトウェアは、コア(440)、具体的には、その中のプロセッサ(CPU、GPU、FPGA等を含む)に、RAM(446)に記憶されたデータ構造を定義し、ソフトウェアによって定義された処理に従ってこのようなデータ構造を修正することを含む、本明細書に記載の特定の処理又は特定の処理の特定の部分を実行させてもよい。さらに或いは代替として、コンピュータシステムは、回路(例えば、アクセラレータ(444))内に配線されたロジック又は他の方法で具現されたロジックの結果として、機能を提供してもよく、当該回路は、本明細書に記載の特定の処理又は特定の処理の特定の部分を実行するために、ソフトウェアの代わりに或いはソフトウェアと共に動作してもよい。ソフトウェアへの言及は、ロジックを含み、必要に応じて、その逆も可能である。コンピュータ読み取り可能媒体への言及は、必要に応じて、実行するためのソフトウェアを記憶する回路(集積回路(IC)等)、実行するためのロジックを具現する回路又はこれらの双方を含んでもよい。本開示は、ハードウェア及びソフトウェアのいずれかの適切な組み合わせを含む。
【0079】
本開示は、いくつかの例示的な実施形態を記載しているが、本開示の範囲内に入る変更、置換及び様々な代替の等価物が存在する。したがって、当業者は、本明細書に明示的に図示又は記載されていないが、本開示の原理を具現し、したがって、本開示の真意及び範囲内にある多数のシステム及び方法を考案することができることが認識される。
図1
図2
図3
図4