(57)【要約】      （修正有）【課題】適応型ストリーミングにおいて、品質の揺らぎを抑え、帯域幅を効率的に使用できる方法を提供する。【解決手段】異なる表現はメディアコンテンツのインスタンスに関連付けられ、１つの表現はメディアコンテンツの複数の部分を有する。コンテンツのインスタンスに関する情報は、ビットレート及び品質情報を含み、クライアントへ送信できる。品質情報は、品質の尺度（例えば、品質値）の利用可能性、これらの品質値が存在する場所、又はそれらがどのように読み出せるか、を示す。クライアントは、コンテンツをストリーミングする間、品質とビットレートを使用できる。コンテンツがネットワークを介してダウンロードされている間、クライアントは、単に自身のビットレートに基づき、自身の品質値にも基づき、メディアコンテンツのインスタンスの１つの部分を他の部分に対して選択することにより、利用可能ネットワーク帯域幅の変化に適応できる。【選択図】図１
2018023133.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置であって、
プロセッサと、
前記プロセッサに結合されるメモリと、
を有し、前記メモリは、前記装置により実行される場合前記装置に動作を実行させる命令を格納し、前記動作は、
メディアコンテンツのインスタンスに関する情報にアクセスするステップであって、前記情報は、メディアコンテンツの前記インスタンスの部分の品質値の利用可能性を示す品質情報を有し、前記部分は、該部分に関連付けられた個々のビットレートを有し、前記品質値は、メディアコンテンツの前記インスタンスの前記部分の品質の尺度を有する、ステップと、
複数の異なる表現はメディアコンテンツの前記インスタンスに関連付けられ、前記複数の表現のうちの前記異なる表現の各々は、メディアコンテンツの前記インスタンスの複数の部分を有し、前記複数の部分の中の前記部分の各々は、該部分に関連付けられる個々の品質値を有し、品質値はメディアコンテンツの前記インスタンスの個々の部分の品質の尺度を有し、
複数の異なる表現はメディアコンテンツの前記インスタンスに関連付けられ、前記複数の表現のうちの前記異なる表現の各々は、メディアコンテンツの前記インスタンスの複数の部分を有し、前記複数の部分の中の前記部分の各々は、該部分に関連付けられる個々の品質値を有し、品質値はメディアコンテンツの前記インスタンスの個々の部分の品質の尺度を有し、
前記品質情報により示される前記品質値にアクセスするステップと、
ダウンロードのために、前記部分の第１の部分を選択するステップであって、前記第１の部分は、前記品質値のうちの１つの品質値を用いて選択される、ステップと、
を有する、クライアント装置。
【請求項２】
前記品質値は、前記第１の部分に関連付けられたボックスに含まれ、前記品質値にアクセスする前記ステップは、前記第１の部分を要求する前に、前記ボックスから前記品質値を読み出すステップを有する、請求項１に記載の装置。
【請求項３】
前記品質情報は、前記品質値が前記ボックスの中で利用可能であると示す要素を有する、請求項２に記載の装置。
【請求項４】
前記品質情報は要素を有し、前記品質値は前記要素の属性である、請求項１に記載の装置。
【請求項５】
前記品質値は、メディアコンテンツの前記インスタンスの前記第１の部分を有する第２のファイルと異なる位置にある第１のファイルに含まれる、請求項１に記載の装置。
【請求項６】
前記品質情報は、前記品質値が前記第１のファイルの中にあると示す要素を有し、前記品質値にアクセスする前記ステップは、前記第１の部分を要求する前に前記第１のファイルから前記品質値を読み出すステップを有する、請求項５に記載の装置。
【請求項７】
前記動作は、
ビットレートに基づき、ネットワークを介してダウンロードされるべき前記部分の候補セットを選択するステップと、
所定の要件を満たす個々の品質値を有する別の部分で、前記候補セットの中の一部を置き換えるステップと、
を更に有する、請求項１に記載の装置。
【請求項８】
前記動作は、
ビットレート及び前記品質値に基づき、ネットワークを介してダウンロードされるべき前記部分の候補セットを選択するステップと、
ある時点で前記ネットワークの中の利用可能帯域幅の量を示す情報にアクセスするステップと、
前記利用可能帯域幅の量を超えるビットレートを有する、前記ある時点に及ぶ間隔でダウンロードされるようスケジューリングされた、前記候補セットの中の一部を識別するステップと、
前記利用可能帯域幅の量を満たす個々のビットレートを有する第２の部分で、前記部分を置き換えるステップであって、前記第２の部分は、それ自体の個々の品質値に基づき選択される、ステップと、
を更に有する、請求項１に記載の装置。
【請求項９】
実行されるとクライアント装置に方法を実行させるコンピュータ実行可能命令を有する非一時的コンピュータ可読記憶媒体であって、前記方法は、
コンテンツ配信ネットワークの中の利用可能帯域幅の量を示す情報にアクセスするステップと、
メディアコンテンツのインスタンスの部分を識別するステップであって、前記部分は、前記利用可能帯域幅の量を満たす個々のビットレートを有し、前記部分は、該部分に関連付けられた品質の個々の尺度も有する、ステップと、
前記部分のうち第１の部分を選択するステップであって、前記第１の部分はそれ自体の関連付けられた品質の尺度に従って選択される、ステップと、
前記コンテンツ配信ネットワークを介して配信のために前記第１の部分を要求するステップと、
を有する、非一時的コンピュータ可読記憶媒体。
【請求項１０】
前記方法は、メディアコンテンツの前記インスタンスに関する情報にアクセスするステップであって、さらに、メディアコンテンツの前記インスタンスに関する前記情報は、前記第１の部分の品質の前記尺度が前記第１の部分に関連付けられたボックスの中で利用可能であると示す要素を有し、品質の前記尺度は、前記第１の部分を要求する前に、前記ボックスから読み出される、ステップ、を更に有する、請求項９に記載の非一時的コンピュータ可読記憶媒体。
【請求項１１】
前記方法は、メディアコンテンツの前記インスタンスに関する情報にアクセスするステップであって、さらに、メディアコンテンツの前記インスタンスに関する前記情報は要素を有し、前記第１の部分の品質の前記尺度は前記要素の属性である、ステップ、を更に有する、請求項９に記載の非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記方法は、メディアコンテンツの前記インスタンスに関する情報にアクセスするステップであって、さらに、メディアコンテンツの前記インスタンスに関する前記情報は、前記第１の部分の品質の前記尺度が前記第１の部分を有する第２のファイルとは異なる位置にある第１のファイルの中で利用可能であると示す要素を有し、品質の前記尺度は、前記第１の部分を要求する前に、前記ボックスから読み出される、ステップ、を更に有する、請求項９に記載の非一時的コンピュータ可読記憶媒体。
【請求項１３】
メディアコンテンツのインスタンスの品質情報を生成する方法であって、
メディアコンテンツの前記インスタンスに関する情報を生成するステップであって、前記情報は、メディアコンテンツの前記インスタンスの品質情報を有し、複数の異なる表現はメディアコンテンツの前記インスタンスに関連付けられ、前記複数の表現の中の前記異なる表現の各々は、メディアコンテンツの前記インスタンスの複数の部分を有し、前記複数の部分の中の前記部分の各々は、該部分に関連付けられた個々の品質値を有し、品質値は、メディアコンテンツの前記インスタンスの個々の部分の品質の尺度を有する、ステップと、
複数の異なる表現はメディアコンテンツの前記インスタンスに関連付けられ、前記複数の表現のうちの前記異なる表現の各々は、メディアコンテンツの前記インスタンスの複数の部分を有し、前記複数の部分の中の前記部分の各々は、該部分に関連付けられる個々の品質値を有し、品質値はメディアコンテンツの前記インスタンスの個々の部分の品質の尺度を有し、
前記情報をクライアントに供給するステップであって、前記情報は前記品質値の利用可能性を示す、ステップと、
を有する方法。
【請求項１４】
メディアコンテンツの前記インスタンスの第１の部分の品質値は、前記第１の部分に関連付けられたボックスに含まれる、請求項１３に記載の方法。
【請求項１５】
前記品質情報は、メディアコンテンツの前記インスタンスに関する前記情報の中の要素を有し、前記要素は、前記品質値が前記ボックスの中で利用可能であると示す、請求項１４に記載の方法。
【請求項１６】
前記品質情報は、メディアコンテンツの前記インスタンスに関する前記情報の中の要素を有し、メディアコンテンツの前記インスタンスの第１の部分の品質値は、前記要素の属性である、請求項１３に記載の方法。
【請求項１７】
メディアコンテンツの前記インスタンスの第１の部分の品質値は、メディアコンテンツの前記第１の部分を有する第２のファイルと異なる位置にある第１のファイルに含まれる、請求項１３に記載の方法。
【請求項１８】
前記品質情報は、メディアコンテンツの前記インスタンスに関する前記情報の中の要素を有し、前記要素は、前記品質値が前記第１のファイルの中で利用可能であると示し、前記第１のファイルへのパスを提供する、請求項１７に記載の方法。
【請求項１９】
前記複数の部分の中の前記部分の各々の品質値を判定し及び記録するステップ、を更に有する請求項１３に記載の方法。
【請求項２０】
前記クライアントが前記情報にアクセスできるように、メディアコンテンツの前記インスタンスに関する前記情報を発行するステップ、を更に有する請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連米国出願］
本願は、米国特許出願番号第６１/７５２,７９６号、名称「System  and  Method  for  In−band  Signaling  of  Segment  Quality  for  Smooth  Adaptive  Streaming」、２０１３年１月１５日出願の優先権を主張し、さらに、米国仮特許出願番号第６１/７５２,８３１号、名称「System  and  Method  for  Out−of−band  Signaling  of  Quality  Information」、２０１３年１月１５日出願の優先権を主張する。これら両方の出願は、参照することによりそれらの全体がここに組み込まれる。
【背景技術】
【０００２】
ビデオストリーミングは次第に普及してきており、幾つかの推定によると、ビデオトラフィックは、コンテンツ配信ネットワーク（content  distribution  network：ＣＤＮ）の全トラフィックの５０パーセントを超える。ＤＡＳＨ（Dynamic  Adaptive  Streaming  over  HTTP（HyperText  Transfer  Protocol））は、ＨＴＴＰに基づくコンテンツ配信ネットワークを通じてサーバからクライアントへマルチメディアコンテンツの効率的な配信を促すよう設計される。
【０００３】
Adaptive  Streaming  over  HTTPは、ストリーミングクライアントに、複数の異なるビットレートで符号化された（圧縮された）マルチメディアコンテンツの異なる表現の間で切り替えることを可能にする。各表現は、１又は複数のセグメントに分割され得、各セグメントは１又は複数のサブセグメントに分割され得る。各表現のビットレート情報は、提示のレベル又はセグメント／サブセグメントのレベルで、ＭＰＤ（Media  Presentation  Description）として参照されるメタデータを含む文書を通じてクライアントに提供される。ビットレート情報に基づき、クライアントは、利用可能な帯域幅に従って、ある表現から別の表現へと切り替えることができる。ある表現から別の表現への切り替えは、ＳＡＰ（stream  access  point）として参照されるセグメント／サブセグメントにおいて生じる。したがって、クライアントは、より多くの帯域幅が利用可能なとき、より高いビットレートの表現からのセグメント／サブセグメントをストリーミングでき、より少ない帯域幅が利用可能なとき、より低いビットレートの表現からのセグメント／サブセグメントをストリーミングし得る。一般的に、ビットレート主導適応型ストリーミングは、各クライアントが該クライアントの処理できる最も高い可能なビットレートを有し及び利用可能な帯域幅量の範囲内にある表現を選択しストリーミングするので、本来欲張りである。
【０００４】
品質はビットレートだけに依存しないが、ビットレートは品質レベルに影響を与え得る。品質のゆらぎは、上述のようにクライアントが高い及び低いビットレート表現の間を行ったり来たり切り替えるときのように、帯域幅又はビットレートが時間と共に変化するとき、生じ得る。さらに、ビットレート主導適応型ストリーミングの欲張りな特性は、幾つかの例では、複数のストリーミングクライアント及びアプリケーションが帯域幅を得るために争うとき、利用可能な帯域幅の変化の程度及び頻度を強化し得、それにより品質の揺らぎも強化する。
【０００５】
表現は、ＣＢＲ（constant  bit  rate）バージョン又はＶＢＲ（variable  bit  rate）バージョンとして符号化されても良い。ＣＢＲでは、ビットレートは良好に制御されるので、ほぼ一定である。しかしながら、コンテンツの複雑度は、例えば比較的静的な（複雑度の少ない）シーンから動的な（より複雑な）シーンへと切り替わる結果として、変化し得る。したがって、指定されたビットレートがより複雑なシーンを包み込むほど十分に高くない限り、品質は大幅に揺らぎ得る。しかしながら、高いビットレートの常時使用は、複雑度の少ないシーンでも、これらのシーンがネットワークを介して送信されているとき帯域幅が浪費されることを意味する。
【０００６】
ＶＢＲは制約されなくても良く、又は制約されても良い（最大ビットレートが制限される）。ＶＢＲでは、高いビットレートがより複雑なシーンに割り当てられ得、低いビットレートは複雑度の少ないシーンに割り当てられ得る。その結果、品質の揺らぎは比較的小さいが、特にＶＢＲが制約されるとき品質は依然として一定ではなくても良い。また、高いビットレートの使用は、必ずしも品質を向上しない場合がある。その結果、高いビットレートが使用されるが品質の向上に貢献しないとき、帯域幅が浪費される。
【０００７】
纏めると、ビットレート主導適応型ストリーミングは、少なくとも２つの問題を生じる。つまり、品質の揺らぎ、帯域幅の非効率な使用、である。
【発明の概要】
【０００８】
ネットワークにおいて、例えば無線ネットワークにおいて、帯域幅の活発且つ頻繁な変化に直面する場合が多い。適応型ストリーミングのためのソリューションは、できるだけ多くの帯域幅を使用しながらネットワークの帯域幅の変化に適応する目的で設計される場合が多い。現状のＤＡＳＨ（Dynamic  Adaptive  Streaming  over  HTTP）仕様（例えば、ISO/IEC  ２３００９−１）では、変化する帯域幅への適応は、ビットレート情報のみに基づき表現（又はセグメント／サブセグメント）間で切り替えることにより有効にされる。適応は、表現／セグメント／サブセグメントのビットレートを利用可能帯域幅に整合させることにより実現される。
【０００９】
上述のように、利用可能帯域幅にメディアコンテンツのビットレートを整合させる適応は、結果として、ストリーミングされるコンテンツの品質に有意な揺らぎを生じ得る。これは、視聴者の経験に悪影響を与え得る。つまり、帯域幅の揺らぎは、品質の揺らぎに変換され得る。また、帯域幅は浪費され得る。つまり、低いビットレートが満足のいく品質を生じる特に複雑性の少ないシーンでは、高いビットレートが必ずしも高い品質を意味しない。
【００１０】
本開示による実施形態では、上述の問題は、クライアントに、メディアデータの品質の尺度（例えば、品質値）を供給することにより解決される。本開示による実施形態は、品質値の存在がクライアントへどのようにシグナリングされるか、品質値がクライアントにどのように提供されるか、及び品質値が適応型ストリーミングにおいてクライアントによりどのように使用されるか、にも関連する。
【００１１】
本開示による実施形態では、異なる表現は、メディアコンテンツのインスタンス（例えば、映画）に関連付けられ、１つの表現はメディアコンテンツの複数の部分（例えば、セグメント又はサブセグメント）を含み得る。個々の品質値は、部分の各々に関連付けられ得る。メディアコンテンツのインスタンスに関する情報（例えば、ＭＰＤ（Media  Presentation  Description））が生成される。該情報は、メディアコンテンツのインスタンスの品質情報を有する。コンテンツのインスタンスに関する情報は、品質情報を含み、クライアントによりアクセス可能であり、及び／又はクライアントへ送信できる。品質情報は、品質値の利用可能性、どこにそれら品質値が存在するか、及び／又はどのようにそれらが読み出せるか、を示す。
【００１２】
一実施形態では、メディアコンテンツのインスタンスの部分の品質値は、該部分に関連付けられたボックス（データ構造）に含まれる。このような一実施形態では、ＤＡＳＨ実装では、品質値は、関心部分に関連付けられた「ｓｉｄｘ」ボックスに含まれる。このような実施形態では、メディアコンテンツのインスタンスに関する情報に含まれる品質情報（例えば、ＭＰＤ）は、品質値がボックスの中で利用可能であると示す要素（例えば、ＸＭＬ（Extensible  Markup  Language）要素）を含む。この種のアプローチは、「帯域内」として参照され得る。
【００１３】
一実施形態では、メディアコンテンツのインスタンスに関する情報に含まれる品質情報（例えば、ＭＰＤ）は、要素（例えば、ＸＭＬ要素）を含み、メディアコンテンツのインスタンスの一部の品質値は要素の属性である。この種のアプローチは、「帯域外」として参照され得る。
【００１４】
一実施形態では、メディアコンテンツのインスタンスの一部の品質値は、に、又はメディアコンテンツの第１の部分を含む任意のファイル若しくは場所から離れた（と異なる）第１のファイル若しくは場所に含まれる。このような実施形態では、メディアコンテンツのインスタンスに関する情報に含まれる品質情報（例えば、ＭＰＤ）は、品質値が第１のファイルの中で利用可能であることを示し該ファイルの場所を提供する要素（例えば、ＸＭＬ要素）を含む。この種のアプローチは、帯域外としても参照され得る。
【００１５】
メディアコンテンツのインスタンスをストリーミングするために、クライアントは、品質情報を含むメディアコンテンツのインスタンスに関する情報（例えば、ＭＰＤ）にアクセスできる。クライアントは、上述のように、メディアコンテンツのインスタンスの品質値の存在、及び品質値の場所を、品質情報を介して知らされる。クライアントは、品質値にアクセスし、次にメディアコンテンツのインスタンスの部分（例えば、セグメント又はサブセグメント）を、該部分の品質値に基づき要求できる。
【００１６】
一実施形態では、クライアントは、ビットレートに基づきダウンロードされるべきメディアコンテンツのインスタンスの部分の候補セットを選択し、次に、候補セットの中の部分を、異なる（例えば、低い）ビットレートを有するが依然として満足の行く品質値を有する別の部分で置き換えることができる。メディアコンテンツがダウンロードされている間、クライアントは、単に部分のビットレートに基づくが品質値にも基づき選択された異なる部分で、候補セットの中の部分を置換することにより、利用可能帯域幅の変化に適応できる。
【００１７】
まとめると、本開示に従う実施形態は、ビットレート主導適応を品質認識適応により格納する。品質及びビットレート情報は、より知的な適応型決定を行うために用いられる。その結果、より一貫した品質レベルが提供できる。さらに、ビットレートによってのみ主導される適応とは対照的に、最高ビットレート表現（セグメント／サブセグメント）が、ストリーミングのために常に選択されなくても良い。例えば、満足のいく品質レベルが高いビットレートセグメントに対して低いビットレートセグメントにより達成できる場合、低いビットレートセグメントが選択され得る。したがって、利用可能帯域幅は、より効率的に使用され、帯域幅は不必要に消費されない。
【００１８】
本開示の種々の実施形態の上述の及び他の目的及び利点は、種々の図面に示される実施形態の以下の詳細な説明を読んだ後に、当業者により理解されるだろう。
【図面の簡単な説明】
【００１９】
本願明細書の一部に組み込まれ該一部を形成し同様の参照符号が同様の要素を示す添付の図面は、本開示の実施形態を示し、説明と共に本開示の原理を説明するために役立つ。
【図１】本開示に従う実施形態が実装できるシステム（例えば、ＤＡＳＨシステム）のコンポーネントの例を示すブロック図である。
【図２】本開示に従う一実施形態におけるメディアコンテンツのインスタンスの表現を示す。
【図３】本開示に従う一実施形態におけるメディアコンテンツのインスタンスの一部の一例を示す。
【図４】本開示に従う実施形態における、品質情報を含む、メディアコンテンツを準備するコンピュータが実施する方法の一例のフローチャートである。
【図５】本開示に従う実施形態における、品質値の場所を定め、アクセスし及び使用するコンピュータが実施する方法の一例のフローチャートである。
【図６】本開示に従う実施形態における、品質値に基づき選択されたメディアコンテンツのインスタンスの部分のリストの一例である。
【図７】本開示に従う実施形態における、品質値にアクセスし及び使用するコンピュータが実施する方法の例のフローチャートである。
【図８】本開示に従う実施形態における、品質値にアクセスし及び使用するコンピュータが実施する方法の例のフローチャートである。
【図９】本開示に従う実施形態における、品質値を提供するコンピュータが実施する方法の一例のフローチャートである。
【図１０】本開示に従う実施形態が実装できるコンピューティングシステムの一例のブロック図である。
【発明を実施するための形態】
【００２０】
以下では、本開示の種々の実施形態の詳細を参照する。これらの例は添付の図面に示される。これらの実施形態に関連して記載されるが、それらは本開示をこれらの実施形態に限定することを意図しないことが理解されるだろう。反対に、本開示は、添付の請求の範囲により定められるように本開示の精神及び範囲の範囲内に含まれ得る代替、変更、及び等価物を包含することを意図する。さらに、本開示の以下の詳細な説明では、本開示の完全な理解を提供するために、多くの特定の詳細事項が説明される。しかしながら、本開示はこれらの詳細事項なしに実施できることが理解される。他の例では、本開示の態様を不必要に曖昧にすることを避けるため、良く知られた方法、手順、構成要素及び回路は詳細に説明されない。
【００２１】
以下の詳細な説明の一部は、動作の手順、論理ブロック、処理、及びコンピュータメモリ内のデータビットに対する他の象徴的表現の観点で提供される。これらの説明及び表現は、データ処理技術の当業者により、業務内容を最も効率的に他の当業者に伝えるために用いられる手段である。本願では、手順、論理ブロック、処理、等は、所望の結果を生じるステップ又は命令の首尾一貫したシーケンスであると考えられる。ステップは、物理量の物理的操作を利用するステップである。通常、必ずしも必要ではないが、これらの量は、コンピュータシステムの中で格納され、転送され、結合され、比較され及びその他の場合には操作され得る電気信号又は磁気信号の形式を取る。基本的に一般的に用いられるという理由で、これらの信号をトランザクション、ビット、値、要素、シンボル、文字、サンプル、ピクセル、等として表すことが便利であることが分かっている。
【００２２】
しかしながら、これらの及び類似の語の全ては、適切な物理量に関連付けられ、これらの量に適用される便宜的ラベルに過ぎない。以下の議論から明らかなとき特に断らない限り、本開示を通じて、「受信する」、「識別する」、「関連する」、「アクセスする」、「要求する」、「用いる」、「示す」、「読み出す」、「選択する」、「置換する」、「監視する」、「提供する」、「発行する」、「判定する」、「記録する」、「生成する」、等のような用語を使用する議論は、コンピュータシステム又は同様の電子コンピューティング装置若しくはプロセッサ（例えば、図１０のシステム１００）の動作及び処理（例えば、図４、５、７、８、９のそれぞれフローチャート４００、５００、７００、８００、９００）を参照する。コンピュータシステム又は同様の電子コンピューティング装置は、コンピュータシステムメモリ、レジスタ又は他のこのような情報記憶装置、伝送若しくは表示装置の中で、物理（電子）量として表されるデータを走査し及び変換する。
【００２３】
本願明細書に記載の実施形態は、１又は複数のコンピュータ若しくは装置により実行される、プログラムモジュールのような何らかの形式のコンピュータ可読記憶媒体に存在するコンピュータ実行可能命令の一般的文脈で議論され得る。例として、限定ではなく、コンピュータ可読記憶媒体は、非一時的コンピュータ記憶媒体及び通信媒体を有しても良い。概して、プログラムモジュールは、特定のタスクを実行し又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、等を含む。プログラムモジュールの機能は、種々の実施形態で必要に応じて結合され又は分散されても良い。
【００２４】
コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータのような情報を記憶する方法又は技術で実装される揮発性及び不揮発性、取り外し可能及び非取り外し可能媒体を含む。コンピュータ記憶媒体は、ＲＡＭ（random  access  memory）、ＲＯＭ（read  only  memory）、ＥＥＰＲＯＭ（electrically  erasable  programmable  ROM）、フラッシュメモリ又は他のメモリ技術、ＣＤ−ＲＯＭ（compact  disk  ROM）、ＤＶＤ（digital  versatile  disk）又は他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置、又は所望の情報を格納するために用いることができ及び該情報を読み出すためにアクセスできる任意の他の媒体を含むがこれらに限定されない。
【００２５】
通信媒体は、コンピュータ実行可能命令、データ構造及びプログラムモジュールを具現化でき、任意の情報配信媒体を含む。例として限定ではなく、通信媒体は、有線ネットワーク又は直接有線接続のような有線媒体、並びに音響、ＲＦ（radio  frequency）、赤外線（ＩＲ）のような無線媒体及び他の無線媒体を含む。上述のうちの任意ものの組合せも、コンピュータ可読媒体の範囲に包含されるべきである。
【００２６】
簡単のため、本開示に従う実施形態は、ＤＡＳＨ（Dynamic  Adaptive  Streaming  over  HTTP（Hyper  Text  Transport  Protocol））の文脈で、幾つかの例ではＤＡＳＨの用語を用いて議論され得る。しかしながら、本開示による実施形態は必ずしもＤＡＳＨの実装に限定されないこと、及びＤＡＳＨの用語の使用は必ずしもこのような実施形態をＤＡＳＨの実装に限定しないことが理解される。
【００２７】
図１は、本開示に従う実施形態が実装できるシステム１００（例えば、ＤＡＳＨシステム）のコンポーネントの例を示すブロック図である。サーバ１０５は、（限定ではないが映画のような）記録されたアイテム及び（限定ではないがニュース又はスポーツ放送のような）生のイベントを含むメディアコンテンツの異なるインスタンスのソースである。メディアコンテンツは、オーディオコンテンツ及び／又はビデオコンテンツを有しても良い。
【００２８】
メディアコンテンツのインスタンスは、可変的に符号化される（圧縮される）。つまり、例えば、メディアコンテンツのインスタンスは、異なる符号化スキーム（コーデック）を用いて符号化されても良く、異なる解像度及び帯域幅（ビットレート）を有しても良い。メディアコンテンツのインスタンスは、同じ生コンテンツに基づくが、異なる方法で符号化され得る。言い換えると、コンテンツの同じインスタンスは、異なる解像度及び異なるビットレートで異なるコーデックを用いて符号化されても良い。解像度、ビットレート、等の各々のユニークな組合せは、表現として表される。
【００２９】
サーバ１０５は、メディアコンテンツのインスタンスを符号化し、その他の場合には処理する。あるいは、メディアコンテンツのインスタンスは、別のサーバで符号化され処理され、次にサーバ１０５へ送信されても良い。メディアコンテンツのインスタンスは、クライアント配信ネットワーク（content  delivery  network：ＣＤＮ）１１０を介してクライアント１１５へ送信できる。
【００３０】
ＣＤＮ１１０は、有線若しくは無線又は両者の組合せであっても良い。ＤＡＳＨの実装では、ＣＤＮ１１０は、例えばＨＴＴＰが既存のＷｅｂ構造をコンテンツストリーミングのために使用可能にするので、ＨＴＴＰを利用する。また、ｐａｒｔｉａｌ  ＧＥＴのようなＨＴＴＰコマンドが使用できる。
【００３１】
クライアント１１５は、限定ではないが、ラップトップ、デスクトップ、タブレット、ノートブック、携帯電話機、スマ―トフォン、メディアプレイヤ、カメラ、ゲームコンソール、等のようなある種のコンピューティング装置である。
【００３２】
図２を参照すると、メディアコンテンツ２００の表現１、２、．．．、Ｎは、異なるビットレート、解像度、アスペクト比、等で符号化される。上述のように、メディアコンテンツ２００のインスタンスは、同じ生コンテンツ（例えば、単一の映画）に対応する。つまり、メディアコンテンツの単一のインスタンスの（異なるビットレート、等の）異なる表現が存在し得る。
【００３３】
各表現１、２、．．．、Ｎは、セグメント（ＳＥＧ）に分割されても良く、各セグメントは、サブセグメント（示さない）に分割されても良い。各セグメント又はサブセグメントは、メディアコンテンツ２００のインスタンスの一部を表す。つまり、本願明細書で用いられるように、メディアコンテンツのインスタンスの一部は、セグメント又はサブセグメントを表し得る。表現は、適応セットにグループ化されても良い。適応セットは、メディアコンテンツのインスタンスの中の所与の時間期間の１又は複数の表現を含み得る。
【００３４】
例えば、メディアコンテンツのインスタンスは、任意の数の時間期間に論理的に分割されても良い。１又は複数の適応セットは、各時間期間に関連付けられても良い。１又は複数の表現は、各適応セットに関連付けられても良い。１又は複数の部分は、表現に関連付けられても良い。つまり、１又は複数のセグメントは、各表現に関連付けられても良く、１又は複数のサブセグメントは、各セグメントに関連付けられても良い。
【００３５】
サーバ１０５で利用可能なメディアコンテンツの各インスタンスに関する情報は、クライアント１１５に該コンテンツの利用可能性を知らせる何らかの方法で発行又はブロードキャストされる。ＤＡＳＨの実装では、メディアコンテンツのインスタンスに関する情報は、ＭＰＤ（Media  Presentation  Description）に含まれる。ＭＰＤは、メディアコンテンツの各インスタンスについて準備され発行される。ＭＰＤは、クライアントがアクセス可能なＸＭＬ（Extensible  Markup  Language）文書である。、メディアコンテンツのインスタンスに関する情報（例えば、ＭＰＤ）は、ビットレート、解像度、及びアスペクト比のような該インスタンスの種々の表現の特性を記述し、コンテンツがサーバ１０５からどのように読み出せるかも記述する。例えば、メディアコンテンツのインスタンスに関する情報は、該インスタンスの各セグメント／サブセグメントについてＵＲＬ（Uniform  Resource  Locator）を有し得る。
【００３６】
重大なことに、本開示に従う実施形態では、メディアコンテンツのインスタンスに関する情報は、品質情報も含む。ＤＡＳＨの実装では、品質情報はＭＰＤに含まれる。
【００３７】
一般的に、品質の尺度（例えば、１又は複数の品質値）が生成され、クライアント１１５に利用可能にされる。品質の尺度は、表現レベルで（例えば、メディアコンテンツのインスタンスの表現の中の全てのセグメントについて１つの品質値）、又はセグメント／サブセグメントレベルで（メディアコンテンツのインスタンスの部分毎の品質値）提供されても良い。メディアコンテンツのインスタンスに関する情報に含まれる品質情報は、品質の尺度が該インスタンスのために利用可能であることを示す。品質情報は、品質値がどこに存在するか、及び／又はそれらが読み出せるか、も示す。
【００３８】
クライアント１１５は、適応型ストリーミングの間、より知的な決定を行うために、品質の尺度を用いることができる。より具体的には、クライアント１１５は、適応型ストリーミングの間に決定を行うとき、ビットレートと品質の尺度の両方を考慮できる。ビットレート及び品質の尺度に基づき、クライアント１１５は、ネットワーク１１０（図１）の中で利用可能な帯域幅に基づき適切なセグメント／サブセグメントを選択でき、これらのセグメント／サブセグメントをＨＴＴＰ要求を介してサーバ１０５から読み出すことができる。
【００３９】
品質値は、「帯域内」又は「帯域外」で提供されても良い。以下に、帯域内及び帯域外アプローチが記載される。次に、品質値の生成、及び適応型ストリーミングにおけるそれらの使用が記載される。
【００４０】
＜帯域内アプローチ＞
本開示に従う幾つかの実施形態では、品質値は帯域内（in−band）で提供される。つまり、品質値は、メディアコンテンツを構成するデータと共に提供される。図３は、ＤＡＳＨの実装におけるセグメント３００の一例を示す。セグメント３００は、それ自体のＵＲＬを用いて識別されアクセスでき、別のそのようなセグメントとは別にクライアントにダウンロードできる。
【００４１】
ＩＳＯ（International  Organization  for  Standardization）に基づくメディアファイルフォーマットに準拠するファイルは、オブジェクト又は「ボックス」と呼ばれるデータ構造のシリーズとして形成される。ボックスは、基本的に、オブジェクト指向のビルディングブロックは、unique型識別子により定められ、長さフィールド及びペイロードを有する。セグメント３００は、多数のこのようなボックス、ｓｔｙｐ、ｓｉｄｘ、ｍｏｏｆ、ｍｄａｔを有する。
【００４２】
ｓｔｙｐボックスは、セグメントタイプを指定する。ｓｉｄｘボックスは、セグメント３００のインデックス情報を含む。ｍｏｏｆボックスは、メディアコンテンツのフラグメントのメタデータを含む。そして、ｍｄａｔボックスは、該フラグメントのメディアデータ（例えば、オーディオ及び／又はビデオフレーム）を含む。初期化セグメント３０５は、メディアコンテンツを初期化するために用いられるメディアコンテンツを指定する。
【００４３】
帯域内実施形態では、セグメント３００の品質の尺度は、ｓｉｄｘボックスに含まれる。より具体的には、一実施形態では、ｓｉｄｘボックスに従来含まれる情報は、表１の例に示すように拡張される。
【００４４】
表１では、アスタリスク（*）は、ｓｉｄｘボックスの拡張部分を識別するために用いられ、「quality_value」は参照されるセグメント／サブセグメントの中のメディアデータの品質を示す値であり、「scale_factor」は品質値の精度を制御する。
［表１］拡張ｓｉｄｘボックスの例
【数１】
2018023133.tif 000003
【００４５】
ｑｉｄｘボックスは、生ストリーミングで用いられるセグメントのｓｉｄｘボックスの比較的簡易なバージョンとして定めることができる。ｑｉｄｘボックスに含まれ得る情報の種類は、表２の例に示される。
［表２］ｑｉｄｘボックスの例
【数２】
2018023133.tif 000004
【００４６】
ｑｉｄｘボックスは、ｓｔｙｐボックスの後、ｍｏｏｆ及びｍｄａｔボックスの前に配置され得る。
【００４７】
一実施形態では、メディアコンテンツのインスタンスに関する情報に含まれる品質情報（例えば、ＭＰＤ）は、セグメントボックス（例えば、ｓｉｄｘボックス又はｑｉｄｘボックス）の中の品質の尺度の存在をシグナリングしどんな品質メトリックが用いられるかを示す要素（例えば、ＸＭＬ要素）を有する。表３は、ＤＡＳＨの実装においてＭＰＤに含まれ得るＸＭＬ要素を定める。言い換えると、ＤＡＳＨの実装において、ＭＰＤは新しい要素（QualityMetric）を含むよう拡張される。
【００４８】
表３で、要素名は「QualityMetric」であり、その属性は「@schemeIDUri」、「@value」、及び「@accuracy」を含む。要素は、適応セットレベルで又表現レベルで適用されても良い。
［表３］ＭＰＤ要素及び属性の例（帯域内）
【数３】
2018023133.tif 000005
【００４９】
品質の尺度は、例えば、ＰＳＮＲ（peak  signal−to−noise  ratio）、ＭＯＳ（mean  opinion  score）、又はＳＳＩＭ（structural  similarity  index）として表されても良い。
【００５０】
一実施形態では、品質メトリックに関する全体情報を提供するために、ｑｉｎｆｏボックスが定められ、初期化セグメント３０５に含められる。ｑｉｎｆｏボックスに含まれ得る情報の種類は、表４の例に示される。
［表４］ｑｉｎｆｏボックスの例
【数４】
2018023133.tif 000006
【００５１】
帯域内アプローチは、品質値を含むようｓｉｄｘボックスを拡張し、それにより後方互換性を維持することにより、既存のインデックスメカニズム（例えば、ｓｉｄｘ）を用いて実装できるので、有利である。また、品質値を伝達するために追加ファイルが必要ない。
【００５２】
＜帯域外アプローチ＞
本開示に従う幾つかの実施形態では、品質値は、帯域外（out−of−band）で提供される。
【００５３】
帯域外実施形態では、メディアコンテンツのインスタンスに関する情報に含まれる品質情報（例えば、ＭＰＤ）は、品質の尺度（１つの属性としての品質値）を含む要素（例えば、ＸＭＬ要素）を含む。言い換えると、ＤＡＳＨの実装において、ＭＰＤは新しい要素（QualityTimeline）を含むよう拡張される。
【００５４】
表５は、ＤＡＳＨの実装においてＭＰＤに含まれ得るＸＭＬ要素の一例を定める。表５で、要素名は「QualityTimeline」であり、その属性は「@qualityMetric」、「@scaleFactor」、「@s」、「@n」、「@sf」、「@q」及び「@b」を含む。一実施形態では、QualityTimeline要素は、セグメントレベルで適用される。
［表５］ＭＰＤ要素及び属性の例（帯域外）
【数５】
2018023133.tif 000007
【００５５】
ランレングスコーディングは、QualityTimeline要素のサイズを圧縮するために用いることができる。Ｑ要素は、同じ品質及びビットレートを有する１又は複数の（サブ）セグメントを含む。つまり、各Ｑ要素の中の（サブ）セグメントの数は、属性@nにより示される。品質及び／又はビットレート（@q及び／又は@bの値）は量子化でき、したがって、近い品質及びビットレートを有する（サブ）セグメントは一緒にグループ化できる。QualityTimeline要素の設計は、非線形量子化を可能にする。スケール係数（@scaleFactor）のデフォルト値は要素レベルで存在でき、スケール係数は各Ｑ要素に存在できる。後者の値は、デフォルトスケール係数を上書きする。ビットレート及びサイズは、各（サブ）セグメントの期間が分かる場合、互いから導出できる。しかしながら、ビットレートは、より少ない桁数及び少ない空間を用いて表すことができる。ビットレート（@b）は、表５の例で用いられる。ビットレートがＭＰＤから得られるので、表５の実施形態は、ｓｉｄｘボックスがメディアセグメントの中に存在しない場合でも使用できる。
【００５６】
別の帯域外実施形態では、品質値は、別個のインデックスファイルの中で提供される。つまり、品質値は、メディアコンテンツ自体を含む任意のファイル又は複数のファイルと異なる場所にあるファイル（本願明細書では、品質インデックスファイルとして参照される）に含まれる。このような実施形態では、メディアコンテンツのインスタンスに関する情報に含まれる品質情報（例えば、ＭＰＤ）は、品質インデックスファイルの場所を識別する要素（例えば、ＸＭＬ要素）を含む。言い換えると、ＤＡＳＨの実装において、ＭＰＤは新しい要素（QualityIndex）を含むよう拡張される。
【００５７】
表６は、ＤＡＳＨの実装においてＭＰＤに含まれ得るＸＭＬ要素の一例を定める。表６で、要素名は「QualityIndex」であり、その属性は「@sourceURL」及び「@range」を含む。一実施形態では、QualityIndex要素は、表現レベルで適用される。
［表６］ＭＰＤ要素及び属性の例（帯域外）
【数６】
2018023133.tif 000008
【００５８】
品質インデックスファイルに含まれ得る情報の種類は、表７に示される。
［表７］品質インデックスファイルの例
【数７】
2018023133.tif 000009
【００５９】
表７で、「quality_value」は、参照される表現の中のメディアデータの品質を示す値である。「scale_factor」は、品質値の精度を制御する。「quality_metric」は、品質を表すために用いられるメトリックの種類を示す（例えば、１＝PSNR、２＝MOS、３＝ＳＳＩＭ）。
【００６０】
帯域外アプローチは、例えば、品質値が関連するメディアセグメントが要求される前に独立して読み出すことができるよう、品質値がメディアコンテンツと別個に伝達され配信され得るので、有利である。
【００６１】
＜メディアコンテンツの表現＞
図４は、本開示に従う一実施形態における、品質情報を含む、メディアコンテンツを準備するコンピュータが実施する方法の一例のフローチャート４００である。フローチャート４００は、何らかの形式の非一時的コンピュータ可読記憶媒体に存在するコンピュータ実行可能命令として実施できる。フローチャート４００の動作は、図１のシステム１００のサーバ側で（例えば、サーバ１０５により、又はサーバ１０５に通信可能に結合された１又は複数のサーバにより）実施できる。一例としてメディアコンテンツの単一のインスタンスを用いて記載されるが、動作は、メディアコンテンツの複数のインスタンスに直ちに拡張できる。
【００６２】
図４のブロック４０２で、メディアコンテンツのインスタンスは、異なるビットレートで複数の表現に符号化される。コンテンツは、ＶＢＲ又はＣＢＲに符号化され得る。
【００６３】
ブロック４０４で、一実施形態では、各表現は、より小さな部分（例えば、セグメント／サブセグメント）に分割される。部分は、異なる長さ（異なる時間期間）であっても良い。
【００６４】
ブロック４０６で、各表現の各部分の品質は、判定され、記録される。品質を判定する技術は従来知られている。
【００６５】
ブロック４０８で、表現は、セグメントにカプセル化される。セグメントはサブセグメントに更に分割されても良い。
【００６６】
ブロック４１０で、部分（セグメント／サブセグメント）は、サーバ（例えば、図１のサーバ１０５）へ送信され、そこに格納される。
【００６７】
ブロック４１２で、どんなメディアコンテンツが利用可能であるか及びどのようにそれがアクセスされ読み出すことができるかを記述する、メディアコンテンツのインスタンスに関する情報（例えば、ＭＰＤ）が生成される。本開示の実施形態によると、メディアコンテンツのインスタンスに関する情報（例えば、ＭＰＤ）は、品質情報（帯域内又は帯域外）を有する。品質情報は、品質値が利用可能であること、どこにそれら品質値が存在するか、及び／又はどのようにそれらが読み出せるか、を示す。
【００６８】
帯域内実施形態では、ＤＡＳＨの実装において、品質情報は、上述のＭＰＤの中のQualityMetric要素を有する。
【００６９】
帯域外実施形態では、ＤＡＳＨの実装において、品質情報は、上述のQualityTimeline要素を有する。
【００７０】
帯域外実施形態では、ＤＡＳＨの実装において、品質情報は、上述のQualityIndex要素を有する。
【００７１】
ブロック４１４で、品質情報（例えば、ＭＰＤ）を含む、メディアコンテンツのインスタンスに関する情報は、発行され、ＵＲＬを用いて例えばウェブページ上でクライアントによりアクセス可能になる。クライアントは、例えばウェブブラウザ、電子メール、ＳＭＳ（Short  Message  Service）、等を用いてメディアコンテンツのインスタンスに関する情報にアクセスできる。
【００７２】
＜品質認識適応型ストリーミング＞
図５は、本開示に従う一実施形態における、品質値の場所を定め、アクセスし及び使用するコンピュータが実施する方法の一例のフローチャート５００である。フローチャート５００は、何らかの形式の非一時的コンピュータ可読記憶媒体に存在するコンピュータ実行可能命令として実施できる。フローチャート５００の動作は、図１のシステム１００のクライアント側で（例えば、クライアント１１５により）実施できる。
【００７３】
図５のブロック５０２で、クライアントは、品質情報を含む、メディアコンテンツのインスタンスに関する情報（例えば、ＭＰＤ）にアクセスする（リードする又は読み出す）。クライアントは、どの表現がサーバ１０５（図１）で利用可能か、及び帯域幅、解像度、使用されるコーデック、等のようなそれらの特性を識別するために、メディアコンテンツのインスタンスに関する情報をパースし得る。
【００７４】
一実施形態では、ＤＡＳＨの実装で、上述のQualityMetric要素が存在する場合、クライアントは、帯域内品質情報が利用可能である（例えば、品質値がｓｉｄｘ又はｑｉｄｘボックスの中にある）ことを知る。
【００７５】
一実施形態では、ＤＡＳＨの実装で、上述のQualityTimeline要素が存在する場合、クライアントは、帯域外品質情報が利用可能である（例えば、品質値が要素の属性である）ことを知る。
【００７６】
一実施形態では、ＤＡＳＨの実装で、上述のQualityIndex要素が存在する場合、クライアントは、帯域外品質情報が利用可能である（例えば、品質値が別個の品質インデックスファイルの中にあり、該品質インデックスファイルの場所は要素の中に含まれる）ことを知る。
【００７７】
ブロック５０４で、クライアントは、例えば自身の能力又はユーザの好みに基づき表現のセットを選択する。
【００７８】
図５のブロック５０６で、表現のセットから、及びコンテンツのインスタンスに関する情報（例えば、ＭＰＤ）を用いて、クライアントは、時間に渡りダウンロードされるべき候補部分（セグメント／サブセグメント）のリストを選択する。言い換えると、クライアントは、メディアコンテンツのインスタンスの（時間における）長さに渡る時間に対する部分のマップを生成する。基本的に、クライアントは、時間期間毎に部分を選択する。最初に、一実施形態では、クライアントは、ビットレートに基づき候補部分を選択する。一般的には、この点において、クライアントは、自身が取り扱える（処理できる）最高ビットレートで部分を選択する。
【００７９】
図６は、３つの異なる表現Ｒ１、Ｒ２、Ｒ３がクライアントにより選択される例を示す。表現Ｒ１の第１の部分は、時間期間Ｔ０からＴ１の間（ここで、Ｔ０はメディアコンテンツのインスタンスの開始と一致する）、Ｒ１Ｐ０として識別され、１Ｍｂｐｓのビットレート及び５の品質レベルを有する（本例では、任意の品質単位が用いられる）。同様に、表現Ｒ２の第１の部分は、時間期間Ｔ０からＴ１の間、Ｒ２Ｐ０として識別され、０．５Ｍｂｐｓのビットレート及び４の品質レベルを有する。そして、表現Ｒ３の第１の部分は、時間期間Ｔ０からＴ１の間、Ｒ３Ｐ０として識別され、０．２５Ｍｂｐｓのビットレート及び３の品質レベルを有する。異なる時間期間の間の他の部分は、同様に識別され、示されるように個々のビットレート及び品質レベルを有する。
【００８０】
図５のブロック５０６で、ビットレートに基づき、候補部分の初期リスト６００は、最初にＲ１Ｐ０、Ｒ１Ｐ１、Ｒ１Ｐ２、及びＲ１Ｐ３を有する。
【００８１】
ブロック５０８で、クライアントは、表現（Ｒ１、Ｒ２、Ｒ３）の選択されたセットの中の部分の品質値にアクセスする（リードする）。
【００８２】
帯域内実施形態では、クライアントは、ｓｉｄｘボックス又はｑｉｄｘボックスから品質値を得ることができる。クライアントは、必ずしも、品質値を得るために各部分（例えば、メディアセグメント全体）を要求する必要はない。代わりに、クライアントは、ｓｉｄｘ又はｑｉｄｘボックスを構成する部分の比較的小さい部分を要求し得る。例えば、表現（Ｒ１、Ｒ２、Ｒ３）の選択されたセットの中の各部分について、クライアントは、ＨＴＴＰ  ｐａｒｔｉａｌ  ＧＥＴコマンドを用いてｓｉｄｘ又はｑｉｄｘボックスを要求し、該ボックスから品質値を読み出すことができる。
【００８３】
帯域外実施形態では、クライアントは、メディアコンテンツのインスタンスに関する情報自体から（例えば、ＭＰＤ自体から）品質値を得ることができる。
【００８４】
別の帯域外実施形態では、クライアントは、メディアコンテンツのインスタンスに関する情報の中で（例えば、ＭＰＤの中で）指定されたから品質インデックスファイル品質値を得ることができる。
【００８５】
ブロック５１０で、クライアントは、候補部分の初期リスト６００の中の部分を、満足できる品質を有するより低いビットレートの部分で置換し得る。一実施形態では、クライアントは、各部分に品質値を、閾値のような所定の要件と比較できる。品質要件は、例えば、歴史的経験又はユーザの好みに基づく所定値であり得、又はダウンロードされた（サブ）セグメントの品質レベルから導出された動的値であり得る。部分の品質値が品質要件を満たす場合、該部分は、リストの中で、より低いビットレートの部分で置換され得る。一実施形態では、部分の関連するビットレートに関係なく、閾値に最も近い品質値を有する部分が選択される。別の実施形態では、部分の関連するビットレートに関係なく、最も高いが閾値を超えない品質値を有する部分が選択される。
【００８６】
図６の例では、品質閾は４である（これは、説明目的で選択された任意の値である）。時間期間Ｔ０からＴ１の間、部分Ｒ１Ｐ０、Ｒ２Ｐ０、及びＲ３Ｐ０は、全て、品質閾を満たす。しかしながら、Ｒ３Ｐ０は、最低ビットレートを有するので選択され、Ｒ３Ｐ０は候補部分の品質認識リスト６１０の中でＲ１Ｐ０を置き換える。同様に、Ｒ２Ｐ１はＲ１Ｐ１を置き換えるために選択され、Ｒ３Ｐ３はＲ１Ｐ３を置き換えるために選択される。
【００８７】
したがって、従来のアプローチと対照的に、最高の可能なビットレートを有する部分（セグメント／サブセグメント）は、必ずしもクライアントにより要求されダウンロードされない。したがって、帯域幅が節約される。
【００８８】
同様に、クライアントは、メディアコンテンツのインスタンスの部分について、時間に渡り品質及びビットレートの詳細な品質認識リスト６１０を構成できる。起動遅延を短縮するために、これは、バックグラウンドで、ストリーミングの開始後に行われ得る。
【００８９】
したがって、従来のアプローチと対照的に、最高の可能なビットレートを有する部分（セグメント／サブセグメント）は、必ずしもクライアントにより要求されダウンロードされない。したがって、帯域幅が節約される。
【００９０】
図５のブロック５１２で、クライアントは、リスト６１０に載っていない部分（セグメント又はサブセグメント）を順番に要求する。基本的に、クライアントは、候補部分のリスト６１０を通して動作し、各部分を順々に要求する。
【００９１】
ブロック５１４で、クライアントは、ネットワーク条件、特に利用可能帯域幅を監視する。クライアントが特定の部分を要求しようとしているが、利用可能帯域幅が該部分のビットレートより少なく低下している場合、クライアントは、利用可能帯域幅を満たすビットレートを有する別の部分を選択できる。例えば、クライアントは、ある時点でネットワークの中の利用可能帯域幅の量を示す情報にアクセスでき、その時点に及ぶ間隔の間にダウンロードされるべきとスケジューリングされた、リスト６１０の中の部分を、利用可能帯域幅の量を満たす個々のビットレート値を有する別の部分で置き換えることができる。クライアントが異なるビットレートの複数の部分（例えば、セグメント）からの置換を選択できる場合、上述と同様の方法で、置換を選択するために品質レベルが使用できる。言い換えると、部分Ｐ１がリスト６１０の中で部分Ｐ２又は部分Ｐ３により置換され、部分Ｐ２は、部分Ｐ３より低いビットレートだが同じ又は同様の品質レベルを有する場合、部分Ｐ２が選択され得る。
【００９２】
図７及び８は、それぞれ、本開示に従う実施形態におけるコンピュータにより実施される方法の例のフローチャート７００及び８００である。フローチャート７００及び８００は、何らかの形式の非一時的コンピュータ可読記憶媒体に存在するコンピュータ実行可能命令として実施できる。特に、フローチャート７００及び８００に含まれる動作は、図１のシステム１００のクライアント側で（例えば、クライアント１１５により）実施できる。
【００９３】
図７のブロック７０２で、メディアコンテンツのインスタンスに関する情報がアクセスされる（例えば、ＭＰＤがアクセスされる）。情報は、メディアコンテンツのインスタンスの部分の品質値を示す品質情報を有する。品質値は、帯域内又は帯域外であっても良く、品質情報は、品質値の存在及び品質値の場所の両方を示す。
【００９４】
ブロック７０４で、品質情報により示される品質値がアクセスされる。
【００９５】
ブロック７０６で、メディアコンテンツのインスタンスの部分がアクセスされる。部分は、第１の部分の品質値を用いて選択される。
【００９６】
ブロック７０８で、第１の部分が受信される。
【００９７】
図８のブロック８０２で、コンテンツ配信ネットワークの中の利用可能帯域幅の量がアクセスされる。
【００９８】
ブロック８０４で、メディアコンテンツのインスタンスの部分が識別される。部分は、利用可能帯域幅の量を満たす個々のビットレートを有する。部分は、該部分に関連付けられた品質の個々の尺度（品質値）も有する。
【００９９】
ブロック８０６で、部分のうちの第１の部分がダウンロードされるために選択される。第１の部分は、該第１の部分に関連付けられた品質の尺度に従って選択される。
【０１００】
ブロック８０８で、第１の部分は、コンテンツ配信ネットワークを介した配信のために要求される。
【０１０１】
図９は、本開示に従う一実施形態における、コンピュータが実施する方法の一例のフローチャート９００である。フローチャート９００は、何らかの形式の非一時的コンピュータ可読記憶媒体に存在するコンピュータ実行可能命令として実施できる。フローチャート９００の動作は、図１のシステム１００のサーバ側で（例えば、サーバ１０５により、又はサーバ１０５に通信可能に結合された１又は複数のサーバにより）実施できる。
【０１０２】
図９のブロック９０２で、メディアコンテンツのインスタンスに関する情報が生成される。該情報は、メディアコンテンツのインスタンスの品質情報を有する。メディアコンテンツのインスタンスの各部分は、該部分に関連付けられた個々の品質値を有する。
【０１０３】
ブロック９０４で、品質情報に含まれる情報は、クライアントに提供される。品質情報は、本願明細書で前述したように、品質値の利用可能性、及びそれらをどのように見付けるか、を示す。
【０１０４】
まとめると、本開示に従う実施形態は、ビットレート主導適応を品質認識適応により格納する。品質及びビットレート情報は、より知的な適応型決定を行うために用いられる。その結果、より一貫した品質レベルが提供できる。さらに、ビットレートによってのみ主導される適応とは対照的に、最高ビットレート表現（セグメント／サブセグメント）が、ストリーミングのために常に選択されなくても良い。例えば、満足のいく品質レベルが高いビットレートセグメントに対して低いビットレートセグメントにより達成できる場合、低いビットレートセグメントが選択され得る。したがって、利用可能帯域幅は、より効率的に使用され、帯域幅は不必要に消費されない。
【０１０５】
ネットワークオペレータ（コンテンツプロバイダ）及びコンテンツサブスクライバの両者が利益を得ることができる。オペレータは、ネットワークリソースをより効率的に使用することにより、より多くのサブスクライバを収容できるので、利益を得ることができる。サブスクライバは、彼らが許容可能な品質レベルでコンテンツをストリーミングでき、同時に消費に基づくデータプランで過ごすことが少ないので、利益を得る。また、クライアント装置により消費されるエネルギは低減され得る。これは、特に、電力消費が帯域幅使用に直接関連するので、電力の制約のあるモバイル装置にとって有意義である。
【０１０６】
図１０は、本開示に従う実施形態を実施可能なコンピューティングシステム１０００の一例のブロック図である。コンピューティングシステム１０００は、コンピュータ可読命令を実行可能な単一又は複数プロセッサコンピューティング装置若しくはシステムを広義に表す。コンピューティングシステム１０００は、図１のサーバ１０５により提供される機能、又はシステム１００の中の他のサーバコンポーネントのうちの任意のものを実装するために使用できる。コンピューティングシステム１０００は、図１のクライアント１１５の機能を実装するためにも使用できる。実装に依存して、コンピューティングシステム１０００は、図１０に示す要素の全部を有しなくても良く、及び／又は図１０に示す要素に追加して要素を有しても良い。
【０１０７】
最も基本的な構成では、コンピューティングシステム１０００は、少なくとも１つのプロセッサ１００２（ＣＰＵ）と、少なくとも１つのメモリ１００４と、を有しても良い。プロセッサ１００２は、通常、データを処理し又は命令を解釈し実行することができる任意の種類又は形式の処理ユニットを表す。特定の実施形態では、プロセッサ１００２は、ソフトウェアアプリケーション又はモジュールから命令を受信しても良い。これらの命令は、プロセッサ１００２に、本願明細書に記載された及び／又は示された例示的な実施形態のうちの１又は複数の機能を実行させても良い。
【０１０８】
メモリ１００４は、通常、データ及び／又は他のコンピュータ可読命令を格納することができる任意の種類若しくは形式の揮発性又は不揮発性記憶装置若しくは媒体を表す。特定の実施形態では、コンピューティングシステム１０００は、（例えば、メモリ１００４のような）揮発性メモリユニットと、不揮発性記憶装置（図示しない）と、の両方を有しても良い。
【０１０９】
コンピューティングシステム１０００は、プロセッサ１００２に動作可能に結合されるディスプレイ装置１００６も有しても良い。ディスプレイ装置１００６は、通常、ユーザとコンピューティングシステムとの間のインタフェースの使いやすさを提供するＧＵＩ（graphical  user  interface）を表示するよう構成される。
【０１１０】
コンピューティングシステム１０００は、プロセッサ１００２に動作可能に結合される入力装置１００８も有しても良い。入力装置１００８は、ユーザのタッチからの入力を受信し及びこの情報をプロセッサ１００２へ送信するよう構成される接触検知装置（タッチスクリーン）を有しても良い。プロセッサ１００２は、そのプログラミングに従ってタッチを解釈する。
【０１１１】
入力装置１００８は、ディスプレイ装置１００６に統合されても良く、或いは、別個のコンポーネントであっても良い。図示の実施形態では、入力装置１００８は、ディスプレイ装置１００６の上方に又はその前に位置付けられるタッチスクリーンである。入力装置１００８及びディスプレイ装置１００６は、本願明細書では集合的にタッチスクリーンディスプレイ１００７として表され得る。
【０１１２】
図１０の通信インタフェース１０２２は、例示的なコンピューティングシステム１０００と１又は複数の追加装置との間の通信を実現することができる任意の種類若しくは形式の通信装置又はアダプタを広義に表す。例えば、通信インタフェース１０２２は、コンピューティングシステム１０００と追加コンピューティングシステムを含む私設若しくは公衆ネットワークとの間の通信を実現しても良い。通信インタフェース１０２２の例は、限定ではなく、（ネットワークインタフェースカードのような）有線ネットワークインタフェース、（無線ネットワークインタフェースカードのような）無線ネットワークインタフェース、モデム、及び任意の他の適切なインタフェースを含む。一実施形態では、通信インタフェース１０２２は、インターネットのようなネットワークへの直接リンクを介してリモートサーバへの直接接続を提供する。通信インタフェース１０２２は、任意の他の適切な接続を通じてこのような接続を間接的にも提供しても良い。通信インタフェース１０２２は、外部バス又は通信チャネルを介して、コンピューティングシステム１０００と１又は複数の追加ネットワーク若しくは記憶装置との間の通信を実現するよう構成されるホストアダプタも表し得る。
【０１１３】
図１０に示すように、コンピューティングシステム１０００は、少なくとも１つの入力／出力（Ｉ／Ｏ）装置１０１０も有しても良い。Ｉ／Ｏ装置１０１０は、通常、コンピュータ若しくは人間の生成した入力又は出力をコンピューティングシステム１０００へ／から提供する／受信することができる任意の種類又は形式の入力装置を表す。>Ｉ／Ｏ装置１０１０の例は、限定ではなく、キーボード、ポインティング若しくはカーソル制御装置（例えば、マウス）、会話認識装置、又は任意の他の入力装置を有する。
【０１１４】
多くの他の装置又はサブシステムが、コンピューティングシステム１０００に接続されても良い。逆に言えば、図１０に示すコンポーネント及び装置の全部が、本願明細書に記載の実施形態を実施するために存在する必要はない。上述の装置及びサブシステムは、図１０に示すのと異なる方法で相互接続されても良い。コンピューティングシステム１０００は、任意の数のソフトウェア、ファームウェア、及び／又はハードウェア構成も用いても良い。例えば、本願明細書に開示した例示的な実施形態は、コンピュータプログラム（コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御ロジックとしても表される）としてコンピュータ可読媒体上に符号化されても良い。
【０１１５】
コンピュータプログラムを含むコンピュータ可読媒体は、コンピューティングシステム１０００にロードされても良い。コンピュータ可読媒体に格納されたコンピュータプログラムの全部又は一部は、次に、メモリ１００４に格納されても良い。プロセッサ１００２により実行されると、コンピューティングシステム１０００にロードされたコンピュータプログラムは、本願明細書に記載の及び／又は示された例示的な実施形態の機能をプロセッサ１００２に実行させ及び／又は実行する手段になっても良い。追加又は代替で、本願明細書に記載の及び／又は示された例示的な実施形態は、ファームウェア及び／又はハードウェアで実装されても良い。
【０１１６】
以上の開示は、特定のブロック、図、フローチャート、及び例を用いて種々の実施形態を説明したが、本願明細書に記載され及び／又は示された各ブロック図のコンポーネント、フローチャートのステップ、動作、及び／又はコンポーネントは、様々なハードウェア、ソフトウェア、又はファームウェア（又はそれらの任意の組合せ）の構成を用いて個別に及び／又は集合的に実装されても良い。さらに、同じ機能を達成するために多くの他のアーキテクチャが実装できるので、他のコンポーネントに含まれるコンポーネントの任意の開示は、例として考えられるべきである。
【０１１７】
本願明細書に開示及び／又は示した処理パラメータ及びステップのシーケンスは、単に例として与えられ、必要に応じて変更できる。例えば、本願明細書に示した及び／又は記載のステップは特定の順序で示され又は議論され得るが、これらのステップは、必ずしも示され又は議論された順序で実行される必要はない。本願明細書に記載した及び／又は示した種々の例は、記載した又は示した１又は複数のステップを省略し、又は開示のステップに加えて追加ステップを有しても良い。
【０１１８】
種々の実施形態が本願明細書に完全に機能的コンピューティングシステムの文脈で記載され及び／又は図示されたが、これらの例示的な実施形態のうちの１又は複数は、実際に分配を実行するために用いられる特定の種類のコンピュータ可読媒体に係わらず、種々の形式でプログラムプロダクトとして分配されても良い。本願明細書に開示の実施形態は、特定のタスクを実行するソフトウェアモジュールを用いて実装されても良い。これらのソフトウェアモジュールは、コンピュータ可読記憶媒体に又はコンピューティングシステムに格納され得るスクリプト、バッチ、又は他の実行ファイルを有しても良い。これらのソフトウェアモジュールは、本願明細書に開示の例示的な実施形態のうちの１又は複数を実行するためにコンピューティングシステムを構成しても良い。本願明細書に開示のソフトウェアモジュールのうちの１又は複数は、クラウドコンピューティング環境の中で実装されても良い。クラウドコンピューティング環境は、インターネットを介して種々のサービス及びアプリケーションを提供し得る。これらのクラウドに基づくサービス（例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしてインフラストラクチャ、等）は、ウェブブラウザ又は他のリモートインタフェースを通じてアクセス可能であっても良い。本願明細書に開示の種々の機能は、リモートデスクトップ環境又は任意の他のクラウドに基づくコンピューティング環境を通じて提供されても良い。
【０１１９】
前述の記載は、説明を目的として、特定の実施形態を参照して記載された。しかしながら、以上の説明のための議論は、網羅的であること若しくは本発明を開示の緻密な形式に限定することを意図しない。上述の教示の観点で多くの修正及び変形が可能である。実施形態は、本発明及びその実用的用途を最適に説明し、それにより当業者が本発明及び想定される特定の使用に適するように種々の変更を伴う種々の実施形態を最適に利用できるようにするために選択され記載された。
【０１２０】
本発明に従う実施形態は、このように記載される。本開示は特定の実施形態で記載されたが、本発明はこのような実施形態により限定されると解釈されるべきではなく、以下の請求の範囲に従って解釈されるべきである。
【図１】
2018023133.tif 000010
【図２】
2018023133.tif 000011
【図３】
2018023133.tif 000012
【図４】
2018023133.tif 000013
【図５】
2018023133.tif 000014
【図６】
2018023133.tif 000015
【図７】
2018023133.tif 000016
【図８】
2018023133.tif 000017
【図９】
2018023133.tif 000018
【図１０】
2018023133.tif 000019
【手続補正書】
【提出日】平成29年9月27日(2017.9.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クライアント装置であって、
プロセッサと、
前記プロセッサに結合されるメモリと、
を有し、前記メモリは、前記装置により実行される場合前記装置に動作を実行させる命令を格納し、前記動作は、
メディアコンテンツのインスタンスに関する情報にアクセスするステップであって、前記情報は、メディアコンテンツの前記インスタンスの部分の品質値の利用可能性を示す品質情報を有し、前記部分は、該部分に関連付けられた個々のビットレートを有し、前記品質値は、メディアコンテンツの前記インスタンスの前記部分の品質の尺度を有する、ステップと、
複数の異なる表現はメディアコンテンツの前記インスタンスに関連付けられ、前記複数の表現のうちの前記異なる表現の各々は、メディアコンテンツの前記インスタンスの複数の部分を有し、前記複数の部分の中の前記部分の各々は、該部分に関連付けられる個々の品質値を有し、品質値はメディアコンテンツの前記インスタンスの個々の部分の品質の尺度を有し、
前記品質情報により示される前記品質値にアクセスするステップと、
ダウンロードのために、前記部分の第１の部分を選択するステップであって、前記第１の部分は、前記品質値のうちの１つの品質値を用いて選択される、ステップと、
を有する、クライアント装置。
【請求項２】
前記品質値は、前記第１の部分に関連付けられたボックスに含まれ、前記品質値にアクセスする前記ステップは、前記第１の部分を要求する前に、前記ボックスから前記品質値を読み出すステップを有する、請求項１に記載の装置。
【請求項３】
前記品質情報は、前記品質値が前記ボックスの中で利用可能であると示す要素を有する、請求項２に記載の装置。
【請求項４】
前記品質情報は要素を有し、前記品質値は前記要素の属性である、請求項１に記載の装置。
【請求項５】
前記品質値は、メディアコンテンツの前記インスタンスの前記第１の部分を有する第２のファイルと異なる位置にある第１のファイルに含まれる、請求項１に記載の装置。
【請求項６】
前記品質情報は、前記品質値が前記第１のファイルの中にあると示す要素を有し、前記品質値にアクセスする前記ステップは、前記第１の部分を要求する前に前記第１のファイルから前記品質値を読み出すステップを有する、請求項５に記載の装置。
【請求項７】
前記動作は、
ビットレートに基づき、ネットワークを介してダウンロードされるべき前記部分の候補セットを選択するステップと、
所定の要件を満たす個々の品質値を有する別の部分で、前記候補セットの中の一部を置き換えるステップと、
を更に有する、請求項１に記載の装置。
【請求項８】
前記動作は、
ビットレート及び前記品質値に基づき、ネットワークを介してダウンロードされるべき前記部分の候補セットを選択するステップと、
ある時点で前記ネットワークの中の利用可能帯域幅の量を示す情報にアクセスするステップと、
前記利用可能帯域幅の量を超えるビットレートを有する、前記ある時点に及ぶ間隔でダウンロードされるようスケジューリングされた、前記候補セットの中の一部を識別するステップと、
前記利用可能帯域幅の量を満たす個々のビットレートを有する第２の部分で、前記部分を置き換えるステップであって、前記第２の部分は、それ自体の個々の品質値に基づき選択される、ステップと、
を更に有する、請求項１に記載の装置。
【請求項９】
実行されるとクライアント装置に方法を実行させるコンピュータ実行可能命令を有する非一時的コンピュータ可読記憶媒体であって、前記方法は、
コンテンツ配信ネットワークの中の利用可能帯域幅の量を示す情報にアクセスするステップと、
メディアコンテンツのインスタンスの部分を識別するステップであって、前記部分は、前記利用可能帯域幅の量を満たす個々のビットレートを有し、前記部分は、該部分に関連付けられた品質の個々の尺度も有する、ステップと、
前記部分のうち第１の部分を選択するステップであって、前記第１の部分はそれ自体の関連付けられた品質の尺度に従って選択される、ステップと、
前記コンテンツ配信ネットワークを介して配信のために前記第１の部分を要求するステップと、
を有する、非一時的コンピュータ可読記憶媒体。
【請求項１０】
前記方法は、メディアコンテンツの前記インスタンスに関する情報にアクセスするステップであって、さらに、メディアコンテンツの前記インスタンスに関する前記情報は、前記第１の部分の品質の前記尺度が前記第１の部分に関連付けられたボックスの中で利用可能であると示す要素を有し、品質の前記尺度は、前記第１の部分を要求する前に、前記ボックスから読み出される、ステップ、を更に有する、請求項９に記載の非一時的コンピュータ可読記憶媒体。
【請求項１１】
前記方法は、メディアコンテンツの前記インスタンスに関する情報にアクセスするステップであって、さらに、メディアコンテンツの前記インスタンスに関する前記情報は要素を有し、前記第１の部分の品質の前記尺度は前記要素の属性である、ステップ、を更に有する、請求項９に記載の非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記方法は、メディアコンテンツの前記インスタンスに関する情報にアクセスするステップであって、さらに、メディアコンテンツの前記インスタンスに関する前記情報は、前記第１の部分の品質の前記尺度が前記第１の部分を有する第２のファイルとは異なる位置にある第１のファイルの中で利用可能であると示す要素を有し、品質の前記尺度は、前記第１の部分を要求する前に、前記ボックスから読み出される、ステップ、を更に有する、請求項１０に記載の非一時的コンピュータ可読記憶媒体。
【請求項１３】
メディアコンテンツのインスタンスの品質情報を生成する方法であって、
メディアコンテンツの前記インスタンスに関する情報を生成するステップであって、前記情報は、メディアコンテンツの前記インスタンスの品質情報を有し、複数の異なる表現はメディアコンテンツの前記インスタンスに関連付けられ、前記複数の表現の中の前記異なる表現の各々は、メディアコンテンツの前記インスタンスの複数の部分を有し、前記複数の部分の中の前記部分の各々は、該部分に関連付けられた個々の品質値を有し、品質値は、メディアコンテンツの前記インスタンスの個々の部分の品質の尺度を有する、ステップと、
複数の異なる表現はメディアコンテンツの前記インスタンスに関連付けられ、前記複数の表現のうちの前記異なる表現の各々は、メディアコンテンツの前記インスタンスの複数の部分を有し、前記複数の部分の中の前記部分の各々は、該部分に関連付けられる個々の品質値を有し、品質値はメディアコンテンツの前記インスタンスの個々の部分の品質の尺度を有し、
前記情報をクライアントに供給するステップであって、前記情報は前記品質値の利用可能性を示す、ステップと、
を有する方法。
【請求項１４】
メディアコンテンツの前記インスタンスの第１の部分の品質値は、前記第１の部分に関連付けられたボックスに含まれる、請求項１３に記載の方法。
【請求項１５】
前記品質情報は、メディアコンテンツの前記インスタンスに関する前記情報の中の要素を有し、前記要素は、前記品質値が前記ボックスの中で利用可能であると示す、請求項１４に記載の方法。
【請求項１６】
前記品質情報は、メディアコンテンツの前記インスタンスに関する前記情報の中の要素を有し、メディアコンテンツの前記インスタンスの第１の部分の品質値は、前記要素の属性である、請求項１３に記載の方法。
【請求項１７】
メディアコンテンツの前記インスタンスの第１の部分の品質値は、メディアコンテンツの前記第１の部分を有する第２のファイルと異なる位置にある第１のファイルに含まれる、請求項１３に記載の方法。
【請求項１８】
前記品質情報は、メディアコンテンツの前記インスタンスに関する前記情報の中の要素を有し、前記要素は、前記品質値が前記第１のファイルの中で利用可能であると示し、前記第１のファイルへのパスを提供する、請求項１７に記載の方法。
【請求項１９】
前記複数の部分の中の前記部分の各々の品質値を判定し及び記録するステップ、を更に有する請求項１３に記載の方法。
【請求項２０】
前記クライアントが前記情報にアクセスできるように、メディアコンテンツの前記インスタンスに関する前記情報を発行するステップ、を更に有する請求項１３に記載の方法。
【外国語明細書】
2018023133000001.pdf