【文献】
"ETSI TS 126 247 V10.2.0 (2012-07)",[online],2012年 7月,p.18-56, 62-73,[平成28年2月9日検索], インターネット,URL,http://www.etsi.org/deliver/etsi_ts/126200_126299/126247/10.02.00_60/ts_126247v100200p.pdf
【文献】
Truong Cong Thang, et al.,"Adaptive Streaming of Audiovisual Content using MPEG DASH",IEEE Transactions on Consumer Electronics,2012年 2月,Vol.58, No.1,p.78-85
【文献】
"DASH Evaluation Experiment #2: MPD Modification, Corrections, and Extension",[online], ISO/IEC JTC1/SC29/WG11,2010年 9月,MPEG2010/M18010,[平成25年9月12日検索], インターネット,URL,http://phenix.it-sudparis.eu/jct/doc_end_user/documents/3_Guangzhou/wg11/m17984-v1-1mpeg_94_Guangzhou_2010-09-16.zip
【文献】
"ISO/IEC 14496-12:2008/FDAM 3:2011(E)",[online], 3GPP TSG-SA WG4#66,2011年11月11日,S4-110852,Section C.11,[平成27年9月7日検索], インターネット,URL,http://www.3gpp.org/ftp/tsg_sa/WG4_CODEC/TSGS4_66/Docs/S4-110852.zip
(58)【調査した分野】(Int.Cl.,DB名)
複数のメディアセグメントおよび前記複数のメディアセグメントと関連付けられた複数のメタデータセグメントを取得するための情報を含むメディアプレゼンテーション記述(media presentation description(MPD))を獲得するステップであって、前記複数のメタデータセグメントは前記複数のメディアセグメントと関連付けられた時限メタデータ情報を含む、前記MPDを獲得するステップと、
前記MPDにおいて提供された前記情報に従って前記メタデータセグメントのうちの1つまたは複数を求めるメタデータセグメント要求を送るステップと、
前記1つまたは複数のメタデータセグメントを受け取るステップと、
前記1つまたは複数のメディアセグメントの前記時限メタデータ情報に基づいて1つまたは複数のメディアセグメントを選択するステップと、
前記選択されたメディアセグメントを要求するメディアセグメント要求を送るステップと、
前記メディアセグメント要求に応答して前記選択されたメディアセグメントを受け取るステップと、
を含むメディア表現適応方法。
前記複数のメタデータセグメントの各々が、動画フラグメントボックス、1つまたは複数のトラック・フラグメント・ボックス、1つまたは複数のトラック・ラン・ボックス、および複数のサンプルを含む、請求項1に記載のメディア表現適応方法。
前記複数のメタデータセグメントの各々が、前記複数のメディアセグメントのうちの1つにおける複数のサンプルとの1対1の関連付けを有する複数のサンプルを含む、請求項1に記載のメディア表現適応方法。
前記複数のメタデータセグメントの各々が、前記複数のメディアセグメントのうちの1つにおける1つまたは複数のトラック・ラン・ボックスとの1対1の関連付けを有する1つまたは複数のトラック・ラン・ボックスを含む、請求項1に記載のメディア表現適応方法。
前記メタデータセグメントの各々が、前記複数のメディアセグメントのうちの1つにおける1つまたは複数のトラック・フラグメント・ボックスとの1対1の関連付けを有する1つまたは複数のトラック・フラグメント・ボックスを含む、請求項1に記載のメディア表現適応方法。
前記複数のメタデータセグメントの各々が、前記複数のメディアセグメントのうちの1つにおける動画フラグメントボックスとの1対1の関連付けを有する動画フラグメントボックスを含む、請求項1に記載のメディア表現適応方法。
前記複数のメタデータセグメントの各々が、前記複数のメディアセグメントのうちの1つにおける複数の動画フラグメントボックスと関連付けられた動画フラグメントボックスを含む、請求項1に記載のメディア表現適応方法。
前記1つまたは複数のメタデータセグメントの時限メタデータ情報に、前記メディアセグメントから独立してアクセスすることができる、請求項1に記載のメディア表現適応方法。
前記第1の適応セットは第1の複数の表現を含み、前記第2の適応セットは第2の複数の表現を含み、第1の表現は第2の表現の1つまたは複数にマップされる、請求項13に記載のコンピュータプログラム。
第1の適応セットからの複数のメディアセグメント、および第2の適応セットからの複数のメタデータセグメントを取得するための情報を含むメディアプレゼンテーション記述(MPD)に従ったメディア表現適応のための装置であって、前記装置は、
メモリと、
前記メモリに結合されたプロセッサと
を含み、前記メモリは、前記プロセッサによって実行されると、前記装置に、
前記MPDに従ってメタデータセグメント要求を送らせ、
前記メディアセグメントのうちの1つまたは複数と関連付けられた時限メタデータ情報を含む1つまたは複数のメタデータセグメントを受け取らせ、
メタデータ情報を用いて1つまたは複数のメディアセグメントを選択させ、
前記選択された1つまたは複数のメディアセグメントを要求するメディアセグメント要求を送らせ、
前記MPDに従った前記1つまたは複数のメディアセグメントを受け取らせる
命令を含む、装置。
前記第1の適応セットは第1の複数の表現を含み、前記第2の適応セットは第2の複数の表現を含み、第2の表現は第1の表現の1つまたは複数にマップされる、請求項18に記載の装置。
【発明を実施するための形態】
【0013】
以下に1つまたは複数の実施形態の例示的実装を示すが、開示のシステムおよび/または方法は、現在公知であるかどうか、または実在するかどうかにかかわらず、任意の数の技法を用いて実装されうることをはじめに理解すべきである。本開示は、いかなる点においても、本明細書において示し、説明する設計例および実装例を含む、以下に示す例示的実装、図面、および技法だけに限定されるべきでなく、添付の特許請求の範囲および各請求項の均等物の全範囲の範囲内で変更されうる。
【0014】
本明細書において開示するのは、動的適応型ハイパーテキスト転送プロトコル(HTTP)ストリーミング(DASH)システムにおいてメディアコンテンツのためのメタデータ情報(品質情報など)を伝達し、シグナリングするための様々な実施形態である。特に、DASHシステムにおける表現適応のためのメタデータ情報を伝達し、かつ/またはシグナリングするのに、複数の表現間の関連付けが用いられうる。複数の表現間の関連付けは、表現レベルで、かつ/または適応セットレベルで実装することができる。例えば、関連付けは、メディアコンテンツに対応する第1の表現と、メタデータ情報に対応する第2の表現との間のものとすることができる。メタデータ情報を含む適応セットを、メタデータセットと呼ぶことができる。DASHクライアントは、メタデータセットを使用して、メディアコンテンツおよび複数のメディアセグメントを含む適応セットと関連付けられたメタデータ情報を取得することにより、表現適応判断を行うことができる。
【0015】
ある実施形態においては、適応セット関連付けにより、メタデータ情報が帯域外シグナリングを用いて伝達されること、および/または外部インデックスファイルを用いたメタデータ情報の搬送と可能とすることができる。帯域外シグナリングの使用は、メタデータ情報の追加、削除、および/または変更がメディアデータに及ぼす影響を低減することができる。メタデータ情報は、ライブサービスおよび/またはオンデマンドサービスを効率よくサポートするために、セグメントレベルまたはサブセグメントレベルでシグナリングすることができる。メタデータ情報は、1つまたは複数のメディアセグメントが要求される前に、別個に取得することができる。例えば、メタデータ情報は、メディアコンテンツがストリーミングを開始する前に入手することができる。メタデータ情報は、ビットレート情報と品質情報とを相関させるための相互参照の必要を低減させることができるメディアデータのための他のアクセス情報(サブセグメントのサイズや持続期間など)と共に提供することができる。メタデータ情報を用いた適応判断により、ストリーミングされるコンテンツの品質変動を低減させることができ、体感品質を改善することができ、帯域幅をより効率よく使用することができる。メタデータ情報は、条件付で使用し、変更し、かつ/または生成することができ、メディアデータのストリーミングの動作に影響を及ぼさない。メディアプレゼンテーション記述(MPD)更新の頻度を低減させることもできる。メディアコンテンツおよびメタデータ情報は、コンテンツプレゼンテーションの異なる段階において生成することができ、かつ/または別々の人によって生成することができる。メタデータ情報を使用すれば、再生リストとテンプレートの両方においてユニフォーム・リソース・ロケータ(uniform resource locator(URL))の表示および/または生成をサポートすることができる。メタデータ情報は、MPD内のセグメントごとにシグナリングされず、そうでなければ、メタデータ情報はMPDを増大させることになりうる。メタデータ情報は、始動遅延に著しい影響を及ぼさず、ネットワークトラフィックの消費を可能な限り少なくすることができる。
【0016】
図1は、本開示の実施形態が動作しうるDASHシステム100の一実施形態の概略図である。DASHシステム100は、一般に、コンテンツソース102、HTTPサーバ104、ネットワーク106、および1つまたは複数のDASHクライアント108を含むことができる。そうした実施形態においては、HTTPサーバ104およびDASHクライアント108は、ネットワーク106を介して相互にデータ通信することができる。加えて、HTTPサーバ104は、コンテンツソース102ともデータ通信することができる。あるいは、DASHシステム100は、1つまたは複数の追加的なコンテンツソース102および/またはHTTPサーバ104をさらに含むこともできる。ネットワーク106は、有線チャネルおよび/または無線チャネルに沿ってHTTPサーバ104とDASHクライアント108との間でデータ通信を提供するように構成された任意のネットワークを含むことができる。例えば、ネットワーク106は、インターネットや移動電話ネットワークとすることができる。DASHシステム100によって実行される動作の記述は、一般に、1つまたは複数のDASHクライアント108のインスタンスに関するものである。なお、DASHという用語の使用は、本開示全体を通して、HTTPライブストリーミング(HTTP Live Streaming(HLS))、マイクロソフト・スムーズ・ストリーミング(Microsoft Smooth Streaming)、インターネット情報サービス(Internet Information Services(IIS))といった任意の適応型ストリーミングを含むことができ、3GP(third generation partnership)-DASHまたはMPEG(moving picture expert group)-DASHのみを表すものとして限定されてはならない。
【0017】
コンテンツソース102は、メディアコンテンツのプロバイダや配給元とすることができ、それらのメディアコンテンツのプロバイダや配給元は、様々なデバイス(テレビ、ノートブックコンピュータ、デスクトップコンピュータ、および/またはモバイルハンドセットなど)に適した様々な暗号化方式および/または符号化方式を用いて加入者やユーザへ様々なメディアコンテンツを配布するように構成することができる。コンテンツソース102は、複数のメディアエンコーダおよび/もしくはメディアデコーダ(コーデックなど)、メディアプレーヤ、ビデオ・フレーム・レート、空間分解能、ビットレート、ビデオフォーマット、またはこれらの組み合わせをサポートするように構成することができる。メディアコンテンツは、ソースプレゼンテーションまたはオリジナルプレゼンテーションから様々なユーザに適した様々な他の表現へ変換することができる。
【0018】
HTTPサーバ104は、任意のネットワークノード、例えば、HTTPを介して1つまたは複数のDASHクライアント108と通信するように構成されているコンピュータサーバとすることができる。HTTPサーバ104は、HTTPを介してデータを送受信するように構成されたサーバDASHモジュール(DASH module(DM))110を含むことができる。ある実施形態においては、HTTPサーバ104は、参照によりその全体が複写された場合と同様に本明細書に組み入れられる、「Information Technology-Dynamic Adaptive Streaming over HTTP (DASH)-part 1: Media Presentation Description and Segment Formats」という名称の、国際標準化機構(ISO)/国際電気標準会議(IEC)23009-1に記載されているDASH規格に従って動作するように構成することができる。HTTPサーバ104は、メディアコンテンツを(例えば、メモリもしくはキャッシュに)記憶し、かつ/またはメメディア・コンテンツ・セグメントを転送するように構成することができる。各セグメントは、複数のビットレートおよび/または表現として符号化することができる。HTTPサーバ104は、コンテンツ配信ネットワーク(content delivery network(CDN))の一部分を形成することができ、CDNは、コンテンツを配信する目的で複数のバックボーンにわたって複数のデータセンタにおいて配備されたサーバの配給システムをいう。CDNは、1つまたは複数のHTTPサーバ104を含むことができる。
図1にはHTTPサーバ104が示されているが、他のDASHサーバ、例えば、オリジンサーバ、ウェブサーバ、および/または任意の他の適切なタイプのサーバがメディアコンテンツを記憶していてもよい。
【0019】
DASHクライアント108は、任意のネットワークノード、例えば、HTTPを介してHTTPサーバ104と通信するように構成されているハードウェアデバイスとすることができる。DASHクライアント108は、ノートブックコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、移動電話、または任意の他のデバイスとすることができる。DASHクライアント108は、MPDを構文解析してメディアコンテンツに関する情報、例えば、プログラムのタイミング、メディアコンテンツの可用性、メディアのタイプ、解像度、最小帯域幅および/もしくは最大帯域幅、メディアコンポーネントの様々な符号化選択肢の有無、アクセシビリティ機能および必要なデジタル著作権管理(digital right management(DRM))、ネットワーク上の各メディアコンポーネント(オーディオ・データ・セグメントやビデオ・データ・セグメント)の位置、ならびに/またはメディアコンテンツの他の特性などを取得するように構成することができる。また、DASHクライアント108は、MPDから取得された情報に従ってメディアコンテンツの適切な符号化バージョンを選択し、HTTPサーバ104上に位置するメディアセグメントをフェッチすることによって、メディアコンテンツをストリーミングするように構成することもできる。メディアセグメントは、メディアコンテンツからのオーディオサンプルおよび/または画像サンプルを含むことができる。DASHクライアント108は、クライアントDM112、アプリケーション114、およびグラフィカル・ユーザ・インターフェース(graphical user interface(GUI))116を含むことができる。クライアントDM112は、HTTPおよびDASHプロトコル(ISO/IEC 23009-1など)を介してデータを送受信するように構成することができる。クライアントDM112は、DASHアクセスエンジン(DASH access engine(DAE))118およびメディア出力(media output(ME))120を含むことができる。DAE118は、HTTPサーバ104(サーバDM110など)から生データを受け取り、そのデータを視聴用のフォーマットへ構築するための主要コンポーネントとして構成することができる。例えば、DAE118は、MPEGコンテナフォーマットのデータをタイミングデータと共にフォーマットし、次いで、フォーマットされたデータをME120へ出力することができる。ME120は、コンテンツと関連付けられた初期設定、再生、および他の機能を果たすことができ、当該コンテンツをアプリケーション114へ出力することができる。
【0020】
アプリケーション114は、コンテンツをダウンロードし、提示するように構成されたインターフェースを備えるウェブブラウザまたは他のアプリケーションとすることができる。アプリケーション114は、DASHクライアント108と関連付けられたユーザにアプリケーション114の様々な機能が見えるように、GUI116に結合することができる。一実施形態においては、アプリケーション114は、ユーザがコンテンツを検索するための単語列を入力することができるように、検索バーを含むことができる。アプリケーション114がメディアプレーヤである場合には、アプリケーション114は、ユーザが動画を検索するための単語列を入力することができるように、検索バーを含むことができる。アプリケーション114は、検索結果のリストを提示することができ、ユーザは、検索結果の中から所望のコンテンツ(動画など)を選択することができる。選択され次第、アプリケーション114は、コンテンツをダウンロードするためのクライアントDM112への命令を送ることができる。クライアントDM112は、コンテンツをダウンロードし、アプリケーション114へ出力するためにコンテンツを処理することができる。例えば、アプリケーション114は、GUI116がコンテンツの時間的進行状況示す進行状況バーを表示するためのGUI116への命令を提供することができる。GUI116は、ユーザがアプリケーション114を操作することができるようにアプリケーション114の機能を表示するように構成された任意のGUIとすることができる。上述のように、GUI116は、ユーザがダウンロードすべきコンテンツを選択することができるように、アプリケーション114の様々な機能を表示することができる。GUI116は、次いで、ユーザから見えるようにコンテンツを表示することができる。
【0021】
図2は、
図1に示すDASHシステム100の少なくとも一部分を介してデータトラフィックを搬送し、処理するのに使用することができるネットワークエレメント200の一実施形態の概略図である。本開示において記述される機構/方法の少なくとも一部は、ネットワークエレメントにおいて実装することができる。例えば、本開示の機構/方法は、ハードウェア、ファームウェア、および/またはハードウェア上で実行するようにインストールされるソフトウェアにおいて実装することができる。ネットワークエレメント200は、ネットワーク、システム、および/またはドメインを介してデータを搬送する任意のデバイス(例えば、サーバ、クライアント、基地局、ユーザ機器、モバイル通信デバイスなど)とすることができる。さらに、ネットワーク「エレメント」、ネットワーク「ノード」、ネットワーク「デバイス」、ネットワーク「コンポーネント」、ネットワーク「モジュール」という用語、および/または類似した用語は、ネットワークデバイスを一般的に記述するのに区別なく使用することができ、本開示内で特に明記し、かつ/または求めない限り、特定の意味または特殊な意味を有するものではない。ある実施形態においては、ネットワークエレメント200は、適応セット内のメタデータ情報を伝達し、DASHを実装し、かつ/またはHTTP接続を確立し、HTTP接続を介して通信するように構成された装置とすることができる。例えば、ネットワークエレメント200は、
図1に記載されているHTTPサーバ104もしくはDASHクライアント108とすることができ、またはHTTPサーバ104もしくはDASHクライアント108に組み込むことができる。
【0022】
ネットワークエレメント200は、送受信機(Tx/Rx)220に結合された1つまたは複数の下流側ポート210を含むことができ、Tx/Rx220は、送信機、受信機、または送信機と受信機の組み合わせとすることができる。Tx/Rx220は、下流側ポート210を介して他のネットワークノードからフレームを送信し、かつ/または受信することができる。同様に、ネットワークエレメント200は、複数の上流側ポート240に結合された別のTx/Rx220も含むことができ、Tx/Rx220は、上流側ポート240を介して他のノードからフレームを送信し、かつ/または受信することができる。下流側ポート210および/または上流側ポート240は、電気的な、かつ/または光学的な送信側コンポーネントおよび/または受信側コンポーネントを含むことができる。別の実施形態においては、ネットワークエレメント200は、Tx/Rx220に結合された1つまたは複数のアンテナを含むことができる。Tx/Rx220は、1つまたは複数のアンテナを介して無線で他のネットワークエレメントからデータ(パケットなど)を送信し、かつ/または受信することができる。
【0023】
プロセッサ230は、Tx/Rx220に結合することができ、フレームを処理し、かつ/またはパケットをどのノードへ送るべきか(送信すべきか)決定するように構成することができる。一実施形態においては、プロセッサ230は、1つまたは複数のマルチコアプロセッサおよび/またはメモリモジュール250を含むことができ、メモリモジュール250は、データストア、バッファなどとして機能することができる。プロセッサ230は、汎用プロセッサとして実装することもでき、1つまたは複数の特定用途向け集積回路(application specific integrated circuits(ASICs))、フィールド・プログラマブル・ゲート・アレイ(field-programmable gate arrays(FPGAs))、および/またはデジタル信号プロセッサ(digital signal processors(DSPs))の一部とすることもできる。単一のプロセッサとして例示されているが、プロセッサ230は、単一のプロセッサに限定されず、複数のプロセッサを含むことができる。プロセッサ230は、メタデータ情報を伝達し、かつ/またはシグナリングするための適応方式のいずれかを実装するように構成することができる。
【0024】
図2には、メモリモジュール250が、プロセッサ230に結合されており、様々なタイプのデータを記憶するように構成された非一時的な媒体としうることが例示されている。メモリモジュール250は、二次記憶装置、読取り専用メモリ(read-only memory(ROM))、およびランダム・アクセス・メモリ(random-access memory(RAM))を含むメモリデバイスを含むことができる。二次記憶装置は、典型的には、1つまたは複数のディスクドライブ、光ドライブ、ソリッドステートドライブ(solid-state drives(SSDs))、および/またはテープドライブで構成され、データの不揮発性記憶のために、また、RAMがすべての作業データを保持するのに十分な大きさではない場合のオーバフロー記憶装置として使用される。二次記憶装置は、RAMにロードされたプログラムが実行のために選択されるときに、そうしたプログラムを記憶するのに使用することができる。ROMは、命令、およびおそらくは、プログラム実行中に読み出されるデータを記憶するのに使用される。ROMは、典型的には、二次記憶装置の大きなメモリ容量と比べて小さいメモリ容量を有する不揮発性メモリデバイスである。RAMは、揮発性データを記憶し、おそらくは、命令を記憶するのに使用される。ROMへのアクセスもRAMへのアクセスも、通常は、二次記憶装置へのアクセスよりも高速である。
【0025】
メモリモジュール250は、本明細書において記述されるシステムおよび方法を実行するための命令を収容するのに使用することができる。ある実施形態においては、メモリモジュール250は、プロセッサ230上で実装されうる表現適応モジュール260またはメタデータモジュール270を含むことができる。ある実施形態においては、表現適応モジュール260は、メタデータ情報(品質情報など)を用いてメディア・コンテンツ・セグメントについての表現を選択するためにクライアント上で実装することができる。別の実施形態においては、メタデータモジュール270は、メタデータ情報およびメディア・コンテンツ・セグメントを関連付け、かつ/または1つもしくは複数のクライアントに伝達するためにサーバ上で実装することができる。
【0026】
ネットワークエレメント200上へ実行可能命令をプログラミングし、かつ/またはロードすることによって、プロセッサ230、キャッシュ、および長期記憶のうちの少なくとも1つが変更され、ネットワークエレメント200の一部を特定の機械または装置へ、例えば、本開示が教示する新規の機能を有するマルチコア転送アーキテクチャへ変換することが理解される。実行可能なソフトウェアをコンピュータへロードすることによって実装できる機能を、当分野で知られている周知の設計規則によってハードウェア実装へ変換することができることは電気工学技術およびソフトウェア工学技術の基本である。ある概念をソフトウェアで実装するか、それともハードウェアで実装するかの判断は、通常、ソフトウェアドメインからハードウェアドメインへの変換に伴ういかなる問題よりも、製造すべきユニットの設計および数の安定性の考慮事項にかかっている。一般に、まだ頻繁に変更される設計は、ソフトウェアとして実装されるのが好ましいと考えられる。というのは、ハードウェア実装を設計し直すことは、ソフトウェア設計を設計し直すより高くつくからである。一般に、大量生産されることになる安定した設計は、ハードウェアで(例えばASICで)実装されるのが好ましいと考えられる。というのは、大規模な生産工程では、ハードウェア実装はソフトウェア実装よりも安くつくと考えられるからである。多くの場合、設計は、ソフトウェアの形態として開発し、試験し、次いでその後に、当分野で知られている周知の設計規則によって、ソフトウェアの命令を配線するASICとしての等価のハードウェア実装へ変換することができる。新しいASICによって制御される機械が特定の機械または装置であるのと同様に、実行可能命令でプログラムされ、かつ/または実行可能命令がロードされたコンピュータも特定の機械または装置とみなすことができる。
【0027】
本開示のいかなる処理も、プロセッサ(汎用マルチコアプロセッサなど)にコンピュータプログラムを実行させることによって実装することができる。この場合には、任意のタイプの非一時的コンピュータ可読媒体を用いて、コンピュータプログラム製品をコンピュータまたはネットワークデバイスに提供することができる。コンピュータプログラム製品は、コンピュータまたはネットワークデバイスにおいて非一時的コンピュータ可読媒体に記憶することができる。非一時的コンピュータ可読媒体は、任意のタイプの有形の記憶媒体を含む。非一時的コンピュータ可読媒体の例には、磁気記憶媒体(例えば、フロッピー(登録商標)ディスク、磁気テープ、ハード・ディスク・ドライブなど)、光磁気記憶媒体(光磁気ディスクなど)、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)、および半導体メモリ(例えば、マスクROM、プログラマブルROM(PROM)、消去可能PROM、フラッシュROM、RAM)が含まれる。また、コンピュータプログラム製品は、任意のタイプの一時的コンピュータ可読媒体を用いて、コンピュータまたはネットワークデバイスに提供することもできる。一時的コンピュータ可読媒体の例には、電気信号、光信号、および電磁波が含まれる。一時的コンピュータ可読媒体は、有線通信線(例えば、電線や光ファイバ)または無線通信線を介してコンピュータにプログラムを提供することができる。
【0028】
図3は、DASH適応方法300の一実施形態のプロトコル図である。一実施形態においては、HTTPサーバ302はDASHクライアント304とデータコンテンツをやりとりすることができる。HTTPサーバ302は、HTTPサーバ104と同様に構成することができ、DASHクライアント304は
図1に記載されているDASHクライアント108と同様に構成することができる。HTTPサーバ302は、コンテンツソース(
図1に記載されているコンテンツソース102など)からメディアコンテンツを受け取ることができ、かつ/またはメディアコンテンツを生成することができる。例えば、HTTPサーバ302はメディアコンテンツをメモリおよび/またはキャッシュに記憶することができる。ステップ306で、HTTPサーバ302およびDASHクライアント304は、HTTP接続を確立することができる。ステップ308で、DASHクライアント304は、HTTPサーバ302へMPD要求を送ることによってMPDを伝達することができる。MPD要求は、HTTPサーバ302からデータコンテンツのセグメントおよびメタデータ情報をダウンロードし、または受け取るための命令を含むことができる。ステップ310で、HTTPサーバ302は、HTTPを介してDASHクライアント304へMPDを送ることができる。他の実施形態においては、HTTPサーバ302は、HTTPセキュア(HTTP secure(HTTPS))、電子メール、ユニバーサル・シリアル・バス(universal serial bus(USB))・ドライブ、ブロードキャスト、または任意の他のタイプのデータトランスポートを介してMPDを配信することができる。具体的には、
図3において、DASHクライアント304は、DAE(
図1に記載されているDAE118など)を介してHTTPサーバ302からMPDを受け取ることができ、DAEは、メタデータコンテンツ情報およびデータ・コンテンツ・セグメントを求めるHTTPサーバ302への要求を構築し、かつ/または発行するためにMPDを処理することができる。ステップ306およびステップ308は任意選択とすることができ、他の実施形態においては省略することができる。
【0029】
ステップ312で、DASHクライアント304は、HTTPサーバ302へメタデータ情報要求を送ることができる。メタデータ情報要求は、1つまたは複数のメディアセグメントと関連付けられたメタデータセット内のメタデータ表現のメタデータセグメント(品質セット、品質セグメント、および/または品質情報など)を求める要求とすることができる。ステップ314で、メタデータ情報要求を受け取ったことに応答して、HTTPサーバ302は、DASHクライアント304へメタデータ情報を送ることができる。
【0030】
DASHクライアント304は、メタデータ情報を受け取り、処理し、かつ/またはフォーマットすることができる。ステップ316で、DASHクライアント304は、メタデータ情報を使用して、次の表現および/またはストリーミングのための表現を選択することができる。ある実施形態においては、メタデータ情報は、品質情報を含むことができる。DASHクライアント304は、品質情報を使用して、品質情報に基づくユーザにとっての体感品質を最大化する表現レベルを選択することができる。DASHクライアント304および/またはエンドユーザによって、品質閾値が決定され、かつ/または確立されうる。エンドユーザは、性能要件、加入契約、コンテンツに対する関心、これまでの利用可能帯域幅、および/または個人の好みに基づいて品質閾値を決定することができる。DASHクライアント304は、品質閾値以上の品質レベルに対応するメディアセグメントを選択することができる。加えて、DASHクライアント304は、メディアセグメントを選択するために追加情報(利用可能帯域幅やビットレートなど)も考慮することができる。例えば、DASHクライアント304は、所望のメディアセグメントを配信するための利用可能帯域幅の量を考慮することもできる。
【0031】
ステップ318で、DASHクライアント304は、HTTPサーバ302にメディアセグメントを要求することができる。例えば、MPDによって指示され、または通知されたように、受け取られたメタデータ情報に基づいて、DASHクライアント304は、DAE(
図1に記載されているDAE188など)を介してHTTPサーバ302へメディアセグメントを求めるメディアセグメント要求を送ることができる。要求されたメディアセグメントは、メタデータ情報を用いて決定された表現レベルおよび/または適応セットと符合しうる。ステップ320で、メディアセグメント要求を受け取ったことに応答して、HTTPサーバ302は、DASHクライアント304へメディアセグメントを送ることができる。DASHクライアント304は、メディアセグメントを受け取り、処理し、かつ/またはフォーマットすることができる。例えば、メディアセグメントをユーザに提示する(例えば、画像で、かつ/または音声で)ことができる。例えば、バッファ期間後に、アプリケーション(
図1に記載されているアプリケーション114など)は、GUI(
図1に記載されているGUI116など)を介して見えるようにメディアセグメントを提示することができる。DASHクライアント304は引き続き、ステップ312〜ステップ320に関連して先に開示したのと同様に、HTTPサーバ302へ/HTTPサーバ302からメタデータ情報および/またはメディアセグメントを送り、かつ/または受け取ることができる。
【0032】
図4は、メディアコンテンツおよび/または静的メタデータ情報をシグナリングするためのMPD400の一実施形態の概略図である。静的メタデータ情報はMPDから獲得することができ、静的メタデータ情報は符号化メディアコンテンツと共に経時的に変化しない。メタデータ情報は、最小帯域幅、フレームレート、オーディオ・サンプリング・レート、および/または他のビットレート情報といった、メディアコンテンツの品質情報および/または性能情報を含むことができる。MPD400は、例えば、
図3のステップ306〜ステップ320に記載されているように、メディアコンテンツおよび/または時限メタデータ情報を要求し、かつ/または獲得するための情報を提供するために、HTTPサーバ(
図1に記載されているHTTPサーバ104など)からDASHクライアント(
図3に記載されているDASHクライアント304など)へ伝達することができる。時限メタデータ情報もMPDから獲得することでき、時限メタデータ情報は符号化メディアコンテンツと共に経時的に変化しない。一実施形態においては、HTTPサーバは、メタデータシグナリングを提供し、かつ/または使用可能にするためにMPD400を生成することができる。MPD400は階層データモデルである。ISO/IEC 23009-1によれば、MPD400を、ストリーミングサービスを提供するためのメディアプレゼンテーションの定式化された記述と呼ぶことができる。さらには、メディアプレゼンテーションを、プレゼンテーションまたはメディアコンテンツを確立するデータの集合と呼ぶこともできる。特に、MPD400は、データコンテンツの各セグメントをダウンロードするためのHTTP URL、すなわちネットワークアドレスを告知するフォーマットを定義することができる。ある実施形態においては、MPD400は、拡張可能なマークアップ言語(Extensible Markup Language(XML))とすることができる。MPD400は、データのセグメントおよびメタデータ情報をダウンロードするための1つまたは複数のHTTPサーバを指し示す複数のURLを含むことができる。
【0033】
MPD400は、「期間」410、「適応セット」420、「表現」430、「セグメント」440、「下位表現」450、および「サブセグメント」460の各要素を含むことができる。「期間」410は、データコンテンツの期間と関連付けることができる。ISO/IEC 23009-1によれば、「期間」410は、通常、メディアコンテンツの符号化バージョンの一貫したセットが利用可能なメディアコンテンツ期間を表すことができる。言い換えると、利用可能なビットレート、言語、キャプション、字幕スーパーなどのセットは、1つの期間中に変化しない。「適応セット」420は、相互に交換可能な「表現」430のセットを含むことができる。様々な実施形態においては、メタデータ情報を含む「適応セット」420を、メタデータセットと呼ぶことができる。「表現」430は、配信可能なコンテンツ、例えば、1つまたは複数のメディア・コンテンツ・コンポーネントの符号化バージョンを記述することができる。複数の時間的に連続した「セグメント」440は、ストリームまたはトラック(メディア・コンテンツ・ストリームやメディア・コンテンツ・トラックなど)を形成することができる。
【0034】
DASHクライアント(
図1に記載されているDASHクライアント108など)は、ネットワーク状態または他の要因に適応するように「表現」430を切り換えることができる。例えば、DASHクライアントは、特定の「表現」430と関連付けられたメタデータ情報(静的メタデータ情報など)に基づいて、その「表現」430をサポートすることができるかどうか決定することができる。その「表現」430をサポートすることができない場合、DASHクライアントは、サポートすることができる別の「表現」430を選択することができる。「セグメント」440は、URLと関連付けられたデータ単位と呼ぶことができる。言い換えると、「セグメント」440は、一般に、1つのURLを用いて1つのHTTP要求で取得することができる最大のデータ単位とすることができる。DASHクライアントは、DASHクライアントがダウンロードを中止するまで、またはDASHクライアントが別の「表現」430を選択するまで、選択された「表現」430内のセグメントをダウンロードするように構成することができる。「セグメント」440、「下位表現」450、および「サブセグメント」460の各要素についてのさらなる詳細は、ISO/IEC 23009-1に記載されている。
【0035】
「期間」410、「適応セット」420、「表現」430、「セグメント」440、「下位表現」450、および「サブセグメント」460の各要素は、様々な形のデータコンテンツを参照するのに使用することができる。MPDにおいて、各要素および属性は、参照によりその全体が複写された場合と同様に本明細書に組み入れられる、「XML 1.0, Fifth Edition, 2008」で定義されているものと同様とすることができる。各要素は、1文字目を大文字にすること、またはキャメルケーシング、ならびに太字体によって属性と区別することができるが、本明細書においては、太字体は除かれている。各要素は1つまたは複数の属性を含むことができ、属性は、各要素をさらに定義する特性とすることができる。属性は、前に付く「@」記号で区別することができる。例えば、「期間」410は、プレゼンテーションタイムライン上で、「期間」410と関連付けられた期間がいつ開始するか指定することができる「@start」属性を含むことができる。
【0036】
前述のように、メタデータ情報は、メタデータ情報が符号化メディアストリームと共に経時的に変動する場合には、時限メタデータ情報と呼ぶこともでき、これらの用語は、本開示全体を通して区別なく使用されうる。「期間」410中に、メタデータ情報のための1つまたは複数の適応セットを利用することができる。例えば、表1は、メタデータ情報のための適応セットのリストの一実施形態を含む。例えば、QualitySet、BitrateSet、およびPowerSetは、それぞれ、品質、ビットレート、および電力消費についての時限メタデータを含む適応セットとすることができる。適応セット名は、一般に、当該適応セットによって搬送されるメタデータ情報のタイプを記述することができる。メタデータ情報のための適応セットは、複数のメタデータ表現を含むことができる。ある実施形態においては、QualitySetは、複数の品質表現を含むことができ、これらの品質表現は表2において記述されている。あるいは、メタデータ情報のための適応セットは、複数のビットレート表現を含むBitrateSet、または複数の電力表現を含むPowerSetとすることもできる。
【0038】
表2においては、メタデータ情報のための適応セットを、期間中にメディアコンテンツのための1つまたは複数の対応する適応セットと共にシグナリングすることができる。ある実施形態においては、時限メタデータ情報のための適応セットを、ほぼ同じ@id値を有するメディアコンテンツのための適応セットと関連付けることができる。時限メタデータ情報のための適応セットは、1つまたは複数のメディア表現に関する時限メタデータ情報(品質情報など)を含む複数の表現を含むことができ、メディアデータを含まない。よって、メタデータ情報のための適応セットを、メディアコンテンツのための適応セットと区別することができ、メタデータ表現をメディア表現と区別することができる。各メタデータ表現を、例えば、トラック参照(トラック参照ボックス‘cdsc’など)を用いて、1つまたは複数のメディア表現と関連付けることができる。一実施形態においては、関連付けはセットレベルとすることができる。メタデータセットと適応セットとは、ほぼ同じ@idの値を共有することができる。別の実施形態においては、関連付けは、表現レベルとすることができる。メタデータ表現とメディア表現とは、ほぼ同じ表現@idの値を共有することができる。メタデータ表現は、複数のメタデータセグメントを含むことができる。各メタデータセグメントを、1つまたは複数のメディアセグメントと関連付けることができる。メタデータセグメントは、メディアセグメントのコンテンツと関連付けられた品質情報を含むことができ、表現適応の間に考慮することができる。メタデータセグメントは、複数のサブセグメントに分割することができる。例えば、メタデータセグメントは、メタデータ情報を文書化するインデックス情報、ならびにサブセグメントの各々についてのアクセス情報を含むことができる。メタデータ表現をシグナリングすることにより、メディアコンテンツのためのどの適応セットおよび/またはメディアコンテンツのための適応セット内のどのメディア表現とそのメタデータ表現が関連付けられているかを特定することができる。適応判断のための情報を収集するのに必要とされる時間を短縮することができ、DASHクライアントは、適応セット内の複数のメディア表現についてのメタデータ情報を一度に取得することができる。複数のタイプのメタデータ情報を同時に提供することができる。例えば、品質情報は、1つまたは複数の品質メトリックから導出されたメディアコンテンツ(メディアセグメントなど)の品質に関する情報を含むことができる。既存のDASH仕様は、大幅な変更なしでメタデータ表現のシグナリングをサポートすることができる。
【0040】
表3は、品質のための時限メタデータを含む適応セットにおいて記述子として使用されるQualityMetric要素のセマンティクスの一実施形態である。品質表現のための方式は、ユニフォーム・リソース・ネーム(uniform resource name(URN))を、属性@schemeIdUriの値として用いて示すことができる(urn:mpeg:dash:quality:2013など)。例えば、@schemeIdUriの値は、urn:mpeg:dash:quality:2013とすることができ、@valueの値は、品質測定のメトリック(PSNR、MOS、SSIMなど)を示すことができる。
【0042】
「役割」要素(Representation.Roleなど)は、適応セットにおいて、時限メタデータ情報がメタデータ情報タイプまたは子要素を示すのに使用することができる。メタデータ情報タイプは、それだけに限らないが、品質、電力、ビットレート、解読キー、およびイベントを含むことができる。表4は、「役割」要素のリストの一実施形態を含む。メタデータタイプごとに異なる「役割」値を割り当てることができる。
【0044】
任意選択で、「役割」要素のうちの1つまたは複数を、メタデータ情報タイプに使用されるメトリックを示す1つまたは複数の追加属性を用いて格調することもできる。表5は、「役割」要素拡張の一実施形態である。
【0046】
ある実施形態においては、メタデータ情報のための適応セットは、「適応セット」420としてMPD400に位置することができる。メタデータ情報のための適応セットは、メディアコンテンツのための別の適応セットについて定義された要素および/または属性のうちのいくつかを再利用することができる。メタデータ情報のための適応セットは、識別子(@id属性など)を使用して、メタデータ情報のための適応セットを別の適応セットにリンクし、かつ/またはメタデータ情報のための適応セットに別の適応セットを参照させることができる。メタデータ情報のための適応セットおよび他方の適応セットは、同じ@id値を共有することができる。別の実施形態においては、メタデータ情報のための適応セットは、表6に示すように、@assocationIdおよび/または@associationTypeを設定することによって、その他の適応セットと連係することができる。メタデータ表現は、適応セット内のすべてのメディア表現についての品質情報を提供することができる。メタデータ情報のための適応セットは、期間ごとの他方の適応セットとの対のように見える。
【0048】
表7および表8は、メタデータ情報セット(「品質セット」など)のための適応セットとメディアコンテンツのための適応セットとの間の関連付けを用いてクライアントに品質情報の存在をシグナリングするためのエントリの一実施形態を形成するように組み合わせることができる。そうした実施形態においては、メタデータ表現は非多重化とすることができる。QualitySetは、「v0」、「v1」、および「v3」の@id値を有する3つの表現を含むことができる。各表現は、ほぼ同じ@idの値を有するメディア表現と関連付けことができる。関連付けは、QualitySetとAdaptationSetとの間でセットレベルで実装することができる。例えば、どちらもが「ビデオ」の@id値を有する場合もある。また、関連付けは、各表現がほぼ同じ@idの値を共有する表現レベルで実装することもできる。メタデータ情報のための適応セットを、ほぼ同じ識別子(「ビデオ」識別子など)を用いて、メディアコンテンツのための適応セットと関連付けることができる。メタデータ情報のための適応セット内の「役割」要素は、適応セットが1つまたは複数のメタデータ表現を含むことを示すことができる。特に、「役割」要素は、メタデータ情報のための適応セットのメタデータ表現が品質情報を含むことを示すことができる。ある実施形態においては、メタデータ表現は多重化されない。関連付けられた「適応セット」内のメディア表現に対応する各メタデータ表現は、ほぼ同じ識別子(「v0」、「v1」、「v2」など)を共有することができる。代替として、各適応セットが時間整合されている場合には、メタデータ表現は多重化されうる。例えば、各適応セット内の各表現の品質情報およびビットレート情報をメタデータ表現に入れることができる。メタデータ表現内のセグメントURLは、メディア表現に使用されるのとだいたい同様のテンプレートを用いて提供することができるが、パス(BaseURLなど)は異なりうる。ある実施形態においては、メタデータ・セグメント・ファイルの拡張子を「mp4m」とすることができる。
【0051】
表9および表10は、メタデータセットとメディアコンテンツのための適応セットとの間の関連付けを用いてクライアントに品質情報の存在をシグナリングするためのエントリの別の実施形態を形成するように組み合わせることができる。そうした実施形態においては、メタデータ表現を多重化することができる。MetadataSetは、1つの表現を含むことができる。MetadataSetは、AdaptationSet内のメディア表現(「v0」、「v1」、「v2」など)のための品質情報を含むことができる。関連付けは、AdaptationSetとMetadataSetとの間でセットレベルとすることができる。
【0054】
メディアプレゼンテーションは、1つまたは複数のファイルに含めることができる。ファイルは、プレゼンテーション全体についてのメタデータを含むことができ、参照によりその全体が複写された場合と同様に本明細書に組み入れられる、「Information technology-Coding of audio-visual objects-Part 12: ISO base media file format」という名称の、ISO/IEC 14496-12に記載されているようにフォーマットすることができる。ある実施形態においては、ファイルは、プレゼンテーションのためのメディアデータをさらに含むことができる。ISOベース・メディア・フォーマットファイル(BMFF)ファイルは、メディアコンテンツの交換、管理、編集、およびプレゼンテーションを円滑化しうる柔軟で拡張可能なフォーマットで、メディアプレゼンテーション(メディアコンテンツの集合など)のための時限メディア情報を搬送することができる。あるいは、別のファイルがプレゼンテーションのためのメディアデータを含むこともできる。ファイルは、ISOファイルとすることも、ISO-BMFFファイルとすることも、画像ファイルとすることも、他のフォーマットとすることもできる。例えば、メディアデータは、複数のJPEG(joint photographic expert group)2000ファイルとすることができる。ファイルは、タイミング情報、フレーミング(位置やサイズなど)情報を含むことができる。ファイルは、メディアトラック(ビデオトラック、オーディオトラック、キャプショントラックなど)およびメタデータトラックを含むことができる。各トラックは、トラックを一意に識別するトラック識別子で識別することができる。ファイルは、一連のオブジェクトおよびサブオブジェクト(別のオブジェクト内のオブジェクトなど)として構築することができる。各オブジェクトを、コンテナボックスと呼ぶことができる。例えば、ファイルは、メタデータボックス、動画ボックス、動画フラグメントボックス、メディアボックス、セグメントボックス、トラック参照ボックス、トラック・フラグメント・ボックス、およびトラック・ラン・ボックスを含むことができる。メディアボックスは、メディアプレゼンテーションのメディアデータ(ビデオ画像フレームおよび/またはオーディオなど)を搬送することができ、動画ボックスは、プレゼンテーションのメタデータを搬送することができる。動画ボックスは、メディアデータと関連付けられたメタデータを搬送する複数のサブボックスを含むことができる。例えば、動画ボックスは、メディアボックス内のビデオデータの記述を搬送するビデオ・トラック・ボックス、メディアボックス内のオーディオデータの記述を搬送するオーディオ・トラック・ボックス、ならびにビデオデータおよび/またはオーディオデータのストリーミングおよび/または再生のためのヒントを搬送するヒントボックスを含むことができる。ファイルおよびファイル内のオブジェクトについてのさらなる詳細は、ISO/IEC 14496-12に記載されているとおりとすることができる。
【0055】
時限メタデータ情報は、ISO-BMFFフレームワークおよび/またはISO-BMFFボックス構造を用いて記憶し、かつ/または伝達することができる。例えば、時限メタデータ情報は、ISO-BMFFフレームワーク内のトラックを用いて実装することができる。時限メタデータトラックは、時限メタデータトラックが関連付けられているメディアトラックとは異なる動画フラグメントに含めることができる。メタデータトラックは、1つまたは複数のサンプル、1つまたは複数のトラックラン、1つまたは複数のトラックフラグメント、および1つまたは複数の動画フラグメントを含むことができる。メタデータトラック内の時限メタデータ情報は、それだけに限らないが、サンプルレベル、トラック・ラン・レベル、トラック・フラグメント・レベル、動画フラグメントレベル、連続動画フラグメントのグループ(メディアサブセグメントなど)レベル、または本開示を考察すれば当業者によって理解されるはずの任意の他の適切な粒度レベルを含む様々な粒度レベルを用いて、メディアトラック内のメディアコンテンツと関連付けることができる。メディアトラックは、複数の動画フラグメントへ分割することができる。メディアフラグメントの各々は、1つまたは複数のトラックフラグメントを含むことができる。トラックフラグメントは、1つまたは複数のトラックランを含むことができる。トラックランは、複数の連続サンプルを含むことができる。サンプルは、オーディオサンプルおよび/またはビデオサンプルとすることができる。ISO-BMFFフレームワークについてのさらなる詳細は、ISO/IEC 14496-12に記載されているとおりとすることができる。
【0056】
ある実施形態においては、時限メタデータ情報は、符号化メディアコンテンツのための品質情報を含むことができる。他の実施形態においては、メタデータ情報は、符号化メディアコンテンツのためのビットレート情報、または電力消費情報を含むことができる。品質情報は、メディアコンテンツの符号化品質を意味しうる。符号化メディアデータの品質は、いくつかの粒度レベルで測定し、表すことができる。粒度レベルのいくつかの例には、サンプルの時間間隔、トラックラン(サンプルの集合など)、トラックフラグメント(トラックランの集合など)、動画フラグメント(トラックフラグメントの集合など)、およびサブセグメント(動画フラグメントの集合など)が含まれうる。コンテンツ製作者は、粒度レベルを選択し、選択された粒度レベルにおけるメディアコンテンツの品質メトリックを算出し、それらの品質メトリックをコンテンツサーバ上に記憶することができる。品質情報は、客観測定および/または主観測定とすることができ、ピーク信号対雑音比(peak signal-to-noise ratio(PSNR))、平均オピニオンスコア(mean opinion score(MOS))、構造的類似性(structural similarity(SSIM))指標、フレームの有意性(frame significance (FSIG))、平均信号誤り(mean signal error(MSE))、マルチスケール構造的類似性指標(multi-scale structural similarity index(MS-SSIM))、ビデオ品質の知覚評価(perceptual evaluation of video quality(PEVQ))、ビデオ品質メトリック(video quality metric(VQM))、および/または本開示を考察すれば当業者によって理解されるはずの任意の他の品質メトリックを含むことができる。
【0057】
ある実施形態においては、品質情報は、メディアファイル内の品質トラックで搬送することができる。品質トラックは、品質メトリックタイプ、粒度レベル、倍率といったパラメータを含むデータ構造によって記述することができる。品質トラック内の各サンプルは品質値を含むことができ、品質値は、品質メトリックタイプのものとすることができる。加えて、各サンプルが品質値のための倍率を示すこともでき、倍率は、品質値の範囲を変倍する増倍率とすることができる。品質トラックは、メタデータ・セグメント・インデックス・ボックスも含むことができ、メタデータ・セグメント・インデックス・ボックスは、ISO/IEC 14496-12で定義されているセグメント・インデックス・ボックスとだいたい同様の構造を含むことができる。あるいは、品質情報は、ISO/IEC 14496-12に記載されているように、メタデータトラックとして搬送することもできる。例えば、ビデオ品質メトリックエントリは、表6に示すようなものとすることができる。品質メトリックは、各サンプルに存在する品質メトリックおよびメトリック値ごとに使用されるフィールドサイズを記述する構造(記述ボックスQualityMetricsConfigurationsBoxなど)に位置することができる。表11において、各サンプルは、宣言されたメトリックに1対1で対応する品質値の配列である。各値は、変数field_size_bytesで示されるバイト数に、必要に応じて、前にゼロを付けることによってパディングすることができる。そうした例においては、変数accuracyは、同じボックス内のサンプルの精度を示す固定小数点14.2数とすることができる。加えて、条件文内の項「0x000001」は、値accuracy(約0.25まで正確であるなど)を示すことができる。整数値である品質メトリック(MOSなど)については、対応する値を1(0x0004など)とすることができる。
【0059】
表12は、品質情報の全般的記述のための構文法の一実施形態である。変数metric_typeは、品質を表現するメトリック(1:PSNR、2:MOS、または3:SSIMなど)を示すことができる。一実施形態においては、このボックスは、セグメント構造内に(例えば、セグメント・タイプ・ボックス‘styp’の後に)、または動画構造(例えば動画ボックス‘moov’)内に位置することができる。
【0061】
別の例では、メタデータ表現は、1つまたは複数の「表現」430に関する電力消費情報を含む電力表現とすることができる。例えば、電力消費情報は、帯域幅消費および/または電力要件に基づいてセグメントの電力消費に関する情報を提供することができる。別の実施形態においては、メタデータ情報は、1つまたは複数のメディア表現と関連付けられている暗号化情報および/または解読情報を含むことができる。暗号化情報および/または解読情報は、オンデマンドで取得することができる。例えば、暗号化情報および/または解読情報は、メディアセグメントがダウンロードされ、暗号化および/または解読が必要とされるときに取得することができる。メタデータ情報メトリックについてのさらなる詳細は、参照によりその全体が複写された場合と同様に本明細書に組み入れられる、「Information technology-MPEG systems technologies-Part 10: Carriage of Timed Metadata Metrics of Media in ISO Base Media File Format」という名称の、ISO/IEC CD 23001-10に記載されているとおりとすることができる。メタデータ情報は、同じ位置(同じサーバなど)に記憶することもでき、メディアコンテンツと異なる位置(異なるサーバなど)に記憶することもできる。すなわち、MPD400は、メディアコンテンツおよびメタデータ情報を取得するために1つまたは複数の位置を参照することができる。
【0062】
表13は、品質セグメントの構文法の一実施形態である。例えば、表13における構文法は、品質セグメントがサブセグメントに分割されていない場合に使用することができる。
【0064】
表14は、サブセグメントを含む品質セグメントの構文法の一実施形態である。変数quality_valueは、参照されるサブセグメント内のメディアデータの品質を示すことができる。変数scale_factorは、quality_valueの精度を制御することができる。さらなる構文法の詳細は、参照によりその全体が複写された場合と同様に本明細書に組み入れられる、「In Band Signaling for Quality Driven Adaptation」という名称の、ISO/IEC JTC1/SC29/WG11/MPEG2013/m28168に記載されているとおりとすることができる。
【0066】
表15は、品質メタデータトラックのためのサンプル記述エントリの一実施形態である。quality_metric値は、品質測定に使用されたメトリックを示すことができる。粒度値は、品質メタデータトラックとメディアトラックとの間の関連付けのレベルを示すことができる。例えば、1の値はサンプルレベルの品質記述を示すことができ、2の値はトラック・ラン・レベルの品質記述を示すことができ、3の値はトラック・フラグメント・レベルの品質記述を示すことができ、4の値は動画フラグメントレベルの品質記述を示すことができ、5の値はサブセグメントレベルの品質記述を示すことができる。scale_factor値は、デフォルトの倍率を示すことができる。
【0068】
表16は、品質メタデータトラックのためのサンプルエントリの一実施形態である。quality_value値は、品質メトリックの値を示すことができる。scale_factor値は、品質メトリックの精度を示すことができる。scale_factor値が約0と等しい場合には、サンプル記述ボックス内のデフォルトのscale_factor値(例えば、表15に記載されているサンプル記述エントリ)を使用することができる。scale_factor値が約0と等しくない場合には、scale_factor値は、サンプル記述ボックス内のデフォルトのscale_factorをオーバーライドすることができる。
【0070】
図5〜
図12は、メディアコンテンツ(メディアトラックなど)とメタデータ情報(メタデータトラックなど)との間の関連付けの様々な実施形態である。
図5〜
図12は例示のために示すものであり、本開示を考察すれば当業者には理解されるように、メディアコンテンツとメタデータ情報との間の他の関連付けも用いることができる。
【0071】
図5は、サンプルレベルのメタデータ関連付け500の一実施形態の概略図である。メタデータ関連付け500は、メディアトラック550とメタデータトラック560とを含むことができ、メディアトラック550をメタデータトラック560とサンプルレベルで関連付けるように構成することができる(サンプルレベルの品質記述など)。メディアトラック550および/またはメタデータトラック560は、
図3に記載されているMPDを用いて獲得することができる。MPDは、
図4に記載されているMPD400と同様に構成することができる。メディアトラック550は動画フラグメントボックス502、1つまたは複数のトラック・フラグメント・ボックス506、および複数のサンプルを含む1つまたは複数のトラック・ラン・ボックス510を含むことができる。メタデータトラック560が品質情報を含むことができる場合、メタデータトラック560を品質トラックと呼ぶこともできる。メタデータトラック560は動画フラグメントボックス504、1つまたは複数のトラック・フラグメント・ボックス508、および複数のサンプルを含む1つまたは複数のトラック・ラン・ボックス512を含むことができる。そうした実施形態においては、メタデータトラック560のための動画フラグメントボックスの数、各動画フラグメントボックス内のトラック・フラグメント・ボックスの数、各トラック・フラグメント・ボックス内のトラック・ラン・ボックスの数、および各トラック・ラン・ボックス内のサンプルの数は、メタデータトラック560と関連付けられた対応するメディアトラック550内のそれらの数とほぼ同じとすることができる。メタデータトラック560とメディアトラック550との間には、動画フラグメントレベル、トラック・フラグメント・レベル、トラック・ラン・レベル、およびサンプルレベルでほぼ1つの1対1マッピングが存在しうる。メタデータトラック560内のサンプルは、そのメタデータトラック560と関連付けられたメディアトラック550内の対応するサンプルの持続期間に及びうる。
【0072】
図6は、トラック・ラン・レベルのメタデータ関連付け600の一実施形態の概略図である。メタデータ関連付け600は、メディアトラック650とメタデータトラック660とを含むことができ、メディアトラック650をメタデータトラック660とトラック・ラン・レベルで関連付けるように構成することができる(トラック・ラン・レベルの品質記述など)。メディアトラック650およびメタデータトラック660は、
図3に記載されているMPDを用いて獲得することができる。MPDは、
図4に記載されているMPD400と同様に構成することができる。メディアトラック650は動画フラグメントボックス602、1つまたは複数のトラック・フラグメント・ボックス606、および複数のサンプルを含む1つまたは複数のトラック・ラン・ボックス610を含むことができる。メタデータトラック660は動画フラグメントボックス604、1つまたは複数のトラック・フラグメント・ボックス608、および複数のサンプルを含む1つまたは複数のトラック・ラン・ボックス612を含むことができる。そうした実施形態においては、メタデータトラック660のための動画フラグメントボックスの数、各動画フラグメントボックス内のトラック・フラグメント・ボックスの数、および各トラック・フラグメント・ボックス内のトラック・ラン・ボックスの数は、メタデータトラック660と関連付けられた対応するメディアトラック650内のそれらの数とほぼ同じとすることができる。メタデータトラック660とメディアトラック650との間には、動画フラグメントレベル、トラック・フラグメント・レベル、およびトラック・ラン・レベルでほぼ1つの1対1マッピングが存在しうる。メタデータトラック660内のサンプルは、メディアトラック650の対応するトラック・ラン・ボックス内のほぼすべてのサンプルの持続期間のおおよその合計に及びうる。
【0073】
図7は、トラック・フラグメント・レベルのメタデータ関連付け700の一実施形態の概略図である。メタデータ関連付け700は、メディアトラック750とメタデータトラック760とを含むことができ、メディアトラック750をメタデータトラック760とトラック・フラグメント・レベルで関連付けるように構成することができる(トラック・フラグメント・レベルの品質記述など)。メディアトラック750およびメタデータトラック760は、
図3に記載されているMPDを用いて獲得することができる。MPDは、
図4に記載されているMPD400と同様に構成することができる。メディアトラック750は動画フラグメントボックス702、1つまたは複数のトラック・フラグメント・ボックス706、および複数のサンプルを含む1つまたは複数のトラック・ラン・ボックス710を含むことができる。メタデータトラック760は動画フラグメントボックス704、1つまたは複数のトラック・フラグメント・ボックス708、および複数のサンプルを含む1つまたは複数のトラック・ラン・ボックス712を含むことができる。そうした実施形態においては、メタデータトラック760のための動画フラグメントボックスの数、および各動画フラグメントボックス内のトラック・フラグメント・ボックスの数は、メタデータトラック760と関連付けられた対応するメディアトラック750内のそれらの数とほぼ同じとすることができる。メタデータトラック760とメディアトラック750との間には、動画フラグメントレベルおよびトラック・フラグメント・レベルでほぼ1つの1対1マッピングが存在しうる。メタデータトラック760内のサンプルは、メディアトラック750の対応するトラック・フラグメント・ボックス内のほぼすべてのサンプルの持続期間のおおよその合計に及びうる。
【0074】
図8は、動画フラグメントレベルのメタデータ関連付け800の一実施形態の概略図である。メタデータ関連付け800は、メディアトラック850とメタデータトラック860とを含むことができ、メディアトラック850をメタデータトラック860と動画フラグメントレベルで関連付けるように構成することができる(動画フラグメントレベルの品質記述など)。メディアトラック850およびメタデータトラック860は、
図3に記載されているMPDを用いて獲得することができる。MPDは、
図4に記載されているMPD400と同様に構成することができる。メディアトラック850は動画フラグメントボックス802、1つまたは複数のトラック・フラグメント・ボックス806、および複数のサンプルを含む1つまたは複数のトラック・ラン・ボックス810を含むことができる。メタデータトラック860は動画フラグメントボックス804、1つまたは複数のトラック・フラグメント・ボックス808、および複数のサンプルを含む1つまたは複数のトラック・ラン・ボックス812を含むことができる。そうした実施形態においては、メタデータトラック860のための動画フラグメントボックスの数は、メタデータトラック860と関連付けられた対応するメディアトラック850内のそれらの数とほぼ同じとすることができる。メタデータトラック860とメディアトラック850との間には、動画フラグメントレベルでほぼ1つの1対1マッピングが存在しうる。メタデータトラック860内のサンプルは、メディアトラック850の対応する動画フラグメントボックス内のほぼすべてのサンプルの持続期間のおおよその合計に及びうる。
【0075】
図9は、サブセグメントレベルのメタデータ関連付け900の一実施形態の概略図である。メタデータ関連付け900は、メディアトラック950とメタデータトラック960とを含むことができ、メディアトラック950をメタデータトラック960とサブセグメントレベルで関連付けるように構成することができる(動画フラグメントレベルの品質記述など)。メディアトラック950およびメタデータトラック960は、
図3に記載されているMPDを用いて獲得することができる。MPDは、
図4に記載されているMPD400と同様に構成することができる。サブセグメントレベルの関連付けは、メタデータトラック960と複数の動画フラグメントとの間の関連付けを含むことができる。メディアトラック950は動画フラグメントボックス902、1つまたは複数のトラック・フラグメント・ボックス906、および複数のサンプルを含む1つまたは複数のトラック・ラン・ボックス910を含むことができる。メタデータトラック960は動画フラグメントボックス904、1つまたは複数のトラック・フラグメント・ボックス908、および複数のサンプルを含む1つまたは複数のトラック・ラン・ボックス912を含むことができる。そうした実施形態においては、メタデータトラック960のための動画フラグメントボックスの数は、メタデータトラック960と関連付けられた対応するメディアトラック950内の動画フラグメントボックスの数より少数とすることができる。ある実施形態においては、メタデータトラック960について、1つのトラック・フラグメント・ボックス908につきほぼ1つのトラック・ラン・ボックス912が生じ、1つのトラック・ラン・ボックス912につきほぼ1つのサンプルが生じうる。
【0076】
図10は、メディア・セグメント・レベルのメタデータ関連付け1000の一実施形態の概略図である。様々な実施形態において、メタデータ情報は、メディア・セグメント・レベルおよび/またはメディア・サブセグメント・レベルで、メディアコンテンツと関連付けることができる。メタデータ関連付け1000は、メディアセグメント1050とメタデータセグメント1060とを含むことができ、メディアセグメント1050をメタデータセグメント1060とメディア・セグメント・レベルおよびメディア・サブセグメント・レベルで関連付けるように構成することができる。メディアトラック1050およびメタデータトラック1060は、
図3に記載されているMPDを用いて獲得することができる。MPDは、
図4に記載されているMPD400と同様に構成することができる。メディアセグメント1050は、1つまたは複数の動画フラグメントボックス1008および1つまたは複数のメディア・データ・ボックス1010を含む複数のサブセグメント1020を含むことができる。セグメントインデックス1006を用いてサブセグメント1020のうちの1つまたは複数にインデックスを付けることもできる。同様に、メタデータセグメント1060も、メディアセグメント1050のサブセグメント1020と関連付けられた複数のサブセグメント1022を含むことができる。サブセグメント1022は、動画フラグメントボックス1012、トラック・フラグメント・ボックス1014、トラック・ラン・ボックス1016、およびメディア・データ・ボックス1018を含むことができる。
【0077】
図11は、適応セットレベルのメタデータ関連付け1100の一実施形態の概略図である。メタデータ関連付け1100は、メディアコンテンツのための適応セット1102とメタデータ情報のための適応セット1104との間の関連付けを含むことができる。メディアコンテンツのための適応セット1102および/またはメタデータ情報のための適応セット1104は、
図4に記載されている「適応セット」420と同様に構成することができる。メタデータ情報のための適応セット1104は、メディアコンテンツ1102のための適応セット1102と関連付けられたメタデータ情報を含むことができる。メディアコンテンツのための適応セット1102は、各々が複数のメディアセグメント1110を含む複数のメディア表現1106を含むことができる。メタデータ情報のための適応セット1104は、品質情報を含む「品質セット」とすることができる。メタデータ情報のための適応セット1104は、各々が複数の品質セグメント1112を含む複数の品質表現1108を含むことができる。ある実施形態においては、メディアセグメント1110と品質セグメント1112との間の関連付けは、1対1の関連付けとすることができる。各メディア表現1〜k内の各メディアセグメント(MS)1〜nは、対応する品質表現1〜k内の対応する品質セグメント(QS)1〜nを有しうる。例えば、メディアセグメント1,1は品質セグメント1,1に対応し、メディアセグメント1,2は品質セグメント1,2に対応し、以下同様とすることができる。あるいは、メタデータセグメントが、対応するメディア表現内の複数のメディアセグメントに対応してもよい。例えば、ある品質セグメントが、メディア表現内の連続したメディアセグメントの前半に対応し、後続の品質セグメントが、そのメディア表現内の連続したメディアセグメントの後半に対応してもよい。
【0078】
図12は、メディア・サブセグメント・レベルのメタデータ関連付け1200の一実施形態の概略図である。一実施形態においては、メタデータセグメント1260を、1つまたは複数のメディアサブセグメント1250と関連付けることができる。メタデータセグメント1260は、「セグメント」440と同様に構成することができ、メディアサブセグメントは、
図4に記載されている「サブセグメント」460と同様に構成することができる。
図6において、メディアセグメント1250は、複数のメディアサブセグメント1204〜1208を含むことができる。メタデータセグメント1260を、メディアサブセグメント1204〜1208と関連付けることができる。メタデータセグメント1260は、メディアサブセグメント1204〜1208を文書化するための複数のセグメントボックス(セグメント・インデックス・ボックス1212およびセグメント・インデックス・ボックス1214など)を含むことができる。セグメント・インデックス・ボックス1212はメディアサブセグメント1204を文書化することができ、セグメント・インデックス・ボックス1214はメディアサブセグメント1206およびメディアサブセグメント1208を文書化することができる。例えば、セグメント・インデックス・ボックス1212はインデックスS1,1(m_s1)を使用してメディアサブセグメント1204を参照することができ、セグメント・インデックス・ボックス1214はインデックスS2,1(m_s2)およびS2,2(m_s3)を使用して、それぞれ、メディアサブセグメント1206およびメディアサブセグメント1208を参照することができる。
【0079】
表17は、メタデータ・セグメント・インデックス・ボックス・エントリの一実施形態である。rep_num値は、そのためのメタデータ情報がボックスにおいて提供されうる表現の数を示すことができる。参照される項目がメディアコンテンツ(メディアサブセグメントなど)である場合には、アンカーポイントを、最上位レベルのセグメントの先頭とすることができる。例えば、アンカーポイントは、各メディアセグメントが別々のファイルに記憶されている場合、メディア・セグメント・ファイルの先頭とすることができる。参照される項目がインデックス付きのメディアセグメントである場合には、アンカーポイントは、品質インデックス・セグメント・ボックスの後に続く最初のバイトとすることができる。
【0081】
図13は、表現適応方法1300の一実施形態の流れ図である。一実施形態においては、表現適応方法1300は、品質情報を用いてメディア・コンテンツ・セグメントについての表現を選択するために、クライアント(
図1に記載されているDASHクライアント108など)上で実装することができる。ステップ1302で、方法1300は、データコンテンツのセグメントおよびメタデータ情報をダウンロードし、または受け取るための命令および/または情報を含むMPD(
図4に記載されているMPD400など)を要求することができる。ステップ1304で、方法1300は、MPDを受け取ることができる。方法1300は、MPDを構文解析し、時限メタデータ情報(品質情報など)が利用できると判定することができる。例えば、時限メタデータ情報は、1つまたは複数のメタデータ表現に含めることができる。ステップ1302およびステップ1304は任意選択とすることができ、一実施形態では省略することができる。ステップ1306で、方法1300は、品質情報要求を送ることができる。ステップ1308で、方法1300は、品質情報を受け取ることができる。方法1300は、適応セット内の1つまたは複数の表現内のメディアセグメントの品質をマップすることができる。ステップ1310で、方法1300は、品質情報を用いてメディアセグメントを選択することができる。例えば、方法1300は、
図3のステップ316に記載されているような動作を使用することができる。加えて、方法1300は、利用可能帯域幅、ビットレート、バッファサイズ、およびストリーミング品質の全般的な滑らかさを考慮することによって、メディアセグメントを選択することもできる。ステップ1312で、方法1300は、品質情報を用いて選択されたメディアセグメントを要求するメディアセグメント要求を送ることができる。ステップ1314で、方法1300は、メディアセグメントを受け取ることができる。方法1300は、ステップ1306〜ステップ1314に関して上記で開示されたのと同様に、引き続き品質情報および/またはメディアセグメントを要求し、かつ/または受け取ることができる。
【0082】
図14は、時限メタデータ情報を用いる表現適応方法1400の一実施形態の流れ図である。一実施形態においては、表現適応方法1400は、品質情報を用いてメディア・コンテンツ・セグメントについての表現を選択するために、クライアント(
図1に記載されているDASHクライアント108など)上で実装することができる。例えば、方法1400は、例えば、
図3に記載されているステップ316において、時限メタデータ情報に基づいて要求すべきメディアセグメント表現を選択するために実装することができる。様々な実施形態において性能を改善するためにバッファ閾値を設定し、かつ/または調整することができる。例えば、利用可能帯域幅の変化による再生中断を低減させるために1つまたは複数のバッファ閾値を設定することができる。例えば、下限バッファ閾値を利用可能帯域幅の約20%とすることができ、中間バッファ閾値を利用可能帯域幅の約20%から約80%とすることができ、上限バッファ閾値を利用可能帯域幅の約80%とすることができる。
【0083】
ステップ1402で、方法1400は、DASHクライアントのためのバッファサイズを決定することができる。ステップ1404で、方法1400は、バッファサイズが下限バッファ閾値より小さいかどうか判定することができる。バッファサイズが下限バッファ閾値より小さい場合には、方法1400は、ステップ1412に進むことができる。そうでない場合には、方法1400は、ステップ1406に進むことができる。ステップ1412で、方法1400は、最低のビットレートを含む表現を選択し、終了することができる。ステップ1404に戻って、バッファサイズが下限バッファ閾値以上である場合には、方法1400は1406に進むことができる。ステップ1406で、方法1400は、バッファサイズが中間バッファ閾値より小さいかどうか判定することができる。バッファサイズが中間バッファ閾値より小さい場合には、方法1400は、ステップ1414に進むことができる。そうでない場合には、方法1400は、ステップ1408に進むことができる。ステップ1414で、方法1400は、利用可能帯域幅についての最低品質レベルを含む表現を選択し、終了することができる。ステップ1406に戻って、バッファサイズが中間バッファ閾値以上である場合には、方法1400は、ステップ1408に進むことができる。ステップ1408で、方法1400は、バッファサイズが上限バッファ閾値より小さいかどうか判定することができる。バッファサイズが上限バッファ閾値より小さい場合には、方法1400は、ステップ1416に進むことができる。そうでない場合には、方法1400は、ステップ1410に進むことができる。ステップ1416で、方法1400は、選択することのできる表現の最大ビットレート(利用可能帯域幅とレートファクタの積など)より低い品質レベルを含む表現を選択し、終了することができる。レートファクタは、利用可能帯域幅に対して選択することができる表現の最大ビットレートを調整するのに使用することができる。一実施形態においては、レートファクタは、1より大きい値(例えば、約1.2)とすることができる。ステップ1408に戻って、バッファサイズが上限バッファ閾値以上である場合には、方法1400は1410に進むことができる。ステップ1410で、方法1400は、利用可能帯域幅についての最高品質レベルを含む表現を選択し、終了することができる。
【0084】
図15は、時限メタデータ情報を用いる表現適応方法1500の別の実施形態の流れ図である。一実施形態においては、表現適応方法1500は、品質情報を用いてメディア・コンテンツ・セグメントについての表現を選択するために、クライアント(
図1に記載されているDASHクライアント108など)上で実装することができる。例えば、方法1500は、例えば、
図3に記載されているステップ316において、メタデータ情報に基づいて要求すべきメディアセグメント表現を選択するために実装することができる。一実施形態においては、品質閾値は、これまでダウンロードされたセグメントの全般的品質および/または許容できる品質変化の範囲に基づいて決定することができる。あるいは、品質閾値は、平均利用可能帯域幅に従って決定することもできる。品質上限閾値は、全体品質に許容できる品質変化の範囲の半分を加えたものとして計算することができる。品質下限閾値は、全体品質から許容できる品質変化の範囲の半分を差し引いたものとして計算することができる。
【0085】
ステップ1502で、方法1500は、現在の利用可能帯域幅を決定することができる。ステップ1504で、方法1500は、利用可能帯域幅と符合する表現からのセグメントを選択することができる。ステップ1506で、方法1500は、セグメントの品質レベルを決定することができる。ステップ1508で、方法1500は、品質レベルが品質上限閾値より高いかどうか判定することができる。品質レベルが品質上限閾値より高い場合には、方法1500はステップ1510に進むことができる。そうでない場合には、方法1500は、ステップ1514に進むことができる。ステップ1510で、方法1500は、現在の表現レベルが最低の品質レベルの表現であるかどうか判定することができる。現在の表現レベルが最低の品質レベルの表現である場合には、方法1500はステップ1526に進むことができる。そうでない場合には、方法1500はステップ1512に進むことができる。ステップ1526で、方法1500は、選択されたセグメントを保持し、終了することができる。ステップ1510に戻って、現在の表現レベルが最低の品質レベルでない場合には、方法1500はステップ1512に進むことができる。ステップ1512で、方法1500は、次に低い品質レベルの表現からの別のセグメントを選択し、ステップ1506に進むことができる。
【0086】
ステップ1508に戻って、品質レベルが品質上限閾値以下である場合には、方法1500はステップ1514に進むことができる。ステップ1514で、方法1500は、品質レベルが品質下限閾値より低いかどうか判定することができる。品質レベルが品質下限閾値より低い場合には、方法1500はステップ1516に進むことができる。そうでない場合には、方法1500は、ステップ1526に進むことができる。ステップ1516で、方法1500は、現在の表現レベルが最高の品質レベルの表現であるかどうか判定することができる。現在の表現レベルが最高の品質レベルの表現である場合には、方法1500はステップ1526に進むことができる。そうでない場合には、方法1500はステップ1518に進むことができる。ステップ1518で、方法1500は、次に高い品質レベルの表現からの別のセグメントを選択することができる。ステップ1520で、方法1500は、セグメントのビットレートを決定することができる。ステップ1522で、方法1500は、DASHクライアントのバッファレベルを決定することができる。ステップ1524で、方法1500は、バッファレベルがバッファ閾値より高いかどうか判定することができる。バッファレベルがバッファ閾値より高い場合には、方法1500は、ステップ1506に進むことができる。そうでない場合には、方法1500は、ステップ1526に進むことができる。
【0087】
図16は、表現適応方法1600の別の実施形態の流れ図である。一実施形態においては、表現適応方法1600は、1つまたは複数のクライアント(
図1に記載されているDASHクライアント108など)へ品質情報およびメディア・コンテンツ・セグメントを伝達するためにサーバ(
図1に記載されているHTTPサーバ104など)上で実装することができる。ステップ1602で、方法1600は、データコンテンツのセグメントおよびメタデータ情報をダウンロードし、または受け取るための命令を含むMPDを求めるMPD要求を受け取ることができる。ステップ1604で、方法1600は、MPDを送ることができる。ステップ1602およびステップ1604は任意選択とすることができ、他の実施形態においては省略することができる。ステップ1606で、方法1600は、品質情報要求を受け取ることができる。ステップ1608で、方法1600は、品質情報を送ることができる。ステップ1610で、方法1600は、メディアセグメント要求を受け取ることができる。ステップ1612で、方法1600は、要求されたメディアセグメントを送ることができる。方法1600は、ステップ1606〜ステップ1612に関して上記で論じたのと同様に、引き続き品質情報および/またはメディアセグメントを受け取り、かつ/または送ることができる。
【0088】
少なくとも1つの実施形態が本開示されており、当業者によってなされる(1つもしくは複数の)開示の実施形態および/または(1つもしくは複数の)開示の実施形態の特徴の変形、組み合わせ、および/または改変は、本開示の範囲内に含まれる。また、(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数で定義されるいかなる数値範囲も明確に開示されている。「about(約)」という用語は、特に指示しない限り、後続の数の±10%を意味する。請求項の任意の要素に関する「任意選択で」という用語の使用は、当該要素が必要であること、あるいは、当該要素が不要であることのどちらの選択肢も当該請求項の範囲内に含まれることを意味する。「comprises」、「includes」、「having」のようなより適用範囲の広い用語の使用は、「consisting of」、「consisting essentially of」、「comprised substantially of」のようなより適用範囲の狭い用語についても対応しうるものと理解すべきである。したがって、保護の範囲は、上記の説明によって限定されるものではなく、添付の特許請求の範囲によって定義されるものであり、その範囲は、各請求項の主題のあらゆる均等物を含むものである。一つ一つの請求項がさらなる開示として本明細書に組み入れられるものであり、各請求項は、本開示の(1つまたは複数の)実施形態である。本開示における参照文献、特に、本願の優先日後の公開日を有するあらゆる参照文献の考察は、当該文献が先行技術であることを認めるものではない。本開示において引用されているすべての特許、特許出願、および出版物の開示は、それらが本開示を補足する例示的、手続き的その他の詳細を提供する限りにおいて、参照により本明細書に組み入れられるものである。
【0089】
本開示においてはいくつかの実施形態が提供されているが、開示のシステムおよび方法は、本開示の趣旨または範囲を逸脱することなく多くの他の特定の形態として具体化される可能性もあることを理解すべきである。本開示の各例は、限定ではなく例示のためのものとみなすべきであり、その意図は、本明細書に記載される詳細だけに限定すべきではない。例えば、様々な要素またはコンポーネントを、別のシステムにおいて組み合わせ、または統合することもでき、ある特徴を省略し、または実装しない場合もある。
【0090】
加えて、様々な実施形態において、別個の、または分離したものとして記述され、例示された技法、システム、サブシステム、および方法を、本開示の範囲を逸脱することなく、他のシステム、モジュール、技法、または方法と組み合わせ、または統合することもできる。相互に結合され、または直接結合され、または通信し合うものとして図示され、または論じられた他の項目が、電気的にであれ、機械的にであれ、あるいはそれ以外であれ、何らかのインターフェース、デバイス、または介在コンポーネントを介して間接的に結合され、または通信することも可能である。交換、代用、および変更の他の例も、当業者によって確認され、本明細書において開示される趣旨および範囲を逸脱することなく行うことができるはずである。