[0008]再生品質が改善されたメディアコンテンツが記載される。実施例では、ネットワークの帯域幅不足が原因でダウンロードに利用できる可能性が少ないメディア資産のセグメントは、ユーザーエクスペリエンスの向上のためにメディア資産の再生の前にダウンロードされて利用可能であり、メディア資産が再生や表示のためにレンダリングされるときに全体的な表示品質を最適化する。また、任意のタイプのクライアント装置として構成されるメディアコンテンツ再生システムは、様々なメディア資産の非連続のセグメントを格納するためにクライアント装置においてローカルストレージを利用することができる。
[0009]実施例において、メディアコンテンツ再生システムの負荷アルゴリズム(load algorithm)は、メディア資産の再生中にコンテンツナビゲーション入力が受信される可能性を予測又は決定することができる。負荷アルゴリズムは、メディア資産のセグメントごとに、予測されるコンテンツナビゲーション入力に基づいて、各セグメントがいつ再生されるかを推定することができる。負荷アルゴリズムは、各セグメントがいつ再生されるかについての推定に基づいて、ダウンロードするべきメディア資産の次のセグメントを決定する。さらに、負荷アルゴリズムを実施するデータロードマネージャーは、メディア資産の各セグメントに対して生成される負荷モデルに基づいて、予めロードするメディア資産のセグメントを決定することができ、負荷モデルは、ダウンロードするべき次の最良のセグメントを決定するために、セグメントの各々がそれによってランク付けされる改善値を含む。
[0010]再生品質が改善されたメディアコンテンツについての説明されるシステム及び方法の特徴及び概念は、任意の数の異なる環境、システム、及び/又は種々の構成で実施することができるが、再生品質が改善されたメディアコンテンツの実施例は以下の例示的なシステム及び環境のコンテキストで説明される。
[0011]図1は、再生品質が改善されたメディアコンテンツの様々な実施例を実施することができる例示的なシステム100を示す。例示的なシステム100は、任意のタイプのクライアント装置104として構成することができるメディアコンテンツ再生システム102を含む。様々なクライアント装置104のいくつかは、有線及び/又は無線装置を含み、また、ユーザーのデバイス及び/又はポータブルデバイスとされてもよい。例示的なシステム100はまた、通信ネットワーク110を介して任意の数の様々なクライアント装置104と通信したり、そうでなければ、クライアント装置104にメディアコンテンツやデータを提供する、コンテンツ配信部106及び/又は他のメディアコンテンツソース108を含む。
[0012]通信ネットワーク110は、コンテンツ配信部106、他のメディアコンテンツソース108、及び任意の数の様々なクライアント装置の間のメディア資産配信やデータ通信を容易にする、ブロードキャストネットワーク、IPベースのネットワーク112、及び/又は無線ネットワーク114を含むように実施することができる。通信ネットワーク110はまた、任意の種類のネットワークトポロジー及び/又は通信プロトコルを使用してメディア資産配信システムの一部として実施することができ、2つ以上のネットワークの組み合わせとして表現したり、実施したりすることができる。通信ネットワーク110はまた、任意の種類の無線装置や携帯電話(例えば、セルラー、VoIP、Wi−Fiなど)のモバイルデータ及び/又は音声通信を容易にするために、携帯電話プロバイダー及び/又はインターネットサービスプロバイダーなどの通信サービスプロバイダーによって管理される携帯電話事業者のネットワークを含んでもよい。
[0013]コンテンツ配信部106は、任意の数の様々なクライアント装置にメディアコンテンツ及び/又は他のデータを通信し、又は配信するように実施される、1つ又は複数のメディアコンテンツサーバー116を含んでもよい。この例示的なシステム100では、コンテンツ配信部106は、メディア資産120及びメディアコンテンツメタデータ122などの様々なメディアコンテンツ及びデータを格納したり保持したりするために、記憶媒体118を含む。記憶媒体118は、任意の種類のメモリー及び/又は適切な電子データ記憶装置として実施することができる。
[0014]メディア資産120は、任意の種類のメディアコンテンツソース又はデータソースから受信される、任意の種類の音声データ、動画データ、及び/又は画像データを含んでもよい。本明細書を通して説明されるように、メディア資産はメディアコンテンツであり、メディア資産は、音楽(例えば、曲のデジタル音楽ファイル)、テレビ番組、映画、オンデマンドのメディア資産、インタラクティブなゲーム、ネットワークベースのアプリケーション、及び任意の他の音声データ、動画データ、及び/又は画像データ(例えば、番組ガイドデータ、ユーザーインターフェースデータ、広告コンテンツ、字幕データ、コンテンツメタデータ、検索結果及び/又は推奨等を含む)を含んでもよい。メディア資産120は、最高品質の表示フォーマット(例えば、高品質、高精細な表示フォーマット)から低品質の表示フォーマット(例えば、低品質、標準画質の表示フォーマット)などの、メディア資産の様々な表示フォーマット、それら2つの間の連続したもの(continuum)に沿う他の品質の表示フォーマットを含んでもよい。
[0015]メディアコンテンツメタデータ122は、メディア資産について記述し及び/又は分類する、メディア資産120に関連する任意の種類の識別基準、記述的情報、及び/又は属性を含んでもよい。例えば、メタデータは、メディア資産の識別子、タイトル、主題記述、製造日、芸術的情報(artistic information)、音楽編集物、特定のメディア資産に関する任意の種類の記述的情報を含んでもよい。さらに、メタデータは、広告、映画、お笑い番組、スポーツイベント、ニュース番組、ホームコメディ、トークショー、アクション/アドベンチャー番組であるとして、又は任意の数の他のカテゴリー記述として、映像コンテンツなどのメディア資産を説明するジャンルを特徴付けることができる。
[0016]コンテンツ配信部106はまた、メディアコンテンツサービス124を含んでもよい。様々な実施例において、コンテンツ配信部106は、任意の様々なクライアント装置104が視聴のためにメディア資産120をダウンロードして表示することを要求することができる、加入ごとの(subscription-based)サービスとして実施することができる。メディアコンテンツサービス124は、様々なクライアント装置104へのメディア資産の配信を管理するように実装される。たとえば、メディアコンテンツサービス124は、クライアント装置104からメディア資産120の要求を受信し、クライアント装置と通信したり、クライアント装置にメディア資産のセグメントを提供したりすることができる。
[0017]この例示的なシステム100において、クライアント装置104は、音声データ、動画データ、及び/又は画像データのうちの任意の形式でメディアコンテンツを受信するように実施することができる、テレビクライアント装置126(例えば、テレビのセットトップボックス、デジタルビデオレコーダ(DVR)など)、コンピューター装置128、ゲームシステム130、電化製品、電子デバイス、及び/又は任意の他のタイプのクライアント装置やユーザーデバイスのうちの任意の1つ又は組み合わせとして実施することができる。様々なクライアント装置104はまた、携帯電話132(例えば、セルラー、VoIP、WiFiなど)、ポータブルコンピューター装置134、メディア装置136(例えば、パーソナルメディアプレーヤー、ポータブルメディアプレーヤーなど)、及び/又は音声データ、動画データ及び/又は画像データの任意の形式でメディアコンテンツを受信することができる任意の他の無線デバイスの任意の1つ又は組み合わせなどの、無線データを受信し及び/又は通信するように実装される無線装置を含んでもよい。クライアントシステムは、任意の形式の音声、動画及び/又は画像メディアコンテンツやメディア資産を一緒にレンダリングしたり、再生したりする、それぞれのクライアント装置と表示装置138とを含んでもよい。表示装置138は、任意の種類のテレビ、高精細テレビ(HDTV)、LCD、又は同様の表示システムとして実施することができる。
[0018]任意の様々なクライアント装置104は、メディアコンテンツ再生システム102として構成することができ、1つ又は複数のプロセッサー、通信コンポーネント、メモリーコンポーネント、信号処理及び制御回路、及びメディアコンテンツレンダリングシステムにより実施することができる。さらに、任意のクライアント装置104は、図8に示す例示的な装置を参照して説明されるような任意の数及び組み合わせの異なるコンポーネントにより実施することができる。クライアント装置はまた、ユーザー、ソフトウェア、及び/又はデバイスの組み合わせを含む論理デバイスについてクライアント装置が記述するように、装置を動作させるユーザー(つまり、人)及び/又はエンティティに関連付けることができる。
[0019]この例示的なシステム100において、メディアコンテンツ再生システム102は、データロードマネージャー140、記憶媒体142、及びレンダリングシステム144を含む。記憶媒体142は、様々なメディア資産のセグメント146を格納するための任意のタイプのメモリーデバイスとして実施することができる。データロードマネージャー140は、コンピューター実行可能命令として実装することができ、本明細書に記載される様々な実施例及び/又は機能を実施するために1つ又は複数のプロセッサーによって実行することができる、負荷アルゴリズム148を含む。
[0020]アルゴリズム実装の実施例において、負荷アルゴリズム148は、(セグメントサイズはメディアコンテンツの異なる表示品質レベルについてより多くの又はより少ないデータを含み得るので)メディア資産のセグメントサイズを決定することができる、メディア資産の一定の表示品質レベルを選択する。一定のレベルの利用可能なネットワーク帯域幅を仮定すると、負荷アルゴリズム148は、選択された表示品質レベルでメディアコンテンツをストリーミングするための、時間に対する必要なネットワーク帯域幅を決定する。図2は、選択される表示品質レベルでメディアコンテンツのセグメント206をストリーミングするための、時間204に対する必要なネットワーク帯域幅202の例示的なグラフ200を示す。例えば、各セグメントは、メディア資産のうちの5秒とすることができ、セグメントのサイズは、同じ期間について大きなデータセグメントを有する複雑な動画についてなど、再生時間の経過とともに変化する。
[0021]必要なネットワーク帯域幅が想定される利用可能な帯域幅を超えるメディア資産のセグメントについて、セグメントのサブセットは、メディア資産の残りのセグメントをストリーミングするために必要なネットワーク帯域幅が想定される利用可能な帯域幅以下であるように、予めロードするように選択される。たとえば、メディア資産のセグメント208は必要なネットワーク帯域幅202を超えており、セグメント208はメディアコンテンツ再生システム102の記憶媒体142などに予めロードすることができる。
[0022]代替的に又はさらに、メディア資産のセグメントは、コンテンツから(例えば、オーバーナイト・プリエンプティブ(overnight pre-emptive)ダウンロード、ブロードキャスト、又は光ディスクを介して)帯域外で配信されるファイルに予めロードすることができる。メディア資産のその後のライブストリーミング中、予めロードされたファイルは、メディア資産をロードする際に役立つように使用される。この技術はまた、コンテンツ配信部106においてメディアコンテンツの予めロードされたセグメントを格納し、予めロードされたセグメントをネットワークストレージ位置から提供することなどによって、ネットワークアーキテクチャーにおいて実施することができる。この実施例において、メディア資産のセグメントの大部分が集中的に格納される一方、予めロードされるセグメントの予めロードされるファイルは、ローカルのストレージにおいて、及び/又は、ネットワークストレージにおける迅速なアクセスのためにキャッシュされる。
[0023]アルゴリズム実装の代替的な実施例において、負荷アルゴリズム148は、ネットワーク帯域幅を均一にする、メディア資産のセグメントを予めロードするための特定のバッファサイズの利用可能性に基づいて実施される。この技術は、図2に示される例示的なグラフ200にローパスフィルターを適用する効果を有し、予めロードされるメディア資産のセグメントの数を減らす。アルゴリズム実装の別の代替的な実施例において、メディア資産のセグメントを予めロードするバッファは、動画中のチャプターポイントなど、メディア資産における適したアクセスポイントにおいてリセットされる。この技術は、メディア資産内のアクセスポイントの直後に発生するメディア資産のセグメントを予めロードする可能性を高める。
[0024]様々な実施例において、負荷アルゴリズム148は、メディア資産が再生や表示のためにレンダリングされるときに一貫した表示品質を提供するためなど、改善されたユーザーエクスペリエンスのためにダウンロードするメディア資産の最も適したセグメントを決定するように実装される。実施例において、負荷アルゴリズム148は、視聴者によって開始されるコンテンツナビゲーション入力を受信する可能性を決定するように実装される。負荷アルゴリズムはまた、メディア資産のセグメントの映像の複雑さを考慮し、一貫したメディア再生品質を提供する確率を最適化するためにメディア資産のどのセグメントを次にダウンロードするかを決定するべく、利用可能なネットワーク帯域幅を予測する。たとえば、負荷アルゴリズム148は、特定の視聴者が、通常、動画を見ながらコマーシャルを飛び越すときに、メディア資産におけるジャンプ前進(jump advance)を受信する可能性を決定することができる。他の例では、テレビクライアント装置126における視聴者は、メディア資産におけるジャンプ前進、メディア資産の早送り前進(fast-forward advance)、メディアの再生を停止し異なるメディア資産の再生を開始するための変更などの、任意のタイプのコンテンツナビゲーション入力を開始することができる。
[0025]負荷アルゴリズム148はまた、メディア資産のセグメントごとに、コンテンツナビゲーション入力を受信する予測に基づいて、各セグメントがいつ再生されるかを推定するように実装される。負荷アルゴリズム148は、次いで、各セグメントがいつ再生されるかについての推定に基づいて、ダウンロードして格納するべきメディア資産の次のセグメントを決定することができる。負荷アルゴリズム148はまた、メディア資産の各セグメントの目標の再生品質に基づいて、ダウンロードするべきメディア資産の次のセグメントを決定することができる。実施例において、負荷アルゴリズム148は、メディア資産の各セグメントについて生成される負荷モデルに基づいて、予めロードする(例えば、ダウンロードして格納する)メディア資産のセグメントを決定する。負荷アルゴリズム148は各セグメントについて負荷モデルを生成することができ、負荷モデルは、ダウンロードする次の最善のセグメントを決定するためにセグメントの各々をランク付ける改善値(improvement value)を含む。プリロードのための決定されるメディア資産のセグメントは、セグメントについての目標の再生品質を向上させるためにダウンロードすることができる。
[0026]メディア資産における前進や先へのジャンプなど、コンテンツナビゲーション入力が受信される可能性が高いものとして予測又は決定される場合、そのジャンプの直後のメディア資産の1つ又は複数のセグメントは、次にダウンロードするセグメントとして必ずしも決定されないことに留意すべきである。メディア資産のセグメントが過度に複雑でなく、及び/又は、ネットワーク帯域幅がメディア資産の再生中にセグメントをダウンロードするために利用可能である場合には、目標の表示品質を維持しながら、負荷アルゴリズム148は、次にメディア資産の他のセグメントをダウンロードすることを決定することができる。たとえば、ダウンロードのために決定されるメディア資産の次のセグメントは、ジャンプ前進が表示のためにメディア資産を再開する場所の約1分後に再生のために推定される複雑な動画シーンの一部であってもよい。負荷アルゴリズム148はまた、バッファー占有量(buffer fullness)を評価し、最も可能性の高いユーザー入力及び最大の可能な改善のために表示品質を最適化するべく、メディア資産の各セグメントに対して生成される負荷モデルに基づいて、ダウンロードするべきメディア資産のセグメントを決定することができる。
[0027]負荷アルゴリズム148は、データロードマネージャー140が、(例えば、目標の表示品質での)ほぼ一貫したメディア品質レベルをもたらすことを可能にする。データロードマネージャー140は、ネットワーク帯域幅が思いがけなく減少する場合などに、再生の問題を回避するべくメディア資産の残りの再生時間中の任意の時点において利用可能な最小のメディア時間を再帰的に最大化するために、(例えば、任意の小さな容量のバッファーに加えて)追加の記憶媒体142を利用する。実施例において、データロードマネージャー140は、メディア資産のセグメントが目標の再生品質でダウンロードされることを妨げる、帯域幅の制約を受けるメディア資産のセグメント146をダウンロードしてもよい。たとえば、帯域幅の制約を受ける可能性のあるメディア資産のセグメントは、メディア資産の最初のセグメントや、ダウンロードする資源集約的なメディア資産のセグメントを含む。メディア資産のこれらのセグメント146は、メディアコンテンツ再生システム102において記憶媒体142によりダウンロードして格納することができる。
[0028]実施例において、メディア資産のセグメントは、どのセグメントが最も適したユーザーエクスペリエンスの向上をもたらすかに基づいて、インデックス付けされる。改善値Iは、特定の時刻tでシステム状態sが発生する確率Pについて、システム状態sに対して特定の時刻tにおいてセグメントが利用可能である場合、ユーザーエクスペリエンスの改善を示す。レンダリングのために次に選択されてロードされるセグメントのデータチャンクは、最大化されるときの関数f(P,I)によって記述されるデータチャンクである。負荷アルゴリズム148は、どのセグメントがすでにダウンロードされて格納されたかについての情報、セグメントの各々についての品質及び/又はデータサイズの値、並びに利用可能なネットワーク帯域幅の予想される値を使用することによって、メディア資産の全ての残りの再生時間にわたって、関数f(P,I)を再帰的に決定又は計算することができる。
[0029]メディアコンテンツ再生システム102において、セグメントローダープロセス(例えば、データロードマネージャー140によって実装される)と再生プロセス(例えば、レンダリングシステム144によって実装される)は、再生システムの独立したプロセスである。データロードマネージャー140は、再生に必要なメディア資産のセグメントがクライアント装置において利用可能であると規定し、データロードマネージャーの負荷アルゴリズム148は、コンテンツナビゲーション入力などのユーザー入力が受け取られるときであっても一貫した再生品質を達成する可能性を最適化する。負荷アルゴリズム148は、メディア資産の各セグメントの負荷モデルを導き出し、負荷モデルは各セグメントの再生が発生する確率を示す。
[0030]再生の確率が高いメディア資産のセグメントを決定するとき、負荷アルゴリズム148は最適化基準(optimization criteria)を考慮することができる。たとえば、最適化基準は、ダウンロードするべきメディア資産の様々なセグメントの利用可能性、必要なときに高ビットレートでセグメントが容易に利用できるかどうか、又はダウンロード元からの帯域幅の制約などのためにセグメントのダウンロードが遅くなるかどうかを決定することを含む。最適化基準はまた、ピアツーピア環境におけるメディア資産のセグメントの相対的な利用可能性を考慮することができる。視聴者がメディア資産の再生を開始するたびに、ネットワーク帯域幅の一定量が利用可能になると仮定して、メディア資産の特定のセグメントがダウンロードされ、格納されてもよい。再生中に利用可能な帯域幅は、メディア資産におけるジャンプポイント及びより複雑なシーンなどの、メディア資産の格納されたセグメントを補強するために使用することができる。これは、メディア資産についての一貫した再生品質をなお提供しつつ、メディア資産のセグメントを格納するために必要なストレージスペースの量の制限を行う。
[0031]実施例において、ブロードキャスト技術は、メディア資産の大集団の複雑なセグメントをIPネットワークを介して予めロードする代わりに、これらのセグメントのみをクライアント装置にブロードキャストするために利用することができる。オペレーターはデータチャンクのストリームをブロードキャストでき、クライアント装置は、再生における予想される利用可能なIP帯域幅に基づいて、それらのブロードキャストされるデータチャンクのサブセットを受信して格納する。クライアント装置(例えば、メディアコンテンツ再生システム)における負荷アルゴリズム148は、IPを介して一貫した品質の再生の経験をもたらすためにどのデータチャンクを予めロードするかを推定し、決定することができる。
[0032]別の実施例において、負荷アルゴリズム148は、再生のためにメディア資産の表示品質を向上させるために上書きすることができる記憶媒体142によって格納される、メディア資産のセグメント146を決定することができる。例えば、格納されるセグメントは、メディア資産の表示品質を向上させるために、そのセグメントについてのより高い品質のバージョンで上書きすることができる。データロードマネージャー140は、メディア資産のセグメント146をダウンロードして、再生のためにメディア資産の表示品質を向上させるために、改善されたセグメントで上書きすることができる。
[0033]別の実施例において、負荷アルゴリズム148は、再生される可能性の低いセグメントなど、メディア資産のセグメント146のうちのどれを記憶媒体142から削除するかを決定することができる。例えば、視聴者は、メディア資産を視聴しながらジャンプ前進するためのコンテンツナビゲーション入力を開始してもよく、飛び越えられたメディア資産のセグメントは、記憶媒体から削除するように識別されてもよい。
[0034]図3は、再生品質が改善されたメディアコンテンツの様々な実施例における、メディア資産のセグメントのデータの非連続的な記憶の例300を示す。この例300において、図1を参照して説明されるような、メディアコンテンツ再生システム102における記憶媒体は、メディア資産セグメント302、メディア資産セグメント304、メディア資産セグメント306などの様々なメディア資産のセグメントを含む。これらのメディア資産のセグメントは、すべてが異なるメディア資産に関連付けられてもよいし、すべてが同じメディア資産に関連付けられてもよいし、及び/又はそれらの組み合わせであってもよい。たとえば、メディア資産セグメント302及び306が同じメディア資産に関連する一方、メディア資産セグメント304が異なるメディア資産に関連していてもよい。メディア資産のセグメントは、それぞれ、メディア資産セグメント302中のデータチャンク308、メディア資産セグメント304中のデータ・チャンク310、メディア資産セグメント306中のデータチャンク312などの任意の数のデータチャンクを含む。特定のメディア資産のデータは再生順序がばらばらに(例えば、非連続的な順序で)格納されてもよく、負荷アルゴリズム148は最適化基準に基づいてどのデータを読み取るかを決定する。
[0035]図4は、コンテンツの複雑さ402、表示品質(視覚品質、visual quality)404、及び時間408に対する改善される品質406についての指示を含むグラフ400において、再生品質が改善されたメディアコンテンツの例を示す。グラフ400は、コンテンツの複雑さ402が時間408とともに変化するにつれて、視聴するために再生されるメディア資産の表示品質404もまた変化しうることを示す。上述のように、従来の動画データストリーミング技術は、メディア資産中の複雑なシーンに必要なネットワーク帯域幅や追加の動画データが予測不可能であるために、クライアント装置での再生に対して一貫した動画品質を提供することができない。例えば、コンテンツの複雑さが410において増加するとき(又はネットワーク帯域幅の急激な低下の間)、表示品質は412において低減する。続いて、コンテンツの複雑さが414で減少すると、表示品質は416において改善される。
[0036]グラフ400はまた、本明細書に記載される再生品質が改善されたメディアコンテンツの実施例による品質の向上406を示す。例えば、コンテンツの複雑さが410で増加すると、412において減少する従来の表示品質とは異なり、改善された品質は418においてわずかに低下してもよい(又はまったく低下しない)。同様に、コンテンツの複雑さが414で減少する場合、改善された品質は420においてほぼ一定のままである。その後、コンテンツの複雑さが422において再び増加する場合、従来の表示品質が426において低下し得る一方、品質の向上は424においてほぼ一定に継続する。
[0037]図5は、図1を参照して説明したようなメディアコンテンツ再生システム102を含む例示的なシステム500を示す。パーソナルコンピューター(PC)、テレビ装置、及び/又はモバイルデバイス上でアプリケーションを実行する場合、例示的なシステム500は、シームレスなユーザーエクスペリエンスのためのユビキタス環境を実現する。アプリケーションを利用したり、ビデオゲームをプレイしたり、動画を見たりなどしながら、あるデバイスから次のデバイスへと移るとき、サービスやアプリケーションは、共通のユーザーエクスペリエンスのために、3つのすべての環境において実質的に同様に実行される。
[0038]例示的なシステム500において、複数のデバイスが中央コンピューティング装置を介して相互接続される。中央コンピューティング装置は、複数のデバイスに対してローカルであってもよいし、複数のデバイスから離れて配置することもできる。1つの実施例において、中央コンピューティング装置は、ネットワーク、インターネット、又は他のデータ通信リンクを介して複数のデバイスに接続される1つ又は複数のサーバーコンピューターのクラウドであってもよい。1つの実施例において、この相互接続アーキテクチャーは、複数のデバイスのユーザーに共通のシームレスな経験を提供するために、複数のデバイスにわたって機能が配信されることを可能にする。複数のデバイスの各々は異なる物理的要件や能力を有していてもよく、中央コンピューティング装置は、デバイスに対して調整されるがすべてのデバイスに対して共通である、デバイスに対する経験の配信を可能にするためのプラットフォームを使用する。1つの実施例において、ターゲットデバイスのクラスが作成され、経験が一般的なクラスのデバイスに合わせて調整される。デバイスのクラスは、物理的特徴、使用の種類、又はデバイスの他の共通の特性によって定義することができる。
[0039]様々な実施例において、メディアコンテンツ再生システム102は、コンピューター502、モバイルデバイス504、テレビ506の使用などについて、様々な異なる構成をとることができる。これらの構成の各々は、一般に異なる構成や能力を有するデバイスを含み、したがって、メディアコンテンツ再生システム102は、1つ又は複数の異なるデバイスクラスに従って構成することができる。例えば、メディアコンテンツ再生システム102は、パーソナルコンピューター、デスクトップコンピューター、マルチスクリーンコンピューター、ラップトップコンピューター、ネットブックなどを含むデバイスのコンピューター502のクラスとして実施されてもよい。
[0040]メディアコンテンツ再生システム102はまた、携帯電話、携帯音楽プレーヤー、ポータブルゲーム機、タブレットコンピューター、マルチスクリーンコンピューターなどのモバイルデバイスを含むデバイスのモバイル504クラスとして実施されてもよい。メディアコンテンツ再生システム102はまた、カジュアルな視聴環境における、一般的により大きな画面を有するか又はこれに接続されるデバイスを含むデバイスのテレビ506クラスとして実施されてもよい。これらのデバイスは、テレビ、セットトップボックス、ゲーム機などを含む。本明細書に記載される技術は、メディアコンテンツ再生システム102のこれらの様々な構成によりサポートされてもよく、本明細書に記載される再生品質が改善されたメディアコンテンツの具体例には限定されない。
[0041]クラウド508は、メディアコンテンツサービス512のためのプラットフォーム510を含み及び/又はこれを表す。プラットフォーム510はクラウド508のハードウェアリソース(例えば、サーバー)及びソフトウェアリソースの基本的な機能を概念化する。メディアコンテンツサービス512は、コンピューター処理がメディアコンテンツ再生システム102から離れたサーバー上で実行される間に利用することができるアプリケーション及び/又はデータを含んでもよい。メディアコンテンツサービス512は、セルラーネットワークやWiFiネットワークなどの、インターネット及び/又は加入者ネットワークを介したサービスとして提供することができる。
[0042]プラットフォーム510は、他のコンピューティング装置とメディアコンテンツ再生システム102を接続するためのリソースや機能を概念化することができる。プラットフォーム510はまた、プラットフォーム510を介して実施されるメディアコンテンツサービス512についての引き起こされる需要に対応するレベルの縮尺(scale)をもたらすために、リソースの拡大縮小(scaling)を概念化するように機能し得る。したがって、相互接続されたデバイスの実施例においては、データロードマネージャー140及び/又は負荷アルゴリズム148の機能の実施は、システム500全体にわたって分散させることができる。たとえば、データロードマネージャー140及び/又は負荷アルゴリズム148は、メディアコンテンツ再生システム102において部分的に、及び、クラウド508の機能を抽象化するプラットフォーム510を介して、実施されてもよい。
[0043]例示的な方法600及び700は、再生品質が向上したメディアコンテンツの1つ又は複数の実施例による、それぞれ図6及び図7を参照して説明される。一般的に、本明細書に記載の任意の機能、方法、手順、コンポーネント、及びモジュールは、ソフトウェア、ファームウェア、ハードウェア(例えば、固定論理回路)、手動処理、又はそれらの任意の組み合わせを使用して実施できる。ソフトウェア実装は、コンピュータープロセッサーによって実行されると指定されたタスクを実行するプログラムコードを表す。例示的な方法は、ソフトウェア、アプリケーション、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、プロシージャー、モジュール、関数などを含むことができる、コンピューター実行可能命令の一般的なコンテキストで説明することができる。プログラムコードは、コンピュータープロセッサーに対してローカル及び/又はリモートの、1つ又は複数のコンピューター読み取り可能なメモリーデバイスに格納することができる。方法はまた、複数のコンピューター装置によって分散コンピューティング環境で実施することができる。さらに、本明細書で説明する機能は、プラットフォームに依存せず、さまざまなプロセッサーを有するさまざまなコンピューティングプラットフォーム上で実施することができる。
[0044]図6は、再生品質が向上したメディアコンテンツの例示的な方法600を示し、メディアコンテンツ再生システムを参照して説明される。方法のブロックが記述される順序は、限定的なものとして解釈されることを意図されておらず、任意の数の記載される方法ブロックは、ある方法又は代替的な方法を実施するために任意の順序で組み合わせることができる。
[0045]ブロック602において、メディア資産の非線形の再生を引き起こすコンテンツナビゲーション入力がいつ受信されるかを予測する。たとえば、メディアコンテンツ再生システム102の負荷アルゴリズム148は、視聴者によって開始されたときにコンテンツナビゲーション入力がいつ受信されるかについての可能性を予測又は決定する。一例では、負荷アルゴリズム148は、特定の視聴者が、動画を見ながら、通常、コマーシャルを飛ばすときに、メディア資産におけるジャンプ前進を受信する可能性を決定する。他の例では、メディア資産中でのジャンプ前進、メディア資産の早送り前進、又はメディア資産の再生を停止して異なるメディア資産の再生を開始するための変更などの、任意の種類のコンテンツナビゲーション入力を受信することができる。
[0046]ブロック604において、メディア資産の各セグメントについて、予測されたコンテンツナビゲーション入力に基づいて、各セグメントがいつ再生されるかを推定する。たとえば、負荷アルゴリズム148は、メディア資産の各セグメントについて、コンテンツナビゲーション入力の受信の予測に基づいて、各セグメントがいつ再生されるかを推定する。
[0047]ブロック606において、各セグメントがいつ再生されるかについての推定に基づいて、ダウンロードして格納するメディア資産の次のセグメントが決定される。たとえば、負荷アルゴリズム148は、各セグメントがいつ再生されるかについての推定に基づいて、ダウンロードして格納するべきメディア資産の次のセグメントを決定する。負荷アルゴリズムはまた、メディア資産のセグメントの映像の複雑さを考慮して、一貫したメディア再生品質を提供する確率を最適化するために、次にメディア資産のどのセグメントをダウンロードするかを決定するために、利用可能なネットワーク帯域幅を予測する。
[0048]ブロック608において、メディア資産の次のセグメントが、1つ又は複数のメディアコンテンツソースからダウンロードされる。たとえば、メディアコンテンツ再生システム102におけるデータロードマネージャー140は、様々なメディアコンテンツソース108のいずれかから、メディア資産の次のセグメントをダウンロードする。
[0049]ブロック610において、メモリーデバイスにおいて、メディア資産のセグメントは、セグメントがダウンロードされるときにメディア資産の少なくとも一部に関連する非連続データとして格納される。たとえば、メディアコンテンツ再生システム102における記憶媒体142は、セグメント146は、複数の様々なメディア資産のセグメント146を格納し、セグメントは、様々なメディア資産の少なくとも一部に関連する非連続データとして格納される。たとえば、図2に示すメディア・資産セグメントは、すべて異なるメディア資産に関連付けることができ、すべて同じメディア資産に関連付けることができ、及び/又はそれらのいくつかの組み合わせであってもよい。
[0050]ブロック612において、再生のためにメディア資産の表示品質を向上させるため、記憶装置に格納されたメディア資産のセグメントを上書きする。たとえば、データロードマネージャー140の負荷アルゴリズム148は、再生のためにメディア資産の表示品質を向上させるために上書きすることができる、記憶媒体142によって格納されるメディア資産のセグメント146を決定する。格納されたセグメントは、メディア資産の表示品質を向上させるために、より高品質のバージョンのセグメントで上書きされる。
[0051]ブロック614において、再生される可能性の低いメディア資産のセグメントがメモリーデバイスから削除される。たとえば、負荷アルゴリズム148は、再生される可能性の低いセグメントなどの、メディア資産のセグメント146のうちのどれを記憶媒体142から削除すべきかを決定する。例えば、視聴者は、メディア資産を見ながらジャンプ前進をするためのコンテンツナビゲーション入力を開始していてもよく、飛ばされたメディア資産のセグメントが記憶媒体から削除するために識別されてもよい。データロードマネージャー140は、記憶媒体から使用されていないセグメントを削除してもよい。
[0052]図7は、再生品質が改善されたメディアコンテンツの例示的な方法700を示しており、負荷アルゴリズムを参照して説明される。方法のブロックが記述される順序は、限定的なものとして解釈されることを意図されておらず、任意の数の記載される方法ブロックは、ある方法又は代替的な方法を実施するために任意の順序で組み合わせることができる。さらに、方法700を参照して説明される方法のブロックの任意の1つ又は組み合わせは、方法500を参照して説明した方法のブロックの任意の1つ又は組み合わせと組み合わせることができる。
[0053]ブロック702において、メディア資産の各セグメントについて負荷モデルを生成し、負荷モデルは、ダウンロードするべき次の最善のセグメントを決定するためにセグメントの各々をランク付けするための改善値を含む。たとえば、メディアコンテンツ再生システム102におけるデータロードマネージャー140の負荷アルゴリズム148は、メディア資産の各セグメントの負荷モデルを生成し、負荷モデルは、ダウンロードするべき次の最善のセグメントを決定するためにセグメントの各々をランク付けするための改善値を含む。
[0054]ブロック704において、メディア資産の各セグメントの目標の再生品質に基づいて、ダウンロードするべきメディア資産の次のセグメントを決定する。たとえば、負荷アルゴリズム148は、メディア資産の各セグメントの目標の再生品質に基づいて、ダウンロードするべきメディア資産の次のセグメントを決定する。ブロック706において、セグメントの目標の再生品質を向上させるためにメモリー装置に予めロードするべきメディア資産のセグメントが決定される。たとえば、負荷アルゴリズム148は、メディア資産の各セグメントについて生成される負荷モデルに基づいて、予めロードするメディア資産のセグメントを決定する。
[0055]ブロック708において、帯域幅の制約を受けるメディア資産のセグメントがダウンロードされる。たとえば、メディアコンテンツ再生システム102におけるデータロードマネージャー140は、帯域幅の制約を受ける様々なメディア資産のセグメント146をダウンロードする。帯域幅の制約を受け得るメディア資産のセグメントは、メディア資産の最初のセグメント、又はダウンロードするべき資源集約的なメディア資産のセグメントを含む。
[0056]図8は、再生品質が向上したメディアコンテンツの実施例を実施するための、前に図1−6を参照して説明したような、任意の種類のメディアコンテンツ再生システム及び/又はコンピューティング装置として実施することができる、例示的なデバイス800の様々なコンポーネントを示す。実施例において、デバイス800は、有線及び/又は無線装置の任意の1つ又は組み合わせとして、任意の形式のテレビクライアント装置(例えば、テレビセットトップボックス、デジタルビデオレコーダー(DVR)など)、消費者装置、コンピューター装置、サーバー装置、携帯コンピューターデバイス、ユーザー装置、通信装置、動画処理及び/又はレンダリングデバイス、電化製品、ゲーム機、電子デバイス、及び/又は他の任意のタイプのデバイスとして、実施することができる。デバイス800はまた、ユーザー、ソフトウェア、ファームウェア、及び/又はデバイスの組み合わせを含む論理デバイスをデバイスが説明するように、デバイスを操作するユーザー(つまり、人)及び/又はエンティティに関連付けることができる。
[0057]デバイス800は、デバイスのデータ804(例えば、受信されるデータ、受信されているデータ、放送を予定されるデータ、データのデータパケットなど)の有線及び/又は無線通信を可能にする通信装置802を含む。デバイスデータ804又は他のデバイスコンテンツは、デバイスのコンフィギュレーション設定、デバイスに格納されるメディアコンテンツ、及び/又はデバイスのユーザーに関連付けられた情報を含んでもよい。装置800に格納されるメディアコンテンツは、任意の種類の音声、動画、及び/又は画像データを含んでもよい。デバイス800は1つ又は複数のデータ入力806を含み、それを介して、ユーザーが選択可能な入力、メッセージ、音楽、テレビメディアコンテンツ、記録された動画コンテンツ、並びに任意のコンテンツソース及び/又はデータソースから受信される任意の他の種類の音声、動画、及び/又は画像データなどの、任意の種類のデータ、メディアコンテンツ、及び/又は入力を受信することができる。
[0058]デバイス800はまた、シリアル及び/又はパラレルインターフェース、無線インターフェース、任意の種類のネットワークインターフェース、モデムの任意の1つ又は複数として、任意の他の種類の通信インターフェースとして、実施することができる、通信インターフェース808を含む。通信インターフェース808は、デバイス800と、他の電子デバイス、コンピューティングデバイス及び通信デバイスがデバイス800とデータを通信する通信ネットワークとの間の、接続及び/又は通信リンクを提供する。
[0059]デバイス800は、デバイス800の動作を制御し、再生品質が向上したメディアコンテンツの実施例を実現する、様々なコンピューター実行可能命令を処理する、1つ又は複数のプロセッサー810(例えば、任意のマイクロプロセッサー、コントローラーなど)を含む。代替的に又はさらに、デバイス800は、一般的に812において識別される、処理回路及び制御回路と接続して実施されるハードウェア、ファームウェア又は固定論理回路の任意の1つ又は組み合わせで実施することができる。図示していないが、デバイス800は、デバイス内のさまざまなコンポーネントを結合するシステムバスやデータ転送システムを含んでもよい。システムバスは、メモリーバスもしくはメモリーコントローラー、周辺バス、ユニバーサルシリアル・バス、及び/又は様々なバスアーキテクチャーの任意のものを利用するプロセッサーもしくはローカルバスなどの、異なるバス構造のうちの任意の1つ又は組み合わせを含んでもよい。
[0060]デバイス800はまた、1つ又は複数のメモリーコンポーネントなどのコンピューター読み取り可能な記憶媒体814を含み、その例は、ランダムアクセスメモリー(RAM)、不揮発性メモリー(例えば、読み取り専用メモリー(ROM)、フラッシュメモリー、EPROM、EEPROMなどのうちの任意の1つ又は複数)、及びディスクストレージデバイスを含む。ディスクストレージデバイスは、ハードディスクドライブ、記録可能及び/又は書き換え可能なコンパクトディスク(CD)、任意の種類のデジタルバーサタイルディスク(DVD)などの任意の種類の磁気又は光学記憶装置として実施することができる。デバイス800はまた、大容量記憶媒体装置816を含んでもよい。
[0061]コンピューター読み取り可能な記憶媒体814は、デバイスデータ804のほか、様々なデバイスアプリケーション818、デバイス800の動作状況(operational aspects)に関連する任意の他の種類の情報及び/又はデータを格納するためのデータストレージ機構を提供する。たとえば、オペレーティングシステム820は、コンピューター読み取り可能な記憶媒体814によりコンピューターアプリケーションとして保持されて、プロセッサー810上で実行されてもよい。デバイスアプリケーション818は、デバイスマネージャー(例えば、制御アプリケーション、ソフトウェアアプリケーション、信号処理及び制御モジュール、特定のデバイスに固有のコード、特定のデバイスのハードウェア抽象化レイヤーなど)を含んでもよい。
[0062]デバイスアプリケーション818はまた、再生品質が改善されたメディアコンテンツの実施例を実装する任意のシステムコンポーネント又はモジュールを含む。この例では、デバイスアプリケーション818は、デバイス800がメディアコンテンツ再生装置又はシステムとして実施される場合などに、データロードマネージャー822及び負荷アルゴリズム824を含んでもよい。データロードマネージャー822及び負荷アルゴリズム824は、ソフトウェアモジュール及び/又はコンピューターアプリケーションとして示される。代わりに又はそれに加えて、データロードマネージャー822及び負荷アルゴリズム824は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせとして実施することができる。
[0063]デバイス800はまた、音声データを生成して音声システム828に提供し、及び/又は表示データを生成して表示システム830に提供する音声及び/又は動画レンダリングシステム826を含む。音声システム828及び/又は表示システム830は、音声データ、表示データ、画像データを処理し、表示し、及び/又はそうでなければレンダリングする、任意のデバイスを含み得る。表示データ及び音声信号は、RF(無線周波数)リンク、S−ビデオリンク、コンポジットビデオリンク、コンポーネントビデオリンク、DVI(デジタルビデオインターフェース)、アナログ音声接続、又は他の同様の通信リンクを介して、デバイス800から音声デバイス及び/又は表示デバイスに通信することができる。実施例において、音声システム828及び/又は表示システム830は、デバイス800の外部コンポーネントとして実施される。代替的に、音声システム828及び/又は表示システム830は、例示的なデバイス800の統合されたコンポーネントとして実施される。
[0064]再生品質が改善されたメディアコンテンツの実施例が、特徴及び/又は方法に特有の言葉で記載されたが、添付の特許請求の範囲の主題は記載された特定の特徴又は方法に必ずしも限定されないことが理解されるべきである。そのようなものではなく、特定の特徴及び方法は、再生品質が改善されたメディアコンテンツの実施例として開示されている。