(57)【要約】  映像データがサーバから取り出される。映像データの取り出し中に、クライアントデバイスは、マルチメディアコンテンツの表現のビットレートを示す情報を受信する。さらに、クライアントデバイスは、表現のセグメントに関する優先度値を示す情報を受信する。セグメントは、表現の特定の時間的セクションに対応する。クライアントデバイスは、セグメントに関する優先度値及び推定されるスループットに基づいてセグメントのうちの選択された幾つかを要求する。幾つかの例では、クライアントデバイスは、適応型ストリーミングネットワークプロトコル、例えば、ＨＴＴＰを通じてのダイナミックアダプティブストリーミング（ＤＡＳＨ）、によりセグメントを要求する。
2015501090.tif 000002
【特許請求の範囲】
【請求項１】
映像データを処理するための方法であって、
推定されるスループットを決定することと、
前記推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、前記セグメントのうちの１つ以上を選択することであって、前記表現は、映像データが異なるビットレートで符号化されること、前記セグメントの各々は個々に取り出し可能であること、及び前記セグメントは、前記表現の特定の時間的セクションに対応すること、を含むことと、
前記１つ以上の選択されたセグメントを処理することと、を備える、方法。
【請求項２】
前記推定されるスループットは、通信ネットワークの帯域幅である請求項１に記載の方法。
【請求項３】
適応型ストリーミングネットワークプロトコルにより前記１つ以上の選択されたセグメントを要求することをさらに備える請求項２に記載の方法。
【請求項４】
前記推定されるスループットは、１つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値である請求項１に記載の方法。
【請求項５】
前記セグメントに関する前記優先度値及び前記推定されるスループットに基づいて前記セグメントのうちの１つ以上を選択することは、前記セグメントに関する前記優先度値、前記推定されるスループット、及び追加で、再生バッファ内の映像データの現在の再生継続時間に基づいて前記セグメントのうちの１つ以上を選択することを備える請求項１に記載の方法。
【請求項６】
前記推定されるスループットは、通信ネットワークの推定される帯域幅であり、前記１つ以上の選択されたセグメントに関する推定される転送時間は、前記１つ以上の選択されたセグメントの再生継続時間プラス前記再生バッファ内の前記映像データの前記現在の再生継続時間以下であり、前記１つ以上の選択されたセグメントに関する前記推定される転送時間は、前記推定される帯域幅及び前記１つ以上の選択されたセグメント内の総ビット数に少なくとも部分的に基づく請求項５に記載の方法。
【請求項７】
前記１つ以上の選択されたセグメントによって表現されるフレームのシーケンスをレンダリングすることと、
フレームの前記シーケンスを表示装置上で提示することと、をさらに備える請求項１に記載の方法。
【請求項８】
前記方法は、マニフェストファイル及び前記セグメントに関する前記優先度値を示す情報を格納することであって、前記マニフェストファイルは、前記セグメントに関するＵＲＬを指定することと、
前記１つ以上の選択されたセグメントを要求するために前記１つ以上の選択されたセグメントに関する前記ＵＲＬを使用することと、をさらに備える請求項１に記載の方法。
【請求項９】
前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
前記方法は、やって来る期間に関するセグメントの組み合わせを選択することをさらに備え、前記セグメントの組み合わせは、前記やって来る期間内の前記セグメントグループの各々に関する１つのセグメントを含み、
前記１つ以上の選択されたセグメントを処理することは、前記セグメントの組み合わせ内の前記セグメントを復号することを備える請求項１に記載の方法。
【請求項１０】
前記セグメントの組み合わせを選択することは、
複数の候補の組み合わせを識別することであって、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくないことと、
前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するＱｏＳスコアを計算することと、
前記前記候補の組み合わせに関する前記ＱｏＳスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別することと、を備える請求項９に記載の方法。
【請求項１１】
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記候補の組み合わせに関する前記ＱｏＳスコアを計算することは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値を合計することによって前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算することを備える請求項１０に記載の方法。
【請求項１２】
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記候補の組み合わせに関する前記ＱｏＳスコアを計算することは、前記所定の候補の組み合わせ内の前記セグメントのピーク信号対雑音比値に基づいて前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算することを備える請求項１０に記載の方法。
【請求項１３】
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記候補の組み合わせに関する前記ＱｏＳスコアを計算することは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値の幾何平均を計算することによって前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算することを備える請求項１０に記載の方法。
【請求項１４】
前記セグメントの前記優先度値は、前記セグメントにおける計算されたち歪みの量と相関関係にある請求項１に記載の方法。
【請求項１５】
前記セグメントの前記優先度値は、人間の神経系統によってセグメント内で認知可能な知覚上の歪みの量と相関関係にある請求項１に記載の方法。
【請求項１６】
コンピューティングデバイスであって、
推定されるスループットを決定し、
前記推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、前記セグメントのうちの１つ以上を選択し、及び
前記１つ以上の選択されたセグメントを処理するように構成された１つ以上のプロセッサを備え、前記表現は、映像データが異なるビットレートで符号化されること、前記セグメントの各々は個々に取り出し可能であること、及び前記セグメントは、前記表現の特定の時間的セクションに対応すること、を含む、コンピューティングデバイス。
【請求項１７】
前記推定されるスループットは、通信ネットワークの帯域幅である請求項１６に記載のコンピューティングデバイス。
【請求項１８】
前記１つ以上のプロセッサは、適応型ストリーミングネットワークプロトコルにより前記１つ以上の選択されたセグメントを要求するようにさらに構成される請求項１７に記載のコンピューティングデバイス。
【請求項１９】
前記推定されるスループットは、１つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値である請求項１６に記載のコンピューティングデバイス。
【請求項２０】
前記１つ以上のプロセッサは、前記セグメントに関する前記優先度値、前記推定されるスループット、及び追加で、再生バッファ内の映像データの現在の再生継続時間に基づいて前記セグメントのうちの１つ以上を選択するように構成される請求項１６に記載のコンピューティングデバイス。
【請求項２１】
前記推定されるスループットは、通信ネットワークの推定される帯域幅であり、前記１つ以上の選択されたセグメントに関する推定される転送時間は、前記１つ以上の選択されたセグメントの再生継続時間プラス前記再生バッファ内の前記映像データの前記現在の再生継続時間以下であり、前記１つ以上の選択されたセグメントに関する前記推定される転送時間は、前記推定される帯域幅及び前記１つ以上の選択されたセグメント内の総ビット数に基づく請求項１６に記載のコンピューティングデバイス。
【請求項２２】
前記１つ以上のプロセッサは、
前記１つ以上の選択されたセグメントによって表現されるフレームのシーケンスをレンダリングし、及び
フレームの前記シーケンスを表示装置上で提示するようにさらに構成される請求項１６に記載のコンピューティングデバイス。
【請求項２３】
前記コンピューティングデバイスは、マニフェストファイル及び前記セグメントに関する優先度値を示す情報を格納し、前記マニフェストファイルは、前記セグメントに関するＵＲＬを指定し、
１つ以上のプロセッサは、前記１つ以上の選択されたセグメントに関する要求を生成するために前記１つ以上の選択されたセグメントに関する前記ＵＲＬを使用するように構成される請求項１６に記載のコンピューティングデバイス。
【請求項２４】
前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
前記１つ以上のプロセッサは、やって来る期間に関するセグメントの組み合わせを選択し、及び
前記セグメントの組み合わせ内の前記セグメントを復号するようにさらに構成され、前記セグメントの組み合わせは、前記やって来る期間内の前記セグメントグループの各々に関する１つのセグメントを含む請求項１６に記載のコンピューティングデバイス。
【請求項２５】
１つ以上のプロセッサは、
複数の候補の組み合わせを識別し、
前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するＱｏＳスコアを計算し、及び
前記候補の組み合わせに関する前記ＱｏＳスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別するように構成され、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくない請求項２４に記載のコンピューティングデバイス。
【請求項２６】
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記１つ以上のプロセッサは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値を合計することによって前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算するように構成される請求項２５に記載のコンピューティングデバイス。
【請求項２７】
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記１つ以上のプロセッサは、前記所定の候補の組み合わせ内の前記セグメントのピーク信号対雑音比値に基づいて前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算するように構成される請求項２５に記載のコンピューティングデバイス。
【請求項２８】
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記１つ以上のプロセッサは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値の幾何平均を計算することによって前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算するように構成される請求項２５に記載の方法。
【請求項２９】
前記セグメントの前記優先度値は、前記セグメントにおける計算された歪みの量と相関関係にある請求項１６に記載のコンピューティングデバイス。
【請求項３０】
前記セグメントの前記優先度値は、人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にある請求項１６に記載のコンピューティングデバイス。
【請求項３１】
コンピューティングデバイスであって、
推定されるスループットを決定するための手段と、
前記推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、前記セグメントのうちの１つ以上を選択するための手段であって、前記表現は、映像データが異なるビットレートで符号化されること、前記セグメントの各々は個々に取り出し可能であること、及び前記セグメントは、前記表現の特定の時間的セクションに対応すること、を含む手段と、
前記１つ以上の選択されたセグメントを処理するための手段と、を備える、コンピューティングデバイス。
【請求項３２】
前記推定されるスループットは、通信ネットワークの帯域幅である請求項３１に記載のコンピューティングデバイス。
【請求項３３】
適応型ストリーミングネットワークプロトコルにより前記１つ以上の選択されたセグメントを要求するための手段をさらに備える請求項３１に記載のコンピューティングデバイス。
【請求項３４】
前記推定されるスループットは、１つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値である請求項３１に記載のコンピューティングデバイス。
【請求項３５】
前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
前記コンピューティングデバイスは、
やって来る期間に関するセグメントの組み合わせを選択するための手段であって、前記セグメントの組み合わせは、前記やって来る期間内にある前記セグメントグループの各々に関する１つのセグメントを含む手段と、
前記セグメントの組み合わせ内の前記セグメントを要求するための手段と、を備える請求項３１に記載のコンピューティングデバイス。
【請求項３６】
複数の候補の組み合わせを識別するための手段であって、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくない手段と、
前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するＱｏＳスコアを計算するための手段と、
前記候補の組み合わせに関する前記ＱｏＳスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別するための手段と、を備える請求項３５に記載のコンピューティングデバイス。
【請求項３７】
前記セグメントの前記優先度値は、前記セグメントにおける計算された歪みの量と相関関係にある請求項３１に記載のコンピューティングデバイス。
【請求項３８】
前記セグメントの前記優先度値は、人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にある請求項３１に記載のコンピューティングデバイス。
【請求項３９】
コンピュータによって読み取り可能な記憶媒体であって、
実行されたときに、
推定されるスループットを決定し、
前記推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、前記セグメントのうちの１つ以上を選択し、及び
前記１つ以上の選択されたセグメントを処理することをプロセッサに行わせる命令を格納しており、前記表現は、映像データが異なるビットレートで符号化されること、前記セグメントの各々は個々に取り出し可能であること、及び前記セグメントは、前記表現の特定の時間的セクションに対応すること、を含む、コンピュータによって読み取り可能な記憶媒体。
【請求項４０】
前記推定されるスループットは、通信ネットワークの帯域幅である請求項３９に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項４１】
適応型ストリーミングネットワークプロトコルにより前記１つ以上の選択されたセグメントを要求することをさらに備える請求項４０に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項４２】
前記推定されるスループットは、１つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値である請求項３９に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項４３】
前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
前記命令の実行は、
やって来る期間に関するセグメントの組み合わせを選択し、及び
前記セグメントの組み合わせ内の前記セグメントを要求することを前記コンピューティングデバイスにさらに行わせ、前記セグメントの組み合わせは、前記やって来る期間内にある前記セグメントグループの各々に関する１つのセグメントを含む請求項３９に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項４４】
前記命令の実行は、
複数の候補の組み合わせを識別し、
前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するＱｏＳスコアを計算し、及び
前記候補の組み合わせに関する前記ＱｏＳスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別することを前記コンピューティングデバイスに行わせ、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくない請求項３９に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項４５】
前記セグメントの前記優先度値は、前記セグメントにおける計算された歪みの量と相関関係にある請求項３９に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項４６】
前記セグメントの前記優先度値は、人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にある請求項３９に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項４７】
適応型ストリーミングネットワークプロトコルを介して映像データを提供するための方法であって、
セグメントに関する優先度値を示す情報を送信することであって、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含むことと、
クライアントデバイスからの１つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信することであって、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかであることと、を備える、方法。
【請求項４８】
前記優先度値を前記セグメントに割り当てることと、
前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納することと、をさらに備える請求項４７に記載の方法。
【請求項４９】
前記優先度値を前記セグメントに割り当てることは、前記セグメントの特徴に基づいて前記優先度値を計算することを備える請求項４８に記載の方法。
【請求項５０】
前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含む請求項４９に記載の方法。
【請求項５１】
前記優先度値を前記セグメントに割り当てることは、前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てることを備える請求項４９に記載の方法。
【請求項５２】
コンピューティングデバイスであって、
セグメントに関する優先度値を示す情報を送信し、及び
クライアントデバイスからの１つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信するように構成された１つ以上のプロセッサを備え、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含み、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかであるコンピューティングデバイス。
【請求項５３】
前記１つ以上のプロセッサは、
前記優先度値を前記セグメントに割り当て、及び
前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納するように構成される請求項５２に記載のコンピューティングデバイス。
【請求項５４】
前記１つ以上のプロセッサは、前記セグメントの特徴に基づいて前記優先度値を計算するように構成される請求項５３に記載のコンピューティングデバイス。
【請求項５５】
前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含む請求項５４に記載のコンピューティングデバイス。
【請求項５６】
前記１つ以上のプロセッサは、前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てるように構成される請求項５２に記載のコンピューティングデバイス。
【請求項５７】
コンピューティングデバイスであって、
セグメントに関する優先度値を示す情報を送信するための手段であって、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含む手段と、
クライアントデバイスからの１つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信するための手段であって、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかである手段と、を備える、コンピューティングデバイス。
【請求項５８】
前記優先度値を前記セグメントに割り当てるための手段と、
前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納するための手段と、をさらに備える請求項５７に記載のコンピューティングデバイス。
【請求項５９】
前記セグメントの特徴に基づいて前記優先度値を計算するための手段をさらに備える請求項５８に記載のコンピューティングデバイス。
【請求項６０】
前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含む請求項５９に記載のコンピューティングデバイス。
【請求項６１】
前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てるための手段を備える請求項５７に記載のコンピューティングデバイス。
【請求項６２】
コンピュータによって読み取り可能な記憶媒体であって、
コンピューティングデバイスの１つ以上のプロセッサによって実行されたときに、
セグメントに関する優先度値を示す情報を送信し、及び
クライアントデバイスからの１つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信することを前記コンピューティングデバイスに行わせる命令を格納し、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含み、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかである、コンピュータによって読み取り可能な記憶媒体。
【請求項６３】
前記１つ以上のプロセッサによる前記命令の実行は、
前記優先度値を前記セグメントに割り当て、及び
前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納することを前記コンピューティングデバイスに行わせる請求項６２に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項６４】
前記１つ以上のプロセッサによる前記命令の実行は、前記セグメントの特徴に基づいて前記優先度値を計算することを前記コンピューティングデバイスに行わせる請求項６３に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項６５】
前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含む請求項６４に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項６６】
前記１つ以上のプロセッサによる前記命令の実行は、前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てることを前記コンピューティングデバイスに行わせる請求項６２に記載のコンピュータによって読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、ここにおける引用によってその内容全体が組み入れられている米国仮特許出願第６１／５３７，４０７号（出願日：２０１１年９月２１日）の利益を主張するものである。
【０００２】
本開示は、ネットワークを通じてのメディアデータのストリーミングに関するものである。
【背景技術】
【０００３】
通信ネットワークを通じてメディアデータをストリーミングするために数多くの技術が開発されている。これらの技術は、ハイパーテキストトランスファープロトコルストリーミング（ＨＴＴＰストリーミング）、例えば、ＨＴＴＰを通じてのダイナミックアダプティブストリーミング（ＤＡＳＨ）を含む。ＤＡＳＨでは、マルチメディアコンテンツは様々な異なる方法で符号化され、マルチメディアコンテンツの異なる表現（ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）を生み出す。それらの表現の各々は、一連のセグメントに分割される。セグメントは、マルチメディアコンテンツのサンプルを表現するデータを含む。例えば、各々のセグメントは、マルチメディアコンテンツのサンプルの異なる３秒のシーケンスを表現することができる。セグメントの各々は、異なるユニフォームリソースロケータ（ＵＲＬ）を有することができる。
ＤＡＳＨでは、クライアントデバイスが、マルチメディアコンテンツの様々な表現の特徴を記述するマニフェストファイル（ｍａｎｉｆｅｓｔ  ｆｉｌｅ）を受信する。マニフェストファイルは、表現のセグメントのＵＲＬを示す情報を含むことができる。サーバデバイスからマルチメディアコンテンツのデータをストリーミングするときには、クライアントは、要求、例えば、ＧＥＴ要求又は部分的ＧＥＴ要求を経時でサーバに送信する。要求は、マニフェストファイル内で示された特定の表現のセグメントに関するＵＲＬを指定する。クライアントデバイスは、サーバデバイスからセグメントを受信すると、それらのセグメントを処理して（例えば、セグメントのコーディングされた映像データを復号及びレンダリングして）セグメントによって表現されるメディアコンテンツのサンプルを提示する。
【発明の概要】
【０００４】
概して、本開示の技法は、ネットワークを通じてサーバデバイスからクライアントデバイスにマルチメディアコンテンツのデータをストリーミング時のユーザの経験を向上させるための情報を提供すること及び使用することを対象とする。マルチメディアコンテンツの様々な表現が様々なビットレートで符号化される。より高いビットレートの表現は、相対的により高い再生品質を提供することができ、他方、より低いビットレートの表現は、より効率的な帯域幅の利用を提供することができる。コンテンツ準備デバイスが表現を形成する。さらに、コンテンツ準備デバイスは、マルチメディアコンテンツのセグメントに関する優先度をシグナリングする優先度値を生成することができる。幾つかの例では、特定のセグメントに関する優先度値は、クライアントデバイスが相対的により高いビットレートの表現又はより低いビットレートの表現のいずれからセグメントに関するデータを要求すべきかを示す。この方法により、クライアントデバイスは、様々な表現の優先度を記述する情報を入手し、優先度に基づいてマルチメディアコンテンツのセグメントを取り出す表現を決定することができる。
【０００５】
一例では、本開示は、映像データを処理するための方法について説明する。方法は、推定されるスループットを決定することを備える。方法は、推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、それらのセグメントのうちの１つ以上を選択することも備える。表現は、映像データが異なるビットレートで符号化され、セグメントの各々が個々に取り出し可能であり、及びセグメントが表現の特定の時間的セクションに対応することを含む。方法は、１つ以上の選択されたセグメントを処理することも備える。
【０００６】
他の例では、本開示は、推定されるスループットを決定するように構成された１つ以上のプロセッサを備えるコンピューティングデバイスについて説明する。１つ以上のプロセッサは、推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、それらのセグメントのうちの１つ以上を選択するように構成される。表現は、映像データが異なるビットレートで符号化され、セグメントの各々が個々に取り出し可能であり、及びセグメントが表現の特定の時間的セクションに対応することを含む。１つ以上のプロセッサは、１つ以上の選択されたセグメントを処理するようにも構成される。
【０００７】
さらに他の例では、本開示は、推定されるスループットを決定するための手段を備えるコンピューティングデバイスについて説明する。コンピューティングデバイスは、推定されたスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、それらのセグメントのうちの１つ以上を選択するための手段も備える。表現は、映像データが異なるビットレートで符号化され、セグメントの各々が個々に取り出し可能であり、及びセグメントが表現の特定の時間的セクションに対応することを含む。さらに、コンピューティングデバイスは、１つ以上の選択されたセグメントを処理するための手段を備える。
【０００８】
さらに他の例では、本開示は、実行されたときに、推定されるスループットを決定することをプロセッサに行わせる命令を格納するコンピュータによって読み取り可能な記憶媒体について説明する。命令は、推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、それらのセグメントのうちの１つ以上を選択することもプロセッサに行わせる。表現は、映像データが異なるビットレートで符号化され、セグメントの各々が個々に取り出し可能であり、及びセグメントが表現の特定の時間的セクションに対応することを含む。命令は、１つ以上の選択されたセグメントを処理することもプロセッサに行わせる。
【０００９】
さらに他の例では、本開示は、適応型ストリーミングネットワークプロトコルを介して映像データを提供するための方法について説明する。方法は、セグメントに関する優先度値を示す情報を送信することを備える。セグメントの各々は、個々に取り出し可能である。セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応する。マルチメディアコンテンツの表現の各々は、異なるビットレートで符号化された映像データを含む。さらに、方法は、クライアントデバイスからの１つ以上の要求に応答して適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信することを備え、要求されたセグメントは、セグメントのうちの要求によって指定されたそれらである。
【００１０】
さらに他の例では、本開示は、セグメントに関する優先度値を示す情報を送信するように構成された１つ以上のプロセッサを備えるコンピューティングデバイスについて説明する。セグメントの各々は、個々に取り出し可能である。セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応する。マルチメディアコンテンツの表現の各々は、異なるビットレートで符号化された映像データを含む。１つ以上のプロセッサは、クライアントデバイスからの１つ以上の要求に応答して適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信するようにも構成される。要求されたセグメントは、セグメントのうちの要求によって指定されたそれらである。
【００１１】
さらに他の例では、本開示は、セグメントに関する優先度値を示す情報を送信するための手段を備えるコンピューティングデバイスについて説明する。セグメントの各々は、個々に取り出し可能である。セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応する。マルチメディアコンテンツの表現の各々は、異なるビットレートで符号化された映像データを含む。コンピューティングデバイスは、クライアントデバイスからの１つ以上の要求に応答して適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信するための手段も備える。要求されたセグメントは、セグメントのうちの要求によって指定されたそれらである。
【００１２】
さらに他の例では、本開示は、実行されたときに、セグメントに関する優先度値を示す情報を送信することをプロセッサに行わせる命令を格納したコンピュータによって読み取り可能な記憶媒体について説明する。セグメントの各々は、個々に取り出し可能である。セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応する。マルチメディアコンテンツの表現の各々は、異なるビットレートで符号化された映像データを含む。命令の実行は、クライアントデバイスからの１つ以上の要求に応答して適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信することもコンピューティングデバイスに行わせる。要求されたセグメントは、セグメントのうちの要求によって指定されたそれらである。
【００１３】
本開示の１つ以上の態様の詳細が、添付図及び以下の説明において示される。それらの説明と図面から、及び請求項から、本開示において説明される技法のその他の特徴、目的、及び利点が明らかになるであろう。
【図面の簡単な説明】
【００１４】
【図１】クライアントデバイスがユーザにメディアコンテンツを提示するためにネットワークを通じてサーバデバイスと通信するシステム例を示す概念図である。
【図２】フレームを備える映像例を示した概念図である。
【図３】サーバデバイスの構成例を示したブロック図である。
【図４】メディアリソースを取り出すための準備をする動作例を示したフローチャートである。
【図５】クライアントデバイスの構成例を示したブロック図である。
【図６】ユーザにメディアコンテンツを提示するためにクライアントデバイスによって行われる動作例を示したブロック図である。
【図７】やって来る期間に関するセグメントの組み合わせを選択するためにクライアントデバイスによって行われる動作例を示したフローチャートである。
【図８】やって来る期間に関するセグメントの組み合わせを選択するためにクライアントデバイスによって行われる動作例を示したフローチャートである。
【図９】コンピューティングデバイス例を示したブロック図である。
【発明を実施するための形態】
【００１５】
概して、本開示の技法は、ネットワークを通じてマルチメディアコンテンツのデータをストリーミング時のユーザの経験を向上させるための情報を提供すること及び使用することを対象とする。コンテンツ引き渡しシステムのデバイスは、クライアントデバイスの様々な復号能力及びレンダリング能力を提供するためにマルチメディアコンテンツの様々な表現をアセンブルすることができる。例えば、コンテンツ準備デバイスは、様々な画面サイズ、二次元、三次元、又はマルチビューの再生、フレームレート、画面上に提示されるクローズドキャプショニング又はその他のテキストのための様々な言語、様々なプロフィール及び／又はレベルの様々な規格に準拠した復号器、又はその他の特徴を有するデバイスに関する表現を生成することができる。さらに、コンテンツ準備デバイスは、ネットワーク帯域幅の利用可能性の変動に対処するために、同様のコーディング及びレンダリング特性を有する表現の組を様々なビットレートで符号化することができる。このようにして、クライアントデバイスは、クライアントデバイスの復号能力及びレンダリング能力に適する表現の組を決定し、利用可能な量のネットワーク帯域幅を決定し、及び決定された組内の表現のうちの１つからのデータを要求することができる。
本開示の技法により、コンテンツ準備デバイスは、マルチメディアコンテンツの様々な時間的セクションに関する優先度値の形態でクライアントデバイスにヒント情報を提供することができる。例えば、コンテンツ準備デバイスは、各表現の各セグメントに関する、又はマルチメディアコンテンツの時間的セクション（サブセグメント）に関する優先度値を提供することができる。優先度値は、概して、マルチメディアコンテンツの特定の時間的セクションに関するより高い品質の映像データの相対的重要性を示すことができる。さらに加えて又は代替で、優先度値は、高ビットレートの表現からセグメントを選択することと低ビットレートの表現からセグメントを選択することの間の相対的な品質差量を示すことができる。
【００１６】
クライアントデバイスは、マルチメディアコンテンツの特定の時間的セクションに関するセグメントを要求する表現を決定するときに、利用可能な帯域幅量を決定することに加えて、優先度値を解析するように構成することができる。この方法により、クライアントデバイスは、より満足のいくユーザ経験をユーザに提供するように構成することができる。例えば、クライアントデバイスは、複数のやって来る（ｕｐｃｏｍｉｎｇ）セグメントに関する利用可能なネットワーク帯域幅の量を決定することができる。やって来るセグメントにわたって利用可能であることが決定された帯域幅によって満たすことができる最高のビットレート表現からデータを要求するのではなく、クライアントデバイスは、より低いビットレートの表現から相対的に低い優先度を有するセグメントを要求するように、及びより高いビットレートの表現から相対的に高い優先度を有するセグメントを要求するように構成することができる。この方法により、クライアントデバイスは、本来であれば高優先度の時間的セクションに関して受信される相対的により高い品質の映像データを受信することができ、及び、低優先度の時間的セクションに関するビットレート効率がより高いデータを受信することができる。
添付された図は、本開示において説明される技法の例を示す。添付された図において参照番号によって示される要素は、次の説明における同様の参照番号によって示される要素に対応する。添付された図において、楕円形は、それらの楕円形によって分離された要素と同様の１つ以上の要素が存在することを示す。さらに、添付された図内の重なり合った要素は、１つ以上の同様の要素が存在することを示す。同様の要素に関する参照番号のアルファベットの接尾辞は、それらの要素の特定の数字の存在を示すことは意図していない。本開示では、序数（例えば、“第１の”、“第２の”、“第３の”、等）で始まる要素は、それらの要素が特定の順序を有することは必ずしも示していない。むしろ、該序数は、同様の要素を指し示すために使用されるにすぎない。
【００１７】
図１は、クライアント１０２がユーザ１０８にメディアコンテンツのデータを提示するためにネットワーク１０６を通じてサーバデバイス１０４と通信するシステム例１００を示した概念図である。クライアントデバイス１０２及びサーバデバイス１０４は、１つ以上のコンピューティングデバイスをそれぞれ備える。クライアントデバイス１０２及びサーバデバイス１０４は、様々なタイプのコンピューティングデバイスを備えることができる。例えば、図１は、クライアントデバイス１０２をラップトップコンピュータとして例示する。その他の例では、クライアントデバイス１０２は、デスクトップコンピュータ、タブレットコンピュータ、スマートフォン、テレビのセットトップボックス、車載コンピュータ、ビデオゲームコンソール、パーソナルメディアプレーヤー、又は他のタイプのコンピューティングデバイスを含むことができる。さらに、図１の例は、サーバデバイス１０４を独立型のサーバデバイスとして例示する。その他の例では、サーバデバイス１０４は、１つ以上のブレードサーバデバイス、デスクトップコンピュータ、メインフレームコンピュータ、及び／又はその他のタイプのコンピューティングデバイスを備えることができる。
ネットワーク１０６は、クライアントデバイス１０２とサーバデバイス１０４との間の通信を容易にすることができる。ネットワーク１０６は、一組のコンピューティングデバイスと、それらのコンピューティングデバイス間の通信リンクと、を備えることができる。例えば、ネットワーク１０６は、ルータと、ブリッジと、キャッシュシステムと、コンテンツ引き渡しシステムと、ファイヤウォールデバイスと、ハブと、その他のタイプの中間ネットワークデバイスと、を含む。幾つかの例では、ネットワーク１０６は、インターネットを備える。さらに、幾つかの例では、ネットワーク１０６は、ローカルエリアネットワークを備える。
【００１８】
ネットワーク１０６は、所定の帯域幅においてクライアントデバイス１０２とサーバ１０４との間でデータを送信することができる。例えば、ネットワーク１０６は、毎秒７メガビット（Ｍｂｐｓ）の帯域幅でサーバデバイス１０４からクライアントデバイス１０２にデータを送信することができる。所定の帯域幅は、幾つかの状況では変化することができる。例えば、ネットワーク１０６が高いトラフィックレベルに起因して混雑した場合は、ネットワーク１０６がサーバデバイス１０４からクライアントデバイス１０２にデータを送信することができるレートは、７Ｍｂｐｓから５Ｍｂｐｓに低下することがある。この例では、ネットワーク１０６がサーバデバイス１０４からクライアントデバイス１０２にデータを送信することができるレートは、のちに５Ｍｂｐｓから８Ｍｂｐｓ、等に増大することができる。
【００１９】
ユーザは、クライアントデバイス１０２を様々な目的で使用することができる。例えば、ユーザは、仕事、家庭、娯楽、又はその他の目的のためにクライアントデバイス１０２を使用することができる。ユーザは、クライアントデバイス１０２を使用しながらマルチメディアコンテンツ（概してメディアコンテンツとも呼ばれる）を閲覧することができる。例えば、ユーザは、マルチメディアコンテンツを閲覧するのを要求するためにウェブブラウザアプリケーション又はクライアントデバイス１０２によって実行されるその他のアプリケーションと対話することができる。この例では、マルチメディアコンテンツは、サーバ１０４によって格納することができる。一例として、ユーザは、マルチメディアコンテンツのハイパーリンクを選択することによってメディアコンテンツを閲覧することを選択することができる。マルチメディアコンテンツは、連続するメディアを含むことができる。連続的メディアは、時間に関する固有の概念を有するメディアであることができる。例えば、メディアコンテンツは、映像ストリーム、音声ストリーム、話声ストリーム、又は他のタイプのメディアを含むことができる。
【００２０】
メディアコンテンツは、時間的シーケンスを備えることができる。ＤＡＳＨ規格において定義されている時間的シーケンスは、１つ以上の期間を含むことができる。これらの期間の各々が、メディアコンテンツの時間的セクションである。様々な例において、メディアコンテンツの時間的セクションは、様々な時間の長さを有する。例えば、メディアコンテンツの１つの期間は、１０乃至６０秒の間の時間の長さに対応することができる。
サーバ１０４は、各々の期間の複数の表現を格納することができる。それらの表現の各々は、特定の特徴、例えば、クライアントデバイスの様々なコーディング及び又はレンダリング能力及び様々なビットレートでのコーディングに対処する、を有することができる。サーバデバイス１０４は、共通のコーディング及びレンダリング特徴を有するが異なるビットレートを有する表現の組を格納することができ、該表現の組は、適合化セット（ａｄａｐｔａｔｉｏｎ  ｓｅｔ）を形成することができる。適合化セットの表現は、様々なビットレートでコーディングすることができる。例えば、メディアコンテンツの期間の第１の表現は、３．０Ｍｂｐｓのビットレートでコーディングすることができる。この例では、期間の第２の表現は、１．５Ｍｂｐｓのビットレートでコーディングすることができる。この例では、期間の第３の表現は、毎秒５００キロビット（Ｋｂｐｓ）のビットレートでコーディングすることができる。
各々の表現は、１つ以上のセグメントに分割される。表現のセグメントの各々は、その表現の異なる時間的セクションに対応する。様々な例では、セグメントは、様々な時間長を有する時間的セクションに対応することができる。例えば、表現のセグメントの各々は、約２秒の再生継続時間を有する表現の時間的セクションに対応することができる。その他の例では、セグメント及び期間は、それよりも短い又は長い再生継続時間を有することができる。
セグメントの各々は、メッセージコンテンツのコーディングされたサンプルのシーケンスを表現するデータを含むことができる。あるセグメントに対応する時間的セクションは、そのセグメントによって表現されるコーディングされたサンプルのシーケンスを含む。例えば、セグメントの各々は、フレーム、スライス、ピクチャグループ、又はその他のコーディングされた映像データのユニットのシーケンスを表現することができる。この例では、映像のフレームが０から始まるフレーム番号値によりインデキシングされる場合は、映像の第１のセグメントは、フレーム番号０乃至７４を表現することができ、映像の第２のセグメントは、フレーム番号７５乃至１４９を表現することができ、映像の第３のセグメントは、フレーム番号１５０乃至２２４を表現することができ、以下同様である。他の例では、メディアコンテンツが音声ストリームを含む場合は、セグメントの各々は、音声サンプルのシーケンスを表現することができる。クライアントデバイス１０２は、セグメントによって表現されるサンプルのシーケンスを再生するためにそのセグメント内のデータを使用することができる。
メディアコンテンツが映像データを含む例では、セグメントの各々は、コーディングされたネットワーク抽象化層（ＮＡＬ）ユニットのシーケンス内に含めることができる。ＮＡＬユニットは、復号されたときに映像フレームを形成する。それらのフレームの各々は、静止画像を備えることができる。クライアントデバイス１０２がユーザ１０８に映像を提示時には、クライアントデバイス１０２は、高速で次々とユーザ１０８にフレームを表示する（毎秒２５フレーム（ｆｐｓ））。クライアントデバイス１０２が高速で次々と連続してフレームを表示すると、ユーザ１０８は、フレーム内のオブジェクトが動いていると知覚することができる。メディアコンテンツが音声ストリームを含む例では、メディアコンテンツは、音声サンプルのシーケンスを含むことができる。クライアントデバイス１０２が音声ストリームを提示するときには、クライアントデバイス１０２は、音声サンプルを音波に変換することができる。
ＤＡＳＨの技法により、１つの期間のマルチメディアコンテンツのセグメントは、時間的に整合させることができるが、必ずしも整合されない。セグメントがある期間内で時間的に整合されるときには、その期間に関する表現の各々は、その期間内の同じ時間的セクションに対応するセグメントを含むことができる。すなわち、セグメントが時間的に整合されるときには、期間に関する各表現のｎ番目のセグメントは、同じ時間的セクションに対応することができる。異なる表現のセグメントを時間的に整合させることができる。例えば、メディアコンテンツは、２つの表現Ｘ及びＹに関して、ｍがｎに等しくないときに、Ｘのｍ番目のセグメントがＹのｎ番目のセグメントと重なり合うことができるかどうかを示すセグメント整合フラグを含むことができる。
説明を容易にするために、本開示は、メディアコンテンツの同じ時間的セクションを表現するセグメントを意味するために用語“セグメントグループ”を使用する。メディアコンテンツの異なる時間的セクションに対応するセグメントは、異なるセグメントグループ内に存在する。すなわち、セグメントグループは、マルチメディアコンテンツのある期間のセグメントが時間的に整合されるときに、その期間の各表現のｎ番目のセグメントを含むことができる。
【００２１】
本開示の技法により、セグメント、セグメントグループ、又はメディアコンテンツの時間的セクションの各々は、優先度値と関連付けられる。サーバデバイス１０４は、メディアコンテンツのセグメント、セグメントグループ、又は時間的セクションに優先度値を割り当てることができる。サーバデバイス１０４は、セグメント又はセグメントグループに関する優先度値を示す情報を含むデータ構造、例えば、マニフェストファイル、セグメントインデックスボックス、コーディングされたメディアストリーム内の他のメタデータボックス、を提供することができる。様々な例において、セグメントは、様々な方法で優先度値と関連付けられる。例えば、各表現の各セグメントに別々の優先度値を割り当てることができる。他の例では、メディアコンテンツの各セグメントグループ又は時間的セグメントに対して別々の優先度値を割り当てることができる。この例では、所定のセグメントグループ内のセグメントの各々（すなわち、メディアコンテンツ内の所定の時間的セクションを表現するセグメントの各々）は、同じ優先度値と関連付けることができる。
【００２２】
優先度値は、概して、特定の時間的セクションにおいてメディアコンテンツのデータの高品質バージョンを取り出す相対的重要性を示すことができる。例えば、高い優先度値は、対応する時間的セクションに関して、クライアントデバイス１０２が時間的セクションに関するデータの相対的に高い品質のバージョン（例えば、相対的に高いビットレートの表現からのセグメント）を取り出すことを試みるべきであることを示すことができる。他の例として、低優先度値は、対応する時間的セクションに関して、クライアントデバイス１０２が時間的セクションに関するより低い品質の、ただし帯域幅がより効率的な、データバージョンを取り出すことによってユーザ経験の大きな劣化を生じさせないことを示すことができる。この方法により、優先度値は、クライアントデバイス１０２が、相対的により高いビットレートの表現から少なくとも幾つかのセグメントを取り出すことができる十分な利用可能な帯域幅が存在するが、最高のビットレートの表現から全セグメントを取り出すことができる十分な利用可能な帯域幅が存在しない状況においてメディアコンテンツの表現からセグメントを選択するために使用することができる情報を提供することができる。
【００２３】
クライアントデバイス１０２は、例えば、メディアコンテンツに関するマニフェストファイルを取り出すことによって、セグメントと関連付けられた優先度値を示す情報を受信することができる。さらに、クライアントデバイス１０２は、例えば、メディアコンテンツに関するマニフェストファイルを取り出すことによって、セグメントのビットレートを示す情報を受信することができる。後続して、クライアントデバイス１０２は、メディアコンテンツの各期間内の各セグメントグループに関するセグメントを選択する選択動作を実施することができる。選択動作中には、クライアントデバイス１０２は、クライアントデバイス１０２がサーバ１０４からセグメントを受信することができる帯域幅を推定することができる。さらに、選択動作中には、クライアントデバイス１０２は、推定される帯域幅及びセグメント及び／又はセグメントグループに関して関連付けられた優先度値に基づいてセグメントを選択することができる。幾つかの例では、クライアントデバイス１０２は、推定される帯域幅、セグメントと関連付けられた優先度値、さらには、再生バッファ内の映像データの現在の再生継続時間に基づいてセグメントを選択することができる。例えば、クライアントデバイス１０２は、やって来る期間に関するセグメントの組み合わせを選択することができる。この例では、セグメントの組み合わせは、やって来る期間内の各セグメントグループからの１つのセグメントを含むことができる。この例では、クライアントデバイス１０２は、選択されたセグメントの累積ビットレートが推定される帯域幅よりも実質的に大きくならないようなセグメントの組み合わせ内のセグメントを選択することができる。他の例では、クライアントデバイス１０２は、選択されたセグメントに関する推定される転送時間が選択されたセグメントの再生継続時間プラス再生バッファ内の映像データの再生継続時間以下になるようにセグメントの組み合わせ内のセグメントを選択することができる。この例では、選択されたセグメントに関する推定される転送時間は、選択されたセグメント内の総ビット数及び推定される帯域幅又はその他の推定されたスループットに基づくことができる。さらに、この例では、クライアントデバイス１０２は、やって来る期間のセグメントグループ内のセグメントの優先度値に基づいてセグメントを選択することができる。推定される帯域幅は、サーバデバイス１０４がクライアントデバイス１０２にデータを提供することができる帯域幅の推定値であることができる。
【００２４】
推定される帯域幅、優先度値、そして幾つかの例では、再生バッファ内の映像データの現在の再生継続時間に基づいてセグメントを選択することによって、クライアントデバイス１０２は、利用可能な帯域幅と比較して表現に関するビットレートのみに基づいて１つの表現を単に選択するのではなく、推定される帯域幅を考慮して向上されたユーザ経験を提供するセグメントを選択することができる。本開示の別の場所で説明されるように、クライアントデバイス１０２は、優先度値を用いてセグメントを選択することができ及び推定される帯域幅を様々な方法で生成することができる。
【００２５】
クライアントデバイス１０２は、適応型ストリーミングネットワークプロトコルにより選択されたセグメントを要求することができる。適応型ストリーミングネットワークプロトコルは、選択されたセグメントのビットレートを好適に変更するのを可能にすることができる。様々な例において、クライアントデバイス１０２は、選択されたセグメントを様々な方法で要求することができる。例えば、クライアントデバイス１０２は、セグメント要求メッセージをサーバデバイス１０４に送信することによって選択されたセグメントを要求することができる。セグメント要求メッセージは、ＨＴＴＰ／１．１（ＲＦＣ２６１６）において規定されるＧＥＴ要求又は部分的ＧＥＴ（ｐａｒｔｉａｌ  ＧＥＴ）要求を備えることができる。部分的ＧＥＴ要求は、ＧＥＴ要求に類似することができるが、クライアントデバイスは、要求によって指定されたファイルの、部分的ＧＥＴ要求内で指定されたバイト範囲に対応するファイルの連続的なバイト数を取り出すためにＧＥＴへの入力パラメータとしてバイト範囲を指定することができる。従って、クライアントデバイス１０２は、セグメントの１つ以上の個々の動画フラグメントを取り出すために部分的ＧＥＴ要求を出すことができるため、動画フラグメントをネットワークストリーミングのために提供することができる。
クライアントデバイス１０２が選択されたセグメントを要求するときには、サーバデバイス１０４は、選択されたセグメントのコピーをクライアントデバイス１０２に送信することができる。クライアントデバイス１０２がセグメントのコピーを受信した時点で、クライアントデバイス１０２は、セグメントによって表現されるサンプルを生成するためにセグメントのコピーを復号及びレンダリングすることができる。クライアントデバイス１０２は、サンプルを出力することができる。例えば、メディアコンテンツが音声ストリームを含む場合は、クライアントデバイス１０２は、サンプルを音波に変換することによってサンプルを出力することができる。同様に、メディアコンテンツが映像データを含む場合は、クライアントデバイス１０２は、サンプルを再構築されたピクチャとして特定のフレームレートで出力することができる。この方法により、セグメント要求メッセージを送信し及びセグメント要求メッセージに応答して受信されたセグメントを処理することによって、クライアントデバイス１０２は、サーバデバイス１０４からメディアコンテンツのデータを取り出すことができる。さらに、セグメント要求メッセージを経時で定期的に送信することによってクライアントデバイス１０２は、サーバデバイス１０４からメディアコンテンツのデータをストリーミングすることができる。
【００２６】
従って、本開示の技法は、例えば、ＨＴＴＰを通じてのダイナミック適応型ストリーミング（ＤＡＳＨ）によるネットワークストリーミングプロトコル、例えば、ＨＴＴＰストリーミング、に対して適用可能である。ＤＡＳＨを用いてメディアデータをストリーミングする例では、マルチメディアコンテンツの映像及び又は音声データに関する複数の表現が存在することができる。該表現のマニフェストは、メディアプレゼンテーション記述（ＭＰＤ）データ構造で定義することができる。メディアの提示は、ＨＴＴＰストリーミングクライアントデバイス、例えば、クライアントデバイス１０２、にとってアクセス可能なデータの構造化された集合に対応することができる。ＨＴＴＰストリーミングクライアントデバイスは、クライアントデバイスのユーザにストリーミングサービスを提示するためにメディアデータ情報を要求してダウンロードすることができる。メディア提示はＭＰＤデータ構造で記述され、ＭＰＤの更新を含むことができる。
メディアコンテンツは、１つ以上の期間のシーケンスを含むことができる。期間は、ＭＰＤ内でＰｅｒｉｏｄ要素によって定義することができる。各期間は、ＭＰＤにおいて属性ｓｔａｒｔを有することができる。ＭＰＤは、各期間に関するｓｔａｒｔ属性及びａｖａｉｌａｂｌｅＳｔａｒｔＴｉｍｅ属性を含むことができる。ライブサービスに関しては、期間のｓｔａｒｔ属性及びＭＰＤ属性ａｖａｉｌａｂｌｅＳｔａｒｔＴｉｍｅの和が、期間の利用可能性時間をＵＴＣフォーマットで指定することができる。特に、対応する期間内の各表現の第１のメディアセグメント。オンデマンドサービスに関しては、第１の期間のｓｔａｒｔ属性は０であることができる。その他の期間に関しては、ｓｔａｒｔ属性は、対応する期間の開始時間と第１の期間の開始時間との間の時間オフセットを指定することができる。各期間は、次の期間の始めまで、又は、最後の期間の場合はメディアコンテンツの最後まで延長することができる。期間開始時間は正確であることができる。それらは、すべての以前の期間を再生した結果生じる実際のタイミングを反映させることができる。
各期間は、同じメディアコンテンツに関する１つ以上の表現を含むことができる。表現は、音声又は映像データの幾つかの代替の符号化されたバージョンのうちの１つであることができる。表現は、符号化のタイプごとに、例えば、ビットレート、解像度、及び又は映像データ及びビットレートに関するコーデック、言語、及び又は音声データに関するコーデック、ごとに異なることができる。用語表現は、符号化された音声又は映像データのうちでマルチメディアコンテンツの特定の期間に対応し及び特定の方法で符号化されたセクションを意味するために使用することができる。
特定の期間の表現は、ＭＰＤ内のグループ属性によって示されるグループに割り当てることができる。同じグループ内の表現は、互いに代替であると概してみなされる。例えば、特定の期間に関する映像データの各表現は、同じグループに割り当てることができ、従って、対応する期間に関するマルチメディアコンテンツの映像データを表示するためにいずれの表現も復号のために選択することができる。１つの期間内のメディアコンテンツは、幾つかの例では、グループ０（存在する場合）からの１つの表現、又は各々のゼロでないグループからの多くても１つの表現の組み合わせによって表現することができる。期間の各表現に関するタイミングデータは、その期間の開始時間に関して表すことができる。
【００２７】
表現は、１つ以上のセグメントを含むことができる。各表現は、初期化セグメントを含むことができ、又は、表現の各セグメントは、自己初期化型であることができる。存在するときには、初期化セグメントは、表現にアクセスするための初期化情報を含むことができる。概して、初期化セグメントは、メディアデータは含まない。セグメントは、識別子、例えば、ＵＲＬ、ＵＲＮ、又はユニフォームリソース識別子（ＵＲＩ）によって一意で参照することができる。ＭＰＤは、各セグメントに関する識別子を提供することができる。幾つかの例では、ＭＰＤは、範囲属性の形でバイト範囲を提供することもでき、それは、ＵＲＬ、ＵＲＮ、又はＵＲＩによってアクセス可能なファイル内のセグメントに関するデータに対応することができる。
【００２８】
Ｈ．２６４／ＡＶＣ（アドバンストビデオコーディング）の例では、コーディングされた映像サンプルは、ネットワーク抽象化層（ＮＡＬ）ユニットとして編成され、それらは、ビデオテレフォニー、記憶、ブロードキャスト、又はストリーミング、等のアプリケーションに対処する“ネットワークにやさしい”映像表現を提供する。ＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニット及び非ＶＣＬ  ＮＡＬユニットに分類することができる。ＶＣＬユニットは、コア圧縮エンジンを内蔵することができ、及び、ブロック、マクロブロック、及び／又はスライスレベルデータを含むことができる。その他のＮＡＬユニットは、非ＶＣＬ  ＮＡＬユニットであることができる。幾つかの例では、１つの時間インスタンスにおけるコーディングされたピクチャは、通常はプライマリなコーディングされたピクチャとして提示され、アクセスユニット内に含めることができ、それは、１つ以上のＮＡＬユニットを含むことができる。
【００２９】
非ＶＣＬ  ＮＡＬユニットは、特に、パラメータセットＮＡＬユニットと、補助エンハンスメント情報（ＳＥＩ）ＮＡＬユニットと、を含むことができる。パラメータセットは、（シーケンスパラメータセット（ＳＰＳ）内の）シーケンスレベルのヘッダ情報と、（ピクチャパラメータセット（ＰＰＳ）内の）ピクチャレベルヘッダ情報を含むことができる。パラメータセット（例えば、ＰＰＳ及びＳＰＳ）の場合は、頻繁に変化しない情報は、各シーケンス又はピクチャごとに繰り返す必要がなく、従って、コーディング効率を向上させることができる。さらに、パラメータセットの使用は、重要なヘッダ情報のアウトオブバンド（ｏｕｔ−ｏｆ−ｂａｎｄ）送信を可能にし、誤りに対する弾力性のために冗長な送信を行う必要がない。アウトオブバンド送信例では、パラメータセットＮＡＬユニットは、その他のＮＡＬユニット、例えば、ＳＥＩ  ＮＡＬユニット、と異なるチャネルで送信することができる。
【００３０】
ＳＥＩ  ＮＡＬユニットは、ＳＥＩメッセージを含むことができる。ＳＥＩメッセージは、ＶＣＬ  ＮＡＬユニットからのコーディングされたピクチャを復号するために必要ない情報を含むことができるが、復号、表示、誤り弾力性、及びその他の目的に関連するプロセスにおいて役立つことができる。ＳＥＩメッセージは、非ＶＣＬ  ＮＡＬユニットに含めることができる。ＳＥＩメッセージは、幾つかの規格仕様の規範的な部分であり、従って、規格に準拠する復号器の実装に関して常に強制的であるわけではない。ＳＥＩメッセージは、シーケンスレベルＳＥＩメッセージ又はピクチャレベルＳＥＩメッセージであることができる。幾つかのシーケンスレベル情報をＳＥＩメッセージ、例えば、ＳＶＣの例におけるスケーラビリティ情報ＳＥＩメッセージ及びＭＶＣにおけるビュースケーラビリティ情報ＳＥＩメッセージ、に入れることができる。これらのＳＥＩメッセージ例は、例えば、動作ポイントの抽出及び動作ポイントの特徴に関する情報を搬送することができる。
【００３１】
各表現は、１つ以上のメディアコンポーネントを含むことができ、各メディアコンポーネントは、１つの個々のメディアタイプ、例えば、音声、映像、又は（例えば、クローズドキャプショニングのために）タイミングが計られたテキスト、の符号化されたバージョンに対応することができる。メディアコンポーネントは、１つの表現内の連続するメディアセグメントの境界を越えて時間的に連続することができる。
数多くの映像コーディング規格と同様に、Ｈ．２６４／ＡＶＣは、誤りのないビットストリームに関する構文、意味論、及び復号プロセスを定義し、それらのいずれも一定のプロフィール又はレベルに準拠する。Ｈ．２６４／ＡＶＣは符号器を指定していないが、符号器は、生成されたビットストリームが復号器に関する規格に準拠するように保証するタスクが課される。映像コーディング規格に関しては、“プロフィール”は、アルゴリズム、特徴、又はツール、及びそれらに適用される制約事項の部分組に対応する。例えば、Ｈ．２６４によって定義される場合の“プロフィール”は、Ｈ．２６４規格によって指定されるビットストリーム構文全体の部分組である。“レベル”は、ピクチャの解像度、ビットレート、及びブロック処理レートに関連する、復号器リソース消費、例えば、復号器メモリ及び計算、の制限事項に対応する。プロフィールは、ｐｒｏｆｉｌｅ_ｉｄｃ（プロフィールインジケータ）値を用いてシグナリングすることができ、レベルは、ｌｅｖｅｌ_ｉｄｃ（レベルインジケータ）値を用いてシグナリングすることができる。
【００３２】
例えば、Ｈ．２６４規格は、所定のプロフィールの構文によって課せられた限界内で、ビットストリーム内の構文要素によって取られた値、例えば、復号されたピクチャの指定されたサイズ、に依存して符号器及び復号器の性能の大きな変動が要求される可能性があることを認識している。Ｈ．２６４規格は、多くの用途では、特定のプロフィール内の構文のすべての仮説的な使用を取り扱うことが可能な復号器を実装することは実際的でも経済的でもないということを認識している。従って、Ｈ．２６４規格は、“レベル”とは、ビットストリーム内の構文要素の値に課せられた制約の指定された組であると定義している。これらの制約は、値に対する単純な限度であることができる。代替として、これらの制約は、値の算術的結合（例えば、ピクチャ幅×ピクチャ高さ×毎秒当たりの復号されたピクチャの数）に対する制約の形をとることができる。Ｈ．２６４規格は、個々の実装が各サポートされるプロフィールに関する異なるレベルをサポートすることをできる旨をさらに規定する。従って、様々なデバイスの復号器によってサポートされる映像コーディング規格の様々なプロフィール及びレベルを考慮するためにメディアコンテンツの様々な表現を提供することができる。
プロフィールに準拠する復号器は、通常は、そのプロフィール内で定義されるすべての特徴をサポートする。例えば、コーディング上の特徴として、Ｂピクチャコーディングは、Ｈ．２６４／ＡＶＣのベースラインプロフィール内ではサポートされず、Ｈ．２６４／ＡＶＣのその他のプロフィール内でサポートされる。レベルに準拠する復号器は、レベル内で定義される制限を超えてリソースを要求しないビットストリームを復号可能であるべきである。プロフィール及びレベルの定義は、解釈する上で役立つことができる。例えば、映像送信中には、送信セッション全体にして一対のプロフィールとレベルの定義について交渉して合意することができる。より具体的には、Ｈ．２６４／ＡＶＣでは、レベルは、例えば、処理する必要があるマクロブロック（“ブロック”又は“ＭＢ”とも呼ばれる）の数、復号されたピクチャバッファ（ＤＰＢ）サイズ、コーディングされたピクチャバッファ（ＣＰＢ）サイズ、垂直動きベクトル範囲、２つの連続するＭＢ当たりの動きベクトルの最大数、及びＢブロックが８×８ピクセルよりも少ないサブマクロブロックパーティションを有することができるかどうかに対する制限を定義することができる。この方法により、復号器は、復号器がビットストリーム、例えば、マルチメディアコンテンツの特定の表現、を適切に復号することが可能であるかどうかを決定することができる。
【００３３】
図２は、フレーム２００Ａ乃至２００Ｐ（総称して“フレーム２００”）を備える映像例を示す概念図である。各々のフレーム２００は、この例では静止画像を備える。クライアントデバイス１０２がフレーム２００を次々と連続して提示すると、ユーザ１０８は、フレーム内のオブジェクトが動いていると知覚することができる。
【００３４】
フレーム２００は、サンプルシーケンス２０２Ａ乃至２０２Ｄ（総称して“サンプルシーケンス２０２”）に属する。サンプルシーケンス２０２の各々は、図２の例では別個の行（ｒｏｗ）として例示される。サンプルシーケンス２０２の各々は、マルチメディアコンテンツの各々の時間的セクションに対応することができる。映像の各表現は、サンプルシーケンス２０２Ａを表現するセグメントと、サンプルシーケンス２０２Ｂを表現するセグメントと、サンプルシーケンス２０２Ｃを表現するセグメントと、サンプルシーケンス２０２Ｄを表現するセグメントと、を含むことができる。図２の例では、サンプルシーケンス２０２は、４つのフレームを各々含む。映像のサンプルシーケンスは、４つよりも多い又は少ないフレームを含むことができることを読者は理解するであろう。
【００３５】
映像の異なるセグメントが異なるタイプのシーンを含むことができる。例えば、図２の例では、映像は、自転車レースを示す。サンプルシーケンス２０２Ａ及び２０２Ｂは、ある人が自転車のペダル漕いでいるシーンを含む。サンプルシーケンス２０２Ｃは、解説者が机の前でレースの解説をしているシーンを含む。サンプルシーケンス２０２Ｄは、レース上空を旋回しているヘリコプターから見たレースシーンを含む。
【００３６】
幾つかのタイプのシーンでは、各フレームは、前のフレームからほとんど変わらない。説明を容易にするため、本開示は、該シーンを低アクションシーンと呼ぶことができる。その他のタイプのシーンでは、各フレームは、前のフレームと有意に異なる。説明を容易にするため、本開示は、該シーンを高アクションシーンと呼ぶことができる。図２の例では、サンプルシーケンス２０２Ｃは、解説者が話をしているという相対的に静止している画像を含む低アクションシーンを表現する。従って、サンプルシーケンス２０２Ｃ内の各フレームは、前のフレームからほとんど変化していない。対照的に、サンプルシーケンス２０２Ａ及び２０２Ｂは、自転車のペダルを漕いでいる人の高速の動きを示す高アクションシーンを含む。従って、サンプルシーケンス２０２Ａ及び２０２Ｂ内の各フレームは、前のフレームから大きく変化している。
【００３７】
セグメントは、符号化形式を用いて符号化されたデータを含む。例えば、メディアコンテンツが映像である場合は、セグメントは、Ｈ．２６４／ＡＶＣ形式、ＶＣ−２形式、ＭＰＥＧ−４  Ｐａｒｔ２形式、Ｈ．２６３形式、又は他の映像コーディング形式を用いて符号化されたデータを含むことができる。該符号化形式では、所定の最大歪みレベルで高アクションシーンのフレームを表現するほうが、同じ所定の最大歪みレベルで低アクションシーンのフレームを表現するよりも多いビット数を要求される。換言すると、最大歪みレベルで高アクションシーンを提示するほうがより高いビットレートが要求され、同じ最大歪みレベルで低アクションシーンを提示するにはより低いビットレートで十分であることができる。例えば、所定の最大歪みレベルにおいてサンプルシーケンス２０２Ａ及び２０２Ｂ内の高アクションシーンを表現するためにより高いビットレートが要求され、所定の最大歪みレベルにおいてサンプルシーケンス２０２Ｃ及び２０２Ｄ内の低アクションシーンを表現するためにはより低いビットレートで十分であることができる。
メディアコンテンツが音声ストリームである例では、セグメントは、ＭＰ３形式、フォービス（Ｖｏｒｂｉｓ）形式、アドバンストオーディオコーディング（Ａｄｖａｎｃｅｄ  Ａｕｄｉｏ  Ｃｏｄｉｎｇ（ＡＡＣ））、ウィンドウズメディアオーディオ（Ｗｉｎｄｏｗｓ  Ｍｅｄｉａ  Ａｕｄｉｏ（ＷＭＡ））、デジタルスピーチ規格（ＤＳＳ）、又は他の音声コーディング形式を用いて符号化されたサンプルを表現することができる。該符号化形式では、多くの周波数を表現するサンプルのシリーズを表現するほうが、より少ない周波数を表現するサンプルのシリーズを表現するよりも多くのビット数が要求される。
【００３８】
推定される帯域幅は、サーバデバイス１０４がどれだけのデータをクライアントデバイス１０２に転送することができるに関する上限を表すことができる。従って、帯域幅は、再生の中断を生じさせずに最高のビットレートを有するセグメントのみを転送する上で十分に大きくないことがある。例えば、所定の表現内のセグメントの各々は、３秒続くメディアコンテンツの時間的セクションに対応することができ及び３．０Ｍｂｐｓのビットレートを有することができる。この例では、やって来る期間は、４つのセグメントグループを含むことができる。従って、この例では、やって来る期間は、１２秒続く。推定される帯域幅が１．７５Ｍｂｐｓである場合は、これらの１２秒中に２１．０メガビットをクライアントデバイス１０２に転送することができる。対照的に、３．０Ｍｂｐｓのビットレートを有する４つのセグメントが転送される場合は３６．０メガビットが転送される。
【００３９】
上述されるように、同じ最大歪みレベルで低アクションシーンよりも高アクションシーンを表現するほうがより高いビットレートを要求することができる。やって来る期間と関連付けられた時間中には限られた量のデータしか転送することができないため、クライアントデバイス１０２は、組み合わせの中に含めるべきセグメントを選択するためにセグメントに関する推定される帯域幅及び優先度値を使用することができる。組み合わせは、高いビットレートを有する幾つかのセグメントと、より低いビットレートを有する幾つかのセグメントと、を含むことができる。クライアントデバイス１０２は、高アクションシーンを表現するセグメントがより高いビットレートを有し、低アクションシーンを表現するセグメントがより低いビットレートを有する組み合わせを選択するためにセグメントと関連付けられた優先度値を使用することができる。この方法により、組み合わせ内のセグメントによって表現されるフレームの全体的な歪みレベルを低下させることができる。
【００４０】
例えば、クライアントデバイス１０２は、組み合わせのセグメントの平均ビットレートが推定される帯域幅以下であるようにやって来る期間のセグメントグループ内のセグメントの組み合わせを選択することができる。他の例では、クライアントデバイス１０２は、現在再生バッファ内にある映像データの再生継続時間に少なくとも部分的に基づいてセグメントの組み合わせも選択する。この例では、クライアントデバイス１０２は、選択されたセグメントに関する推定転送時間が、選択されたセグメントの再生継続時間プラス再生バッファ内の映像データの再生継続時間以下であるようにやって来る期間のセグメントグループ内のセグメントの組み合わせを選択することができる。
【００４１】
幾つかの例では、クライアントデバイス１０２は、特定の状況に応答して再生バッファの長さを長くすることができる。例えば、クライアントデバイス１０２は、クライアントデバイス１０２が映像の再生を開始したときに高品質の再生を保証するのに役立てるために映像の開始時に再生バッファの長さを長くすることができる。幾つかの該例では、サーバデバイス１０４は、再生バッファを長くするようにクライアントデバイス１０２に命令するためにビットストリーム内にデータを含めることができる。映像の開始時にバッファの長さを長くすることは、高アクションシーンで始まる映像にとって特に有利であることができる。
【００４２】
図３は、サーバデバイス１０４の構成例を示すブロック図である。図３の例で示されるように、サーバデバイス１０４は、データ記憶システム３００と、セグメンテーションユニット３０２と、優先度ユニット３０４と、マニフェスト生成ユニット３０６と、サーバアプリケーション３０８と、を備えることができる。幾つかのその他の例では、サーバデバイス１０４は、図３の例において示されるシステムに加えてのそれらを提供することができる。その他の例では、サーバデバイス１０４は、図３の例において示される各々のシステムを提供しない。例えば、サーバデバイス１０４は、セグメンテーションユニット３０２、優先度ユニット３０４及びマニフェスト生成ユニット３０６は提供することができず、代わりに、マルチメディアコンテンツの生成されたセグメント、マルチメディアコンテンツに関するマニフェストファイル、及び優先度値を、サーバデバイス１０４の外部のコンテンツ準備デバイス又はコンテンツ準備システムから受信することができる。
図３の例において示されるように、データ記憶システム３００は、複数のセグメント３１０及びマニフェストファイル３１２を格納することができる。幾つかの例では、データ記憶システム３００は、セグメント３１０及びマニフェストファイル３１２を第３世代パートナーシッププロジェクト（３ＧＰＰ）ファイル形式で格納することができる。その他の例では、データ記憶システム３００は、その他の方法でセグメント３１０及びマニフェストファイル３１２を格納することができる。
データ記憶システム３００は、データ、例えば、セグメント３１０及びマニフェストファイル３１２、を格納する１つ以上のコンピュータ記憶媒体を備えることができる。本開示は、マニフェストファイル３１２を“ファイル”と呼んでいるが、幾つかの例は、マニフェストファイル３１２をファイルとして格納しない。例えば、幾つかの例では、マニフェスト生成ユニット３０８は、マニフェストファイル３１２のデータを動的に生成する。その他の例では、マルチメディアコンテンツの様々な期間を異なるマニフェストファイルデータと関連付けることができ、それらは、予め生成すること、動的に生成すること、又は、マニフェストファイルの前バージョンの該当する更新の形態で示すことができる。幾つかの例では、マニフェストファイル３１２は、メディアプレゼンテーション記述（ＭＰＤ）ファイルである。
【００４３】
図３の例では、データ記憶システム３００は、サーバデバイス１０４のハウジング内に物理的に配置される。その他の例では、データ記憶システム３００は、サーバデバイス１０４のハウジングの部分的外部に又は完全に外部に存在する。例えば、データ記憶システム３００は、ネットワーク取り付け記憶（ＮＡＳ）システム又は直接取り付け記憶（ＤＡＳ）システムの一部であることができる。
セグメンテーションユニット３０２は、セグメント３１０を生成することができる。本開示の別の場所で詳細に説明されるように、セグメンテーションユニット３０２の様々な例が様々な方法でセグメント３１０を生成することができる。優先度ユニット３０４は、優先度値をセグメント３１０と関連付けることができる。本開示の別の場所で詳細に説明されるように、優先度ユニット３０４の様々な例が、優先度値を様々な方法でセグメント３１０と関連付けることができる。マニフェスト生成ユニット３０６は、マニフェストファイル３１２を生成することができる。本開示の別の場所で詳細に説明されるように、マニフェスト生成ユニット３０６の様々な例が様々な方法でマニフェストファイル３１２を生成することができる。サーバアプリケーション３０８は、クライアントデバイス、例えば、クライアントデバイス１０２、から受信された要求に応答することができる。本開示の別の場所で詳細に説明されるように、サーバアプリケーション３０８の様々な例が、クライアントデバイス１０２から受信された要求に様々な方法で応答することができる。
【００４４】
サーバデバイス１０４は、セグメンテーションユニット３０２、優先度ユニット３０４、マニフェスト生成ユニット３０６、及びサーバアプリケーション３０８を様々な方法で実装することができる。例えば、サーバデバイス１０４は、サーバデバイス１０４を実装するコンピューティングデバイスの１つ以上の処理ユニットが一定の命令を実行時にセグメンテーションユニット３０２、優先度ユニット３０４、マニフェスト生成ユニット３０６、及び／又はサーバアプリケーション３０８を実装することができる。他の例では、サーバデバイス１０４を実装するコンピューティングデバイスは、セグメンテーションユニット３０２、優先度ユニット３０４、マニフェスト生成ユニット３０６、及び／又はサーバアプリケーション３０８を実装することをサーバデバイス１０４に行わせる１つ以上のＡＳＩＣを備えることができる。
【００４５】
セグメント３１０の各々は、メディアコンテンツ内のサンプルのシーケンスを表現することができる。例えば、メディアコンテンツは、映像データを含むことができる。この例では、セグメント３１０のうちの１つは、サンプルシーケンス２０２Ａを表現することができ、セグメント３１０の他の１つは、サンプルシーケンス２０２Ｂを表現することができ、以下同様である。他の例では、メディアコンテンツは、音声ストリームであることができる。この例では、セグメント３１０のうちの１つは、第１の一連の音声サンプルを表現することができ、セグメント３１０のうちの他の１つは、第２の一連の音声サンプルを表現することができ、以下同様である。
【００４６】
セグメント３１０は、複数のセグメントグループ３１４Ａ乃至３１４Ｎ（総称して“セグメントグループ３１４）”に属することができる。セグメントグループ３１０のうちの１つ内のセグメント３１０の各々は、メディアコンテンツの同じサンプルを表現することができる。例えば、メディアコンテンツが図２の映像である場合は、セグメントグループ３１４Ａ内の各セグメント３１０は、サンプルシーケンス２０２Ａ内のフレームを表現することができ、セグメントグループ３１４Ｎ内の各セグメント３１０は、サンプルシーケンス２０２Ｂ内のフレームを表現することができ、以下同様である。
【００４７】
セグメント３１０は、複数の表現３１６Ａ乃至３１６Ｎ（総称して“表現３１６”）に属することができる。表現３１６の各々は、異なるビットレートと関連付けることができる。所定の表現内のセグメント３１０は、所定の表現と関連付けられたビットレートでメディアコンテンツのサンプルを表現することができる。例えば、表現３１６Ａ内のセグメント３１０は、３．０Ｍｂｐｓのビットレートでメディアコンテンツを表現することができる。この例では、表現３１６Ｎ内のセグメント３１０は、５００Ｋｂｐｓのビットレートでメディアコンテンツを表現することができる。
【００４８】
表現３１６の各々は、異なるビットレートと関連付けることができるため、各々のセグメントグループ３１４内のセグメントは、異なるビットレートを有することができる。例えば、セグメントグループ３１４Ａ内の第１のセグメントは、毎秒３．０メガビット（Ｍｂｐｓ）のビットレートを有することができ、セグメントグループ３１４Ａ内の第２のセグメントは、毎秒１．０Ｍｂｐｓのビットレートを有することができ、セグメントグループ３１４Ａ内の第３のセグメントは、毎秒５００キロビット（Ｋｂｐｓ）のビットレートを有することができ、以下同様である。
【００４９】
セグメントのビットレートは、セグメントが１つの単位の再生時間中に提示されるメッセージコンテンツの時間的セクションを表現するためにどれだけの数のビットを使用するかを示すことができる。例えば、メディアコンテンツの表現が２５ｆｐｓのフレームレートを有する場合は、その表現のセグメントのビットレートは、セグメントが２５フレームを表現するためにどれだけの数のビットを使用するかを示すことができる。
本開示の別の場所で詳細に説明されるように、クライアントデバイス１０２は、各々のセグメントグループ３１４から１つのセグメントを選択することができる。例えば、第１のセグメントグループは、セグメントＡ、Ｂ、及びＣを含むことができ、第２のセグメントグループは、セグメントＤ、Ｅ、及びＦを含むことができ、第３のセグメントグループは、Ｇ、Ｈ、及びＩを含むことができる。この例では、クライアントデバイス１０２は、第１のセグメントグループからセグメントＢを、第２のセグメントグループからセグメントＤを、及び第３のセグメントグループからセグメントＧを選択することができる。
幾つかの例では、マニフェストファイル３１２は、セグメント３１０と関連付けられた優先度値を表す情報を含むことができる。本開示の別の場所で詳細に説明されるように、クライアントデバイス１０２は、マニフェストファイル３１２のコピーを受信することができる。幾つかの例では、クライアントデバイス１０２は、各セグメントグループ３１４から１つのセグメントを選択するためにマニフェストファイル３１２によって指定された優先度値及び推定される帯域幅を使用することができる。
【００５０】
代替として、表現３１６自体は、セグメント３１０と関連付けられた優先度値を表す情報を含むことができる。例えば、表現のセグメントインデックス（又は“ＳＩＤＸ”）ボックスは、サブセグメントの切り換えを可能にする対応する表現のセグメントに関するインデックスに加えて、対応するセグメントに関する優先度値を提供することができる。この方法により、各表現３１６は、表現のセグメントに関する優先度値を示す情報を含むセグメントインデックスボックスを含むことができる。
【００５１】
さらに他の例として、優先度ユニット３０４は、対応するヒント情報を提供するメタデータトラック内の優先度値を示す情報を提供することができる。ＩＳＯベースメディアファイル形式及びそれらの拡張（例えば、３ＧＰＰ）により、メタデータは、映像トラックとまったく同じように、ファイル形式サンプルのシーケンスとして構造化することができる。該トラックは、メタデータトラックと呼ぶことができる。各メタデータサンプルは、メタデータ文として構造化することができる。対応するファイル形式サンプル又はそれの成分サンプルに関して尋ねられる可能性がある様々な質問に対応する、様々な種類の文が存在する。
【００５２】
図４は、取り出しのためにメディアコンテンツのデータを準備する動作例４００を示したフローチャートである。サーバデバイス１０４が動作４００を開始した後に、サーバデバイス１０４は、メディアコンテンツのオリジナルバージョンを受信することができる（４０２）。サーバデバイス１０４は、メディアコンテンツのオリジナルバージョンを様々な方法で受信することができる。例えば、サーバデバイス１０４は、サーバデバイス１０４に接続されたビデオカメラ又はマイクからの生の音声及び／又は映像データとしてメディアコンテンツのオリジナルバージョンを受信することができる。他の例では、個人は、メディアコンテンツのオリジナルバージョンをサーバデバイス１０４にアップロードするためにコンピューティングデバイスを使用することができる。この例では、メディアコンテンツのオリジナルバージョンは、既に所定の形式で符号化することができる。さらに他の例では、メディア設計者は、メディアコンテンツのオリジナルバージョンを生成するためにサーバデバイス１０４で実行する１つ以上のソフトウェアアプリケーションを使用することができる。サーバデバイス１０４によって行われるとして説明されているが、その他のデバイスも図４の方法を実施するように構成できることが理解されるべきである。例えば、コンテンツ準備デバイス又はコンテンツ準備システムは、図４に関して説明される方法に実質的に準拠する方法を実施するように構成することができる。
【００５３】
メディアコンテンツのオリジナルバージョンを受信後は、セグメンテーションユニット３０２は、セグメント３１０を生成することができる（４０４）。様々な例において、セグメンテーションユニット３０２は、様々な方法でセグメント３１０を生成することができる。例えば、セグメンテーションユニット３０２は、最初に、メディアコンテンツのオリジナルバージョンを１つ以上の期間に分割することができる。次に、セグメンテーションユニット３０２は、それらの期間の各々に関して複数の組のＮＡＬユニットを生成することができる。ある期間に関するＮＡＬユニットの各組は、その期間の異なる表現に対応することができる。ある期間に関するＮＡＬユニットは、その期間内のフレーム又はその他のサンプルを表現する符号化された映像データを含むことができる。その期間のＮＡＬユニットの異なる組は、異なる特徴を有することができる。例えば、ＮＡＬユニットの異なる組内の映像データは、異なるビットレートでコーディングすることができる。次に、ＮＡＬユニットの各組に関して、セグメンテーションユニット３０２は、まとめて期間内のフレーム又はサンプルのシーケンスを表現する映像データを含むＮＡＬユニットをカプセル化することによってセグメント３１０を生成することができる。この方法により、セグメンテーションユニット３０２は、各表現３１６に関するセグメント３１０を生成することができる。メディアコンテンツのオリジナルバージョンが生の映像又は音声データを備える幾つかの例では、セグメンテーションユニット３０２は、生の映像又は音声データから符号化された映像データを生成することができる。
【００５４】
セグメンテーションユニット３０２は、ファイルカプセル化規格、例えば、ＩＳＯベースメディアファイル形式又はＩＳＯベースメディアファイル形式の拡張である３ＧＰＰファイル形式、によりセグメント３１０を生成することができる。ＩＳＯベースメディアファイル形式は、メディアの交換、管理、編集、及び提示を容易にする柔軟な、拡張可能な形式での表現のためのタイミングが計られたメディア情報を含むように設計される。ＩＳＯベースメディアファイル形式（ＩＳＯ／ＩＥＣ  １４４９６−１２：２００４）は、ＭＰＥＧ−４  Ｐａｒｔ−１２において指定され、それは、時間に基づくメディアファイルに関する一般的構造を定義する。ＩＳＯベースメディアファイル形式は、系統内のその他のファイル形式、例えば、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ映像圧縮のためのサポートに関して定義されたＡＶＣ映像ファイル形式（ＩＳＯ／ＩＥＣＶ  １４４９６−１５）、３ＧＰＰファイル形式、ＳＶＣファイル形式、及びＭＶＣファイル形式のための基礎として使用される。３ＧＰＰファイル形式及びＭＶＣファイル形式は、ＡＶＣファイル形式の拡張である。ＩＳＯベースメディアファイル形式は、メディアデータのタイミングが計られたシーケンス、例えば、視聴覚提示、のためのタイミング、構造、及びメディア情報を含む。ファイル構造は、オブジェクト指向であることができる。ファイルは、非常に単純に基本的なオブジェクトに分解することができ、及び、オブジェクトの構造は、それらのタイプから暗示することができる。
ＩＳＯベースメディアファイル形式（及びその拡張）に準拠したファイルは、“ボックス”と呼ばれる一連のオブジェクトとして形成することができる。ＩＳＯベースメディアファイル形式のデータは、ボックス内に入れることができ、従って、その他のデータをファイル内に含める必要はなく、さらに、ファイル内のボックス外にデータが存在する必要がない。これは、指定されたファイル形式によって要求される最初の署名を含む。“ボックス”は、一意のタイプ識別子及び長さによって定義されたオブジェクト指向のビルディングブロックであることができる。典型的には、セグメントは１つのファイルに入れられる。ムービーコンテナ（ムービーボックス）は、ファイルのその他のボックスに関するメタデータを入れることができ、映像及び音声フレームは、メディアデータコンテナ、メディアフラグメント、又はその他の要素の中に入れることができ、及び、その他のファイルで提供することができる。幾つかの例では、セグメント３１０のうちの１つ以上は、初期化セグメントを備えることができ、それは、ストリームアクセスポイントに対応し、表現の後続するセグメントのための初期化データを含むことができる。代替として、セグメント３１０は、自己初期化型であることができる。
【００５５】
セグメンテーションユニット３０２は、データ記憶システム３００内にセグメント３１０を格納することができる（４０６）。セグメンテーションユニット３０２の様々な例が様々な方法でセグメント３１０を格納することができる。例えば、セグメンテーションユニット３０２は、セグメント３１０を別個のファイルとして格納することができる。他の例では、セグメンテーションユニット３０２は、１つ以上のリレーショナルデータベース内にバイナリの大きいオブジェクト（ＢＬＯＢ）としてセグメント３１０を格納することができる。
セグメンテーションユニット３０２がセグメント３１０を生成して格納した後は、優先度ユニット３０４は、優先度値をセグメント３１０と関連付けることができる（４０８）。優先度ユニット３０４は、様々な方法で優先度値をセグメント３１０と関連付けることができる。例えば、優先度ユニット３０４は、別々の優先度値を各セグメント３１０に割り当てることによって優先度値をセグメント３１０と関連付けることができる。他の例では、優先度ユニット３０４は、メディアコンテンツの各セグメントグループに別々の優先度値を割り当てることによって優先度値をセグメント３１０と関連付けることができる。換言すると、各セグメントグループ３１４には、別個の優先度値を割り当てることができる。従って、この例では、優先度ユニット３０４は、所定のセグメントグループ内の各セグメントをその所定のセグメントグループに割り当てられた優先度値と関連付けることができる。
【００５６】
優先度値は、様々な方法で表現することができる。幾つかの例では、優先度ユニット３０４は、高い優先度値（すなわち、再生品質に差がほとんど又はまったくない）を大きい数字として表現し、低い優先度値（すなわち、品質差が大きい）を小さい数字として表現することができる。例えば、これらの例の一部では、１．０が可能な最高の優先度値であり、０．０が可能な最低の優先度値である。その他の例は、高い優先度値を小さい数字として表現し、低い優先度値を大きい数字として表現することができる。例えば、これらの例の一部では、０．０が可能な最高の優先度値であり、１．０が可能な最低の優先度値である。この方法により、優先度値は、メディアコンテンツのより高いビットレートの表現から特定の時間的セクションに関するセグメントを選択することの相対的重要性を説明することができる。
【００５７】
優先度ユニット３０４が各々のセグメント３１０に別々の優先度値を割り当てる例では、優先度ユニット３０４は、様々な方法で優先度値を割り当てることができる。例えば、優先度ユニット３０４は、セグメントの優先度値がそのセグメント内の計算された歪みの量と相関するようにセグメント３１０に優先度値を割り当てることができる。メディアコンテンツが映像である例では、色又は形状の不正確さ、ブロッキネスアーティファクト、リンギングアーティファクト、及びその他の不正確さが、計算された歪み量の増大に貢献する。この例では、優先度ユニット３０４は、各セグメント３１０に関して歪み評価プロセスを行うことができる。優先度ユニット３０４がセグメント３１０のうちの１つに関して歪み評価プロセスを行うときには、優先度ユニット３０４は、セグメント内の計算された歪みの量を決定することができる。この例では、優先度ユニット３０４は、セグメントが小さい量の計算された歪みを有するときに高い優先度値をセグメントに割り当てることができる。対照的に、優先度ユニット３０４は、セグメントがより大きい量の計算された歪みを有するときにより低い優先度値をセグメントに割り当てることができる。換言すると、セグメント内の計算された歪みの量が多くなるに従い、優先度ユニット３０４は、漸進的により低い優先度値をセグメントに割り当てることができる。
幾つかの例では、（例えば、セグメンテーションユニット３０２の）映像符号器は、映像データのフレーム又はスライスのブロックに関する残差値を優先度ユニット３０４に提供することができる。優先度ユニット３０４は、セグメント内のピクチャ又はスライスに関する累積的（又は平均の）残差値に基づいて優先度値を割り当てることができる。さらに、又は代替で、人間のオペレータは、優先度ユニット３０４を用いてセグメントに優先度を割り当てることができる。幾つかの例では、人間のオペレータは、希望される視覚上の品質を達成するためにより高いアクションのシーンにより広い範囲の優先度を割り当てることができ、他方、人間のオペレータは、より低いアクションのシーンに対してはより狭い範囲の優先度を割り当てることができる。幾つかの例では、優先度ユニット３０４は、セグメントに関するビットレートを、人間のオペレータによって調整することができるピークビットレートで割ることによってセグメントの優先度を割り当てることができる。セグメントに関するビットレートはピークビットレートよりも低いため、セグメントの優先度は、最大値、例えば、１．０、を上限として実効的に設けることができる。幾つかの例では、ピークビットレートは、メディアデータのすべての時間的セクションに関して固定されていない。例えば、より高いアクションのシーンはピークビットレートに関してより高い値を有することができ、より低いアクションのシーンは、ピークビットレートに関してより低い値を有することができる。この方法により、セグメントに関する優先度値は、例えば、優先度ユニット３０４によって自動的に又は半自動的に割り当てることができる。
以下の表１は、セグメントグループ３１４内のセグメント３１０に割り当てられた優先度値例を含む。
【表１】
2015501090.tif 000003
【００５８】
図２の例に関して、セグメントグループ３１４Ａ−３１４Ｄは、映像シーケンス２０２Ａ−２０２Ｄにそれぞれ対応することができる。
【００５９】
さらに、優先度ユニット３０４が優先度値をセグメントに割り当てる例では、優先度ユニット３０４は、様々な方法で優先度値を割り当てることができる。例えば、メディアコンテンツは映像であることができる。この例では、優先度ユニット３０４は、視覚品質がセグメントグループ内のより低いビットレートセグメントにおいて低下する度合いに基づいてセグメントグループ内のセグメントに優先度値を割り当てることができる。例えば、優先度ユニット３０４は、セグメントグループ内のより低いビットレートのセグメントが目に見える形で低下させている視覚品質を有する場合はセグメントグループ内のより高いビットレートのセグメントに対して相対的に高い優先度値を割り当てることができる。逆に、優先度ユニット３０４は、セグメントグループ内のより低いビットレートのセグメントがより目立たない程度で低下した視覚品質を有する場合はセグメントグループ内のより高いビットレートのセグメントに対して相対的に低い優先度値を割り当てることができる。この方法により、セグメントの優先度値は、人間の神経系統によってセグメント内で感知可能な知覚上の歪みの量と相関させることができる（例えば、クロミナンスよりもルミナンスを優先させる）。その他の例では、優先度ユニット３０４は、ＩＴＵ−Ｔ勧告ＢＴ．５００において記述される映像平均意見スコア（ＶＭＯＳ）に基づいてセグメントに優先度値を割り当てることができる。
優先度ユニット３０４がセグメントグループ３１４に優先度値を割り当てる他の例では、優先度ユニット３０４の例は、各々のセグメントグループ３１４に関する比較動作を行うことができる。この例では、セグメントに関する比較動作中に、優先度ユニット３０４は、セグメントグループ内の異なるセグメントにおける歪み量を比較することができる。この例では、優先度ユニット３０４は、歪みレベルがセグメントグループ内のセグメント間で異なる量に基づいてセグメントグループ３１４内の各セグメントに優先度値を割り当てることができる。この例では、優先度ユニット３０４は、セグメントグループのセグメント内の歪み量が相対的に大きな量だけ異なるときにセグメントグループ内のより高いビットレートのセグメントに対して相対的に高い優先度値を割り当てることができる。この例では、優先度ユニット３０４は、セグメントグループのセグメント内の歪み量が相対的に小さい量だけ異なるときにセグメントグループ内のより高いビットレートのセグメントに対して相対的に低い優先度値を割り当てることができる。例えば、歪みは、圧縮されていない映像フレームを圧縮された、従って、歪みを有する映像フレームと比較することによってピーク信号対雑音比（ＰＳＮＲ）で測定することができる。この例では、３３ｄＢよりも上のＰＳＮＲは、高質であり従って低歪みであるとみなすことができる。２８ｄＢよりも低いＰＳＮＲは、低質であり従って高歪みであるとみなすことができる。２８ｄＢ−３３ｄＢの間のＰＳＮＲ値は、中質であり、中歪みであるとみなすことができる。
【００６０】
他の例では、優先度ユニット３０４は、映像フレーム内部のオブジェクトによって経験される動き量に基づいて優先度値を割り当てることができる。例えば、各映像フレームに関する動きフローフィールドを推定するために光学的フローに基づく動き推定技法を使用することができる。動きフローフィールドは、映像フレームの各空間領域に関する（方向と大きさから成る）動きベクトルから成ることができる。映像の所定の時間的セクションに関する総動き量を示すために映像フレームの時間的セクションに沿った動きベクトルの大きさの総量を使用することができる。
【００６１】
優先度値がセグメント３１０と関連付けられた後は、マニフェスト生成ユニット３０６は、マニフェストファイル３１２を生成する（４１０）。データ記憶システム３００がマニフェストファイル３１２を格納する（４１２）。幾つかの例では、マニフェスト生成ユニット３０６は、優先度ユニット３０４から優先度値を受信することができる。該例では、マニフェスト生成ユニット３０６は、マニフェストファイル３１２がセグメント３１０と関連付けられた優先度値を指定するような形でマニフェストファイル３１２を生成することができる。さらに、幾つかの例では、マニフェストファイル３１２は、セグメント３１０に関するＵＲＬを指定する。本開示の別の場所で説明されるように、クライアントデバイス１０２は、幾つかの例では、サーバデバイス１０４からセグメント３１０を取り出すためにセグメント３１０に関するＵＲＬを使用する。
【００６２】
マニフェストファイル３１２は、様々な方法でフォーマット化することができる。例えば、マニフェストファイル３１２は、拡張可能マークアップ言語（ＸＭＬ）文書としてフォーマット化することができる。この例では、マニフェストファイル３１２は、セグメントに対応するセグメント要素を含むことができる。セグメントに対応するセグメント要素は、セグメントのＵＲＬを指定するＵＲＬ要素及びセグメントと関連付けられた優先度値を指定する優先度要素を含むことができる。
【００６３】
後続して、サーバアプリケーション３０８は、クライアントデバイス１０２からマニフェスト要求メッセージを受信することができる（４１４）。メッセージに応答して、サーバアプリケーション３０８は、マニフェストファイル３１２のコピーをクライアントデバイス１０２に送信することができる（４１６）。
【００６４】
サーバアプリケーション３０８がマニフェストファイル３１２のコピーをクライアントデバイス１０２に送信後は、サーバアプリケーション３０８は、クライアントデバイス１０２から一連のセグメント要求メッセージを受信することができる（４１８）。セグメント要求メッセージの各々は、１つ以上のセグメント３１０のコピーを要求することができる。要求されたセグメントは、異なる表現３１６からのものであることができる。すなわち、クライアントデバイス１０２から受信されたセグメント要求メッセージは、表現３１６の異なるそれらのセグメントを指定することができる。サーバアプリケーション３０８は、セグメント要求メッセージに応答してセグメント３１０の要求されたコピーをクライアントデバイス１０２に送信することができる（４２０）。
この方法により、図４の方法は、適応型ストリーミングネットワークプロトコルを介して映像データを提供するため方法の例を表現することができる。方法は、セグメントに関する優先度を示す情報を送信することを備えることができる。セグメント３１０の各々は、個々に取り出し可能であることができる。セグメント３１０は、マルチメディアコンテンツの表現３１６の特定の時間的セクションに対応することができる。マルチメディアコンテンツの表現３１６の各々は、異なるビットレートで符号化された映像データを含むことができる。方法は、クライアントデバイス１０２からの１つ以上の要求に応答して適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信することも含むことができる。要求されたセグメントは、要求によって指定されたセグメント３１０のうちの幾つかであることができる。
図４の例では、優先度値は、マニフェストファイル内に含められる。その他の例では、優先度値は、マニフェストファイル内の代わりにメディアストリームのメタデータボックス内に含めることができる。幾つかの例では、メタデータボックスは、メディアコンテナ形式の既存のメタデータボックスであることができる。例えば、優先度値は、ＩＳＯベースメディアファイル形式（ＢＭＦＦ）を有するＭＰＥＧ−４規格におけるＳＩＤＸボックス内に含めることができる。その他の例では、優先度値は、１つ以上の既存のメディアコンテナ形式に加えられた専用メタデータボックス内に含めることができる。
【００６５】
図５は、クライアントデバイス１０２の構成例を示すブロック図である。図５の例では、クライアントデバイス１０２は、制御ユニット５００、選択ユニット５０２、取り出しユニット５０４、再生バッファ５０５、レンダリングユニット５０６、及び出力ユニット５０８を実装する。クライアントデバイス１０２は、制御ユニット５００、選択ユニット５０２、取り出しユニット５０４、再生バッファ５０５、レンダリングユニット５０６、及び出力ユニット５０８を様々な方法で実装することができる。例えば、クライアントデバイス１０２は、クライアントデバイス１０２の１つ以上の処理ユニット、例えば、汎用マイクロプロセッサ又はグラフィックス処理ユニット、が特定の命令を実行するときに制御ユニット５００、選択ユニット５０２、取り出しユニット５０４、レンダリングユニット５０６、及び／又は出力ユニット５０８を実装することができる。他の例では、クライアントデバイス１０２は、制御ユニット５００、選択ユニット５０２、取り出しユニット５０４、レンダリングユニット５０６、及び／又は出力ユニット５０８を実装することをクライアントデバイス１０２に行わせる１つ以上のＡＳＩＣを備えることができる。様々な例において、クライアントデバイス１０２は、様々なタイプのコンピュータ記憶媒体を用いて再生バッファ５０５を実装することができる。
【００６６】
図６は、ユーザ１０８にメディアコンテンツを提示するためにクライアントデバイス１０２によって行われる動作例６００を示したフローチャートである。クライアントデバイス１０２が動作６００を開始した後に、クライアントデバイス１０２の制御ユニット５００は、サーバデバイス１０４にマニフェスト要求メッセージを送信することによってマニフェストファイル３１２を取り出すことができる（６０２）。幾つかの例では、マニフェスト要求メッセージは、マニフェストファイル３１２のコピーを要求する。その他の例では、マニフェスト要求メッセージは、メディアコンテンツ一般と関連付けられた経路を指定する。マニフェスト要求メッセージは、様々な方法でフォーマット化することができる。例えば、マニフェスト要求メッセージは、ＨＴＴＰ要求を備えることができる。
【００６７】
制御ユニット５００は、メディアコンテンツに関するマニフェストファイル３１２を格納する（６０４）。図６の例では、制御ユニット５００は、マニフェスト要求メッセージに応答してマニフェストファイル３１２を受信後にマニフェストファイル３１２を格納することができる。図６に一致する例では、マニフェストファイル３１２は、セグメント３１０と関連付けられた優先度値を指定することができる。この方法により、クライアントデバイス１２０は、セグメント３１０と関連付けられた優先度値を受信することができる。さらに、図６に一致する例では、マニフェストファイル３１２は、セグメント３１０のＵＲＬを指定することができる。
その他の例では、クライアントデバイス１０２は、セグメント３１０と関連付けられた優先度値及び／又はセグメント３１０のＵＲＬをその他の方法で受信することを読者は理解するであろう。例えば、クライアントデバイス１０２は、セグメント３１０のセグメントインデックスボックスから優先度値を受信することができる。他の例では、クライアントデバイス１０２は、メディアコンテンツのメタデータトラックから優先度値を受信することができる。
【００６８】
マニフェストファイル３１２を受信後は、クライアントデバイス１０２の選択ユニット５０２は、やって来る期間に関するセグメントの組み合わせを選択することができる（６０６）。セグメントの組み合わせは、やって来る期間における各セグメントグループからの１つのセグメントを含むセグメントの組である。やって来る期間は、メディアコンテンツの時間的セクションに対応することができる。説明を容易にするため、本書は、やって来る期間の時間的セクション内の時間的セクションに対応するセグメントを含むセグメントグループを、やって来る期間におけるセグメントグループと呼ぶことができる。例えば、セグメントグループ３１４Ａ及び３１４Ｂは、１つのウィンドウ内に存在することが可能であり、セグメントグループ３１４Ｎ及びメディアコンテンツの他のセグメントグループは、他のウィンドウ内に存在することが可能であり、以下同様である。
【００６９】
様々な例において、ウィンドウは、様々な数のセグメントグループを含むことができる。例えば、ウィンドウは、一定の数のセグメントグループを含むことができる。例えば、ウィンドウは、各々が３つのセグメントグループを含むことができる。他の例では、ウィンドウは、各々が４つのセグメントグループを含むことができる。ウィンドウが一定の数のセグメントを含む例では、最後のウィンドウは、一定の数のセグメントグループよりも少ない数を含むことができる。他の例では、ウィンドウは、メディアコンテンツのすべてのセグメントグループを含むことができる。さらに他の例では、ウィンドウは、可変の数のセグメントグループを含むことができる。
【００７０】
選択ユニット５０２は、やって来る期間に関するセグメントの組み合わせを様々な方法で選択することができる。以下において詳細に説明される図７及び８は、やって来る期間に関するセグメントの組み合わせを選択するために選択ユニット５０２によって行われる動作例を示す。選択ユニット５０２は、やって来る期間に関するセグメントの組み合わせを選択するために図７及び８の例で示される以外の動作を行うことができることを読者は理解するであろう。説明を容易にするため、本開示は、選択されたセグメントの組み合わせ内のセグメントを選択されたセグメントと呼ぶことができる。
選択ユニット５０２がやって来る期間に関するセグメントの組み合わせを選択した後は、クライアントデバイス１０２の取り出しユニット５０４は、適応型ストリーミングネットワークプロトコルによりサーバデバイス１０４から選択されたセグメントを取り出すことができる（６０８）。取り出しユニット５０４は、選択されたセグメントをサーバデバイス１０４から様々な方法で取り出すことができる。例えば、マニフェストファイル３１２は、セグメント３１０に関するＵＲＬを指定することができる。この例では。取り出しユニット５０４は、選択されたセグメントに関するＵＲＬによって識別されたリソースを要求するセグメント要求メッセージを送信することができる。取り出しユニット５０４は、セグメント要求メッセージに応答してサーバデバイス１０４から選択されたセグメントを受信することができる。幾つかの該例では、セグメント要求メッセージは、選択されたセグメントのコピーを要求するＨＴＴＰメッセージである。ＨＴＴＰメッセージは、選択されたセグメントのＵＲＬのドメイン名部と関連付けられたコンピューティングデバイスにアドレッシングされる。ＨＴＴＰメッセージは、選択されたセグメントのＵＲＬの経路部分によって示されたリソースを要求することができる。換言すると、取り出しユニット５０４は、選択されたセグメントのコピーを要求するＨＴＴＰ要求メッセージを生成するために選択されたセグメントに関するＵＲＬを使用することができる。サーバデバイス１０４が単一のファイル内に複数のセグメント３１０を格納する例では、ＨＴＴＰ要求メッセージは、ＨＴＴＰパーシャルゲット（ｐａｒｔｉａｌ  ｇｅｔ）要求であることができる。
クライアントデバイス１０２がサーバデバイス１０４から選択されたセグメントを取り出した時点で、取り出しユニット５０４は、選択されたセグメントを再生バッファ５０５に格納することができる（６０９）。レンダリングユニット５０６は、再生バッファ５０５からセグメントを取り出すことができ及び出力ユニット５０８による出力に適するサンプルを生成するためにセグメントの組み合わせ内のセグメントを復号することができる（６１０）。例えば、レンダリングユニット５０６は、映像フレーム又は音声サンプルを生成するために選択されたセグメントを復号することができる。出力ユニット５０８は、選択されたセグメントによって表現されたサンプルを出力することができる（６１２）。この方法により、出力ユニット５０８は、選択されたセグメントを再生することができる。
【００７１】
出力ユニット５０８が選択されたセグメントによって表現されたサンプルを出力後にメディアコンテンツの再生が終了する場合は（６１４の“はい”）、動作６００は、終了することができる。メディアコンテンツの再生は、様々な理由で終了することが可能である。例えば、メディアコンテンツが映像である場合は、出力ユニット５０８が映像の最後のフレームを提示した時点でメディアコンテンツの再生が終了することができる。他の例では、メディアコンテンツの再生は、ユーザ１０８がメディアコンテンツの再生を終了するようにクライアントデバイス１０２に命令したときに終了することができる。
【００７２】
出力ユニット５０８が選択されたセグメントによって表現されたメディアを出力後にメディアコンテンツの再生が終了しない場合は（６１４の“いいえ”）、選択ユニット５０２は、次のやって来る期間に関するセグメントの組み合わせを選択することができる（６０６）。次のやって来る期間は、現在のやって来る期間のセグメントグループ内のセグメントに対応するメディアコンテンツの時間的セクションに後続するメディアコンテンツの時間的セクションに対応するセグメントが入ったセグメントグループを含むことができる。メディアコンテンツの再生が終了するまでステップ６０８、６１０、６１２、及び６１４を繰り返すことができる。
図７は、やって来る期間に関するセグメントの組み合わせを選択するためにクライアントデバイス１０２によって行われる動作例７００を示したフローチャートである。動作７００が開始後は、選択ユニット５０２は、推定される帯域幅を計算することができる（７０２）。推定される帯域幅は、クライアントデバイス１０２がネットワーク１０６を介してサーバデバイス１０４からデータを受信することができるレートの推定値であることができる。例えば、選択ユニット５０２は、クライアントデバイス１０２が０．５８Ｍｂｐｓのレートでサーバデバイス１０４からデータを受信することができると決定することができる。
選択ユニット５０２は、推定される帯域幅を様々な方法で計算することができる。例えば、選択ユニット５０２は、クライアントデバイス１０２が過去の６０秒の間にどれだけの量のデータをサーバデバイス１０４から受信することができたかに基づいて推定される帯域幅を計算することができる。他の例では、サーバデバイス１０４は、クライアントデバイス１０２に帯域幅メッセージを送信することができる。帯域幅メッセージは、サーバデバイス１０４がクライアントデバイス１０２にデータを送信する最大レートを示すことができる。この例では、選択ユニット５０２は、帯域幅メッセージによって示されるレートに少なくとも部分的に基づいて推定される帯域幅を決定することができる。
【００７３】
さらに、選択ユニット５０２は、該当するセグメントと関連付けられた優先度値をマニフェストファイル３１２から読み取ることができる（７０４）。該当するセグメントの各々は、やって来る期間内はセグメントグループ内に存在することができる。例えば、図２の例では、やって来る期間がセグメントグループ３１４Ａ及び３１４Ｂを含む場合は、セグメントグループ３１４Ａ及び３１４Ｂ内のセグメント３１０が該当するセグメントであることができる。
その他の例では、選択ユニット５０２は、該当するセグメントと関連付けられた優先度値をその他のソースから読み取ることができる。例えば、選択ユニット５０２は、該当するセグメントと関連付けられた優先度値をそれらのセグメントのセグメントインデックスボックスから読み取ることができる。他の例では、選択ユニット５０２は、該当するセグメントと関連付けられた優先度値をメディアコンテンツのメタデータトラックから読み取ることができる。
さらに、選択ユニット５０２は、再生バッファ５０５内の映像データの現在の再生継続時間を決定することができる（７０５）。幾つかの例では、再生バッファ５０５内の映像データの現在の再生継続時間は、取り出しユニット５０４が新しい映像データ（例えば、セグメント）を再生バッファ５０５に追加しなかった場合にレンダリングユニット５０６及び出力ユニット５０８が再生バッファ５０５に格納された映像データを再生するために経過する時間量であることができる。例えば、レンダリングユニット５０６及び出力ユニット５０８は、取り出しユニット５０４が新しい映像データを再生バッファ５０５に追加しなかった場合でさえも再生バッファ５０５からの映像データを１０秒間再生し続けることができる。
利用可能な帯域幅を推定後で、該当するセグメントに関する優先度値を読み取った後で、及び再生バッファ５０５内の映像データの現在の再生継続時間を決定後に、選択ユニット５０２は、１つ以上の候補の組み合わせを識別することができる（７０６）。セグメントの組み合わせは、やって来る期間内における各セグメントグループからの１つのセグメントを含むセグメントの組であることができる。
幾つかの例では、選択ユニット５０２は、セグメントの組み合わせ内のセグメントの累積的ビットレートが推定される帯域幅よりも有意に大きくないときにセグメントの組み合わせを候補の組み合わせして識別することができる。幾つかの例では、セグメントの累積的ビットレートは、セグメントのビットレートの平均である。例えば、セグメント３１０の各々が３秒に値するサンプルを表現し、やって来る期間が４つのセグメントグループを含む場合は、やって来る期間と関連付けられた時間の量は１２秒であることができる。換言すると、やって来る期間の再生継続時間は１２秒である。この例では、選択ユニット５０２は、１．７５Ｍｂｐｓの推定される帯域幅を計算することができる。従って、この例では、クライアントデバイス１０２は、１２秒ごとにサーバデバイス１０４から約２１．０メガビットを受信することができる。さらに、この例では、セグメントＡ及びＢは、第１のセグメントグループに対応し、セグメントＣ及びＤは第２のセグメントグループに対応し、セグメントＥ及びＦは、第３のセグメントグループに対応する。この例では、セグメントＡ、Ｃ、及びＥは、３．０Ｍｂｐｓのビットレートを有し、セグメントＢ、Ｄ、及びＦは、１．０Ｍｂｐｓのビットレートを有する。この例では、利用可能なセグメントの組み合わせは、Ａ−Ｃ−Ｅ、Ａ−Ｃ−Ｆ、Ａ−Ｄ−Ｅ、Ａ−Ｄ−Ｆ、Ｂ−Ｃ−Ｅ、Ｂ−Ｃ−Ｆ、Ｂ−Ｄ−Ｅ、及びＢ−Ｄ−Ｆである。しかしながら、セグメントの組み合わせＡ−Ｃ−Ｅに関する平均ビットレートは、３．０Ｍｂｐｓである。従って、クライアントデバイス１０２は、メディアコンテンツの再生を再バッファリングせずに組み合わせＡ−Ｃ−Ｅを受信するために３６．０メガビットを１２秒で受信する必要がある。３６．０メガビットは、サーバデバイス１０４が１２秒でクライアントデバイス１０２に転送することができる２１．０メガビットよりも大きい。従って、セグメントの組み合わせＡ−Ｃ−Ｅは、候補の組み合わせでない。残りのセグメントの組み合わせの平均ビットレートは、推定される帯域幅よりも小さいため、残りのセグメントの組み合わせは候補の組み合わせである。
【００７４】
幾つかの例では、選択ユニット５０２は、セグメントの組み合わせ内のセグメントの平均ビットレートが推定される帯域幅を厳密に超えないときのみにセグメントの組み合わせを候補の組み合わせとして識別することができる。その他の例では、選択ユニット５０２は、セグメントの組み合わせ内のセグメントの平均ビットレートが推定される帯域幅よりもわずかに大きい場合でもセグメントの組み合わせを候補の組み合わせとして識別することができる。例えば、セグメントの組み合わせは、セグメントの組み合わせ内のセグメントのビットレートの平均が推定される帯域幅よりも１０％未満だけ大きいときに候補の組み合わせであることができる。
幾つかの例では、選択ユニット５０２は、セグメントに関する優先度値、推定される帯域幅、及び再生バッファ５０５内の映像データの現在の再生継続時間に基づいてセグメントを選択することができる。再生バッファ５０５は、映像データが再生されるまで映像データを格納することができる。再生バッファ５０５に映像データを格納することは、一時的なネットワーク帯域幅の低減に起因する映像の再生中の停止を防止することができる。該例では、選択ユニット５０２は、セグメントの組み合わせ内のセグメントに関する推定転送時間が、セグメントの組み合わせ内のセグメントの再生継続時間プラス再生バッファ５０５内の映像データの現在の再生継続時間以下であるときにセグメントの組み合わせを候補の組み合わせとして識別することができる。
【００７５】
セグメントの組み合わせ内のセグメントに関する推定転送時間は、推定される帯域幅及び選択されたセグメント内の総ビット数に基づくことができる。例えば、セグメントの組み合わせ内のセグメントに関する推定転送時間は、選択されたセグメント内の総ビット数を推定される帯域幅で割った値と等しいことができる。この例では、セグメント内の総ビット数が３６．０メガビットであり、推定される帯域幅が１．７５Ｍｂｐｓである場合は、セグメントに関する推定転送時間は約２０．６秒であることができる。この例では、セグメントの再生継続時間は、１２．０秒であることができる。従って、この例では、再生バッファ５０５内の映像データの現在の再生継続時間が８．６秒（すなわち、２０．６秒−１２．０秒）よりも大きい場合は、選択ユニット５０２は、セグメントの組み合わせを候補の組み合わせであるとみなすことができる。
幾つかの例では、選択ユニット５０２は、セグメントの組み合わせに関する推定転送時間がセグメントの組み合わせの再生継続時間プラス再生バッファ５０５内の映像データの現在の再生継続時間に基づく継続時間以下であるときに候補の組み合わせである。例えば、選択ユニット５０２は、再生バッファ５０５内の映像データの現在の再生継続時間全体から所定の時間量を減じることによって継続時間値を生成することができる。この例では、選択ユニット５０２は、セグメントの組み合わせに関する推定転送時間がセグメントの組み合わせの再生継続時間プラス生成された継続時間値以下であるかどうかを決定することによってセグメントの組み合わせが候補の組み合わせであるかどうかを決定することができる。他の例では、選択ユニット５０２は、再生バッファ５０５内の映像データの現在の再生継続時間全体の一部分として同様の継続時間値を生成し、この値を同様の方法で使用することができる。
【００７６】
候補の組み合わせを識別後は、選択ユニット５０２は、候補の組み合わせの各々に関するサービス品質（ＱｏＳ）スコアを計算することができる（７０８）。候補の組み合わせに関するＱｏＳスコアは、候補の組み合わせ内のセグメントと関連付けられた優先度値に基づくことができる。例えば、候補の組み合わせがセグメントＡ、Ｂ、及びＣを含む場合は、候補の組み合わせに関するＱｏＳスコアは、セグメントＡ、Ｂ、及びＣと関連付けられた優先度値に基づくことができる。
選択ユニット５０２は、候補の組み合わせに関するＱｏＳスコアを様々な方法で計算することができる。例えば、セグメント３１０の各々に対して別々の優先度値を割り当てることができる。この例では、選択ユニット５０２は、所定の候補の組み合わせ内のセグメントに割り当てられた優先度値を合計することによって所定の候補の組み合わせに関するＱｏＳスコアを計算することができる。例えば、所定の候補の組み合わせ内のセグメントに割り当てられた優先度値が１．０、１．０、及び０．８である場合は、所定の候補の組み合わせに関するＱｏＳスコアは、２．８であることができる。他の例では、候補の組み合わせのセグメントと関連付けられた優先度値は、セグメントのＰＳＮＲ値に基づくことができる。従って、この例では、選択ユニット５０２は、所定の候補の組み合わせ内のセグメントのＰＳＮＲ値に基づいて所定の候補の組み合わせに関するＱｏＳスコアを決定することができる。この例では、所定の候補の組み合わせに関するＱｏＳスコアは、所定の候補の組み合わせの全体的なＰＳＮＲ値に等しいことができる。
【００７７】
他の例では、セグメント３１０の各々に対して別々の優先度値を割り当てることができる。この例では、選択ユニット５０２は、所定の候補の組み合わせ内のセグメントに割り当てられた優先度値の幾何平均を計算することによって所定の候補の組み合わせに関するＱｏＳスコアを計算することができる。換言すると、所定の候補の組み合わせ内にｎのセグメントが存在する場合は、選択ユニット５０２は、セグメントに割り当てられた優先度値を乗算してその結果得られた値のｎ番目のルートをとることによって所定の候補の組み合わせに関するＱｏＳスコアを計算することができる。例えば、所定の候補の組み合わせ内のセグメントに割り当てられた優先度値が０．１、１．０、１．０、及び０．３である場合は、所定の候補の組み合わせに関するＱｏＳスコアは、０．４１６２であることができる。
さらに他の例では、セグメントグループ３１４の各々に対して別々の優先度値を割り当てることができる。この例では、選択ユニット５０２は、セグメント３１０の各々に関する別々の優先度値を計算するためにセグメントグループ３１４に割り当てられた優先度値を使用する。様々な例では、選択ユニット５０２は、セグメント３１０の各々に関する別々の優先度値を様々な方法で計算するためにセグメントグループ３１４に割り当てられた優先度値を使用することができる。例えば、選択ユニット５０２は、所定のセグメントグループに割り当てられた優先度スコアを所定のセグメントのビットレートに乗じることによって所定のセグメントグループ内の所定のセグメントに関する優先度値を計算するために所定のセグメントグループに割り当てられた優先度値を使用することができる。前段落の例を続けると、候補の組み合わせの各々におけるセグメントの各々に関する優先度スコアを計算後は、選択ユニット５０２は、候補の組み合わせに関するＱｏＳスコアを計算することができる。選択ユニット５０２は、候補の組み合わせに関するＱｏＳスコアを様々な方法で計算することができる。例えば、選択ユニット５０２は、候補の組み合わせ内のセグメントに関する優先度値を合計するか、候補の組み合わせ内のセグメントに関する優先度値の幾何平均を計算するか、又は候補の組み合わせに関するＱｏＳスコアを他の方法で計算することによって候補の組み合わせに関するＱｏＳスコアを計算することができる。
【００７８】
幾つかの例では、クライアントデバイス１０２によって解決される問題の性質は、“ナップサック”問題によって説明することができる。“ナップサック”問題は、Papadimitirou, C., and K. Steiglitz, Combinational Optimization: Algorithms and Complexity, New Jersey: Prentice-Hall, 1982において説明される。概して、この問題は、最大の体積を有する物体を、容量が限られた有限のサイズの“ナップサック”内に入れる最良の方法を決定することであると説明される。本開示の技法に関して、問題は、クライアントデバイス１０２が次のＮの数のセグメントに関する最大の合計の優先度セットを固定されたビン、すなわち、Ｎのセグメントを取り出すために利用可能であると決定された帯域幅の量、内に入れることを試みることに対応することができる。多くのタイプのナップサック問題は、ＮＰ−ｈａｒｄである（ここで、“ＮＰ”は、“非決定性多項式時間”のイニシャル）が、擬似多項式時間における幾つかのアルゴリズムは知られている。
【００７９】
候補の組み合わせに関するＱｏＳスコアを計算後は、選択ユニット５０２は、候補の組み合わせの中から選抜された組み合わせを識別することができる（７１０）。選択ユニット５０２は、選抜された組み合わせを様々な方法で識別することができる。例えば、高優先度値が高い数値を有する例では、選抜された組み合わせは、候補の組み合わせのうちのその他の各々の１つに関するＱｏＳスコア以上のＱｏＳスコアを有する。例えば、候補の組み合わせが０．４１６、０．４６９５、及び０．２２１のＱｏＳスコアを有する場合は、選抜された組み合わせは、０．４６９５のＱｏＳスコアを有する候補の組み合わせであることができる。高優先度値が低い数値を有する例では、選抜された組み合わせは、候補の組み合わせのうちのその他の各々の１つに関するＱｏＳスコア以下のＱｏＳスコアを有することができる。この方法により、選択ユニット５０２は、セグメントグループ内のセグメントの優先度値及びセグメントシーケンスの追加のリソースグループに属するセグメントの優先度値に少なくとも部分的に基づいてセグメントシーケンスのセグメントグループのうちの１つにおけるセグメント間で所定のセグメントを選択することができる。他の例では、選抜された組み合わせは、最小−最大最適化を介して決定することができ、その目的は、最小のＱｏＳのセグメントを最大化することである。この例では、高い優先度がより高いサービスの品質を示し、候補の組み合わせが０．３２、０．４０、及び０．４１２５の最小ＱｏＳ値を有する場合は、選抜される組み合わせは、０．４１２５のＱｏＳスコアを有する候補の組み合わせであることができる。
【００８０】
図８は、やって来る期間に関するセグメントの組み合わせを選択するためにクライアントデバイス１０２によって行われる動作例７５０を示したフローチャートである。上記の説明は、帯域幅に焦点を合わせている。しかしながら、本開示の技法は、それには限定されない。むしろ、本開示の技法は、推定されるスループットに一般的に適用可能である。スループットは、所定の期間にわたって処理されるデータの量であることができる。ネットワーク１０６の帯域幅は、やって来る期間にネットワーク１０６を通じて転送されるデータの量であることができる。図８の例では、推定されるスループットは、やって来る期間に１つ以上のプロセッサによって復号することができる符号化されたメディアデータの量である。
【００８１】
動作７５０は、幾つかの点が動作７００に類似する（図７）。しかしながら、動作７５０は、ネットワーク帯域幅の代わりに処理容量を使用する。動作７５０を使用する例では、クライアントデバイス１０２は、映像データを事前に格納することができ、サーバデバイス、例えば、サーバデバイス１０４、からデータを転送する必要がない。
【００８２】
動作７５０が開始後は、選択ユニット５０２は、やって来る期間に関する推定される利用可能な処理容量を計算することができる（７５２）。やって来る期間に関する推定される利用可能な処理容量は、クライアントデバイス１０２がやって来る期間中に復号することができる符号化されたメディアデータの量の推定値であることができる。さらに、選択ユニット５０２は、該当するセグメントと関連付けられた優先度値をマニフェストファイル３１２又はその他のソースから読み取ることができる（７５４）。該当するセグメントの各々は、やって来る期間内のセグメントグループ内に存在することができる。
選択ユニット５０２は、再生バッファ５０５内の映像データの現在の再生継続時間を決定することができる（７５５）。幾つかの例では、再生バッファ５０５内の映像データの現在の再生継続時間は、取り出しユニット５０４が新しい復号された映像データ（例えば、セグメント）を再生バッファ５０５に追加しなかった場合にレンダリングユニット５０６及び出力ユニット５０８が再生バッファ５０５に格納された映像データを再生するために経過する時間量であることができる。利用可能な処理容量を推定後で、該当するセグメントに関する優先度値を読み取り後で、再生バッファ５０５内の映像データの現在の再生継続時間を決定後に、選択ユニット５０２は、１つ以上の候補の組み合わせを識別することができる（７５６）。セグメントの組み合わせは、やって来る期間内における各セグメントグループからの１つのセグメントを含むセグメントの組であることができる。
幾つかの例では、選択ユニット５０２は、セグメントの組み合わせ内のセグメント内の符号化されたメディアデータの量が推定された利用可能な処理容量（より一般的には推定スループット）よりも有意に大きくないときにセグメントの組み合わせを候補の組み合わせとして識別することができる。幾つかの例では、選択ユニット５０２は、セグメントの組み合わせ内のセグメント内の符号化されたデータの正規化された量がやって来る期間に関する推定された利用可能な処理容量を厳密に超えないときのみにセグメントの組み合わせを候補の組み合わせとして識別することができる。
【００８３】
幾つかの例では、選択ユニット５０２は、セグメントに関する優先度値、推定される利用可能な処理容量、及び再生バッファ５０５内の映像データの現在の再生継続時間に基づいてセグメントを選択することができる。再生バッファ５０５は、復号された映像データが再生されるまで復号された映像データを格納することができる。再生バッファ５０５に復号された映像データを格納することは、一時的なネットワーク帯域幅の低減に起因する復号された映像データの再生中の停止を防止することができる。該例では、選択ユニット５０２は、利用可能な処理容量を考慮した場合のセグメントの組み合わせ内のセグメントを復号する推定時間が、セグメントの組み合わせ内のセグメントの再生継続時間プラス再生バッファ５０５内の映像データの現在の再生継続時間以下であるときにセグメントの組み合わせを候補の組み合わせとして識別することができる。
【００８４】
候補の組み合わせを識別後は、選択ユニット５０２は、候補の組み合わせの各々に関するサービス品質（ＱｏＳ）スコアを計算することができる（７５８）。候補の組み合わせに関するＱｏＳスコアは、候補の組み合わせ内のセグメントと関連付けられた優先度値に基づくことができる。選択ユニット５０２は、図７に関して上述される例によって説明される方法で候補の組み合わせに関するＱｏＳスコアを計算することができる。
候補の組み合わせに関するＱｏＳスコアを計算後は、選択ユニット５０２は、候補の組み合わせの中から選抜された組み合わせを識別することができる（７６０）。選択ユニット５０２は、選抜された組み合わせを様々な方法で、例えば、図７に関して上述される方法で、識別することができる。
【００８５】
この方法により、クライアントデバイス１０２は、推定されるスループットを決定し、推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、セグメントのうちの１つ以上を選択することができる。表現は、映像データは異なるビットレートで符号化されること、各々のセグメントを個々に取り出し可能であること、及びセグメントは、表現の特定の時間的セクションに対応することを含む。クライアントデバイス１０２は、１つ以上の選択されたセグメントを処理する（例えば、取り出す及び／又は復号する）ことができる。
【００８６】
図９は、コンピューティングデバイス例８００のブロック図である。コンピューティングデバイス８００は、情報を処理する物理的デバイスである。幾つかの例では、クライアントデバイス１０２及びサーバデバイス１０４は、コンピューティングデバイス８００に類似する１つ以上のコンピューティングデバイスを備える。
【００８７】
コンピューティングデバイス８００は、データ記憶システム８０２と、メモリ８０４と、二次的記憶システム８０６と、処理システム８０８と、入力インタフェース８１０と、ディスプレイインタフェース８１２と、通信インタフェース８１４と、１つ以上の通信媒体８１６と、を備える。通信媒体８１６は、処理システム８０８、入力インタフェース８１０、ディスプレイインタフェース８１２、通信インタフェース８１４、メモリ８０４、及び二次的記憶システム８０６の間でのデータ通信を可能にすることができる。コンピューティングデバイス８００は、図９の例において示されるコンポーネントに加えてのそれらを含むことができることを読者は理解するであろう。さらに、幾つかのコンピューティングデバイスは図９の例において示されるすべてコンポーネントを含むわけではないことを読者は理解するであろう。
【００８８】
コンピュータによって読み取り可能な媒体は、処理システム８０８がデータを読み取ることができる媒体であることができる。用語コンピュータによって読み取り可能な媒体は、コンピュータ記憶媒体及び通信媒体を意味することができる。コンピュータ記憶媒体は、のちの取り出しのためにデータを格納する物理的デバイスを含むことができる。コンピュータ記憶媒体は、非一時的であることができる。例えば、コンピュータ記憶媒体は、伝搬された信号を排他的に備えない。コンピュータ記憶媒体は、揮発性記憶媒体と、非揮発性記憶媒体と、を含むことができる。コンピュータ記憶媒体のタイプ例は、ランダムアクセスメモリ（ＲＡＭ）ユニット、読み取り専用メモリ（ＲＯＭ）デバイス、ソリッドステートメモリデバイス、光ディスク（例えば、コンパクトディスク、ＤＶＤ、ＢｌｕＲａｙディスク、等）、磁気ディスクドライブ、磁気テープドライブ、及びのちの取り出しのためにデータを格納するその他のタイプのデバイス、を含むことができる。通信媒体は、１つのデバイスが他のデバイスにデータを通信することができる媒体を含むことができる。通信媒体のタイプ例は、通信ネットワークと、通信ケーブルと、無線通信リンクと、通信バスと、１つのデバイスが他のデバイスにデータを通信することができるその他の媒体と、を含むことができる。
【００８９】
データ記憶システム８０２は、のちの取り出しのためにデータを格納するシステムであることができる。図９の例では、データ記憶システム８０２は、メモリ８０４と、二次的記憶システム８０６と、を備える。メモリ８０４及び二次的記憶システム８０２は、のちの取り出しのためにデータを格納することができる。図９の例では、メモリ８０４は、コンピュータによって読み取り可能な命令８１８及びプログラムデータ８２０を格納する。二次的記憶システム８０６は、コンピュータによって読み取り可能な命令８２２及びプログラムデータ８２４を格納する。物理的には、メモリ８０４及び二次的記憶システム８０６は、１つ以上のコンピュータ記憶媒体を各々備えることができる。
【００９０】
処理システム８０８は、データ記憶システム８０２に結合することができる。処理システム８０８は、コンピュータによって読み取り可能な命令を読み取って実行することができる。処理システム８０８によるコンピュータによって読み取り可能な命令の実行は、コンピュータによって読み取り可能な命令によって指示された行動をすることをコンピューティングデバイス８００に行わせることができる。例えば、処理システム８０８によるコンピュータによって読み取り可能な命令の実行は、基本的入力／出力システム、オペレーティングシステム、システムプログラム、アプリケーションプログラムを提供することをコンピューティングデバイス８００に行わせることができ、又は、その他の機能を提供することをコンピューティングデバイス８００に行わせることができる。他の例では、処理システム８０８によるコンピュータによって読み取り可能な命令の実行は、サーバデバイス１０４のセグメンテーションユニット３０２、優先度ユニット３０４、マニフェスト生成ユニット３０６、及び／又はサーバアプリケーション３０８を提供することをコンピューティングデバイス８００に行わせることができる。さらに他の例では、処理システム８０８によるコンピュータによって読み取り可能な命令の実行は、クライアントデバイス１０２の制御ユニット５００、選択ユニット５０２、取り出しユニット５０４、レンダリングユニット５０６、及び出力ユニット５０８を提供することをコンピューティングデバイス８００に行わせることができる。
処理システム８０８は、１つ以上のコンピュータによって読み取り可能な媒体からコンピュータによって読み取り可能な命令を読み取ることができる。例えば、処理システム８０８は、メモリ８０４及び二次的記憶システム８０６に格納されたコンピュータによって読み取り可能な命令を読み取って実行することができる。
処理システム８０８は、１つ以上の処理ユニット８２６を備えることができる。処理ユニット８２６は、コンピュータによって読み取り可能な命令を実行する物理的デバイスを備えることができる。処理ユニット８２６は、コンピュータによって読み取り可能な命令を実行する様々なタイプの物理的デバイスを備えることができる。例えば、処理ユニット８２６のうちの１つ以上は、マイクロプロセッサ、マイクロプロセッサ内の処理コア、デジタル信号プロセッサ、グラフィックス処理ユニット、汎用グラフィックス処理ユニット、又は、コンピュータによって読み取り可能な命令を実行する他のデバイス又は物理的デバイスを備えることができる。
入力インタフェース８１０は、コンピューティングデバイス８００が入力デバイス８２８から入力を受信するのを可能にすることができる。入力デバイス８２８は、ユーザからの入力を受信するデバイスを備えることができる。入力デバイス８２８は、ユーザからの入力を受信する様々なタイプのデバイスを備えることができる。例えば、入力デバイス８２８は、キーパッド、タッチ式画面、マウス、マイク、キーパッド、ジョイスティック、ブレーン−コンピュータインタフェースデバイス、又はユーザからの入力を受信する他のタイプのデバイスを備えることができる。幾つかの例では、入力デバイス８２８は、コンピューティングデバイス８００のハウジング内に組み入れることができる。その他の例では、入力デバイス８２８は、コンピューティングデバイス８００のハウジング外に存在することができる。
ディスプレイインタフェース８１２は、コンピューティングデバイス８００が表示装置８３０上に出力を表示するのを可能にすることができる。表示装置８３０は、出力を表示するデバイスであることができる。表示装置のタイプ例は、モニタ、タッチ式画面、表示画面、テレビ、及び出力を表示するその他のタイプのデバイスを含むことができる。幾つかの例では、表示装置８３０は、コンピューティングデバイス８００のハウジング内に組み入れることができる。その他の例では、表示装置８３０は、コンピューティングデバイス８００のハウジング外に存在することができる。
通信インタフェース８１４は、コンピューティングデバイス８００が１つ以上の通信媒体を通じてデータを送信及び受信するのを可能にすることができる。通信インタフェース８１４は、様々なタイプのデバイスを備えることができる。例えば、通信インタフェース８１４は、ネットワークインタフェースカード（ＮＩＣ）、無線ネットワークアダプタ、ユニバーサルシリアルバス（ＵＳＢ）ポート、又は、コンピューティングデバイス８００が１つ以上の通信媒体を通じてデータを送信及び受信するのを可能にする他のタイプのデバイスを備えることができる。
【００９１】
１つ以上の例では、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらのあらゆる組み合わせにおいて実装することができる。ソフトウェアにおいて実装される場合は、それらの機能は、コンピュータによって読み取り可能な媒体上で１つ以上の命令又はコードとして格納又は送信し、ハードウェアに基づく処理ユニットによって実行することができる。コンピュータによって読み取り可能な媒体は、コンピュータによって読み取り可能な記憶媒体を含むことができ、それは、有形な媒体、例えば、データ記憶媒体、又は、例えば、通信プロトコルによる１つの場所から他へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む通信媒体を含むことができる。この方法により、コンピュータによって読み取り可能な媒体は、概して、（１）非一時的である有形のコンピュータによって読み取り可能な記憶媒体又は（２）通信媒体、例えば、信号又は搬送波、に対応することができる。データ記憶媒体は、本開示において説明される技法の実装のために命令、コード及び／又はデータ構造を取り出すために１つ以上のコンピュータ又は１つ以上のプロセッサによってアクセスすることができるあらゆる利用可能な媒体であることができる。コンピュータプログラム製品は、コンピュータによって読み取り可能な媒体を含むことができる。
一例として、ただし制限することなしに、該コンピュータによって読み取り可能な記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又はその他の光学ディスク記憶装置、磁気ディスク記憶装置、その他の磁気記憶デバイス、フラッシュメモリ、又は、希望されるプログラムコードを命令又はデータ構造の形態で格納するために使用することができ及びコンピュータによってアクセス可能であるあらゆるその他の媒体を備えることができる。さらに、いずれの接続もコンピュータによって読み取り可能な媒体であると適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者ライン（ＤＳＬ）、又は無線技術、例えば、赤外線、無線、及びマイクロ波、を用いてウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合は、該同軸ケーブル、光ファイバケーブル、より対線、ＤＳＬ、又は無線技術、例えば赤外線、無線、及びマイクロ波、は、媒体の定義の中に含まれる。しかしながら、コンピュータによって読み取り可能な記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又はその他の過渡的な媒体は含まず、非過渡的な有形な記憶媒体が対象となることが理解されるべきである。ここにおいて用いられるときのディスク（ｄｉｓｋ及びｄｉｓｃ）は、コンパクトディスク（ＣＤ）（ｄｉｓｃ）と、レーザディスク（ｄｉｓｃ）と、光ディスク（ｄｉｓｃ）と、デジタルバーサタイルディスク（ＤＶＤ）（ｄｉｓｃ）と、フロッピー（登録商標）ディスク（ｄｉｓｋ）と、ブルーレイディスク（ｄｉｓｃ）と、を含み、ここで、ｄｉｓｋは通常は磁気的にデータを複製し、ｄｉｓｃは、レーザを用いて光学的にデータを複製する。上記の組合せも、コンピュータによって読み取り可能な媒体の適用範囲に含めるべきである。
【００９２】
命令は、１つ以上のプロセッサ、例えば、１つ以上のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、又はその他の同等の集積回路又はディスクリート論理回路によって実行することができる。従って、ここにおいて使用される場合の用語“プロセッサ”は、上記の構造又はここにおいて説明される技法の実装に適したあらゆるその他の構造を意味することができる。さらに、幾つかの態様では、ここにおいて説明される機能は、符号化及び復号のために構成された専用のハードウェア及び／又はソフトウェアモジュール内で提供するか、又は結合されたコーデックに組み入れることができる。さらに、それらの技法は、１つ以上の回路又は論理素子内に完全に実装することが可能である。
【００９３】
本開示の技法は、無線ハンドセット、集積回路（ＩＣ）又は一組のＩＣ（例えば、チップセット）を含む非常に様々なデバイス又は装置に実装することができる。開示される技法を実施するように構成されたデバイスの機能上の態様を強調するために本開示では様々なコンポーネント、モジュール、又はユニットが説明されているが、異なるハードウェアユニットによる実現を必ずしも要求するものではない。むしろ、上述されるように、様々なユニットは、適切なソフトウェア及び／又はファームウェアと関係させて、コーデックハードウェアユニット内で結合させるか、又は上述される１つ以上のプロセッサを含む相互運用可能なハードウェアユニットの集合によって提供することができる。
様々な例が説明されている。これらの及びその他の例は、以下の請求項によって定義される本発明の適用範囲内である。
【図１】
2015501090.tif 000004
【図２】
2015501090.tif 000005
【図３】
2015501090.tif 000006
【図４】
2015501090.tif 000007
【図５】
2015501090.tif 000008
【図６】
2015501090.tif 000009
【図７】
2015501090.tif 000010
【図８】
2015501090.tif 000011
【図９】
2015501090.tif 000012
【手続補正書】
【提出日】平成26年8月1日(2014.8.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クライアントデバイスで映像データを処理するための方法であって、
推定されるスループットを決定することと、
マルチメディアコンテンツの表現のセグメントに関する優先度値を示す情報を、サーバデバイスから受信することと、なお、前記表現は、異なるビットレートで符号化される映像データを含み、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、前記表現の特定の時間的セクションに対応する、
前記推定されるスループット及び前記優先度値に少なくとも部分的に基づいて、前記セグメントのうちの１つ以上を選択することと、
前記１つ以上の選択されたセグメントを処理することと、を備える、方法。
【請求項２】
前記推定されるスループットは、通信ネットワークの帯域幅である請求項１に記載の方法。
【請求項３】
適応型ストリーミングネットワークプロトコルにより前記１つ以上の選択されたセグメントを要求することをさらに備える請求項２に記載の方法。
【請求項４】
前記推定されるスループットは、１つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値である請求項１に記載の方法。
【請求項５】
前記セグメントに関する前記優先度値及び前記推定されるスループットに基づいて前記セグメントのうちの１つ以上を選択することは、前記セグメントに関する前記優先度値、前記推定されるスループット、及び追加で、再生バッファ内の映像データの現在の再生継続時間に基づいて前記セグメントのうちの１つ以上を選択することを備える請求項１に記載の方法。
【請求項６】
前記推定されるスループットは、通信ネットワークの推定される帯域幅であり、前記１つ以上の選択されたセグメントに関する推定される転送時間は、前記１つ以上の選択されたセグメントの再生継続時間プラス前記再生バッファ内の前記映像データの前記現在の再生継続時間以下であり、前記１つ以上の選択されたセグメントに関する前記推定される転送時間は、前記推定される帯域幅及び前記１つ以上の選択されたセグメント内の総ビット数に少なくとも部分的に基づく請求項５に記載の方法。
【請求項７】
前記１つ以上の選択されたセグメントによって表現されるフレームのシーケンスをレンダリングすることと、
フレームの前記シーケンスを表示装置上で提示することと、をさらに備える請求項１に記載の方法。
【請求項８】
前記方法は、マニフェストファイルを格納することであって、前記マニフェストファイルは、前記セグメントに関するＵＲＬ及び前記セグメントに関する前記優先度値を示す情報を指定することと、
前記１つ以上の選択されたセグメントを要求するために前記１つ以上の選択されたセグメントに関する前記ＵＲＬを使用することと、をさらに備える請求項１に記載の方法。
【請求項９】
前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
前記方法は、やって来る期間に関するセグメントの組み合わせを選択することをさらに備え、前記セグメントの組み合わせは、前記やって来る期間内の前記セグメントグループの各々に関する１つのセグメントを含み、
前記１つ以上の選択されたセグメントを処理することは、前記セグメントの組み合わせ内の前記セグメントを復号することを備える請求項１に記載の方法。
【請求項１０】
前記セグメントの組み合わせを選択することは、
複数の候補の組み合わせを識別することであって、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくないことと、
前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するＱｏＳスコアを計算することと、
前記前記候補の組み合わせに関する前記ＱｏＳスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別することと、を備える請求項９に記載の方法。
【請求項１１】
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記候補の組み合わせに関する前記ＱｏＳスコアを計算することは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値を合計することによって前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算することを備える請求項１０に記載の方法。
【請求項１２】
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記候補の組み合わせに関する前記ＱｏＳスコアを計算することは、前記所定の候補の組み合わせ内の前記セグメントのピーク信号対雑音比値に基づいて前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算することを備える請求項１０に記載の方法。
【請求項１３】
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記候補の組み合わせに関する前記ＱｏＳスコアを計算することは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値の幾何平均を計算することによって前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算することを備える請求項１０に記載の方法。
【請求項１４】
前記セグメントの前記優先度値は、前記セグメントにおける計算された歪みの量と相関関係にある請求項１に記載の方法。
【請求項１５】
前記セグメントの前記優先度値は、人間の神経系統によってセグメント内で認知可能な知覚上の歪みの量と相関関係にある請求項１に記載の方法。
【請求項１６】
コンピューティングデバイスであって、
推定されるスループットを決定し、
マルチメディアコンテンツの表現のセグメントに関する優先度値を示す情報をサーバデバイスから受信し、なお、前記表現は、異なるビットレートで符号化される映像データを含み、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、前記表現の特定の時間的セクションに対応する、
前記推定されるスループット及び前記優先度値に少なくとも部分的に基づいて、前記セグメントのうちの１つ以上を選択し、及び
前記１つ以上の選択されたセグメントを処理するように構成された１つ以上のプロセッサを備える、コンピューティングデバイス。
【請求項１７】
前記推定されるスループットは、通信ネットワークの帯域幅である請求項１６に記載のコンピューティングデバイス。
【請求項１８】
前記１つ以上のプロセッサは、適応型ストリーミングネットワークプロトコルにより前記１つ以上の選択されたセグメントを要求するようにさらに構成される請求項１７に記載のコンピューティングデバイス。
【請求項１９】
前記推定されるスループットは、１つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値である請求項１６に記載のコンピューティングデバイス。
【請求項２０】
前記１つ以上のプロセッサは、前記セグメントに関する前記優先度値、前記推定されるスループット、及び追加で、再生バッファ内の映像データの現在の再生継続時間に基づいて前記セグメントのうちの１つ以上を選択するように構成される請求項１６に記載のコンピューティングデバイス。
【請求項２１】
前記推定されるスループットは、通信ネットワークの推定される帯域幅であり、前記１つ以上の選択されたセグメントに関する推定される転送時間は、前記１つ以上の選択されたセグメントの再生継続時間プラス前記再生バッファ内の前記映像データの前記現在の再生継続時間以下であり、前記１つ以上の選択されたセグメントに関する前記推定される転送時間は、前記推定される帯域幅及び前記１つ以上の選択されたセグメント内の総ビット数に基づく請求項１６に記載のコンピューティングデバイス。
【請求項２２】
前記１つ以上のプロセッサは、
前記１つ以上の選択されたセグメントによって表現されるフレームのシーケンスをレンダリングし、及び
フレームの前記シーケンスを表示装置上で提示するようにさらに構成される請求項１６に記載のコンピューティングデバイス。
【請求項２３】
前記コンピューティングデバイスは、マニフェストファイルを格納し、前記マニフェストファイルは、前記セグメントに関するＵＲＬ及び前記セグメントに関する優先度値を示す情報を指定し、
１つ以上のプロセッサは、前記１つ以上の選択されたセグメントに関する要求を生成するために前記１つ以上の選択されたセグメントに関する前記ＵＲＬを使用するように構成される請求項１６に記載のコンピューティングデバイス。
【請求項２４】
前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
前記１つ以上のプロセッサは、やって来る期間に関するセグメントの組み合わせを選択し、及び
前記セグメントの組み合わせ内の前記セグメントを復号するようにさらに構成され、前記セグメントの組み合わせは、前記やって来る期間内の前記セグメントグループの各々に関する１つのセグメントを含む請求項１６に記載のコンピューティングデバイス。
【請求項２５】
１つ以上のプロセッサは、
複数の候補の組み合わせを識別し、
前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するＱｏＳスコアを計算し、及び
前記候補の組み合わせに関する前記ＱｏＳスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別するように構成され、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくない請求項２４に記載のコンピューティングデバイス。
【請求項２６】
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記１つ以上のプロセッサは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値を合計することによって前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算するように構成される請求項２５に記載のコンピューティングデバイス。
【請求項２７】
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記１つ以上のプロセッサは、前記所定の候補の組み合わせ内の前記セグメントのピーク信号対雑音比値に基づいて前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算するように構成される請求項２５に記載のコンピューティングデバイス。
【請求項２８】
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記１つ以上のプロセッサは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値の幾何平均を計算することによって前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算するように構成される請求項２５に記載の方法。
【請求項２９】
前記セグメントの前記優先度値は、前記セグメントにおける計算された歪みの量と相関関係にある請求項１６に記載のコンピューティングデバイス。
【請求項３０】
前記セグメントの前記優先度値は、人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にある請求項１６に記載のコンピューティングデバイス。
【請求項３１】
コンピューティングデバイスであって、
推定されるスループットを決定するための手段と、
マルチメディアコンテンツの表現のセグメントに関する優先度値を示す情報をサーバデバイスから受信するための手段と、なお、前記表現は、異なるビットレートで符号化される映像データを含み、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、前記表現の特定の時間的セクションに対応する、
前記推定されるスループット及び前記優先度値に少なくとも部分的に基づいて、前記セグメントのうちの１つ以上を選択するための手段と、
前記１つ以上の選択されたセグメントを処理するための手段と、を備える、コンピューティングデバイス。
【請求項３２】
前記推定されるスループットは、通信ネットワークの帯域幅である請求項３１に記載のコンピューティングデバイス。
【請求項３３】
適応型ストリーミングネットワークプロトコルにより前記１つ以上の選択されたセグメントを要求するための手段をさらに備える請求項３１に記載のコンピューティングデバイス。
【請求項３４】
前記推定されるスループットは、１つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値である請求項３１に記載のコンピューティングデバイス。
【請求項３５】
前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
前記コンピューティングデバイスは、
やって来る期間に関するセグメントの組み合わせを選択するための手段であって、前記セグメントの組み合わせは、前記やって来る期間内にある前記セグメントグループの各々に関する１つのセグメントを含む手段と、
前記セグメントの組み合わせ内の前記セグメントを要求するための手段と、を備える請求項３１に記載のコンピューティングデバイス。
【請求項３６】
複数の候補の組み合わせを識別するための手段であって、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくない手段と、
前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するＱｏＳスコアを計算するための手段と、
前記候補の組み合わせに関する前記ＱｏＳスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別するための手段と、を備える請求項３５に記載のコンピューティングデバイス。
【請求項３７】
前記セグメントの前記優先度値は、前記セグメントにおける計算された歪みの量と相関関係にある請求項３１に記載のコンピューティングデバイス。
【請求項３８】
前記セグメントの前記優先度値は、人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にある請求項３１に記載のコンピューティングデバイス。
【請求項３９】
コンピュータによって読み取り可能な記憶媒体であって、
実行されたときに、
推定されるスループットを決定し、
マルチメディアコンテンツの表現のセグメントに関する優先度値を示す情報を受信し、なお、前記表現は、異なるビットレートで符号化される映像データを含み、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、前記表現の特定の時間的セクションに対応する、
前記推定されるスループット及び前記優先度値に少なくとも部分的に基づいて、前記セグメントのうちの１つ以上を選択し、及び
前記１つ以上の選択されたセグメントを処理することをプロセッサに行わせる命令を格納している、コンピュータによって読み取り可能な記憶媒体。
【請求項４０】
前記推定されるスループットは、通信ネットワークの帯域幅である請求項３９に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項４１】
適応型ストリーミングネットワークプロトコルにより前記１つ以上の選択されたセグメントを要求することをさらに備える請求項４０に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項４２】
前記推定されるスループットは、１つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値である請求項３９に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項４３】
前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
前記命令の実行は、
やって来る期間に関するセグメントの組み合わせを選択し、及び
前記セグメントの組み合わせ内の前記セグメントを要求することを前記コンピューティングデバイスにさらに行わせ、前記セグメントの組み合わせは、前記やって来る期間内にある前記セグメントグループの各々に関する１つのセグメントを含む請求項３９に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項４４】
前記命令の実行は、
複数の候補の組み合わせを識別し、
前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するＱｏＳスコアを計算し、及び
前記候補の組み合わせに関する前記ＱｏＳスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別することを前記コンピューティングデバイスに行わせ、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくない請求項３９に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項４５】
前記セグメントの前記優先度値は、前記セグメントにおける計算された歪みの量と相関関係にある請求項３９に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項４６】
前記セグメントの前記優先度値は、人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にある請求項３９に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項４７】
適応型ストリーミングネットワークプロトコルを介して映像データを提供するための方法であって、
セグメントに関する優先度値を示す情報をクライアントデバイスに送信することであって、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含むことと、
前記クライアントデバイスからの１つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信することであって、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかであることと、を備える、方法。
【請求項４８】
前記優先度値を前記セグメントに割り当てることと、
前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納することと、をさらに備える請求項４７に記載の方法。
【請求項４９】
前記優先度値を前記セグメントに割り当てることは、前記セグメントの特徴に基づいて前記優先度値を計算することを備える請求項４８に記載の方法。
【請求項５０】
前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含む請求項４９に記載の方法。
【請求項５１】
前記優先度値を前記セグメントに割り当てることは、前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てることを備える請求項４９に記載の方法。
【請求項５２】
コンピューティングデバイスであって、
セグメントに関する優先度値を示す情報をクライアントデバイスに送信し、及び
前記クライアントデバイスからの１つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信するように構成された１つ以上のプロセッサを備え、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含み、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかであるコンピューティングデバイス。
【請求項５３】
前記１つ以上のプロセッサは、
前記優先度値を前記セグメントに割り当て、及び
前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納するように構成される請求項５２に記載のコンピューティングデバイス。
【請求項５４】
前記１つ以上のプロセッサは、前記セグメントの特徴に基づいて前記優先度値を計算するように構成される請求項５３に記載のコンピューティングデバイス。
【請求項５５】
前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含む請求項５４に記載のコンピューティングデバイス。
【請求項５６】
前記１つ以上のプロセッサは、前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てるように構成される請求項５２に記載のコンピューティングデバイス。
【請求項５７】
コンピューティングデバイスであって、
セグメントに関する優先度値を示す情報をクライアントデバイスに送信するための手段であって、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含む手段と、
前記クライアントデバイスからの１つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信するための手段であって、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかである手段と、を備える、コンピューティングデバイス。
【請求項５８】
前記優先度値を前記セグメントに割り当てるための手段と、
前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納するための手段と、をさらに備える請求項５７に記載のコンピューティングデバイス。
【請求項５９】
前記セグメントの特徴に基づいて前記優先度値を計算するための手段をさらに備える請求項５８に記載のコンピューティングデバイス。
【請求項６０】
前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含む請求項５９に記載のコンピューティングデバイス。
【請求項６１】
前記優先度値を前記セグメントに割り当てるための前記手段は、前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てるための手段を備える請求項５７に記載のコンピューティングデバイス。
【請求項６２】
コンピュータによって読み取り可能な記憶媒体であって、
コンピューティングデバイスの１つ以上のプロセッサによって実行されたときに、
セグメントに関する優先度値を示す情報をクライアントデバイスに送信し、及び
前記クライアントデバイスからの１つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信することを前記コンピューティングデバイスに行わせる命令を格納し、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含み、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかである、コンピュータによって読み取り可能な記憶媒体。
【請求項６３】
前記１つ以上のプロセッサによる前記命令の実行は、
前記優先度値を前記セグメントに割り当て、及び
前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納することを前記コンピューティングデバイスに行わせる請求項６２に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項６４】
前記１つ以上のプロセッサによる前記命令の実行は、前記セグメントの特徴に基づいて前記優先度値を計算することを前記コンピューティングデバイスに行わせる請求項６３に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項６５】
前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含む請求項６４に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項６６】
前記１つ以上のプロセッサによる前記命令の実行は、前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てることを前記コンピューティングデバイスに行わせる請求項６２に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項６７】
前記推定されるスループット及び前記優先度値に少なくとも部分的に基づいて選択することは、第１の表現から第１のセグメントを選択し、第２の異なる表現から第２のセグメントを選択することを備え、前記第１および第２のセグメントは、異なる時間的セクションに対応する、請求項１に記載の方法。
【請求項６８】
マルチメディアコンテンツの表現のセグメントに関する優先度値を示す前記情報は、前記映像データの所定の時間的セクションに関する前記異なる表現の各々に別々の優先度値を割り当てる、請求項１に記載の方法。
【請求項６９】
前記映像データの所定の時間的セクションに関する前記異なる表現の各々に別々の優先度値を割り当てることをさらに備える、請求項４７に記載の方法。
【請求項７０】
前記映像データの所定の時間的セクションに関する前記異なる表現の各々に別々の優先度値を割り当てるための手段をさらに備える、請求項５７に記載のコンピューティングデバイス。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００９３
【補正方法】変更
【補正の内容】
【００９３】
本開示の技法は、無線ハンドセット、集積回路（ＩＣ）又は一組のＩＣ（例えば、チップセット）を含む非常に様々なデバイス又は装置に実装することができる。開示される技法を実施するように構成されたデバイスの機能上の態様を強調するために本開示では様々なコンポーネント、モジュール、又はユニットが説明されているが、異なるハードウェアユニットによる実現を必ずしも要求するものではない。むしろ、上述されるように、様々なユニットは、適切なソフトウェア及び／又はファームウェアと関係させて、コーデックハードウェアユニット内で結合させるか、又は上述される１つ以上のプロセッサを含む相互運用可能なハードウェアユニットの集合によって提供することができる。
様々な例が説明されている。これらの及びその他の例は、以下の請求項によって定義される本発明の適用範囲内である。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
映像データを処理するための方法であって、
推定されるスループットを決定することと、
前記推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、前記セグメントのうちの１つ以上を選択することであって、前記表現は、映像データが異なるビットレートで符号化されること、前記セグメントの各々は個々に取り出し可能であること、及び前記セグメントは、前記表現の特定の時間的セクションに対応すること、を含むことと、
前記１つ以上の選択されたセグメントを処理することと、を備える、方法。
［Ｃ２］
前記推定されるスループットは、通信ネットワークの帯域幅であるＣ１に記載の方法。
［Ｃ３］
適応型ストリーミングネットワークプロトコルにより前記１つ以上の選択されたセグメントを要求することをさらに備えるＣ２に記載の方法。
［Ｃ４］
前記推定されるスループットは、１つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値であるＣ１に記載の方法。
［Ｃ５］
前記セグメントに関する前記優先度値及び前記推定されるスループットに基づいて前記セグメントのうちの１つ以上を選択することは、前記セグメントに関する前記優先度値、前記推定されるスループット、及び追加で、再生バッファ内の映像データの現在の再生継続時間に基づいて前記セグメントのうちの１つ以上を選択することを備えるＣ１に記載の方法。
［Ｃ６］
前記推定されるスループットは、通信ネットワークの推定される帯域幅であり、前記１つ以上の選択されたセグメントに関する推定される転送時間は、前記１つ以上の選択されたセグメントの再生継続時間プラス前記再生バッファ内の前記映像データの前記現在の再生継続時間以下であり、前記１つ以上の選択されたセグメントに関する前記推定される転送時間は、前記推定される帯域幅及び前記１つ以上の選択されたセグメント内の総ビット数に少なくとも部分的に基づくＣ５に記載の方法。
［Ｃ７］
前記１つ以上の選択されたセグメントによって表現されるフレームのシーケンスをレンダリングすることと、
フレームの前記シーケンスを表示装置上で提示することと、をさらに備えるＣ１に記載の方法。
［Ｃ８］
前記方法は、マニフェストファイル及び前記セグメントに関する前記優先度値を示す情報を格納することであって、前記マニフェストファイルは、前記セグメントに関するＵＲＬを指定することと、
前記１つ以上の選択されたセグメントを要求するために前記１つ以上の選択されたセグメントに関する前記ＵＲＬを使用することと、をさらに備えるＣ１に記載の方法。
［Ｃ９］
前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
前記方法は、やって来る期間に関するセグメントの組み合わせを選択することをさらに備え、前記セグメントの組み合わせは、前記やって来る期間内の前記セグメントグループの各々に関する１つのセグメントを含み、
前記１つ以上の選択されたセグメントを処理することは、前記セグメントの組み合わせ内の前記セグメントを復号することを備えるＣ１に記載の方法。
［Ｃ１０］
前記セグメントの組み合わせを選択することは、
複数の候補の組み合わせを識別することであって、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくないことと、
前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するＱｏＳスコアを計算することと、
前記前記候補の組み合わせに関する前記ＱｏＳスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別することと、を備えるＣ９に記載の方法。
［Ｃ１１］
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記候補の組み合わせに関する前記ＱｏＳスコアを計算することは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値を合計することによって前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算することを備えるＣ１０に記載の方法。
［Ｃ１２］
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記候補の組み合わせに関する前記ＱｏＳスコアを計算することは、前記所定の候補の組み合わせ内の前記セグメントのピーク信号対雑音比値に基づいて前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算することを備えるＣ１０に記載の方法。
［Ｃ１３］
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記候補の組み合わせに関する前記ＱｏＳスコアを計算することは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値の幾何平均を計算することによって前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算することを備えるＣ１０に記載の方法。
［Ｃ１４］
前記セグメントの前記優先度値は、前記セグメントにおける計算されたち歪みの量と相関関係にあるＣ１に記載の方法。
［Ｃ１５］
前記セグメントの前記優先度値は、人間の神経系統によってセグメント内で認知可能な知覚上の歪みの量と相関関係にあるＣ１に記載の方法。
［Ｃ１６］
コンピューティングデバイスであって、
推定されるスループットを決定し、
前記推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、前記セグメントのうちの１つ以上を選択し、及び
前記１つ以上の選択されたセグメントを処理するように構成された１つ以上のプロセッサを備え、前記表現は、映像データが異なるビットレートで符号化されること、前記セグメントの各々は個々に取り出し可能であること、及び前記セグメントは、前記表現の特定の時間的セクションに対応すること、を含む、コンピューティングデバイス。
［Ｃ１７］
前記推定されるスループットは、通信ネットワークの帯域幅であるＣ１６に記載のコンピューティングデバイス。
［Ｃ１８］
前記１つ以上のプロセッサは、適応型ストリーミングネットワークプロトコルにより前記１つ以上の選択されたセグメントを要求するようにさらに構成されるＣ１７に記載のコンピューティングデバイス。
［Ｃ１９］
前記推定されるスループットは、１つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値であるＣ１６に記載のコンピューティングデバイス。
［Ｃ２０］
前記１つ以上のプロセッサは、前記セグメントに関する前記優先度値、前記推定されるスループット、及び追加で、再生バッファ内の映像データの現在の再生継続時間に基づいて前記セグメントのうちの１つ以上を選択するように構成されるＣ１６に記載のコンピューティングデバイス。
［Ｃ２１］
前記推定されるスループットは、通信ネットワークの推定される帯域幅であり、前記１つ以上の選択されたセグメントに関する推定される転送時間は、前記１つ以上の選択されたセグメントの再生継続時間プラス前記再生バッファ内の前記映像データの前記現在の再生継続時間以下であり、前記１つ以上の選択されたセグメントに関する前記推定される転送時間は、前記推定される帯域幅及び前記１つ以上の選択されたセグメント内の総ビット数に基づくＣ１６に記載のコンピューティングデバイス。
［Ｃ２２］
前記１つ以上のプロセッサは、
前記１つ以上の選択されたセグメントによって表現されるフレームのシーケンスをレンダリングし、及び
フレームの前記シーケンスを表示装置上で提示するようにさらに構成されるＣ１６に記載のコンピューティングデバイス。
［Ｃ２３］
前記コンピューティングデバイスは、マニフェストファイル及び前記セグメントに関する優先度値を示す情報を格納し、前記マニフェストファイルは、前記セグメントに関するＵＲＬを指定し、
１つ以上のプロセッサは、前記１つ以上の選択されたセグメントに関する要求を生成するために前記１つ以上の選択されたセグメントに関する前記ＵＲＬを使用するように構成されるＣ１６に記載のコンピューティングデバイス。
［Ｃ２４］
前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
前記１つ以上のプロセッサは、やって来る期間に関するセグメントの組み合わせを選択し、及び
前記セグメントの組み合わせ内の前記セグメントを復号するようにさらに構成され、前記セグメントの組み合わせは、前記やって来る期間内の前記セグメントグループの各々に関する１つのセグメントを含むＣ１６に記載のコンピューティングデバイス。
［Ｃ２５］
１つ以上のプロセッサは、
複数の候補の組み合わせを識別し、
前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するＱｏＳスコアを計算し、及び
前記候補の組み合わせに関する前記ＱｏＳスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別するように構成され、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくないＣ２４に記載のコンピューティングデバイス。
［Ｃ２６］
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記１つ以上のプロセッサは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値を合計することによって前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算するように構成されるＣ２５に記載のコンピューティングデバイス。
［Ｃ２７］
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記１つ以上のプロセッサは、前記所定の候補の組み合わせ内の前記セグメントのピーク信号対雑音比値に基づいて前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算するように構成されるＣ２５に記載のコンピューティングデバイス。
［Ｃ２８］
前記候補の組み合わせは、所定の候補の組み合わせを含み、
前記１つ以上のプロセッサは、前記所定の候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値の幾何平均を計算することによって前記所定の候補の組み合わせに関する前記ＱｏＳスコアを計算するように構成されるＣ２５に記載の方法。
［Ｃ２９］
前記セグメントの前記優先度値は、前記セグメントにおける計算された歪みの量と相関関係にあるＣ１６に記載のコンピューティングデバイス。
［Ｃ３０］
前記セグメントの前記優先度値は、人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるＣ１６に記載のコンピューティングデバイス。
［Ｃ３１］
コンピューティングデバイスであって、
推定されるスループットを決定するための手段と、
前記推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、前記セグメントのうちの１つ以上を選択するための手段であって、前記表現は、映像データが異なるビットレートで符号化されること、前記セグメントの各々は個々に取り出し可能であること、及び前記セグメントは、前記表現の特定の時間的セクションに対応すること、を含む手段と、
前記１つ以上の選択されたセグメントを処理するための手段と、を備える、コンピューティングデバイス。
［Ｃ３２］
前記推定されるスループットは、通信ネットワークの帯域幅であるＣ３１に記載のコンピューティングデバイス。
［Ｃ３３］
適応型ストリーミングネットワークプロトコルにより前記１つ以上の選択されたセグメントを要求するための手段をさらに備えるＣ３１に記載のコンピューティングデバイス。
［Ｃ３４］
前記推定されるスループットは、１つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値であるＣ３１に記載のコンピューティングデバイス。
［Ｃ３５］
前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
前記コンピューティングデバイスは、
やって来る期間に関するセグメントの組み合わせを選択するための手段であって、前記セグメントの組み合わせは、前記やって来る期間内にある前記セグメントグループの各々に関する１つのセグメントを含む手段と、
前記セグメントの組み合わせ内の前記セグメントを要求するための手段と、を備えるＣ３１に記載のコンピューティングデバイス。
［Ｃ３６］
複数の候補の組み合わせを識別するための手段であって、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくない手段と、
前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するＱｏＳスコアを計算するための手段と、
前記候補の組み合わせに関する前記ＱｏＳスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別するための手段と、を備えるＣ３５に記載のコンピューティングデバイス。
［Ｃ３７］
前記セグメントの前記優先度値は、前記セグメントにおける計算された歪みの量と相関関係にあるＣ３１に記載のコンピューティングデバイス。
［Ｃ３８］
前記セグメントの前記優先度値は、人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるＣ３１に記載のコンピューティングデバイス。
［Ｃ３９］
コンピュータによって読み取り可能な記憶媒体であって、
実行されたときに、
推定されるスループットを決定し、
前記推定されるスループット及びマルチメディアコンテンツの表現のセグメントに関する優先度値に少なくとも部分的に基づいて、前記セグメントのうちの１つ以上を選択し、及び
前記１つ以上の選択されたセグメントを処理することをプロセッサに行わせる命令を格納しており、前記表現は、映像データが異なるビットレートで符号化されること、前記セグメントの各々は個々に取り出し可能であること、及び前記セグメントは、前記表現の特定の時間的セクションに対応すること、を含む、コンピュータによって読み取り可能な記憶媒体。
［Ｃ４０］
前記推定されるスループットは、通信ネットワークの帯域幅であるＣ３９に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ４１］
適応型ストリーミングネットワークプロトコルにより前記１つ以上の選択されたセグメントを要求することをさらに備えるＣ４０に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ４２］
前記推定されるスループットは、１つ以上のプロセッサがやって来る期間中に復号することができるメディアデータの量の推定値であるＣ３９に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ４３］
前記メディアコンテンツの異なる時間的セクションに対応する前記セグメントのうちの幾つかは、異なるセグメントグループ内にあり、
前記命令の実行は、
やって来る期間に関するセグメントの組み合わせを選択し、及び
前記セグメントの組み合わせ内の前記セグメントを要求することを前記コンピューティングデバイスにさらに行わせ、前記セグメントの組み合わせは、前記やって来る期間内にある前記セグメントグループの各々に関する１つのセグメントを含むＣ３９に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ４４］
前記命令の実行は、
複数の候補の組み合わせを識別し、
前記候補の組み合わせ内の前記セグメントと関連付けられた前記優先度値に基づいて前記候補の組み合わせに関するＱｏＳスコアを計算し、及び
前記候補の組み合わせに関する前記ＱｏＳスコアに基づいて前記複数の候補の組み合わせの中から選抜された組み合わせを識別することを前記コンピューティングデバイスに行わせ、前記候補の組み合わせの各々に関して、前記候補の組み合わせ内の前記セグメントのビットレートの平均は、前記推定されるスループットよりも有意に大きくないＣ３９に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ４５］
前記セグメントの前記優先度値は、前記セグメントにおける計算された歪みの量と相関関係にあるＣ３９に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ４６］
前記セグメントの前記優先度値は、人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるＣ３９に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ４７］
適応型ストリーミングネットワークプロトコルを介して映像データを提供するための方法であって、
セグメントに関する優先度値を示す情報を送信することであって、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含むことと、
クライアントデバイスからの１つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信することであって、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかであることと、を備える、方法。
［Ｃ４８］
前記優先度値を前記セグメントに割り当てることと、
前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納することと、をさらに備えるＣ４７に記載の方法。
［Ｃ４９］
前記優先度値を前記セグメントに割り当てることは、前記セグメントの特徴に基づいて前記優先度値を計算することを備えるＣ４８に記載の方法。
［Ｃ５０］
前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含むＣ４９に記載の方法。
［Ｃ５１］
前記優先度値を前記セグメントに割り当てることは、前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てることを備えるＣ４９に記載の方法。
［Ｃ５２］
コンピューティングデバイスであって、
セグメントに関する優先度値を示す情報を送信し、及び
クライアントデバイスからの１つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信するように構成された１つ以上のプロセッサを備え、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含み、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかであるコンピューティングデバイス。
［Ｃ５３］
前記１つ以上のプロセッサは、
前記優先度値を前記セグメントに割り当て、及び
前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納するように構成されるＣ５２に記載のコンピューティングデバイス。
［Ｃ５４］
前記１つ以上のプロセッサは、前記セグメントの特徴に基づいて前記優先度値を計算するように構成されるＣ５３に記載のコンピューティングデバイス。
［Ｃ５５］
前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含むＣ５４に記載のコンピューティングデバイス。
［Ｃ５６］
前記１つ以上のプロセッサは、前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てるように構成されるＣ５２に記載のコンピューティングデバイス。
［Ｃ５７］
コンピューティングデバイスであって、
セグメントに関する優先度値を示す情報を送信するための手段であって、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含む手段と、
クライアントデバイスからの１つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信するための手段であって、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかである手段と、を備える、コンピューティングデバイス。
［Ｃ５８］
前記優先度値を前記セグメントに割り当てるための手段と、
前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納するための手段と、をさらに備えるＣ５７に記載のコンピューティングデバイス。
［Ｃ５９］
前記セグメントの特徴に基づいて前記優先度値を計算するための手段をさらに備えるＣ５８に記載のコンピューティングデバイス。
［Ｃ６０］
前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含むＣ５９に記載のコンピューティングデバイス。
［Ｃ６１］
前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てるための手段を備えるＣ５７に記載のコンピューティングデバイス。
［Ｃ６２］
コンピュータによって読み取り可能な記憶媒体であって、
コンピューティングデバイスの１つ以上のプロセッサによって実行されたときに、
セグメントに関する優先度値を示す情報を送信し、及び
クライアントデバイスからの１つ以上の要求に応答して前記適応型ストリーミングネットワークプロトコルを介して要求されたセグメントを送信することを前記コンピューティングデバイスに行わせる命令を格納し、前記セグメントの各々は、個々に取り出し可能であり、前記セグメントは、マルチメディアコンテンツの表現の特定の時間的セクションに対応し、前記マルチメディアコンテンツの前記表現の各々は、異なるビットレートで符号化される映像データを含み、前記要求されたセグメントは、前記要求によって指定される前記セグメントのうちの幾つかである、コンピュータによって読み取り可能な記憶媒体。
［Ｃ６３］
前記１つ以上のプロセッサによる前記命令の実行は、
前記優先度値を前記セグメントに割り当て、及び
前記マルチメディアコンテンツのためのマニフェストファイルに前記優先度値を格納することを前記コンピューティングデバイスに行わせるＣ６２に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ６４］
前記１つ以上のプロセッサによる前記命令の実行は、前記セグメントの特徴に基づいて前記優先度値を計算することを前記コンピューティングデバイスに行わせるＣ６３に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ６５］
前記セグメントの前記特徴は、前記セグメント内の計算された歪みの量を含むＣ６４に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ６６］
前記１つ以上のプロセッサによる前記命令の実行は、前記セグメントの前記優先度値が人間の神経系統によって前記セグメント内で認知可能な知覚上の歪みの量と相関関係にあるように前記優先度値を前記セグメントに割り当てることを前記コンピューティングデバイスに行わせるＣ６２に記載のコンピュータによって読み取り可能な記憶媒体。
【国際調査報告】
2015501090.tif 000013
2015501090.tif 000014