【文献】
Information technology - Dynamic adaptive streaming Over HTTP (DASH) - Part 1: Media presentation description and segment formats INTERNATIONAL STANDARD ISO/IEC 23009-1 First edition,2012年 4月 1日,p.40−55,114−115
【文献】
IS_DASH Use Case: Insertion of Client-Specific Parameters in URL 3GPP TSG-SA WG4#71 S4-121332, [online],2012年10月31日,インターネット<URL:http://www.3gpp.org/ftp/tsg_sa/WG4_CODEC/TSGS4_71/Docs/S4-121332.zip><S4-121332_DASH_Validation.doc>
(58)【調査した分野】(Int.Cl.,DB名)
前記メディアコンテンツの再生中に、前記クライアント装置のネットワーク状態を監視するステップであって、前記1又は複数のクエリパラメータは、前記ネットワーク状態のうちの少なくとも1つを有する、ステップ、を更に有する請求項1に記載の方法。
前記1又は複数のセグメントは、前記1又は複数のクエリパラメータに少なくとも部分的に基づき前記ストリーミングサーバにより決定され、前記ネットワーク状態のうちの1つは、前記メディアコンテンツの再生中に前記クライアント装置に利用可能な帯域幅であり、前記帯域幅は前記の挿入されたクエリパラメータのうちの1つとして指定される、請求項2に記載の方法。
前記1又は複数のクエリパラメータは、前記クライアント装置により提供される認証コードを有し、前記1又は複数のセグメントを受信するステップは、前記クライアント装置の識別情報の検証により生じる、請求項1に記載の方法。
前記1又は複数のクエリパラメータは、前記クライアント装置がある長さの強制展開コンテンツを再生し終わったことを示す証拠を有し、前記1又は複数のセグメントを受信するステップは、前記ストリーミングサーバによる前記証拠の検証によってのみ生じる、請求項1に記載の方法。
前記1又は複数のクエリパラメータは、関心領域(ROI)及び前記クライアント装置により提供される視角のうちの少なくとも1つを有し、前記1又は複数のセグメントは、前記ROI及び前記視角のうちの少なくとも1つにより指定されるビデオ信号を描写する、請求項1に記載の方法。
前記ネットワーク状態のうちの1つは、前記メディアコンテンツの再生中に前記装置に利用可能な帯域幅であり、前記帯域幅は、前記クエリパラメータのうちの1つとして前記URLに挿入される、請求項8に記載の装置。
前記1又は複数のクエリパラメータは、前記プロセッサによりアクセス可能な認証コードを有し、前記1又は複数のセグメントを受信するステップは、前記装置の識別情報の検証により生じる、請求項8に記載の装置。
前記1又は複数のクエリパラメータは、前記プロセッサがある長さの強制展開コンテンツを再生し終わったことを示す証拠を有し、前記1又は複数のセグメントを受信するステップは、前記ストリーミングサーバによる前記証拠の検証によってのみ生じる、請求項8に記載の装置。
前記1又は複数のクエリパラメータは、関心領域(ROI)及び前記装置を使用するユーザにより提供される視角のうちの少なくとも1つを有し、前記1又は複数のセグメントは、前記ROI及び前記視角のうちの少なくとも1つにより指定されるビデオ信号を描写する、請求項8に記載の装置。
前記要求はHTTP(Hypertext Transfer Protocol)要求であり、前記MPD及び前記セグメントは、全てDASH(Dynamic Adaptive Streaming over HTTP)に従う、請求項8に記載の装置。
前記メディアコンテンツのMPD(media presentation description)を生成するステップであって、前記MPDは、前記URLの前記クエリストリング部分に含まれるべき前記1又は複数のクエリパラメータを指定するURLテンプレートを有する、ステップと、
前記MPDは前記URLを受信するステップより前に前記ストリーミングクライアントへ前記MPDを送信するステップと、
を更に有する請求項14に記載の方法。
前記URLテンプレートは、前記1又は複数のクエリパラメータの中の1つのクエリパラメータを指定するURLパラメータ要素を有し、前記URLパラメータ要素は、前記クエリパラメータの識別表示を有する、請求項15に記載の方法。
前記URLテンプレートは、前記1又は複数のクエリパラメータの中の1つのクエリパラメータを指定するURLパラメータ要素を有し、前記URLパラメータ要素は、前記ネットワークサーバによりアクセス可能な前記クエリパラメータの固定値を指定する、請求項15に記載の方法。
前記URLテンプレートは、前記1又は複数のクエリパラメータの中の1つのクエリパラメータを指定するURLパラメータ要素を有し、前記URLパラメータ要素は名前空間を指定し、前記クエリパラメータは前記名前空間を有するエンティティからのものである、請求項15に記載の方法。
前記ストリーミングクライアントへの前記メディアコンテンツのストリーミング中に前記MPDを更新するステップであって、前記の更新されたMPDは、前記MPDを生成するときに予期されない動的なイベントを反映する、ステップと、
前記ストリーミングクライアントへ前記更新されたMPDを送信するステップと、
を有する請求項15に記載の方法。
前記1又は複数のクエリパラメータは、前記ストリーミングクライアントにより提供される認証コードを有し、前記方法は、前記1又は複数のセグメントを送信する前に、前記認証コードを用いて前記ストリーミングクライアントの識別情報を検証するステップ、を更に有する、請求項14に記載の方法。
前記1又は複数のクエリパラメータは、前記ストリーミングクライアントにより提供される展開の証拠を有し、前記方法は、前記展開の証拠を用いて前記ストリーミングクライアントが強制展開コンテンツの再生を終了したことを検証するステップ、を更に有し、前記1又は複数のセグメントを送信するステップは、前記展開の証拠の検証まで保留される、請求項14に記載の方法。
前記1又は複数のクエリパラメータは、前記セグメントを有するメディアコンテンツの再生中に前記ストリーミングクライアントに利用可能なネットワーク帯域幅を有し、前記1又は複数のセグメントを決定するステップは、前記ネットワーク帯域幅に基づき、前記1又は複数のセグメントが属する表現を選択するステップを有する、請求項14に記載の方法。
ストリーミングクライアントからURL(uniform resource locator)を受信するよう構成される受信機であって、前記URLは、パスと、前記パスに続くクエリストリングと、を有し、前記クエリストリングは、1又は複数のクエリパラメータを有し、前記1又は複数のクエリパラメータの値は動的であり、前記1又は複数のクエリパラメータの値は前記ストリーミングクライアントにより集められ提供される、受信機と、
前記受信機に結合され、前記の受信したクエリパラメータのうちの少なくとも1つに基づき、前記ストリーミングクライアントのために使用すべきメディアコンテンツの1又は複数のセグメントを決定するよう構成されるプロセッサと、
前記プロセッサに結合され、前記ストリーミングクライアントへ前記1又は複数のセグメントを送信するよう構成される送信機と、
を有する装置。
前記プロセッサは、前記メディアコンテンツのMPD(media presentation description)を生成するようさらに構成され、前記MPDは、前記URLの前記クエリストリングに含まれるべき前記1又は複数のクエリパラメータを指定するURLテンプレートを有し、前記送信機は、前記受信機が前記URLを受信する前に前記ストリーミングクライアントへ前記MPDを送信するよう更に構成される、請求項23に記載の装置。
【発明を実施するための形態】
【0014】
1又は複数の実施形態の説明的実装が以下に提供されるが、開示のシステム及び/又は方法は、現在知られているか既存かに関わらず任意の数の技術を用いて実装できることが始めに理解できる。本開示は、いかようにも、本願明細書に図示し記載する例示的設計及び実装を含む説明的実施形態、図面及び以下に記載する技術に限定されず、添付の請求の範囲の範囲内で該請求の範囲の等価範囲全てに従って変更できる。
【0015】
本開示は、URLのパス部分のパラメータを置換するのではなく、パラメータをURLのクエリストリング部分に挿入することにより、メディアセグメントURLを構築する実施形態を教示する。URLパラメータ情報は、静的及び動的URLパラメータ挿入(又は置換)の両方を可能にするために指定され得る。他の名前空間からのパラメータ、任意的及び必須パラメータ、及び/又はクエリ要求パラメータを含む様々な種類のパラメータが挿入されても良い。処理ルールは、指定されたURLパラメータ情報に基づきURLを構築するために適用されても良い。パラメータのクエリストリング部分への挿入は、例えばクライアントではなくサーバにどの表現及び/又はセグメントをメディアコンテンツストリーミングのために選択すべきかを決定させることにより、ストリーミングサーバに適応型ストリーミングを管理又は制御させることができる。SMAS(server managed adaptive streaming)アプローチは、クライアント経験の一貫性を向上するような、種々の利益をもたらすことができる。
【0016】
図1は、1又は複数のメディアストリーミングサーバ及びストリーミングクライアントを有し得るSMASシステム100の一実施形態の概略図である。一例として、
図1は、1つのストリーミングサーバ110と、1つのストリーミングクライアント装置130とを示す(より多数のサーバ及びクライアントが存在しても良いが、図示されない)。ストリーミングクライアント130は、ストリーミングサーバ110から(ダウンロード又はストリーミングにより)メディアコンテンツを得ても良い。メディアコンテンツは、ビデオ、オーディオ、テキスト又はそれらの組合せのような任意の実行可能な形式を取っても良い。メディアコンテンツは、映画、音楽、及び/又は電子出版、等のような任意の適切な種類の情報を有しても良い。ストリーミングシステム100は、DASHスキームのような任意の適切なコンテンツ配信スキーム又は方法を実装しても良い。ストリーミングクライアント130は、ユーザ装置のオペレーティングシステムに実装されるプログラム又はアプリケーションであっても良い。或いは、ストリーミングクライアント130は、ウェブプラットフォームでアクセスされるウェブクライアントであっても良い。
【0017】
ストリーミングサーバ110は、メディアコンテンツがストリーミングメディア表現ユニットにより生成され又は準備され得る、HTTPサーバのような任意の適切な種類のネットワークサーバとして実装されても良い。メディア表現ユニットは、HTTPサーバ又は他の場所に(例えば、コンテンツプロバイダに)置かれても良い。ストリーミングサーバ110は、コンテンツプロバイダの部分であっても良く、又はCDN(content distribution network)のノードであっても良い。メディアコンテンツは、コンテンツプロバイダにより生成され、次にCDNノードへ送信されても良い。ストリーミングサーバ110の中のメディアコンテンツは、MPD及び複数のセグメントを有しても良い。留意すべきことに、必要に応じて、MPD及びセグメントは、異なるサーバに格納され、異なるサーバからストリーミングクライアントへ送信されても良い。例えば、MPDは、ストリーミングサーバ110からストリーミングクライアント130へ送信されても良く、一方で、対応するセグメントは、異なるストリーミングサーバ(
図1に図示しない)からストリーミングクライアント130へ送信されても良い。
【0018】
図1に示すように、ストリーミングサーバ110は、適応論理ユニット(又はモジュール)112、要求パーサ114、配信機能116、及びメディアコンテンツ120を有する。メディアコンテンツ120は、1又は複数の期間を有し、各期間は複数の利用可能な表現を有しても良い。例えば、第1の期間で、表現122は複数のセグメントを有しても良く、別の表現124も複数のセグメントを有しても良い。第2の期間も同様であっても良い。ストリーミングシステム100の他端では、ストリーミングクライアント130は、アクセスエンジン132、監視機能ユニット134、及びメディアエンジン136を有する。
【0019】
ストリーミングシステム100の動作中、ストリーミングサーバ110は、配信機能116を用いてMPDをストリーミングクライアント130へ配信しても良い(MPDは別のサーバから配信されても良いことに留意する)。MPDは、HTTP、電子メール、thumb drive、ブロードキャスト、又は任意の他の輸送手段を用いて配信できる。MPDをパースすることにより、ストリーミングクライアント130は、番組のタイミング、メディアコンテンツの利用可能性、メディア種類、解像度、最小及び最大帯域幅、マルチメディアコンポーネントの種々の符号化代替物の存在、アクセスし易さの特徴及び必要なDRM(digital right management)、ネットワーク上の各メディアコンポーネントの位置、メディアコンテンツの他の特性のような、メディアコンテンツに関する情報を学習しても良い。MPDは、URLテンプレートを更に有しても良い。該URLテンプレートに基づき、ストリーミングクライアント130はセグメントを得るためのURLを構築できる。
【0020】
メディアコンテンツ120にアクセスするために、ストリーミングクライアント130は、メディアコンテンツ120についての1又は複数のHTTP要求140をストリーミングサーバ110へ送信しても良い。具体的には、HTTP要求140は、ストリーミングクライアント130により提供される情報(例えば、帯域幅、スクリーンサイズ、メモリサイズ等のような装置能力)を含むURLを有しても良い。一実施形態では、URLは、(URLのパス部分の代わりに)URLのクエリストリング部分に挿入されるパラメータを有する。クエリストリング部分は、1又は複数のクエリパラメータを有しても良く、複数のクエリパラメータは、記号「&」により分けられても良い。
【0021】
任意の種類の関連パラメータが、必要な又は任意であっても良い適応パラメータのように、クエリストリングに挿入されても良い。任意パラメータの場合には、例えば、サーバはクライアント能力を認識しない場合が多い。ストリーミングクライアント130がストリーミングサーバ110にビデオの解像度を示すことができないと仮定すると、ストリーミングクライアントは、スクリーンサイズ又はスクリーン解像度のような特定の情報(クエリパラメータとして含む)をクライアント装置に示しても良い。ストリーミングサーバ110は、次に、この情報を用いて、クライアント130のために表現又は関連セグメントを決定しても良い。
【0022】
ストリーミングサーバ110がHTTP要求140を受信した後に、要求パーサ114は、HTTP要求140をパースし、次に関連情報を適応論理ユニット112へ転送しても良い。適応論理ユニット112は、ストリーミングサーバがメディアストリーミングプロセスを制御又は管理することを可能にし得る(この理由のために、ストリーミングシステム100はSMASと呼ばれる)。一実施形態では、適応論理ユニット112は、HTTP要求140に含まれる情報を用いて、種々の決定を行う、例えば、どの表現及び/又はどのセグメントをストリーミングクライアント130に与えるべきかを決定し又は選択する。適応論理ユニット112は、任意の適切な意志決定ロジックを用いても良い。CMAS(client managed adaptive streaming)と比べて、SMASシステム100は、決定がストリーミングサーバ110の内部の適応論理ユニット112により行われるので、ストリーミングサーバ110が自身のファイルパスをストリーミングクライアント130に知らせる又は開示する必要がないという点で有利であり得る。さらに、ストリーミングクライアント130の代わりにストリーミングサーバ110に制御を与えることは、メディアコンテンツ120を提供するときのユーザ経験の一貫性を向上できる。例えば、ストリーミングサーバ110は、同じ帯域幅で同じ品質のセグメントをクライアントに提供できる(クライアントがストリーミングの制御を有する場合、クライアントは恐らく、自身の帯域幅が不十分であっても、例えばネットワークプロバイダからより多くの帯域幅を得ようとして、依然としてより高い品質のセグメントを要求し得る)。
【0023】
どのセグメントをストリーミングクライアント130に提供すべきかを決定した後に、ストリーミングサーバ110は、配信機能116を用いて、HTTP応答142を送信することにより、ストリーミングクライアント130にセグメントを配信しても良い。MPD及びセグメントは異なる配信機能を用いて配信されても良いことに留意する。さらに、ストリーミングクライアント130は、例えばネットワーク帯域幅の使用量を最大化するために、複数のHTTPサーバからセグメントを得ても良いことに留意する。ストリーミングクライアント130の中のアクセスエンジン132は、ストリーミングクライアント130にストリーミングサービスを提供するために、セグメントを適切にレンダリングしても良い。アクセスエンジン132は、メディアセグメントを処理し、次にそれらをセグメントの再生のためにメディアエンジン136に転送しても良い。さらに、監視機能134は、ストリーミングクライアント130の状態(例えば、帯域幅、認証コード又はトークン、装置パラメータ、等)を連続的又は間欠的に監視し、この状態をアクセスエンジン132に提供しても良い。状態は、次のHTTP要求がストリーミングクライアント130の状態を反映できるように、URLのクエリパラメータとして挿入されても良い。
【0024】
ストリーミングサーバ110とストリーミングクライアント130との間のネットワーク接続は、任意の適切な種類のものであっても良い。例えば、ストリーミングサーバ110及びストリーミングクライアント130は、インターネット、モバイルネットワーク、又は私設ネットワーク(例えば、企業イントラネット)により接続されても良い。代替で、ストリーミングサーバ110及びストリーミングクライアント130は、同じホームネットワークに属し、同じWiFi(wireless fidelity)ルータに接続されても良い。
【0025】
一実施形態では、ネットワークの中の第三機関が、ストリーミング処理を向上するのを助けるためにストリーミングクライアント130に関する情報を提供しても良い。サーバ管理及びDASHに対するネットワーク支援を提供する際に、DASHメトリック、QoSパラメータ、及び再生環境記述パラメータのような様々な種類のパラメータが、クエリパラメータとして挿入され、ストリーミングサーバへ送信されても良い。例えば、AMAZONは、クライアントがプライム会員であることを示す情報を提供でき、ストリーミングサーバ(例えばAT&T)はプライム会員であることを理由により多くの帯域幅をクライアントに与えても良い。
【0026】
MPDプロバイダ、ストリーミングクライアント(例えばクライアント130)及びメディアセグメントサーバ(例えばサーバ110)を含む種々の当事者の間で通信されるパラメータの意味論的理解を保証するために、このようなパラメータは、例えばDASHにおける現在のURLテンプレート構築スキームの中のパラメータを用いて明確に定められる必要がある。パラメータの仕様の特性に依存して、それらは、例えばユーザ環境定義に関する例えばセキュリティ関連トークン又はMPEG−21 DIA(digital item adaptation)についてのSAML(security assertion markup language)のような既存の標準に由来しても良い。
【0027】
一実施形態では、DASH上のCE(core experiment)からのソリューションが有し得る種々の属性が存在する。第1に、単純な種類のパラメータだけがサポートされるのではなく、XML要素のような構造を有するパラメータもサポートされても良い。第2に、パラメータの仕様は、URL挿入又は(追加)URLクエリストリングのためにシグナリングされても良い。第3に、非DASH名前空間からのパラメータがサポートされても良い。第4に、パラメータが(デフォルトで)使用される必要があるか又は任意かを示すことが可能であっても良い。第5に、MPDの範囲内で異なる構造レベルにおいて適用するメディアセグメントのパラメータの範囲を指定することが可能であっても良い。本開示は、パラメータ化されたURLに挿入される又はURLと共にクエリストリングパラメータとして渡されるパラメータを指定する方法を教示し、本開示の実施形態は、上述の要件を満たすよう設計され得る。
【0028】
本開示は、ストリーミングクライアントに関連する種々の情報をキャプチャするために、URLパラメータ(URLParameter)として標記され得る新しい要素を導入する。要素「URLParameter」は、XMLスキームで多くの方法で定めることができる。
図2は、要素「URLParameter」のようなクエリパラメータの例示的な実装200を示す。実装200では、要素「URLParameter」は、識別情報又は識別子(id)210、値(value)220、名前空間(namespace)230、クエリストリング(queryString)属性240、及び使用要件250を含む複数の属性を有する。当業者が理解するように、本願明細書に開示の原理の範囲内で要素「URLParameter」を実現するために、他の形式又は実装方法が可能である。
【0029】
パラメータの識別情報210は、パラメータ化されたURLの部分として用いられるときに置き換えられるべきトークン$idとして用いられる必要なパラメータであり、又はパラメータがクエリストリングのために用いられ得るとき「名前(name)」(「=」の前の部分)であっても良い。この名前は、名前空間230に関してユニークであっても良い。
【0030】
値220は、パラメータの任意の知られている(固定)値をキャプチャするための任意的値であっても良い。これは、パラメータ化されたURLの部分として用いられるときトークン$idを又はクエリストリングのために用いられるとき「値(value)」(「=」の後の部分)を置換するための実際の値であっても良い。この情報が失われている場合、このパラメータ値は動的であり、URLを構築するときにストリーミングクライアントにより集められ提供される必要があり得ることを意味する。この情報部分の実際の値は、URLの部分又はクエリストリングを有するURLとして用いることができる方法で符号化される必要がある。
【0031】
名前空間230は、パラメータが由来する名前空間を有する任意のエンティティの任意的属性であっても良い。適切な名前空間(例えば、DASH又はMPEG−21 DIA(Digital Item Adaptation))が用いられても良い。省略されるとき、デフォルト名前空間は、DASHを意味すると意図され得る。
【0032】
クエリストリング属性240は、任意であっても良く、このパラメータの目的が挿入のため又は(追加)クエリストリングのためであるかを示しても良い。省略されるとき、デフォルトは、挿入に設定できる。
【0033】
使用要件250は、このパラメータが必要である(つまり必須)か任意かを示す、「必須(required)」と示される任意的属性であっても良い。挿入のためのパラメータは必要であるべきであり、一方で、任意であっても良いクエリストリングのためのパラメータは、URLに追加される必要がなくても良い。これは、このパラメータの任意の値を提供できないクライアント又はこのパラメータ無しでURLを処理できるサーバに適応する柔軟性を提供する。省略されるとき、デフォルトは、パラメータが必要である、であっても良い。
【0034】
実装200では、属性@id、@value、及び@namespaceの意味論は、当業者に直接的に理解され得る。属性@queryStringは、ブール値を取り、「偽(false)」はパラメータがURL挿入のためであることを示し、「真(true)」は追加URLクエリストリングである。省略されるとき、@queryStringのデフォルト値は「偽(false)」であり、パラメータがURL挿入のためであることを示す。属性@requiredもブ―ル値を取り、「偽(false)」はパラメータが任意的であることを示し、「真(true)」はパラメータが必要であることを示す。
【0035】
要素「URLParameter」は、任意で、MPD、期間、適応セット、及び表現レベルを含む1又は複数のレベルに置かれても良い。要素「URLParameter」は、その範囲内で全てのメディアセグメントに適用されても良い。必要な場合には、要素「URLParameter」は、その範囲内でメディアセグメントの一部(全部ではなく)に適用するよう設計されても良い。
【0036】
使用においては、ストリーミングクライアント(例えばクライアント130)は、「URLParameter」の各々について処理ルールを実装しても良い。一実施形態では、メディアセグメントURL又はURLテンプレートの各々についてその範囲内で、クライアントは、第1に、このパラメータが必須か任意かを知るために「required」を調べ、それが任意である場合には処理するかどうかを決定しても良い。第2に、クライアントがパラメータを処理すると決定した場合、クライアントは、「namespace」により提供される名前空間に従って、「value」からパラメータ値を集めても良い。この値は、名前空間からのパラメータ意味論に依存して「value」自体により又は特定の帯域外メカニズムを通じて既に与えられても良い。第3に、クライアントは、パラメータがURLに又はURLテンプレートに配置されるとき挿入又はクエリストリングのためであるかを決定するために、パラメータの「queryString」を調べても良い。第4に、目的がURL挿入である場合、クライアントは、「id」に適合するURLの中の置換を見付け、正しい$idトークンをパラメータ値で置換しても良い。第5に、目的がURLクエリストリングである場合、クライアントは、ストリング「id」「=」「value」を構築し、クエリストリングとしてURLに配置(例えば付加)しても良い。
【0037】
以下は、本願明細書で教示されるパラメータ仕様及び幾つかの使用例での該パラメータ仕様の可能な使用を説明するための幾つかの例示的な実施形態である。
図3は、表現番号(RepNumber)310、セグメント番号(SegNumber)320、及びストリーミングクライアントの帯域幅(AvailableBandwidth)330を含む種々のパラメータを有し得る例示的なURLテンプレート300を示す。URLテンプレート300を用いて、ストリーミングクライアントは、URLを構築し、次に、メディアコンテンツのセグメントを要求するために該URLをストリーミングサーバへ送信しても良い。
【0038】
パラメータの値は、RepNumber=1、SegNumber=2、AvailableBandwidth=80000であると仮定する。一実施形態では、ストリーミングクライアントは、以下のURLを構築するためにURLテンプレート300を用いても良い。
http://cdn1.example.com/video/1_2.mp4v?bw=80000 (1)
【0039】
URL(1)では、帯域幅パラメータ(bw=80000)330は、クエリパラメータとしてURLのクエリストリング部分に挿入される。クエリストリング部分は、URLのパス部分の後に続き、クエスションマーク(?)によりパスと分離される。URL(1)では、パス部分は「http://cdn1.example.com/video/1_2.mp4v」であり、クエリストリング部分は「bw=80000」である。
【0040】
図4は、種々の態様におけるURLテンプレートに類似する例示的なURLテンプレート400を示す。簡潔さのために、更なる説明は、異なる又は更に記載されるべき態様に焦点を当てる(他のテンプレートについても同様である)。URLテンプレート400は、表現番号(RepNumber)、セグメント番号(SegNumber)、及びストリーミングクライアントの帯域幅(AvailableBandwidth)を含む種々のパラメータを有する。URLテンプレート300と異なり、URLテンプレート400は、固定値を有するパラメータ410を更に有する。固定値は、ストリーミングサーバにより定められ、クライアントに提供されても良い。一例として、パラメータ410は、「速記(shorthand)」として表記され、「thisIsAReallyLongPath」の固定値を有しても良い。
【0041】
パラメータの値は、RepNumber=1、SegNumber=2、AvailableBandwidth=80000であると仮定する。一実施形態では、URLテンプレート400を用いて、ストリーミングクライアントは以下のURL(2)を構築しても良い。
http://cdn1.example.com/video/1_2_thisIsAReallyLongPath.mp4v?bw=80000 (2)
【0042】
URL(2)では、帯域幅パラメータ(bw=80000)は、クエリパラメータとしてURLのクエリストリング部分に挿入される。さらに、パラメータ410の値は、パスパラメータとしてURLのパス部分に挿入される。
【0043】
図5は、帯域幅パラメータ510がクエリ要求パラメータ(queryRequest="true"により示される)である、例示的なURLテンプレート500を示す。AvailableBandwidthを置換パラメータとして列挙する(2個のドル記号「$__$」により示される)URLテンプレート300及び400と異なり、URL500はAvailableBandwidthをクエリ要求パラメータとして使用する。
【0044】
パラメータの値は依然として、RepNumber=1、SegNumber=2、AvailableBandwidth=80000であると仮定する。一実施形態では、URLテンプレート500を用いて、ストリーミングクライアントは以下のURL(3)を構築しても良い。
http://cdn1.example.com/video/1_2.mp4v?AvailableBandwidth=80000 (3)
【0045】
URL(3)では、帯域幅パラメータ(bw=80000)は、ストリーミングクライアントにより(例えば、監視機能134を用いて)決定され、次に、クエリパラメータとしてURLのクエリストリング部分に挿入されても良い。
【0046】
説明の目的で、MPEG−21 DIAにより定められるUED(user environment description)パラメータは、一例として用いられ得る。
図6Aは、「urn:mpeg:mpeg21:2003:01-DIA-NS」と表記されるDIA名前空間の中の例示的な「AvailableBandwidth」要素600を示す。
図6Bは、値「urn:mpeg:mpeg21:2003:01-DIA-NS」を有する名前空間パラメータ612を含む例示的なURLテンプレート610を示す。
【0047】
パラメータの値は、RepNumber=1、SegNumber=2、及びAvailableBandwidth=<AvailableBandwidthmaximum="256000"average="80000"/>であると仮定する。一実施形態では、URLテンプレート610を用いて、ストリーミングクライアントは以下のURLを構築しても良い。
http://cdn1.example.com/video/1_2.mp4v?AvailableBandwidth=%3CAvailableBandwidth%20maximum%3D%22256000%22%20average%3D%2280000%22%2F%3E (4)
【0048】
URL(4)では、帯域幅パラメータは、固定値の代わりに範囲である。さらに、帯域幅パラメータの中の特殊文字は、符号化され、次に、クエリパラメータとしてURLのクエリストリングに挿入される。
【0049】
DASHについての一実施形態では、表1に列挙される置換パラメータは、URL構築段階でDASHクライアントに利用可能にできる。
[表1]
【表1】
【0050】
当業者は、表1の置換パラメータの意味を理解するだろう。特に、表1に列挙された最後の4個の置換パラメータは、本願明細書で導入される新しいパラメータであり得る。
【0051】
DASHの実施形態では、URLクエリストリング要素(UrlQueryString)は、以下の表2として設定されても良い。
[表2]
【表2】
【0052】
当業者は、表2の要素又は属性の意味を理解するだろう。一実施形態では、UrlQueryString要素は期間、適応セット、及び表現のレベルで最大でも1回現れる。
【0053】
表2のUrlQueryStringは、どのようにURLクエリストリングを構築するかを説明する。URLクエリストリングは、@useMPDUrlQueryが設定されるときMPD URL、存在するとき@QueryString属性、存在するとき@OptionalQueryString属性、又は存在するとき@xlink解像度を含む様々な場所に由来し得る。
【0054】
URLクエリストリングは、(特に@OptionalQueryStringについて)存在し利用可能な場合、@useMPDUrlQuery、@mpdQueryString、@OptionalQueryString及び@xlink:hrefから生じるクエリストリングを連結することにより構築されても良い。
【0055】
UrlQueryStringの2以上の発生がMPDの中に存在するとき、最内部の表現レベルで使用される最終的なクエリストリングは、MPD階層の中の出現の順序における発生の対応するURLクエリストリングの連結であっても良い。
【0056】
「基本的」パラメータシグナリング(@queryString=“a=X&b=Y”)が、URN(uniform resource name)依存シグナリング(@queryString=“a=$urn:XYZ&b=$urn:ABC”)と共に使用されても良い。後者の場合には、クライアントは、提供されるURNを認識でき、それらのための適切な値を計算する必要がある。このようなパラメータの提案される使用例は、GPS(global positioning system)位置、又は測定された帯域幅を含む。ここで、クライアントは、URLパラメータを通じてフィードバックを提供する必要がある。「$」記号は、計算が待ち望まれていることを知らせるために、URNスキームの前に追加される。
【0057】
種々の可能性のある使用例が適応型ストリーミングシステム(例えば、システム100)の中に存在し、本願明細書に開示の実施形態は、これらの可能性のある使用例のいずれにも適用できる。本開示は、多数の例示的な使用例を記載するが、これらの例が非限定的であることが理解されるべきである。
【0058】
図7は、MPD URLに基づくメディアセグメントURLの個人化のために用いられ得る例示的なMPD700を示す。現在のDASH仕様では、クライアント毎のメディアセグメントURLの個人化は、MPDの個人化を必要とする。これは、クライアント毎の固有のMPDの生成を意味する。
図7のこの使用例は、MPD URLに基づくメディアセグメントURLの個人化を開示する。したがって、単一のMPDで十分である。1つの目的は、MPD URLからメディアセグメントURLへのトークンの送信を可能にすることである。
【0059】
MPD700はURL http://a.com/x.mpd?token=abcdeXYZにおいて入手可能であると仮定する。UrlQueryStringの処理は、クエリストリング「token=abcdeXYZ」を生じる。次に、帯域幅=250を有するビデオ表現の第1のメディアセグメントURLは、http://a.com/250000/Seg1.mp4v?token=abcdeXYZである。
【0060】
メディアコンテンツの経過中、予期できない動的なイベント(例えば、バスケットボールの試合中の延長時間終了)が生じ得る。これらのイベント中に、広告(ad)又は他の情報が、メディアコンテンツに挿入されても良い。
図8は、パラメータのad挿入及び/又はライブ解像度のために使用され得る例示的なMPD800を示す。この使用例では、クエリパラメータは、ad挿入をトリガするために使用されても良い。adはMPDが生成されるときに分からなくても良い。したがって、これは、幾つかのパラメータのぎりぎりの解決を可能にするために提案される。ストリーミングサーバは、ストリーミングクライアントへのメディアコンテンツのストリーミング中に元のMPDを更新し、更新されたMPDをストリーミングクライアントへ送信しても良い。更新されたMPDは、元のMPDを生成するときには予想されない動的なイベントを反映する。
【0061】
したがって、ストリーミングサーバにより送信されるセグメント要求に対する応答は、ぎりぎりのMPD更新を含んでも良い。このメカニズムは、多くの場合、帯域内イベント輸送より良好であり、スケジューリングされた周期的な更新であっても良い。xlinkは要求されると解決されても良い。結果として生じるクエリストリングは、「xlinkparam=somevalue」である。次に、帯域幅=250kbpsを有するビデオ表現の第1のメディアセグメントURLは、「http://a.com/250000/Seg1.mp4v?xlinkparam=somevalue」である。
【0062】
別の可能性のある使用例は、パラメータを通じてクライアントフィードバックを可能にすることである。クエリパラメータは、サーバに測定した帯域幅、GPS位置、等のようなフィードバックを提供するための、DASHクライアントのための方法であり得る。
図9Aは、パラメータ−1を通じてクライアントフィードバックを可能にする例示的なMPD900を示す。
図9Bは、パラメータ−2を通じてクライアントフィードバックを可能にする例示的なMPD950を示す。
【0063】
図9A及び9Bの使用例は、「urn:prmDef-1」が、
図9Cに示す、WADL(Web Application Description Language)により符号化される例示的なパラメータ記述970を参照すると仮定する。さらに、
図9Aの使用例は、MPD900がURL「http://a.com/x.mpd?pd=$urn:prmDef-1」において入手可能であると仮定する。
【0064】
MPD900では、UrlQueryStringの処理は、クエリストリング「pd=$urn:prmDef-1」を生じる。クライアントは、「urn:prmDef-1」スキームを理解でき、適切な値(本例ではGPS位置)をメディアセグメントURLに挿入しても良い。これは、http://a.com/250000/Seg1.mp4v?location=areaAのようになるだろう。
【0065】
MPD950では、UrlQueryStringの処理は、クエリストリング「a=$urn:SomeStandardizedBandwidthMeasurement」を生じる。クライアントは、シグナリングされたスキームを認識でき、相応して測定された帯域幅を提供しても良い。これは、http://a.com/Seg1.mp4v?bandwidth=500000を生じる。
【0066】
別の類似の使用例は、
図9Dに示すようにMPD970により示される。MPD970では、3つのレベルにおけるUrlQueryString要素の処理は、クエリストリング「a=XYZ&b=EFG&c=RST」を生じる。次に、帯域幅=250kbpsを有するビデオ表現の第1のメディアセグメントURLは、http://a.com/250000/Seg1.mp4v?parameter1=EFG¶meter2=XYZである。
【0067】
理解されるべきことに、本願明細書に開示の実施形態が適用できる多くの他の可能性のある使用例が存在し得る。例えば、認証コード(又はセキュリティトークン)は、URLテンプレートの中でストリーミングサーバにより要求されても良い。URLテンプレートに基づき、ストリーミングクライアントは、認証コードにアクセスし、任意のセグメントを得ることが許可される前に、自身の識別情報をストリーミングサーバと共に検証しても良い。認証コードは、ストリーミングクライアント、ストリーミングサーバ、又は第三者サーバにより生成されても良く、任意の適切な形式で格納されても良い。認証コードは、クエリストリングに挿入されたクエリパラメータとして、サーバへ送信されても良い。クライアントからサーバに渡されるコード又はトークンは、良好なセッション管理を可能にできる。
【0068】
別の例示的な使用例では、ストリーミングサーバは、特定の期間の間のadのような特定のコンテンツの展開を強制しても良い。本例では、ストリーミングクライアントは、後のセグメント要求を満たす前に検証するために、サーバの又はネットワークの展開の証拠(evidence)を供給しても良い。証拠は、ストリーミングクライアントにより生成されても良く、任意の適切な形式で格納されても良い。強制される展開メカニズムは、多くの場合、例えばクライアントが信頼できないとき、純粋なCMASより良好であっても良い。例えば、クライアントがストリーミングの制御を有する場合、クライアントは、セグメントがad期間であることを検出すると、次の期間を単に要求しても良い。本願明細書に開示のパラメータ挿入メカニズムを用いて、サーバは、ad期間が展開されたことのクライアントからの証拠を求めても良い。証拠は、クエリパラメータとして与えられる。サーバは、証拠を受信するまで、主要コンテンツを保留する。
【0069】
別の例示的な使用例では、ストリーミングサーバは、フルフィールドビューの範囲内で空間的適応を満たしても良い。高解像度ビデオをストリーミングするとき、クライアントは、特定の領域/角度にズームインできる(例えば、バスケットボールの試合において特定の選手又はゴールに焦点を当てる)。本例では、関心領域(region of interest:ROI)及び/又は視角は、クライアントによりクエリパラメータとして提供されても良い。したがって、ストリーミングサーバは、ROI及び視角のうちの少なくとも1つにより指定されるビデオ信号を描写する(portrait)1又は複数のセグメントを提供しても良い。このような能力はユーザ経験を豊かにできる。
【0070】
図10は、クライアント装置(例えば、ストリーミングクライアント130)により実施され得る方法1000の一実施形態のフローチャートである。方法1000は、ステップ1010から開始し、クライアント装置はメディアコンテンツのMPDを得ても良い。MPDは、URLの構築のためのURLテンプレートを有しても良い。ステップ1020で、クライアント装置は、URLのクエリストリング部分に1又は複数のクエリパラメータを挿入しても良い。ここで、クエリストリング部分は、URLのパス部分の後に続く。一実施形態では、1又は複数のパラメータは、URLテンプレートに基づきURLのクエリストリング部分に挿入される。1又は複数のクエリパラメータは、クライアント認証コード、(OAuth(Open Standard for Authorization)、SAML(OASIS Security Assertion Markup Language SAML)、及びGAA(3GPP Generic Authentication Architecture)のような)承認トークン、クライアント装置がある長さの強制展開コンテンツを再生し終わったことを示す証拠、ROI、クライアント電力消費、又は視角、或いは取得すべきURL、これらのパラメータのうちの1又は複数の取得又は検索、又はこれらの組合せのような任意の種類の関連パラメータであっても良い。
【0071】
ステップ1030で、クライアント装置は、URLを有するメディア要求をストリーミングサーバ(例えば、ストリーミングサーバ110)へ送信しても良い。ステップ1040で、クライアント装置は、メディア要求に応答して、ストリーミングサーバからメディアコンテンツの1又は複数のセグメントを受信しても良い。具体的には、セグメントは、メディア要求に応答して及びクエリパラメータに少なくとも部分的に基づき、ストリーミングサーバにより決定されても良い。
【0072】
理解されるべきことに、方法1000は例示的な実施形態として機能するので、方法1000を変更するために代替が用いられても良く、追加ステップが必要に応じて組み込まれても良い。例えば、クライアント装置は、メディアコンテンツの再生中のネットワーク状態及び/又は装置動作状態を監視しても良く、ネットワーク状態のうちの1つは、メディアコンテンツの再生中にクライアント装置に利用可能な帯域幅であっても良い。さらに、帯域幅は、ステップ1020で挿入されるクエリパラメータのうちの1つとして指定されても良い。
【0073】
図11は、メディアコンテンツストリーミングのためのサーバとして動作するネットワークサーバ(例えば、ストリーミングサーバ110)により実施され得る方法1100の一実施形態のフローチャートである。方法110は、ステップ1110で開始し、ネットワークサーバは、メディアコンテンツのMPDを生成しても良い。ここで、MPDは、URLのクエリストリング部分に含まれるべき1又は複数のクエリパラメータを指定するURLテンプレートを有する。ステップ1120で、ネットワークサーバは、ネットワーク接続を介してネットワークサーバに結合されるストリーミングクライアントへMPDを送信しても良い。
【0074】
ステップ1130で、ネットワークサーバは、ストリーミングクライアントからURLを受信しても良い。ここで、URLは、パスと、該パスの後に続くクエリストリングとを有し、クエリストリングは、1又は複数のクエリパラメータを有する。ステップ1140で、ネットワークサーバは、受信したクエリパラメータのうちの少なくとも1つに基づき、ストリーミングクライアントのために使用すべきメディアコンテンツの1又は複数のセグメントを決定しても良い。ステップ1150で、ネットワークサーバは、1又は複数のセグメントをストリーミングクライアントへ送信しても良い。
【0075】
理解されるべきことに、方法1100は、例示的な実施形態として機能するので、必要に応じて変更されても良い。例えば、MPD及び対応するセグメントは異なるネットワークサーバにより生成され及び/又は格納されても良く、ステップ1110及び1120のような幾つかのステップは、適切な場合にはいつでもスキップされても良い。
【0076】
図12は、コンピュータシステム又はネットワーク装置1200の一実施形態の概略図である。ネットワーク装置1200は、本願明細書で開示されたネットワークサーバ、ストリーミングサーバ(例えば、ストリーミングサーバ110)、又はクライアント装置(例えば、ストリーミングクライアント130)のような任意の適切な装置として実施されても良い。ネットワーク装置1200は、メディア要求の及びセグメントようなメッセージをネットワークから受信し、処理し、送信することが可能であっても良い。ネットワーク装置1200は、MPD及び/又はセグメントを他のネットワークコンポーネントから受信するよう構成され得る受信機1212(Rx)に結合される1又は複数のイングレスポート1210を有しても良い。ネットワーク装置1200は、MPD及び/又はセグメントを他のネットワークコンポーネントへ送信するよう構成され得る送信機1232(Tx)に結合される1又は複数のイグレスポート1230を更に有しても良い。ネットワーク装置1200は、受信機1212に結合され、セグメントを処理し或いはどのネットワークコンポーネントへセグメントを送信するかを決定する、論理ユニット又はプロセッサ1220を更に有しても良い。
【0077】
プロセッサ1220は、ハードウェア又はハードウェアとソフトウェアの組合せを用いて実装されても良い。プロセッサ1220は、1又は複数の中央処理ユニット(CPU)チップ、コア(例えば、マルチコアプロセッサ)、FPGA(field-programmable gate array)、ASIC(application specific integrated circuit)、及び/又はDSP(digital signal processor)として実装されても良い。プロセッサ1220は、適応型論理ユニット112、要求パーサ114、配信機能116、アクセスエンジン132、メディアエンジン136、監視機能134、メディアプレイヤ1221のような本願明細書に記載の機能モジュール又はユニット、又は当業者に知られている任意の他の機能コンポーネント、又はこれらの任意の組合せのうちの任意のものを実装するよう構成されても良い。メディアプレイヤ1221は、プロセッサ1220で動作し復号化メディアセグメントを再生するよう構成されるアプリケーションであっても良い。
【0078】
ネットワーク装置1200は、少なくとも1つのメモリ1222を更に有しても良い。メモリ1222は、MPD1223及びセグメント1224を格納するよう構成されても良い。MPD1223及びセグメント1224は、上述のような種々の形式で格納され又はパックされても良い。例えば、MPD1223は、MPD700、800、900、950及び970のうちの任意のものであっても良い。
図12に示すように、セグメント1224及びMPDファイル1223は、別個のファイルとして格納されるが、それらは単一ファイルに格納されても良い。
【0079】
実際に、ネットワーク装置1200により処理される双方向トラフィックがあっても良く、したがって、幾つかのポートは、パケット(例えばセグメント)を受信及び送信しても良い。この意味では、イングレスポート1210及びイグレスポート1230は、同一場所に存在しても良く、又は通信機(Rx/Tx)に結合される同じポートの異なる機能と考えられても良い。プロセッサ1220、メモリ1222、受信機1212、及び送信機1232のうちの1又は複数は、実装200、方法1000、及び方法1100のような上述の方法及び実装のうちの任意のものを少なくとも部分的に実装し又はサポートするよう構成されても良い。
【0080】
実行可能命令をネットワーク装置1200にプログラミングし及び/又は読み込むことにより、プロセッサ1220及びメモリ1222のうちの少なくとも1つが変更され得る。結果として、ネットワーク装置1200は、特別な機械又は装置(例えば、本開示により教示された機能を有するネットワークルータ)に部分的に変換されても良い。実行可能命令は、メモリ1222に格納され、実行のためにプロセッサ1220に読み込まれても良い。
【0081】
電気工学及びソフトウェア工学の分野で基本的なことに、実行可能ソフトウェアをコンピュータにロードすることにより実施可能な機能は、よく知られた設計ルールによりハードウェア実装に変換できる。構想をソフトウェアとハードウェアのどちらに実装するかの決定は、通常、ソフトウェア領域からハードウェア領域への変換に関連する問題と言うより、設計の安定性及び製造すべき多数のユニットの検討次第である。通常、ハードウェア実装をやり直す(re-spinning)ことはソフトウェア設計をやり直すよりも高価なので、再び未だ頻繁に変更される設計は、ソフトウェアで実装されることが好ましい。通常、大量生産工程では、ハードウェア実装はソフトウェア実装よりも安価であり得るので、大量生産される安定した設計は、ハードウェアで、例えばASICで実装されることが好ましい。多くの場合、設計はソフトウェア形式で開発され試験され、後によく知られた設計ルールによりソフトウェア命令を配線する特定用途向け集積回路内の等価なハードウェア実装に変換される。新しいASICにより制御される機械が特定の機械又は装置であるのと同じように、プログラミングされた及び/又は実行可能命令をロードされたコンピュータは、特定の機械又は装置として考えられ得る。
【0082】
本開示の任意の処理は、プロセッサ(例えば汎用マルチコアプロセッサ)にコンピュータプログラムを実行させることにより実施されても良い。この場合、コンピュータプログラムプロダクトは、任意の種類の非一時的コンピュータ可読媒体を用いてコンピュータ又はネットワーク装置に提供され得る。コンピュータプログラムプロダクトは、コンピュータ又はネットワーク装置の中の非一時的コンピュータ可読媒体に格納されても良い。非一時的コンピュータ可読媒体は、任意の種類の有形記憶媒体を含む。非一時的コンピュータ可読媒体の例は、(フロッピーディスク、磁気テープ、ハードディスクドライブ、等のような)磁気記憶媒体、光磁気記憶媒体(例えば、磁気光ディスク)、CD−ROM(compact disc read only memory)、CD−R(compact disc recordable)、CD−R/W(compact disc rewritable)、DVD(digital versatile disc)、Blu-rayディスク(BD)、及び(PROM(programmable ROM)、消去可能PROM、フラッシュROM、及びRAM(random access memory)のような)半導体メモリを有する。コンピュータプログラムプロダクトは、任意の種類の一時的コンピュータ可読媒体を用いてコンピュータ又はネットワーク装置に提供されても良い。一時的コンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的コンピュータ可読媒体は、有線通信回線(例えば、電気配線、及び光ファイバ)又は無線通信回線を介して、プログラムをコンピュータに提供できる。
【0083】
少なくとも1つの実施形態が開示され、当業者により行われる該実施形態の及び/又は該実施形態の特徴の変形、結合及び/又は変更は、本開示の範囲内にある。実施形態の特徴の結合、統合及び/又は省略から生じる代替の実施形態も、本開示の範囲内に包含される。数値範囲又は限界が明示される場合、そのような範囲又は限界の表現は、明示した範囲又は限界に包含される大きさのような反復範囲又は限界を含む(例えば、約1から約10は2、3、4等を含み、0.10より大きいは0.11、0.12、0.13等を含む)ことが理解され得る。例えば、下限R
l及び上限R
uを有する数値範囲が議論されるときは、その範囲内に含まれる任意の数が詳細に開示される。特に、その範囲内の以下の数が詳細に開示される。R=R
l+k*(R
u-R
l)、ここで、kは1パーセント乃至100パーセントの範囲の1パーセントずつ増加する変数であり、つまりkは1パーセント、2パーセント、3パーセント、4パーセント、5パーセント、...、50パーセント、51パーセント、52パーセント、...、95パーセント、96パーセント、97パーセント、98パーセント、99パーセント、又は100パーセントである。さらに、上述のように2つのRの数により定められる数値範囲が詳細に開示される。用語「約」の使用は、特に断りのない限り、連続する数の+/−10%を意味する。請求項の要素に関する用語「任意」の使用は、該要素が必要であり又は代替であること、該要素が必要でないこと、の両方の代替が請求の範囲に含まれることを意味する。有する、含む(comprises,includes,having)のような広義の用語の使用は、〜から成る、原則的に〜から構成される、実質的に〜から成る(consisting of,consisting essentially of,comprised substantially of)のような狭義の用語の支持を提供すると理解され得る。したがって、保護範囲は、上述の説明により限定されず、添付の請求の範囲により定められ、該請求の範囲は、請求項の主題の全ての等価物を含む。ありとあらゆる請求項は、更なる開示として本願明細書に組み込まれ、請求項は本開示の実施形態である。本開示における参考文献、特に本願の優先日後の発行日を有する参照文献の議論は、それが従来技術であることを承認するものではない。本開示で引用された全ての特許、特許出願、及び刊行物の開示は、参照することにより本願明細書に組み込まれ、それらは例示、手続き又は他の詳細な補足を本開示に提供する。
【0084】
幾つかの実施形態が本開示で提供されたが、開示のシステム及び方法は、本開示の精神又は範囲から逸脱することなく、多くの他の特定の形式で実施されても良いことが理解され得る。本例は、説明として考えられるべきであり、制限であると考えられるべきではない。また、意図は、ここに与えた詳細事項に限定されない。例えば、種々の要素又は構成要素は、別のシステムに結合され又は統合されても良い。或いは、特定の特徴が省略され又は実装されなくても良い。
【0085】
さらに、種々の実施形態で分散又は別個として記載され図示された技術、システム、サブシステム、及び方法は、本開示の範囲から逸脱することなく、他のシステム、モジュール、技術又は方法に結合され又は統合されても良い。互いに結合され又は直接結合され又は通信するとして示され又は議論された他のアイテムは、電気的に、機械的に又は他の方法かに関わらず、特定のインタフェース、装置又は中間構成要素を通じて間接的に結合され又は通信しても良い。変更、置換及び代替の他の例は、当業者により解明可能であり、本開示の精神及び範囲から逸脱することなく行われ得る。