(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-05-19
(54)【発明の名称】セッションのメディアデータを受信するための方法、装置、およびプログラム
(51)【国際特許分類】
H04N 21/435 20110101AFI20220512BHJP
H04N 21/4788 20110101ALI20220512BHJP
H04N 21/658 20110101ALI20220512BHJP
H04L 67/02 20220101ALI20220512BHJP
H04L 67/1074 20220101ALI20220512BHJP
【FI】
H04N21/435
H04N21/4788
H04N21/658
H04L67/02
H04L67/1074
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021554981
(86)(22)【出願日】2020-09-28
(85)【翻訳文提出日】2021-09-10
(86)【国際出願番号】 US2020053034
(87)【国際公開番号】W WO2021067174
(87)【国際公開日】2021-04-08
(32)【優先日】2019-09-30
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-09-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】イーラジ・ソダガー
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA06
5C164MB13S
5C164MB44S
5C164TC14P
5C164UB10P
5C164UC21S
5C164UD63P
(57)【要約】
本開示の態様は、セッションのメディアデータを受信するための方法、装置、および非一時的コンピュータ可読媒体を提供する。1つの装置は、セッションベースの記述(SBD)クライアントによって、複数のキーと値のペアを含むSBDファイルを受信する処理回路を含む。処理回路は、SBDクライアントにより、ハイパーテキスト転送プロトコル上の動的適応ストリーミング(DASH)アクセスクライアントから複数のキーと値のペアのうちの1つに関連付けられた値についての第1の要求を受信する。処理回路は、第1の要求に応答して、複数のキーと値のペアのうちの1つに関連付けられた値をSBDクライアントからDASHアクセスクライアントに送信する。値は、コンテンツサーバに送信される第2の要求にDASHアクセスクライアントによって含められる。
【特許請求の範囲】
【請求項1】
セッションのメディアデータを受信するための方法であって、
セッションベースの記述(SBD)クライアントによって、複数のキーと値のペアを含むSBDファイルを受信するステップと、
前記SBDクライアントによって、ハイパーテキスト転送プロトコル上の動的適応ストリーミング(DASH)アクセスクライアントから前記複数のキーと値のペアのうちの1つに関連付けられた値についての第1の要求を受信するステップと、
前記第1の要求に応答して前記複数のキーと値のペアのうちの前記1つに関連付けられた前記値を前記SBDクライアントから前記DASHアクセスクライアントに送信するステップであって、前記値は、前記DASHアクセスクライアントによって、コンテンツサーバに送信される第2の要求に含められる、ステップと、を含む方法。
【請求項2】
前記セッションは、前記SBDファイルに従ってセッションタイムライン内の1つまたは複数のサブセッションに分割され、前記1つまたは複数のサブセッションの各々は、前記セッションタイムライン内の異なる期間に関連付けられる、請求項1に記載の方法。
【請求項3】
前記SBDファイルは、前記1つまたは複数のサブセッションのうちの1つについて、前記セッションの開始時間を示す第1のタイミング属性と、前記セッションの前記開始時間からの開始時間オフセットを示す第2のタイミング属性とを含む、請求項2に記載の方法。
【請求項4】
前記SBDファイルは、ループ属性が有効にされているときに前記セッションが繰り返されることを示す前記ループ属性を含む、請求項1に記載の方法。
【請求項5】
前記SBDファイルは、前記1つまたは複数のサブセッションのうちの1つについての識別属性を含む、請求項2に記載の方法。
【請求項6】
前記第2の要求は、セグメント要求、メディアプレゼンテーション記述更新要求、および拡張可能マークアップ言語(XML)リンク付け言語(XLINK)要求のうちの1つである、請求項1に記載の方法。
【請求項7】
前記第2の要求が前記セグメント要求であるとき、前記複数のキーと値のペアのうちの前記1つに関連付けられた前記値は、メディアタイプおよびアダプテーションセットのうちの1つを示す、請求項6に記載の方法。
【請求項8】
前記送信するステップは、
前記第1の要求のタイミングおよび前記第1の要求の順序のうちの1つに従って、前記複数のキーと値のペアのうちの前記1つに関連付けられた前記値を送信するステップを含む、請求項1に記載の方法。
【請求項9】
前記複数のキーと値のペアのうちの前記1つに関連付けられた前記値が、前記第2の要求のユニフォーム・リソース・ロケータ(URL)のクエリおよび前記第2の要求のハイパーテキスト転送プロトコル(HTTP)ヘッダのうちの1つに含まれる、請求項1に記載の方法。
【請求項10】
前記SBDファイルは、前記SBDファイルのタイプが静的タイプおよび動的タイプのうちの1つであることを示すタイプ属性を含む、請求項1に記載の方法。
【請求項11】
セッションのメディアデータを受信するための装置であって、
セッションベースの記述(SBD)クライアントによって、複数のキーと値のペアを含むSBDファイルを受信することと、
前記SBDクライアントによって、ハイパーテキスト転送プロトコル上の動的適応ストリーミング(DASH)アクセスクライアントから前記複数のキーと値のペアのうちの1つに関連付けられた値についての第1の要求を受信することと、
前記第1の要求に応答して前記複数のキーと値のペアのうちの前記1つに関連付けられた前記値を前記SBDクライアントから前記DASHアクセスクライアントに送信することであって、前記値は、前記DASHアクセスクライアントによって、コンテンツサーバに送信される第2の要求に含められる、前記送信することと、を行うように構成された処理回路を備える装置。
【請求項12】
前記セッションは、前記SBDファイルに従ってセッションタイムライン内の1つまたは複数のサブセッションに分割され、前記1つまたは複数のサブセッションの各々は、前記セッションタイムライン内の異なる期間に関連付けられる、請求項11に記載の装置。
【請求項13】
前記SBDファイルは、前記1つまたは複数のサブセッションのうちの1つについて、前記セッションの開始時間を示す第1のタイミング属性と、前記セッションの前記開始時間からの開始時間オフセットを示す第2のタイミング属性とを含む、請求項12に記載の装置。
【請求項14】
前記SBDファイルは、ループ属性が有効にされているときに前記セッションが繰り返されることを示す前記ループ属性を含む、請求項11に記載の装置。
【請求項15】
前記SBDファイルは、前記1つまたは複数のサブセッションのうちの1つについての識別属性を含む、請求項12に記載の装置。
【請求項16】
前記第2の要求は、セグメント要求、メディアプレゼンテーション記述更新要求、および拡張可能マークアップ言語(XML)リンク付け言語(XLINK)要求のうちの1つである、請求項11に記載の装置。
【請求項17】
前記第2の要求が前記セグメント要求であるとき、前記複数の変数のうちの前記1つに関連付けられた前記値は、メディアタイプおよびアダプテーションセットのうちの1つを示す、請求項16に記載の装置。
【請求項18】
前記送信することは、
前記第1の要求のタイミングおよび前記第1の要求の順序のうちの1つに従って、前記複数のキーと値のペアのうちの前記1つに関連付けられた前記値を送信するステップを含む、請求項11に記載の装置。
【請求項19】
前記複数のキーと値のペアのうちの前記1つに関連付けられた前記値が、前記第2の要求のユニフォーム・リソース・ロケータ(URL)のクエリおよび前記第2の要求のハイパーテキスト転送プロトコル(HTTP)ヘッダのうちの1つに含まれる、請求項11に記載の装置。
【請求項20】
命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令が、セッションのメディアデータを受信するためにコンピュータによって実行されるとき、前記コンピュータに、
セッションベースの記述(SBD)クライアントによって、複数のキーと値のペアを含むSBDファイルを受信することと、
前記SBDクライアントによって、ハイパーテキスト転送プロトコル上の動的適応ストリーミング(DASH)アクセスクライアントから前記複数のキーと値のペアのうちの1つに関連付けられた値についての第1の要求を受信することと、
前記第1の要求に応答して前記複数のキーと値のペアのうちの前記1つに関連付けられた前記値を前記SBDクライアントから前記DASHアクセスクライアントに送信することであって、前記値は、前記DASHアクセスクライアントによって、コンテンツサーバに送信される第2の要求に含められる、前記送信することと、を実行させる、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年9月30日に出願された米国仮出願第62/908,260号「A GENERALIZED TIMING MODEL, DATA MODEL, AND HIERARCHY FOR SESSION-BASED DESCRIPTION OF SESSION-BASED DASH OPERATIONS」に対する優先権の利益を主張する、2020年9月22日に出願された米国特許出願第17/028,286号「SESSION-BASED INFORMATION FOR DYNAMIC ADAPTIVE STREAMING OVER HTTP」に対する優先権の利益を主張する。先行出願の開示全体は、参照によりその全体が本明細書に組み込まれる。
【0002】
本開示は、一般に、ハイパーテキスト転送プロトコル上の動的適応ストリーミング(DASH)のためのセッションベースの情報に関する実施形態を記載する。
【背景技術】
【0003】
本明細書で提供される背景技術の説明は、本開示の文脈を一般的に提示することを目的としている。この背景技術の項に記載されている限りにおいて、本明細書に記載されている発明者の研究、ならびに出願時に先行技術として認められない可能性がある説明の態様は、本開示に対する先行技術として明示的にも暗示的にも認められない。
【0004】
Moving Picture Experts Group(MPEG)は、セッションベースのDASH動作のためのハイパーテキスト転送プロトコル上の動的適応ストリーミング(DASH)標準化における新たな部分を開始した。メディアプレゼンテーション記述(MPD)ファイルはすべてのクライアントに汎用であるが、クライアントはセッションベースの記述(SBD)ファイルなどのサイドファイルを取得することができ、これはクライアントがMPDをセッションに固有にするための命令を提供する。しかしながら、現在の設計では、一部のSBD固有の情報が依然としてMPDファイルで搬送される。加えて、SBDは、(例えば、フォレンジック電子透かしを使用する)アプリケーションごとに特別に設計されており、他のアプリケーションに対処するのに十分なほど一般的ではない。
【発明の概要】
【課題を解決するための手段】
【0005】
本開示の態様は、セッションのメディアデータを受信するための装置を提供する。1つの装置は、セッションベースの記述(SBD)クライアントによって、複数のキーと値のペアを含むSBDファイルを受信する処理回路を含む。処理回路は、SBDクライアントにより、ハイパーテキスト転送プロトコル上の動的適応ストリーミング(DASH)アクセスクライアントから複数のキーと値のペアのうちの1つに関連付けられた値に対する第1の要求を受信する。処理回路は、第1の要求に応答して、複数のキーと値のペアのうちの1つに関連付けられた値をSBDクライアントからDASHアクセスクライアントに送信する。値は、コンテンツサーバに送信される第2の要求にDASHアクセスクライアントによって含められる。
【0006】
一実施形態では、セッションは、SBDファイルに従ってセッションタイムライン内の1つまたは複数のサブセッションに分割される。1つまたは複数のサブセッションの各々は、セッションタイムライン内の異なる期間に関連付けられる。
【0007】
一実施形態では、SBDファイルは、1つまたは複数のサブセッションのうちの1つについて、セッションの開始時間を示す第1のタイミング属性と、セッションの開始時間からの開始時間オフセットを示す第2のタイミング属性とを含む。
【0008】
一実施形態では、SBDファイルは、ループ属性が有効にされているときにセッションが繰り返されることを示すループ属性を含む。
【0009】
一実施形態では、SBDファイルは、1つまたは複数のサブセッションのうちの1つについての識別属性を含む。
【0010】
一実施形態では、第2の要求は、セグメント要求、メディアプレゼンテーション記述更新要求、および拡張可能マークアップ言語(XML)リンク付け言語(XLINK)要求のうちの1つである。
【0011】
一実施形態では、第2の要求がセグメント要求であるとき、複数のキーと値のペアのうちの1つに関連付けられた値は、メディアタイプおよびアダプテーションセットのうちの1つを示す。
【0012】
一実施形態では、処理回路は、第1の要求のタイミングおよび第1の要求の順序のうちの1つに従って、複数のキーと値のペアのうちの1つに関連付けられた値を送信する。
【0013】
一実施形態では、複数のキーと値のペアのうちの1つに関連付けられた値が、第2の要求のユニフォーム・リソース・ロケータ(URL)のクエリおよび第2の要求のハイパーテキスト転送プロトコル(HTTP)ヘッダのうちの1つに含まれる。
【0014】
一実施形態では、SBDファイルは、SBDファイルのタイプが静的タイプおよび動的タイプのうちの1つであることを示すタイプ属性を含む。
【0015】
本開示の態様は、セッションのメディアデータを受信するための方法を提供する。1つの方法では、複数のキーと値のペアを含むSBDファイルがSBDクライアントによって受信される。DASHアクセスクライアントから送信された第1の要求は、SBDクライアントによって受信される。第1の要求は、複数のキーと値のペアのうちの1つに関連付けられた値を要求することである。複数のキーと値のペアのうちの1つに関連付けられた値は、第1の要求に応答してSBDクライアントからDASHアクセスクライアントに送信される。値は、コンテンツサーバに送信される第2の要求にDASHアクセスクライアントによって含められる。
【0016】
本開示の態様はまた、命令を記憶する非一時的コンピュータ可読媒体であって、命令が、セッションのメディアデータを受信するためにコンピュータによって実行されるとき、コンピュータに、セッションのためのメディアデータを受信するための方法のうちの任意の1つまたは組み合わせを実行させる、非一時的コンピュータ可読媒体を提供する。
【0017】
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0018】
【
図1】本開示の一実施形態による例示的なセッションベースのハイパーテキスト転送プロトコル上の動的適応ストリーミング(DASH)システムを示す図である。
【
図2】本開示の一実施形態による別の例示的なセッションベースのDASHシステムを示す図である。
【
図3】本開示の一実施形態による例示的な階層型セッションベースの記述(SBD)データモデルを示す図である。
【
図4A】本開示の一実施形態による静的SBDおよび動的SBDの例示的なタイミングモデルを示す図である。
【
図4B】本開示の一実施形態による静的SBDおよび動的SBDの例示的なタイミングモデルを示す図である。
【
図5A】本開示の一実施形態によるSBDの例示的なタイムラインおよび順序ライン要素を示す。
【
図5B】本開示の一実施形態によるSBDの例示的なタイムラインおよび順序ライン要素を示す。
【
図6】いくつかの実施形態によるプロセス例の概要を示すフローチャートである。
【
図7】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0019】
I.ハイパーテキスト転送プロトコル上の動的適応ストリーミング(DASH)およびメディアプレゼンテーション記述(MPD)
ハイパーテキスト転送プロトコル上の動的適応ストリーミング(DASH)は、ウェブサーバ、コンテンツ配信ネットワーク(CDN)、様々なプロキシおよびキャッシュなどのハイパーテキスト転送プロトコル(HTTP)インフラストラクチャを使用してメディアコンテンツのストリーミングを可能にする適応ビットレートストリーミング技術である。DASHは、DASHサーバからDASHクライアントへのオンデマンドストリーミングとライブストリーミングの両方をサポートし、DASHクライアントがストリーミングセッションを制御することを可能にするので、DASHサーバは、大規模配備におけるストリーム適合化管理の追加負荷に対処する必要がない。DASHはまた、DASHクライアントが様々なDASHサーバからのストリーミングを選択することを可能にし、したがって、DASHクライアントの利益のためにネットワークのさらなる負荷分散を達成する。DASHは、例えば、ネットワーク状況に適応するようにビットレートを変えることによって、異なるメディアトラック間の動的切り替えを提供する。
【0020】
DASHにおいて、メディアプレゼンテーション記述(MPD)ファイルは、DASHクライアントがDASHサーバからメディアセグメントをダウンロードすることによってメディアコンテンツを適応的にストリーミングするための情報を提供する。MPDファイルは、セッション開始遅延を低減するために断片化され、部分的に配信され得る。MPDファイルは、ストリーミングセッション中に更新することもできる。いくつかの例では、MPDファイルは、コンテンツのアクセシビリティ機能、評価、およびカメラビューの表現をサポートする。DASHはまた、多視点でスケーラブルな符号化コンテンツの配信をサポートする。
【0021】
MPDファイルは、1つまたは複数の期間のシーケンスを含むことができる。1つまたは複数の期間のそれぞれは、MPDファイル内の期間要素により定義することができる。MPDファイルは、MPDのavailableStartTime属性と、1つまたは複数の期間の開始属性とを含むことができる。動的タイプ(例えば、ライブサービスに使用される)でのメディアプレゼンテーションの場合、期間の開始属性とMPD属性availableStartTimeとメディアセグメントの持続時間との合計は、協定世界時(UTC)フォーマットにおける期間、特に対応する期間内の各表現の第1のメディアセグメントの利用可能時間を示すことができる。静的タイプ(例えば、オンデマンドサービスに使用される)でのメディアプレゼンテーションの場合、第1の期間の開始属性は0とすることができる。任意の他の期間について、開始属性は、第1の期間の開始時間に対する対応する期間の開始時間の間の時間オフセットを指定することができる。各期間は、次の期間の開始まで、または最後の期間の場合にはメディアプレゼンテーションの終了まで延長することができる。期間開始時間は正確であり得、すべての前の期間のメディアの再生から生じる実際のタイミングを反映することができる。
【0022】
各期間は、1つまたは複数のアダプテーションセットを含むことができ、アダプテーションセットの各々は、同じメディアコンテンツの1つまたは複数の表現を含むことができる。表現は、オーディオまたはビデオデータのいくつかの代替的な符号化バージョンのうちの1つであり得る。表現は、符号化タイプによって、例えば、ビデオデータおよびビットレートのビットレート、解像度、および/もしくはコーデック、ならびに/またはオーディオデータのコーデックによって異なり得る。表現という用語は、マルチメディアコンテンツの特定の期間に対応し、特定の方法で符号化された符号化オーディオまたはビデオデータのセクションを指すために使用することができる。
【0023】
MPDファイルのグループ属性が示すグループには、特定の期間のアダプテーションセットを割り当てることができる。同じグループ内のアダプテーションセットは、一般に、互いに代替と見なされる。例えば、特定の期間のビデオデータの各アダプテーションセットを同じグループに割り当てることができ、その結果、対応する期間のマルチメディアコンテンツのビデオデータを表示するために、いずれかのアダプテーションセットを復号のために選択することができる。1つの期間内のメディアコンテンツは、存在する場合、グループ0からの1つのアダプテーションセット、またはいくつかの例では、各非ゼログループからの最大1つのアダプテーションセットの組み合わせのいずれかによって表すことができる。期間の表現ごとのタイミングデータは、期間の開始時間に対して表現することができる。
【0024】
表現は、1つまたは複数のセグメントを含むことができる。各表現は初期化セグメントを含むことができ、または表現の各セグメントは自己初期化することができる。存在する場合、初期化セグメントは、表現にアクセスするための初期化情報を含むことができる。場合によっては、初期化セグメントはメディアデータを含まない。セグメントは、ユニフォーム・リソース・ロケータ(URL)、ユニフォーム・リソース名(URN)、またはユニフォーム・リソース識別子(URI)などの識別子によって一意に参照することができる。MPDファイルは、セグメントごとに識別子を提供することができる。いくつかの例では、MPDファイルは、URL、URN、またはURIによってアクセス可能なファイル内のセグメントのデータに対応することができる範囲属性の形式のバイト範囲を提供することもできる。
【0025】
各表現はまた、1つまたは複数のメディアコンポーネントを含むことができ、各メディアコンポーネントは、オーディオ、ビデオ、または時限テキスト(例えば、クローズドキャプション用)などの1つの個々のメディアタイプの符号化バージョンに対応することができる。メディアコンポーネントは、1つの表現内の連続するメディアセグメントの境界にわたって時間的に連続的であり得る。
【0026】
いくつかの実施形態では、DASHクライアントは、DASHサーバからMPDファイルにアクセスしてダウンロードすることができる。すなわち、DASHクライアントは、ライブセッションの開始に用いられるMPDファイルを取得することができる。MPDファイルに基づいて、および選択された各表現について、DASHクライアントは、サーバ上で利用可能な最新のセグメントが何であるかを判定すること、次のセグメントおよび場合によっては将来のセグメントのセグメント利用可能開始時間を判定すること、セグメント内のどのタイムラインから、セグメントの再生をいつ開始するかを判定すること、ならびに新しいMPDファイルをいつ取得/フェッチするかを判定することを含む、いくつかの決定を行うことができる。サービスが再生されると、クライアントはライブサービスとそれ自体の再生との間のドリフトを追跡することができ、それは検出および補償される必要がある。
【0027】
II.セッションベースDASH動作およびセッションベースの記述(SBD)
MPDファイルは、すべてのDASHクライアントに対して汎用であり得ることに留意されたい。MPEG(Moving Picture Expert Group)は、DASHクライアントのセッション固有のMPDファイルとするために、セッションベースのDASH動作を提供する。セッションベースのDASH動作では、DASHクライアントは、DASHクライアントがセッションごとに、場合によってはクライアントごとにMPDファイルをカスタマイズするための命令を提供する、セッションベースの記述(SBD)ファイルなどのサイドファイルを受信することができる。しかしながら、いくつかの関連する例では、セッションベースのDASH動作はアプリケーション固有である。すなわち、新しいアプリケーションごとに、新しいSBDフォーマットが必要である。
【0028】
本開示は、すべてのセッションベースのアプリケーションに単一の解決策を提供することができる一般化されたSBDフォーマットを提示する。
【0029】
図1は、本開示の一実施形態による、セッションベースのDASH動作(100)の例示的なアーキテクチャを示す。セッションベースのDASH動作アーキテクチャ(100)では、MPDファイルは、DASHサーバ(101)(例えば、コンテンツサーバ)からDASHクライアント(102)に送られる。DASHクライアント(102)は、MPDファイルに基づいて、DASHサーバ(101)からメディアセグメントを受信することができる。また、DASHクライアント(102)は、DASHサーバ(101)または第三者(例えば、セッションコントローラ)からSBDファイルを受信することができる。
【0030】
本開示の態様によれば、SBDファイルは、追加のメタデータと共に、複数の時間範囲および対応するキーと値のペア(または名前と値のペア)を含むことができる。SBDファイルは、例えば、URLによりMPDファイル内で参照され得る。SBDファイルは、DASHクライアント(102)が受信するMPDファイルを、DASHクライアント(102)のセッションに対して固有であるようにカスタマイズするために用いることができる。例えば、SBDファイルは、一意のセッションごとのMPDを生成することなく、セッション固有の要素をセグメントURLに追加することを可能にすることができる。
【0031】
図2は、本開示の一実施形態による別の例示的なセッションベースのDASH動作アーキテクチャ(200)を示す。セッションベースのDASH動作アーキテクチャ(200)では、オーディオソース(例えば、マイクロフォン)およびビデオソース(例えば、ビデオカメラ)を含むことができるコンテンツ生成デバイス(201)(例えば、スマートフォン)によってマルチメディアコンテンツが準備され、生成される。マルチメディアコンテンツは、コンテンツ生成デバイス(201)によって記憶することができ、または様々なマルチメディアコンテンツを記憶することができるコンテンツサーバ(202)に送信することができる。コンテンツサーバ(202)は、マルチメディアコンテンツの1つまたは複数のメディアセグメントについての、DASHアクセスクライアント(203)などのクライアントデバイスからの要求を受信することができる。マルチメディアコンテンツは、MPDファイルによって記述され、MPDファイルは、コンテンツサーバ(202)によって記憶および更新され、メディアセグメントを取得するためにDASHアクセスクライアント(203)を含むクライアントデバイスによってアクセスされることができる。
【0032】
セッション固有のメディアセグメントを取得するために、DASHアクセスクライアント(203)は、SBDクライアント(204)によって受信された、現在のセッションについての複数の時間範囲および対応するキーと値のペアを含むSBDファイルにアクセスするための要求をSBDクライアント(204)(例えば、セッションクライアント)に送信することができる。例えば、DASHアクセスクライアント(203)は、キー名および時間範囲をSBDクライアント(204)に送信することができ、次いで、SBDクライアントは、キー名および時間範囲を解析し、キー名および時間範囲に対応する値をDASHアクセスクライアント(203)に返す。DASHアクセスクライアント(203)は、セグメント要求がHTTP GETまたは部分GET要求である場合に、セッション固有メディアセグメントを要求するためにコンテンツサーバ(202)に送信することができるセグメントURLのクエリに値を含めることができる。
【0033】
SBDクライアント(204)は、セッションコントローラ(205)およびセッションコントローラ(206)などの異なるセッションコントローラから複数のSBDファイルを受信することができることに留意されたい。
【0034】
本開示の態様によれば、コンテンツサーバ(202)(例えば、DASHサーバ)の機能のうちのいずれかまたはすべては、ルータ、ブリッジ、プロキシデバイス、スイッチ、またはその他のデバイスなどの、コンテンツ配信ネットワーク(CDN)の1つまたは複数のデバイスにおいて実施され得る。コンテンツサーバ(202)は、クライアントデバイス(例えば、DASHアクセスクライアント(203))からネットワーク要求を受信するように構成された要求処理ユニットを含むことができる。例えば、要求処理ユニットは、HTTP GET要求または部分GET要求を受信し、要求に応答してマルチメディアコンテンツのデータを提供するように構成することができる。要求は、セグメントのURLを使用してセグメントを指定することができる。いくつかの例では、要求はセグメントの1つまたは複数のバイト範囲を指定することもでき、したがって部分GET要求を含む。要求処理ユニットは、セグメントのヘッダデータを提供するためにHTTP HEAD要求を処理するようにさらに構成することができる。
【0035】
いくつかの実施形態では、コンテンツ生成デバイス(201)およびコンテンツサーバ(202)は、無線ネットワークもしくは有線ネットワークによって結合することができ、または直接通信可能に結合することができる。
【0036】
いくつかの実施形態では、コンテンツ生成デバイス(201)およびコンテンツサーバ(202)は、同じデバイスに含まれ得る。
【0037】
いくつかの実施形態では、コンテンツサーバ(202)およびセッションコントローラ(205)~(206)は、同じデバイスに含まれ得る。
【0038】
いくつかの実施形態では、コンテンツサーバ(202)およびDASHアクセスクライアント(203)は、無線ネットワークまたは有線ネットワークによって結合することができる。
【0039】
いくつかの実施形態では、SBDクライアント(204)およびセッションコントローラ(205)~(206)は、無線ネットワークもしくは有線ネットワークによって結合することができ、または直接通信可能に結合することができる。
【0040】
いくつかの実施形態では、DASHアクセスクライアント(203)およびSBDクライアント(204)は、同じデバイスに含めることができる。
【0041】
図3は、本開示の一実施形態による例示的な階層型SBDデータモデル(300)を示す。JavaScriptオブジェクト表記法(JSON)で実装することができる階層型SBDデータモデル(300)では、SBDファイルは、1つまたは複数の期間(Period)を含むことができる。各期間は、1つまたは複数の要求タイプ(Request Type)要素を有する。要求のタイプは、セグメント要求、MPD更新要求、および拡張可能マークアップ言語(XML)リンク付け言語(XLINK)要求を含むことができる。各要求タイプは、メディアタイプもしくはアダプテーションセットとして定義されるか、またはその両方であり得る範囲(Scope)を有することができる。各範囲内で、複数のキーと値のペアのそれぞれは、タイムラインおよび/または順序ライン(Timeline/Orderline)に関連付けることができる。最後に、クエリ/ヘッダ拡張(Query/Header Extension)は、これらのキーと値のペアが追加される場所を定義することができる。
【0042】
特に、SBDファイルは、SBD@availabilityStartTimeなどの利用可能開始時間属性を含むことができる。SBD利用可能開始時間属性は、任意選択で、セッションの開始のためのウォールクロック時間上のアンカーを提供する。SBD利用可能開始時間属性SBD@availabilityStartTimeは、MPD利用可能開始時間属性MPD@availabilityStartTimeと同様であり得るが、セッションのアンカーである。SBD@availabilityStartTimeは、動的MPDのためのアンカーを提供することができる。
【0043】
さらに、セッションは、1つまたは複数の期間を含むことができる。MPDと同様に、セッション期間は、セッションタイムラインにおける持続時間を定義することができる。SBDファイルでは、各期間は、SBD@availabilityStartTimeからの開始時間オフセットを示す@startなどの開始属性を有することができる。セッションは、ラップアラウンドする可能性を有することができ、これは、最後の期間の終わりに、SBD@wrapなどのラップアラウンド要素が設定されている場合、セッションはラップアラウンドし、第1の期間に続くことを意味する。セッション内の各期間は、それぞれの期間を識別するためのperiod@idなどの期間識別子を有することができる。各period@idは、所与のSBDファイルに対して一意の値を有することができる。
【0044】
各期間は、セグメント要求、MPD更新要求、および/またはXLINK要求などの、MPDファイル内の要求のうちの1つまたは複数のためのカスタマイズされた情報を有することができる。セグメント要求は、1つもしくは複数のメディアタイプおよび/または1つもしくは複数のアダプテーションセットに対してさらに指定することができる。
【0045】
個々の要求のカスタマイズは、要求のタイミングに基づく時間ベースの割り当て、および要求の順序に基づく順序ベースの割り当てのうちの1つに従って行うことができる。各要求におけるカスタマイズは、URL要求のクエリ内の1つもしくは複数のキーと値のペアおよび/または1つもしくは複数のHTTPヘッダ拡張などの補足情報を追加することを含むことができる。
【0046】
さらに、SBDは静的または動的とすることができ、SBDが動的である場合に更新することができる。
【0047】
図4Aおよび
図4Bは、本開示の一実施形態による静的SBDおよび動的SBDの例示的なタイミングモデルを示す。
図4Aでは、SBDのタイプは静的(例えば、SBD@type=static)であり、SBDのタイミングモデルは、MPD@type=staticの場合のMPDのタイミングモデルと同様であり、違いは、SBDがラップアラウンドできることであり、これは、期間2(P2)の終了後、SBDが期間0(P0)に戻ってやり直すことができることを意味する。
図4Bでは、SBDのタイプは動的(例えば、SBD@type=dynamic)であり、SBDのタイミングモデルは、MPD@type=dynamicの場合のMPDのタイミングモデルと同様である。しかしながら、ここでも、SBDはラップアラウンドすることができ、これは、P2の終わりにおいて、P0が継続し、以下同様であることを意味する。
【0048】
SBD内の期間は、MPD期間と同期されてもされなくてもよいことに留意されたい。SBDに期間がある理由は、SBDに期間を挿入または置換することができ、したがって、MPDセッションの異なる期間に対して異なるセッションベースの操作を可能にするためである。
【0049】
図5Aおよび
図5Bは、本開示の一実施形態によるSBDの例示的なタイムラインおよび順序ライン要素を示す。
図5Aでは、タイムライン要素は、タイムラインを様々な持続時間に分割し、そのそれぞれにおいて1つまたは複数の割り当てがURLのクエリにまたはヘッダ拡張として追加される。各タイムラインは、MPDファイル内のSegmentTimelineと同様の方法で構築することができる。例えば、S要素は持続時間を示し、S@tはS要素の(任意選択の)開始時間であり、@dは要素の持続時間であり、@vは対応する持続時間内に発生する要求に対して追加される1つまたは複数のキーと値のペアを含み、@rはこのS要素の反復回数を示す。
図5Bでは、順序ライン要素は、各要求に追加されるキーと値のペアの順序を定義する。例えば、O要素は順序を示し、O@tはO要素の(任意選択の)開始時間であり、@vは対応する順序で発生する要求に追加される1つまたは複数のキーと値のペアを含み、@rはこのO要素の反復回数を示す。
【0050】
本開示の態様によれば、DASHクライアント(102)は、MPDファイル内のURLによって示される位置からSBDファイルをダウンロードし、SBDファイルのJSONオブジェクトを解析し、タイムライン/順序ライン表を構築することができる。次に、DASHクライアント(102)は、(サブ)セグメントを要求するためのタイムライン/順序ライン表内の一致する行と、一致する行のSBD記述子に列挙された各キーの対応する値とを見つけ、SBD記述子で定義されたキーの順序でクエリを構築し、そのクエリをセグメント要求に追加することができる。
【0051】
SBDファイルは、XMLおよび/またはJSONを使用して実装することができる。XML実装の場合、MPDおよび期間と同様または同じXML構造を使用することができる。UrlQueryInfoTypeやExtendedUrlInfoTypeなど、MPDや期間のXML構造内のいくつかの要素や属性は、SBDのXML構造内で使用することができる。JSON実装の場合、
図3に示す階層データモデルを使用することができる。
【0052】
一実施形態では、DASHアクセスクライアント(203)は、MPDファイルを受信し、MPDファイル内のURLアドレスをSBDクライアント(204)に渡すことができる。SBDクライアント(204)は、URLアドレスからキーと値のオブジェクトをダウンロードし、タイムライン/順序ライン表を構築することができる。DASHクライアント(203)は、キーと、(サブ)セグメントのタイミングまたは順序とをSBDクライアント(204)に送信することができ、SBDクライアントは、要求された(サブ)セグメントのタイミングまたは順序を計算し、要求された(サブ)セグメントのタイミングまたは順序と一致するタイムライン/順序ライン表内の行を見つける。次に、SBDクライアントは、一致する行のキーと値のペアにおいて、DASHクライアント(203)によって送信されたキーと一致する一致するキー名を見つけ、一致したキー名に対応する値をDASHクライアント(203)に返す。DASHクライアント(203)は、(サブ)セグメント要求で用いられるセグメントURLのクエリの最後に、あるいはHTTPヘッダ拡張として、値(またはkey=value)を加えることができる。
【0053】
本開示の態様によれば、セッションベースのDASH動作を記述するための一般化されたアプリケーションに依存しない方法が存在する。この方法は、セッションベースの情報を様々なアプリケーションに適用することを可能にする。SBDファイルには、セッションベースの動作の情報がすべて含まれ、MPDファイルには、情報が含まれない。セッションベースの動作は、静的または動的タイムラインで記述することができる。動的タイムラインは更新することができる。セグメント要求、MPD更新要求、およびXLINK要求の1つもしくは複数および/または任意の組み合わせに対する様々な動作を規定することができる。動作は、1つまたは複数のメディアタイプおよび/もしくはアダプテーションセットまたは組み合わせに適用することができる。動作は、SBDが繰り返しパターンで継続することを可能にするラップアラウンド機能を用いて、要求のタイムラインまたは順序ラインに従って規定することができる。この方法は、MPD XMLフォーマットと同様のXMLフォーマットで、または階層データモデルを実装できるJSONフォーマットで実装できる。
【0054】
III.フローチャート
図6は、本開示の一実施形態によるプロセス(600)の概要を示すフローチャートを示す。様々な実施形態において、プロセス(600)は、DASHクライアント(102)の処理回路、DASHアクセスクライアント(203)の処理回路、SBDクライアント(204)の処理回路などの処理回路によって実行される。いくつかの実施形態では、プロセス(600)はソフトウェア命令で実施され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(600)を実行する。プロセス(600)は、(S610)で開始し、プロセス(600)は、SBDクライアントによって、複数のキーと値のペアを含むSBDファイルを受信する。そして、プロセス(600)は、ステップ(S620)に進む。
【0055】
ステップ(S620)において、プロセス(600)は、SBDクライアントによって、DASHアクセスクライアントから複数のキーと値のペアのうちの1つに関連付けられた値についての第1の要求を受信する。次いで、プロセス(600)は、ステップ(S630)に進む。
【0056】
ステップ(S630)において、プロセス(600)は、第1の要求に応答して、複数のキーと値のペアのうちの1つに関連付けられた値をSBDクライアントからDASHアクセスクライアントに送信する。値は、コンテンツサーバに送信される第2の要求にDASHアクセスクライアントによって含められる。そして、プロセス(600)は終了する。
【0057】
一実施形態では、セッションは、SBDファイルに従ってセッションタイムライン内の1つまたは複数のサブセッションに分割される。1つまたは複数のサブセッションの各々は、セッションタイムライン内の異なる期間に関連付けられている。
【0058】
一実施形態では、SBDファイルは、1つまたは複数のサブセッションのうちの1つについて、セッションの開始時間を示す第1のタイミング属性と、セッションの開始時間からの開始時間オフセットを示す第2のタイミング属性とを含む。
【0059】
一実施形態では、SBDファイルは、ループ属性が有効にされているときにセッションが繰り返されることを示すループ属性を含む。
【0060】
一実施形態では、SBDファイルは、1つまたは複数のサブセッションのうちの1つの識別属性を含む。
【0061】
一実施形態では、第2の要求は、セグメント要求、MPD更新要求、およびXLINK要求のうちの1つである。
【0062】
一実施形態では、第2の要求がセグメント要求である場合、複数のキーと値のペアのうちの1つに関連付けられた値は、メディアタイプおよびアダプテーションセットのうちの1つを示す。
【0063】
一実施形態では、処理回路は、第1の要求のタイミングおよび第1の要求の順序のうちの1つに従って、複数のキーと値のペアのうちの1つに関連付けられた値を送信する。
【0064】
一実施形態では、複数のキーと値のペアのうちの1つに関連付けられた値が、第2の要求のURLのクエリおよび第2の要求のHTTPヘッダのうちの1つに含まれる。
【0065】
一実施形態では、SBDファイルは、SBDファイルのタイプが静的タイプおよび動的タイプのうちの1つであることを示すタイプ属性を含む。
【0066】
IV.コンピュータシステム
上述した技術は、コンピュータ可読命令を使用し、1つまたは複数のコンピュータ可読媒体に物理的に記憶されたコンピュータソフトウェアとして実装することができる。例えば、
図7は、開示された主題の特定の実施形態を実施するのに適したコンピュータシステム(700)を示す。
【0067】
コンピュータソフトウェアは、1つまたは複数のコンピュータ中央処理装置(CPU)、グラフィック処理装置(GPU)などによって、直接実行することができるか、または解釈、マイクロコード実行などを介して実行することができる命令を含むコードを作成するために、組み立て、コンパイル、リンクなどのメカニズムを受けることができる任意の適切な機械コードまたはコンピュータ言語を使用してコード化することができる。
【0068】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む様々な種類のコンピュータまたはそのコンポーネント上で実行することができる。
【0069】
コンピュータシステム(700)について
図7に示すコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用または機能の範囲に関する制限を示唆することを意図していない。コンポーネントの構成は、コンピュータシステム(700)の例示的な実施形態に示されているコンポーネントのいずれかまたは組み合わせに関する依存関係または要件を有すると解釈されるべきではない。
【0070】
コンピュータシステム(700)は、特定のヒューマンインタフェース入力デバイスを含むことができる。そのようなヒューマンインタフェース入力デバイスは、例えば、触知入力(例えば、キーストローク、スワイプ、データグローブの動き)、音声入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず)を介した1つまたは複数の人間のユーザによる入力に応答することができる。ヒューマン・インタフェース・デバイスは、オーディオ(例えば、音声、音楽、周囲音)、画像(例えば、走査画像、写真画像は静止画像カメラから取得する)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、必ずしも人間による意識的な入力に直接関連しない特定のメディアを取り込むために使用することもできる。
【0071】
入力ヒューマン・インタフェース・デバイスは、キーボード(701)、マウス(702)、トラックパッド(703)、タッチスクリーン(710)、データグローブ(図示せず)、ジョイスティック(705)、マイクロフォン(706)、スキャナ(707)、およびカメラ(708)のうちの1つまたは複数(図示された各々のうちのただ1つ)を含むことができる。
【0072】
コンピュータシステム(700)はまた、特定のヒューマンインタフェース出力デバイスを含んでもよい。そのようなヒューマンインタフェース出力デバイスは、例えば、触知出力、音、光、および匂い/味によって1人または複数の人間のユーザの感覚を刺激することができる。そのようなヒューマンインタフェース出力デバイスは、触知出力デバイス(例えば、タッチスクリーン(710)、データグローブ(図示せず)、またはジョイスティック(705)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスも存在し得る)、オーディオ出力デバイス(例えば、スピーカ(709)、ヘッドホン(図示せず))、視覚出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(710)などであって、それぞれがタッチスクリーン入力機能を有するかまたは有さず、それぞれが触知フィードバック機能を有するかまたは有さず、その一部は、ステレオ出力などの手段を介して2次元視覚出力または3次元を超える出力を出力することができてもよいスクリーン、仮想現実メガネ(図示せず)、ホログラフィックディスプレイ、および発煙剤タンク(図示せず))、およびプリンタ(図示せず)を含むことができる。これらの視覚出力デバイス(スクリーン(710)など)は、グラフィックスアダプタ(750)を介してシステムバス(748)に接続することができる。
【0073】
コンピュータシステム(700)はまた、人がアクセス可能な記憶デバイスおよびそれらの関連媒体、例えば、CD/DVDなどの媒体(721)を有するCD/DVD ROM/RW(720)を含む光学媒体、サムドライブ(722)、リムーバブル・ハード・ドライブまたはソリッド・ステート・ドライブ(723)、テープおよびフロッピーディスク(図示せず)などのレガシー磁気媒体、セキュリティドングル(図示せず)などの専用ROM/ASIC/PLDベースのデバイスなどを含むことができる。
【0074】
当業者はまた、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的信号を包含しないことを理解すべきである。
【0075】
コンピュータシステム(700)はまた、1つまたは複数の通信ネットワーク(755)へのネットワークインタフェース(754)を含むことができる。1つまたは複数の通信ネットワーク(755)は、例えば、無線、有線、光であり得る。さらに、1つまたは複数の通信ネットワーク(755)は、ローカル、広域、都市、車両および産業、リアルタイム、遅延耐性などであり得る。1つまたは複数の通信ネットワーク(755)は、例えば、イーサネット、無線LAN等のローカル・エリア・ネットワーク、GSM、3G、4G、5G、LTE等を含むセルラネットワーク、ケーブルTV、衛星TV、地上波TV等を含むテレビ有線もしくは無線広域デジタルネットワーク、CANBus等を含む車載用もしくは産業用等を含む。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス(749)に取り付けられた外部ネットワーク・インタフェース・アダプタ(例えば、コンピュータシステム(700)のUSBポートなど)を必要とし、他のものは、一般に、後述するようなシステムバスへの取り付け(例えば、PCコンピュータシステムへのイーサネットインタフェースまたはスマートフォン・コンピュータ・システムへのセルラ・ネットワーク・インタフェース)によってコンピュータシステム(700)のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(700)は、他のエンティティと通信することができる。そのような通信は、例えば、ローカルまたは広域デジタルネットワークを使用して、他のコンピュータシステムに対して、単方向、受信のみ(例えば、放送TV)、単方向送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向であり得る。特定のプロトコルおよびプロトコルスタックは、上述したように、それらのネットワークおよびネットワークインタフェースのそれぞれで使用することができる。
【0076】
前述のヒューマン・インタフェース・デバイス、ヒューマンアクセス可能な記憶デバイス、およびネットワークインタフェースは、コンピュータシステム(700)のコア(740)に取り付けることができる。
【0077】
コア(740)は、1つまたは複数の中央処理装置(CPU)(741)、グラフィック処理装置(GPU)(742)、フィールド・プログラマブル・ゲート・エリア(FPGA)(743)の形態の専用プログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ(744)などを含むことができる。これらのデバイスは、読み出し専用メモリ(ROM)(745)、ランダムアクセスメモリ(746)、内部の非ユーザアクセス可能ハードドライブなどの内部大容量記憶、SSDなど(747)と共に、システムバス(748)を介して接続されてもよい。いくつかのコンピュータシステムでは、システムバス(748)は、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形態でアクセス可能であり得る。周辺デバイスは、コアのシステムバス(748)に直接取り付けることも、周辺機器用バス(749)を介して取り付けることもできる。周辺バスのアーキテクチャには、PCI、USBなどが含まれる。
【0078】
CPU(741)、GPU(742)、FPGA(743)、およびアクセラレータ(744)は、組み合わせて上述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM(745)またはRAM(746)に記憶することができる。遷移データはまた、RAM(746)に記憶することができ、一方、永続データは、例えば内部大容量記憶(747)に記憶することができる。メモリデバイスのいずれかへの高速記憶および取得は、1つまたは複数のCPU(741)、GPU(742)、大容量記憶(747)、ROM(745)、RAM(746)などと密接に関連付けることができるキャッシュメモリの使用によって可能にすることができる。
【0079】
コンピュータ可読媒体は、様々なコンピュータ実施動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであってもよく、またはコンピュータソフトウェア技術の当業者に周知で利用可能な種類のものであってもよい。
【0080】
限定ではなく、例として、アーキテクチャ(700)、特にコア(740)を有するコンピュータシステムは、1つまたは複数の有形のコンピュータ可読媒体で具現化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上述のようなユーザアクセス可能な大容量記憶、ならびにコア内部大容量記憶(747)またはROM(745)などの非一時的な性質のコア(740)の特定の記憶に関連付けられた媒体とすることができる。本開示の様々な実施形態を実施するソフトウェアは、そのようなデバイスに記憶され、コア(740)によって実行することができる。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(740)、具体的にはその中のプロセッサ(CPU、GPU、FPGA等を含む)に、RAM(746)に記憶されたデータ構造を定義すること、およびソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、ハードワイヤードまたは他の方法で回路(例えば、アクセラレータ(744))に具現化された論理の結果として機能を提供することができ、ソフトウェアの代わりに、またはソフトウェアと共に動作して、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行することができる。ソフトウェアへの参照は、論理を包含することができ、適切な場合には逆もまた同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具現化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアとの任意の適切な組み合わせを包含する。
【0081】
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内に入る変更、置換、および様々な代替の等価物がある。したがって、当業者は、本明細書に明示的に示されていないまたは記載されていないが、本開示の原理を具体化し、したがってその趣旨および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
【符号の説明】
【0082】
100 DASH動作アーキテクチャ
101 DASHサーバ
102 DASHクライアント
200 DASH動作アーキテクチャ
201 コンテンツ生成デバイス
202 コンテンツサーバ
203 DASHクライアント/DASHアクセスクライアント
204 SBDクライアント
205 セッションコントローラ
206 セッションコントローラ
300 階層型SBDデータモデル
600 プロセス
700 コンピュータシステム
701 キーボード
702 マウス
703 トラックパッド
705 ジョイスティック
706 マイクロフォン
707 スキャナ
708 カメラ
709 スピーカ
710 タッチスクリーン
720 CD/DVD ROM/RW
721 媒体
722 サムドライブ
723 ソリッド・ステート・ドライブ
740 コア
741 CPU
742 GPU
743 FPGA
744 ハードウェアアクセラレータ
745 ROM
746 ランダムアクセスメモリ
747 大容量記憶
748 システムバス
749 周辺バス
750 グラフィックスアダプタ
754 ネットワークインタフェース
755 通信ネットワーク
【手続補正書】
【提出日】2021-09-10
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
セッションのメディアデータを受信するための方法であって、
セッションベースの記述(SBD)クライアントによって、複数のキーと値のペアを含むSBDファイルを受信するステップと、
前記SBDクライアントによって、ハイパーテキスト転送プロトコル上の動的適応ストリーミング(DASH)アクセスクライアントから前記複数のキーと値のペアのうちの1つに関連付けられた値についての第1の要求を受信するステップと、
前記第1の要求に応答して前記複数のキーと値のペアのうちの前記1つに関連付けられた前記値を前記SBDクライアントから前記DASHアクセスクライアントに送信するステップであって、前記値は、前記DASHアクセスクライアントによって、コンテンツサーバに送信される第2の要求に含められる、ステップと、を含む方法。
【請求項2】
前記セッションは、前記SBDファイルに従ってセッションタイムライン内の1つまたは複数のサブセッションに分割され、前記1つまたは複数のサブセッションの各々は、前記セッションタイムライン内の異なる期間に関連付けられる、請求項1に記載の方法。
【請求項3】
前記SBDファイルは、前記1つまたは複数のサブセッションのうちの1つについて、前記セッションの開始時間を示す第1のタイミング属性と、前記セッションの前記開始時間からの開始時間オフセットを示す第2のタイミング属性とを含む、請求項2に記載の方法。
【請求項4】
前記SBDファイルは、ループ属性が有効にされているときに前記セッションが繰り返されることを示す前記ループ属性を含む、請求項1
から3のいずれか一項に記載の方法。
【請求項5】
前記SBDファイルは、前記1つまたは複数のサブセッションのうちの1つについての識別属性を含む、請求項2に記載の方法。
【請求項6】
前記第2の要求は、セグメント要求、メディアプレゼンテーション記述更新要求、および拡張可能マークアップ言語(XML)リンク付け言語(XLINK)要求のうちの1つである、請求項1
から5のいずれか一項に記載の方法。
【請求項7】
前記第2の要求が前記セグメント要求であるとき、前記複数のキーと値のペアのうちの前記1つに関連付けられた前記値は、メディアタイプおよびアダプテーションセットのうちの1つを示す、請求項6に記載の方法。
【請求項8】
前記送信するステップは、
前記第1の要求のタイミングおよび前記第1の要求の順序のうちの1つに従って、前記複数のキーと値のペアのうちの前記1つに関連付けられた前記値を送信するステップを含む、請求項1
から7のいずれか一項に記載の方法。
【請求項9】
前記複数のキーと値のペアのうちの前記1つに関連付けられた前記値が、前記第2の要求のユニフォーム・リソース・ロケータ(URL)のクエリおよび前記第2の要求のハイパーテキスト転送プロトコル(HTTP)ヘッダのうちの1つに含まれる、請求項1
から8のいずれか一項に記載の方法。
【請求項10】
前記SBDファイルは、前記SBDファイルのタイプが静的タイプおよび動的タイプのうちの1つであることを示すタイプ属性を含む、請求項1
から9のいずれか一項に記載の方法。
【請求項11】
請求項1から10のいずれか一項に記載の方法を実行するように構成された装
置。
【請求項12】
コンピュータに
請求項1から10のいずれか一項に記載の方法を実行させるプログラム。
【国際調査報告】