ネットワークコネクティビティの喪失の前に、メディアアセットを効率的かつ迅速にダウンロードするために、方法およびシステムが要求され得る。例えば、メディアガイドアプリケーションは、ユーザが5分以内に飛行機に搭乗しなければならないことを判定し、映画をダウンロードするユーザ要求を受信してもよい。メディアガイドアプリケーションは、セグメントで映画をダウンロードしてもよく、セグメントの75%は、HD品質よりも速くダウンロードするSD品質でダウンロードされ、セグメントの残りの25%は、HD品質でダウンロードされる。これは、ユーザが飛行機に搭乗してネットワークコネクティビティを失う前に、ダウンロードが完了されることを可能にし得る。
図1は、本開示の実施形態を組み込む、ダウンロードのために利用可能なメディアアセットを示す、例証的メディアガイドアプリケーション画面100である。画面100は、簡単にするために3つだけのメディアアセットを描写するが、任意の数のメディアアセットが、本開示内の実施形態によると、ダウンロードのために利用可能であるものとして表示されてもよい。画面100は、ユーザテレビ機器602、ユーザコンピュータ機器604、および無線ユーザ通信デバイス606のうちのいずれかの上で表示されてもよい。
画面100は、ダウンロードのために利用可能なメディアアセットを示してもよい。メディアアセットがダウンロードされていないので、それらは、通信ネットワーク614が利用可能である間に視聴するためのみに利用可能であり得る。いったんメディアアセットがダウンロードされると、それらは、たとえ通信ネットワーク614が利用可能ではなくても視聴するために利用可能であり得る。例えば、メディアアセットは、それらがダウンロードされていない間に視聴されるように、ケーブルテレビネットワークまたはインターネットへのアクセスを要求し得る。
画面100は、ダウンロードのために利用可能である、多くの異なるタイプのメディアアセットのためのアイコンを示してもよい。メディアガイドアプリケーションは、ディスプレイ512上で制御回路504を使用して画面100を表示するために生成してもよい。例えば、映画A102、テレビ番組B104、および歌C106は、ダウンロードのために利用可能であり、それらの個別のアイコンによって表されてもよい。映画A102、テレビ番組B104、および歌C106のためのアイコンは、任意の形状またはサイズであってもよく、テキスト、画像、およびオーディオの任意の組み合わせを含んでもよい。いくつかの実施形態では、映画A102、テレビ番組B104、および歌C106は、セットトップボックス等のユーザデバイスによってダウンロードされたメディアアセットである。メディアアセットは、タブレット等の別の接続されたユーザデバイス上にダウンロードするために利用可能であり得る。いくつかの実施形態では、映画A102、テレビ番組B104、および歌C106は、ビデオオンデマンドメディアアセットである、メディアアセットである。メディアアセットは、ダウンロード後に視聴されるように、任意のユーザデバイス上にダウンロードするために利用可能であり得る。
映画A102、テレビ番組B104、および歌C106は、ユーザ入力インターフェース510を通してユーザによって選択可能であり得る。メディアガイドアプリケーションは、任意の数のメディアアセットがユーザによって選択されることを可能にし得る。
インジケータ108は、画面100を表示するユーザデバイスの識別子または名称を含んでもよい。メディアガイドアプリケーションは、通信ネットワーク614を使用して、インジケータ108によって識別されるユーザデバイスを他のユーザデバイスに接続してもよい。例えば、タブレットが、インターネットを使用してセットトップボックスに接続されてもよい。インジケータ108は、テキスト、画像、およびオーディオの任意の組み合わせを含んでもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザが両方をダウンロードすることを所望することを示す、映画A102およびテレビ番組B104の両方の選択を受信してもよい。メディアガイドアプリケーションは、現在のデバイスがタブレットであることを判定し、タブレットがテレビ番組よりも頻繁に映画を視聴するために使用されているという情報を記憶回路508から読み出してもよい。記憶回路508内の情報は、異なるタイプのユーザデバイス上で異なるタイプのメディアを視聴する頻度を列挙してもよい。読み出された情報に基づいて、メディアガイドアプリケーションは、テレビ番組B104の前にダウンロードするために映画A102を予定に入れてもよい。本ダウンロード順序は、記憶回路508を使用して記憶されてもよい。
図2は、本開示の実施形態を組み込む、ダウンロードされたメディアアセットを示す、例証的メディアガイドアプリケーション画面200である。メディアガイドアプリケーションは、いったん画面100に示されるメディアアセットが完全または部分的にダウンロードされると、画面200を表示するために生成してもよい。メディアガイドアプリケーションは、ユーザ入力インターフェース510を通して、画面200を表示するために生成する前にメディアアセットがダウンロードされるべきであるというユーザ入力を受信してもよい。
メディアガイドアプリケーションは、映画A102、テレビ番組B104、および歌C106のための表示するために生成されたアイコンと同様に、映画A202、テレビ番組B204、および歌C206のためのアイコンを表示するために生成してもよい。メディアガイドアプリケーションは、インジケータ108と同様にインジケータ208を表示するために生成してもよい。
メディアガイドアプリケーションはまた、各メディアアセットのためのアイコンの上に、アイコン210のような部分的に透明または不透明なアイコンを表示するために生成してもよい。アイコン210は、映画A202のどの部分がダウンロードされたかを示してもよい。アイコン210はまた、どのバージョンで映画A202がダウンロードされたかを示してもよい。本明細書で参照されるように、「バージョン」は、ビデオ品質(HD、SD、および4K品質等)、音質(モノまたはステレオ音響等)、またはメディアアセットの長さ(拡張版の長さまたはディレクターズカットの長さ等)を指し得る。
メディアガイドアプリケーションは、アイコン210によって示される情報を表すために、アイコン212−222のうちのいずれかを使用してもよい。アイコン212−222は、例示的アイコンとして示され、任意の他のアイコンが、本開示の実施形態に従って使用されてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、ユーザ入力に基づいて、アイコン212−222のうちのいずれを表示するかを選定する。いくつかの実施形態では、メディアガイドアプリケーションは、メディアアセットのタイプに基づいて、アイコン212−222のうちのいずれを表示するかを選定する。例えば、アイコン212は、テレビ番組B204等のテレビ番組のために表示されてもよく、アイコン234は、歌C206等の歌のために表示されてもよい。いくつかの実施形態では、アイコン212、214、および216が、複数のバージョンでダウンロードされたメディアアセットに使用される一方で、アイコン218、220、および222は、単一のバージョンのみでダウンロードされたメディアアセットに使用される。
例えば、メディアガイドアプリケーションは、メディアアセットのどの部分がHD品質等の第1のバージョンでダウンロードされたか、どの部分がSD品質等の第2のバージョンでダウンロードされたかを示すために、アイコン212を使用してもよい。アイコン212は、円グラフに類似し得る。アイコン212内の円グラフの部分212aは、メディアアセットのどの部分がHD品質でダウンロードされたかを示してもよい一方で、部分212bは、メディアアセットのどの部分がSD品質でダウンロードされたかを示してもよい。例えば、映画A202の25%がHD品質でダウンロードされた場合、部分212aは、アイコン212内の円グラフの面積の4分の1を備えてもよい。同様に、映画A202の75%がSD品質でダウンロードされた場合、部分212bは、アイコン212内の円グラフの面積の4分の3を備えてもよい。各部分は、その独自の色および/またはパターンと関連付けられてもよい。メディアアセットのどの部分が4K品質または他のバージョンでダウンロードされたかを示すように、付加的部分が、アイコン212内の円グラフに追加されてもよい。アイコン218もまた、円グラフであってもよく、メディアアセットのどの部分が第1のバージョンでロードされたかを示してもよい。例えば、映画A202の75%がSD品質でダウンロードされ、残りのダウンロードが不完全である場合、アイコン218内の円グラフは、4分3埋められてもよい。
同様に、メディアガイドアプリケーションは、メディアアセットのどの部分が第1のバージョンでダウンロードされたか、どの部分が第2のバージョンでダウンロードされたかを示すために、アイコン214を使用してもよい。アイコン214は、個別の部分を表すために、同心円の半径の長さを使用してもよい。円214aの半径の長さは、メディアアセットのどの部分がHD品質でダウンロードされたかを示してもよい一方で、円214bの半径の長さは、メディアアセットのどの部分がSD品質でダウンロードされたかを示してもよい。例えば、アイコン214の300ピクセルの半径は、完全なダウンロードを示してもよい。映画A202の3分の2がSD品質でダウンロードされた場合、円214bの半径は、200ピクセルであってもよい。映画A202の3分の1がHD品質でダウンロードされた場合、円214aの半径は、100ピクセルであってもよい。故に、同心円214aおよび214bの半径の比は、第1および第2のバージョンでダウンロードされた映画の部分の比に比例する。各同心円は、その独自の色および/またはパターンと関連付けられてもよい。メディアアセットのどの部分が4K品質でダウンロードされたかを示すように、付加的円が、アイコン214に追加されてもよい。アイコン220は、類似し得、アイコン220内の円の半径の長さは、メディアアセットのどの部分が第1のバージョンでダウンロードされたかを示してもよい。例えば、アイコン220の300ピクセルの半径は、完全なダウンロードを示してもよい。映画A202の半分がSD品質でダウンロードされ、残りのダウンロードが保留中である場合、アイコン220内の円の半径は、150ピクセルであってもよい。
同様に、メディアガイドアプリケーションは、メディアアセットのどの部分が第1のバージョンでダウンロードされたか、どの部分が第2のバージョンでダウンロードされたかを示すために、アイコン216を使用してもよい。アイコン214は、個別の部分を表すために、中空同心円の埋められている円周の長さを使用してもよい。中空同心円216aの埋められている円周の長さは、メディアアセットのどの部分がHD品質でダウンロードされたかを示してもよい一方で、中空同心円216bの埋められている円周の長さは、メディアアセットのどの部分がSD品質でダウンロードされたかを示してもよい。埋められた円周長は、空白円周長よりも厚く、および/または異なる色であってもよい。例えば、中空同心円216aの完全に埋められた円周は、映画A202全体がHD品質でダウンロードされたことを示してもよい。同様に、中空同心円216bの完全に埋められた円周は、映画A202全体がSD品質でダウンロードされたことを示してもよい。映画A202の3分の2がSD品質でダウンロードされた場合、中空同心円216aの円周の3分の2が埋められてもよい。映画A202の3分の1がHD品質でダウンロードされた場合、中空同心円216bの円周の3分の1が埋められてもよい。故に、各中空同心円216aおよび216bの空白円周の長さに対する埋められた円周の長さの比は、第1および第2のバージョンでダウンロードされた映画の部分の比に比例する。各中空同心円の埋められたおよび空白円周長は、それらの独自の色および/またはパターンと関連付けられてもよい。メディアアセットのどの部分が4K品質でダウンロードされたかを示すように、付加的円が、アイコン216に追加されてもよい。アイコン222は、円の埋められている円周の長さを使用して、メディアアセットのどの部分が第1のバージョンでダウンロードされたかを示してもよい。
いくつかの実施形態では、アイコン210は、メディアアセットダウンロードが起こっている間、動画化されてもよい。例えば、映画A202が現在ダウンロードされている場合、メディアガイドアプリケーションは、回転、点滅、または別様の動画化されたアイコン210を表示するために生成してもよい。各アイコンの部分は、別個に動画化されてもよい。例えば、メディアガイドアプリケーションは、点滅等の第1のアニメーションをアイコン212の部分212aに、輝き等の第2のアニメーションをアイコン212の部分212bに適用してもよい。いくつかの実施形態では、アイコン210は、ダウンロードが起こっていないとき、静止してもよい。例えば、メディアガイドアプリケーションが通信ネットワーク614へのアクセスを失い、映画A202が現在ダウンロードされていない場合、メディアガイドアプリケーションは、静止した非動画アイコン210を表示するために生成してもよい。
任意の所与のコンテンツ配信システムでユーザに利用可能なコンテンツの量は、膨大であり得る。その結果、多くのユーザは、ユーザがコンテンツの選択を効率的にナビゲートし、所望し得るコンテンツを容易に識別することを可能にする、インターフェースを通したメディアガイドの形態を所望している。そのようなガイドを提供するアプリケーションは、本明細書では、双方向メディアガイドアプリケーションと称されるが、メディアガイドアプリケーションまたはガイドアプリケーションと称されることもある。
双方向メディアガイドアプリケーションは、ガイドを提供するコンテンツに応じて、種々の形態をとってもよい。1つの典型的なタイプのメディアガイドアプリケーションは、双方向テレビ番組ガイドである。双方向テレビ番組ガイド(電子番組ガイドと称される場合もある)は、とりわけ、ユーザが、多くのタイプのコンテンツまたはメディアアセット間をナビゲートし、それを特定することを可能にする、周知のガイドアプリケーションである。双方向メディアガイドアプリケーションは、ユーザが、コンテンツ間をナビゲートし、それを特定および選択することを可能にする、グラフィカルユーザインターフェース画面を生成してもよい。本明細書で参照されるように、用語「メディアアセット」および「コンテンツ」は、テレビ番組、および有料番組、オンデマンド番組(ビデオオンデマンド(VOD)システムにおけるような)、インターネットコンテンツ(例えば、ストリーミングコンテンツ、ダウンロード可能コンテンツ、ウェブキャスト等)、ビデオクリップ、オーディオ、コンテンツ情報、写真、回転画像、ドキュメント、再生一覧、ウェブサイト、記事、書籍、電子書籍、ブログ、チャットセッション、ソーシャルメディア、アプリケーション、ゲーム、および/または任意の他のメディアまたはマルチメディア、および/またはそれらの組み合わせ等の電子的に消費可能なユーザアセットを意味すると理解されたい。ガイドアプリケーションはまた、ユーザが、コンテンツ間をナビゲートし、それを特定することを可能にする。本明細書で参照されるように、用語「マルチメディア」は、上記で説明される少なくとも2つの異なるコンテンツ形態、例えば、テキスト、オーディオ、画像、ビデオ、または双方向コンテンツ形態を利用する、コンテンツを意味すると理解されたい。コンテンツは、ユーザ機器デバイスによって、録画、再生、表示、またはアクセスされてもよいが、また、ライブパーフォーマンスの一部であることもできる。
本明細書で議論される実施形態のいずれかを行うためのメディアガイドアプリケーションおよび/または任意の命令は、コンピュータ可読媒体上に符号化されてもよい。コンピュータ可読媒体は、データを記憶することが可能な任意のメディアを含む。コンピュータ可読媒体は、限定ではないが、電気または電磁信号の伝搬を含む、一過性であり得る、または限定ではないが、ハードディスク、フロッピー(登録商標)ディスク、USBドライブ、DVD、CD、メディアカード、レジスタメモリ、プロセッサキャッシュ、ランダムアクセスメモリ(「RAM」)等の揮発性および不揮発性コンピュータメモリまたは記憶デバイスを含む、非一過性であり得る。
インターネット、モバイルコンピューティング、および高速無線ネットワークの出現に伴って、ユーザは、従来は使用しなかったユーザ機器デバイス上でメディアにアクセスするようになっている。本明細書で参照されるように、語句「ユーザ機器デバイス」、「ユーザ機器」、「ユーザデバイス」、「電子デバイス」、「電子機器」、「メディア機器デバイス」、または「メディアデバイス」は、テレビ、スマートTV、セットトップボックス、衛星テレビに対応するための統合型受信機デコーダ(IRD)、デジタル記憶デバイス、デジタルメディア受信機(DMR)、デジタルメディアアダプタ(DMA)、ストリーミングメディアデバイス、DVDプレーヤ、DVDレコーダ、接続型DVD、ローカルメディアサーバ、BLU−RAY(登録商標)プレーヤ、BLU−RAY(登録商標)レコーダ、パーソナルコンピュータ(PC)、ラップトップコンピュータ、タブレットコンピュータ、ウェブTVボックス、パーソナルコンピュータテレビ(PC/TV)、PCメディアサーバ、PCメディアセンター、ハンドヘルドコンピュータ、固定電話、携帯情報端末(PDA)、携帯電話、携帯用ビデオプレーヤ、携帯用音楽プレーヤ、携帯用ゲーム機、スマートフォン、または任意の他のテレビ機器、コンピューティング機器、または無線デバイス、および/またはそれらの組み合わせ等の上記で説明されるコンテンツにアクセスするための任意のデバイスを意味すると理解されたい。いくつかの実施形態では、ユーザ機器デバイスは、正面画面および裏面画面、複数の正面画面、または複数の角度付き画面を有してもよい。いくつかの実施形態では、ユーザ機器デバイスは、正面カメラおよび/または背面カメラを有してもよい。これらのユーザ機器デバイス上で、ユーザは、テレビを通して利用可能な同一のコンテンツ間をナビゲートし、それを特定することが可能であり得る。その結果として、メディアガイドは、これらのデバイス上でも利用可能であり得る。提供されるガイドは、テレビのみを通して利用可能なコンテンツ、他のタイプのユーザ機器デバイスのうちの1つまたはそれを上回るもののみを通して利用可能なコンテンツ、またはテレビおよび他のタイプのユーザ機器デバイスのうちの1つまたはそれを上回るものの両方を通して利用可能なコンテンツのためのものであってもよい。メディアガイドアプリケーションは、オンラインアプリケーションとして(すなわち、ウェブサイト上で提供される)、またはユーザ機器デバイス上の独立型アプリケーションまたはクライアントとして提供されてもよい。メディアガイドアプリケーションを実装し得る、種々のデバイスおよびプラットフォームは、以下でさらに詳細に説明される。
メディアガイドアプリケーションの機能のうちの1つは、メディアガイドデータをユーザに提供することである。本明細書で参照されるように、語句「メディアガイドデータ」または「ガイドデータ」は、コンテンツに関連する任意のデータまたはガイドアプリケーションを動作させる際に使用されるデータを意味すると理解されたい。例えば、ガイドデータは、番組情報、ガイドアプリケーション設定、ユーザ選好、ユーザプロファイル情報、メディア一覧、メディア関連情報(例えば、放送時間、放送チャンネル、タイトル、内容、評価情報(例えば、ペアレンタルコントロール評価、批評家の評価等)、ジャンルまたはカテゴリ情報、俳優情報、放送会社またはプロバイダのロゴのロゴデータ等、メディア形式(例えば、標準解像度、高解像度、3D等)、オンデマンド情報、ブログ、ウェブサイト、およびユーザが所望のコンテンツ選択間をナビゲートし、それを特定するために役立つ、任意の他のタイプのガイドデータを含んでもよい。
図3−4は、メディアガイドデータを提供するために使用され得る、例証的表示画面を示す。図3−4に示される表示画面は、任意の好適なユーザ機器デバイスまたはプラットフォーム上に実装されてもよい。図3−4の表示は、フル画面表示として図示されているが、それらはまた、表示されているコンテンツ上に完全または部分的にオーバーレイされてもよい。ユーザは、表示画面に提供された選択可能なオプション(例えば、メニューオプション、一覧オプション、アイコン、ハイパーリンク等)を選択することによって、またはリモートコントロールまたは他のユーザ入力インターフェースまたはデバイス上の専用ボタン(例えば、「ガイド」ボタン)を押下することによって、コンテンツ情報にアクセスする所望を示してもよい。ユーザのインジケーションに応答して、メディアガイドアプリケーションは、グリッド内の時間およびチャンネル別、時間別、チャンネル別、ソース別、コンテンツタイプ別、カテゴリ別(例えば、映画、スポーツ、ニュース、子供向け、または他の番組カテゴリ)、または他の所定、ユーザ定義、または他の編成基準等のいくつかの方法のうちの1つにおいて編成されたメディアガイドデータを伴う表示画面を提供してもよい。
図3は、単一表示内の異なるタイプのコンテンツへのアクセスも可能にする、時間およびチャンネル別に配列された番組一覧表示300の例証的グリッドを示す。表示300は、(1)各チャンネル/コンテンツタイプ識別子(列内のセル)が利用可能な異なるチャンネルまたはコンテンツのタイプを識別する、チャンネル/コンテンツタイプ識別子304の列、および(2)各時間識別子(行内のセル)が番組の時間帯を識別する、時間識別子306の行を伴う、グリッド302を含んでもよい。グリッド302はまた、番組一覧308等の番組一覧のセルも含み、各一覧は、一覧の関連チャンネルおよび時間の上に提供される、番組のタイトルを提供する。ユーザ入力デバイスを用いて、ユーザは、ハイライト領域310を移動させることによって番組一覧を選択することができる。ハイライト領域310によって選択される番組一覧に関する情報が、番組情報領域312内に提供されてもよい。領域312は、例えば、番組タイトル、番組内容、番組が提供される時間(該当する場合)、番組が放送されるチャンネル(該当する場合)、番組の評価、および他の所望の情報を含んでもよい。
線形番組(例えば、所定の時間に複数のユーザ機器デバイスに伝送されるようにスケジュールされ、スケジュールに従って提供される、コンテンツ)へのアクセスの提供に加え、メディアガイドアプリケーションはまた、非線形番組(例えば、任意の時間においてユーザ機器デバイスにアクセス可能であって、スケジュールに従って提供されない、コンテンツ)へのアクセスも提供する。非線形番組は、オンデマンドコンテンツ(例えば、VOD)、インターネットコンテンツ(例えば、ストリーミングメディア、ダウンロード可能メディア等)、ローカルに記憶したコンテンツ(例えば、上記で説明される任意のユーザ機器デバイスまたは他の記憶デバイス上に記憶されたコンテンツ)、または時間的制約のない他のコンテンツを含む、異なるコンテンツソースからのコンテンツを含んでもよい。オンデマンドコンテンツは、映画または特定のコンテンツプロバイダ(例えば、「The Sopranos」や「Curb Your Enthusiasm」を提供するHBO ON DEMAND)によって提供される任意の他のコンテンツを含んでもよい。HBO ON DEMANDは、Time Warner Company L.P.らによって所有されるサービスマークであり、THE SOPRANOSおよびCURB YOURE NTHUSIASMは、Home Box Office, Inc.によって所有される商標である。インターネットコンテンツは、チャットセッションまたはウェブキャスト等のウェブイベント、またはインターネットウェブサイトまたは他のインターネットアクセス(例えば、FTP)を通して、ストリーミングコンテンツまたはダウンロード可能なコンテンツとしてオンデマンドで利用可能なコンテンツを含んでもよい。
グリッド302は、オンデマンド一覧314、録画コンテンツ一覧316、およびインターネットコンテンツ一覧318を含む、非線形番組のメディアガイドデータを提供してもよい。異なるタイプのコンテンツソースからのコンテンツのためのメディアガイドデータを組み合わせる表示は、「混合メディア」表示と称されることもある。表示300とは異なる、表示され得るメディアガイドデータのタイプの種々の順列は、ユーザ選択またはガイドアプリケーション定義に基づいてもよい(例えば、録画および放送一覧のみの表示、オンデマンドおよび放送一覧のみの表示等)。例証されるように、一覧314、316、および318は、これらの一覧の選択が、それぞれ、オンデマンド一覧、録画一覧、またはインターネット一覧専用の表示へのアクセスを提供し得ることを示すように、グリッド302内に表示される時間帯全体に及ぶものとして示されている。いくつかの実施形態では、これらのコンテンツタイプの一覧は、グリッド302に直接含まれてもよい。ユーザがナビゲーションアイコン320のうちの1つを選択することに応答して、付加的メディアガイドデータが表示されてもよい(ユーザ入力デバイス上の矢印キーを押下することによって、ナビゲーションアイコン320を選択することと同様に表示に影響を及ぼしてもよい)。
表示300はまた、ビデオ領域322およびオプション領域326を含んでもよい。ビデオ領域322は、ユーザが、現在利用可能である、今後利用可能となる、またはユーザに利用可能であった番組を視聴および/またはプレビューすることを可能にしてもよい。ビデオ領域322のコンテンツは、グリッド302に表示される一覧のうちの1つに対応するか、またはそれから独立してもよい。ビデオ領域を含むグリッド表示は、ピクチャインガイド(PIG)表示と称されることもある。PIG表示およびそれらの機能は、全体として参照することによって本明細書に組み込まれる、2003年5月13日発行のSatterfieldらの米国特許第6,564,378号、および2001年5月29日発行のYuenらの米国特許第6,239,794号でさらに詳細に説明されている。PIG表示は、本明細書に説明される実施形態の他のメディアガイドアプリケーション表示画面に含まれてもよい。
オプション領域326は、ユーザが、異なるタイプのコンテンツ、メディアガイドアプリケーション表示、および/またはメディアガイドアプリケーション特徴にアクセスすることを可能にしてもよい。オプション領域326は、表示300(および本明細書に説明される他の表示画面)の一部であってもよい、または画面上のオプションを選択すること、またはユーザ入力デバイス上の専用または割当可能ボタンを押下することによって、ユーザによって呼び出されてもよい。オプション領域326内の選択可能オプションは、グリッド302内の番組一覧に関連する特徴に関してもよい、またはメインメニュー表示から利用可能なオプションを含んでもよい。番組一覧に関連する特徴は、他の放送時間または番組の受信方法の検索、番組の録画、番組の連続録画の有効化、番組および/またはチャンネルをお気に入りとして設定、番組の購入、または他の特徴を含んでもよい。メインメニュー表示から利用可能なオプションは、検索オプション、VODオプション、ペアレンタルコントロールオプション、インターネットオプション、クラウドベースのオプション、デバイス同期オプション、第2の画面デバイスオプション、種々のタイプのメディアガイドデータ表示にアクセスするためのオプション、プレミアムサービスを購読するためのオプション、ユーザのプロファイルを編集するためのオプション、ブラウザオーバーレイにアクセスするためのオプション、または他のオプションを含んでもよい。
メディアガイドアプリケーションは、ユーザの選好に基づいて個人化されてもよい。個人化されたメディアガイドアプリケーションは、ユーザが、メディアガイドアプリケーションによって個人化された「体験」を生成するように、表示および特徴をカスタマイズすることを可能にする。この個人化された体験は、ユーザがこれらのカスタマイズを入力できるようにすることによって、および/または種々のユーザ選好を判定するようにメディアガイドアプリケーションがユーザアクティビティを監視することによって、生成されてもよい。ユーザは、ログインすることによって、または別様にガイドアプリケーションに対して自らを識別することによって、その個人化されたガイドアプリケーションにアクセスしてもよい。メディアガイドアプリケーションのカスタマイズは、ユーザプロファイルに従って行われてもよい。カスタマイズは、提示方式(例えば、表示の色方式、テキストのフォントサイズ等)、表示されるコンテンツ一覧の側面(例えば、HDTV番組のみまたは3D番組のみ、お気に入りチャンネル選択に基づいたユーザ指定の放送チャンネル、チャンネルの表示の並び替え、推奨コンテンツ等)、所望の録画特徴(例えば、特定のユーザに対する録画または連続録画、録画品質等)、ペアレンタルコントロール設定、インターネットコンテンツのカスタマイズされた提示(例えば、ソーシャルメディアコンテンツ、電子メール、電子的に配信された記事等の提示)、および他の所望のカスタマイズを変更させるステップを含んでもよい。
メディアガイドアプリケーションは、ユーザが、ユーザプロファイル情報を提供することを可能にしてもよい、またはユーザプロファイル情報を自動的にコンパイルしてもよい。メディアガイドアプリケーションは、例えば、ユーザがアクセスするコンテンツ、および/またはユーザがガイドアプリケーションと行い得る他の相互作用を監視してもよい。加えて、メディアガイドアプリケーションは、特定のユーザに関連する他のユーザプロファイルの全体または一部を取得し(例えば、www.allrovi.com等のユーザがアクセスするインターネット上の他のウェブサイトから、ユーザがアクセスする他のメディアガイドアプリケーションから、ユーザがアクセスする他の双方向アプリケーションから、ユーザの別のユーザ機器デバイスから等)、および/またはメディアガイドアプリケーションがアクセスし得る他のソースから、ユーザに関する情報を取得してもよい。結果として、ユーザは、ユーザの異なるユーザ機器デバイスにわたって、統一されたガイドアプリケーション体験を提供されることができる。本タイプのユーザ体験は、図6に関連して以下でさらに詳細に説明される。付加的な個人化されたメディアガイドアプリケーション特徴は、全体として参照することにより本明細書に組み込まれる、2005年7月11日出願のEllisらの米国特許出願第2005/0251827号、2007年1月16日出願のBoyerらの米国特許出願第7,165,098号、および2002年2月21日出願のEllisらの米国特許出願第2002/0174430号でさらに詳細に説明されている。
メディアガイドを提供するための別の表示配列が、図4に示されている。ビデオモザイク表示400は、コンテンツのタイプ、ジャンル、および/または他の編成基準に基づいて編成されたコンテンツ情報のための選択可能オプション402を含む。表示400では、テレビ一覧オプション404が、選択され、したがって、一覧406、408、410、および412を放送番組一覧として提供する。表示400では、一覧は、カバーアート、コンテンツからの静止画像、ビデオクリップのプレビュー、コンテンツからのライブビデオ、または一覧中のメディアガイドデータによって記述されているコンテンツをユーザに示す他のタイプのコンテンツを含む、グラフィック画像を提供してもよい。グラフィック一覧のそれぞれはまた、一覧と関連付けられたコンテンツに関するさらなる情報を提供するように、テキストを伴ってもよい。例えば、一覧408は、メディア部分414およびテキスト部分416を含む、1つを上回る部分を含んでもよい。メディア部分414および/またはテキスト部分416は、コンテンツをフル画面で視聴するように、またはメディア部分414に表示されるコンテンツに関連する情報を閲覧するように(例えば、ビデオが表示されるチャンネルの一覧を閲覧するように)、選択可能であり得る。
表示400中の一覧は、異なるサイズである(すなわち、一覧406は、一覧408、410、および412より大きい)が、所望の場合、全一覧が同一のサイズであってもよい。一覧は、コンテンツプロバイダの所望に応じて、またはユーザ選好に基づいて、ユーザの関心の程度を示すように、またはあるコンテンツを強調するように、異なるサイズであるか、またはグラフィックが強調されてもよい。コンテンツ一覧をグラフィック的に強調するための種々のシステムおよび方法は、例えば、全体として参照することにより本明細書に組み込まれる、2009年11月12日出願のYatesの米国特許出願公開第2010/0153885号で議論されている。
ユーザは、そのユーザ機器デバイスのうちの1つまたはそれを上回るものから、コンテンツおよびメディアガイドアプリケーション(および上記および下記で説明されるその表示画面)にアクセスしてもよい。図5は、例証的ユーザ機器デバイス500の汎用実施形態を示す。ユーザ機器デバイスのより具体的な実装は、図6に関連して以下で議論されている。ユーザ機器デバイス500は、入出力(以下「I/O」)パス502を介して、コンテンツおよびデータを受信してもよい。I/Oパス502は、処理回路506および記憶装置508を含む制御回路504に、コンテンツ(例えば、放送番組、オンデマンド番組、インターネットコンテンツ、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を経由して利用可能なコンテンツ、および/または他のコンテンツ)およびデータを提供してもよい。制御回路504は、I/Oパス502を使用して、コマンド、要求、および他の好適なデータを送受信するために使用されてもよい。I/Oパス502は、制御回路504(具体的には、処理回路506)を1つまたはそれを上回る通信パス(以下で説明される)に接続してもよい。I/O機能は、これらの通信パスのうちの1つまたはそれを上回るものによって提供されてもよいが、図面が複雑になり過ぎることを回避するため、図5では単一パスとして示されている。
制御回路504は、処理回路506等の任意の好適な処理回路に基づいてもよい。本明細書で参照されるように、処理回路とは、1つまたはそれを上回るマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、プログラマブル論理デバイス、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等に基づく回路を意味すると理解され、マルチコアプロセッサ(例えば、デュアルコア、クアドコア、ヘクサコア、または任意の好適な数のコア)またはスーパーコンピュータを含んでもよい。いくつかの実施形態では、処理回路は、複数の別個のプロセッサまたは処理ユニット、例えば、複数の同一のタイプの処理ユニット(例えば、2つのIntel Core i7プロセッサ)または複数の異なるプロセッサ(例えば、Intel Core i5プロセッサおよびIntel Core i7プロセッサ)にわたって分散されてもよい。いくつかの実施形態では、制御回路504は、メモリ(すなわち、記憶装置508)に記憶されたメディアガイドアプリケーションに対する命令を実行する。具体的には、制御回路504は、メディアガイドアプリケーションによって、上記および下記で議論される機能を果たすように命令されてもよい。例えば、メディアガイドアプリケーションは、制御回路504に、メディアガイド表示を生成するための命令を提供してもよい。いくつかの実装では、制御回路504によって行われるいかなるアクションも、メディアガイドアプリケーションから受信した命令に基づいてもよい。
クライアントサーバベースの実施形態では、制御回路504は、ガイドアプリケーションサーバまたは他のネットワークまたはサーバと通信するための好適な通信回路を含んでもよい。前述の機能性を実施するための命令は、ガイドアプリケーションサーバ上に記憶されてもよい。通信回路は、ケーブルモデム、総合デジタル通信網(ISDN)モデム、デジタル加入者回線(DSL)モデム、電話モデム、イーサネット(登録商標)カード、または他の機器との通信用の無線モデム、または任意の他の好適な通信回路を含んでもよい。そのような通信は、インターネットまたは任意の他の好適な通信ネットワークまたはパスを伴ってもよい(図6に関連してさらに詳細に説明される)。加えて、通信回路は、ユーザ機器デバイスのピアツーピア通信、または相互から遠隔の場所にあるユーザ機器デバイスの通信を可能にする回路を含んでもよい(以下でさらに詳細に説明される)。
メモリは、制御回路504の一部である、記憶装置508として提供される、電子記憶デバイスであってもよい。本明細書で参照されるように、語句「電子記憶デバイス」または「記憶デバイス」とは、ランダムアクセスメモリ、読取専用メモリ、ハードドライブ、光学ドライブ、デジタルビデオディスク(DVD)レコーダ、コンパクトディスク(CD)レコーダ、BLU−RAY(登録商標)ディスク(BD)レコーダ、BLU−RAY(登録商標) 3Dディスクレコーダ、デジタルビデオレコーダ(DVR(パーソナルビデオレコーダと呼ばれる場合もある)、またはPVR)、固体デバイス、量子記憶デバイス、ゲームコンソール、ゲームメディア、または任意の他の好適な固定またはリムーバブル記憶デバイス、および/または任意のそれらの組み合わせ等の電子データ、コンピュータソフトウェア、またはファームウェアを記憶するための任意のデバイスを意味すると理解されたい。記憶装置508は、本明細書に説明される種々のタイプのコンテンツ、および上記で説明されるメディアガイドデータを記憶するために使用されてもよい。不揮発性メモリもまた、(例えば、ブートアップルーチンおよび他の命令を起動するために)使用されてもよい。図6に関連して説明される、クラウドベースの記憶装置が、記憶装置508を補完するために、または記憶装置508の代わりに使用されてもよい。
制御回路504は、1つまたはそれを上回るアナログチューナ、1つまたはそれを上回るMPEG−2デコーダ、または他のデジタル復号回路、高解像度チューナ、または任意の他の好適な同調またはビデオ回路、またはそのような回路の組み合わせ等のビデオ生成回路および同調回路を含んでもよい。(例えば、記憶のために、無線、アナログ、またはデジタル信号をMPEG信号に変換するための)符号化回路もまた、提供されてもよい。制御回路504はまた、コンテンツをユーザ機器500の好ましい出力形式に上方変換および下方変換するためのスケーラ回路を含んでもよい。回路504はまた、デジタルおよびアナログ信号間で変換するためのデジタルからアナログへの変換回路およびアナログからデジタルへの変換回路を含んでもよい。同調および符号化回路は、コンテンツを受信して表示する、再生する、または録画するために、ユーザ機器デバイスによって使用されてもよい。同調および符号化回路はまた、ガイドデータを受信するために使用されてもよい。例えば、同調、ビデオ生成、符号化、復号、暗号化、解読、スケーラ、およびアナログ/デジタル回路を含む、本明細書に説明される回路は、1つまたはそれを上回る汎用または特殊プロセッサ上で起動するソフトウェアを使用して実装されてもよい。複数のチューナが、同時同調機能(例えば、鑑賞および録画機能、ピクチャインピクチャ(PIP)機能、多重チューナ録画等)に対処するように提供されてもよい。記憶装置508が、ユーザ機器500とは別個のデバイスとして提供される場合、同調および符号化回路(複数のチューナを含む)は、記憶装置508と関連付けられてもよい。
ユーザは、ユーザ入力インターフェース510を使用して、命令を制御回路504に送信してもよい。ユーザ入力インターフェース510は、リモートコントロール、マウス、トラックボール、キーパッド、キーボード、タッチスクリーン、タッチパッド、スタイラス入力、ジョイスティック、音声認識インターフェース、または他のユーザ入力インターフェース等、任意の好適なユーザインターフェースであってもよい。ディスプレイ512は、独立型デバイスとして提供されてもよい、またはユーザ機器デバイス500の他の要素と統合されてもよい。例えば、ディスプレイ512は、タッチスクリーンまたはタッチセンサ式ディスプレイであってもよい。そのような状況では、ユーザ入力インターフェース510は、ディスプレイ512と統合されてもよい、または組み合わせられてもよい。ディスプレイ512は、モニタ、テレビ、モバイルデバイスのための液晶ディスプレイ(LCD)、非晶質シリコンディスプレイ、低温ポリシリコンディスプレイ、電子インクディスプレイ、電気泳動ディスプレイ、アクティブマトリクスディスプレイ、エレクトロウェッティングディスプレイ、電気流体ディスプレイ、ブラウン管ディスプレイ、発光ダイオードディスプレイ、エレクトロルミネセントディスプレイ、プラズマディスプレイパネル、高性能アドレッシングディスプレイ、薄膜トランジスタディスプレイ、有機発光ダイオードディスプレイ、表面伝導型電子放出素子ディスプレイ(SED)、レーザテレビ、カーボンナノチューブ、量子ドットディスプレイ、干渉変調器ディスプレイ、または視覚的画像を表示するための任意の他の好適な機器のうちの1つまたはそれを上回るものであってもよい。いくつかの実施形態では、ディスプレイ512は、HDTV対応型であり得る。いくつかの実施形態では、ディスプレイ512は、3Dディスプレイであってもよく、双方向メディアガイドアプリケーションおよび任意の好適なコンテンツは、3Dで表示されてもよい。ビデオカードまたはグラフィックカードは、出力をディスプレイ512に生成してもよい。ビデオカードは、3Dシーンおよび2Dグラフィックのレンダリング加速、MPEG−2/MPEG−4復号、TV出力、または複数のモニタを接続する能力等の種々の機能をもたらしてもよい。ビデオカードは、制御回路504に関連する上記で説明される任意の処理回路であってもよい。ビデオカードは、制御回路504と統合されてもよい。スピーカ514は、ユーザ機器デバイス500の他の要素との統合として提供されてもよい、または独立型ユニットであってもよい。ディスプレイ512上に表示されるビデオおよび他のコンテンツのオーディオ構成要素は、スピーカ514を通して再生されてもよい。いくつかの実施形態では、オーディオは、スピーカ514を介してオーディオを処理および出力する、受信機(図示せず)に配布されてもよい。
ガイドアプリケーションは、任意の好適なアーキテクチャを使用して実装されてもよい。例えば、それは、ユーザ機器デバイス500上で完全に実装される、独立型アプリケーションであってもよい。そのようなアプローチでは、アプリケーションの命令は、ローカルに記憶され(例えば、記憶装置508内に)、アプリケーションによって使用するためのデータは、(例えば、帯域外フィードから、インターネットリソースから、または別の好適なアプローチを使用して)周期的にダウンロードされる。制御回路504は、記憶装置508からアプリケーションの命令を読み出し、本明細書で議論される表示のうちのいずれかを生成するための命令を処理してもよい。処理された命令に基づいて、制御回路504は、入力が入力インターフェース510から受信されるときにどのようなアクションを行うかを判定してもよい。例えば、表示上のカーソルの上/下への移動は、入力インターフェース510が上/下ボタンが選択されたことを示すとき、処理された命令によって示されてもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、クライアントサーバベースのアプリケーションである。ユーザ機器デバイス500上に実装される、シックまたはシンクライアントによって使用するためのデータは、ユーザ機器デバイス500の遠隔にあるサーバに要求を発行することによって、オンデマンドで読み出される。クライアントサーバベースのガイドアプリケーションの一実施例では、制御回路504は、遠隔サーバによって提供されるウェブページを解釈する、ウェブブラウザを実行する。例えば、遠隔サーバは、記憶デバイス内にアプリケーションのための命令を記憶してもよい。遠隔サーバは、回路(例えば、制御回路504)を使用して、記憶された命令を処理し、上記および下記で議論される表示を生成してもよい。クライアントデバイスは、遠隔サーバによって生成される表示を受信してもよく、表示のコンテンツを機器デバイス500上でローカルに表示してもよい。このように、命令の処理は、サーバによって遠隔で行われる一方、結果として生じる表示は、機器デバイス500上にローカルに提供される。機器デバイス500は、入力インターフェース510を介して、ユーザからの入力を受信し、対応する表示を処理および生成するために、それらの入力を遠隔サーバに伝送してもよい。例えば、機器デバイス500は、上/下ボタンが入力インターフェース510を介して選択されたことを示す、通信を遠隔サーバに伝送してもよい。遠隔サーバは、その入力に従って命令を処理し、入力に対応するアプリケーションの表示を生成してもよい(例えば、カーソルを上/下に移動させる表示)。生成された表示は、次いで、ユーザへの提示のために、機器デバイス500に伝送される。
いくつかの実施形態では、メディアガイドアプリケーションは、インタープリタまたは仮想マシン(制御回路504によって起動される)によって、ダウンロードされ、解釈または別様に起動される。いくつかの実施形態では、ガイドアプリケーションは、ETVバイナリ交換形式(ETV Binary Interchange Format/EBIF)で符号化され、好適なフィードの一部として制御回路504によって受信され、制御回路504上で起動するユーザエージェントによって解釈されてもよい。例えば、ガイドアプリケーションは、EBIFアプリケーションであってもよい。いくつかの実施形態では、ガイドアプリケーションは、制御回路504によって実行されるローカル仮想マシンまたは他の好適なミドルウェアによって受信および起動される、一連のJAVA(登録商標)ベースのファイルによって定義されてもよい。そのような実施形態のうちのいくつか(例えば、MPEG−2または他のデジタルメディア符号化スキームを採用するもの)では、ガイドアプリケーションは、例えば、番組のMPEGオーディオおよびビデオパケットを用いたMPEG−2オブジェクトカルーセルにおいて符号化および伝送されてもよい。
図5のユーザ機器デバイス500は、ユーザテレビ機器602、ユーザコンピュータ機器604、無線ユーザ通信デバイス606、または非携帯用ゲーム機等のコンテンツにアクセスするために好適な任意の他のタイプのユーザ機器として、図6のシステム600に実装することができる。簡単にするために、これらのデバイスは、本明細書では総称して、ユーザ機器またはユーザ機器デバイスと称されてもよく、上記で説明されるユーザ機器デバイスに実質的に類似し得る。メディアガイドアプリケーションが実装され得る、ユーザ機器デバイスは、独立型デバイスとして機能してもよい、またはデバイスのネットワークの一部であってもよい。デバイスの種々のネットワーク構成が実装されてもよく、以下でさらに詳細に議論される。
図5に関連して上記で説明されるシステム特徴のうちの少なくともいくつかを利用する、ユーザ機器デバイスは、単に、ユーザテレビ機器602、ユーザコンピュータ機器604、または無線ユーザ通信デバイス606として分類されなくてもよい。例えば、ユーザテレビ機器602は、いくつかのユーザコンピュータ機器604のように、インターネットコンテンツへのアクセスを可能にするインターネット対応型であり得る一方で、ユーザコンピュータ機器604は、いくつかのテレビ機器602のように、テレビ番組へのアクセスを可能にするチューナを含んでもよい。メディアガイドアプリケーションは、種々の異なるタイプのユーザ機器上で同一レイアウトを有してもよい、またはユーザ機器の表示能力に合わせられてもよい。例えば、ユーザコンピュータ機器604上では、ガイドアプリケーションは、ウェブブラウザによってアクセスされるウェブサイトとして提供されてもよい。別の実施例では、ガイドアプリケーションは、無線ユーザ通信デバイス606用に縮小されてもよい。
システム600では、典型的には、各タイプのユーザ機器デバイスが1つを上回って存在するが、図面が複雑になり過ぎることを回避するように、それぞれ1つだけが図6に示されている。加えて、各ユーザは、1つを上回るタイプのユーザ機器デバイスと、また、各タイプのユーザ機器デバイスのうちの1つを上回るものとを利用してもよい。
いくつかの実施形態では、ユーザ機器デバイス(例えば、ユーザテレビ機器602、ユーザコンピュータ機器604、無線ユーザ通信デバイス606)は、「第2の画面デバイス」と称されてもよい。例えば、第2の画面デバイスは、第1のユーザ機器デバイス上に提示されるコンテンツを補完してもよい。第2の画面デバイス上に提示されるコンテンツは、第1のデバイス上に提示されるコンテンツを補完する、任意の好適なコンテンツであってもよい。いくつかの実施形態では、第2の画面デバイスは、第1のデバイスの設定および表示選好を調節するためのインターフェースを提供する。いくつかの実施形態では、第2の画面デバイスは、他の第2の画面デバイスと相互作用するため、またはソーシャルネットワークと相互作用するために構成される。第2の画面デバイスは、第1のデバイスと同一の部屋内に、第1のデバイスと異なる部屋であるが、同一の家または建物内、または第1のデバイスと異なる建物内に位置することができる。
ユーザはまた、家庭内デバイスおよび遠隔デバイスにわたって一貫したメディアガイドアプリケーション設定を維持するように、種々の設定を設定してもよい。設定は、本明細書に説明される設定、およびお気に入りのチャンネルおよび番組、番組を推奨するためにガイドアプリケーションが利用する番組選好、表示選好、および他の望ましいガイド設定を含む。例えば、ユーザが、そのオフィスのパーソナルコンピュータで、例えば、ウェブサイトwww.allrovi.comの上で、チャンネルをお気に入りとして設定した場合、所望に応じて、同一のチャンネルが、ユーザの家庭内デバイス(例えば、ユーザテレビ機器およびユーザコンピュータ機器)、およびユーザのモバイルデバイス上でお気に入りとして表示される。したがって、同一のまたは異なるタイプのユーザ機器デバイスであるかどうかにかかわらず、1つのユーザ機器デバイス上で行われる変更は、別のユーザ機器デバイス上のガイド体験を変更することができる。加えて、行われる変更は、ユーザによる設定入力、およびガイドアプリケーションによって監視されるユーザアクティビティに基づいてもよい。
ユーザ機器デバイスは、通信ネットワーク614に結合されてもよい。すなわち、ユーザテレビ機器602、ユーザコンピュータ機器604、および無線ユーザ通信デバイス606は、それぞれ、通信パス608、610、および612を介して、通信ネットワーク614に結合される。通信ネットワーク614は、インターネット、携帯電話ネットワーク、モバイルボイスまたはデータネットワーク(例えば、4GまたはLTEネットワーク)、ケーブルネットワーク、公衆交換電話ネットワーク、または他のタイプの通信ネットワーク、または通信ネットワークの組み合わせを含む、1つまたはそれを上回るネットワークであってもよい。パス608、610、および612は、別個または一緒に、衛星パス、光ファイバパス、ケーブルパス、インターネット通信をサポートするパス(例えば、IPTV)、フリースペース接続(例えば、放送または他の無線信号用)、または任意の他の好適な有線または無線通信パス、またはそのようなパスの組み合わせ等、1つまたはそれを上回る通信パスを含んでもよい。パス612は、図6に示された例示的実施形態において、無線パスであることを示すように破線で描かれ、パス608および610は、有線パスであることを示すように実線で描かれている(しかし、これらのパスは、所望に応じて、無線パスであってもよい)。ユーザ機器デバイスとの通信は、これらの通信パスのうちの1つまたはそれを上回るものによって提供されてもよいが、図6では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。
通信パスは、ユーザ機器デバイスの間には描かれていないが、これらのデバイスは、パス608、610、および612に関連して上記で説明されるもの、およびUSBケーブル、IEEE 1394ケーブル、無線パス(例えば、Bluetooth(登録商標)、赤外線、IEEE 802−11x等)等の他の短距離ポイントツーポイント通信パス、または有線または無線パスを介した他の短距離通信等の通信パス等の通信パスを介して、相互と直接通信してもよい。BLUETOOTH(登録商標)は、Bluetooth(登録商標) SIG, INC.によって所有される認証マークである。ユーザ機器デバイスはまた、通信ネットワーク614を介した間接的パスを通して、直接相互と通信してもよい。
システム600は、それぞれ、通信パス620および622を介して、通信ネットワーク614に結合される、コンテンツソース616およびメディアガイドデータソース618を含む。パス620および622は、パス608、610、および612に関して上記で説明される通信パスのうちのいずれかを含んでもよい。コンテンツソース616およびメディアガイドデータソース618との通信は、1つまたはそれを上回る通信パスを介して交信されてもよいが、図6では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。加えて、コンテンツソース616およびメディアガイドデータソース618のそれぞれが1つを上回ってあってもよいが、図6では、図面が複雑になり過ぎることを回避するように、それぞれ1つだけが示されている。(これらのソースのそれぞれの異なるタイプを以下で議論する)。所望に応じて、コンテンツソース616およびメディアガイドデータソース618は、1つのソースデバイスとして統合されてもよい。ソース616および618と、ユーザ機器デバイス602、604、および606との間の通信は、通信ネットワーク614を通したものとして示されているが、いくつかの実施形態では、ソース616および618は、パス608、610、および612に関連して上記で説明されるもの等の通信パス(図示せず)を介して、ユーザ機器デバイス602、604、および606と直接通信してもよい。
コンテンツソース616は、テレビ配信施設、ケーブルシステムヘッドエンド、衛星配信施設、番組ソース(例えば、NBC、ABC、HBO等のテレビ放送会社)、中間配信施設および/またはサーバ、インターネットプロバイダ、オンデマンドメディアサーバ、および他のコンテンツプロバイダを含む、1つまたはそれを上回るタイプのコンテンツ配信機器を含んでもよい。NBCは、National Broadcasting Company, Inc.によって所有される商標であり、ABCは、American Broadcasting Company, INC.によって所有される商標であり、HBOは、Home Box Office, Inc.によって所有される商標である。コンテンツソース616は、コンテンツの発信元であってもよく(例えば、テレビ放送会社、ウェブキャストプロバイダ等)、またはコンテンツの発信元でなくてもよい(例えば、オンデマンドコンテンツプロバイダ、ダウンロード用放送番組のコンテンツのインターネットプロバイダ等)。コンテンツソース616は、ケーブルソース、衛星プロバイダ、オンデマンドプロバイダ、インターネットプロバイダ、オーバーザトップコンテンツプロバイダ、または他のコンテンツのプロバイダを含んでもよい。コンテンツソース616はまた、ユーザ機器デバイスのうちのいずれかから遠隔の場所にある、異なるタイプのコンテンツ(ユーザによって選択されるビデオコンテンツを含む)を記憶するために使用される、遠隔メディアサーバを含んでもよい。コンテンツの遠隔記憶のため、および遠隔に記憶されたコンテンツをユーザ機器に提供するためのシステムおよび方法は、全体として参照することにより本明細書に組み込まれる、2010年7月20日発行のEllisらの米国特許第7,761,892号に関連して、さらに詳細に議論されている。
メディアガイドデータソース618は、上記で説明されるメディアガイドデータ等のメディアガイドデータを提供してもよい。メディアガイドデータは、任意の好適なアプローチを使用して、ユーザ機器デバイスに提供されてもよい。いくつかの実施形態では、ガイドアプリケーションは、データフィード(例えば、継続フィードまたはトリクルフィード)を介して、番組ガイドデータを受信する、独立型双方向テレビ番組ガイドであってもよい。番組スケジュールデータおよび他のガイドデータは、テレビチャンネルのサイドバンド上で、帯域内デジタル信号を使用して、帯域外デジタル信号を使用して、または任意の他の好適なデータ伝送技術によって、ユーザ機器に提供されてもよい。番組スケジュールデータおよび他のメディアガイドデータは、複数のアナログまたはデジタルテレビチャンネル上でユーザ機器に提供されてもよい。
いくつかの実施形態では、メディアガイドデータソース618からのガイドデータは、クライアントサーバアプローチを使用して、ユーザの機器に提供されてもよい。例えば、ユーザ機器デバイスは、メディアガイドデータをサーバからプル配信してもよい、またはサーバは、メディアガイドデータをユーザ機器デバイスにプッシュ配信してもよい。いくつかの実施形態では、ユーザの機器上に常駐するガイドアプリケーションクライアントは、必要に応じて、例えば、ガイドデータが、古くなっているとき、またはユーザ機器デバイスが、データを受信するための要求をユーザから受信するとき、ソース618とセッションを開始し、ガイドデータを取得してもよい。メディアガイドは、任意の好適な頻度で(例えば、継続的に、毎日、ユーザ指定期間で、システム指定期間で、ユーザ機器からの要求に応じて等)ユーザ機器に提供されてもよい。メディアガイドデータソース618は、ユーザ機器デバイス602、604、および606に、メディアガイドアプリケーション自体、またはメディアガイドアプリケーションのソフトウェア更新を提供してもよい。
いくつかの実施形態では、メディアガイドデータは、視聴者データを含んでもよい。例えば、視聴者データは、現在のおよび/または履歴ユーザアクティビティ情報(例えば、どのようなコンテンツをユーザが典型的に鑑賞するか、どの時刻にユーザがコンテンツを鑑賞するか、ユーザがソーシャルネットワークと相互作用するかどうか、どの時間にユーザがソーシャルネットワークと相互作用して情報をポストするか、どのようなタイプのコンテンツをユーザが典型的に鑑賞するか(例えば、有料TVまたは無料TV)、気分、脳の活動情報等)を含んでもよい。メディアガイドデータはまた、購読データを含んでもよい。例えば、購読データは、所与のユーザが購読するソースまたはサービスおよび/または所与のユーザが以前に購読していたが、後にアクセスを打ち切ったソースまたはサービス(例えば、ユーザが有料チャンネルを購読するかどうか、ユーザが有料レベルのサービスを追加したかどうか、ユーザがインターネット速度を増加させたかどうか)を識別してもよい。いくつかの実施形態では、視聴者データおよび/または購読データは、1年を上回る期間の間の所与のユーザのパターンを識別してもよい。メディアガイドデータは、所与のユーザがサービス/ソースへのアクセスを打ち切るであろう可能性を示すスコアを生成するために使用される、モデル(例えば、残存者モデル)を含んでもよい。例えば、メディアガイドアプリケーションは、所与のユーザが特定のサービスまたはソースへのアクセスを打ち切るであろうかどうかの可能性を示す、値またはスコアを生成するためのモデルを使用して、購読データとともに視聴者データを処理してもよい。特に、より高いスコアは、ユーザが特定のサービスまたはソースへのアクセスを打ち切るであろう、より高いレベルの信頼性を示し得る。スコアに基づいて、メディアガイドアプリケーションは、ユーザがアクセスを打ち切る可能性が高いであろうものとしてスコアによって示される特定のサービスまたはソースをユーザが維持するように勧誘する宣伝を生成してもよい。
メディアガイドアプリケーションは、例えば、ユーザ機器デバイス上に実装される独立型アプリケーションであってもよい。例えば、メディアガイドアプリケーションは、記憶装置508内に記憶され、ユーザ機器デバイス500の制御回路504によって実行され得る、ソフトウェアまたは一式の実行可能命令として実装されてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、クライアント−サーバアプリケーションであってもよく、その場合、クライアントアプリケーションのみが、ユーザ機器デバイス上に常駐し、サーバアプリケーションは、遠隔サーバ上に常駐する。例えば、メディアガイドアプリケーションは、部分的に、ユーザ機器デバイス500の制御回路504上のクライアントアプリケーションとして、および部分的に遠隔サーバ上で、遠隔サーバの制御回路上で起動するサーバアプリケーションとして(例えば、メディアガイドデータソース618)、実装されてもよい。遠隔サーバの制御回路(メディアガイドデータソース618等)によって実行されると、メディアガイドアプリケーションは、制御回路に、ガイドアプリケーション表示を生成し、生成された表示をユーザ機器デバイスに伝送するように命令してもよい。サーバアプリケーションは、メディアガイドデータソース618の制御回路に、ユーザ機器上での記憶のためのデータを伝送するように命令してもよい。クライアントアプリケーションは、受信用ユーザ機器の制御回路に、ガイドアプリケーション表示を生成するように命令してもよい。
ユーザ機器デバイス602、604、および606に配信されるコンテンツおよび/またはメディアガイドデータは、オーバーザトップ(OTT)コンテンツであってもよい。OTTコンテンツ配信は、上記で説明される任意のユーザ機器デバイスを含む、インターネット対応型ユーザデバイスが、ケーブルまたは衛星接続を経由して受信されるコンテンツに加え、上記で説明される任意のコンテンツを含む、インターネットを経由して転送されるコンテンツを受信することを可能にする。OTTコンテンツは、インターネットサービスプロバイダ(ISP)によって提供されるインターネット接続を介して配信されるが、第三者も、コンテンツを配布する。ISPは、視聴能力、著作権、またはコンテンツの再配布に関与していなくてもよく、OTTコンテンツプロバイダによって提供されるIPパケットのみ転送してもよい。OTTコンテンツプロバイダの実施例は、IPパケットを介して、オーディオおよびビデオを提供する、YOUTUBE(登録商標)、NETFLIX、およびHULUを含む。Youtubeは、Google Inc.によって所有される商標であり、Netflixは、Netflix, Inc.によって所有される商標であり、Huluは、Hulu, LLC.によって所有される商標である。OTTコンテンツプロバイダは、加えて、または代替として、上記で説明されるメディアガイドデータを提供してもよい。コンテンツおよび/またはメディアガイドデータに加え、OTTコンテンツのプロバイダは、メディアガイドアプリケーション(例えば、ウェブベースのアプリケーションまたはクラウドベースのアプリケーション)を配布することができる、またはコンテンツは、ユーザ機器デバイス上に記憶されるメディアガイドアプリケーションによって表示されることができる。
メディアガイドシステム600は、いくつかのアプローチまたはネットワーク構成を例証することを意図しており、これによって、ユーザ機器デバイスおよびコンテンツおよびガイドデータのソースは、コンテンツにアクセスし、メディアガイドを提供する目的で、相互と通信してもよい。本明細書に説明される実施形態は、これらのアプローチのうちのいずれか1つまたはサブセットにおいて、またはコンテンツを配信し、メディアガイドを提供するための他のアプローチを採用するシステムにおいて、適用されてもよい。以下の4つのアプローチは、図6の汎用実施例の具体的例証を提供する。
あるアプローチでは、ユーザ機器デバイスは、ホームネットワーク内で相互と通信してもよい。ユーザ機器デバイスは、上記で説明される短距離ポイントツーポイント通信方式を介して、ホームネットワーク上に提供されるハブまたは他の類似デバイスを通した間接パスを介して、または通信ネットワーク614を介して、直接相互と通信することができる。1つの家庭内の複数の個人のそれぞれが、ホームネットワーク上の異なるユーザ機器デバイスを動作させてもよい。結果として、種々のメディアガイド情報または設定が、異なるユーザ機器デバイス間で通信されることが望ましくあり得る。例えば、2005年7月11日出願のEllisらの米国特許公開第2005/0251827号でさらに詳細に説明されているように、ホームネットワーク内の異なるユーザ機器デバイス上で、ユーザが一貫したメディアガイドアプリケーション設定を維持することが望ましくあり得る。ホームネットワーク内の異なるタイプのユーザ機器デバイスがまた、相互と通信し、コンテンツを伝送してもよい。例えば、ユーザは、ユーザコンピュータ機器から携帯用ビデオプレーヤまたは携帯用音楽プレーヤにコンテンツを伝送してもよい。
第2のアプローチでは、ユーザは、複数のタイプのユーザ機器を有してもよく、これによって、コンテンツにアクセスし、メディアガイドを取得する。例えば、一部のユーザは、家庭内およびモバイルデバイスによってアクセスされる、ホームネットワークを有してもよい。ユーザは、遠隔デバイス上に実装されるメディアガイドアプリケーションを介して、家庭内デバイスを制御してもよい。例えば、ユーザは、そのオフィスのパーソナルコンピュータ、またはPDAまたはウェブ対応携帯電話等のモバイルデバイスを介して、ウェブサイト上のオンラインメディアガイドアプリケーションにアクセスしてもよい。ユーザは、オンラインガイドアプリケーション上で種々の設定(例えば、録画、リマインダ、または他の設定)を設定して、ユーザの家庭内機器を制御してもよい。オンラインガイドは、直接、またはユーザの家庭内機器上のメディアガイドアプリケーションと通信することによって、ユーザの機器を制御してもよい。ユーザ機器デバイスが相互から遠隔の場所にある、ユーザ機器デバイスの通信のための種々のシステムおよび方法は、例えば、その全体を参照することにより本明細書に組み込まれる、Ellisらの2011年10月25日発行の米国特許第8,046,801号で議論されている。
第3のアプローチでは、家庭内外のユーザ機器デバイスのユーザは、コンテンツソース616と直接通信し、コンテンツにアクセスするために、そのメディアガイドアプリケーションを使用することができる。具体的には、家庭内では、ユーザテレビ機器602およびユーザコンピュータ機器604のユーザは、メディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。ユーザはまた、無線ユーザ通信デバイス606を使用して、家庭外のメディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。
第4のアプローチでは、ユーザ機器デバイスは、クラウドコンピューティング環境内で動作し、クラウドサービスにアクセスしてもよい。クラウドコンピューティング環境では、コンテンツ共有、記憶、または配布のための種々のタイプのコンピューティングサービス(例えば、ビデオ共有サイトまたはソーシャルネットワーキングサイト)が、「クラウド」と称される、ネットワーク−アクセス可能コンピューティングおよび記憶リソースの集合によって提供される。例えば、クラウドは、ネットワークを介して接続される、種々のタイプのユーザおよびデバイスにクラウドベースのサービス、例えば、通信ネットワーク614を介したインターネットを提供する、中央または分散場所に位置し得る、サーバコンピューティングデバイスの集合を含むことができる。これらのクラウドリソースは、1つまたはそれを上回るコンテンツソース416および1つまたはそれを上回るメディアガイドデータソース418を含んでもよい。加えて、または代替として、遠隔コンピューティングサイトは、ユーザテレビ機器602、ユーザコンピュータ機器604、および無線ユーザ通信デバイス606等の他のユーザ機器デバイスを含んでもよい。例えば、他のユーザ機器デバイスは、ビデオの記憶されたコピーまたはストリーミング配信されたビデオへのアクセスを提供してもよい。そのような実施形態では、ユーザ機器デバイスは、中央サーバと通信せずに、ピアツーピア様式で動作してもよい。
クラウドは、ユーザ機器デバイスのために、他の実施例の中でもとりわけ、コンテンツ記憶、コンテンツ共有、またはソーシャルネットワーキングサービス等のサービスへのアクセス、および上記で説明される任意のコンテンツへのアクセスを提供する。サービスは、クラウドコンピューティングサービスプロバイダを通して、またはオンラインサービスの他のプロバイダを通して、クラウド内で提供されることができる。例えば、クラウドベースのサービスは、コンテンツ記憶サービス、コンテンツ共有サイト、ソーシャルネットワーキングサイト、または他のサービスを含むことができ、それを介して、ユーザ供給コンテンツは、接続されたデバイス上の他者によって視聴するために配布される。これらのクラウドベースのサービスは、ユーザ機器デバイスが、コンテンツをローカルに記憶し、ローカルに記憶されたコンテンツにアクセスするのではなく、コンテンツをクラウドに記憶し、コンテンツをクラウドから受信することを可能にしてもよい。
ユーザは、カムコーダ、ビデオモード付きデジタルカメラ、オーディオレコーダ、携帯電話、およびハンドヘルドコンピューティングデバイス等の種々のコンテンツ捕捉デバイスを使用して、コンテンツを録画してもよい。ユーザは、直接、例えば、ユーザコンピュータ機器604から、またはコンテンツ捕捉特徴を有する、無線ユーザ通信デバイス606からのいずれかにおいて、クラウド上のコンテンツ記憶サービスにコンテンツをアップロードすることができる。代替として、ユーザは、最初に、コンテンツをユーザコンピュータ機器604等のユーザ機器デバイスに転送することができる。コンテンツを記憶するユーザ機器デバイスは、通信ネットワーク614上のデータ伝送サービスを使用して、コンテンツをクラウドにアップロードする。いくつかの実施形態では、ユーザ機器デバイス自体が、クラウドリソースであって、他のユーザ機器デバイスが、直接、ユーザがコンテンツを記憶したユーザ機器デバイスから、コンテンツにアクセスすることができる。
クラウドリソースは、例えば、ウェブブラウザ、メディアガイドアプリケーション、デスクトップアプリケーション、モバイルアプリケーション、および/またはそれらのアクセスアプリケーションの任意の組み合わせを使用して、ユーザ機器デバイスによってアクセスされてもよい。ユーザ機器デバイスは、アプリケーション配信のためにクラウドコンピューティングに依拠する、クラウドクライアントであってもよい、またはユーザ機器デバイスは、クラウドリソースにアクセスせずに、いくつかの機能性を有してもよい。例えば、ユーザ機器デバイス上で起動するいくつかのアプリケーションは、クラウドアプリケーション、すなわち、インターネットを経由して、サービスとして配信されるアプリケーションであってもよい一方、他のアプリケーションは、ユーザ機器デバイス上に記憶され、起動されてもよい。いくつかの実施形態では、ユーザデバイスは、コンテンツを複数のクラウドリソースから同時に受信してもよい。例えば、ユーザデバイスは、オーディオを1つのクラウドリソースからストリーミングする一方、コンテンツを第2のクラウドリソースからダウンロードすることができる。または、ユーザデバイスは、より効率的なダウンロードのために、コンテンツを複数のクラウドリソースからダウンロードすることができる。いくつかの実施形態では、ユーザ機器デバイスは、図5に関連して説明される処理回路によって行われる処理動作等の処理動作のために、クラウドリソースを使用することができる。
本明細書で参照されるように、用語「〜に応答して」は、「〜の結果として開始される」ことを指す。例えば、第2のアクションに応答して行われている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含んでもよい。本明細書で参照されるように、用語「〜に直接応答して」は、「〜によって引き起こされる」ことを指す。例えば、第2のアクションに直接応答して行われている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含まなくてもよい。
図7は、本開示の実施形態を組み込む、メディアアセットを効率的にダウンロードするための例示的プロセス700である。メディアガイドアプリケーションは、画面100および200に示されるメディアアセットをダウンロードするように、制御回路504を使用してプロセス700を実行してもよい。
ブロック702では、メディアガイドアプリケーションは、制御回路504を使用して、メディアアセットのユーザ選択を受信する。制御回路504は、ユーザ入力インターフェース510を使用して、画面100上に示されるメディアアセットのうちのいずれかのユーザ選択を受信してもよい。制御回路504は、図8に関連して説明されるようにユーザ選択を受信してもよい。
ブロック704では、メディアガイドアプリケーションは、制御回路504を使用して、ネットワークの将来の非可用性を判定する。例えば、メディアガイドアプリケーションは、ユーザが間もなく飛行機に搭乗するであろうことをユーザのカレンダが示す場合に、インターネットが利用不可能になるであろうことを判定してもよい。別の実施例では、メディアガイドアプリケーションは、ユーザの場所が暴風雨の経路の中にある場合に、ケーブル信号が利用不可能である可能性が高いことを判定してもよい。メディアガイドアプリケーションは、図9に関連して説明されるように将来の非可用性を判定してもよい。
メディアガイドアプリケーションは、ネットワークが利用不可能であると予測される場合に、ダウンロードすることがより迅速であるバージョンでメディアアセットをダウンロードしてもよい。例えば、メディアガイドアプリケーションが映画をダウンロードするユーザ要求を受信し、インターネットが間もなく利用不可能になるであろうことを判定する場合、メディアガイドアプリケーションは、SD品質のほうが高速であり得るため、HD品質の代わりにSD品質で映画をダウンロードしてもよい。これは、ネットワークコネクティビティが失われる前に、メディアアセットのより多くがダウンロードされることを可能にし得る。メディアガイドアプリケーションはまた、ユーザが部分的にダウンロードされたメディアアセットを視聴することを可能にしてもよい。例えば、ユーザがネットワーク可用性を失う前に、メディアガイドアプリケーションが映画の半分のみをダウンロードする場合、メディアガイドアプリケーションは、ユーザがダウンロードされた映画の半分を視聴することを可能にしてもよい。
ブロック706では、メディアガイドアプリケーションは、制御回路504を使用して、ユーザ選択を受信するステップに基づいて、サーバから、メディアアセットと関連付けられる第1のバージョン識別子およびメディアアセットと関連付けられる第2のバージョン識別子を受信し、第1のバージョン識別子は、サーバ上に記憶されたメディアアセットの第1のバージョンと関連付けられ、第2のバージョン識別子は、サーバ上に記憶されたメディアアセットの第2のバージョンと関連付けられる。メディアガイドアプリケーションは、図10に関連して説明されるように識別子を受信してもよい。
サーバは、メディアコンテンツソース616およびメディアガイドデータソース618のうちのいずれかであってもよい。サーバは、記憶回路508を使用して、同一のメディアアセットの多くの異なるバージョンを記憶してもよい。例えば、サーバは、映画A102のSDおよびHDバージョンを記憶してもよい。メディアガイドアプリケーションは、サーバからメディアアセットの異なるバージョンを要求するために、受信された識別子を使用することが可能であり得る。
ブロック708では、メディアガイドアプリケーションは、制御回路504を使用して、第1のバージョン識別子および第2のバージョン識別子を受信するステップに応答して、ユーザ選択メディアアセットを第1のセグメントおよび第2のセグメントに分割する。メディアガイドアプリケーションは、たとえ他がダウンロードされていなくても、ユーザがこれらのセグメントのうちのいずれかを視聴することを可能してもよい。
メディアガイドアプリケーションは、本開示によると、メディアアセットを、2つを上回るセグメントに分割してもよい。メディアガイドアプリケーションは、図11および12に関連して説明されるプロセスを使用して、メディアアセットを分割してもよい。
ブロック710では、メディアガイドアプリケーションは、制御回路504を使用して、サーバに、メディアアセットの第1のセグメントを備える、第1のバージョン識別子と関連付けられるメディアアセットの第1のバージョンの第1の部分と、メディアアセットの第2のセグメントを備える、第2のバージョン識別子と関連付けられるメディアアセットの第2のバージョンの第2の部分との要求を伝送する。例えば、メディアガイドアプリケーションは、SD品質における映画の最初の30分およびHD品質における映画の第2の30分の要求を伝送してもよい。サーバは、ビデオオンデマンドまたは記憶されたメディアアセットのソースであってもよい。
ブロック712では、メディアガイドアプリケーションは、制御回路504を使用して、ネットワークの判定された将来の非可用性に先立って、サーバから、メディアアセットの第1のバージョンの第1の部分およびメディアアセットの第2のバージョンの第2の部分を受信する。メディアガイドアプリケーションは、通信ネットワーク614を使用して、第1および第2の部分を受信してもよい。例えば、メディアガイドアプリケーションは、SD品質における要求された映画の最初の30分およびHD品質における映画の第2の30分を受信してもよい。メディアガイドアプリケーションは、同時に第1および第2の部分を受信してもよい。メディアガイドアプリケーションは、受信された第1および第2の部分を記憶し、次いで、メディアアセットのさらなる部分の要求を伝送してもよい。メディアガイドアプリケーションは、図13に関連して説明されるようにブロック710および712を実行してもよい。
図8は、本開示の実施形態を組み込む、メディアアセットのユーザ選択を受信するための例示的プロセス800である。プロセス800は、ブロック702を行うように制御回路504によって実行されてもよい。メディアガイドアプリケーションは、ディスプレイ512上で選択を受信するようにプロセス800を実行してもよいが、メディアガイドアプリケーションは、ユーザの口頭のコマンドを解釈するように、音声テキスト化ソフトウェアを使用して、ユーザから口頭の選択も受信してもよいことが理解される。
ブロック802では、メディアガイドアプリケーションは、制御回路504を使用して、メディアアセットの複数のインジケータを表示するために生成し、メディアアセットの各インジケータは、個別の領域と関連付けられる。例えば、メディアガイドアプリケーションは、ディスプレイ512上に画面100を表示するために生成してもよい。メディアガイドアプリケーションは、各メディアアセットインジケータと関連付けられる領域を表示するために生成してもよい。例えば、メディアガイドアプリケーションは、映画A102、テレビ番組B104、および歌C106のためのインジケータを含む、画面100を表示するために生成してもよい。各インジケータは、画面100に示されるように、画像領域と関連付けられてもよい。
ブロック804では、メディアガイドアプリケーションは、制御回路504を使用して、表示上の領域のユーザ選択を検出する。メディアガイドアプリケーションは、ユーザ入力インターフェース510を通してユーザ選択を受信してもよい。例えば、メディアガイドアプリケーションは、ユーザが画面100を表示するタブレット上のタッチスクリーンの表面上の点に触れたことを検出してもよい。
ブロック806では、メディアガイドアプリケーションは、制御回路504を使用して、ユーザ選択の座標を判定する。例えば、メディアガイドアプリケーションは、画面100を表示するタブレットのタッチスクリーンをアクティブ化することによって、ユーザが(x、y)座標(200、500)を伴うピクセルを選択したことを判定してもよい。
ブロック808では、メディアガイドアプリケーションは、制御回路504を使用して、座標をメディアアセットの複数のインジケータのそれぞれと関連付けられる各領域と比較する。例えば、メディアガイドアプリケーションは、(x、y)座標(100、300)から(300、700)を伴って画面100上の映画A102のための選択可能な長方形領域を表示するために生成してもよい。メディアガイドアプリケーションはまた、(x、y)座標(700、300)から(900、700)を伴って画面100上のテレビ番組B104のための選択可能な長方形領域を表示するために生成してもよい。メディアガイドアプリケーションは、ユーザ選択の(x、y)座標をこれら両方の領域の(x、y)座標と比較してもよい。
ブロック810では、メディアガイドアプリケーションは、制御回路504を使用して、比較に基づいて、座標がメディアアセットのインジケータと関連付けられる領域内にあることを判定する。例えば、メディアガイドアプリケーションは、上記で説明されるように、座標(200、500)の受信されたユーザ選択が映画A102と関連付けられる領域に属することを判定してもよい。
図9は、本開示の実施形態を組み込む、ネットワークの将来の非可用性を判定するための例示的プロセス900である。メディアガイドアプリケーションは、ブロック704の一部としてプロセス900を実行してもよい。本明細書で参照されるように、ネットワークアクセス、ネットワークコネクティビティ、およびネットワーク可用性は、同義的に使用される。
ブロック902では、メディアガイドアプリケーションは、制御回路504を使用して、カレンダ、ユーザ場所、および挙動パターンの任意の組み合わせを備える、ユーザプロファイルを読み出す。メディアガイドアプリケーションは、通信ネットワーク614を使用して、記憶回路508から、または遠隔ユーザプロファイルデータベースから、ローカルユーザプロファイルを読み出してもよい。カレンダは、過去、現在、および将来のユーザアクティビティの記録を含んでもよい。例えば、カレンダは、ユーザが2月23日の午後4時〜午後6時に飛行機を予約したという記録を含んでもよい。ユーザ場所が、ユーザデバイス上のGPS回路を使用して、判定されてもよい。例えば、メディアガイドアプリケーションは、タブレット上で制御回路504によって実行されてもよく、同一のタブレット上のGPS回路は、ユーザの現在の経度および緯度座標を提供してもよい。挙動パターンは、ユーザの周期的移動における共通パターンを識別することによって、判定されてもよい。例えば、タブレット上の制御回路504は、おそらくユーザが車で通勤しているため、ユーザのデバイスが毎朝午前8時〜午前9時の間にネットワークコネクティビティを失うことを判定してもよい。別の実施例では、タブレット上の制御回路504は、おそらくユーザが家族に会うために帰省するため、ユーザのデバイスが毎年クリスマス頃にネットワークコネクティビティを失うことを判定してもよい。
ブロック904では、メディアガイドアプリケーションは、制御回路504を使用して、ユーザが間もなくネットワークアクセスを失うであろうことをカレンダが示すかどうかを判定する。読み出されたユーザプロファイルにカレンダがない場合、プロセス900は、ブロック906に進んでもよい。制御回路504は、カレンダ内の今後の記録を、ネットワーク喪失が起こり得ることを示すキーワードのデータベースと比較してもよい。例えば、メディアガイドアプリケーションは、カレンダ記録を、記憶回路508を使用して、データベースに記憶されている「空港」、「運転」、および「地下鉄」等のキーワードと比較してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、現在の時間のある閾値時間以内のカレンダ記録のサブセット(例えば、現在の時間の2時間以内のカレンダ記録)のみをキーワードと比較するであろう。カレンダ内の記録がキーワードのうちのいずれかに合致する場合、メディアガイドアプリケーションは、ユーザが間もなくネットワークアクセスを失うであろうことをカレンダが示すことを判定してもよく、プロセス900は、ブロック912に進む。メディアガイドアプリケーションはまた、キーワードと言葉を共有するカレンダ記録内の情報に基づいて、ユーザがネットワークアクセスを失うことが予期される時間を記憶してもよい。そうでなければ、プロセス900は、ブロック906に進む。
ブロック906では、メディアガイドアプリケーションは、制御回路504を使用して、ユーザ場所がネットワークコネクティビティの喪失と関連付けられるかどうかを判定する。メディアガイドアプリケーションは、GPS回路によって提供される座標を使用することによって、現在のユーザ場所を判定してもよい。メディアガイドアプリケーションは、通信ネットワーク614を使用して、これらの座標をサーバ上のマップに伝送してもよい。次いで、メディアガイドアプリケーションは、「レストラン」、「コーヒーショップ」、または「空港」等の場所座標と関連付けられる場所の記述子を受信してもよい。制御回路504は、受信された記述子を、ネットワーク喪失が起こり得ることを示すキーワードのデータベースと比較してもよい。キーワードのデータベースは、ブロック904で使用されるキーワードのデータベースと同一であり得る、または異なり得る。例えば、メディアガイドアプリケーションは、受信された記述子「地下鉄」を、記憶回路508を使用して、データベースに記憶されている「空港」、「運転」、および「地下鉄」と比較してもよい。受信された記述子の一部がキーワードのうちのいずれかに合致する場合、メディアガイドアプリケーションは、ユーザ場所がネットワークコネクティビティの喪失と関連付けられることを判定してもよく、プロセス900は、ブロック912に進む。そうでなければ、プロセス900は、ブロック908に進む。いくつかの実施形態では、プロセス900は、いかなるユーザ場所データもユーザプロファイル内で利用可能ではない場合に、ブロック908に進む。
ブロック908では、メディアガイドアプリケーションは、制御回路504を使用して、現在のコンテキストに関連する挙動パターンのサブセットを抽出する。例えば、メディアガイドアプリケーションによって読み出されるユーザプロファイルは、以下の挙動パターン、すなわち、(おそらくユーザが通勤することに起因する)就業日の午前8時〜午前9時の間のネットワークコネクティビティの喪失、および(おそらく休日の間に帰省することに起因する)毎年12月のネットワークコネクティビティの喪失を含んでもよい。メディアガイドアプリケーションは、現在のコンテキストに適用可能である挙動パターンのサブセットを抽出してもよい。例えば、メディアガイドアプリケーションは、現在の日付が11月中の就業日であることを判定してもよい。故に、第1の挙動パターンは、現在のコンテキストに関連するが、第2のパターンは関連しない。メディアガイドアプリケーションは、(おそらくユーザが通勤することに起因する)就業日の午前8時〜午前9時の間のネットワークコネクティビティの喪失を示す、挙動パターンを抽出してもよい。
ブロック910では、メディアガイドアプリケーションは、制御回路504を使用して、ユーザが間もなくネットワークアクセスを失うであろうかどうかを挙動パターンのサブセットが示すかどうかを判定する。挙動パターンのサブセットは、ブロック908で抽出される挙動であってもよく、サブセットの中の挙動パターンはそれぞれ、ブロック910で状態について個別に検査されてもよい。例えば、メディアガイドアプリケーションは、(おそらくユーザが通勤することに起因する)就業日の午前8時〜午前9時の間のネットワークコネクティビティの喪失を示す、挙動パターンを抽出している場合がある。メディアガイドアプリケーションは、現在の時間が午前7時55分である場合に、ユーザが間もなくネットワークアクセスを失うであろうことを挙動パターンが示すことを判定してもよく、プロセス900は、ブロック912に進んでもよい。メディアガイドアプリケーションはまた、以下で説明されるように、ユーザがネットワークアクセスを失うことが予期される時間を記憶してもよい。メディアガイドアプリケーションは、現在の時間が挙動パターンと関連付けられる時間の閾値時間量(例えば、10分または挙動パターンの時間の長さの10%)以内である場合に、ユーザが間もなくネットワークアクセスを失うであろうことを判定してもよい。一方で、メディアガイドアプリケーションは、現在の時間が午前9時5分である場合に、ユーザが間もなくネットワークアクセスを失わないであろうことを挙動パターンが示すことを判定してもよく、プロセス900は、終了されてもよい。いかなる挙動パターンも読み出されたユーザプロファイル内で利用可能ではない場合、プロセス900はまた、終了されてもよい。
ブロック912では、メディアガイドアプリケーションは、制御回路504を使用して、ネットワークが、将来、利用不可能になるであろうことを判定する。メディアガイドアプリケーションは、ブール変数の値「NetworkLossUpcoming」を「True」に変更するように、記憶回路508を使用して、本判定を記憶してもよい。メディアガイドアプリケーションはまた、記憶回路508を使用して、その情報がユーザプロファイルから抽出されることができる場合、ネットワーク喪失が起こることが予期される時間を記憶してもよい。メディアガイドアプリケーションはまた、ユーザがネットワークアクセスを失うことが予期される時間を記憶してもよい。例えば、メディアガイドアプリケーションが、午後7時に開始するカレンダ記録がブロック904においてネットワークコネクティビティの喪失を示したことを判定した場合、午後7時が記憶されてもよい。別の実施例では、メディアガイドアプリケーションが、午前8時〜午前9時の挙動パターンがブロック910においてネットワークコネクティビティの喪失を示したことを判定した場合、午前8時が記憶されてもよい。いかなる時間情報も利用可能ではない場合、メディアガイドアプリケーションは、現在の時間から30分等の所定のデフォルト値を記憶してもよい。
図10は、本開示の実施形態を組み込む、ネットワークから第1のバージョン識別子および第2のバージョン識別子を受信するための例示的プロセス1000である。メディアガイドアプリケーションは、サーバのうちのいずれかの上のメディアアセットの第1および第2のバージョンの存在および可用性を知るために、第1および第2のバージョン識別子を使用してもよい。サーバは、メディアコンテンツソース616およびメディアガイドデータソース618のうちのいずれかであってもよい。制御回路504は、ブロック706の一部としてプロセス1000を実行してもよい。
ブロック1002では、メディアガイドアプリケーションは、制御回路504を使用して、ユーザ選択メディアアセットの識別子と、バージョン識別子の要求とを備える、クエリを構築する。例えば、メディアガイドアプリケーションは、以下の形式でユーザによって選択されるメディアアセットの要求、すなわち、「MEDIA_ID=‘MovieA’ AND MEDIA_VERSION=‘Any’」を構築してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、要求を伝送するために使用されているユーザデバイスと互換性があるバージョンのみを要求する。例えば、メディアガイドアプリケーションは、要求を伝送するために無線ユーザ通信デバイス606を使用してもよく、無線ユーザ通信デバイス606は、ディスプレイ512上に品質360pおよび480pのビデオのみを表示することができる。故に、メディアガイドアプリケーションは、以下の形式の要求、すなわち、「MEDIA_ID=‘MovieA’ AND (MEDIA_VERSION=‘360p’OR‘480p’)」を構築してもよい。ここで示される要求形式は、例示的であり、任意の適切な要求形式が使用されてもよい。
ブロック1004では、メディアガイドアプリケーションは、制御回路504を使用して、ブロック1002で構築されるクエリを複数のサーバに伝送する。メディアガイドアプリケーションは、通信ネットワーク614を使用して、クエリを伝送してもよい。複数のサーバは、ダウンロードのためのメディアアセットを提供することができる、メディアサーバ(メディアコンテンツソース616およびメディアガイドデータソース618等)であってもよい。
ブロック1006では、メディアガイドアプリケーションは、制御回路504を使用して、応答を待機する閾値時間量に達したかどうかを判定する。例えば、メディアガイドアプリケーションは、5秒の所定の応答待機時間を有してもよい。制御回路504は、クエリがブロック1004において伝送されてから5秒に達したかどうかを判定してもよい。クエリが伝送された時間は、最後のクエリが複数のサーバのうちの最後のものに伝送された時間であってもよい。閾値時間量に達していない場合、メディアガイドアプリケーションは、複数のサーバからの応答を待機し続け、記憶回路508を使用して、任意の受信された応答をキャッシュする。閾値時間量に達した場合、プロセス1000は、ブロック1008に進む。
ブロック1008では、メディアガイドアプリケーションは、制御回路504を使用して、受信されたバージョン識別子および関連付けられるサーバを記憶する。応答待機時間期間中に受信される全ての応答は、メディアガイドアプリケーションによってキャッシュされている場合がある。メディアガイドアプリケーションは、ここで、受信されたバージョン識別子および関連付けられるサーバを記憶してもよい。例えば、メディアガイドアプリケーションは、ブロック1006でサーバから応答を受信し、応答をキャッシュしている場合がある。メディアガイドアプリケーションは、ここで、キャッシュから応答を読み出し、応答からバージョン識別子およびサーバ識別子を抽出し、記憶回路508を使用して、本情報を記憶してもよい。例えば、受信およびキャッシュされた応答は、「TIME=‘1358’ AND MEDIA_ID=‘Movie A’ AND SERVER_ID=‘Movies Online Server 4’ AND (VERSION_ID=‘360p’AND‘480p’) AND LOCATION=‘ALABAMA’」であった場合がある。メディアガイドアプリケーションは、記憶回路508を使用して、将来使用するために、バージョン識別子(VERSION_ID=‘360p’AND‘480p’)およびサーバ識別子(SERVER_ID=‘Movies Online Server 4’)のみを記憶してもよい。メディアガイドアプリケーションは、ブロック1008が各受信された応答について実行された後に、キャッシュに記憶された情報を破棄してもよい。
ブロック1010では、メディアガイドアプリケーションは、制御回路504を使用して、ブロック1008中に記憶される情報から重複バージョン識別子を除去する。例えば、メディアガイドアプリケーションは、以下の入力、すなわち、[(SERVER_ID=‘Movies Online Server 4’ AND (VERSION_ID=‘360p’and‘480p’))、(SERVER_ID=‘Movies Online Server5’ AND VERSION_ID=‘480p’)]を記憶している場合がある。いくつかの実施形態では、メディアガイドアプリケーションは、可能な限り最大数の一意のサーバ識別子を記憶されたままにさせるように、重複を除去してもよい。故に、メディアガイドアプリケーションは、以下のような記憶された入力、すなわち、[(SERVER_ID=‘Movies Online Server 4’ AND VERSION_ID=‘360p’)、(SERVER_ID=‘Movies Online Server 5’ AND VERSION_ID=‘480p’)]から重複バージョン識別子「480p」を除去してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、(例えば、アルファベット順に、または応答の受信順に)サーバ識別子をソートし、重複がソートされたエントリの中で出現するにつれてそれらを除去してもよい。故に、メディアガイドアプリケーションは、以下のような記憶されてアルファベット順にソートされた入力、すなわち、[(SERVER_ID=‘Movies Online Server 4’AND (VERSION_ID=‘360p’AND‘480p’))から、重複バージョン識別子「480p」を除去してもよい。
図11は、本開示の実施形態を組み込む、メディアアセットのどのような割合が第1のバージョンでダウンロードされるべきかを判定するための例示的プロセス1100である。プロセス1100は、複数のメディアアセットの中のいずれかのメディアアセットのどのような割合が複数の利用可能なバージョンのうちのいずれかのバージョンでダウンロードされるべきかを判定するように、複数回実行され得ることが理解される。制御回路504は、ブロック708の一部としてプロセス1100を実行してもよい。
ブロック1102では、メディアガイドアプリケーションは、制御回路504を使用して、ダウンロードのための時間量のユーザ選択、ユーザが第1のバージョンで所望するコンテンツの割合、およびメディアアセットの所望のバージョンのうちのいくつかまたは全てを読み出す。いくつかの実施形態では、メディアガイドアプリケーションは、ユーザ選択のうちのいずれも読み出さなくてもよく、以下のブロックのために、読み出された選択の代わりに所定のデフォルト値を使用してもよい。情報は、図9に関連して説明されるユーザプロファイルから読み出されてもよい。ダウンロードのための時間量は、1時間等のユーザがメディアアセットのダウンロードに要することを所望する最大時間を規定してもよい。ユーザが第1のバージョンで所望するコンテンツの例示的割合は、SDでは映画の最大75%、残りがHDであってもよい。メディアアセットの所望のバージョンは、時間およびネットワーク可用性制約に照らして可能なときは常にHDであってもよい。メディアガイドアプリケーションは、充足されるべき制約として受信されたユーザ選択を使用してもよい。メディアガイドアプリケーションは、必要とされる場合、メディアアセットを完全にダウンロードするために、またはネットワークコネクティビティが失われる前にダウンロード可能なできるだけ多くのメディアアセットをダウンロードするために、これらの制約を破ってもよい。
メディアガイドアプリケーションは、ユーザ入力インターフェース510を通して本情報を受信し、記憶回路508を使用して、それを記憶している場合がある。ユーザは、ディスプレイ512上でオプションを選択するためにユーザ入力インターフェース510を使用してもよい。ユーザは、キーボードまたはドロップダウン選択を使用して、ダウンロードのための時間量を入力することが可能であり得る。ユーザは、スライダバーを使用して、またはキーボードを使用して数字を入力することによって、ユーザが第1のバージョンで所望するコンテンツの割合を入力することが可能であり得る。ユーザは、メディアアセットの利用可能なバージョンのうちのいくつかまたは全てのためのチェックボックスを選択することによって、メディアアセットの所望のバージョンを入力することが可能であり得る。いくつかの実施形態では、ユーザは、自分の選好をマイクロホンに話してもよく、メディアガイドアプリケーションは、ユーザの音声を転写し、次いで、それからユーザ選択を抽出するために、音声テキスト化変換を使用してもよい。
ブロック1104では、メディアガイドアプリケーションは、制御回路504を使用して、ネットワークが利用不可能になるまで残っている時間を判定する。メディアガイドアプリケーションは、プロセス900中に記憶される時間(例えば、ネットワークコネクティビティが午前8時に失われることが予期される)を読み出し、現在の時間(例えば、午前7時45分)を判定し、読み出された時間から現在の時間を減算して残っている時間(例えば、15分)を判定してもよい。
ブロック1106では、メディアガイドアプリケーションは、制御回路504を使用して、ブロック1102で読み出される、ダウンロードのためのユーザ選択時間の最小値に等しいローカル「time_variable」と、ブロック1104で判定される、ネットワークが利用不可能になるまで残っている時間を設定する。メディアガイドアプリケーションは、記憶回路508を使用して、「time_variable」を記憶してもよい。例えば、メディアガイドアプリケーションは、1時間のユーザ選択最大ダウンロード時間の最小値および15分のネットワークコネクティビティの喪失まで残っている時間を判定してもよい。メディアガイドアプリケーションは、記憶回路508を使用して、「time_variable=00:15」を記憶してもよい。
ブロック1108では、メディアガイドアプリケーションは、制御回路504を使用して、第1のバージョンでメディアアセットの第1の割合および第2のバージョンでメディアアセットの第2の割合をダウンロードすることが、「time_variable」よりも少ない時間を要するように、第1の割合および第2の割合を判定する。メディアアセットの2つより多くのバージョンがダウンロードされるであろう場合に、2つより多くの割合が判定されてもよい。2つのバージョンは、図10に関連して受信されて記憶されるバージョンであってもよい。メディアガイドアプリケーションは、以下の要因、すなわち、ネットワーク上の利用可能な帯域幅、ネットワーク上でダウンロードする速度、ダウンロードされるメディアアセットのサイズまたは長さ、「time_variable」、所望のバージョンの読み出されたユーザ選択、および/またはユーザが第1のバージョンで所望するコンテンツの割合の読み出されたユーザ選択の任意の組み合わせに基づいて、2つの割合を判定してもよい。メディアガイドアプリケーションは、利用可能な帯域幅またはダウンロード速度の所定のデフォルト値を使用してもよい。メディアガイドアプリケーションは、ダウンロードの速度およびダウンロードされたバージョンの品質の両方を最適化して平衡を保とうとしてもよい。例えば、ユーザ選択が、ユーザがSD品質でメディアアセットの最大で50%を所望し、HD品質をダウンロードすることを好むことを示した場合、メディアガイドアプリケーションは、ネットワークコネクティビティが15分位内に失われる前に、映画A102の45%がSD品質でダウンロードされる必要があり、映画A102の25%がHD品質でダウンロードされることができ、残りがダウンロードされることができないであろうことを判定してもよい。別の実施例では、ユーザ選択が、ユーザがSD品質でメディアアセットの最大で100%を所望することを示した場合、メディアガイドアプリケーションは、ネットワークコネクティビティが15分位内に失われる前に、映画A102の100%がSD品質でダウンロードされる必要があり、0%がHD品質であることを判定してもよい。割合は、メディアアセットの長さの割合またはメディアアセットのサイズの割合として表されてもよい。
ブロック1110では、メディアガイドアプリケーションは、制御回路504を使用して、現在のネットワークコネクティビティの推定値に基づいて、第1の割合および第2の割合を調節する。例えば、メディアガイドアプリケーションは、ブロック1108で第1および第2の割合を判定するときに、5MB/秒の所定のデフォルトダウンロード速度を使用している場合がある。故に、メディアガイドアプリケーションは、ネットワークコネクティビティが15分位内に失われる前に、映画A102の45%がSD品質でダウンロードされる必要があり、映画A102の25%がHD品質でダウンロードされることができ、残りがダウンロードされることができないであろうことを判定してもよい。しかしながら、メディアガイドアプリケーションは、現在のダウンロード速度が実際には6MB/秒であることを判定してもよい。メディアガイドアプリケーションは、ネットワーク614を使用して試験ファイルをアップロードまたはダウンロードし、試験を実行するために要する時間を測定する試験を実行することによって、現在のダウンロード速度または利用可能な帯域幅を判定してもよい。メディアガイドアプリケーションは、第1および第2の割合を調節し、ネットワークコネクティビティが15分位内に失われる前に、映画A102の50%がSD品質でダウンロードされる必要があり、映画A102の30%がHD品質でダウンロードされることができ、残りがダウンロードされることができないであろうことを判定してもよい。
ブロック1112では、メディアガイドアプリケーションは、制御回路504を使用して、記憶回路508を使用して第1の割合および第2の割合を記憶する。例えば、メディアガイドアプリケーションは、ブロック1110で、映画A102の50%がSD品質でダウンロードされる必要があり、映画A102の30%がHD品質でダウンロードされることができることを判定してもよい。メディアガイドアプリケーションは、記憶回路508を使用して、以下の例示的情報形式のうちのいずれか、すなわち、[HD=.5,SD=3]、[.5,.3]、[HD=50,SD30]、[50,30]、[HD=50,SD=30、NULL=20]、および[50,30,20]において、これらの割合を記憶してもよい。情報を記憶するための任意の他の類似形式もまた、使用されてもよい。
図12は、本開示の実施形態を組み込む、メディアアセットを分割するための例示的プロセス1200である。制御回路504は、ブロック708の一部としてプロセス1100を実行してもよい。プロセス1200は、2つの割合を使用するものとして説明されるが、任意の数の割合が本プロセスに従って使用され得ることが理解される。
ブロック1202では、メディアガイドアプリケーションは、制御回路504を使用して、メディアアセットの開始タイムスタンプを識別してもよい。メディアガイドアプリケーションは、メディアアセットがユーザによってすでに部分的に視聴されていない限り、またはユーザがメディアアセットの一部のみのダウンロードを要求していない限り、00:00のデフォルトタイムスタンプを判定してもよい。メディアアセットがユーザによって部分的に視聴された場合、メディアガイドアプリケーションは、メディアアセットの中の最新ブックマークと同一の値を有するように開始タイムスタンプを判定してもよい。ユーザがメディアアセットの一部のみのダウンロードを要求した場合、メディアガイドアプリケーションは、要求された部分の中の第1のタイムスタンプであるように開始タイムスタンプを判定してもよい。
ブロック1204では、メディアガイドアプリケーションは、制御回路504を使用して、記憶回路504を使用して第1の割合および第2の割合を読み出す。第1の割合および第2の割合の判定および記憶は、図11に関連してさらに詳細に説明される。
ブロック1206では、メディアガイドアプリケーションは、制御回路504を使用して、メディアアセットの長さの第1の割合およびメディアアセットの長さの第2の割合と関連付けられるマーカをメディアアセットメタデータの中に記憶する。例えば、メディアガイドアプリケーションは、開始タイムスタンプからメディアアセットの終了までの長さが20分であることを判定してもよい。第1の割合は、0.5であってもよく、第2の割合は、0.3であってもよい。メディアガイドアプリケーションは、記憶回路508を使用して、メディアアセットの長さの第1の割合(20分*0.5=10分)を示すマーカおよびメディアアセットの長さの第2の割合(20分*0.3=6分)を示すマーカを、ローカル記憶装置内のメディアアセットメタデータの中に記憶してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、割合のサイズ、すなわち、10分および6分を記憶する。いくつかの実施形態では、メディアガイドアプリケーションは、割合の境界をマークするメディアアセットの長さの中の点、すなわち、10分および(10分+6分=)16分を記憶する。これは、メディアガイドアプリケーションが第1のバージョンで0分のタイムスタンプと1分のタイムスタンプとの間、および第2のバージョンで10分のタイムスタンプと16分のタイムスタンプとの間のメディアアセットをダウンロードするであろうためである。
ブロック1208では、メディアガイドアプリケーションは、制御回路504を使用して、行われることができる同時ダウンロードの数を判定し、記憶回路508を使用して変数「num_sim_dl」として数を記憶する。メディアガイドアプリケーションは、現在のユーザデバイスの能力に基づいて、この数を判定してもよい。メディアガイドアプリケーションはまた、利用可能な同時ダウンロードストリームのうちのいくつが、ユーザデバイス上ですでに使用されているかを判定し、利用可能な総数からこの数を減算してもよい。例えば、メディアガイドアプリケーションは、メディアガイドアプリケーションを起動するユーザタブレットが10回の同時ダウンロードストリームが可能であることを判定してもよく、ダウンロードストリームのうちの8回が、現在使用されている。故に、メディアガイドアプリケーションは、記憶回路508を使用して、「num_sim_dl=2」を記憶してもよい。
ブロック1210では、メディアガイドアプリケーションは、制御回路504を使用して、(a)開始タイムスタンプおよび第1の割合と関連付けられるマーカと、(b)第1および第2のタイムスタンプと関連付けられるマーカとのそれぞれの間の「num_sim_dl−1」マーカを記憶する。これは、可能な限り多くの同時セグメントがダウンロードされることを可能にし得る。例えば、メディアガイドアプリケーションは、00:00に開始タイムスタンプ、10:00に第1の割合のためのタイムスタンプ、および16:00に第2の割合のためのタイムスタンプを伴って、20分の長さのメディアアセットをダウンロードしている場合がある。次いで、メディアガイドアプリケーションは、これらのタイムスタンプのそれぞれの間の「num_sim_dl−1」タイムスタンプを記憶してもよい。例えば、メディアガイドアプリケーションは、05:00における00:00の開始タイムスタンプと10:00の第1の割合タイムスタンプとの間、および13:00における10:00の第1の割合タイムスタンプと16:00の第2の割合タイムスタンプとの間の「num_sim_dl−1」(=2−1=1)という付加的タイムスタンプを記憶してもよい。
ブロック1212では、メディアガイドアプリケーションは、制御回路504を使用して、開始タイムスタンプと第1の割合と関連付けられるマーカとの間の全てのセグメントの第1のバージョンとの関連付け、および第1および第2の割合と関連付けられるマーカの間の全てのセグメントの第2のバージョンとの関連付けを記憶するように、メディアアセットメタデータを修正する。例えば、第1および第2のバージョンは、それぞれ、SDおよびHDバージョンであってもよい。上記で議論されるように、メディアガイドアプリケーションは、00:00、05:00、10:00、13:00、および16:00において、記憶されたタイムスタンプをメディアアセットメタデータの中に記憶している場合がある。メディアガイドアプリケーションは、セグメント00:00〜05:00および05:00〜10:00のためのSD品質との関連付けを記憶してもよい。メディアガイドアプリケーションはまた、セグメント10:00〜13:00および13:00〜16:00のためのHD品質との関連付けを記憶してもよい。メディアガイドアプリケーションは、記憶回路508を使用して、メディアアセットメタデータをローカル記憶装置の中に記憶してもよい。
図13は、本開示の実施形態を組み込む、メディアアセットの第1および第2の部分を受信するための例示的プロセス1300である。制御回路504は、ブロック710および712の一部としてプロセス1300を実行してもよい。プロセス1300は、第1のメディアアセットの第1のセグメントに関連して説明され、同一のプロセスが任意のメディアの任意のセグメントを受信するために使用され得ることが理解される。
ブロック1302では、メディアガイドアプリケーションは、制御回路504を使用して、サーバに、ユーザ選択メディアアセットの第1のセグメントを備える、第1のバージョン識別子と関連付けられるメディアアセットの第1のバージョンの第1の部分の要求を伝送する。ユーザ選択メディアアセットは、画面100に示されるような映画A102であってもよい。図10に関連して説明されるように、第1のバージョン識別子は、「SD」であってもよい。図12に関連して議論されるように、第1のセグメントは、タイムスタンプ00:00と05:00との間のメディアアセットの一部であってもよい。サーバは、メディアコンテンツソース616およびメディアガイドデータソース618のうちのいずれかであってもよい。メディアガイドアプリケーションは、通信ネットワーク614を通して、サーバに、ユーザ選択メディアアセットの識別子、第1のバージョン識別子を含む要求、および第1の部分と関連付けられるタイムスタンプを伝送してもよい。例えば、例示的要求は、[MEDIA_ID=“Movie A” AND VERSION_ID=“SD” AND TTMESTAMP1=“00:00” AND TIMESTAMP2=“05:00”]であってもよい。メディアガイドアプリケーションは、ブロック1008で記憶されるようなバージョン識別子と関連付けられるサーバに要求を伝送してもよい。
ブロック1304では、メディアガイドアプリケーションは、制御回路504を使用して、サーバからメディアアセットの第1のバージョンの第1の部分を受信する。メディアガイドアプリケーションは、ブロック1302で要求される部分を受信してもよい。メディアガイドアプリケーションが閾値応答時間以内に第1の部分を受信しない場合、メディアガイドアプリケーションは、要求を再伝送してもよい、または要求を別のサーバに伝送してもよい。ブロック1306では、メディアガイドアプリケーションは、制御回路504を使用して、ブロック1304で受信されるようなメディアアセットの第1のバージョンの第1の部分を、記憶回路508を使用して記憶する。
ブロック1308では、メディアガイドアプリケーションは、制御回路504を使用して、メディアアセットメタデータに基づいて、メディアアセットの第1のバージョンの第1の部分をメディアアセットの他の部分にリンクする。例えば、メディアアセットメタデータは、メディアアセットがタイムスタンプ00:00〜05:00からの第1のセグメントと、タイムスタンプ05:00〜10:00からの第2のセグメントとを有することを示してもよい。メディアガイドアプリケーションは、00:00〜05:00からのセグメントを備える、受信された第1の部分を、05:00〜10:00からのセグメントを備える、後に、または同時に受信される部分にリンクしてもよい。メディアガイドアプリケーションは、ユーザが画面200上で映画A202を選択するときに、第1の受信された部分および第2の受信された部分が連続して再生されることを可能にするように、受信された部分をリンクしてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、部分的にダウンロードされた部分を完全にダウンロードされた部分にリンクするであろう。例えば、メディアアセットの一部のダウンロードが、ネットワークコネクティビティの喪失の前に終了されることができなかった場合、部分的にダウンロードされた部分は、記憶され、完全にダウンロードされた部分にリンクされてもよい。メディアガイドアプリケーションは、ダウンロードされている間にユーザがメディアアセットを視聴することを可能にしてもよい。
いったんメディアアセットの第1の部分がダウンロードされると、メディアガイドアプリケーションは、画面100からメディアアセット(例えば、映画A102)のためのアイコンを除去し、メディアアセット(例えば、映画A202)のためのアイコンを画面200に追加し、画面200上のメディアアセットのためのアイコンの上にオーバーレイされたアイコン210を表示するために生成してもよい。メディアアセットの各後続部分がダウンロードされるとき、メディアガイドアプリケーションは、アイコン210を更新してもよい。更新は、メディアアセットのどの部分が各バージョンでダウンロードされたかをメディアガイドアプリケーションが判定することに基づいてもよい。判定を使用して、メディアガイドアプリケーションは、円グラフの部分の新しい面積でアイコン212または218を、同心円の新しい半径でアイコン214または220を、または中空同心円の埋められた円周の新しい長さでアイコン216または222を更新してもよい。
図14は、本開示の実施形態を組み込む、ダウンロードされたメディアアセットを置換するための例示的プロセス1400である。制御回路504は、より低品質のバージョンでダウンロードされたメディアアセットの部分をより高品質のバージョンと置換するように、プロセス1400を実行してもよい。例えば、ブロック1102で受信されるようなユーザ選択は、ユーザが「720p」品質におけるメディアアセットを好むことを示してもよい。メディアガイドアプリケーションは、ネットワークコネクティビティが失われる前にダウンロードを完了するように、「360p」品質でメディアアセットをダウンロードしている場合がある。いくつかの実施形態では、メディアガイドアプリケーションは、「360p」部分を「480p」部分と置換し、次いで、「480p」部分を「720p」部分と置換するであろう。いくつかの実施形態では、メディアガイドアプリケーションは、「360p」部分を「720p」部分と置換するであろう。
いくつかの実施形態では、メディアアセットの開始および終了部分における部分は、クレジットを含有する可能性が高く、故に、ユーザにとって重要ではない場合があるため、これらの部分は、メディアアセットのより高品質のバージョンと置換されなくてもよい。
ブロック1402では、メディアガイドアプリケーションは、制御回路504を使用して、現在のネットワークコネクティビティを判定する。メディアガイドアプリケーションは、図9に関連して予測されるネットワークコネクティビティの喪失後に、ユーザがネットワークコネクティビティを再獲得したかどうかを判定してもよい。メディアガイドアプリケーションは、通信ネットワーク614がアクセスされることができるかどうかを判定し、アクセスの品質を測定してもよい。例えば、メディアガイドアプリケーションは、帯域幅、アップロード速度、ダウンロード速度、または任意の他のネットワーク品質統計を測定してもよい。
ブロック1404では、メディアガイドアプリケーションは、制御回路504を使用して、ブロック1402で判定されるような現在のネットワークコネクティビティが、所定の閾値コネクティビティを上回るか、またはそれと等しいかどうかを判定する。条件が真である場合、プロセス1400は、ブロック1406に進む。そうでなければ、ブロック1400は、ブロック1402に戻る。
ブロック1406では、メディアガイドアプリケーションは、制御回路504を使用して、任意のダウンロードが現在起こっているかどうかを判定する。メディアガイドアプリケーションが、ダウンロードが現在起こっていることを判定する場合、メディアガイドアプリケーションは、すでにダウンロードされたメディアアセットの置換を開始する前に、これらのダウンロードが完了することを可能にしてもよい。メディアガイドアプリケーションは、現在のユーザデバイスのための全ての起こり得る同時ダウンロードストリームのステータスをチェックすることによって、任意のダウンロードが現在起こっているかどうかを判定してもよい。メディアガイドアプリケーションが、少なくとも1つのダウンロードストリームが使用されていないことを見出す場合、プロセス1400は、ブロック1408に進む。そうでなければ、ブロック1400は、ブロック1402に戻る。
ブロック1408では、メディアガイドアプリケーションは、制御回路504を使用して、不完全なメディアアセットまたは第1のバージョンにおけるメディアアセットを識別する。メディアガイドアプリケーションが、メディアアセットが完全にダウンロードされなかったことを判定する場合、メディアガイドアプリケーションは、不完全なメディアアセットの残りの部分をダウンロードしてもよい。メディアアセットが、より低品質の第1のバージョンの部分を有する場合、メディアガイドアプリケーションは、より低品質の第1のバージョン部分をより高品質の第2のバージョン部分と置換してもよい。メディアガイドアプリケーションは、最も長い不完全な部分またはより低品質の第1のバージョンの最も長い部分のいずれかを伴うメディアアセットを識別してもよい。
ブロック1410では、メディアガイドアプリケーションは、制御回路504を使用して、サーバからより高品質の第2のバージョンのメディアアセットを読み出す。いくつかの実施形態では、メディアガイドアプリケーションがブロック1408で不完全なメディアアセットを識別した場合、メディアガイドアプリケーションは、不完全なメディアアセットのダウンロードを完了するように、サーバからより低品質の第1のバージョンの部分を読み出してもよい。メディアガイドアプリケーションは、図13に関連して説明されるようにメディアアセットを読み出してもよい。
ブロック1412では、メディアガイドアプリケーションは、制御回路504を使用して、識別されたメディアアセットを読み出されたメディアアセットと置換する。メディアガイドアプリケーションは、記憶回路508からメディアアセットのより低品質の第1のバージョン部分を消去し、消去された部分をメディアアセットのより高品質の第2のバージョン部分と置換してもよい。メディアガイドアプリケーションはまた、ブロック1308に関連して説明されるように、より低品質の第1のバージョン部分へのリンクを除去し、より高品質のセクションバージョン部分へのリンクを追加するように、メディアアセットメタデータの中のリンクを更新してもよい。メディアガイドアプリケーションはまた、アイコン210を更新してもよい。
いくつかの実施形態では、メディアガイドアプリケーションがブロック1408で不完全なメディアアセットを識別した場合、メディアガイドアプリケーションは、ブロック1308に関連して説明されるように、新たにダウンロードされた部分と不完全なメディアアセットとの間にリンクを作成してもよい。
プロセス700−1400またはその任意のステップは、図3−4に示されるデバイスのうちのいずれかの最適化システムの上で行われ得る、またはそれによって提供され得ることに留意されたい。例えば、プロセス700−1400は、情報をユーザに提供するために、ユーザ機器602、404、および/または406(図4)の上に実装される処理回路によって命令されるように、処理回路504(図3)によって実行されてもよい。加えて、プロセス700−1400の1つまたはそれを上回るステップは、任意の他のプロセスまたは実施形態の1つまたはそれを上回るステップに組み込まれてもよい、またはそれと組み合わせられてもよい。
図7−14のステップまたは説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、図7−14に関連して説明されるステップまたは説明は、本開示の目的を促進するように、代替的順序で、または並行して行われてもよい。例えば、これらのステップはそれぞれ、遅延を低減させる、またはシステムまたは方法の速度を増加させるように、任意の順序で、または並行して、または実質的に同時に行われてもよい。
上記で議論されるプロセスは、限定的ではなく、例証的であることが意図される。当業者は、本明細書で議論されるプロセスのステップが、省略される、修正される、組み合わせられる、および/または並べ替えられてもよく、任意の付加的ステップが、本発明の範囲から逸脱することなく、行われてもよいことを理解するであろう。より一般的には、上記の開示は、限定的ではなく、例示的であることを意図する。続く請求項のみが、本発明が包含するものに関する境界を設定することを意図する。さらに、いずれか1つの実施形態で説明される特徴および制限は、本明細書の任意の他の実施形態に適用され得、一実施形態に関するフローチャートまたは実施例は、好適な様式で任意の他の実施形態と組み合わせられ、異なる順序で行われ、または並行して行われ得ることに留意されたい。加えて、本明細書で説明されるシステムおよび方法は、リアルタイムで行われてもよい。また、上記で説明されるシステムおよび/または方法は、他のシステムおよび/または方法に適用され、またはそれらに従って使用され得ることにも留意されたい。