(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-05-20
(54)【発明の名称】HTTP上の動的アダプティブストリーミングのための方法、装置及びコンピュータプログラム
(51)【国際特許分類】
H04L 67/02 20220101AFI20220513BHJP
H04N 21/437 20110101ALI20220513BHJP
H04N 21/84 20110101ALI20220513BHJP
【FI】
H04L67/02
H04N21/437
H04N21/84
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021559108
(86)(22)【出願日】2020-10-15
(85)【翻訳文提出日】2021-10-01
(86)【国際出願番号】 US2020055769
(87)【国際公開番号】W WO2021141650
(87)【国際公開日】2021-07-15
(32)【優先日】2020-01-06
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-10-06
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ソダガァ,イラジ
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA06
5C164MB13P
5C164UB11S
5C164UB21S
5C164UB26P
(57)【要約】
本開示の態様は、メディアデータを受信するための方法、装置及び非一時的なコンピュータ読み取り可能記憶媒体を提供する。1つの装置は、エッセンシャルプロパティ記述子がセッションベース記述(SBD)ファイルについてのユニフォームリソースロケータ(URL)情報を示す属性を含むメディアプレゼンテーション記述(MPD)ファイルを受信する処理回路を含む。SBDファイルは、1つ以上のグループのキー・値のペアを含む。処理回路は、URL情報に基づいてSBDファイルを受信する。処理回路は、SBDファイルに基づいて要求をサーバに送信する。
【特許請求の範囲】
【請求項1】
メディアデータを受信する装置が実行する方法であって、
エッセンシャルプロパティ記述子がセッションベース記述(SBD)ファイルについてのユニフォームリソースロケータ(URL)情報を示す属性を含むメディアプレゼンテーション記述(MPD)ファイルを受信するステップであって、前記SBDファイルは、1つ以上のグループのキー・値のペアを含む、ステップと、
前記URL情報に基づいて前記SBDファイルを受信するステップと、
前記SBDファイルに基づいて要求をサーバに送信するステップと
を含む方法。
【請求項2】
前記エッセンシャルプロパティ記述子は、MPDレベル、期間レベル、アダプテーションセットレベル及びリプレゼンテーションレベルのうち1つである、請求項1に記載の方法。
【請求項3】
前記エッセンシャルプロパティ記述子に含まれるキー・値の要素及び前記SBDファイルに基づいて、前記要求のクエリを構築するステップを更に含む、請求項1又は2に記載の方法。
【請求項4】
前記構築するステップは、前記エッセンシャルプロパティ記述子に含まれる識別情報(ID)属性の値が前記SBDファイル内の前記1つ以上のグループのキー・値のペアのうち1つに含まれるID属性の値に対応するか否かを決定するステップを含む、請求項3に記載の方法。
【請求項5】
前記キー・値の要素に含まれるキーリスト属性における所望のキーが、前記SBDファイル内の前記1つ以上のグループのキー・値のペアのうち前記1つに含まれるキーリスト属性におけるキーに対応するか否かを、前記SBDファイル内の前記1つ以上のグループのキー・値のペアのうち前記1つに含まれる前記ID属性の前記値に対応すると決定された、前記エッセンシャルプロパティ記述子に含まれる前記ID属性の前記値に基づいて決定するステップと、
前記SBDファイル内の前記1つ以上のグループのキー・値のペアのうち前記1つに含まれる前記キーリスト属性における前記キーに対応すると決定された、前記キー・値の要素に含まれる前記キーリスト属性における前記所望のキーに基づいて前記SBDファイル内の前記1つ以上のグループのキー・値のペアのうち前記1つに含まれる前記キーリスト属性における前記キーに関連する値に基づいて、前記要求の前記クエリを構築するステップと、
前記SBDファイル内の前記1つ以上のグループのキー・値のペアのうち前記1つに含まれる前記キーリスト属性におけるいずれのキーにも対応しないと決定された、前記キー・値の要素内の前記キーリスト属性における前記所望のキーに基づいて前記キー・値の要素内の前記キーリスト属性における前記所望のキーに関連するデフォルト値に基づいて、前記要求の前記クエリを構築するステップと
を更に含む、請求項4に記載の方法。
【請求項6】
前記キー・値の要素に含まれるキーリスト属性が少なくとも1つの所望のキーを含むか否かを、前記SBDファイル内の前記1つ以上のグループのキー・値のペアに含まれる前記ID属性のいずれの値にも対応しないと決定された、前記キー・値の要素に含まれる前記ID属性の前記値に基づいて決定するステップと、
前記少なくとも1つの所望のキーを含むと決定された前記キー・値の要素に含まれる前記キーリスト属性に基づいて前記キー・値の要素内の前記キーリスト属性における前記少なくとも1つの所望のキーのそれぞれに関連するデフォルト値に基づいて、前記要求の前記クエリを構築するステップと
を更に含む、請求項4に記載の方法。
【請求項7】
前記SBDファイルの多目的インターネットメール拡張(MIME)タイプは伝達されない、請求項1乃至6のうちいずれか1項に記載の方法。
【請求項8】
処理回路を含む装置であって、
前記処理回路は、
請求項1乃至7のうちいずれか1項に記載の方法を実行するように構成される、装置。
【請求項9】
メディアデータを受信するためにコンピュータによって実行されると、前記コンピュータに、
請求項1乃至7のうちいずれか1項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
本出願は、2020年10月6日に出願された米国特許第17/063,995号「METHODS AND APPARATUSES FOR DYNAMIC ADAPTIVE STREAMING OVER HTTP」に対する優先権の利益を主張し、当該出願は、2020年1月6日に出願された米国仮特許出願第62/957,666号「SIMPLIFIED MULTI-LEVEL SBD AND QUERY SIGNALING IN MPD」に対する優先権の利益を主張する。これらの先の出願の全開示を参照により援用する。
【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)ファイルのようなサイドファイルを取得してもよく、これは、クライアントがセッションに固有のMPDを作成するための命令を提供する。
【発明の概要】
【0005】
本開示の態様は、装置を提供する。1つの装置は、エッセンシャルプロパティ記述子がセッションベース記述(SBD)ファイルについてのユニフォームリソースロケータ(URL, uniform resource locator)情報を示す属性を含むメディアプレゼンテーション記述(MPD)ファイルを受信する処理回路を含む。SBDファイルは、1つ以上のグループのキー・値のペアを含む。処理回路は、URL情報に基づいてSBDファイルを受信する。処理回路は、SBDファイルに基づいて要求をサーバに送信する。
【0006】
一実施形態では、エッセンシャルプロパティ記述子は、MPDレベル、期間レベル、アダプテーションセットレベル及びリプレゼンテーションレベルのうち1つである。
【0007】
一実施形態では、要求のクエリは、エッセンシャルプロパティ記述子に含まれるキー・値の要素及びSBDファイルに基づいて構築される。
【0008】
一実施形態では、エッセンシャルプロパティ記述子に含まれる識別情報(ID, identification)属性の値がSBDファイル内の1つ以上のグループのキー・値のペアのうち1つに含まれるID属性の値に対応するか否かが決定される。
【0009】
一実施形態では、キー・値の要素に含まれるキーリスト属性における所望のキーが、SBDファイル内の1つ以上のグループのキー・値のペアのうち1つに含まれるキーリスト属性におけるキーに対応するか否かは、SBDファイル内の1つ以上のグループのキー・値のペアのうち1つに含まれるID属性の値に対応すると決定された、エッセンシャルプロパティ記述子に含まれるID属性の値に基づいて決定される。
【0010】
一実施形態では、要求のクエリは、SBDファイル内の1つ以上のグループのキー・値のペアのうち1つに含まれるキーリスト属性におけるキーに対応すると決定された、キー・値の要素に含まれるキーリスト属性における所望のキーに基づいてSBDファイル内の1つ以上のグループのキー・値のペアのうち1つに含まれるキーリスト属性におけるキーに関連する値に基づいて構築される。
【0011】
一実施形態では、要求のクエリは、SBDファイル内の1つ以上のグループのキー・値のペアのうち1つに含まれるキーリスト属性におけるいずれのキーにも対応しないと決定された、キー・値の要素内のキーリスト属性における所望のキーに基づいてキー・値の要素内のキーリスト属性における所望のキーに関連するデフォルト値に基づいて構築される。
【0012】
一実施形態では、キー・値の要素に含まれるキーリスト属性が少なくとも1つの所望のキーを含むか否かは、SBDファイル内の1つ以上のグループのキー・値のペアに含まれるID属性のいずれの値にも対応しないと決定された、キー・値の要素に含まれるID属性の値に基づいて決定される。
【0013】
一実施形態では、要求のクエリは、少なくとも1つの所望のキーを含むと決定されたキー・値の要素に含まれるキーリスト属性に基づいてキー・値の要素内のキーリスト属性における少なくとも1つの所望のキーのそれぞれに関連するデフォルト値に基づいて構築される。
【0014】
一実施形態では、SBDファイルの多目的インターネットメール拡張(MIME, multipurpose Internet mail extensions)タイプは伝達されない。
【0015】
本開示の態様は、メディアデータを受信するための方法を提供する。1つの方法では、MPDファイルが受信され、エッセンシャルプロパティ記述子は、SBDファイルについてのURL情報を示す属性を含む。SBDファイルは、1つ以上のグループのキー・値のペアを含む。SBDファイルは、URL情報に基づいて受信される。要求は、SBDファイルに基づいてサーバに送信される。
【0016】
また、本開示の態様は、メディアデータを受信するためにコンピュータによって実行されると、コンピュータにメディアデータを受信するための方法のうちいずれか1つ又は組み合わせを実行させる命令を記憶した非一時的なコンピュータ読み取り可能媒体を提供する。
【図面の簡単な説明】
【0017】
開示の対象物の更なる特徴、性質及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになる。
【
図1】本開示の一実施形態による、例示的なハイパーテキスト転送プロトコル上の動的アダプティブストリーミング(DASH)システムを示す。
【
図2】本開示の一実施形態による他の例示的なDASHシステムを示す。
【
図3】いくつかの実施形態によるプロセスの例を概説するフローチャートを示す。
【
図4】いくつかの実施形態によるプロセスの例を概説する他のフローチャートを示す。
【
図5】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0018】
[I.ハイパーテキスト転送プロトコル上の動的アダプティブストリーミング(DASH)及びメディアプレゼンテーション記述(MPD)]
ハイパーテキスト転送プロトコル上の動的アダプティブストリーミング(DASH)は、ウェブサーバ、コンテンツ配信ネットワーク(CDN, content delivery networks)、様々なプロキシ及びキャッシュ等のようなハイパーテキスト転送プロトコル(HTTP)インフラストラクチャを使用してメディアコンテンツのストリーミングを可能にするアダプティブビットレートストリーミング技術である。DASHは、DASHサーバからDASHクライアントへのオンデマンドストリーミング及びライブストリーミングの双方をサポートし、DASHクライアントがストリーミングセッションを制御することを可能にする。それにより、DASHサーバは、大規模配置において、ストリーム適応管理の更なる負荷に対処する必要はない。また、DASHは、DASHクライアントが様々なDASHサーバからストリーミングを選択することを可能にし、したがって、DASHクライアントのためのネットワークの負荷バランシングを更に達成する。DASHは、例えば、ネットワーク条件に適応するためにビットレートを変化させることによって、異なるメディアトラックの間の動的切り替えを提供する。
【0019】
DASHでは、メディアプレゼンテーション記述(MPD)ファイルは、DASHクライアントがDASHサーバからメディアセグメントをダウンロードすることによりメディアコンテンツを適応的にストリーミングするための情報を提供する。MPDファイルは、セッション開始の遅延を低減するために、分割されて部分的に配信されてもよい。また、MPDファイルは、ストリーミングセッション中に更新されてもよい。いくつかの例では、MPDファイルは、コンテンツアクセシビリティ機能、レーティング及びカメラビューの表現をサポートする。また、DASHは、マルチビュー及びスケーラブル符号化コンテンツの配信をサポートする。
【0020】
MPDファイルは、1つ以上の期間のシーケンスを含んでもよい。1つ以上の期間のそれぞれは、MPDファイルの期間要素によって定義されてもよい。MPDファイルは、MPDのavailableStartTime属性と各期間の開始属性を含んでもよい。動的タイプ(例えば、ライブサービスに使用される)を有するメディアプレゼンテーションについては、期間の開始属性とMPD属性のavailableStartTimeとの和及びメディアセグメントの持続時間は、協定世界時(UTC, coordinated universal time)フォーマットでの期間の利用可能時間、特に、対応する期間における各リプレゼンテーションの最初のメディアセグメントを示してもよい。静的タイプ(例えば、オンデマンドサービスに使用される)のメディアプレゼンテーションについては、最初の期間の開始属性は0でもよい。いずれかの他の期間については、開始属性は、最初の期間の開始時間に対する対応する期間の開始時間の時間オフセットを指定してもよい。各期間は、次の期間の開始まで、或いは、最後の期間の場合にはメディアプレゼンテーションの終了まで延長してもよい。期間開始時間は正確であり、全ての過去の期間のメディアを再生した結果として生じる実際のタイミングを反映してもよい。
【0021】
各期間は、1つ以上のアダプテーションセット(adaptation set)を含んでもよく、アダプテーションセットのそれぞれは、同じメディアコンテンツについての1つ以上のリプレゼンテーション(representation)を含んでもよい。リプレゼンテーションは、オーディオ又はビデオデータの複数の代替符号化バージョンのうち1つでもよい。リプレゼンテーションは、符号化タイプによって、例えば、ビットレート、解像度、及び/又はビデオデータ及びビットレートのコーデック、及び/又はオーディオデータのコーデックによって異なってもよい。リプレゼンテーションという用語は、マルチメディアコンテンツの特定の期間に対応し且つ特定の方法で符号化された符号化オーディオ又はビデオデータのセクションを示すために使用されてもよい。
【0022】
特定の期間のアダプテーションセットは、MPDファイル内のグループ属性によって示されるグループに割り当てられてもよい。同じグループ内のアダプテーションセットは、一般的に互いに代替的であると考えられる。例えば、特定の期間のビデオデータの各アダプテーションセットは同じグループに割り当てられてもよく、それにより、いずれかのアダプテーションセットが、対応する期間のマルチメディアコンテンツのビデオデータを表示するように復号するために選択されてもよい。いくつかの例では、1つの期間内のメディアコンテンツは、存在する場合には、グループ0からの1つのアダプテーションセットによって表現されてもよく、或いは、それぞれのゼロでないグループからの多くても1つのアダプテーションセットの組み合わせによって表現されてもよい。期間の各リプレゼンテーションについてのタイミングデータは、期間の開始時間に対して表されてもよい。
【0023】
リプレゼンテーションは、1つ以上のセグメントを含んでもよい。各リプレゼンテーションは、初期化セグメントを含んでもよく、或いは、リプレゼンテーションの各セグメントは、自己初期化してもよい。存在する場合、初期化セグメントは、リプレゼンテーションにアクセスするための初期化情報を含んでもよい。いくつかの場合、初期化セグメントはメディアデータを含まない。セグメントは、ユニフォームリソースロケータ(URL)、ユニフォームリソース名(URN, uniform resource name)又はユニフォームリソース識別子(URI, uniform resource identifier)のような識別子によって一意に参照されてもよい。MPDファイルは各セグメントについて識別子を提供してもよい。いくつかの例では、MPDファイルは、範囲属性の形式でバイト範囲を提供してもよく、範囲属性は、URL、URN又はURIによってアクセス可能なファイル内のセグメントのデータに対応してもよい。
【0024】
また、各リプレゼンテーションは、1つ以上のメディアコンポーネントを含んでもよく、各メディアコンポーネントは、オーディオ、ビデオ又は(例えば、クローズドキャプションのための)タイミング付きテキストのような、1つの個々のメディアタイプの符号化バージョンに対応してもよい。メディアコンポーネントは、1つのリプレゼンテーション内の連続したメディアセグメントの境界を横切って時間的に連続でもよい。
【0025】
いくつかの実施形態では、DASHクライアントは、DASHサーバからMPDファイルにアクセスしてダウンロードしてもよい。すなわち、DASHクライアントは、ライブセッションを開始する際に使用するMPDファイルを取得してもよい。MPDファイルに基づいて、選択された各リプレゼンテーションについて、DASHクライアントは、何がサーバ上で利用可能な最新セグメントであるかの決定、次のセグメント及び場合によっては将来のセグメントのセグメント利用可能開始時間の決定、いつセグメントの再生を開始するか及びセグメント内のどのタイムラインから開始するかの決定、並びにいつ新たなMPDファイルを取得/フェッチするかの決定を含む、いくつかの決定を行ってもよい。サービスが再生されると、クライアントは、ライブサービスと自身の再生との間のドリフトを追跡してもよく、これは検出されて補償される必要がある。
【0026】
[II.セッションベースDASH動作及びセッションベース記述]
MPDファイルは、全てのDASHクライアントにとって包括的になり得る点に留意する。DASHクライアントのセッションに固有のMPDファイルを作成するために、動画専門家集団(MPEG)は、セッションベースDASH動作を提供する。セッションベースDASH動作では、DASHクライアントは、セッションベース記述(SBD)ファイルのようなサイドファイルを受信してもよく、サイドファイルは、DASHクライアントがセッション毎、場合によってはクライアント毎にMPDファイルをカスタマイズするための命令を提供する。
【0027】
図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ファイルを受信してもよい。
【0028】
複数のDASHサーバがMPDファイル及びメディアセグメントを送信してもよいので、MPDファイル及びメディアセグメントは、異なるDASHサーバからDASHクライアント(102)に送信されてもよい点に留意する。さらに、DASHクライアント(102)から送信された要求を受信したDASHサーバは、メディアセグメントを送信するDASHサーバとは異なってもよい。
【0029】
本開示の態様によれば、SBDファイルは、更なるメタデータと共に、複数の時間範囲及び対応するキー・値のペア(又は名前・値のペア)を含んでもよい。SBDファイルは、例えば、URLによってMPDファイル内で参照されてもよい。SBDファイルは、DASHクライアント(102)によって受信されたMPDファイルを、DASHクライアント(102)のセッションに固有であるようにカスタマイズするために使用されてもよい。例えば、SBDファイルは、セッション毎に固有のMPDを生成することなく、セッション固有の要素をセグメントURLに追加することを可能にすることができる。
【0030】
図2は、本開示の一実施形態による、他の例示的なセッションベースDASHシステム(200)を示す。セッションベースDASHシステム(200)では、マルチメディアコンテンツは、オーディオソース(例えば、マイクロフォン)及びビデオソース(例えば、ビデオカメラ)を含んでもよいコンテンツ生成デバイス(201)(例えば、スマートフォン)によって準備されて生成される。マルチメディアコンテンツは、コンテンツ生成デバイス(201)によって記憶されてもよく、或いは、様々なマルチメディアコンテンツを記憶できるコンテンツサーバ(202)に送信されてもよい。コンテンツサーバ(202)は、マルチメディアコンテンツの1つ以上のメディアセグメントについて、DASHアクセスクライアント(203)のようなクライアントデバイスから要求を受信してもよい。マルチメディアコンテンツは、MPDファイルによって記述され、これは、コンテンツサーバ(202)によって記憶されて更新され、メディアセグメントを取得するためにDASHアクセスクライアント(203)を含むクライアントデバイスによってアクセスされてもよい。
【0031】
セッション固有のメディアセグメントを取得するために、DASHアクセスクライアント(203)は、SBDクライアント(204)によって受信され且つ現在のセッションについての複数の時間範囲及び対応するキー・値のペアを含むSBDファイルにアクセスするための要求を、SBDクライアント(204)(例えば、セッションクライアント)に送信してもよい。例えば、DASHアクセスクライアント(203)は、キー名及び時間範囲をSBDクライアント(204)に送信してもよく、次いで、SBDクライアント(204)は、キー名及び時間範囲を解析し、キー名及び時間範囲に対応する値をDASHアクセスクライアント(203)に返信する。DASHアクセスクライアント(203)は、セグメント要求がHTTP GET又は部分GET要求である場合、セッション固有のメディアセグメントを要求するために、その値をコンテンツサーバ(202)に送信され得るセグメントURLのクエリに含めてもよい。
【0032】
SBDクライアント(204)は、セッションコントローラ(205)及びセッションコントローラ(206)のような異なるセッションコントローラから複数のSBDファイルを受信してもよい点に留意する。
【0033】
本開示の態様によれば、コンテンツサーバ(202)(例えば、DASHサーバ)の機能の一部又は全部は、ルータ、ブリッジ、プロキシデバイス、スイッチ又は他のデバイスのような、コンテンツ配信ネットワーク(CDN)の1つ以上のデバイスに実装されてもよい。コンテンツサーバ(202)は、クライアントデバイス(例えば、DASHアクセスクライアント(203))からネットワーク要求を受信するように構成された要求処理ユニットを含んでもよい。例えば、要求処理ユニットは、HTTP GET又は部分GET要求を受信し、要求に応じてマルチメディアコンテンツのデータを提供するように構成されてもよい。要求はセグメントのURLを使用してセグメントを指定してもよい。いくつかの例では、要求はセグメントの1つ以上のバイト範囲を指定してもよく、したがって、部分GET要求を含む。要求処理ユニットは、セグメントのヘッダデータを提供するためのHTTP HEAD要求を提供するように構成されてもよい。
【0034】
いくつかの実施形態では、コンテンツ生成デバイス(201)及びコンテンツサーバ(202)は、無線ネットワーク又は有線ネットワークによって結合されてもよく、或いは、直接通信可能に結合されてもよい。
【0035】
いくつかの実施形態では、コンテンツ生成デバイス(201)及びコンテンツサーバ(202)は、同じデバイスに含まれてもよい。
【0036】
いくつかの実施形態では、コンテンツサーバ(202)及びセッションコントローラ(205)~(206)は、同じデバイスに含まれてもよい。
【0037】
いくつかの実施形態では、コンテンツサーバ(202)及びDASHアクセスクライアント(203)は、無線ネットワーク又は有線ネットワークによって結合されてもよい。
【0038】
いくつかの実施形態では、SBDクライアント(204)及びセッションコントローラ(205)~(206)は、無線ネットワーク又は有線ネットワークによって結合されてもよく、或いは、直接通信可能に結合されてもよい。
【0039】
いくつかの実施形態では、DASHアクセスクライアント(203)及びSBDクライアント(204)は、同じデバイスに含まれてもよい。
【0040】
[III.SBDの伝達とクエリの構築]
いくつかの関連する例では、エッセンシャルプロパティ記述子のようなMPDファイル内の特定の記述子は、MPDレベルに制限される。さらに、DASHサーバ(101)又は(202)のようなDASHサーバに送信される要求のクエリの構成は複雑すぎる可能性がある。1つ以上の所望のキー・値のペアと、SBDファイルが受信できるSBD URLアドレスとを伝達するために、エッセンシャルプロパティ記述子の新たな要素が使用されてもよい。
【0041】
本開示は、トップレベル記述子内の属性を使用して複数レベルでトップレベル記述子の使用を可能にすることにより、SBD URLアドレスの伝達を簡略化するための方法を提示する。例えば、同じトップレベル記述子は、MPDレベル、期間レベル、アダプテーションセットレベル及びリプレゼンテーションレベルのうち1つ以上で使用するのを可能にされてもよい。SBD URLアドレスは、例えば、エッセンシャルプロパティ記述子の値属性を使用することにより、トップレベル記述子の属性で明示的に伝達されてもよい。さらに、要求のクエリを構築するための所望のキーは、トップレベル記述子の子要素で伝達されてもよい。トップレベル記述子の子要素は、所望のキーに対応するデフォルト値も含んでもよい。所望のキーがSBDファイルに見つかった場合、SBDファイル内の所望のキーに対応する値は、要求のクエリを構築するために使用されてもよい。そうでなく、キーがSBDファイルに見つからない場合、トップレベル記述子の子要素内のデフォルト値が、要求のクエリを構成するために使用されてもよい。
【0042】
本開示の態様によれば、トップレベル記述子はエッセンシャルプロパティディ記述子でもよく、SBD URLアドレスを伝達するために使用される属性は、エッセンシャルプロパティ記述子の値属性でもよい。トップレベル記述子の子要素は、エッセンシャルプロパティ記述子のキー・値の要素でもよい。キー・値の要素は、1つ以上の所望のキーを示すキーリスト属性と、1つ以上の所望のキーのそれぞれについてのデフォルト値を示すデフォルト値属性とを含んでもよい。
【0043】
表1は、本開示の一実施形態による、セッションベースDASH動作のための例示的なトップレベル記述子を示す。
【0044】
【表1】
表1において、エッセンシャルプロパティ記述子は、スキーム属性@schemeIdUriを含み、これは、例えば"urn:mpeg:dash:sbd:2019"として設定されてもよい。SBDファイルのURLは、エッセンシャルプロパティ記述子内の値属性@valueで示される。URLアドレスに基づいて、DASHクライアント(102)又はSBDクライアント(204)のようなクライアントは、SBDファイルを受信してもよい。さらに、エッセンシャルプロパティ記述子は、キー・値の要素KeyValuePairを含み、これは、SBDファイル内の複数のキー・値のペアのような1つ以上のセッションベースのパラメータを取得するために使用されてもよい。例えば、キー・値の要素は、要求のクエリを構築するための1つ以上のキーを示すキーリスト属性を含んでもよい。1つ以上のキーのそれぞれについて、キー・値の要素は、それぞれのキーのデフォルト値も含んでもよい。キーリスト属性によって示されるキーがSBDファイルに見つかった場合、SBDファイル内のキーに関連する値が、要求のクエリを構築するために使用されてもよい。そうでない場合、キー・値の要素内のキーに関連するデフォルト値が、要求のクエリを構築するために使用されてもよい。
【0045】
表2は、本開示の一実施形態による、セッションベースDASH動作のための例示的なキー・値の要素を示す。
【0046】
【表2】
表2では、キー・値の要素は、要求のクエリにおいて同じ時間範囲(例えば、同じ(サブ)セグメント)に適用する複数のパラメータに関する情報を提供するために使用される。キー・値の要素は、識別情報(ID)属性@idと、キーリスト属性@keylistと、デフォルト値属性@defaultとを含む。キーリスト属性は、1つ以上の所望のキーを示してもよく、デフォルト値属性は、1つ以上の所望のキーのそれぞれについてのデフォルト値を示してもよい。ID属性は、SBDファイル内の1つのグループのキー・値のペアを選択するために使用される。
【0047】
一実施形態では、SBDファイルは、1つ以上のグループのキー・値のペアを含んでもよく、各グループは、異なる時間間隔(例えば、タイムライン)又はセグメント順序(例えば、オーダーライン)に対応し、それぞれのグループのID属性によって識別される。したがって、キー・値の要素内のID属性の値がSBDファイル内の1つのグループのキー・値のペアのID属性(例えば、KeyValueTimeline@id)の値に対応する場合、当該グループのキー・値のペアは、要求のクエリを構築するために選択されてもよい。しかし、キー・値の要素内のID属性の値がSBDファイル内の1つ以上のグループのキー・値のペアのID属性の値に対応しない場合、キー・値の要素内のキーリスト属性が調べられてもよい。キー・値の要素内のキーリスト属性が1つ以上の所望のキーを示す場合、デフォルト値属性によって示される1つ以上の所望のキーのそれぞれに関連する値が、要求のクエリを構築するために使用されてもよい。キー・値の要素内のキーリスト属性が所望のキーを示さない場合、クエリは要求に追加されない。
【0048】
一実施形態では、キー・値の要素内のID属性の値が、SBDファイル内の1つのグループのキー・値のペアのID属性(例えば、KeyValueTimeline@id)の値に対応する場合、SBDファイル内の当該グループのキー・値のペアが、要求のクエリを構築するために選択される。次いで、キー・値の要素内のキーリスト属性が所望のキーを示さない場合、SBDファイル内の全体の選択されたグループのキー・値のペアが、要求のクエリを構築するために使用されてもよい。
【0049】
しかし、キー・値の要素内のキーリスト属性が1つ以上の所望のキーを示す場合、1つ以上の所望のキーのそれぞれがSBDファイル内の選択されたグループのキー・値のペアのキーリスト属性に見つかるか否かが決定されてもよい。1つ以上の所望のキーのうち1つがSBDファイル内の選択されたグループのキー・値のペアのキーリスト属性によって示されるキーに対応する場合、SBDファイル内の選択されたグループのキー・値のペアのキーリスト属性によって示されるキーに関連する値が、要求のクエリを構築するために使用されてもよい。例えば、クエリ内のキー・値のペア内のキー及び関連する値は、「=」で区切られてもよい。1つ以上の所望のキーのうち複数のキーがSBDファイル内の選択されたグループのキー・値のペアのキーリスト属性に見つかった場合、クエリ内の全ての2つの連続するキー・値のペアは、例えば、「&」で区切られてもよい。クエリ内のキー・値のペアの順序は、SBDファイルによって定義されてもよい。しかし、1つ以上の所望のキーのうち1つがSBDファイル内の選択されたグループのキー・値のペアのキーリスト属性によって示されるいずれのキーにも対応しない場合、キー・値の要素内のデフォルト値属性によって示される1つ以上の所望のキーのうち1つに関連するデフォルト値が、全ての時間範囲のセグメントのクエリを構築するために使用されてもよい。
【0050】
本開示の態様によれば、SBDファイルの多目的インターネットメール拡張(MIME)タイプは伝達されない。一実施形態では、拡張可能マークアップ言語(XML, extensible markup language)についてのtext/xml+sbd及びJavaScriptオブジェクト表記(JSON, JavaScript object notation)についてのapplication/json+sbdのように、SBDファイルのMIMEタイプが予め定義されてもよい。したがって、サーバとクライアント側アプリケーションとの双方がMIMEタイプを認識でき、MPD内のSBDファイルのMIMEタイプを伝達することは必要ない。
【0051】
本開示は、MPD内のトップレベル記述子の属性(例えば、エッセンシャルプロパティ記述子内の値属性)を使用することにより、SBDファイルのURL情報の伝達を簡略化するための方法を提示する。したがって、URL情報は、トップレベル要素で解析でき、子要素で解析される必要はなく、その結果、よりコンパクトなマニフェスト(例えば、MPD)、より高速な解析プロセス、及びDASHクライアントのためのより低いメモリ要件がもたらされる。
【0052】
さらに、トップレベル記述子の使用は複数レベルで可能になってもよい。例えば、トップレベル記述子は、MPDレベル、期間レベル、アダプテーションセットレベル及びリプレゼンテーションレベルのうち1つ以上で使用されてもよい。したがって、SBDについての他の記述子は使用されなくてもよい。例えば、補助プロパティ記述子は、期間レベルのSBDに使用されなくてもよい。
【0053】
アダプテーションレベルのような下位レベルで使用される第1のトップレベル記述子は、MPDレベルのような上位レベルで使用される第2のトップレベル記述子を上書きしてもよい点に留意する。第1のトップレベル記述子及び第2のトップレベル記述子の双方が同じ属性を有してもよいが、1つの属性について異なる値を有してもよい。
【0054】
本開示の態様によれば、クエリ構築のための所望のキーは、トップレベル記述子の子要素内で明示的に伝達されてもよく、その結果、よりコンパクトなマニフェスト、より簡単なコンテンツ作成プロセス、及びDASHクライアントのためのより低い処理複雑性がもたらされる。
【0055】
開示の態様によれば、SBDファイルのMIMEタイプは、MPDで伝達されない。SBDファイルのMIMEタイプは、単一の予め定義されたタイプになってもよく、それにより、SBDファイルの取り扱い及びファイル管理がより簡単になり、MPDがSBDファイルを認識する必要がなくなり、その結果、より簡単なマニフェスト、DASHクライアントのための一貫したファイル処理、及びDASHサーバ及びDASHクライアントの双方にとってのより容易なファイル管理及び取り扱いがもたらされる。
【0056】
[V.フローチャート]
図3は、本開示のいくつかの実施形態によるプロセス(300)を概説するフローチャートを示す。様々な実施形態では、プロセス(300)は、DASHクライアント(102)内の処理回路のような処理回路によって実行される。いくつかの実施形態では、プロセス(300)は、ソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行したとき、処理回路はプロセス(300)を実行する。プロセス(300)は(S310)で始まり、プロセス(300)は、エッセンシャルプロパティ記述子が1つ以上のグループのキー・値のペアを含むSBDファイルについてのURL情報を示す属性を含むMPDファイルを受信する。次いで、プロセス(300)はステップ(S320)に進む。
【0057】
ステップ(S320)において、プロセス(300)は、URL情報に基づいてSBDファイルを受信する。次いで、プロセス(300)はステップ(S330)に進む。
【0058】
ステップ(S330)において、プロセス(300)は、SBDファイルに基づいて要求をサーバに送信する。次いで、プロセス(300)は終了する。
【0059】
一実施形態では、エッセンシャルプロパティ記述子は、MPDレベル、期間レベル、アダプテーションセットレベル及びリプレゼンテーションレベルのうち1つである。
【0060】
一実施形態では、要求のクエリは、エッセンシャルプロパティ記述子に含まれるキー・値の要素及びSBDファイルに基づいて構築される。
【0061】
一実施形態では、エッセンシャルプロパティ記述子に含まれるID属性の値がSBDファイル内の1つ以上のグループのキー・値のペアのうち1つに含まれるID属性の値に対応するか否かが決定される。
【0062】
一実施形態では、キー・値の要素に含まれるキーリスト属性における所望のキーが、SBDファイル内の1つ以上のグループのキー・値のペアのうち1つに含まれるキーリスト属性におけるキーに対応するか否かは、SBDファイル内の1つ以上のグループのキー・値のペアのうち1つに含まれるID属性の値に対応すると決定された、エッセンシャルプロパティ記述子に含まれるID属性の値に基づいて決定される。
【0063】
一実施形態では、要求のクエリは、SBDファイル内の1つ以上のグループのキー・値のペアのうち1つに含まれるキーリスト属性におけるキーに対応すると決定された、キー・値の要素に含まれるキーリスト属性における所望のキーに基づいてSBDファイル内の1つ以上のグループのキー・値のペアのうち1つに含まれるキーリスト属性におけるキーに関連する値に基づいて構築される。
【0064】
一実施形態では、要求のクエリは、SBDファイル内の1つ以上のグループのキー・値のペアのうち1つに含まれるキーリスト属性におけるいずれのキーにも対応しないと決定された、キー・値の要素内のキーリスト属性における所望のキーに基づいてキー・値の要素内のキーリスト属性における所望のキーに関連するデフォルト値に基づいて構築される。
【0065】
一実施形態では、キー・値の要素に含まれるキーリスト属性が少なくとも1つの所望のキーを含むか否かは、SBDファイル内の1つ以上のグループのキー・値のペアに含まれるID属性のいずれの値にも対応しないと決定された、キー・値の要素に含まれるID属性の値に基づいて決定される。
【0066】
一実施形態では、要求のクエリは、少なくとも1つの所望のキーを含むと決定されたキー・値の要素に含まれるキーリスト属性に基づいてキー・値の要素内のキーリスト属性における少なくとも1つの所望のキーのそれぞれに関連するデフォルト値に基づいて構築される。
【0067】
一実施形態では、SBDファイルのMIMEタイプは伝達されない。
【0068】
図4は、本開示のいくつかの実施形態によるプロセス(400)を概説する他のフローチャートを示す。様々な実施形態では、プロセス(400)は、DASHクライアント(102)内の処理回路のような処理回路によって実行される。いくつかの実施形態では、プロセス(400)は、ソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行したとき、処理回路はプロセス(400)を実行する。プロセス(400)は(410)で始まり、プロセス(400)は、
MPDファイル(例えば、プロセス(300)におけるMPDファイル)のエッセンシャルプロパティ記述子に含まれるキー・値の要素及びSBDファイルに基づいて、要求(例えば、プロセス(300)における要求)のクエリを構築する。SBDファイルは、プロセス(300)におけるSBDファイルのように、1つ以上のグループのキー・値のペアを含む。次いで、プロセス(400)はステップ(S420)に進む。
【0069】
ステップ(S420)において、プロセス(400)は、エッセンシャルプロパティ記述子に含まれるID属性の値がSBDファイル内の1つ以上のグループのキー・値のペアのうち1つに含まれるID属性の値に対応するか否かを決定する。エッセンシャルプロパティ記述子に含まれるID属性の値がSBDファイル内の1つ以上のグループのキー・値のペアのうち1つに含まれるID属性の値に対応する場合、プロセス(400)はステップ(S430)に進む。そうでない場合、プロセス(400)はステップ(S460)に進む。
【0070】
ステップ(S430)において、プロセス(400)は、キー・値の要素に含まれるキーリスト属性における所望のキーがSBDファイル内の1つ以上のグループのキー・値のペアのうち1つに含まれるキーリスト属性におけるキーに対応するか否かを決定する。キー・値の要素に含まれるキーリスト属性における所望のキーがSBDファイル内の1つ以上のグループのキー・値のペアのうち1つに含まれるキーリスト属性におけるキーに対応する場合、プロセス(400)はステップ(S440)に進む。そうでない場合、プロセス(400)はステップ(S450)に進む。
【0071】
ステップ(S440)において、プロセス(400)は、SBDファイル内の1つ以上のグループのキー・値のペアのうち1つに含まれるキーリスト属性におけるキーに関連する値に基づいて、要求のクエリを構築する。
【0072】
ステップ(S450)において、プロセス(400)は、キー・値の要素内のキーリスト属性における所望のキーに関連するデフォルト値に基づいて、要求のクエリを構築する。
【0073】
ステップ(S460)において、プロセス(400)は、キー・値の要素に含まれるキーリスト属性が少なくとも1つの所望のキーを含むか否かを決定する。キー・値の要素に含まれるキーリスト属性が少なくとも1つの所望のキーを含む場合、プロセス(400)はステップ(S470)に進む。
【0074】
ステップ(S470)において、プロセス(400)は、キー・値の要素内のキーリスト属性における少なくとも1つの所望のキーのそれぞれに関連するデフォルト値に基づいて、要求のクエリを構築する。次いで、プロセス(400)は終了する。
【0075】
[VI.コンピュータシステム]
上記の技術は、コンピュータ読み取り可能命令を使用してコンピュータソフトウェアとして実装され、1つ以上のコンピュータ読み取り可能媒体に物理的に記憶されてもよい。
【0076】
例えば、
図5は、開示の対象物の特定の実施形態を実装するのに適したコンピュータシステム(500)を示す。
【0077】
コンピュータソフトウェアは、いずれかの適切な機械コード又はコンピュータ言語を使用して符号化されてもよく、当該機械コード又はコンピュータ言語は、命令を含むコードを生成するために、アセンブリ、コンパイル、リンク又は類似のメカニズムを受けてもよく、当該命令は、1つ以上のコンピュータ中央処理装置(CPU, central processing unit)、グラフィックス処理ユニット(GPU, Graphics Processing Unit)等によって、直接的に或いはインタープリタ、マイクロコード実行等を通じて実行されてもよい。
【0078】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットのデバイス等を含む様々なタイプのコンピュータ又はその構成要素上で実行されてもよい。
【0079】
コンピュータシステム(500)について
図5に示される構成要素は、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲又は機能に関する如何なる限定も示唆することを意図するものではない。また、構成要素の構成も、コンピュータシステム(500)の例示的な実施形態に示される構成要素のいずれか1つ又は組み合わせに関する如何なる依存性又は要件も有するものとして解釈されるべきではない。
【0080】
コンピュータシステム(500)は、特定のヒューマンインタフェース入力デバイスを含んでもよい。このようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動き等)、オーディオ入力(音声、拍手等)、視覚入力(ジェスチャ等)、嗅覚入力(図示せず)を通じて、1人以上の人間のユーザによる入力に応答してもよい。また、ヒューマンインタフェースデバイスは、オーディオ(例えば、会話、音楽、周辺音)、画像(スキャンされた画像、静止画カメラから取得された写真画像等)、ビデオ(2次元ビデオ、立体ピクチャを含む3次元ビデオ等)のような、人間による意識的入力に必ずしも直接関連しない特定のメディアをキャプチャするために使用されてもよい。
【0081】
入力ヒューマンインタフェースデバイスは、キーボード(501)、マウス(502)、トラックパッド(503)、タッチ画面(510)、データグローブ(図示せず)、ジョイスティック(505)、マイクロフォン(506)、スキャナ(507)及びカメラ(508)のうち1つ以上を含んでもよい。
【0082】
また、コンピュータシステム(500)は、特定のヒューマンインタフェース出力デバイスを含んでもよい。このようなヒューマンインタフェース出力デバイスは、例えば、触覚出力、音、光及び嗅覚/味覚を通じて、1人以上の人間のユーザの感覚を刺激してもよい。このようなヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えば、タッチ画面(510)、データグローブ(図示せず)又はジョイスティック(505)による触覚フィードバック、ただし、入力デバイスとして機能しない触覚フィードバックデバイスが存在してもよい)と、オーディオ出力デバイス(スピーカ(509)、ヘッドフォン(図示せず)等)と、視覚出力デバイス(それぞれがタッチ画面入力機能を有しても有さなくてもよく、それぞれが触覚フィードバック機能を有しても有さなくてもよく、いくつかが2次元視覚出力又は立体出力のような手段を通じた3次元以上の出力を出力可能でもよいCRT画面、LCD画面、プラズマ画面、OLED画面を含む画面(510)、仮想現実メガネ(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず))と、プリンタ(図示せず)とを含んでもよい。これらの視覚出力デバイス(画面(510)等)は、グラフィックスアダプタ(550)を通じてシステムバス(548)に接続されてもよい。
【0083】
また、コンピュータシステム(500)は、CD/DVD又は同様の媒体(521)を有するCD/DVD ROM/RW(520)を含む光媒体のような人間がアクセス可能な記憶デバイス及び関連する媒体、サムドライブ(522)、取り外し可能ハードドライブ又はソリッドステートドライブ(523)、テープ及びフロッピーディスク(図示せず)のようなレガシー磁気媒体、セキュリティドングル(図示せず)のような特殊なROM/ASIC/PLDに基づくデバイス等を含んでもよい。
【0084】
また、当業者は、ここに開示の対象物に関連して使用される用語「コンピュータ読み取り可能媒体」が伝送媒体、搬送波又は他の非一時的な信号を含まないことを理解すべきである。
【0085】
また、コンピュータシステム(500)は、1つ以上の通信ネットワーク(555)へのネットワークインタフェース(554)を含んでもよい。1つ以上の通信ネットワーク(555)は、例えば、無線、有線、光でもよい。1つ以上の通信ネットワーク(555)は、ローカル、広域、メトロポリタン、車両及び産業、リアルタイム、遅延耐性等でもよい。1つ以上の通信ネットワーク(555)の例は、イーサネット、無線LAN、セルラネットワーク(GSM、3G、4G、5G、LTE等を含む)、TV有線又は無線広域デジタルネットワーク(ケーブルTV、衛星TV、及び地上放送TVを含む)、車両及び産業(CANBusを含む)等を含む。特定のネットワークは、一般的に、特定の汎用データポート又は周辺バス(549)に取り付けられる外部ネットワークインタフェースアダプタ(例えば、コンピュータシステム(500)のUSBポート等)を必要とし、他のネットワークインタフェースアダプタは、一般的に、以下に説明するシステムバス(例えば、PCコンピュータシステムへのイーサネットインタフェース又はスマートフォンコンピュータシステムへのセルラネットワーク)に取り付けられることによって、コンピュータシステム(500)のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(500)は、他のエンティティと通信することができる。このような通信は、一方向の受信のみ(例えば、放送TV)、一方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)でもよく、或いは、例えば、ローカル又は広域デジタルネットワークを使用する他のコンピュータシステムへの双方向でもよい。特定のプロトコル及びプロトコルスタックは、上記のようなネットワーク及びネットワークインタフェースのそれぞれにおいて使用されてもよい。
【0086】
上記のヒューマンインタフェースデバイス、人間がアクセス可能な記憶デバイス及びネットワークインタフェースは、コンピュータシステム(500)のコア(540)に取り付けられてもよい。
【0087】
コア(540)は、1つ以上の中央処理装置(CPU)(541)、グラフィックス処理ユニット(GPU)(542)、フィールドプログラマブルゲートアレイ(FPGA, Field Programmable Gate Area)(543)の形式の特殊なプログラム可能処理ユニット、特定のタスク用のハードウェアアクセラレータ(544)等を含んでもよい。これらのデバイスは、読み取り専用メモリ(ROM)(545)、ランダムアクセスメモリ(546)、内部大容量記憶装置(内部のユーザアクセス不可能なハードドライブ、SSD等)(547)と共に、システムバス(548)を通じて接続されてもよい。いくつかのコンピュータシステムでは、システムバス(548)は、更なるCPU、GPU等による拡張を可能にするために、1つ以上の物理プラグの形式でアクセス可能でもよい。周辺デバイスは、コアのシステムバス(548)に直接取り付けられてもよく、或いは、周辺バス(549)を通じて取り付けられてもよい。周辺バスのアーキテクチャは、PCI、USB等を含む。
【0088】
CPU(541)、GPU(542)、FPGA(543)及びアクセラレータ(544)は特定の命令を実行してもよく、当該特定の命令は、組み合わせによって上記のコンピュータコードを構成してもよい。当該コンピュータコードは、ROM(545)又はRAM(546)に記憶されてもよい。また、一時的なデータは、RAM(546)に記憶されてもよいが、永続的なデータは、例えば、内部大容量記憶装置(547)に記憶されてもよい。1つ以上のCPU(541)、GPU(542)、大容量記憶装置(547)、ROM(545)、RAM(546)等と密接に関連してもよいキャッシュメモリを使用することによって、メモリデバイスのいずれかへの高速記憶及び検索が可能になってもよい。
【0089】
コンピュータ読み取り可能媒体は、様々なコンピュータに実装された動作を実行するためのコンピュータコードを有してもよい。媒体及びコンピュータコードは、本開示の目的のために特に設計及び構築されたものでよく、或いは、コンピュータソフトウェア分野における当業者に周知で入手可能なようなものでもよい。
【0090】
限定ではなく一例として、アーキテクチャ(500)、具体的には、コア(540)を有するコンピュータシステムは、1つ以上の有形のコンピュータ読み取り可能媒体に具現されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)の結果として機能を提供できる。このようなコンピュータ読み取り可能媒体は、コア内部の大容量記憶装置(547)又はROM(545)のような非一時的な性質のコア(540)の特定の記憶装置と同様に、上記のようなユーザがアクセス可能な大容量記憶装置に関連する媒体でもよい。本開示の様々な実施形態を実装するソフトウェアは、このようなデバイスに記憶されてコア(540)によって実行されてもよい。コンピュータ読み取り可能媒体は、特定のニーズに従って、1つ以上のメモリデバイス又はチップを含んでもよい。ソフトウェアは、コア(540)、具体的には、その中のプロセッサ(CPU、GPU、FPGA等を含む)に、RAM(546)に記憶されたデータ構造を定義し、ソフトウェアによって定義された処理に従ってこのようなデータ構造を修正することを含む、本明細書に記載の特定の処理又は特定の処理の特定の部分を実行させてもよい。さらに或いは代替として、コンピュータシステムは、回路(例えば、アクセラレータ(544))内に配線されたロジック又は他の方法で具現されたロジックの結果として、機能を提供してもよく、当該回路は、本明細書に記載の特定の処理又は特定の処理の特定の部分を実行するために、ソフトウェアの代わりに或いはソフトウェアと共に動作してもよい。ソフトウェアへの言及は、ロジックを含み、必要に応じて、その逆も可能である。コンピュータ読み取り可能媒体への言及は、必要に応じて、実行するためのソフトウェアを記憶する回路(集積回路(IC)等)、実行するためのロジックを具現する回路又はこれらの双方を含んでもよい。本開示は、ハードウェア及びソフトウェアのいずれかの適切な組み合わせを含む。
【0091】
本開示は、いくつかの例示的な実施形態を記載しているが、本開示の範囲内に入る変更、置換及び様々な代替の等価物が存在する。したがって、当業者は、本明細書に明示的に図示又は記載されていないが、本開示の原理を具現し、したがって、本開示の真意及び範囲内にある多数のシステム及び方法を考案することができることが認識される。
【国際調査報告】