JP2020519067A - 複数のソースからの検索結果を提示するためのシステムおよび方法 - Google Patents
複数のソースからの検索結果を提示するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2020519067A JP2020519067A JP2019556597A JP2019556597A JP2020519067A JP 2020519067 A JP2020519067 A JP 2020519067A JP 2019556597 A JP2019556597 A JP 2019556597A JP 2019556597 A JP2019556597 A JP 2019556597A JP 2020519067 A JP2020519067 A JP 2020519067A
- Authority
- JP
- Japan
- Prior art keywords
- result
- subset
- results
- source
- row
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/73—Querying
- G06F16/735—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9038—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Abstract
結果が受信されるソースをランク付けし、より低くランク付けされたソースからの重複結果を提示しないことによって、複数のソースからの検索結果を提示するためのシステムおよび方法。例えば、第1のソースおよび第2のソースからの結果が、受信され得る。第1のソースからの結果は、ユーザが第2のソースと比べて第1のソースの選好を有することに応答して、第2のソースからの結果よりも画面の上部に近い行内に提示され得る。2つの結果が合致する場合、結果は、より高くランク付けされたソースのための行内にのみ表示され、別の結果は、第1の行内の表示された結果のうちのいずれにも合致しない第2の行内に提示される。
Description
大量の利用可能なメディアコンテンツをそれぞれ伴う、多量のメディアコンテンツソースを考慮すると、ユーザは、多くの場合、所与のクエリに関して多数の検索結果に目を通すことが困難であることを見出す。具体的には、普遍的な検索特徴は、ユーザが、単一の検索を用いて多くの異なるコンテンツソースから結果を取得することを可能にしているが、非常に多くの結果に圧倒され得る。いくつかの従来のシステムは、結果をユーザに提示するときに、結果が受信されるソース別にそれらを編成することによって、これを克服しようとする。しかしながら、多くの同じメディアコンテンツが、異なるソースから利用可能であり、複数回提示され得、ユーザが関心を持ち得る結果がそれらの下に埋もれることにつながり得る。
故に、結果が受信されるソースをランク付けし、より低くランク付けされたソースからの重複結果を提示しないことによって、複数のソースからの検索結果を提示するためのシステムおよび方法が、本明細書に説明される。例えば、第1のソースおよび第2のソースからの結果が、受信され得る。第1のソースからの結果は、ユーザが第2のソースと比べて第1のソースの選好を有する(例えば、ユーザがHBOよりもAMAZON(登録商標)を好む)ことに応答して、第2のソースからの結果よりも画面の上部に近い行内に提示され得る。本システムは、次いで、(例えば、2つの結果のメタデータを比較することによって)AMAZON(登録商標)に関して表示されるであろう結果が、HBOに関して表示されるであろう結果に合致するかどうかを決定する。2つの結果が合致する場合、結果は、より高くランク付けされたソース(例えば、AMAZON(登録商標))に関してのみ提示され、別の結果は、第1の行内の表示された結果のうちのいずれにも合致しない第2の行内に提示される。このようにして、ユーザは、異なるソースから利用可能であるときに、同一の結果を複数回提示することとは対照的に、明確に異なる検索結果を提供される。
いくつかの側面では、メディアガイドアプリケーションは、ユーザ入力を受信する。例えば、メディアガイドアプリケーションは、ユーザ入力インターフェース(例えば、リモートコントロールまたはタッチスクリーンインターフェース)を介して、ユーザ入力を受信してもよい。ユーザ入力は、1つまたは複数の英数字または他の文字の列であってもよい。代替として、または加えて、ユーザ入力は、共通検索クエリを用いて複数の選択可能なオプションのうちの1つを選択することであってもよい。例えば、メディアガイドアプリケーションは、ユーザが選択するための選択可能なオプションとして、最も一般的に検索されるキーワードを提示し、ユーザが文字を入力する必要があり得る時間を節約してもよい。
メディアガイドアプリケーションは、ユーザ入力に基づいて、第1のソースおよび第2のソースからの結果を検索する。例えば、メディアガイドアプリケーションは、ユーザ入力を第1のソースおよび第2のソースに伝送してもよい。例えば、メディアガイドアプリケーションは、検索のためのユーザ入力(例えば、文字列)および/または他のパラメータ(例えば、結果がある時間周期中にあるべきである)を含む、データパケットを生成してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、ソースの一方または両方からのAPIを利用し、(例えば、ユーザ入力に基づいて)検索クエリを伝送してもよい。メディアガイドアプリケーションは、具体的ソースのユーザ選好(例えば、ユーザプロファイルの中の記憶されたユーザ選好)に基づいて、ユーザ入力を伝送するためのソースを決定してもよい。例えば、ユーザは、検索クエリがソースの特定のセット(例えば、AMAZON(登録商標)およびHULU(登録商標)に送信されるべきであるという選好を記憶してもよい。代替として、または加えて、メディアガイドアプリケーションは、ユーザ入力時にグラフィカルユーザインターフェースを生成し、ユーザがソースを選択することを可能にしてもよい。例えば、メディアガイドアプリケーションは、ユーザが、ソースが結果を検索するための文字列(例えば、ユーザ入力)および一連の選択可能なオプションを入力し得る、フィールドを生成してもよい。
メディアガイドアプリケーションは、第1のソースから第1の検索結果および第2のソースから第2の検索結果を受信する。例えば、メディアガイドアプリケーションは、両方のソースからのユーザ入力に合致する、複数の結果を受信してもよい。各ソースからの結果は、各テーブルが、合致する結果の識別子(例えば、メディアアセットのタイトル)および関連付けられるフィールド内の付加的情報(例えば、メディアアセットの中の俳優)をそれぞれ伴う、複数の行を含有する、別個のテーブルの中で受信されてもよい。いくつかの実施形態では、結果は、人気に従ってランク付けされてもよい。代替として、または加えて、結果は、ユーザ入力への関連性に従ってランク付けされてもよい。例えば、「The Big Bang Theory」が最も人気のある結果(例えば、多くのユーザがそれをクリックする)であるにもかかわらず、ユーザ入力が「Bang」であるため、Miley Cyrusによるアルバムである、結果「Bangerz」は、第1の言葉がクエリに合致されるため、より高くランク付けされてもよい。代替として、または加えて、メディアガイドアプリケーションは、上記で議論される要因の任意の組み合わせに基づいて、およびユーザ選好に基づいて、結果を並べ替えてもよい。例えば、メディアガイドアプリケーションが、ユーザが所与の俳優が出演する映画を好むというユーザ選好を読み出す場合、その俳優を伴う結果が、ランキングの中で上昇されてもよい。
メディアガイドアプリケーションは、第2のソースと比べて第1のソースの選好を示す、ユーザ選好を読み出す。例えば、メディアガイドアプリケーションは、ローカルで、またはサーバにおいて遠隔に記憶されたユーザプロファイルを読み出してもよい。メディアガイドアプリケーションは、ユーザプロファイルから検索選好を読み出してもよい。例えば、メディアガイドアプリケーションは、ユーザによって設定されるソースのランキングを記憶してもよい。具体的実施例として、メディアガイドアプリケーションは、ユーザが、ソース(例えば、HULU(登録商標)、AMAZON(登録商標)等)を特定の順序にドラッグアンドドロップし、その選好を反映し得る、グラフィカルユーザインターフェースを生成してもよい。メディアガイドアプリケーションは、次いで、ランクおよび各ソースの識別子を(例えば、アレイの中に)記憶してもよい。メディアガイドアプリケーションは、ユーザによって設定されるソースの記憶されたランクを読み出し、第1および第2のソースの個別のランクを決定してもよい。例えば、メディアガイドアプリケーションは、文字列「hulu」によって識別されるHULU(登録商標)が、「5」のランキングと関連付けられることを決定してもよい。AMAZON(登録商標)のランキングが「3」である場合、メディアガイドアプリケーションは、ユーザがHULU(登録商標)よりAMAZON(登録商標)を好むことを決定してもよく、下記でさらに説明されるように、選好に基づいて、2つのソースからの結果を生成する。
メディアガイドアプリケーションは、検索結果を伴う複数の行を備えるグリッドを表示するために生成する。例えば、メディアガイドアプリケーションは、第2のソースからの結果の上方に第1のソースからの結果を生成し、第1のソースから表示される結果に合致しない、第2のソースからの結果のみを表示してもよい。具体的には、メディアガイドアプリケーションは、第2のソースと比べて第1のソースの選好を示す、読み出されたユーザ選好に基づいて、第1の行内に第1のソースからの第1の検索結果を表示するために生成することを決定する。例えば、メディアガイドアプリケーションは、第1のソースからの結果を生成するための特定の場所(例えば、行)を決定してもよい。いくつかの実施形態では、行は、第2のソースからの結果が提示される、第2の行よりも画面の上部に近い行に位置してもよい。
メディアガイドアプリケーションは、第1の行に適合する第1の検索結果の第1のサブセットおよび第2の行に適合する第2の検索結果の第2のサブセットを決定し、第1のサブセットは、第1の検索結果のうちの第1の結果を含み、第2のサブセットは、第2の検索結果のうちの第3の結果ではなくて第2の結果を含む。例えば、メディアガイドアプリケーションは、第1の行および第2の行に適合する結果の数を決定してもよい。数は、一定であり得る(例えば、各行が、常に、3つの結果を含有する)、または結果の識別子の長さに基づいて変動し得る(例えば、多数の文字を伴う結果が、より多くの空間を占め、より少ない文字が、一度に表示されることができる)。いくつかの実施形態では、数は、第1の行および第2の行に関して異なり得る。例えば、ユーザ選好に基づいて好ましいことにより、より多くの結果が、第2の行よりも第1の行に関して表示されてもよい(例えば、第1の行が、より多くの表示空間を占め、2つの下位行内に結果を表示してもよい)。メディアガイドアプリケーションは、次いで、表示するために2つのソースからの受信された検索結果(例えば、第1および第2のサブセット)から適切な数の結果を選択してもよい。第1のサブセットは、第2のサブセットの中の第2の結果に合致する、第1の結果を含んでもよい。例えば、「The Big Bang Theory」は、第1および第2のサブセットの中に存在し得る。非重複結果をユーザに提示するために、メディアガイドアプリケーションは、下記でさらに説明されるように、第2の結果の代わりに、第1のサブセットの中の結果のうちの1つに合致しない、第2の検索結果のうちの第3の結果を選択してもよい。
メディアガイドアプリケーションは、第1の結果と関連付けられるメタデータを第2の結果と関連付けられるメタデータと比較する。例えば、メディアガイドアプリケーションは、ローカルで記憶装置または遠隔サーバから、結果と関連付けられるメタデータを読み出してもよい。メディアガイドアプリケーションは、代替として、または加えて、ソースから受信される結果と関連付けられるテーブルのフィールド内のメタデータを受信してもよい。メタデータは、結果と関連付けられるコンテンツを説明する結果に関連する任意のデータであってもよい。例えば、結果がニュース記事に関する場合、メタデータは、記事の著者、記事のタイプ(例えば、意見)、および/または出版物名(例えば、Nature)を含んでもよい。メディアガイドアプリケーションは、2つの結果のメタデータの文字(例えば、属性)を反復して比較し、2つの結果が合致するかどうかを決定するためのプログラムスクリプトを実行してもよい。例えば、メディアガイドアプリケーションは、第1の結果と関連付けられる文字列「Matt Damon」を、第2の結果と関連付けられる文字列「Matt Dillon」と比較してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、データベースからメタデータを読み出し、読み出されたメタデータの文字を比較して、2つの結果が合致するかどうかを決定してもよい。具体的には、メディアガイドアプリケーションは、第1の結果の第1の識別子および第2の結果の第2の識別子を、データベースの中に記憶された複数の識別子と比較する。識別子は、結果と関連付けられるタイトル、URL、および/または数値(例えば、シリアルコード)等の結果を定義する文字の任意の組み合わせであってもよい。例えば、メディアガイドアプリケーションは、記憶装置の中にローカルで、または通信ネットワークを介して遠隔サーバにおいて記憶される、データベースにアクセスしてもよい。データベースは、第1のテーブルの中の複数の識別子がそれぞれ、識別子と関連付けられるメタデータを含有する別のテーブルへのポインタと関連付けられる、一連の複数のリンクされたテーブル(例えば、関係データベース)として編成されてもよい。例えば、メディアガイドアプリケーションは、第1および第2の識別子の文字を記憶された複数の識別子と比較してもよい。メディアガイドアプリケーションは、第1の記憶された識別子が第1の識別子に合致し、第2の記憶された識別子が第2の識別子に合致することを決定する。例えば、メディアガイドアプリケーションは、第1の記憶された識別子が第1の識別子に合致し、第2の記憶された識別子が第2の識別子に合致することを決定してもよい。メディアガイドアプリケーションは、次いで、第1の記憶された識別子および第2の記憶された識別子に対応するフィールド内のポインタに基づいて、適切なリンクされたテーブルにアクセスしてもよい。
メディアガイドアプリケーションは、第1の記憶された識別子と関連付けられる第1のフィールドから第1のメタデータおよび第2の記憶された識別子と関連付けられる第2のフィールドから第2のメタデータを読み出す。例えば、各記憶された識別子と関連付けられるメタデータを含有するテーブルは、より容易な比較のために、各テーブルの第1のフィールド内のメタデータが、常に、結果と関連付けられるタイトルであり、各テーブルの第2のフィールド内のメタデータが、常に、監督等であるように、構造化されてもよい(例えば、同一の属性のメタデータが、各記憶された値を別の識別子と関連付けられる全ての記憶された値と比較する必要なく、比較されることができる)。代替として、または加えて、テーブルは、メタデータを伴う各フィールドが、異なる識別子と関連付けられる対応するメタデータを比較するために使用され得る、「ACTOR」等の標識と関連付けられるように、構造化されてもよい。メディアガイドアプリケーションは、第1の識別子(例えば、タイトル)と関連付けられる第1のフィールドからメタデータおよび第2の識別子(例えば、同様にタイトル)と関連付けられる第2のフィールドからメタデータを読み出してもよい。メディアガイドアプリケーションは、次いで、第1の結果と関連付けられる第1のメタデータの第1の文字を、第2の結果と関連付けられる第2のメタデータの第2の文字と比較する。例えば、メディアガイドアプリケーションは、(第1の識別子によって識別される)第1の結果と関連付けられる読み出された文字列の各文字を、(第2の識別子によって識別される)第2の結果と関連付けられる読み出された文字列の文字と比較してもよい。
メディアガイドアプリケーションは、比較に基づいて、第1の結果が第2の結果に合致することを決定する。例えば、メディアガイドアプリケーションは、第1の結果と関連付けられる具体的属性の各文字が、第2の結果と関連付けられる対応する属性の各文字に合致する場合、2つの結果が合致することを決定してもよい。例えば、2つの結果が、俳優「Matt Damon」を指すメタデータを含有する場合、メディアガイドアプリケーションは、メタデータが合致し、したがって、2つの結果が合致することを決定してもよい。代替として、または加えて、メディアガイドアプリケーションは、第1の結果と関連付けられる全てのメタデータ(例えば、全ての属性)または閾値割合(例えば、50%)が、第2の結果の対応するメタデータに合致するかどうかを決定してもよい。例えば、メディアガイドアプリケーションが、タイトル、監督、およびジャンル属性が2つの結果の間で合致することを決定する場合、メディアガイドアプリケーションは、2つの結果が、1つだけの属性が合致した場合よりも大きい信頼度を伴って合致することを決定してもよい。
いくつかの実施形態では、ある属性(例えば、タイトル)は、属性が結果の間でより明確に異なるため、2つの結果が合致するかどうかを決定する際に、さらに加重されてもよい。例えば、多くの結果が、「Matt Damon」を指し得るため、俳優メタデータのみが合致した場合に誤検出合致が起こり得るが、複数の結果が「The Bourne Identity」を指す可能性は低く、したがって、そのタイトルは、俳優よりも高く加重される。いくつかの実施形態では、閾値数の文字が第1の結果の属性と第2の結果の属性との間で合致する場合には、メディアガイドアプリケーションは、合致を決定してもよい。例えば、いくつかの事例では、スペルミスまたは他の誤植に起因して、単一の文字が、第1の結果と関連付けられるメタデータと第2の結果と関連付けられるメタデータとの間で異なり得る(例えば、「Tom Hanks」および「Tom Hankz」)。本状況では、閾値量の文字(例えば、1文字を除く全て)が合致する場合、メディアガイドアプリケーションは、第1および第2の結果と関連付けられるメタデータが合致することを決定してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、表示テンプレートに基づいて、第1および第2のサブセットに関して選択するための結果の数を決定してもよい。具体的には、メディアガイドアプリケーションは、グリッドのための表示テンプレートを読み出す。例えば、メディアガイドアプリケーションは、記憶装置からローカルで、または通信ネットワークを介してサーバから遠隔でのいずれかで、表示テンプレートを読み出してもよい。表示テンプレートは、異なる行内で複数のソースからの結果を表示するためのパラメータを含有する、クラスまたはテーブル等の任意の好適なデータ構造であってもよい。メディアガイドアプリケーションは、第1の行と関連付けられる表示テンプレートの第1のフィールドから、第1の行に適合する第1の数の結果に関して第1の値を読み出す。例えば、メディアガイドアプリケーションは、表示テンプレート内のフィールドから、第1の行内の結果の数に関して整数(例えば、「3」)を読み出してもよい。代替として、または加えて、メディアガイドアプリケーションは、第1の行の表示面積のサイズに対応する1つまたは複数の値を読み出し、第1の行に適合し得る結果の数を計算してもよい。メディアガイドアプリケーションは、第2の行と関連付けられる表示テンプレートの第2のフィールドから、第2の行に適合する第2の数の結果に関して第2の値を読み出す。第1の行に適合する結果の数の値と同様に、メディアガイドアプリケーションは、表示テンプレート内のフィールドから、第1の行内の結果の数に関して整数(例えば、「3」)を読み出してもよい。いくつかの実施形態では、第1の行に適合する結果の数は、第2の行に適合する結果の数と異なり得る。例えば、メディアガイドアプリケーションは、ユーザによって好まれるため、第1のソースからのより多数の結果を提示してもよい。
メディアガイドアプリケーションは、次いで、第1のサブセットとして、第1の検索結果から第1の数の結果を選択する。例えば、メディアガイドアプリケーションは、第1の検索結果から、第1の行に適合すると決定された結果の数を読み出してもよい(例えば、上記で議論されるように、第1のソースから受信される結果を含有するテーブルから、結果の識別子を読み出す)。メディアガイドアプリケーションは、第1の検索結果からの結果の数の識別子をリストまたは他のデータ構造に追加することによって、第1のサブセットを生成してもよい。メディアガイドアプリケーションは、第2のサブセットとして、第2の検索結果から第2の数の結果を選択する。例えば、メディアガイドアプリケーションは、第2の検索結果から、第2の行に適合すると決定された結果の数を読み出してもよい(例えば、上記で議論されるように、第2のソースから受信される結果を含有するテーブルから、結果の識別子を読み出す)。メディアガイドアプリケーションは、第2の検索結果からの結果の数の識別子をリストまたは他のデータ構造に追加することによって、第2のサブセットを生成してもよい。メディアガイドアプリケーションは、(例えば、各結果が表示テンプレート内でパラメータに従って表示されるように)第1および第2のサブセットの各識別子と関連付けられる付加的テキストおよび/またはグラフィックを読み出し、表示テンプレートのインスタンスにデータ投入してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、各ソースからの結果の関連性ランキングに基づいて、選択する結果を決定する。具体的には、メディアガイドアプリケーションは、ユーザ入力への各結果の関連性に基づいて、第1の検索結果の中の各結果および第2の検索結果の中の各結果をランク付けする。例えば、メディアガイドアプリケーションは、(例えば、ユーザが特定のリンクをクリックした回数に基づく)人気および/または文字合致(例えば、結果の文字に合致した、ユーザによって提出される検索クエリの文字の数)の観点から、すでにランク付けされている検索結果をソースから受信してもよい。本状況では、メディアガイドアプリケーションはさらに、ユーザ選好に基づいて、結果をランク付けしてもよい(例えば、これらの結果のユーザ選好に基づいて、ある結果を上昇させる)、または単純に、さらなるランク付けを伴わずに最高ランク付けされた結果を読み出してもよい。ソースから受信される結果がランク付けされておらず、ユーザのクエリへの類似性のみに基づいてランク付けされる場合、メディアガイドアプリケーションは、結果毎に、相対的人気を決定してもよい。例えば、メディアガイドアプリケーションは、各結果の識別子を、(記憶装置の中にローカルで、または遠隔サーバにおいてのいずれかで)データ構造の中に記憶された人気と比較してもよい。メディアガイドアプリケーションは、次いで、読み出された人気値に基づいて、ソースから受信される結果をランク付けしてもよい。例えば、人気値は、テレビ番組のニールセン視聴率であってもよい。
メディアガイドアプリケーションは、第1のサブセットの中の第1の結果として、第1の検索結果の中の最高ランク付けされた結果を読み出す。例えば、メディアガイドアプリケーションは、第1の結果として、ランク付けされた第1の検索結果のうちの最高ランク付けされた結果を読み出してもよい。メディアガイドアプリケーションは、第1の検索結果から次の最高ランク付けされた結果を読み出すことによって、(例えば、上記で議論されるように)第1の行に適合する結果の数を読み出し続けてもよい。メディアガイドアプリケーションは、第2のサブセットの中の第2の結果として、第2の検索結果の中の最高ランク付けされた結果を読み出す。例えば、メディアガイドアプリケーションは、第2の結果として、第2の検索結果のうちの最高ランク付けされた結果を読み出してもよい。メディアガイドアプリケーションは、第2の検索結果から次の最高ランク付けされた結果を読み出すことによって、(例えば、上記で議論されるように)第2の行に適合する結果の数を読み出し続けてもよい。
メディアガイドアプリケーションは、第1の結果が第2の結果に合致すると決定することに応答して、第2のサブセットの中の第2の結果を第3の結果と置換することによって、第2のサブセットを修正する。例えば、2つの結果が同時に表示されるものである(例えば、それらが第1および第2のサブセットの中にある)と決定することに応じて、メディアガイドアプリケーションは、ユーザが好まないソースの結果を別の結果と置換する。例えば、「The Big Bang Theory」が、第1および第2のソースの両方からの結果であり、第1および第2のサブセットの中にある場合、第2のサブセットの中の結果は、別の結果と置換されてもよい。下記でさらに議論されるように、第2の結果に取って代わる結果は、ユーザ選好に基づく、または第2のソースからの検索結果の中の各結果のランキングに基づいてもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、第2の結果を次の最高ランク付けされた結果と置換することによって、第2のサブセットを修正する。具体的には、メディアガイドアプリケーションは、第3の結果として、第2のサブセットの中にない次の最高ランク付けされた結果を読み出す。例えば、メディアガイドアプリケーションは、第2のサブセットの一部ではない最高ランク付けされた結果である、ランク付けされた結果のリスト(例えば、検索結果のソースから受信されるか、または上記で議論されるようにメディアガイドアプリケーションによって生成されるかのいずれかである)から結果を読み出してもよい。メディアガイドアプリケーションはさらに、(例えば、上記で議論されるようにメタデータを比較することによって)読み出された次の最高ランク付けされた結果が第1のサブセットの中の結果に合致するかどうかを決定してもよい。例えば、メディアガイドアプリケーションが、次の最高ランク付けされた結果が第1のサブセットの中の結果に合致することを決定する場合、メディアガイドアプリケーションは、結果が第1のサブセットのうちの1つに合致しなくなるまで、別の結果(例えば、ランク付けされたリスト上でより低い1つの結果)を読み出してもよい。
メディアガイドアプリケーションは、第2のサブセットから第2の結果を除去してもよい。例えば、メディアガイドアプリケーションは、第2のサブセットの識別子を記憶するリストまたは他のデータ構造から、第2の結果と関連付けられる識別子を除去してもよい。メディアガイドアプリケーションは、次いで、第3の結果を第2のサブセットに追加してもよい。例えば、メディアガイドアプリケーションは、次の最高ランク付けされた結果の識別子(第1のサブセットの中の結果のうちのいずれにも合致しない)をリストまたは他のデータ構造に追加してもよい。メディアガイドアプリケーションは、識別子を、除去された第2の結果の識別子によって前もってデータ投入された同一のフィールドに追加してもよい、または(例えば、人気に基づいて)識別子を並べ替えてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、識別子が行内でユーザに提示される順序として、リストまたは他のデータ構造の中に記憶された識別子の順序を使用する。
いくつかの実施形態では、メディアガイドアプリケーションは、第2の結果をユーザ選好に合致する結果と置換することによって、第2のサブセットを修正する。具体的には、メディアガイドアプリケーションは、検索結果の属性に関して第2のユーザ選好を読み出す。例えば、メディアガイドアプリケーションは、複数のユーザ選好を含有するユーザプロファイルを読み出してもよい。メディアガイドアプリケーションは、ユーザプロファイルから選好を読み出してもよい。例えば、メディアガイドアプリケーションは、ユーザが俳優「Matt Damon」を含む映画を享受することを読み出してもよい。メディアガイドアプリケーションは、読み出されたユーザ選好を、ソースからの検索結果のうちの各結果と関連付けられるメタデータと比較してもよい。例えば、メディアガイドアプリケーションは、ローカル記憶装置または遠隔サーバから結果と関連付けられるメタデータを読み出してもよい。
メディアガイドアプリケーションは、次いで、結果毎に、(例えば、文字比較に基づいて)ユーザ選好が各結果と関連付けられるメタデータに合致するかどうかを決定してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、ユーザプロファイル内の全てのユーザ選好を、結果と関連付けられるメタデータと比較し、各結果と関連付けられるメタデータに合致するユーザ選好の数に基づいて、結果をランク付けする。例えば、結果の俳優およびジャンルの両方がユーザ選好に合致する場合、結果は、別の結果よりも高くランク付けされてもよく、結果と関連付けられる俳優のみが、ユーザ選好に合致する。いくつかの実施形態では、メディアガイドアプリケーションは、第2の結果と置換する結果を決定するときに、(例えば、ユーザプロファイルの中に記憶されたインジケーションに基づいて)あるユーザ選好をより高く加重してもよい。例えば、メディアガイドアプリケーションは、ユーザがそのように指定することに基づいて、「アクション映画」に関する読み出されたユーザ選好がユーザにとって「低い選好」であることを決定してもよい。対照的に、メディアガイドアプリケーションは、「Matt Damon」に関する読み出されたユーザ選好がユーザにとって「高い選好」であることを決定してもよい。
メディアガイドアプリケーションは、第3の結果の属性が第2のユーザ選好に合致すると決定することに応答して、第2のサブセットから第2の結果を除去する。例えば、メディアガイドアプリケーションは、第2のサブセットの識別子を記憶するリストまたは他のデータ構造から、第2の結果と関連付けられる識別子を除去してもよい。メディアガイドアプリケーションは、次いで、第3の結果を第2のサブセットに追加してもよい。例えば、メディアガイドアプリケーションは、ユーザ選好に合致する(または最も密接に合致する)結果の識別子をリストまたは他のデータ構造に追加してもよい。メディアガイドアプリケーションは、識別子を、除去された第2の結果の識別子によって前もってデータ投入された同一のフィールドに追加してもよい、または(例えば、人気に基づいて)識別子を並べ替えてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、識別子が行内でユーザに提示される順序として、リストまたは他のデータ構造の中に記憶された識別子の順序を使用する。
メディアガイドアプリケーションは、第1の行内の第1のサブセットおよび第2の行内の修正された第2のサブセットを表示するために生成する。例えば、メディアガイドアプリケーションは、第1の行内で第1のサブセットの中の各結果の識別子を生成してもよい。具体的実施例として、識別子は、各結果を識別するテキストまたはグラフィックであってもよい。メディアガイドアプリケーションは、ソースから識別子を受信してもよい、またはローカル記憶装置または遠隔サーバからそれらを読み出してもよい。メディアガイドアプリケーションは、同様に、第2の行内で(例えば、第3の結果が第2の結果に取って代わっている)修正された第2のサブセットの中の各結果の識別子を生成してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、より多くの結果が利用可能であるというインジケーション(例えば、横向きに指し示す矢印)を生成する。矢印のユーザ選択を受信することに応答して、メディアガイドアプリケーションは、矢印が選択されたソースのみに関して(例えば、AMAZON(登録商標)からのより多くの結果が、現在の結果に取って代わって表示される)、または全ての表示されたソースに関して(例えば、AMAZON(登録商標)およびHULU(登録商標)からのより多くの結果が、現在の結果に取って代わって表示される)のいずれかで、新しいサブセットを生成してもよい。(例えば、より多くの結果を閲覧するためのユーザ入力に基づいて)表示されるサブセットの中の結果が変化する度に、メディアガイドアプリケーションは、上記で説明されるように、より低い行内の任意の結果が、より高い行内の結果に合致するかどうかを決定し、これらの結果を置換する。
いくつかの実施形態では、メディアガイドアプリケーションは、第1および第2のソースから受信される重複結果の総数を決定し、数をユーザに表示する。具体的には、メディアガイドアプリケーションは、第1の検索結果のうちの各結果を第2の検索結果のうちの各結果と比較する。例えば、メディアガイドアプリケーションは、第1の検索結果のうちの各結果と関連付けられるメタデータを、第2のソースから受信される各検索結果のメタデータと比較してもよい。例えば、メディアガイドアプリケーションは、forループを利用するプログラムを実行し、第1のソースからの各結果を第2のソースからの各結果と反復して比較してもよい。メディアガイドアプリケーションは、次いで、第1の検索結果のうちの各結果を第2の検索結果のうちの各結果と比較することに基づいて、第1の検索結果と第2の検索結果との間の重複結果の数を決定する。例えば、メディアガイドアプリケーションは、カウンタを初期化し、第1のソースからの全ての結果が第2のソースからの検索結果と比較されるまで、合致が第1のソースからの結果と第2のソースからの結果との間で決定される度に、カウンタをインクリメントしてもよい。上記で議論されるように、メディアガイドアプリケーションは、2つの検索結果と関連付けられる閾値割合のメタデータが合致する場合に、合致を決定してもよい。メディアガイドアプリケーションは、次いで、第2の行内に重複結果の数のインジケーションを表示するために生成する。例えば、メディアガイドアプリケーションは、第1の行または第2の行内に重複の総数(例えば、「30」)の値を伴って、テキストを表示するために生成してもよい。インジケーションは、随意に、重複が指すソースを明確にするテキストを含有してもよい。例えば、AMAZON(登録商標)が第1の行のためのソースであり、HULU(登録商標)が第2の行のためのソースである場合、メディアガイドアプリケーションは、第2の行内にテキスト「Amazonとの30個の重複ソース」を生成してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、結果のユーザ選択を受信することに応じて、同一の結果を返した他のソースを表示してもよい。具体的には、メディアガイドアプリケーションは、第1の結果のユーザ選択を受信する。例えば、メディアガイドアプリケーションは、リモートコントロールまたはタッチスクリーンインターフェース等のユーザ入力インターフェースを介して、グリッド上に表示される特定の結果の選択を受信してもよい。具体的実施例として、メディアガイドアプリケーションは、第1の行(例えば、ユーザの最も好ましいソース)内の「The Big Bang Theory」に関する結果がユーザによって選択されていることを決定してもよい。メディアガイドアプリケーションは、上記で議論されるように、選択された結果と関連付けられるメタデータを他のソースからの結果と比較することによって、「The Big Bang Theory」に関する結果が受信された、他のソースを決定してもよい。例えば、メディアガイドアプリケーションは、(第2のソースからの)第2の結果が(例えば、第1のソースからの)第1の結果に合致し、第1のソースがユーザによって選択されることを決定してもよい。メディアガイドアプリケーションは、ユーザ選択を受信することに応答して、第1の結果が第2のソースからも利用可能であるというインジケーションを表示するために生成する。例えば、第1および第2の検索結果の両方が「The Big Bang Theory」に関する結果を含む場合、ユーザが第1の検索結果を含有する第1の行内で「The Big Bang Theory」結果を選択することに応じて、メディアガイドアプリケーションは、結果が第2のソースによっても返されたというインジケーションを表示するために生成してもよい。具体的実施例として、メディアガイドアプリケーションは、テキスト「本結果はHuluによっても返されました」を表示するために生成してもよい。このようにして、メディアガイドアプリケーションは、各行内で同一の結果を示す必要なく、結果が利用可能である代替的ソースをユーザに提供してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、第1のソースの代わりに第2のソースの選好を表す要求をユーザから受信し、メディアガイドアプリケーションは、第2のサブセットの代わりに第1のサブセットから、第1のサブセットと第2のサブセットとの間の重複結果を置換する。具体的には、メディアガイドアプリケーションは、第1のソースと比べて第2のソースの第2の選好を示す、第2のユーザ入力を受信してもよい。例えば、メディアガイドアプリケーションは、表示するために第1および第2の結果からの検索結果を用いてグリッドを生成するとき、1つのソースからの結果を伴う行を別のソースからの結果を伴う別の行と交換するための選択可能なオプション(例えば、矢印)を含んでもよい。メディアガイドアプリケーションは、選択可能なオプションのうちの1つのユーザ選択を受信し、第1のソースからの結果を伴う第1の行の上方に第2のソースからの結果を伴う第2の行を上昇させてもよい。例えば、ユーザは、(例えば、リモートコントロール等のユーザ入力インターフェースを介して)上向きに指し示す矢印グラフィックを選択してもよく、メディアガイドアプリケーションは、(例えば、第1の行が第2の行の直ぐ上方にある場合)ユーザ選択が第1および第2の行を交換する要求であることを決定してもよい。メディアガイドアプリケーションは、2つのソースからの検索結果を用いて将来のグリッドを生成するときに使用するために、第1のソースと比べて第2のソースの新しいユーザ選好を(例えば、ユーザプロファイルの中に)記憶してもよい。
メディアガイドアプリケーションは、第2のユーザ入力を受信することに応答して、第1および第2の検索結果が表示される行を交換し、あまり好ましくないソース(例えば、第1のソース)からの重複がより好ましいソース(例えば、第2のソース)とともに存在するかどうかを決定する。具体的には、メディアガイドアプリケーションは、修正された第2のサブセットの中の第3の結果を第2の結果と置換することによって、第2の検索結果の第3のサブセットを生成する。例えば、第2のソースが第1のソースと比べて好ましいので、第2のソースからの結果が好ましい。したがって、(例えば、「The Big Bang Theory」に関する)第2の結果は、表示するために結果の新しい第3のサブセットを作成するように、第2のサブセットの中に戻るように追加されてもよい。メディアガイドアプリケーションは、第3のサブセットの一部である各結果の識別子を用いて新しいリストまたは他のデータ構造を生成する、または第2のサブセットのために既存のリストまたは他のデータ構造を修正してもよい。いくつかの実施形態では、第2の結果は、第3の結果に取って代わる。他の実施形態では、前もってサブセットの中にあった別の結果が、除去され、第2および第3の結果の両方が、第3のサブセットの中にある。
メディアガイドアプリケーションは、第1のサブセットの中の第1の結果を第1の検索結果のうちの第4の結果と置換することによって、第1の検索結果の第4のサブセットを生成し、第4の結果は、第1のサブセットの中にはない。例えば、第2のソースが第1のソースと比べて好ましいので、第2のソースの結果に合致する第1のソースからの結果は、他の結果と置換される必要がある。したがって、(例えば、「The Big Bang Theory」に関する)第1の結果は、(例えば、上記で議論されるようにメタデータを比較することに基づいて)第3のサブセットの中の結果のうちのいずれにも合致しない、第1の結果のうちの第4の結果と置換されてもよい。メディアガイドアプリケーションは、第4のサブセットの一部である各結果の識別子を用いて新しいリストまたは他のデータ構造を生成する、または第1のサブセットのために既存のリストまたは他のデータ構造を修正してもよい。メディアガイドアプリケーションは、次いで、第1のサブセットの代わりに第1の行内の第3のサブセットおよび修正された第2のサブセットの代わりに第2の行内の第4のサブセットを表示するために生成する。例えば、メディアガイドアプリケーションは、第1の行内の第3のサブセットのうちの各結果および第2の行内の第4のサブセットのうちの各結果と関連付けられるインジケータ(例えば、テキストおよび/またはグラフィック)を生成してもよい。このようにして、重複結果は、依然として提示されないが、ここでは、第2のソースが第1のソースと比べて好ましいため、重複結果は、第2の結果ではなくて第1の結果から置換される。
いくつかの実施形態では、結果は、メディアアセットを識別し、メディアガイドアプリケーションは、メディアアセットに関連するアクションを実施するための選択可能なオプションを提示する。具体的には、メディアガイドアプリケーションは、第1の結果のユーザ選択を受信する。例えば、メディアガイドアプリケーションは、リモートコントロールまたはタッチスクリーンインターフェース等のユーザ入力インターフェースを介して、グリッド上に表示される特定の結果の選択を受信してもよい。具体的実施例として、メディアガイドアプリケーションは、第1の行(例えば、ユーザの最も好ましいソース)内の「The Big Bang Theory」に関する結果がユーザによって選択されていることを決定してもよい。メディアガイドアプリケーションは、ユーザ選択を受信することに応答して、メディアアセットと関連付けられる複数の選択可能なオプションを表示するために生成する。複数のオプションは、メディアアセットを鑑賞リストに追加するためのオプションを含んでもよい。例えば、ユーザによるメディアアセットを鑑賞リストに追加するためのオプションの選択に応じて、メディアガイドアプリケーションは、ユーザがある将来の時間に鑑賞することを所望するメディアアセットの識別子を含むデータ構造の中にメディアアセットと関連付けられる識別子を記憶してもよい。
複数のオプションは、メディアアセットをお気に入りリストに追加するためのオプションを含んでもよい。例えば、ユーザによるメディアアセットをお気に入りリストに追加するためのオプションの選択に応じて、メディアガイドアプリケーションは、ユーザが好むメディアアセットの識別子を含むデータ構造の中にメディアアセットと関連付けられる識別子を記憶してもよい。いくつかの実施形態では、お気に入りリストは、上記で議論されるように、重複結果と置換する結果を決定するときに、特定の結果に関してユーザ選好を決定するために使用されてもよい。複数のオプションは、メディアアセットが利用可能になる次回の時間を閲覧するためのオプションを含んでもよい。例えば、ユーザによるメディアアセットが利用可能になる次回の時間を閲覧するためのオプションの選択に応じて、メディアガイドアプリケーションは、メディアアセットが利用可能である時間およびソースに関して、(例えば、記憶装置の中にローカルで、または遠隔サーバにおいて記憶された)メディアガイドデータベースにクエリを行ってもよい。メディアガイドアプリケーションは、次いで、メディアアセットが利用可能である時間およびソースを表示するために生成してもよい。
複数のオプションは、メディアアセットを録画するためのオプションを含んでもよい。例えば、ユーザによるメディアアセットを録画するためのオプションの選択に応じて、メディアガイドアプリケーションは、メディアアセットがある時間周期中にソースから利用可能であるかどうかを決定してもよい。メディアアセットが利用可能である場合、メディアガイドアプリケーションは、(例えば、メディアアセットの識別子およびメディアアセットが利用可能であるソースおよび時間をスケジューリングデータ構造に追加することによって)録画をスケジュールしてもよい。メディアアセットが利用可能ではない場合、メディアガイドアプリケーションは、上記で議論されるように、メディアアセットを鑑賞リストに追加してもよい。
説明されるシステムおよび方法は、ユーザ選好に基づいて、異なる行内の異なるソースからの検索結果を提示し、あまり好ましくないソースがより好ましいソースとの重複を表示しないことを確実にすることができる。従来のシステムは、結果のソースによって編成される、異なるソースからの結果を提示してもよい。しかしながら、本プロセスは、それらの個別のソースに基づいて結果を順序付けるときにユーザ選好を無視する。さらに、従来のシステムは、(ユーザの選好に基づく)より低くランク付けされたソースが、より高くランク付けされたソースとの重複結果を含有することを決定せず、故に、異なる結果を提示する。説明されるシステムおよび方法は、重複を考慮および除去することによって、所与の表示画面上に提示され得る一意の結果の数を最大限にすることができる。
上記に説明されるシステムおよび/または方法は、本開示に説明される他のシステム、方法、および/または装置に適用される、またはそれに従って使用され得ることに留意されたい。
本開示の上記および他の目的および利点は、同様の参照文字が全体を通して同様の部分を指す、添付の図面と併せて考慮される、以下の発明を実施するための形態の検討から明白となるであろう。
システムおよび方法が、結果が受信されるソースをランク付けし、より低くランク付けされたソースからの重複結果を提示しないことによって、複数のソースからの検索結果を提示するために説明される。例えば、第1のソースおよび第2のソースからの結果が、受信され得る。第1のソースからの結果は、ユーザが第2のソースと比べて第1のソースの選好を有する(例えば、ユーザがHBOよりもAMAZON(登録商標)を好む)ことに応答して、第2のソースからの結果よりも画面の上部に近い行内に提示され得る。本システムは、次いで、(例えば、2つの結果のメタデータを比較することによって)AMAZON(登録商標)に関して表示されるであろう結果が、HBOに関して表示されるであろう結果に合致するかどうかを決定する。2つの結果が合致する場合、結果は、より高くランク付けされたソース(例えば、AMAZON(登録商標))に関してのみ提示され、別の結果は、第1の行内の表示された結果のうちのいずれにも合致しない第2の行内に提示される。このようにして、ユーザは、異なるソースから利用可能であるときに、同一の結果を複数回提示することとは対照的に、全て異なる検索結果を提供される。
図1は、本開示のいくつかの実施形態による、グリッド内に複数のソースからの検索結果を示す、表示の例証的実施例を示す。例えば、表示100は、ユーザクエリ102に関する検索結果を表示するためにメディアガイドアプリケーションを実行する、ユーザ機器に結合されてもよい。ユーザクエリ102は、表示100を表示する同一のユーザ機器または他のユーザ機器に結合されるユーザ入力インターフェースを介して、受信されてもよい。表示100は、ソース104および106、および付加的ソース108のための行を備える、グリッドを含む。ソース(例えば、ソース104またはソース106)のための各行は、ソースからの結果のサブセットを含有する。例えば、結果112、114、および116は、ソース104から表示され、結果118、120、および122は、ソース106から示される。ソース104およびソース106は、下記で議論されるように、同一の結果を含んでもよい(例えば、結果112は、両方のソースから表示されるサブセットの一部である)。応答して、メディアガイドアプリケーションは、ユーザがあまり好まないソースから(例えば、ソース106から)重複結果を除去してもよい。
表示100は、ユーザ選好に基づいて(例えば、上から下に)順序付けられるソースを含んでもよい。例えば、ユーザプロファイルの中に記憶されたユーザ選好が、ソース104がソース106よりも好ましいことを示す場合、メディアガイドアプリケーションは、表示100内のソース106の上方にソース104を生成してもよい。表示100は、それぞれ、ソース104および106から関連付けられる付加的結果を表示するための矢印124および130を含んでもよい。表示100は、ソースを並べ替えるための矢印126および128を含んでもよい。例えば、矢印126または128のうちの1つの選択に応じて、メディアガイドアプリケーションは、表示100上に提示されるソースを並べ替えてもよい(例えば、ソース106は、第1の行であってもよく、ソース104は、第2の行であってもよい)。表示100は、1つ以上のユーザデバイス(例えば、下記の図6−7に列挙されるデバイスのうちのいずれか)上に出現してもよい。また、メディアガイドアプリケーションは、図8−12に説明されるプロセスのうちの1つ以上のものを使用し、表示100または本明細書に説明される特徴のうちのいずれかを生成してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザ入力を受信する。例えば、メディアガイドアプリケーションは、ユーザ入力インターフェース(例えば、リモートコントロールまたはタッチスクリーンインターフェース)を介して、ユーザ入力を受信してもよい。ユーザ入力は、1つまたは複数の英数字または他の文字の列(例えば、「Big」)であってもよい。代替として、または加えて、ユーザ入力は、共通検索クエリを用いて複数の選択可能なオプションのうちの1つを選択することであってもよい。例えば、メディアガイドアプリケーションは、ユーザが選択するための選択可能なオプションとして、最も一般的に検索されるキーワードを提示し、ユーザが文字を入力する必要があり得る時間を節約してもよい。
メディアガイドアプリケーションは、ユーザ入力に基づいて、第1のソースおよび第2のソースからの結果を検索する。例えば、メディアガイドアプリケーションは、ユーザ入力(例えば、ユーザクエリ102)を第1のソースおよび第2のソース(例えば、ソース104および106)に伝送してもよい。例えば、メディアガイドアプリケーションは、検索のためのユーザ入力(例えば、文字列)および/または他のパラメータ(例えば、結果がある時間周期中にあるべきである)を含む、データパケットを生成してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、ソースの一方または両方(例えば、ソース104および106の一方または両方)からのAPIを利用し、(例えば、ユーザ入力に基づいて)検索クエリを伝送してもよい。メディアガイドアプリケーションは、具体的ソースのユーザ選好(例えば、ユーザプロファイルの中の記憶されたユーザ選好)に基づいて、ユーザ入力を伝送するためのソース(例えば、ソース104および106)を決定してもよい。例えば、ユーザは、検索クエリがソースの特定のセット(例えば、ソース104および106)に送信されるべきであるという選択を記憶してもよい。代替として、または加えて、メディアガイドアプリケーションは、ユーザ入力時にグラフィカルユーザインターフェースを生成し、ユーザがソース(例えば、ソース104および106)を選択することを可能にしてもよい。例えば、メディアガイドアプリケーションは、ユーザが、ソースが結果を検索するための文字列(例えば、ユーザクエリ102)および一連の選択可能なオプションを入力し得る、フィールドを生成してもよい。
本明細書で参照されるように、「結果」は、ユーザからの入力に関連または合致するデータとして理解されるはずである。例えば、データは、ウェブページへのURLまたはメディアアセットが記憶される記憶装置内の場所へのリンク等のデータの場所へのリンクであってもよい。別の実施例として、データは、ユーザ入力に合致するテキストまたはグラフィックであってもよい(例えば、ユーザ入力が「オレンジ」である場合、果物の画像が結果であってもよい)。本明細書で参照されるように、「検索結果」は、ソースから受信される1つ以上の結果として理解されるはずである。例えば、ユーザ入力に基づいて結果に関してクエリを行われるソースは、複数の結果(例えば、異なるURLへのリンク、記憶装置内の異なる場所へのポインタ、グラフィック等)を返してもよい。
メディアガイドアプリケーションは、第1のソースから第1の検索結果および第2のソースから第2の検索結果を受信する。例えば、メディアガイドアプリケーションは、両方のソース(例えば、ソース104および106)からのユーザ入力(例えば、ユーザクエリ102)に合致する、複数の結果を受信してもよい。各ソース(例えば、ソース104および106)からの結果は、各テーブルが、合致する結果の識別子(例えば、メディアアセットのタイトル)および関連付けられるフィールド内の付加的情報(例えば、メディアアセットの中の俳優)をそれぞれ伴う、複数の行を含有する、別個のテーブルの中で受信されてもよい。いくつかの実施形態では、結果は、図2および10に関して下記でさらに説明されるように、人気に従ってランク付けされてもよい。代替として、または加えて、結果は、図2および10に関して下記でさらに説明されるように、ユーザ入力への関連性に従ってランク付けされてもよい。例えば、「The Big Bang Theory」が最も人気のある結果(例えば、多くのユーザがそれをクリックする)であるにもかかわらず、ユーザ入力が「Bang」であるため、Miley Cyrusによるアルバムである、結果「Bangerz」は、第1の言葉がクエリに合致されるため、より高くランク付けされてもよい。代替として、または加えて、メディアガイドアプリケーションは、上記で議論される要因の任意の組み合わせに基づいて、およびユーザ選好に基づいて、結果を並べ替えてもよい。例えば、メディアガイドアプリケーションが、ユーザが所与の俳優が出演する映画を好むというユーザ選好を読み出す場合、その俳優を伴う結果が、ランキングの中で上昇されてもよい。
メディアガイドアプリケーションは、第2のソースと比べて第1のソースの選好を示す、ユーザ選好を読み出す。例えば、メディアガイドアプリケーションは、ローカルで、またはサーバにおいて遠隔に記憶されたユーザプロファイルを読み出してもよい。メディアガイドアプリケーションは、ユーザプロファイルから検索選好を読み出してもよい。例えば、メディアガイドアプリケーションは、ユーザによって設定されるソース(例えば、ソース104および106)のランキングを記憶してもよい。具体的実施例として、メディアガイドアプリケーションは、ユーザが、ソース(例えば、ソース104および106)を特定の順序にドラッグアンドドロップし、その選好を反映し得る、グラフィカルユーザインターフェースを生成してもよい。メディアガイドアプリケーションは、次いで、ランクおよび各ソース(例えば、ソース104および106)の識別子を(例えば、アレイの中に)記憶してもよい。メディアガイドアプリケーションは、ユーザによって設定されるソース(例えば、ソース104および106)の記憶されたランクを読み出し、第1および第2のソースの個別のランクを決定してもよい。例えば、メディアガイドアプリケーションは、文字列「hulu」によって識別されるHULU(登録商標)が、「5」のランキングと関連付けられることを決定してもよい。AMAZON(登録商標)のランキングが「3」である場合、メディアガイドアプリケーションは、ユーザがHULU(登録商標)よりAMAZON(登録商標)を好むことを決定してもよく、下記でさらに説明されるように、グリッド(例えば、表示100)内の選好に基づいて、2つのソースからの結果を生成する。
メディアガイドアプリケーションは、検索結果を伴う複数の行を備えるグリッドを表示するために生成する。例えば、メディアガイドアプリケーションは、第2のソース(例えば、ソース106)からの結果の上方に第1のソース(例えば、ソース104)からの結果を生成し、第1のソースから表示される結果に合致しない、第2のソースからの結果のみを表示してもよい。具体的には、メディアガイドアプリケーションは、第2のソースと比べて第1のソースの選好を示す、読み出されたユーザ選好に基づいて、第1の行内に第1のソースからの第1の検索結果を表示するために生成することを決定する。例えば、メディアガイドアプリケーションは、第1のソース(例えば、ソース104)からの結果(例えば、結果112、114、および116)を生成するための特定の場所(例えば、行)を決定してもよい。いくつかの実施形態では、行は、第2のソースからの結果が提示される、第2の行よりも画面(例えば、表示100)の上部に近い行に位置してもよい。
メディアガイドアプリケーションは、第1の行に適合する第1の検索結果の第1のサブセットおよび第2の行に適合する第2の検索結果の第2のサブセットを決定し、第1のサブセットは、第1の検索結果のうちの第1の結果を含み、第2のサブセットは、第2の検索結果のうちの第3の結果ではなくて第2の結果を含む。例えば、メディアガイドアプリケーションは、第1の行および第2の行に適合する結果の数を決定してもよい。数は、一定であり得る(例えば、各行が、常に、3つの結果を含有する)、または結果の識別子の長さに基づいて変動し得る(例えば、多数の文字を伴う結果が、より多くの空間を占め、より少ない文字が、一度に表示されることができる)。いくつかの実施形態では、数は、第1の行および第2の行に関して異なり得る。例えば、ユーザ選好に基づいて好ましい(例えば、ソース104がソース106と比べて好ましい)ことにより、より多くの結果が、第2の行よりも第1の行に関して表示されてもよい(例えば、第1の行が、より多くの表示空間を占め、2つの下位行内に結果を表示してもよい)。メディアガイドアプリケーションは、次いで、表示するために2つのソースからの受信された検索結果から適切な数の結果を選択してもよい(例えば、結果112、114、および116が、ソース104から受信される結果から選択される)。第1のサブセットは、第2のサブセットの中の第2の結果に合致する、第1の結果を含んでもよい。例えば、「The Big Bang Theory」(例えば、結果112)は、第1および第2のサブセットの中に存在し得る(例えば、ソース104および106からの選択された結果は両方とも、同一の結果を含む)。非重複結果をユーザに提示するために、メディアガイドアプリケーションは、下記でさらに説明されるように、第2の結果の代わりに、第1のサブセットの中の結果のうちの1つに合致しない(例えば、結果112、114、または116に合致しない)、第2の検索結果のうちの第3の結果を選択してもよい。
メディアガイドアプリケーションは、第1の結果と関連付けられるメタデータを第2の結果と関連付けられるメタデータと比較する。例えば、メディアガイドアプリケーションは、ローカルで記憶装置または遠隔サーバから、結果(例えば、結果112)と関連付けられるメタデータを読み出してもよい。メディアガイドアプリケーションは、代替として、または加えて、ソース(例えば、ソース104)から受信される結果と関連付けられるテーブルのフィールド内のメタデータを受信してもよい。メタデータは、結果と関連付けられるコンテンツを説明する結果に関連する任意のデータであってもよい。例えば、結果がニュース記事に関する場合、メタデータは、記事の著者、記事のタイプ(例えば、意見)、および/または出版物名(例えば、Nature)を含んでもよい。メディアガイドアプリケーションは、2つの結果のメタデータの文字(例えば、属性)を反復して比較し、2つの結果が合致するかどうかを決定する(例えば、ソース104からの結果112およびソース106からの結果118が比較される)ためのプログラムスクリプトを実行してもよい。例えば、メディアガイドアプリケーションは、第1の結果と関連付けられる文字列「Matt Damon」を、第2の結果と関連付けられる文字列「Matt Dillon」と比較してもよい。
メディアガイドアプリケーションは、比較に基づいて、第1の結果が第2の結果に合致することを決定する。例えば、メディアガイドアプリケーションは、第1の結果(例えば、ソース104からの結果112)と関連付けられる具体的属性の各文字が、2つの結果が合致する第2の結果(例えば、ソース106からの結果112に合致する結果)と関連付けられる対応する属性の各文字に合致するかどうかを決定してもよい。例えば、2つの結果が、俳優「Matt Damon」を指すメタデータを含有する場合、メディアガイドアプリケーションは、メタデータが合致し、したがって、2つの結果が合致することを決定してもよい。代替として、または加えて、メディアガイドアプリケーションは、(例えば、ソース104からの)第1の結果と関連付けられる全てのメタデータ(例えば、全ての属性)または閾値割合(例えば、50%)が、(例えば、ソース106からの)第2の結果の対応するメタデータに合致するかどうかを決定してもよい。例えば、メディアガイドアプリケーションが、タイトル、監督、およびジャンル属性が2つの結果の間で合致することを決定する場合、メディアガイドアプリケーションは、2つの結果が、1つだけの属性が合致した場合よりも大きい信頼度を伴って合致することを決定してもよい。
いくつかの実施形態では、ある属性(例えば、タイトル)は、属性が結果の間でより明確に異なるため、2つの結果が合致するかどうかを決定する際に、さらに加重されてもよい。例えば、多くの結果が、「Matt Damon」を指し得るため、俳優メタデータのみが合致した場合に誤検出合致が起こり得るが、複数の結果が「The Bourne Identity」を指す可能性は低く、したがって、そのタイトルは、俳優よりも高く加重される。いくつかの実施形態では、閾値数の文字が(例えば、ソース104からの)第1の結果の属性と(例えば、ソース106からの)第2の結果の属性との間で合致する場合には、メディアガイドアプリケーションは、合致を決定してもよい。例えば、いくつかの事例では、スペルミスまたは他の誤植に起因して、単一の文字が、第1の結果と関連付けられるメタデータと第2の結果と関連付けられるメタデータとの間で異なり得る(例えば、「Tom Hanks」および「Tom Hankz」)。本状況では、閾値量の文字(例えば、1文字を除く全て)が合致する場合、メディアガイドアプリケーションは、第1および第2の結果と関連付けられるメタデータが合致することを決定してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、表示テンプレートに基づいて、第1および第2のサブセットに関して選択するための結果の数を決定してもよい。具体的には、メディアガイドアプリケーションは、グリッドのための(例えば、表示100を生成するための)表示テンプレートを読み出す。例えば、メディアガイドアプリケーションは、記憶装置からローカルで、または通信ネットワークを介してサーバから遠隔でのいずれかで、表示テンプレートを読み出してもよい。表示テンプレートは、異なる行内で複数のソースからの結果を表示するためのパラメータを含有する、クラスまたはテーブル等の任意の好適なデータ構造であってもよい。メディアガイドアプリケーションは、第1の行と関連付けられる表示テンプレートの第1のフィールドから、第1の行に適合する第1の数の結果に関して第1の値を読み出す。例えば、メディアガイドアプリケーションは、表示テンプレート内のフィールドから、第1の行内の結果の数に関して整数(例えば、「3」)を読み出してもよい。代替として、または加えて、メディアガイドアプリケーションは、第1の行の表示面積のサイズに対応する1つまたは複数の値を読み出し、第1の行に適合し得る結果の数を計算してもよい。メディアガイドアプリケーションは、第2の行と関連付けられる表示テンプレートの第2のフィールドから、第2の行に適合する第2の数の結果に関して第2の値を読み出す。第1の行に適合する結果の数の値と同様に、メディアガイドアプリケーションは、表示テンプレート内のフィールドから、第1の行内の結果の数に関して整数(例えば、「3」)を読み出してもよい。いくつかの実施形態では、第1の行に適合する結果の数は、第2の行に適合する結果の数と異なり得る。例えば、メディアガイドアプリケーションは、ユーザによって好まれるため、第1のソース(例えば、ソース104)からのより多数の結果を提示してもよい。
メディアガイドアプリケーションは、次いで、第1のサブセットとして、第1の検索結果から第1の数の結果を選択する。例えば、メディアガイドアプリケーションは、第1の検索結果から、第1の行に適合すると決定された結果の数を読み出してもよい(例えば、3つの結果が第1の行に適合する場合、ソース104からの結果112、114、および116が、読み出されてもよい)。メディアガイドアプリケーションは、第1の検索結果からの結果の数の識別子をリストまたは他のデータ構造に追加することによって、第1のサブセットを生成してもよい。メディアガイドアプリケーションは、第2のサブセットとして、第2の検索結果から第2の数の結果を選択する。例えば、メディアガイドアプリケーションは、第2の検索結果から、第2の行に適合すると決定された結果の数を読み出してもよい(例えば、3つの結果が第1の行に適合する場合、ソース106からの結果112、結果120、および結果122に適合する結果が、読み出されてもよい)。メディアガイドアプリケーションは、第2の検索結果からの結果の数の識別子をリストまたは他のデータ構造に追加することによって、第2のサブセットを生成してもよい。メディアガイドアプリケーションは、(例えば、各結果が表示テンプレート内でパラメータに従って表示されるように)第1および第2のサブセットの各識別子と関連付けられる付加的テキストおよび/またはグラフィックを読み出し、表示テンプレートのインスタンスにデータ投入してもよい。
メディアガイドアプリケーションは、第1の結果が第2の結果に合致すると決定することに応答して、第2のサブセットの中の第2の結果を第3の結果と置換することによって、第2のサブセットを修正する。例えば、2つの結果が同時に表示されるものである(例えば、それらが第1および第2のサブセットの中にある)と決定することに応じて、メディアガイドアプリケーションは、ユーザが好まないソースの結果(例えば、結果112に合致するがソース106からの結果)を別の結果と(例えば、結果118と)置換する。例えば、「The Big Bang Theory」が、第1および第2のソースの両方からの結果であり、第1および第2のサブセットの中にある場合、第2のサブセットの中の結果は、別の結果と置換されてもよい。図2に関して下記でさらに議論されるように、第2の結果に取って代わる結果は、ユーザ選好に基づく、または第2のソースからの検索結果の中の各結果のランキングに基づいてもよい。
メディアガイドアプリケーションは、第1の行内の第1のサブセットおよび第2の行内の修正された第2のサブセットを表示するために生成する。例えば、メディアガイドアプリケーションは、第1の行内で第1のサブセットの中の各結果(例えば、結果112、114、および116)の識別子を生成してもよい。具体的実施例として、識別子は、各結果を識別するテキストまたはグラフィックであってもよい。メディアガイドアプリケーションは、ソース(例えば、ソース104またはソース106)から識別子を受信してもよい、またはローカル記憶装置または遠隔サーバからそれらを読み出してもよい。メディアガイドアプリケーションは、同様に、第2の行内で修正された第2のサブセットの中の各結果(例えば、結果118、120、および122)の識別子を生成してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、より多くの結果が利用可能であるというインジケーション(例えば、矢印124および130)を生成する。インジケーションのユーザ選択を受信することに応答して、メディアガイドアプリケーションは、矢印が選択されたソースのみに関して(例えば、矢印124が選択される場合、ソース104のみからのより多くの結果が表示される)、または全ての表示されたソースに関して(例えば、矢印124が選択される場合、ソース104およびソース106の両方からのより多くの結果が表示される)のいずれかで、新しいサブセットを生成してもよい。(例えば、より多くの結果を閲覧するためのユーザ入力に基づいて)表示されるサブセットの中の結果が変化する度に、メディアガイドアプリケーションは、上記で説明されるように、より低い行内の任意の結果が、より高い行内の結果に合致するかどうかを決定し、これらの結果を置換する。
いくつかの実施形態では、メディアガイドアプリケーションは、第1のソースの代わりに第2のソースの選好を表す要求をユーザから受信し、メディアガイドアプリケーションは、第2のサブセットの代わりに第1のサブセットから、第1のサブセットと第2のサブセットとの間の重複結果を置換する。具体的には、メディアガイドアプリケーションは、第1のソースと比べて第2のソースの第2の選好を示す、(例えば、矢印126または矢印128の)第2のユーザ入力を受信する。例えば、メディアガイドアプリケーションは、表示するために第1および第2の結果からの検索結果を用いてグリッドを生成するとき、1つのソース(例えば、ソース104)からの結果を伴う行を別のソース(例えば、ソース106)からの結果を伴う別の行と交換するための選択可能なオプション(例えば、矢印126および矢印128)を含んでもよい。メディアガイドアプリケーションは、選択可能なオプションのうちの1つ(例えば、矢印126)のユーザ選択を受信し、第1のソース(例えば、ソース104)からの結果を伴う第1の行の上方に第2のソース(例えば、ソース106)からの結果を伴う第2の行を上昇させてもよい。例えば、ユーザは、(例えば、リモートコントロール等のユーザ入力インターフェースを介して)下向きに指し示す矢印グラフィック(例えば、矢印126)を選択し、ユーザ選択が第1および第2の行を交換する要求であることを決定してもよい。メディアガイドアプリケーションは、2つのソースからの検索結果を用いて将来のグリッドを生成するときに使用するために、第1のソース(例えば、ソース104)と比べて第2のソース(例えば、ソース106)の新しいユーザ選好を(例えば、ユーザプロファイルの中に)記憶してもよい。
メディアガイドアプリケーションは、第2のユーザ入力を受信することに応答して、第1および第2の検索結果が表示される行を交換し、あまり好ましくないソース(例えば、ここではソース104)からの重複がより好ましいソース(例えば、ここではソース106)とともに存在するかどうかを決定する。具体的には、メディアガイドアプリケーションは、修正された第2のサブセットの中の第3の結果を第2の結果と置換することによって、第2の検索結果の第3のサブセットを生成する。例えば、第2のソースが第1のソースと比べて好ましいので、第2のソースからの結果が好ましい。したがって、(例えば、ソース104からの結果112に合致する)第2の結果は、表示するために結果の新しい第3のサブセットを作成するように、第2のサブセットの中に戻るように追加されてもよい。メディアガイドアプリケーションは、第3のサブセットの一部である各結果の識別子を用いて新しいリストまたは他のデータ構造を生成する、または第2のサブセットのために既存のリストまたは他のデータ構造を修正してもよい。いくつかの実施形態では、第2の結果は、第3の結果に取って代わる(例えば、結果118、120、および122のうちの1つに取って代わる)。他の実施形態では、前もってサブセットの中にあった別の結果が、除去され、第2および第3の結果の両方が、第3のサブセットの中にある。
メディアガイドアプリケーションは、第1のサブセットの中の第1の結果を第1の検索結果のうちの第4の結果と置換することによって、第1の検索結果の第4のサブセットを生成し、第4の結果は、第1のサブセットの中にはない。例えば、第2のソース(例えば、ソース106)が第1のソース(例えば、ソース104)と比べて好ましいので、第2のソースの結果に合致する第1のソースからの結果は、上記で議論されるものと同様に、他の結果と置換される必要がある。したがって、第1の結果(例えば、結果112)は、(例えば、上記で議論されるようにメタデータを比較することに基づいて)第3のサブセットの中の結果のうちのいずれにも合致しない、第1の結果のうちの第4の結果と置換されてもよい。メディアガイドアプリケーションは、第4のサブセットの一部である各結果の識別子を用いて新しいリストまたは他のデータ構造を生成する、または第1のサブセットのために既存のリストまたは他のデータ構造を修正してもよい。メディアガイドアプリケーションは、次いで、第1のサブセットの代わりに第1の行内の第3のサブセットおよび修正された第2のサブセットの代わりに第2の行内の第4のサブセットを表示するために生成する。例えば、メディアガイドアプリケーションは、第1の行内の第3のサブセットのうちの各結果および第2の行内の第4のサブセットのうちの各結果と関連付けられるインジケータ(例えば、テキストおよび/またはグラフィック)を生成してもよい。このようにして、重複結果は、依然として提示されないが、ここでは、第2のソースが第1のソースと比べて好ましいため、重複結果は、第2の結果ではなくて第1の結果から置換される。
図2は、本開示のいくつかの実施形態による、異なるソースからの検索結果を含有するデータ構造の例証的描写を示す。例えば、データ構造200は、各エントリ(例えば、テーブル内の行)が同一のソース(例えば、ソース104)からの異なる結果に対応するように、編成されてもよい。同様に、データ構造250は、各エントリ(例えば、テーブル内の行)が同一のソース(例えば、ソース106)からの異なる結果に対応するように、編成されてもよい。メディアガイドアプリケーションは、データ構造200および250内の結果を比較し、2つの異なるソースの間で合致する結果を決定してもよい。メディアガイドアプリケーションは、比較に基づいて、図1に関して上記で議論されるように、グリッド内で表示する結果を決定してもよい。例えば、データ構造200の中に記憶された結果のサブセット202が、表示されるように選択される。例えば、データ構造250の中に記憶された結果のサブセット254が、表示されるように選択される。例えば、結果204および結果252が合致するため、メディアガイドアプリケーションは、(例えば、データ構造200内の結果のソースが、データ構造250内の結果のソースと比べて好ましいため)表示されるサブセット254の一部として結果254を選択しない。データ構造200および250内の結果は、図10に関して下記でさらに議論されるように、種々の要因に従ってランク付けされてもよい。データ構造200および250は、1つ以上のユーザデバイス(例えば、下記の図6−7に列挙されるデバイスのうちのいずれか)上のメモリ(例えば、図6に説明されるような記憶装置)の中に記憶されてもよい。また、メディアガイドアプリケーションは、下記の図8−12に説明されるプロセスのうちの1つ以上のものを使用し、データ構造200および250または本明細書に説明される特徴のうちのいずれかを生成してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、データベースからメタデータを読み出し、読み出されたメタデータの文字を比較して、2つの結果が合致するかどうかを決定してもよい。具体的には、メディアガイドアプリケーションは、第1の結果の第1の識別子および第2の結果の第2の識別子を、データベースの中に記憶された複数の識別子と比較する。識別子は、結果と関連付けられるタイトル、URL、および/または数値(例えば、シリアルコード)等の結果を定義する文字の任意の組み合わせであってもよい。例えば、メディアガイドアプリケーションは、記憶装置の中にローカルで、または通信ネットワークを介して遠隔サーバにおいて記憶される、データベースにアクセスしてもよい。データベースは、第1のテーブルの中の複数の識別子がそれぞれ、識別子と関連付けられるメタデータを含有する別のテーブルへのポインタと関連付けられる、一連の複数のリンクされたテーブル(例えば、関係データベース)として編成されてもよい。例えば、メディアガイドアプリケーションは、第1および第2の識別子(例えば、結果204および252の識別子)の文字を記憶された複数の識別子と比較してもよい。メディアガイドアプリケーションは、第1の記憶された識別子が第1の識別子に合致し、第2の記憶された識別子が第2の識別子に合致することを決定する。例えば、メディアガイドアプリケーションは、第1の記憶された識別子が第1の識別子(例えば、結果204の識別子)に合致し、第2の記憶された識別子が第2の識別子(例えば、結果252の識別子)に合致することを決定してもよい。メディアガイドアプリケーションは、次いで、第1の記憶された識別子および第2の記憶された識別子に対応するフィールド内のポインタに基づいて、適切なリンクされたテーブルにアクセスしてもよい。
メディアガイドアプリケーションは、第1の記憶された識別子と関連付けられる第1のフィールドから第1のメタデータおよび第2の記憶された識別子と関連付けられる第2のフィールドから第2のメタデータを読み出す。例えば、各記憶された識別子と関連付けられる(例えば、結果204および254と関連付けられる)メタデータを含有するテーブルは、より容易な比較のために、各テーブルの第1のフィールド内のメタデータが、常に、結果と関連付けられるタイトルであり、各テーブルの第2のフィールド内のメタデータが、常に、監督等であるように、構造化されてもよい(例えば、同一の属性のメタデータが、各記憶された値を別の識別子と関連付けられる全ての記憶された値と比較する必要なく、比較されることができる)。代替として、または加えて、テーブルは、メタデータを伴う各フィールドが、異なる識別子と関連付けられる対応するメタデータを比較するために使用され得る、「ACTOR」等の標識と関連付けられるように、構造化されてもよい。メディアガイドアプリケーションは、第1の識別子(例えば、タイトル)と関連付けられる第1のフィールドからメタデータおよび第2の識別子(例えば、同様にタイトル)と関連付けられる第2のフィールドからメタデータを読み出してもよい。メディアガイドアプリケーションは、次いで、第1の結果と関連付けられる第1のメタデータの第1の文字を、第2の結果と関連付けられる第2のメタデータの第2の文字と比較する。例えば、メディアガイドアプリケーションは、(第1の識別子によって識別される)第1の結果と関連付けられる読み出された文字列の各文字を、(第2の識別子によって識別される)第2の結果と関連付けられる読み出された文字列の文字と比較してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、各ソースからの結果の関連性ランキングに基づいて、選択する結果を決定する。具体的には、メディアガイドアプリケーションは、ユーザ入力への各結果の関連性に基づいて、第1の検索結果の中の各結果および第2の検索結果の中の各結果をランク付けする。例えば、メディアガイドアプリケーションは、(例えば、ユーザが特定のリンクをクリックした回数に基づく)人気および/または文字合致(例えば、結果の文字に合致した、ユーザによって提出される検索クエリの文字の数)の観点から、すでにランク付けされている検索結果をソース(例えば、データ構造200)から受信してもよい。本状況では、メディアガイドアプリケーションはさらに、ユーザ選好に基づいて、結果をランク付けしてもよい(例えば、これらの結果のユーザ選好に基づいて、ある結果を上昇させる)、または単純に、さらなるランク付けを伴わずに最高ランク付けされた結果(例えば、結果204等の「1」とインデックス化された結果)を読み出してもよい。ソースから受信される結果がランク付けされておらず、ユーザのクエリへの類似性のみに基づいてランク付けされる場合、メディアガイドアプリケーションは、結果毎に、相対的人気を決定してもよい。例えば、メディアガイドアプリケーションは、各結果の識別子(例えば、結果204の識別子)を、(記憶装置の中にローカルで、または遠隔サーバにおいてのいずれかで)データ構造の中に記憶された人気と比較してもよい。メディアガイドアプリケーションは、次いで、読み出された人気値に基づいて、ソースから受信される結果をランク付けしてもよい。例えば、人気値は、テレビ番組のニールセン視聴率であってもよい。
メディアガイドアプリケーションは、第1のサブセットの中の第1の結果として、第1の検索結果の中の最高ランク付けされた結果を読み出す。例えば、メディアガイドアプリケーションは、第1の結果として、ランク付けされた第1の検索結果のうちの最高ランク付けされた結果を読み出してもよい(例えば、結果204が、最高ランク付けされた結果としてデータ構造200内でインデックス化されてもよい)。メディアガイドアプリケーションは、第1の検索結果から(例えば、データ構造200から)次の最高ランク付けされた結果を読み出すことによって、(例えば、上記で議論されるように)第1の行に適合する結果の数を読み出し続けてもよい。メディアガイドアプリケーションは、第2のサブセットの中の第2の結果として、第2の検索結果の中の最高ランク付けされた結果を読み出す。例えば、メディアガイドアプリケーションは、第2の結果として、第2の検索結果のうちの最高ランク付けされた結果を読み出してもよい(例えば、結果252が、データ構造250内で最高ランク付けされた結果としてインデックス化されてもよい)。メディアガイドアプリケーションは、第2の検索結果から次の最高ランク付けされた結果を読み出すことによって、(例えば、上記で議論されるように)第2の行に適合する結果の数を読み出し続けてもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、第2の結果を次の最高ランク付けされた結果と置換することによって、第2のサブセットを修正する。具体的には、メディアガイドアプリケーションは、第3の結果として、第2のサブセットの中にない次の最高ランク付けされた結果を読み出す。例えば、メディアガイドアプリケーションは、第2のサブセットの一部ではない最高ランク付けされた結果である、ランク付けされた結果のリスト(例えば、検索結果のソースから受信されるか、または上記で議論されるようにメディアガイドアプリケーションによって生成されるかのいずれかである)から結果を読み出してもよい。具体的実施例として、第2のサブセットの最上位結果(例えば、結果252)が、第1のサブセットの中の結果(例えば、結果204)に合致し、3つの結果が第2のソースから表示される必要がある(例えば、3つの結果がデータ構造250から読み出される必要がある)場合、メディアガイドアプリケーションは、表示するために1−3の代わりに2−4にランク付けされた結果(例えば、サブセット254)を選択してもよい。メディアガイドアプリケーションはさらに、(例えば、上記で議論されるようにメタデータを比較することによって)読み出された次の最高ランク付けされた結果が第1のサブセットの中の結果に合致するかどうかを決定してもよい。例えば、メディアガイドアプリケーションが、次の最高ランク付けされた結果が第1のサブセットの中の結果に合致することを決定する場合、メディアガイドアプリケーションは、結果が第1のサブセットのうちの1つに合致しなくなるまで、別の結果(例えば、ランク付けされたリスト上でより低い1つの結果)を読み出してもよい。
メディアガイドアプリケーションは、第2のサブセットから第2の結果を除去してもよい。例えば、メディアガイドアプリケーションは、第2のサブセットの識別子を記憶するリストまたは他のデータ構造から、第2の結果(例えば、結果252)と関連付けられる識別子を除去してもよい。メディアガイドアプリケーションは、次いで、第3の結果を第2のサブセットに追加してもよい。例えば、メディアガイドアプリケーションは、次の最高ランク付けされた結果の識別子(第1のサブセットの中の結果のうちのいずれにも合致しない)をリストまたは他のデータ構造に追加してもよい。メディアガイドアプリケーションは、識別子を、除去された第2の結果の識別子によって前もってデータ投入された同一のフィールドに追加してもよい、または(例えば、人気に基づいて)識別子を並べ替えてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、識別子が行内でユーザに提示される順序として、リストまたは他のデータ構造の中に記憶された識別子の順序を使用する。
いくつかの実施形態では、メディアガイドアプリケーションは、第2の結果をユーザ選好に合致する結果と置換することによって、第2のサブセットを修正する。具体的には、メディアガイドアプリケーションは、検索結果の属性に関して第2のユーザ選好を読み出す。例えば、メディアガイドアプリケーションは、複数のユーザ選好を含有するユーザプロファイルを読み出してもよい。メディアガイドアプリケーションは、ユーザプロファイルから選好を読み出してもよい。例えば、メディアガイドアプリケーションは、ユーザが俳優「Matt Damon」を含む映画を享受することを読み出してもよい。メディアガイドアプリケーションは、読み出されたユーザ選好を、ソースからの検索結果のうちの各結果(例えば、データ構造250内の各結果)と関連付けられるメタデータと比較してもよい。例えば、メディアガイドアプリケーションは、ローカル記憶装置または遠隔サーバから結果と関連付けられるメタデータを読み出してもよい。
メディアガイドアプリケーションは、次いで、結果毎に、(例えば、文字比較に基づいて)ユーザ選好が各結果と関連付けられるメタデータに合致するかどうかを決定してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、ユーザプロファイル内の全てのユーザ選好を、結果と関連付けられるメタデータと比較し、各結果と関連付けられるメタデータに合致するユーザ選好の数に基づいて、結果をランク付けする。例えば、結果の俳優およびジャンルの両方がユーザ選好に合致する場合、結果(例えば、結果252)は、別の結果よりも高くランク付けされてもよく、結果と関連付けられる俳優のみが、ユーザ選好に合致する。いくつかの実施形態では、メディアガイドアプリケーションは、第2の結果と置換する結果を決定するときに、(例えば、ユーザプロファイルの中に記憶されたインジケーションに基づいて)あるユーザ選好をより高く加重してもよい。例えば、メディアガイドアプリケーションは、ユーザがそのように指定することに基づいて、「アクション映画」に関する読み出されたユーザ選好がユーザにとって「低い選好」であることを決定してもよい。対照的に、メディアガイドアプリケーションは、「Matt Damon」に関する読み出されたユーザ選好がユーザにとって「高い選好」であることを決定してもよい。
メディアガイドアプリケーションは、第3の結果の属性が第2のユーザ選好に合致すると決定することに応答して、第2のサブセットから第2の結果を除去する。例えば、メディアガイドアプリケーションは、第2のサブセットの識別子を記憶するリストまたは他のデータ構造から、第2の結果(例えば、結果252)と関連付けられる識別子を除去してもよい。メディアガイドアプリケーションは、次いで、第3の結果を第2のサブセットに追加してもよい。例えば、メディアガイドアプリケーションは、ユーザ選好に合致する(または最も密接に合致する)結果の識別子をリストまたは他のデータ構造(例えば、データ構造250からの別の結果)に追加してもよい。メディアガイドアプリケーションは、識別子を、除去された第2の結果の識別子によって前もってデータ投入された同一のフィールドに追加してもよい、または(例えば、人気に基づいて)識別子を並べ替えてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、識別子が行内でユーザに提示される順序として、リストまたは他のデータ構造の中に記憶された識別子の順序を使用する。
図3は、本開示のいくつかの実施形態による、グリッド内に複数のソースからの検索結果を示す、表示の別の例証的実施例を示す。例えば、表示300は、ユーザクエリ302に関する検索結果を表示するためにメディアガイドアプリケーションを実行する、ユーザ機器に結合されてもよい。ユーザクエリ302は、表示300を表示する同一のユーザ機器または他のユーザ機器に結合されるユーザ入力インターフェースを介して、受信されてもよい。表示300は、ソース304および306のための行を備える、グリッドを含む。ソース(例えば、ソース304またはソース306)のための各行は、ソースからの結果のサブセットを含有する。例えば、選択された結果310および結果312は、ソース304から表示され、結果308は、ソース306から示される。ソース304およびソース306は、図1−2に関して上記で議論されるように、同一の結果を含んでもよい(例えば、結果312は、両方のソースから表示されるサブセットの一部である)。応答して、メディアガイドアプリケーションは、ユーザがあまり好まないソースから(例えば、ソース306から)重複結果を除去してもよい。表示300は、ユーザによって現在ナビゲートされている結果(例えば、選択された結果310)を他の結果(例えば、結果312)と視覚的に(例えば、強調表示を介して)区別してもよい。表示300は、重複の数314を含んでもよい。重複の数314は、ソース304からの結果に合致する、ソース306からの結果の数を視覚的に(例えば、テキストまたはグラフィックを使用して)ユーザに示す。表示300は、1つ以上のユーザデバイス(例えば、下記の図6−7に列挙されるデバイスのうちのいずれか)上に出現してもよい。また、メディアガイドアプリケーションは、図8−12に説明されるプロセスのうちの1つ以上のものを使用し、表示300または本明細書に説明される特徴のうちのいずれかを生成してもよい。
選択された結果310についてより多くの情報を受信するためのユーザ選択を受信することに応じて、メディアガイドアプリケーションは、表示350を生成してもよい。表示350は、表示300上にオーバーレイされてもよい、または表示300に取って代わってもよい。表示350は、結果310と関連付けられる識別子352を含んでもよい。表示350は、ソース304からの結果310と関連付けられるインジケーションおよび関連リンク354を含んでもよい。表示350は、加えて、重複結果が受信された、他のソースを含んでもよい。例えば、(例えば、図1−2に関して上記で議論されるように決定される)結果310と同じ結果が、他のソースから受信されてもよい。故に、リンク356およびリンク358が、結果と関連付けられるデータにアクセスするための他のオプションをユーザに提供するように、表示350の一部として表示される。表示350は、1つ以上のユーザデバイス(例えば、下記の図6−7に列挙されるデバイスのうちのいずれか)上に出現してもよい。また、メディアガイドアプリケーションは、図8−12に説明されるプロセスのうちの1つ以上のものを使用し、表示350または本明細書に説明される特徴のうちのいずれかを生成してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、第1および第2のソースから受信される重複結果の総数を決定し、数をユーザに表示する。具体的には、メディアガイドアプリケーションは、第1の検索結果のうちの各結果を第2の検索結果のうちの各結果と比較する。例えば、メディアガイドアプリケーションは、(例えば、ソース304からの)第1の検索結果のうちの各結果と関連付けられるメタデータを、(例えば、ソース306からの)第2のソースから受信される各検索結果のメタデータと比較してもよい。例えば、メディアガイドアプリケーションは、forループを利用するプログラムスクリプトを実行し、第1のソースからの各結果を第2のソースからの各結果と反復して比較してもよい。メディアガイドアプリケーションは、次いで、第1の検索結果のうちの各結果を第2の検索結果のうちの各結果と比較することに基づいて、第1の検索結果と第2の検索結果との間の重複結果の数を決定する。例えば、メディアガイドアプリケーションは、カウンタを初期化し、第1のソースからの全ての結果が第2のソースからの検索結果と比較されるまで、合致が第1のソースからの結果と第2のソースからの結果との間で決定される度に、カウンタをインクリメントしてもよい。上記で議論されるように、メディアガイドアプリケーションは、2つの検索結果と関連付けられる閾値割合のメタデータが合致する場合に、合致を決定してもよい。メディアガイドアプリケーションは、次いで、第2の行内に重複結果の数(例えば、重複の数314)のインジケーションを表示するために生成する。例えば、メディアガイドアプリケーションは、第1の行または第2の行内に重複の総数(例えば、「30」)の値を伴って、テキストを表示するために生成してもよい。インジケーションは、随意に、重複が指すソースを明確にするテキストを含有してもよい。例えば、AMAZON(登録商標)が第1の行のためのソースであり、HULU(登録商標)が第2の行のためのソースである場合、メディアガイドアプリケーションは、第2の行内にテキスト「Amazonとの30個の重複ソース」を生成してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、結果のユーザ選択を受信することに応じて、同一の結果を返した他のソースを表示してもよい。具体的には、メディアガイドアプリケーションは、第1の結果のユーザ選択を受信する。例えば、メディアガイドアプリケーションは、リモートコントロールまたはタッチスクリーンインターフェース等のユーザ入力インターフェースを介して、グリッド上に表示される特定の結果の選択を受信してもよい。具体的実施例として、メディアガイドアプリケーションは、第1の行内の「The Big Bang Theory」に関する結果(例えば、選択された結果310)がユーザによって選択されていることを決定してもよい。メディアガイドアプリケーションは、上記で議論されるように、選択された結果と関連付けられるメタデータを他のソースからの結果と比較することによって、「The Big Bang Theory」に関する結果が受信された、他のソースを決定してもよい。例えば、メディアガイドアプリケーションは、(例えば、ソース306からの)第2の結果が第1の結果(例えば、ソース304からの選択された結果310)に合致し、第1のソースがユーザによって選択されることを決定してもよい。メディアガイドアプリケーションは、ユーザ選択を受信することに応答して、第1の結果が第2のソースからも利用可能であるというインジケーションを表示するために生成する。例えば、第1および第2の検索結果の両方が「The Big Bang Theory」に関する結果を含む場合、ユーザが第1の検索結果を含有する第1の行内で「The Big Bang Theory」結果を選択することに応じて、メディアガイドアプリケーションは、結果が第2のソースによっても返されたというインジケーション(例えば、リンク356)を表示するために生成してもよい。具体的実施例として、メディアガイドアプリケーションは、テキスト「本結果はHuluによっても返されました」を表示するために生成してもよい。このようにして、メディアガイドアプリケーションは、各行内で同一の結果を示す必要なく、結果が利用可能である代替的ソース(例えば、リンク356および358)をユーザに提供してもよい。
いくつかの実施形態では、結果は、メディアアセットを識別し、メディアガイドアプリケーションは、メディアアセットに関連するアクションを実施するための選択可能なオプションを提示する。具体的には、メディアガイドアプリケーションは、第1の結果のユーザ選択を受信する。例えば、メディアガイドアプリケーションは、リモートコントロールまたはタッチスクリーンインターフェース等のユーザ入力インターフェースを介して、グリッド上に表示される特定の結果(例えば、選択された結果310)の選択を受信してもよい。具体的実施例として、メディアガイドアプリケーションは、第1の行(例えば、ユーザの最も好ましいソース)内の「The Big Bang Theory」に関する結果がユーザによって選択されていることを決定してもよい。メディアガイドアプリケーションは、ユーザ選択を受信することに応答して、(例えば、表示300または表示350の一部にオーバーレイされる)メディアアセットと関連付けられる複数の選択可能なオプションを表示するために生成する。複数のオプションは、メディアアセットを鑑賞リストに追加するためのオプションを含んでもよい。例えば、ユーザによるメディアアセットを鑑賞リストに追加するためのオプションの選択に応じて、メディアガイドアプリケーションは、ユーザがある将来の時間に鑑賞することを所望するメディアアセットの識別子を含むデータ構造の中にメディアアセットと関連付けられる識別子を記憶してもよい。
複数のオプションは、メディアアセットをお気に入りリストに追加するためのオプションを含んでもよい。例えば、ユーザによるメディアアセットをお気に入りリストに追加するためのオプションの選択に応じて、メディアガイドアプリケーションは、ユーザが好むメディアアセットの識別子を含むデータ構造の中にメディアアセットと関連付けられる識別子を記憶してもよい。いくつかの実施形態では、お気に入りリストは、上記で議論されるように、重複結果と置換する結果を決定するときに、特定の結果に関してユーザ選好を決定するために使用されてもよい。複数のオプションは、メディアアセットが利用可能になる次回の時間を閲覧するためのオプションを含んでもよい。例えば、ユーザによるメディアアセットが利用可能になる次回の時間を閲覧するためのオプションの選択に応じて、メディアガイドアプリケーションは、メディアアセットが利用可能である時間およびソースに関して、(例えば、記憶装置の中にローカルで、または遠隔サーバにおいて記憶された)メディアガイドデータベースにクエリを行ってもよい。メディアガイドアプリケーションは、次いで、メディアアセットが利用可能である時間およびソースを表示するために生成してもよい。
複数のオプションは、メディアアセットを録画するためのオプションを含んでもよい。例えば、ユーザによるメディアアセットを録画するためのオプションの選択に応じて、メディアガイドアプリケーションは、メディアアセットがある時間周期中にソースから利用可能であるかどうかを決定してもよい。メディアアセットが利用可能である場合、メディアガイドアプリケーションは、(例えば、メディアアセットの識別子およびメディアアセットが利用可能であるソースおよび時間をスケジューリングデータ構造に追加することによって)録画をスケジュールしてもよい。メディアアセットが利用可能ではない場合、メディアガイドアプリケーションは、上記で議論されるように、メディアアセットを鑑賞リストに追加してもよい。
任意の所与のコンテンツ配信システムでユーザに利用可能なコンテンツの量が、膨大であり得る。その結果、多くのユーザは、ユーザがコンテンツの選択を効率的にナビゲートし、所望し得るコンテンツを容易に識別することを可能にする、インターフェースを通したメディアガイドの形態を所望している。そのようなガイドを提供するアプリケーションは、本明細書では、双方向メディアガイドアプリケーションと称されるが、時として、メディアガイドアプリケーションまたはガイドアプリケーションと称されることもある。
双方向メディアガイドアプリケーションは、ガイドを提供するコンテンツに応じて、種々の形態をとってもよい。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等)、オンデマンド情報、ブログ、ウェブサイト、およびユーザが所望のコンテンツ選択間をナビゲートし、それを特定するために役立つ、任意の他のタイプのガイドデータを含んでもよい。
図4−5は、メディアガイドデータを提供するために使用され得る、例証的表示画面を示す。図4−5に示される表示画面は、任意の好適なユーザ機器デバイスまたはプラットフォーム上に実装されてもよい。図4−5の表示は、フル画面表示として図示されているが、それらはまた、表示されているコンテンツ上に完全または部分的にオーバーレイされてもよい。ユーザは、表示画面内に提供された選択可能なオプション(例えば、メニューオプション、一覧オプション、アイコン、ハイパーリンク等)を選択することによって、またはリモートコントロールまたは他のユーザ入力インターフェースまたはデバイス上の専用ボタン(例えば、「ガイド」ボタン)を押下することによって、コンテンツ情報にアクセスする要望を示してもよい。ユーザのインジケーションに応答して、メディアガイドアプリケーションは、グリッド内の時間およびチャネル別、時間別、チャネル別、ソース別、コンテンツタイプ別、カテゴリ別(例えば、映画、スポーツ、ニュース、子供向け、または他の番組カテゴリ)、または他の所定、ユーザ定義、または他の編成基準等のいくつかの方法のうちの1つにおいて編成されたメディアガイドデータを表示画面に提供してもよい。
図4は、単一表示内の異なるタイプのコンテンツへのアクセスも可能にする、時間およびチャネル別に配列された番組一覧表示400の例証的グリッドを示す。表示400は、以下、すなわち、(1)各チャネル/コンテンツタイプ識別子(列内のセル)が利用可能な異なるチャネルまたはコンテンツのタイプを識別する、チャネル/コンテンツタイプ識別子404の列、および(2)各時間識別子(行内のセル)が番組の時間帯を識別する、時間識別子406の行を伴うグリッド402を含んでもよい。グリッド402はまた、番組一覧408等の番組一覧のセルも含み、各一覧は、一覧の関連チャネルおよび時間の上に提供される、番組のタイトルを提供する。ユーザ入力デバイスを用いて、ユーザは、ハイライト領域410を移動させることによって番組一覧を選択することができる。ハイライト領域410によって選択される番組一覧に関する情報が、番組情報領域412内に提供されてもよい。領域412は、例えば、番組タイトル、番組内容、番組が提供される時間(該当する場合)、番組が放送されるチャネル(該当する場合)、番組の評価、および他の所望の情報を含んでもよい。
線形番組(例えば、所定の時間に複数のユーザ機器デバイスに伝送されるようにスケジュールされ、スケジュールに従って提供されるコンテンツ)にアクセスを提供することに加えて、メディアガイドアプリケーションはまた、非線形番組(例えば、任意の時間においてユーザ機器デバイスにアクセス可能であって、スケジュールに従って提供されないコンテンツ)へのアクセスも提供する。非線形番組は、オンデマンドコンテンツ(例えば、VOD)、インターネットコンテンツ(例えば、ストリーミングメディア、ダウンロード可能メディア等)、ローカルで記憶されたコンテンツ(例えば、上記で説明される任意のユーザ機器デバイスまたは他の記憶デバイス上に記憶されたコンテンツ)、または時間的制約のない他のコンテンツを含む、異なるコンテンツソースからのコンテンツを含んでもよい。オンデマンドコンテンツは、特定のコンテンツプロバイダ(例えば、「The Sopranos」および「Curb Your Enthusiasm」を提供するHBO On Demand)によって提供される映画または任意の他のコンテンツを含んでもよい。HBO ON DEMANDは、Time Warner Company L.P. et al.によって所有されるサービスマークであり、THE SOPRANOSおよびCURB YOUR ENTHUSIASMは、Home Box Office, Inc.によって所有される商標である。インターネットコンテンツは、チャットセッションまたはウェブキャスト等のウェブイベント、またはインターネットウェブサイトまたは他のインターネットアクセス(例えば、FTP)を通してストリーミングコンテンツまたはダウンロード可能なコンテンツとしてオンデマンドで利用可能なコンテンツを含んでもよい。
グリッド402は、オンデマンド一覧414、録画コンテンツ一覧416、およびインターネットコンテンツ一覧418を含む、非線形番組のメディアガイドデータを提供してもよい。異なるタイプのコンテンツソースからのコンテンツのためのメディアガイドデータを組み合わせる表示は、時として、「混合メディア」表示と称されることもある。表示400とは異なる、表示され得るメディアガイドデータのタイプの種々の順列は、ユーザ選択またはガイドアプリケーション定義に基づいてもよい(例えば、録画および放送一覧のみの表示、オンデマンドおよび放送一覧のみの表示等)。例証されるように、一覧414、416、および418は、これらの一覧の選択が、それぞれ、オンデマンド一覧、録画一覧、またはインターネット一覧専用の表示へのアクセスを提供し得ることを示すように、グリッド402内に表示される時間帯全体に及ぶものとして示されている。いくつかの実施形態では、これらのコンテンツタイプの一覧は、グリッド402に直接含まれてもよい。ユーザがナビゲーションアイコン420のうちの1つを選択することに応答して、付加的メディアガイドデータが表示されてもよい(ユーザ入力デバイス上の矢印キーを押下することは、ナビゲーションアイコン420を選択することと同様に表示に影響を及ぼし得る)。
表示400はまた、ビデオ領域422、およびオプション領域426を含んでもよい。ビデオ領域422は、ユーザが、ユーザに現在利用可能である、今後利用可能となる、または利用可能であった番組を視聴および/またはプレビューすることを可能にしてもよい。ビデオ領域422のコンテンツは、グリッド402に表示される一覧のうちの1つに対応する、またはそれから独立し得る。ビデオ領域を含むグリッド表示は、時として、ピクチャインガイド(PIG)表示と称されることもある。PIG表示およびそれらの機能性は、2003年5月13日発行のSatterfieldらの米国特許第6,564,378号、および2001年5月29日発行のYuenらの米国特許第6,239,794号(それらの全体において参照することによって本明細書に組み込まれる)でより詳細に説明されている。PIG表示は、本明細書に説明される実施形態の他のメディアガイドアプリケーション表示画面に含まれてもよい。
オプション領域426は、ユーザが、異なるタイプのコンテンツ、メディアガイドアプリケーション表示、および/またはメディアガイドアプリケーション特徴にアクセスすることを可能にしてもよい。オプション領域426は、表示400(および本明細書に説明される他の表示画面)の一部であってもよい、または画面上のオプションを選択すること、またはユーザ入力デバイス上の専用または割当可能ボタンを押下することによって、ユーザによって呼び出されてもよい。オプション領域426内の選択可能オプションは、グリッド402内の番組一覧に関連する特徴に関してもよい、またはメインメニュー表示から利用可能なオプションを含んでもよい。番組一覧に関連する特徴は、他の放送時間または番組の受信方法の検索、番組の録画、番組の連続録画の有効化、番組および/またはチャネルをお気に入りとして設定、番組の購入、または他の特徴を含んでもよい。メインメニュー表示から利用可能なオプションは、検索オプション、VODオプション、ペアレンタルコントロールオプション、インターネットオプション、クラウドベースのオプション、デバイス同期オプション、第2の画面デバイスオプション、種々のタイプのメディアガイドデータ表示にアクセスするオプション、プレミアムサービスをサブスクライブするオプション、ユーザのプロファイルを編集するオプション、ブラウザオーバーレイにアクセスするオプション、または他のオプションを含んでもよい。
メディアガイドアプリケーションは、ユーザの選好に基づいて個人化されてもよい。個人化されたメディアガイドアプリケーションは、ユーザが、メディアガイドアプリケーションを用いて個人化された「体験」を生成するように、表示および特徴をカスタマイズすることを可能にする。この個人化された体験は、ユーザがこれらのカスタマイズを入力することを可能にすることによって、および/または種々のユーザ選好を決定するようにメディアガイドアプリケーションがユーザアクティビティを監視することによって、生成されてもよい。ユーザは、ログインすることによって、または別様にガイドアプリケーションに対して自らを識別することによって、それらの個人化されたガイドアプリケーションにアクセスしてもよい。メディアガイドアプリケーションのカスタマイズは、ユーザプロファイルに従って作成されてもよい。カスタマイズは、提示方式(例えば、表示の色方式、テキストのフォントサイズ等)、表示されるコンテンツ一覧の側面(例えば、HDTV番組のみまたは3D番組のみ、お気に入りチャネル選択に基づいたユーザ指定の放送チャネル、チャネルの表示の並び替え、推奨コンテンツ等)、所望の録画特徴(例えば、特定のユーザに対する録画または連続録画、録画品質等)、ペアレンタルコントロール設定、インターネットコンテンツのカスタマイズされた提示(例えば、ソーシャルメディアコンテンツ、電子メール、電子的に配信された記事等の提示)、および他の所望のカスタマイズを変更させるステップを含んでもよい。
メディアガイドアプリケーションは、ユーザが、ユーザプロファイル情報を提供することを可能にしてもよい、またはユーザプロファイル情報を自動的にコンパイルしてもよい。メディアガイドアプリケーションは、例えば、ユーザがアクセスするコンテンツ、および/またはユーザがガイドアプリケーションと行い得る他の相互作用を監視してもよい。加えて、メディアガイドアプリケーションは、特定のユーザに関連する他のユーザプロファイルの全体または一部を取得し(例えば、www.Tivo.com等のユーザがアクセスするインターネット上の他のウェブサイトから、ユーザがアクセスする他のメディアガイドアプリケーションから、ユーザがアクセスする他の双方向アプリケーションから、ユーザの別のユーザ機器デバイスから等)、および/またはメディアガイドアプリケーションがアクセスし得る他のソースから、ユーザについての情報を取得してもよい。結果として、ユーザは、ユーザの異なるユーザ機器デバイスにわたって、統一されたガイドアプリケーション体験を提供することができる。本タイプのユーザ体験は、図7に関連して下記でより詳細に説明される。付加的な個人化されたメディアガイドアプリケーション特徴は、2005年7月11日出願のEllis et al.の米国特許出願公開第2005/0251827号、2007年1月16日発行のBoyer et al.の米国特許第7,165,098号、および2002年2月21日出願のEllis et al.の米国特許出願公開第2002/0174430号(それらの全体において参照することによって本明細書に組み込まれる)でより詳細に説明されている。
メディアガイドを提供するための別の表示配列が、図5に示されている。ビデオモザイク表示500は、コンテンツのタイプ、ジャンル、および/または他の編成基準に基づいて編成されたコンテンツ情報のための選択可能オプション502を含む。表示500では、テレビ一覧オプション504が、選択され、したがって、一覧506、508、510、および512を放送番組一覧として提供する。表示500では、一覧は、カバーアート、コンテンツからの静止画像、ビデオクリップのプレビュー、コンテンツからのライブビデオ、または一覧中のメディアガイドデータによって記述されているコンテンツをユーザに示す他のタイプのコンテンツを含む、グラフィック画像を提供してもよい。グラフィック一覧はまた、それぞれ、一覧と関連付けられるコンテンツに関するさらなる情報を提供するように、テキストを伴ってもよい。例えば、一覧508は、メディア部分514およびテキスト部分516を含む、1つを上回る部分を含んでもよい。メディア部分514および/またはテキスト部分516は、コンテンツをフル画面で視聴するように、またはメディア部分514に表示されるコンテンツに関連する情報を閲覧するように(例えば、ビデオが表示されるチャネルの一覧を閲覧するように)、選択可能であり得る。
表示500内の一覧は、異なるサイズである(すなわち、一覧506は、一覧508、510、および512より大きい)が、所望に応じて、全ての一覧が同一のサイズであってもよい。一覧は、コンテンツプロバイダの所望に応じて、またはユーザ選好に基づいて、ユーザの関心の程度を示すように、またはあるコンテンツを強調するように、異なるサイズであるか、またはグラフィック的に強調されてもよい。コンテンツ一覧をグラフィック的に強調するための種々のシステムおよび方法は、例えば、2009年11月12日に出願されたYatesの米国特許出願公開第2010/0153885号(その全体において参照することによって本明細書に組み込まれる)で議論されている。
ユーザは、そのユーザ機器デバイスのうちの1つ以上のものから、コンテンツおよびメディアガイドアプリケーション(および上記および下記で説明されるその表示画面)にアクセスしてもよい。図6は、例証的ユーザ機器デバイス600の一般化された実施形態を示す。ユーザ機器デバイスのより具体的な実装は、図7に関連して下記で議論される。ユーザ機器デバイス600は、入出力(以下「I/O」)パス602を介して、コンテンツおよびデータを受信してもよい。I/Oパス602は、処理回路606および記憶装置608を含む制御回路604に、コンテンツ(例えば、放送番組、オンデマンド番組、インターネットコンテンツ、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を経由して利用可能なコンテンツ、および/または他のコンテンツ)およびデータを提供してもよい。制御回路604は、I/Oパス602を使用して、コマンド、要求、および他の好適なデータを送受信するために使用されてもよい。I/Oパス602は、制御回路604(具体的には、処理回路606)を1つ以上の通信パス(下記に説明される)に接続してもよい。I/O機能は、これらの通信パスのうちの1つ以上のものによって提供されてもよいが、図面が複雑になり過ぎることを回避するため、図6では単一パスとして示されている。
制御回路604は、処理回路606等の任意の好適な処理回路に基づいてもよい。本明細書で参照されるように、処理回路は、1つ以上のマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、プログラマブル論理デバイス、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等に基づく回路を意味すると理解され、マルチコアプロセッサ(例えば、デュアルコア、クアドコア、ヘクサコア、または任意の好適な数のコア)またはスーパーコンピュータを含んでもよい。いくつかの実施形態では、処理回路は、複数の別個のプロセッサまたは処理ユニット、例えば、複数の同一のタイプの処理ユニット(例えば、2つのIntel Core i7プロセッサ)または複数の異なるプロセッサ(例えば、Intel Core i5プロセッサおよびIntel Core i7プロセッサ)にわたって分散されてもよい。いくつかの実施形態では、制御回路604は、メモリ(すなわち、記憶装置608)に記憶されたメディアガイドアプリケーションに対する命令を実行する。具体的には、制御回路604は、メディアガイドアプリケーションによって、上記および下記で議論される機能を果たすように命令されてもよい。例えば、メディアガイドアプリケーションは、制御回路604に、メディアガイド表示を生成するための命令を提供してもよい。いくつかの実装では、制御回路604によって実施される任意のアクションは、メディアガイドアプリケーションから受信される命令に基づいてもよい。
クライアントサーバベースの実施形態では、制御回路604は、ガイドアプリケーションサーバまたは他のネットワークまたはサーバと通信するための好適な通信回路を含んでもよい。上記に述べられる機能性を実施するための命令は、ガイドアプリケーションサーバ上に記憶されてもよい。通信回路は、ケーブルモデム、総合デジタル通信網(ISDN)モデム、デジタルサブスクライバ回線(DSL)モデム、電話モデム、イーサネット(登録商標)カード、または他の機器との通信用の無線モデム、または任意の他の好適な通信回路を含んでもよい。そのような通信は、インターネットまたは任意の他の好適な通信ネットワークまたはパスを伴ってもよい(図7に関連してより詳細に説明される)。加えて、通信回路は、ユーザ機器デバイスのピアツーピア通信、または相互から遠隔の場所にあるユーザ機器デバイスの通信を可能にする回路を含んでもよい(下記でより詳細に説明される)。
メモリは、制御回路604の一部である、記憶装置608として提供される、電子記憶デバイスであってもよい。本明細書で参照されるように、語句「電子記憶デバイス」または「記憶デバイス」とは、ランダムアクセスメモリ、読取専用メモリ、ハードドライブ、光学ドライブ、デジタルビデオディスク(DVD)レコーダ、コンパクトディスク(CD)レコーダ、BLU−RAY(登録商標)ディスク(BD)レコーダ、BLU−RAY(登録商標) 3Dディスクレコーダ、デジタルビデオレコーダ(DVR、または時として、パーソナルビデオレコーダまたはPVRと呼ばれる場合もある)、ソリッドステートデバイス、量子記憶デバイス、ゲームコンソール、ゲームメディア、または任意の他の好適な固定またはリムーバブル記憶デバイス、および/またはそれらの任意の組み合わせ等の電子データ、コンピュータソフトウェア、またはファームウェアを記憶するための任意のデバイスを意味すると理解されたい。記憶装置608は、本明細書に説明される種々のタイプのコンテンツ、および上記で説明されるメディアガイドデータを記憶するために使用されてもよい。不揮発性メモリもまた、(例えば、ブートアップルーチンおよび他の命令を起動するために)使用されてもよい。図7に関連して説明される、クラウドベースの記憶装置が、記憶装置608を補完するために使用される、または記憶装置608の代わりに使用されてもよい。
制御回路604は、1つ以上のアナログチューナ、1つ以上のMPEG−2デコーダ、または他のデジタルデコード回路、高解像度チューナ、または任意の他の好適な同調またはビデオ回路、またはそのような回路の組み合わせ等のビデオ生成回路および同調回路を含んでもよい。(例えば、記憶するために、無線、アナログ、またはデジタル信号をMPEG信号に変換するための)エンコード回路もまた、提供されてもよい。制御回路604はまた、コンテンツをユーザ機器600の好ましい出力形式に上方変換および下方変換するためのスケーリング回路を含んでもよい。回路604はまた、デジタル信号とアナログ信号との間で変換するためのデジタル/アナログ変換回路およびアナログ/デジタル変換回路を含んでもよい。同調およびエンコード回路は、コンテンツを受信して表示する、再生する、または録画するために、ユーザ機器デバイスによって使用されてもよい。同調およびエンコード回路はまた、ガイドデータを受信するために使用されてもよい。例えば、同調、ビデオ生成、エンコード、デコード、暗号化、解読、スケーリング、およびアナログ/デジタル回路を含む、本明細書に説明される回路は、1つ以上の汎用または特殊プロセッサ上で起動するソフトウェアを使用して実装されてもよい。複数のチューナが、同時同調機能(例えば、視聴および録画機能、ピクチャインピクチャ(PIP)機能、多重チューナ録画機能等)に対処するように提供されてもよい。記憶装置608が、ユーザ機器600とは別のデバイスとして提供される場合、同調およびエンコード回路(複数のチューナを含む)は、記憶装置608と関連付けられてもよい。
ユーザは、ユーザ入力インターフェース610を使用して、命令を制御回路604に送信してもよい。ユーザ入力インターフェース610は、リモートコントロール、マウス、トラックボール、キーパッド、キーボード、タッチスクリーン、タッチパッド、スタイラス入力、ジョイスティック、音声認識インターフェース、または他のユーザ入力インターフェース等の任意の好適なユーザインターフェースであってもよい。ディスプレイ612は、独立型デバイスとして提供される、またはユーザ機器デバイス600の他の要素と統合されてもよい。例えば、ディスプレイ612は、タッチスクリーンまたはタッチセンサ式ディスプレイであってもよい。そのような状況では、ユーザ入力インターフェース610は、ディスプレイ612と統合される、または組み合わせられてもよい。ディスプレイ612は、モニタ、テレビ、モバイルデバイス用液晶ディスプレイ(LCD)、非晶質シリコンディスプレイ、低温ポリシリコンディスプレイ、電子インクディスプレイ、電気泳動ディスプレイ、アクティブマトリクスディスプレイ、エレクトロウェッティングディスプレイ、電気流体ディスプレイ、ブラウン管ディスプレイ、発光ダイオードディスプレイ、エレクトロルミネセントディスプレイ、プラズマディスプレイパネル、高性能アドレッシングディスプレイ、薄膜トランジスタディスプレイ、有機発光ダイオードディスプレイ、表面伝導型電子放出素子ディスプレイ(SED)、レーザテレビ、カーボンナノチューブ、量子ドットディスプレイ、干渉変調器ディスプレイ、または視覚的画像を表示するための任意の他の好適な機器のうちの1つ以上のものであってもよい。いくつかの実施形態では、ディスプレイ612は、HDTV対応型であり得る。いくつかの実施形態では、ディスプレイ612は、3Dディスプレイであってもよく、双方向メディアガイドアプリケーションおよび任意の好適なコンテンツは、3Dで表示されてもよい。ビデオカードまたはグラフィックカードは、ディスプレイ612への出力を生成してもよい。ビデオカードは、3Dシーンおよび2Dグラフィックのレンダリングの加速、MPEG−2/MPEG−4デコード、TV出力、または複数のモニタを接続する能力等の種々の機能を提供し得る。ビデオカードは、制御回路604に関連して上記で説明される任意の処理回路であってもよい。ビデオカードは、制御回路604と統合されてもよい。スピーカ614は、ユーザ機器デバイス600の他の要素と統合されたものとして提供されてもよい、または独立型ユニットであってもよい。ディスプレイ612上に表示されるビデオおよび他のコンテンツのオーディオコンポーネントは、スピーカ614を通して再生されてもよい。いくつかの実施形態では、オーディオは、スピーカ614を介して音声を処理および出力する、受信機(図示せず)に配布されてもよい。
ガイドアプリケーションは、任意の好適なアーキテクチャを使用して実装されてもよい。例えば、これは、ユーザ機器デバイス600上で完全に実装される、独立型アプリケーションであってもよい。そのようなアプローチでは、アプリケーションの命令は、ローカルで(例えば、記憶装置608の中に)記憶され、アプリケーションによって使用するためのデータは、周期的にダウンロードされる(例えば、帯域外フィードから、インターネットリソースから、または別の好適なアプローチを使用して)。制御回路604は、記憶装置608からアプリケーションの命令を読み出し、本明細書で議論される表示のうちのいずれかを生成するための命令を処理してもよい。処理された命令に基づいて、制御回路604は、入力が入力インターフェース610から受信されるときに実施するアクションを決定してもよい。例えば、表示上のカーソルの上/下への移動は、入力インターフェース610が上/下ボタンが選択されたことを示すとき、処理された命令によって示されてもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、クライアントサーバベースのアプリケーションである。ユーザ機器デバイス600上に実装される、シックまたはシンクライアントによって使用するためのデータは、ユーザ機器デバイス600の遠隔にあるサーバに要求を発行することによって、オンデマンドで読み出される。クライアントサーバベースのガイドアプリケーションの一実施例では、制御回路604は、遠隔サーバによって提供されるウェブページを解釈する、ウェブブラウザを起動する。例えば、遠隔サーバは、記憶デバイス内にアプリケーションのための命令を記憶してもよい。遠隔サーバは、回路(例えば、制御回路604)を使用して、記憶された命令を処理し、上記および下記で議論される表示を生成してもよい。クライアントデバイスは、遠隔サーバによって生成される表示を受信してもよく、表示のコンテンツを機器デバイス600上でローカルで表示してもよい。このように、命令の処理が、サーバによって遠隔で実施される一方、結果として生じる表示は、機器デバイス600上にローカルで提供される。機器デバイス600は、入力インターフェース610を介して、ユーザからの入力を受信し、対応する表示を処理および生成するために、それらの入力を遠隔サーバに伝送してもよい。例えば、機器デバイス600は、上/下ボタンが入力インターフェース610を介して選択されたことを示す、通信を遠隔サーバに伝送してもよい。遠隔サーバは、その入力に従って命令を処理し、入力に対応するアプリケーションの表示を生成してもよい(例えば、カーソルを上/下に移動させる表示)。生成された表示は、次いで、ユーザへの提示のために、機器デバイス600に伝送される。
いくつかの実施形態では、メディアガイドアプリケーションは、インタープリタまたは仮想マシン(制御回路604によって起動される)によって、ダウンロードされ、解釈または別様に起動される。いくつかの実施形態では、ガイドアプリケーションは、ETVバイナリ交換形式(ETV Binary Interchange Format/EBIF)でエンコードされ、好適なフィードの一部として制御回路604によって受信され、制御回路604上で起動するユーザエージェントによって解釈されてもよい。例えば、ガイドアプリケーションは、EBIFアプリケーションであってもよい。いくつかの実施形態では、ガイドアプリケーションは、制御回路604によって実行されるローカル仮想マシンまたは他の好適なミドルウェアによって受信および起動される、一連のJAVA(登録商標)ベースのファイルによって定義されてもよい。そのような実施形態のうちのいくつか(例えば、MPEG−2または他のデジタルメディアエンコードスキームを採用するもの)では、ガイドアプリケーションは、例えば、番組のMPEGオーディオおよびビデオパケットを用いたMPEG−2オブジェクトカルーセルにおいてエンコードおよび伝送されてもよい。
図6のユーザ機器デバイス600は、ユーザテレビ機器702、ユーザコンピュータ機器704、無線ユーザ通信デバイス706、または非携帯用ゲーム機等のコンテンツにアクセスするために好適な任意の他のタイプのユーザ機器として、図7のシステム700に実装されることができる。簡単にするために、これらのデバイスは、本明細書では総称して、ユーザ機器またはユーザ機器デバイスと称されてもよく、上記で説明されるユーザ機器デバイスに実質的に類似し得る。メディアガイドアプリケーションが実装され得る、ユーザ機器デバイスは、独立型デバイスとして機能してもよい、またはデバイスのネットワークの一部であってもよい。デバイスの種々のネットワーク構成が実装されてもよく、下記でより詳細に議論される。
図6に関連して上記で説明されるシステム特徴のうちの少なくともいくつかを利用する、ユーザ機器デバイスは、単に、ユーザテレビ機器702、ユーザコンピュータ機器704、または無線ユーザ通信デバイス706として分類されなくてもよい。例えば、ユーザテレビ機器702は、いくつかのユーザコンピュータ機器704のように、インターネットコンテンツへのアクセスを可能にするインターネット対応型であり得る一方で、ユーザコンピュータ機器704は、あるテレビ機器702のように、テレビ番組へのアクセスを可能にするチューナを含んでもよい。メディアガイドアプリケーションはまた、種々の異なるタイプのユーザ機器上で同一のレイアウトを有してもよい、またはユーザ機器の表示能力に合わせられてもよい。例えば、ユーザコンピュータ機器704上では、ガイドアプリケーションは、ウェブブラウザによってアクセスされるウェブサイトとして提供されてもよい。別の実施例では、ガイドアプリケーションは、無線ユーザ通信デバイス706用に縮小されてもよい。
システム700では、典型的には、各タイプのユーザ機器デバイスが1つを上回って存在するが、図面が複雑になり過ぎることを回避するように、それぞれ1つだけが図7に示されている。加えて、各ユーザは、1つを上回るタイプのユーザ機器デバイスと、また、各タイプのユーザ機器デバイスのうちの1つを上回るものとを利用してもよい。
いくつかの実施形態では、ユーザ機器デバイス(例えば、ユーザテレビ機器702、ユーザコンピュータ機器704、無線ユーザ通信デバイス706)は、「第2の画面デバイス」と称されてもよい。例えば、第2の画面デバイスは、第1のユーザ機器デバイス上に提示されるコンテンツを補完してもよい。第2の画面デバイス上に提示されるコンテンツは、第1のデバイス上に提示されるコンテンツを補完する、任意の好適なコンテンツであってもよい。いくつかの実施形態では、第2の画面デバイスは、第1のデバイスの設定および表示選好を調節するためのインターフェースを提供する。いくつかの実施形態では、第2の画面デバイスは、他の第2の画面デバイスと相互作用する、またはソーシャルネットワークと相互作用するために構成される。第2の画面デバイスは、第1のデバイスと同一の部屋内に、第1のデバイスと異なる部屋であるが、同一の家または建物内に、または第1のデバイスと異なる建物内に位置することができる。
ユーザはまた、家庭内デバイスおよび遠隔デバイスにわたって一貫したメディアガイドアプリケーション設定を維持するように、種々の設定を設定してもよい。設定は、本明細書に説明されるもの、およびお気に入りのチャネルおよび番組、番組を推奨するためにガイドアプリケーションが利用する番組選好、表示選好、および他の望ましいガイド設定を含む。例えば、ユーザが、そのオフィスのパーソナルコンピュータ上、例えば、ウェブサイトwww.Tivo.comの上で、チャネルをお気に入りとして設定した場合、同一のチャネルが、ユーザの家庭内デバイス(例えば、ユーザテレビ機器およびユーザコンピュータ機器)上で、および所望に応じて、ユーザのモバイルデバイス上でお気に入りとして表示されるであろう。したがって、同一または異なるタイプのユーザ機器デバイスであるかどうかにかかわらず、1つのユーザ機器デバイス上で行われる変更は、別のユーザ機器デバイス上のガイド体験を変更することができる。加えて、行われる変更は、ユーザによって入力される設定、およびガイドアプリケーションによって監視されるユーザアクティビティに基づいてもよい。
ユーザ機器デバイスは、通信ネットワーク714に結合されてもよい。すなわち、ユーザテレビ機器702、ユーザコンピュータ機器704、および無線ユーザ通信デバイス706は、それぞれ、通信パス708、710、および712を介して、通信ネットワーク714に結合される。通信ネットワーク714は、インターネット、携帯電話ネットワーク、モバイルボイスまたはデータネットワーク(例えば、4GまたはLTEネットワーク)、ケーブルネットワーク、公衆交換電話ネットワーク、または他のタイプの通信ネットワーク、または通信ネットワークの組み合わせを含む、1つ以上のネットワークであってもよい。パス708、710、および712は、別個または一緒に、衛星パス、光ファイバパス、ケーブルパス、インターネット通信をサポートするパス(例えば、IPTV)、フリースペース接続(例えば、放送または他の無線信号用)、または任意の他の好適な有線または無線通信パス、またはそのようなパスの組み合わせ等の1つ以上の通信パスを含んでもよい。パス712は、図7に示される例示的実施形態では、無線パスであることを示すように破線で描かれ、パス708および710は、有線パスであることを示すように実線として描かれている(しかし、これらのパスは、所望に応じて、無線パスであってもよい)。ユーザ機器デバイスとの通信は、これらの通信パスのうちの1つ以上のものによって提供されてもよいが、図7では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。
通信パスは、ユーザ機器デバイスの間には描かれていないが、これらのデバイスは、パス708、710、および712に関連して上記で説明されるもの、およびUSBケーブル、IEEE 1394ケーブル、無線パス(例えば、Bluetooth(登録商標)、赤外線、IEEE 802−11x等)等の他の短距離ポイントツーポイント通信パス、または有線または無線パスを介した他の短距離通信等を介して、相互に直接通信してもよい。BLUETOOTH(登録商標)は、Bluetooth(登録商標) SIG, INC.によって所有される認証マークである。ユーザ機器デバイスはまた、通信ネットワーク714を介した間接パスを通して、相互に直接通信してもよい。
システム700は、それぞれ、通信パス720および722を介して、通信ネットワーク714に結合される、コンテンツソース716およびメディアガイドデータソース718を含む。パス720および722は、パス708、710、および712に関連して上記で説明される通信パスのうちのいずれかを含んでもよい。コンテンツソース716およびメディアガイドデータソース718との通信は、1つ以上の通信パスを介して交信されてもよいが、図7では、図面が複雑になり過ぎることを回避するように、単一パスとして示される。加えて、コンテンツソース716およびメディアガイドデータソース718のそれぞれが1つを上回って存在し得るが、図7では、図面が複雑になり過ぎることを回避するように、それぞれ1つだけが示されている。(異なるタイプのこれらのソースのそれぞれが下記で議論される)。所望に応じて、コンテンツソース716およびメディアガイドデータソース718は、1つのソースデバイスとして統合されてもよい。ソース716および718と、ユーザ機器デバイス702、704、および706との間の通信は、通信ネットワーク714を通したものとして示されるが、いくつかの実施形態では、ソース716および718は、パス708、710、および712に関連して上記で説明されるもの等の通信パス(図示せず)を介して、ユーザ機器デバイス702、704、および706と直接通信してもよい。
コンテンツソース716は、テレビ配信施設、ケーブルシステムヘッドエンド、衛星配信施設、番組ソース(例えば、NBC、ABC、HBO等のテレビ放送会社)、中間配信施設および/またはサーバ、インターネットプロバイダ、オンデマンドメディアサーバ、および他のコンテンツプロバイダを含む、1つ以上のタイプのコンテンツ配信機器を含んでもよい。NBCは、National Broadcasting Company, Inc.によって所有される商標であり、ABCは、American Broadcasting Company, INC.によって所有される商標であり、HBOは、Home Box Office, Inc.によって所有される商標である。コンテンツソース716は、コンテンツの発信元であってもよい(例えば、テレビ放送会社、ウェブキャストプロバイダ等)、またはコンテンツの発信元でなくてもよい(例えば、オンデマンドコンテンツプロバイダ、ダウンロード用放送番組のコンテンツのインターネットプロバイダ等)。コンテンツソース716は、ケーブルソース、衛星プロバイダ、オンデマンドプロバイダ、インターネットプロバイダ、オーバーザトップコンテンツプロバイダ、または他のコンテンツのプロバイダを含んでもよい。コンテンツソース716はまた、ユーザ機器デバイスのうちのいずれかから遠隔の場所にある、異なるタイプのコンテンツ(ユーザによって選択されるビデオコンテンツを含む)を記憶するために使用される、遠隔メディアサーバを含んでもよい。コンテンツの遠隔記憶のため、および遠隔に記憶されたコンテンツをユーザ機器に提供するためのシステムおよび方法は、2010年7月20日出願のEllis et al.の米国特許出願第7,761,892号(その全体において参照することによって本明細書に組み込まれる)に関連して、より詳細に議論されている。
メディアガイドデータソース718は、上記で説明されるメディアガイドデータ等のメディアガイドデータを提供してもよい。メディアガイドデータは、任意の好適なアプローチを使用して、ユーザ機器デバイスに提供されてもよい。いくつかの実施形態では、ガイドアプリケーションは、データフィード(例えば、継続フィードまたはトリクルフィード)を介して、番組ガイドデータを受信する、独立型双方向テレビ番組ガイドであってもよい。番組スケジュールデータおよび他のガイドデータは、テレビチャネルのサイドバンド上で、帯域内デジタル信号を使用して、帯域外デジタル信号を使用して、または任意の他の好適なデータ伝送技術によって、ユーザ機器に提供されてもよい。番組スケジュールデータおよび他のメディアガイドデータは、複数のアナログまたはデジタルテレビチャネル上でユーザ機器に提供されてもよい。
いくつかの実施形態では、メディアガイドデータソース718からのガイドデータは、クライアントサーバアプローチを使用して、ユーザの機器に提供されてもよい。例えば、ユーザ機器デバイスは、メディアガイドデータをサーバからプルしてもよい、またはサーバは、メディアガイドデータをユーザ機器デバイスにプッシュしてもよい。いくつかの実施形態では、ユーザの機器上に常駐するガイドアプリケーションクライアントは、必要に応じて、例えば、ガイドデータが、古くなっているとき、またはユーザ機器デバイスが、データを受信する要求をユーザから受信するとき、ソース718とセッションを開始し、ガイドデータを取得してもよい。メディアガイドは、任意の好適な頻度で(例えば、継続的に、毎日、ユーザ規定期間で、システム規定期間で、ユーザ機器からの要求に応答して等)ユーザ機器に提供されてもよい。メディアガイドデータソース718は、ユーザ機器デバイス702、704、および706に、メディアガイドアプリケーション自体、またはメディアガイドアプリケーションのソフトウェア更新を提供してもよい。
いくつかの実施形態では、メディアガイドデータは、視聴者データを含んでもよい。例えば、視聴者データは、現在および/または履歴ユーザアクティビティ情報(例えば、ユーザが典型的に鑑賞するコンテンツ、ユーザがコンテンツを鑑賞する時刻、ユーザがソーシャルネットワークと相互作用するかどうか、ユーザがソーシャルネットワークと相互作用し、情報をポストする時間、ユーザが典型的に鑑賞するコンテンツのタイプ(例えば、有料TVまたは無料TV)、気分、脳の活動情報等)を含んでもよい。メディアガイドデータはまた、サブスクリプションデータを含んでもよい。例えば、サブスクリプションデータは、所与のユーザがサブスクライブするソースまたはサービス、および/または所与のユーザが以前にサブスクライブしていたが後にアクセスを打ち切ったソースまたはサービス(例えば、ユーザがプレミアムチャネルをサブスクライブしているかどうか、ユーザがプレミアムレベルのサービスを追加したかどうか、ユーザがインターネット速度を加速させたかどうか)を識別してもよい。いくつかの実施形態では、視聴者データおよび/またはサブスクリプションデータは、1年を上回る周期の間の所与のユーザのパターンを識別してもよい。メディアガイドデータは、所与のユーザがサービス/ソースへのアクセスを打ち切るであろう可能性を示すスコアを生成するために使用される、モデル(例えば、残存者モデル)を含んでもよい。例えば、メディアガイドアプリケーションは、所与のユーザが特定のサービスまたはソースへのアクセスを打ち切るであろうかどうかの可能性を示す、値またはスコアを生成するためのモデルを併用して、サブスクリプションデータとともに視聴者データを処理してもよい。特に、より高いスコアは、ユーザが特定のサービスまたはソースへのアクセスを打ち切るであろう、より高いレベルの信頼性を示し得る。スコアに基づいて、メディアガイドアプリケーションは、ユーザがアクセスを打ち切る可能性が高いであろうものとしてスコアによって示される特定のサービスまたはソースをユーザが維持するように勧誘する宣伝を生成してもよい。
メディアガイドアプリケーションは、例えば、ユーザ機器デバイス上に実装される独立型アプリケーションであってもよい。例えば、メディアガイドアプリケーションは、記憶装置608内に記憶され、ユーザ機器デバイス600の制御回路604によって実行され得る、ソフトウェアまたは実行可能命令のセットとして実装されてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、クライアント−サーバアプリケーションであってもよく、その場合、クライアントアプリケーションのみが、ユーザ機器デバイス上に常駐し、サーバアプリケーションは、遠隔サーバ上に常駐する。例えば、メディアガイドアプリケーションは、部分的にユーザ機器デバイス600の制御回路604上のクライアントアプリケーションとして、および遠隔サーバの制御回路上で起動するサーバアプリケーション(例えば、メディアガイドデータソース718)として部分的に遠隔サーバ上で、実装されてもよい。遠隔サーバの制御回路(メディアガイドデータソース718等)によって実行されると、メディアガイドアプリケーションは、制御回路に、ガイドアプリケーション表示を生成し、生成された表示をユーザ機器デバイスに伝送するように命令してもよい。サーバアプリケーションは、メディアガイドデータソース718の制御回路に、ユーザ機器上での記憶のためのデータを伝送するように命令してもよい。クライアントアプリケーションは、受信用ユーザ機器の制御回路に、ガイドアプリケーション表示を生成するように命令してもよい。
ユーザ機器デバイス702、704、および706に配信されるコンテンツおよび/またはメディアガイドデータは、オーバーザトップ(OTT)コンテンツであってもよい。OTTコンテンツ配信は、上記で説明される任意のユーザ機器デバイスを含む、インターネット対応型ユーザデバイスが、ケーブルまたは衛星接続を経由して受信されるコンテンツに加えて、上記で説明される任意のコンテンツを含む、インターネットを経由して転送されるコンテンツを受信することを可能にする。OTTコンテンツは、インターネットサービスプロバイダ(ISP)によって提供されるインターネット接続を介して配布されるが、第三者も、コンテンツを配布する。ISPは、視聴能力、著作権、またはコンテンツの再配布に責任がない場合があり、OTTコンテンツプロバイダによって提供されるIPパケットのみを転送してもよい。OTTコンテンツプロバイダの実施例は、IPパケットを介して、オーディオおよびビデオを提供する、YOUTUBE(登録商標)、NETFLIX(登録商標)およびHULU(登録商標)を含む。Youtubeは、Google Inc.によって所有される商標であり、Netflixは、Netflix, Inc.によって所有される商標であり、Huluは、Hulu, LLC.によって所有される商標である。OTTコンテンツプロバイダは、加えて、または代替として、上記で説明されるメディアガイドデータを提供してもよい。コンテンツおよび/またはメディアガイドデータに加えて、OTTコンテンツのプロバイダは、メディアガイドアプリケーション(例えば、ウェブベースのアプリケーションまたはクラウドベースのアプリケーション)を配布することができる、またはコンテンツは、ユーザ機器デバイス上に記憶されたメディアガイドアプリケーションによって表示されることができる。
メディアガイドシステム700は、いくつかのアプローチまたはネットワーク構成を例証することを意図しており、これによって、ユーザ機器デバイスおよびコンテンツおよびガイドデータのソースは、コンテンツにアクセスし、メディアガイドを提供する目的のために、相互に通信してもよい。本明細書に説明される実施形態は、これらのアプローチのうちのいずれか1つまたは一部において、またはコンテンツを配信し、メディアガイドを提供するための他のアプローチを採用するシステムにおいて、適用されてもよい。以下の4つのアプローチは、図7の一般化された実施例の具体的例証を提供する。
あるアプローチでは、ユーザ機器デバイスは、ホームネットワーク内で相互に通信してもよい。ユーザ機器デバイスは、上記で説明される短距離ポイントツーポイント通信方式を介して、ホームネットワーク上に提供されるハブまたは他の類似デバイスを通した間接パスを介して、または通信ネットワーク714を介して、相互に直接通信することができる。1つの家庭内の複数の個人のそれぞれが、ホームネットワーク上の異なるユーザ機器デバイスを動作させてもよい。結果として、種々のメディアガイド情報または設定が、異なるユーザ機器デバイスの間で通信されることが望ましくあり得る。例えば、2005年7月11日出願のEllis et al.の米国特許公開第2005/0251827号でより詳細に説明されるように、ホームネットワーク内の異なるユーザ機器デバイス上で、ユーザが一貫したメディアガイドアプリケーション設定を維持することが望ましくあり得る。ホームネットワーク内の異なるタイプのユーザ機器デバイスもまた、相互に通信し、コンテンツを伝送してもよい。例えば、ユーザは、ユーザコンピュータ機器から携帯用ビデオプレーヤまたは携帯用音楽プレーヤにコンテンツを伝送してもよい。
第2のアプローチでは、ユーザは、複数のタイプのユーザ機器を有してもよく、これによって、コンテンツにアクセスし、メディアガイドを取得する。例えば、一部のユーザは、家庭内およびモバイルデバイスによってアクセスされる、ホームネットワークを有してもよい。ユーザは、遠隔デバイス上に実装されるメディアガイドアプリケーションを介して、家庭内デバイスを制御してもよい。例えば、ユーザは、そのオフィスのパーソナルコンピュータ、またはPDAまたはウェブ対応携帯電話等のモバイルデバイスを介して、ウェブサイト上のオンラインメディアガイドアプリケーションにアクセスしてもよい。ユーザは、オンラインガイドアプリケーション上で種々の設定(例えば、録画、リマインダ、または他の設定)を設定して、ユーザの家庭内機器を制御してもよい。オンラインガイドは、直接、またはユーザの家庭内機器上のメディアガイドアプリケーションと通信することによって、ユーザの機器を制御してもよい。ユーザ機器デバイスが相互から遠隔の場所にある、ユーザ機器デバイスの通信のための種々のシステムおよび方法は、例えば、Ellis et al.の2011年10月25日発行の米国特許第8,046,801号(その全体において参照することによって本明細書に組み込まれる)で議論されている。
第3のアプローチでは、家庭内外のユーザ機器デバイスのユーザは、コンテンツソース716と直接通信し、コンテンツにアクセスするために、そのメディアガイドアプリケーションを使用することができる。具体的には、家庭内では、ユーザテレビ機器702およびユーザコンピュータ機器704のユーザは、メディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。ユーザはまた、無線ユーザ通信デバイス706を使用して、家庭外のメディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。
第4のアプローチでは、ユーザ機器デバイスは、クラウドコンピューティング環境内で動作し、クラウドサービスにアクセスしてもよい。クラウドコンピューティング環境では、コンテンツ共有、記憶、または配布のための種々のタイプのコンピューティングサービス(例えば、ビデオ共有サイトまたはソーシャルネットワーキングサイト)が、「クラウド」と称される、ネットワークアクセス可能コンピューティングおよび記憶リソースの集合によって提供される。例えば、クラウドは、通信ネットワーク714を介したインターネット等のネットワークを介して接続される、種々のタイプのユーザおよびデバイスにクラウドベースのサービスを提供する、中央にまたは分散場所に位置し得る、サーバコンピューティングデバイスの集合を含むことができる。これらのクラウドリソースは、1つ以上のコンテンツソース716および1つ以上のメディアガイドデータソース718を含んでもよい。加えて、または代替として、遠隔コンピューティングサイトは、ユーザテレビ機器702、ユーザコンピュータ機器704、および無線ユーザ通信デバイス706等の他のユーザ機器デバイスを含んでもよい。例えば、他のユーザ機器デバイスは、ビデオの記憶されたコピーまたはストリーミングされたビデオへのアクセスを提供してもよい。そのような実施形態では、ユーザ機器デバイスは、中央サーバと通信することなく、ピアツーピア様式で動作してもよい。
クラウドは、ユーザ機器デバイスのために、他の実施例の中でもとりわけ、コンテンツ記憶、コンテンツ共有、またはソーシャルネットワーキングサービス等のサービスへのアクセス、および上記で説明される任意のコンテンツへのアクセスを提供する。サービスは、クラウドコンピューティングサービスプロバイダを通して、またはオンラインサービスの他のプロバイダを通して、クラウド内で提供されることができる。例えば、クラウドベースのサービスは、コンテンツ記憶サービス、コンテンツ共有サイト、ソーシャルネットワーキングサイト、または他のサービスを含むことができ、それを介して、ユーザ供給コンテンツは、接続されたデバイス上で他者によって視聴するために配布される。これらのクラウドベースのサービスは、ユーザ機器デバイスが、コンテンツをローカルで記憶し、ローカルで記憶されたコンテンツにアクセスするのではなく、コンテンツをクラウドに記憶し、コンテンツをクラウドから受信することを可能にしてもよい。
ユーザは、カムコーダ、ビデオモード付きデジタルカメラ、オーディオレコーダ、携帯電話、およびハンドヘルドコンピューティングデバイス等の種々のコンテンツ捕捉デバイスを使用して、コンテンツを録画してもよい。ユーザは、直接、例えば、ユーザコンピュータ機器704から、またはコンテンツ捕捉特徴を有する無線ユーザ通信デバイス706からのいずれかにおいて、クラウド上のコンテンツ記憶サービスにコンテンツをアップロードすることができる。代替として、ユーザは、最初に、コンテンツをユーザコンピュータ機器704等のユーザ機器デバイスに転送することができる。コンテンツを記憶するユーザ機器デバイスは、通信ネットワーク714上のデータ伝送サービスを使用して、コンテンツをクラウドにアップロードする。いくつかの実施形態では、ユーザ機器デバイス自体が、クラウドリソースであり、他のユーザ機器デバイスは、直接、ユーザがコンテンツを記憶したユーザ機器デバイスから、コンテンツにアクセスすることができる。
クラウドリソースは、例えば、ウェブブラウザ、メディアガイドアプリケーション、デスクトップアプリケーション、モバイルアプリケーション、および/またはそれらのアクセスアプリケーションの任意の組み合わせを使用して、ユーザ機器デバイスによってアクセスされてもよい。ユーザ機器デバイスは、アプリケーション配信のためにクラウドコンピューティングに依拠する、クラウドクライアントであってもよい、またはユーザ機器デバイスは、クラウドリソースにアクセスすることなく、ある機能性を有してもよい。例えば、ユーザ機器デバイス上で起動するいくつかのアプリケーションは、クラウドアプリケーション、すなわち、インターネットを経由して、サービスとして配信されるアプリケーションであってもよい一方で、他のアプリケーションは、ユーザ機器デバイス上に記憶され、起動されてもよい。いくつかの実施形態では、ユーザデバイスは、コンテンツを複数のクラウドリソースから同時に受信してもよい。例えば、ユーザデバイスは、オーディオを1つのクラウドリソースからストリーミングする一方で、コンテンツを第2のクラウドリソースからダウンロードすることができる。または、ユーザデバイスは、より効率的なダウンロードのために、コンテンツを複数のクラウドリソースからダウンロードすることができる。いくつかの実施形態では、ユーザ機器デバイスは、図6に関連して説明される処理回路によって実施される処理動作等の処理動作のために、クラウドリソースを使用することができる。
本明細書で参照されるように、用語「〜に応答して」は、「〜の結果として開始される」ことを指す。例えば、第2のアクションに応答して実施されている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含んでもよい。本明細書で参照されるように、用語「〜に直接応答して」は、「〜によって引き起こされる」ことを指す。例えば、第2のアクションに直接応答して実施されている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含まなくてもよい。
図8は、本開示のいくつかの実施形態による、複数のソースからの検索結果を提示するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス800は、制御回路604(図6)によって実行されてもよい。プロセス800またはその任意のステップは、図6−7に示されるデバイスのうちのいずれかの上で実施される、またはそれによって提供され得ることに留意されたい。
プロセス800は、メディアガイドアプリケーションがユーザ入力を(例えば、制御回路604(図6)を介して)受信する、802から開始する。例えば、メディアガイドアプリケーションは、ユーザ入力インターフェース(例えば、ユーザ入力インターフェース610(図6))を介して、ユーザ入力を(例えば、制御回路604(図6)を介して)受信してもよい。ユーザ入力は、1つまたは複数の英数字または他の文字の列であってもよい。代替として、または加えて、ユーザ入力は、共通検索クエリを用いて複数の選択可能なオプションのうちの1つを選択するステップであってもよい。例えば、メディアガイドアプリケーションは、ユーザが選択するための選択可能なオプションとして、最も一般的に検索されるキーワードを(例えば、制御回路604(図6)を介して)提示し、ユーザが文字を入力する必要があり得る時間を節約してもよい。
プロセス800は、メディアガイドアプリケーションが、ユーザ入力に基づいて、第1のソースおよび第2のソースからの結果を(例えば、制御回路604(図6)を介して)検索する、804に続く。例えば、メディアガイドアプリケーションは、ユーザ入力を第1のソースおよび第2のソースに(例えば、通信ネットワーク714(図7)を介してコンテンツソース716に)(例えば、制御回路604(図6)を介して)伝送してもよい。例えば、メディアガイドアプリケーションは、検索のためのユーザ入力(例えば、文字列)および/または他のパラメータ(例えば、結果がある時間周期中にあるべきである)を含む、データパケットを生成してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、ソースの一方または両方からのAPIを利用し、(例えば、ユーザ入力に基づいて)検索クエリを(例えば、制御回路604(図6)を介して)伝送してもよい。メディアガイドアプリケーションは、具体的ソースの(例えば、記憶装置608(図6)の中にローカルで、または通信ネットワーク714(図7)を介してアクセス可能なメディアガイドデータソース718において遠隔に記憶された)ユーザ選好に基づいて、ユーザ入力を伝送するためのソースを(例えば、制御回路604(図6)を介して)決定してもよい。例えば、ユーザは、検索クエリがソースの特定のセットに(例えば、AMAZON(登録商標)およびHULU(登録商標)に)送信されるべきであるという選好を記憶してもよい。代替として、または加えて、メディアガイドアプリケーションは、ユーザ入力時にグラフィカルユーザインターフェースを(例えば、制御回路604(図6)を介して)生成し、ユーザがソースを選択することを可能にしてもよい。例えば、メディアガイドアプリケーションは、ユーザが、ソースが結果を検索するための文字列(例えば、ユーザ入力)および一連の選択可能なオプションを(例えば、ユーザ入力インターフェース610(図6)を介して)入力し得る、フィールドを(例えば、制御回路604(図6)を介して)生成してもよい。
プロセス800は、メディアガイドアプリケーションが、第1のソースから第1の検索結果および第2のソースから第2の検索結果を(例えば、制御回路604(図6)を介して)受信する、806に続く。例えば、メディアガイドアプリケーションは、両方のソースから(例えば、コンテンツソース716(図7)から)のユーザ入力に合致する、複数の結果を(例えば、制御回路604(図6)を介して)受信してもよい。各ソースからの結果は、各テーブルが、合致する結果の識別子(例えば、メディアアセットのタイトル)および関連付けられるフィールド内の付加的情報(例えば、メディアアセットの中の俳優)をそれぞれ伴う、複数の行を含有する、別個のテーブルの中で、メディアガイドアプリケーションによって(例えば、制御回路604(図6)を介して)受信されてもよい。いくつかの実施形態では、結果は、人気に従ってランク付けされてもよい。代替として、または加えて、結果は、ユーザ入力への関連性に従ってランク付けされてもよい。例えば、「The Big Bang Theory」が最も人気のある結果(例えば、多くのユーザがそれをクリックする)であるにもかかわらず、ユーザ入力が「Bang」であるため、Miley Cyrusによるアルバムである、結果「Bangerz」は、第1の言葉がクエリに合致されるため、より高くランク付けされてもよい。代替として、または加えて、メディアガイドアプリケーションは、上記で議論される要因の任意の組み合わせに基づいて、およびユーザ選好に基づいて、(例えば、制御回路604(図6)を介して)結果を並べ替えてもよい。例えば、メディアガイドアプリケーションが、(例えば、記憶装置608(図6)の中にローカルで、または通信ネットワーク714(図7)を介してアクセス可能なメディアガイドデータソース718において遠隔に記憶された)ユーザが所与の俳優が出演する映画を好むというユーザ選好を(例えば、制御回路604(図6)を介して)読み出す場合、その俳優を伴う結果が、ランキングの中で上昇されてもよい。
プロセス800は、メディアガイドアプリケーションが、第2のソースと比べて第1のソースの選好を示す、ユーザ選好を(例えば、制御回路604(図6)を介して)読み出す、808に続く。例えば、メディアガイドアプリケーションは、ローカルで(例えば、記憶装置608(図6)の中に)、またはサーバにおいて遠隔に(例えば、通信ネットワーク714(図7)を介してアクセス可能なメディアガイドデータソース718において)記憶されたユーザプロファイルを(例えば、制御回路604(図6)を介して)読み出してもよい。メディアガイドアプリケーションは、図9に関して下記でさらに説明されるように、ユーザプロファイルから検索選好を(例えば、制御回路604(図6)を介して)読み出してもよい。例えば、メディアガイドアプリケーションは、ユーザによって設定されるソースのランキングを(例えば、制御回路604(図6)を介して)記憶してもよい。具体的実施例として、メディアガイドアプリケーションは、ユーザが、ソース(例えば、HULU(登録商標)、AMAZON(登録商標)等)を特定の順序にドラッグアンドドロップし、その選好を反映し得る、(例えば、ディスプレイ612(図6)上の)グラフィカルユーザインターフェースを生成してもよい。メディアガイドアプリケーションは、次いで、ランクおよび各ソースの識別子を(例えば、アレイの中に)記憶してもよい。メディアガイドアプリケーションは、ユーザによって設定されるソースの記憶されたランクを(例えば、制御回路604(図6)を介して)読み出し、第1および第2のソースの個別のランクを決定してもよい。例えば、メディアガイドアプリケーションは、文字列「hulu」によって識別されるHULU(登録商標)が、「5」のランキングと関連付けられることを(例えば、制御回路604(図6)を介して)決定してもよい。AMAZON(登録商標)のランキングが「3」である場合、メディアガイドアプリケーションは、ユーザがHULU(登録商標)よりAMAZON(登録商標)を好むことを(例えば、制御回路604(図6)を介して)決定してもよい。
プロセス800は、メディアガイドアプリケーションが、第2のソースと比べて第1のソースの選好を示す、読み出されたユーザ選好に基づいて、検索結果を伴う複数の行を備えるグリッドの第1の行内に第1のソースからの第1の検索結果を表示するために生成することを(例えば、制御回路604(図6)を介して)決定する、810に続く。例えば、メディアガイドアプリケーションは、第1のソースからの結果を生成するための特定の場所(例えば、行)を(例えば、制御回路604(図6)を介して)決定してもよい。いくつかの実施形態では、行は、第2のソースからの結果が提示される第2の行よりも画面(例えば、ディスプレイ612(図6))の上部に近い行に位置してもよい。
プロセス800は、メディアガイドアプリケーションが、第1の行に適合する第1の検索結果の第1のサブセットおよびグリッドの第2の行に適合する第2の検索結果の第2のサブセットを(例えば、制御回路604(図6)を介して)決定し、第1のサブセットは、第1の検索結果のうちの第1の結果を含み、第2のサブセットは、第2の検索結果のうちの第3の結果ではなくて第2の結果を含む、812に続く。例えば、メディアガイドアプリケーションは、第1の行および第2の行に適合する結果の数を(例えば、制御回路604(図6)を介して)決定してもよい。数は、一定であり得る(例えば、各行が、常に、3つの結果を含有する)、または結果の識別子の長さに基づいて変動し得る(例えば、多数の文字を伴う結果が、より多くの空間を占め、より少ない文字が、一度に表示されることができる)。いくつかの実施形態では、数は、第1の行および第2の行に関して異なり得る。例えば、ユーザ選好に基づいて好ましいことにより、より多くの結果が、第2の行よりも第1の行に関して表示されてもよい(例えば、第1の行が、より多くの表示空間を占め、2つの下位行内に結果を表示してもよい)。メディアガイドアプリケーションは、次いで、図10に関して下記でさらに説明されるように、表示するために2つのソースからの受信された検索結果(例えば、第1および第2のサブセット)から適切な数の結果を(例えば、制御回路604(図6)を介して)選択してもよい。第1のサブセットは、第2のサブセットの中の第2の結果に合致する、第1の結果を含んでもよい。例えば、「The Big Bang Theory」は、第1および第2のサブセットの中に存在し得る。非重複結果をユーザに提示するために、メディアガイドアプリケーションは、第2の結果の代わりに、第1のサブセットの中の結果のうちの1つに合致しない、第2の検索結果のうちの第3の結果を(例えば、制御回路604(図6)を介して)選択してもよい。
プロセス800は、メディアガイドアプリケーションが、第1の結果と関連付けられるメタデータを第2の結果と関連付けられるメタデータと(例えば、制御回路604(図6)を介して)比較する、814に続く。例えば、メディアガイドアプリケーションは、ローカルで記憶装置(例えば、記憶装置608(図6))または(例えば、通信ネットワーク714(図7)を介してアクセス可能なメディアガイドデータソース718等の)遠隔サーバから、結果と関連付けられるメタデータを(例えば、制御回路604(図6)を介して)読み出してもよい。メディアガイドアプリケーションは、代替として、または加えて、ソース(例えば、コンテンツソース716(図7))から受信される結果と関連付けられるテーブルのフィールド内のメタデータを(例えば、制御回路604(図6)を介して)受信してもよい。メタデータは、結果と関連付けられるコンテンツを説明する結果に関連する任意のデータであってもよい。例えば、結果がニュース記事に関する場合、メタデータは、記事の著者、記事のタイプ(例えば、意見)、および/または出版物名(例えば、Nature)を含んでもよい。メディアガイドアプリケーションは、2つの結果のメタデータの文字(例えば、属性)を反復して比較し、2つの結果が合致するかどうかを決定するためのプログラムスクリプトを(例えば、制御回路604(図6)を介して)実行してもよい。例えば、メディアガイドアプリケーションは、第1の結果と関連付けられる文字列「Matt Damon」を、第2の結果と関連付けられる文字列「Matt Dillon」と(例えば、制御回路604(図6)を介して)比較してもよい。
プロセス800は、メディアガイドアプリケーションが、比較に基づいて、第1の結果が第2の結果に合致することを(例えば、制御回路604(図6)を介して)決定する、816に続く。例えば、メディアガイドアプリケーションは、第1の結果と関連付けられる具体的属性の各文字が、第2の結果と関連付けられる対応する属性の各文字に合致する場合、2つの結果が合致することを(例えば、制御回路604(図6)を介して)決定してもよい。例えば、2つの結果が、俳優「Matt Damon」を指すメタデータを含有する場合、メディアガイドアプリケーションは、メタデータが合致し、したがって、2つの結果が合致することを(例えば、制御回路604(図6)を介して)決定してもよい。代替として、または加えて、メディアガイドアプリケーションは、図11に関してさらに説明されるように、第1の結果と関連付けられる全てのメタデータ(例えば、全ての属性)または閾値割合(例えば、50%)が、第2の結果の対応するメタデータに合致するかどうかを(例えば、制御回路604(図6)を介して)決定してもよい。例えば、メディアガイドアプリケーションが、タイトル、監督、およびジャンル属性が2つの結果の間で合致することを(例えば、制御回路604(図6)を介して)決定する場合、メディアガイドアプリケーションは、2つの結果が、1つだけの属性が合致した場合よりも大きい信頼度を伴って合致することを決定してもよい。
プロセス800は、メディアガイドアプリケーションが、第2のサブセットの中の第2の結果を第3の結果と置換することによって、第2のサブセットを(例えば、制御回路604(図6)を介して)修正する、818に続く。例えば、2つの結果が同時に表示されるものである(例えば、それらが第1および第2のサブセットの中にある)と決定することに応じて、メディアガイドアプリケーションは、ユーザが好まないソースの結果を別の結果と(例えば、制御回路604(図6)を介して)置換する。例えば、「The Big Bang Theory」が、第1および第2のソース(例えば、ソース716(図7))の両方からの結果であり、第1および第2のサブセットの中にある場合、第2のサブセットの中の結果は、別の結果と置換されてもよい。図1−2に関して下記でさらに議論されるように、第2の結果に取って代わる結果は、ユーザ選好に基づく、または第2のソースからの検索結果の中の各結果のランキングに基づいてもよい。
プロセス800は、メディアガイドアプリケーションが、第1の行内の第1のサブセットおよび第2の行内の修正された第2のサブセットを表示するために(例えば、制御回路604(図6)を介して)生成する、820に続く。例えば、メディアガイドアプリケーションは、第1の行内で第1のサブセットの中の各結果の識別子を(例えば、制御回路604(図6)を介して)生成してもよい。具体的実施例として、識別子は、各結果を識別するテキストまたはグラフィックであってもよい。メディアガイドアプリケーションは、ソースから識別子を(例えば、制御回路604(図6)を介して)受信してもよい、またはローカル記憶装置(例えば、記憶装置608(図6))または遠隔サーバ(例えば、通信ネットワーク714(図7)を介してアクセスなメディアガイドデータソース718における)からそれらを読み出してもよい。メディアガイドアプリケーションは、同様に、第2の行内で(例えば、第3の結果が第2の結果に取って代わっている)修正された第2のサブセットの中の各結果の識別子を(例えば、制御回路604(図6)を介して)生成してもよい。
図9は、本開示のいくつかの実施形態による、ユーザ選好に基づいて、ユーザが第2のソースと比べて第1のソースを好むことを決定するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス900は、制御回路604(図6)によって実行されてもよい。プロセス900またはその任意のステップは、図6−7に示されるデバイスのうちのいずれかの上で実施される、またはそれによって提供され得ることに留意されたい。プロセス900は、メディアガイドアプリケーションが、ユーザ選好に基づいて、ユーザが第2のソースと比べて第1のソースを好むことを決定するためのプロセスを(例えば、制御回路604(図6)を介して)開始する、902から開始する。例えば、メディアガイドアプリケーションは、必要な変数を初期化し、プロセス900を実行するための特定の方法を呼び出すプログラムスクリプトを(例えば、制御回路604(図6)を介して)実行してもよい。
プロセス900は、メディアガイドアプリケーションが、第1のソースおよび第2のソースを含む、ソースのランキングを(例えば、制御回路604(図6)を介して)読み出す、904に続く。例えば、メディアガイドアプリケーションは、ローカル記憶装置(例えば、記憶装置608(図6))または遠隔サーバ(例えば、通信ネットワーク714(図7)を介してアクセス可能なメディアガイドデータソース718)から、ソースの識別子および関連付けられるランクを含有する、リストまたは他のデータ構造を(例えば、制御回路604(図6)を介して)読み出してもよい。いくつかの実施形態では、ランクは、インデックスに基づいてもよい(例えば、アレイのインデックス0の中に記憶された値は、最高ランク付けされたソースである)。他の実施形態では、ランクは、識別子と関連付けられる別個のフィールドの中に記憶されてもよい。読み出されたリストまたは他のデータ構造は、(例えば、ソースの全体的人気に基づいて)ソースのデフォルトランキングを表してもよい。
プロセス900は、メディアガイドアプリケーションが、ユーザと関連付けられるユーザプロファイルに(例えば、制御回路604(図6)を介して)アクセスする、906に続く。例えば、メディアガイドアプリケーションは、ローカル記憶装置(例えば、記憶装置608(図6))または遠隔サーバ(例えば、通信ネットワーク714(図7)を介してアクセス可能なメディアガイドデータソース718)の中に記憶されたユーザプロファイルに(例えば、制御回路604(図6)を介して)アクセスしてもよい。メディアガイドアプリケーションは、ユーザの識別子および/またはパスコードを含有するデータパケットを(例えば、制御回路604(図6)を介して)伝送し、ユーザの識別を認証し、ユーザプロファイルにアクセスしてもよい。
プロセス900は、メディアガイドアプリケーションがユーザプロファイルからユーザ選好を(例えば、制御回路604(図6)を介して)読み出す、908に続く。例えば、メディアガイドアプリケーションは、SQL等のデータベースクエリ言語を利用するプログラムスクリプトを(例えば、制御回路604(図6)を介して)実行し、ユーザプロファイルの特定のフィールド内のデータにアクセスし、それを読み出してもよい。メディアガイドアプリケーションは、具体的フィールド(例えば、ユーザと関連付けられるお気に入りチャネルリスト等のユーザが好むソースに関連性があると決定される)、ユーザ選好のランダムなサブセット、またはユーザプロファイルからの全てのユーザ選好から、データを(例えば、制御回路604(図6)を介して)読み出してもよい。
プロセス900は、メディアガイドアプリケーションが、ユーザ選好が検索されているソースに関連するかどうかを(例えば、制御回路604(図6)を介して)決定する、910に続く。例えば、メディアガイドアプリケーションは、読み出されたユーザ選好を、ユーザ選好が検索されているソースに関連するかどうかを決定するための規則セットと(例えば、制御回路604(図6)を介して)比較してもよい。例えば、規則セットは、メディアアセットが検索されている特定のソースから(例えば、ユーザプロファイルの視聴履歴の中に記憶されているように)ユーザによって最近鑑賞された場合には、ユーザ選好が特定のソースに関連するという規則を含んでもよい。別の実施例として、ユーザプロファイルは、ソースの明示的選好(例えば、ユーザが「Amazonを好まない」ことを示すユーザ選好)を含有してもよい。別の実施例として、ユーザプロファイルは、(例えば、ソーシャルネットワーキングサイトを通して)ユーザによって伝送されるメッセージを含有してもよく、メッセージのコンテンツを分析し、ソースの識別子またはソースと関連付けられる識別子がメッセージの一部であるかどうかを決定してもよい。
910において、メディアガイドアプリケーションが、ユーザ選好が検索されているソースに関連することを決定する場合、プロセス900は、メディアガイドアプリケーションが、ユーザ選好がソースの肯定的見解を示すかどうかを(例えば、制御回路604(図6)を介して)決定する、912に続く。例えば、メディアガイドアプリケーションは、ソースに関連するユーザ選好が、ソースの概して肯定的または否定的な見解を反映するかかどうかを決定してもよい。例えば、メディアガイドアプリケーションは、ユーザがこの一週間でソース「HBO」からの多くのメディアアセットを視聴したことを(例えば、制御回路604(図6)を介して)決定し、ユーザの視聴習慣をソースの肯定的見解として解釈してもよい。別の実施例として、メディアガイドアプリケーションは、ソースの否定的見解として解釈され得る、ユーザがAMAZON(登録商標)からのメディアアセットを鑑賞することを止めており、1ヶ月超にAMAZON(登録商標)からのメディアアセット視聴していないことを(例えば、制御回路604(図6)を介して)決定してもよい。メディアガイドアプリケーションは、ユーザ選好と関連付けられる属性を、ソースの概して肯定的または否定的な見解を示す、記憶された属性と比較することに基づいて、特定のユーザ選好が肯定的または否定的であるかどうかを(例えば、制御回路604(図6)を介して)決定してもよい。例えば、言葉「嫌い」および「キャンセル」、ソースからある時間週間にわたってメディアアセットを視聴しないこと、ソースからのコンテンツに概して敵対する人口統計所属および/または政党等は、ソースの概して不利な見解を反映し得る。
912において、メディアガイドアプリケーションが、ユーザ選好がソースの肯定的見解を示さないことを決定する場合、プロセス900は、メディアガイドアプリケーションがソースと関連付けられるランクを(例えば、制御回路604(図6)を介して)減少させる、914に続く。例えば、メディアガイドアプリケーションは、(例えば、見解が肯定的である程度に基づいて)肯定的見解と関連付けられる重みを(例えば、制御回路604(図6)を介して)決定し、それに応じて、ソースのランキングを調節してもよい。例えば、(例えば、上記で議論されるような規則セットに基づく)ソースの非常に有利な選好は、メディアガイドアプリケーションに、ソースと関連付けられるランキングを以前よりも複数順位高くなるように(制御回路604(図6)を介して)調節させてもよい。プロセス900は、次いで、下記で議論される918に続く。
912において、メディアガイドアプリケーションが、ユーザ選好がソースの肯定的見解を示すことを決定する場合、プロセス900は、メディアガイドアプリケーションがソースと関連付けられるランクを(例えば、制御回路604(図6)を介して)増加させる、916に続く。例えば、メディアガイドアプリケーションは、(例えば、見解が否定的である程度に基づいて)否定的見解と関連付けられる加重を(例えば、制御回路604(図6)を介して)決定し、それに応じて、ソースのランキングを調節してもよい。例えば、(例えば、上記で議論されるような規則セットに基づく)ソースの軽度に不利な選好は、メディアガイドアプリケーションに、ソースと関連付けられるランキングを以前よりも1つ低い順位になるように(例えば、制御回路604(図6)を介して)調節させてもよい。プロセス900は、次いで、下記で議論される918に続く。
910において、メディアガイドアプリケーションが、ユーザ選好が検索されているソースに関連しないことを決定する場合、プロセス900は、メディアガイドアプリケーションが、読み出されていない任意の他の選好がユーザプロファイルの中に存在するかどうかを(例えば、制御回路604(図6)を介して)決定する、918に続く。例えば、メディアガイドアプリケーションは、forループを実行し、全てのユーザ選好(または908に関して上記で議論されるような全ての関連ユーザ選好)を反復して読み出してもよい。メディアガイドアプリケーションは、依然として起動しているforループに基づいて、(例えば、ユーザ選好を含有する)ユーザプロファイルのいくつかのフィールドの内のデータが読み出されていないことを(例えば、制御回路604(図6)を介して)決定してもよい。メディアガイドアプリケーションはまた、読み出されたユーザ選好のリストを(例えば、制御回路604(図6)を介して)記憶し、ユーザプロファイル内のユーザ選好と比較して、まだ読み出されていない任意の他の選好が存在するかどうかを決定してもよい。
918において、メディアガイドアプリケーションが、読み出されていないユーザプロファイル内の他の選好が存在することを決定する場合、プロセス900は、メディアガイドアプリケーションがユーザプロファイルからユーザ選好を(例えば、制御回路604(図6)を介して)読み出す、908に戻る。例えば、メディアガイドアプリケーションは、(例えば、読み出された選好をユーザプロファイル内の選好と比較することに基づいて)いくつかのユーザ選好がユーザプロファイルからまだ読み出されていないことを(例えば、制御回路604(図6)を介して)決定してもよく、メディアガイドアプリケーションは、全てが分析されるまで(例えば、制御回路604(図6)を介して)ユーザ選好を読み出し続けてもよい。このようにして、メディアガイドアプリケーションは、特定のソースが別のソースよりも高くランク付けされるべきであるかどうかを決定するときに、全てのユーザ選好が考慮されることを確実にしてもよい。
918において、メディアガイドアプリケーションが、ユーザプロファイル内の全てのユーザ選好が読み出されたことを決定する場合、プロセス900は、メディアガイドアプリケーションが、ランキングから、第1のソースが第2のソースよりも高くランク付けされることを(例えば、制御回路604(図6)を介して)決定する、920に続く。例えば、メディアガイドアプリケーションは、リストまたは他のデータ構造内で(例えば、関連付けられるフィールドまたはインデックスに基づいて)最高にランク付けされるソースの識別子を(例えば、制御回路604(図6)を介して)読み出し、ソースの読み出された識別子が最高ランク付けされたソースを表すことを決定してもよい。メディアガイドアプリケーションは、本ソースが他のソースよりも高くランク付けされ、したがって、ユーザが第2のソースと比べて本ソースの選好を有することを(例えば、制御回路604(図6)を介して)決定してもよい。
図10は、本開示のいくつかの実施形態による、表示する結果のサブセットを決定するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス1000は、制御回路604(図6)によって実行されてもよい。プロセス1000またはその任意のステップは、図6−7に示されるデバイスのうちのいずれかの上で実施される、またはそれによって提供され得ることに留意されたい。プロセス1000は、メディアガイドアプリケーションが表示する結果のサブセットを決定するためのプロセスを(例えば、制御回路604(図6)を介して)開始する、1002から開始する。例えば、メディアガイドアプリケーションは、必要な変数を初期化し、プロセス1000を実行するための特定の方法を呼び出すプログラムスクリプトを(例えば、制御回路604(図6)を介して)実行してもよい。
プロセス1000は、メディアガイドアプリケーションが、結果がユーザ入力への関連性に基づいてランク付けされるかどうかを(例えば、制御回路604(図6)を介して)決定する、1004に続く。例えば、メディアガイドアプリケーションは、(例えば、コンテンツソース716(図7)を介して)ソースから検索結果を伴って受信されるデータが、結果がユーザ入力への関連性に基づいてランク付けされることを示すかどうかを(例えば、制御回路604(図6)を介して)決定してもよい。具体的実施例として、メディアガイドアプリケーションは、ブール値が、ソースからの結果と関連付けられるデータパケットの中で受信される関連性によるランキングのために「真」に設定されるかどうかを(例えば、制御回路604(図6)を介して)決定してもよい。
1004において、メディアガイドアプリケーションが、結果がユーザ入力への関連性に基づいてランク付けされないことを決定する場合、プロセス1000は、メディアガイドアプリケーションが各結果をユーザ入力と(例えば、制御回路604(図6)を介して)比較し、関連性値を決定する、1006に続く。例えば、メディアガイドアプリケーションは、結果の文字をユーザ入力と(例えば、制御回路604(図6)を介して)比較し、合致する量および/または割合を決定し、合致する量および/または割合に従って関連性値を割り当ててもよい。代替として、または加えて、メディアガイドアプリケーションは、連続した文字(例えば、言葉)がユーザ入力と結果との間で合致する位置を(例えば、制御回路604(図6)を介して)加重してもよい。例えば、1つの結果の第1の言葉がユーザ入力に合致し、第2の結果も言葉に合致するが、それが言葉の列の中の第3の言葉である場合、第1の結果は、より大きい関連性値を割り当てられてもよい。
プロセス1000は、メディアガイドアプリケーションが、関連性値に基づいて結果を(例えば、制御回路604(図6)を介して)ランク付けする、1008に続く。例えば、メディアガイドアプリケーションは、マージソートまたはバブルソート等のソートアルゴリズムを利用することによって、関連性値に基づいて(例えば、最高関連性から最低関連性に)結果を(例えば、制御回路604(図6)を介して)順序付けてもよい。メディアガイドアプリケーションは、ランキングを他のランキングと(例えば、制御回路604(図6)を介して)組み合わせ、(例えば、下記で議論されるように、人気またはユーザ選好に基づいて)各ランキングを加重し、次いで、サブセットのための結果を選択するために使用される、総合ランキングを生成してもよい。プロセス1000は、次いで、1010に続く。
1004において、メディアガイドアプリケーションは、結果がユーザ入力への関連性に基づいてランク付けされることを決定する場合、プロセス1000は、メディアガイドアプリケーションが、結果が人気に基づいてランク付けされるかどうかを(例えば、制御回路604(図6)を介して)決定する、1010に続く。例えば、メディアガイドアプリケーションは、(例えば、コンテンツソース716(図7)を介して)ソースから検索結果を伴って受信されるデータが、結果が人気に基づいてランク付けされることを示すかどうかを(例えば、制御回路604(図6)を介して)決定してもよい。具体的実施例として、メディアガイドアプリケーションは、ブール値が、ソースからの結果と関連付けられるデータパケットの中で受信される人気によるランキングのために「真」に設定されるかどうかを(例えば、制御回路604(図6)を介して)決定してもよい。
1010において、メディアガイドアプリケーションが、結果が人気に基づいてランク付けされないことを決定する場合、プロセス1000は、メディアガイドアプリケーションが結果毎に人気値を(例えば、制御回路604(図6)を介して)読み出す、1012に続く。例えば、メディアガイドアプリケーションは、各結果の識別子と関連付けられる人気値の要求をデータベースに(例えば、メディアガイドデータソース718(図7)に)(例えば、制御回路604(図6)を介して)伝送してもよい。具体的実施例として、メディアガイドアプリケーションは、データベースから人気値を(例えば、制御回路604(図6)を介して)読み出してもよい。人気値は、ユーザが結果と関連付けられるデータを視聴する、またはそれにアクセスする数のランキングであってもよい(例えば、「The Big Bang Theory」は、1位にランク付けされた番組であり、ESPN.comは、3位の最も訪問されたウェブページである等)。
プロセス1000は、メディアガイドアプリケーションが、読み出された人気値に基づいて結果を(例えば、制御回路604(図6)を介して)ランク付けする、1014に続く。例えば、メディアガイドアプリケーションは、マージソートまたはバブルソート等のソートアルゴリズムを利用することによって、人気値に基づいて(例えば、最高人気から最低人気に)結果を(例えば、制御回路604(図6)を介して)順序付けてもよい。メディアガイドアプリケーションは、ランキングを他のランキングと(例えば、制御回路604(図6)を介して)組み合わせ、(例えば、下記で議論されるように、人気またはユーザ選好に基づいて)各ランキングを加重し、次いで、サブセットのための結果を選択するために使用される、総合ランキングを生成してもよい。プロセス1000は、次いで、1016に続く。
1010において、メディアガイドアプリケーションが、結果が人気に基づいてランク付けされることを決定する場合、プロセス1000は、メディアガイドアプリケーションが、結果がユーザ選好に基づいてランク付けされるかどうかを(例えば、制御回路604(図6)を介して)決定する、1016に続く。例えば、メディアガイドアプリケーションは、(例えば、コンテンツソース716(図7)を介して)ソースから検索結果を伴って受信されるデータが、結果がユーザ選好に基づいてランク付けされることを示すかどうかを(例えば、制御回路604(図6)を介して)決定してもよい。具体的実施例として、メディアガイドアプリケーションは、ブール値が、ソースからの結果と関連付けられるデータパケットの中で受信されるユーザ選好によるランキングのために「真」に設定されるかどうかを(例えば、制御回路604(図6)を介して)決定してもよい。例えば、メディアガイドアプリケーションは、検索時に、ユーザ入力を伴うユーザ選好をソースに(例えば、制御回路604(図6)を介して)伝送してもよい、または(例えば、データプライバシーの考慮事項に起因して)結果を受信した後にユーザ選好に基づいて結果をソートしてもよい。
1016において、メディアガイドアプリケーションが、結果がユーザ選好に基づいてランク付けされないことを決定する場合、プロセス1000は、メディアガイドアプリケーションがユーザプロファイルからユーザ選好を(例えば、制御回路604(図6)を介して)読み出す、1018に続く。例えば、メディアガイドアプリケーションは、SQL等のデータベースクエリ言語を利用するプログラムスクリプトを(例えば、制御回路604(図6)を介して)実行し、ユーザプロファイルの特定のフィールド内のデータにアクセスし、それを読み出してもよい。メディアガイドアプリケーションは、具体的フィールド(例えば、ユーザと関連付けられるお気に入り番組等の検索結果に関連性があると決定される)、ユーザ選好のランダムなサブセット、またはユーザプロファイルからの全てのユーザ選好から、データを(例えば、制御回路604(図6)を介して)読み出してもよい。
プロセス1000は、メディアガイドアプリケーションが、各読み出されたユーザ選好を各結果と(例えば、制御回路604(図6)を介して)比較し、選好値を決定する、1020に続く。例えば、メディアガイドアプリケーションは、読み出されたユーザ選好を、ユーザ選好が検索結果に関連するかどうかを決定するための規則セットと(例えば、制御回路604(図6)を介して)比較してもよい。例えば、規則セットは、検索結果が特定の俳優(例えば、Tom Hanks)と関連付けられ、ユーザ選好がTom Hanksが出演している映画(例えば、「Forrest Gump」)に関連する場合には、具体的値が選好値として割り当てられるであろうという規則を含んでもよい。メディアガイドアプリケーションは、付加的ユーザ選好が同一の検索結果に関する場合、選好値を(例えば、制御回路604(図6)を介して)更新してもよい。
プロセス1000は、メディアガイドアプリケーションが選好値に基づいて結果を(例えば、制御回路604(図6)を介して)ランク付けする、1014に続く。プロセス1000は、次いで、1024に続く。例えば、メディアガイドアプリケーションは、マージソートまたはバブルソート等のソートアルゴリズムを利用することによって、選好値に基づいて(例えば、最高人気から最低人気に)結果を(例えば、制御回路604(図6)を介して)順序付けてもよい。メディアガイドアプリケーションは、ランキングを他のランキングと(例えば、制御回路604(図6)を介して)組み合わせ、(例えば、下記で議論されるように、人気またはユーザ選好に基づいて)各ランキングを加重し、次いで、サブセットのための結果を選択するために使用される、総合ランキングを生成してもよい。
1016において、メディアガイドアプリケーションが、結果がユーザ選好に基づいてランク付けされることを決定する場合、プロセス1000は、メディアガイドアプリケーションが、ソースからの結果が表示されるであろう行を(例えば、制御回路604(図6)を介して)決定する、1024に続く。例えば、メディアガイドアプリケーションは、第1のソースからの結果を生成するための特定の場所(例えば、行)を(例えば、制御回路604(図6)を介して)決定してもよい。いくつかの実施形態では、行は、第2のソースからの結果が提示される第2の行よりも画面の上部に近い行に位置してもよい。
プロセス1000は、メディアガイドアプリケーションが、決定された行に適合する結果の数を(例えば、制御回路604(図6)を介して)決定する、1026に続く。例えば、メディアガイドアプリケーションは、図1に関して上記で議論されるように、表示テンプレートから値を読み出すことに基づいて、行に適合する結果の数を(例えば、制御回路604(図6)を介して)決定してもよい。数は、一定であり得る(例えば、各行が、常に、3つの結果を含有する)、または結果の識別子の長さに基づいて変動し得る(例えば、多数の文字を伴う結果が、より多くの空間を占め、より少ない文字が、一度に表示されることができる)。
プロセス1000は、メディアガイドアプリケーションが、表示する結果のサブセットとして、ランク付けされた結果から結果の数を(例えば、制御回路604(図6)を介して)選択する、1028に続く。例えば、メディアガイドアプリケーションは、次いで、図1−2に関してさらに説明されるように、表示するためにソースからの受信された検索結果(例えば、サブセット)から適切な数の結果を選択してもよい。
図11は、本開示のいくつかの実施形態による、第1のソースからの第1の結果および第2のソースからの第2の結果が合致するかどうかを決定するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス1100は、制御回路604(図6)によって実行されてもよい。プロセス1100またはその任意のステップは、図6−7に示されるデバイスのうちのいずれかの上で実施される、またはそれによって提供され得ることに留意されたい。プロセス1100は、メディアガイドアプリケーションが、第1のソースからの第1の結果および第2のソースからの第2の結果が合致するかどうかを決定するためのプロセスを(例えば、制御回路604(図6)を介して)開始する、1102から開始する。例えば、メディアガイドアプリケーションは、必要な変数を初期化し、プロセス1100を実行するための特定の方法を呼び出すプログラムスクリプトを(例えば、制御回路604(図6)を介して)実行してもよい。
プロセス1100は、メディアガイドアプリケーションが、第1の結果と関連付けられる属性および第2の結果と関連付けられる対応する属性を(例えば、制御回路604(図6)を介して)読み出す、1104に続く。例えば、メディアガイドアプリケーションは、ローカルで(例えば、記憶装置608(図6)の中に)、またはサーバにおいて遠隔に(例えば、通信ネットワーク714(図7)を介してアクセス可能なメディアガイドデータソース718において)記憶された、第1および第2の結果と関連付けられるメタデータを含有するテーブルを(例えば、制御回路604(図6)を介して)読み出してもよい。例えば、各記憶された識別子と関連付けられるメタデータを含有するテーブルは、より容易な比較のために、各テーブルの第1のフィールド内のメタデータが、常に、結果と関連付けられるタイトルであり、各テーブルの第2のフィールド内のメタデータが、常に、監督等であるように、構造化されてもよい(例えば、同一の属性のメタデータが、各記憶された値を別の識別子と関連付けられる全ての記憶された値と比較する必要なく、比較されることができる)。代替として、または加えて、テーブルは、メタデータを伴う各フィールドが、異なる識別子と関連付けられる対応するメタデータを比較するために使用され得る、「ACTOR」等の標識と関連付けられるように、構造化されてもよい。メディアガイドアプリケーションは、第1の結果(例えば、タイトル)と関連付けられる第1のフィールドからメタデータおよび第2の結果(例えば、同様にタイトル)と関連付けられる第2のフィールドからメタデータを(例えば、制御回路604(図6)を介して)読み出してもよい。
プロセス1100は、メディアガイドアプリケーションが、第1の結果と関連付けられる属性および第2の結果と関連付けられる対応する属性を(例えば、制御回路604(図6)を介して)比較する、1106に続く。例えば、メディアガイドアプリケーションは、第1の結果(例えば、タイトル)と関連付けられる読み出された文字列の各文字を、第2の結果(例えば、別のタイトル)と関連付けられる読み出された文字列の文字と(例えば、制御回路604(図6)を介して)比較してもよい。例えば、メディアガイドアプリケーションは、2つの結果のメタデータの文字(例えば、属性)を反復して比較し、2つの結果が合致するかどうかを決定するためのプログラムスクリプトを(例えば、制御回路604(図6)を介して)実行してもよい。例えば、メディアガイドアプリケーションは、第1の結果と関連付けられる文字列「Matt Damon」を、第2の結果と関連付けられる文字列「Matt Dillon」と(例えば、制御回路604(図6)を介して)比較してもよい。
プロセス1100は、メディアガイドアプリケーションが、属性が合致するかどうかを(例えば、制御回路604(図6)を介して)決定する、1108に続く。例えば、メディアガイドアプリケーションは、全ての文字が合致する場合に2つの属性が合致するかどうかを(例えば、制御回路604(図6)を介して)決定してもよい。代替として、または加えて、メディアガイドアプリケーションは、2つの属性の閾値量または全ての文字の割合が合致する場合に2つの属性が合致するかどうかを(例えば、制御回路604(図6)を介して)決定してもよい。例えば、いくつかの事例では、スペルミスまたは他の誤植に起因して、単一の文字が、第1の結果と関連付けられるメタデータと第2の結果と関連付けられるメタデータとの間で異なり得(例えば、「Tom Hanks」および「Tom Hankz」)、メディアガイドアプリケーションは、依然として、合致を(例えば、制御回路604(図6)を介して)決定してもよい。
1108において、メディアガイドアプリケーションが、属性が合致しないことを決定する場合、プロセス1100は、メディアガイドアプリケーションが第2の値を(例えば、制御回路604(図6)を介して)インクリメントする、1110に続く。例えば、メディアガイドアプリケーションは、整数を記憶する変数を(例えば、制御回路604(図6)を介して)初期化し、合致が2つの対応する属性の間で決定されない度に値をインクリメントしてもよい。例えば、メディアガイドアプリケーションは、第1の結果と関連付けられる「Tom Hanks」が第2の結果と関連付けられる「Chris Evans」に合致しないことを(例えば、制御回路604(図6)を介して)決定してもよく、したがって、変数を1だけインクリメントする。1108において、メディアガイドアプリケーションが、属性が合致することを決定する場合、プロセス1100は、メディアガイドアプリケーションが第1の値を(例えば、制御回路604(図6)を介して)インクリメントする、1112に続く。例えば、メディアガイドアプリケーションは、整数を記憶する変数を(例えば、制御回路604(図6)を介して)初期化し、合致が2つの対応する属性の間で決定される度に値をインクリメントしてもよい。例えば、メディアガイドアプリケーションは、第1の結果と関連付けられる「Tom Hanks」が第2の結果と関連付けられる「Tom Hankz」に合致することを(例えば、制御回路604(図6)を介して)決定してもよく、したがって、変数を1だけインクリメントする。
プロセス1100は、メディアガイドアプリケーションが、比較する任意の他の属性が存在するかどうかを(例えば、制御回路604(図6)を介して)決定する、1114に続く。例えば、メディアガイドアプリケーションは、forループを実行し、第1の結果と関連付けられる全ての属性を反復して読み出し、(例えば、同様に読み出される)第2の結果と関連付けられる対応する属性と比較してもよい。メディアガイドアプリケーションは、依然として起動しているforループに基づいて、結果と関連付けられるメタデータを記憶するテーブルのいくつかのフィールドの内のデータが読み出されていないことを(例えば、制御回路604(図6)を介して)決定してもよい。メディアガイドアプリケーションはまた、読み出された属性または属性の識別子のリストを(例えば、制御回路604(図6)を介して)記憶し、結果と関連付けられる記憶された属性と比較して、まだ読み出されていない任意の他の選好が存在するかどうかを決定してもよい。
1114において、メディアガイドアプリケーションが、比較する他の属性が存在することを決定する場合、プロセス1100は、メディアガイドアプリケーションが、第1の結果と関連付けられる属性および第2の結果と関連付けられる対応する属性を(例えば、制御回路604(図6)を介して)読み出す、1104に戻る。例えば、メディアガイドアプリケーションは、いくつかの属性が第1および第2の結果と関連付けられる属性を伴う1つまたは複数のデータ構造からまだ読み出されていないことを(例えば、制御回路604(図6)を介して)決定してもよく、メディアガイドアプリケーションは、全てが比較されるまで(例えば、制御回路604(図6)を介して)属性を読み出し続けてもよい。
1114において、メディアガイドアプリケーションが、比較する他の属性が存在しないことを決定する場合、プロセス1100は、メディアガイドアプリケーションが、第1の値および第2の値に基づいて合致する属性の割合を(例えば、制御回路604(図6)を介して)計算する、1116に続く。例えば、メディアガイドアプリケーションは、(例えば、第1の値を第2の値に加算することによって、または属性を記憶するデータ構造から総数を読み出すことによって)属性の総数を(例えば、制御回路604(図6)を介して)計算してもよい。メディアガイドアプリケーションは、次いで、総数を第1の値で除算することによって、合致する属性の割合を(例えば、制御回路604(図6)を介して)計算してもよい。具体的実施例として、10個の合致(例えば、第1の値が10である)および5つの非合致(例えば、第2の値が5である)がある場合には、メディアガイドアプリケーションは、総数を15として、割合を10/15または67%として(例えば、制御回路604(図6)を介して)計算してもよい。
プロセス1100は、メディアガイドアプリケーションが割合を閾値合致割合と(例えば、制御回路604(図6)を介して)比較する、1118に続く。例えば、メディアガイドアプリケーションは、閾値合致割合の記憶された値を(例えば、記憶装置608(図6)から)(例えば、制御回路604(図6)を介して)読み出してもよい。メディアガイドアプリケーションは、次いで、2つの結果の間で合致する属性の計算された割合を、読み出された閾値と(例えば、制御回路604(図6)を介して)比較してもよい。
プロセス1100は、メディアガイドアプリケーションが、割合が閾値合致割合を上回るかどうかを(例えば、制御回路604(図6)を介して)決定する、1120に続く。例えば、メディアガイドアプリケーションは、属性の割合の値が67%であり、合致を決定するための閾値の値が50%である場合、2つの結果が合致することを(例えば、制御回路604(図6)を介して)決定してもよい。メディアガイドアプリケーションは、依然として、割合が公差係数以内である場合(例えば、合致する属性の割合が合致を決定するための閾値をわずか2%下回る場合)に合致を(例えば、制御回路604(図6)を介して)決定してもよい。いくつかの実施形態では、公差係数は、比較された属性の数に基づいてもよい。
1120において、メディアガイドアプリケーションが、割合が閾値合致割合を上回ることを決定する場合には、プロセス1100は、メディアガイドアプリケーションが、第1の結果が第2の結果に合致することを(例えば、制御回路604(図6)を介して)決定する、1122に続く。例えば、メディアガイドアプリケーションは、計算された割合の値が閾値を上回るため、2つの結果が合致することを(例えば、制御回路604(図6)を介して)決定してもよい。図1−2および8に関して上記で説明されるように、メディアガイドアプリケーションは、2つの同じ結果の2つのソースに関するユーザの選好の種類に基づいて、表示されるサブセットから2つの結果のうちの1つを除去することを(例えば、制御回路604(図6)を介して)決定してもよい。1120において、メディアガイドアプリケーションが、割合が閾値合致割合を上回らないことを決定する場合には、プロセス1100は、メディアガイドアプリケーションが、第1の結果が第2の結果に合致しないことを(例えば、制御回路604(図6)を介して)決定する、1124に続く。例えば、メディアガイドアプリケーションは、計算された割合の値が閾値未満であるため、2つの結果が合致しないことを(例えば、制御回路604(図6)を介して)決定してもよい。
図12は、本開示のいくつかの実施形態による、複数のソースからの検索結果を提示するための例証的ステップの別のフローチャートである。例えば、メディアガイドアプリケーション実装プロセス1200は、制御回路604(図6)によって実行されてもよい。プロセス1200またはその任意のステップは、図6−7に示されるデバイスのうちのいずれかの上で実施される、またはそれによって提供され得ることに留意されたい。
プロセス1200は、メディアガイドアプリケーションが、ユーザ入力に基づいて、第1のソースおよび第2のソースからの結果を(例えば、制御回路604(図6)を介して)検索する、1202から開始する。例えば、メディアガイドアプリケーションは、ユーザ入力インターフェース(例えば、ユーザ入力インターフェース610(図6))を介して、ユーザ入力を(例えば、制御回路604(図6)を介して)受信してもよい。例えば、メディアガイドアプリケーションは、ユーザ入力を第1のソースおよび第2のソースに(例えば、通信ネットワーク714(図7)を介してコンテンツソース716に)(例えば、制御回路604(図6)を介して)伝送してもよい。例えば、メディアガイドアプリケーションは、検索のためのユーザ入力(例えば、文字列)および/または他のパラメータ(例えば、結果がある時間周期中にあるべきである)を含む、データパケットを生成してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、ソースの一方または両方からのAPIを利用し、(例えば、ユーザ入力に基づいて)検索クエリを(例えば、制御回路604(図6)を介して)伝送してもよい。
プロセス1200は、メディアガイドアプリケーションが第1のソースから少なくとも第1の検索結果を(例えば、制御回路604(図6)を介して)受信する、1204に続く。例えば、メディアガイドアプリケーションは、第1のソースから(例えば、コンテンツソース716(図7)から)ユーザ入力に合致する1つ以上の結果を(例えば、制御回路604(図6)を介して)受信してもよい。ソースからの結果は、テーブルが、合致する結果の識別子(例えば、メディアアセットのタイトル)および関連付けられるフィールド内の付加的情報(例えば、メディアアセットの中の俳優)をそれぞれ伴う、複数の行を含有する、テーブルの中でメディアガイドアプリケーションによって(例えば、制御回路604(図6)を介して)受信されてもよい。
プロセス1200は、メディアガイドアプリケーションが、第2のソースから少なくとも第2の検索結果および第3の検索結果を(例えば、制御回路604(図6)を介して)受信する、1206に続く。例えば、メディアガイドアプリケーションは、第2のソースから(例えば、コンテンツソース716(図7)から)ユーザ入力に合致する複数の結果を(例えば、制御回路604(図6)を介して)受信してもよい。第2のソースからの結果は、テーブルが合致する結果の識別子(例えば、メディアアセットのタイトル)および関連付けられるフィールド内の付加的情報(例えば、メディアアセットの中の俳優)をそれぞれ伴う複数の行を含有するテーブルの中で、メディアガイドアプリケーションによって(例えば、制御回路604(図6)を介して)受信されてもよい。
プロセス1200は、メディアガイドアプリケーションが、第2のソースと比べて第1のソースの選好を示すユーザ選好を(例えば、制御回路604(図6)を介して)読み出す、1208に続く。例えば、メディアガイドアプリケーションは、ローカルで(例えば、記憶装置608(図6)の中に)、またはサーバにおいて遠隔に(例えば、通信ネットワーク714(図7)を介してアクセス可能なメディアガイドデータソース718において)記憶されたユーザプロファイルを(例えば、制御回路604(図6)を介して)読み出してもよい。メディアガイドアプリケーションは、図9に関して下記でさらに説明されるように、ユーザプロファイルから検索選好を(例えば、制御回路604(図6)を介して)読み出してもよい。例えば、メディアガイドアプリケーションは、ユーザによって設定されるソースのランキングを(例えば、制御回路604(図6)を介して)記憶してもよい。具体的実施例として、メディアガイドアプリケーションは、ユーザが、ソース(例えば、HULU(登録商標)、AMAZON(登録商標)等)を特定の順序にドラッグアンドドロップし、その選好を反映し得る、(例えば、ディスプレイ612(図6)上の)グラフィカルユーザインターフェースを生成してもよい。メディアガイドアプリケーションは、次いで、ランクおよび各ソースの識別子を(例えば、アレイの中に)記憶してもよい。メディアガイドアプリケーションは、ユーザによって設定されるソースの記憶されたランクを(例えば、制御回路604(図6)を介して)読み出し、第1および第2のソースの個別のランクを決定してもよい。例えば、メディアガイドアプリケーションは、文字列「hulu」によって識別されるHULU(登録商標)が、「5」のランキングと関連付けられることを(例えば、制御回路604(図6)を介して)決定してもよい。AMAZON(登録商標)のランキングが「3」である場合、メディアガイドアプリケーションは、ユーザがHULU(登録商標)よりAMAZON(登録商標)を好むことを(例えば、制御回路604(図6)を介して)決定してもよい。
プロセス1200は、メディアガイドアプリケーションが、ユーザ選好に基づいて、各行が1つ以上の検索結果を含む、複数の行を備えるグリッドの第1の行内に第1のソースからの第1の検索結果を表示するために(例えば、制御回路604(図6)を介して)生成する、1210に続く。例えば、メディアガイドアプリケーションは、第1のソースからの結果を生成するための特定の場所(例えば、行)を(例えば、制御回路604(図6)を介して)決定してもよい。例えば、メディアガイドアプリケーションは、第1の行内の第1の結果と関連付けられるインジケータ(例えば、テキストおよび/またはグラフィック)を(例えば、ディスプレイ612(図6)上に)表示するために(例えば、制御回路604(図6)を介して)生成してもよい。いくつかの実施形態では、行は、第2のソースからの結果が提示される第2の行よりも画面(例えば、ディスプレイ612(図6))の上部に近い行に位置してもよい。
プロセス1200は、メディアガイドアプリケーションが、第1の検索結果が第2の検索結果に合致し、第1の検索結果が第3の検索結果に合致しないことを(例えば、制御回路604(図6)を介して)決定する、1212に続く。例えば、メディアガイドアプリケーションは、第1の結果と関連付けられる具体的属性の各文字が、第2の結果と関連付けられる対応する属性の各文字に合致する場合、2つの結果が合致することを(例えば、制御回路604(図6)を介して)決定してもよい。例えば、2つの結果が、俳優「Matt Damon」を指すメタデータを含有する場合、メディアガイドアプリケーションは、メタデータが合致し、したがって、2つの結果が合致することを(例えば、制御回路604(図6)を介して)決定してもよい。
プロセス1200は、メディアガイドアプリケーションが、グリッドの第2の行内で第3の検索結果を表示するために(例えば、制御回路604(図6)を介して)生成し、第2の検索結果が第2の行内に表示されない、1214に続く。例えば、合致内に2つの結果が同時に表示されるものである(例えば、それらが第1および第2のサブセットの中にある)と決定することに応じて、メディアガイドアプリケーションは、ユーザが好まないソースの結果を別の結果と(例えば、制御回路604(図6)を介して)置換する。例えば、「The Big Bang Theory」が、第1および第2のソース(例えば、ソース716(図7))の両方からの結果であり、第1および第2のサブセットの中にある場合、第2のサブセットの中の結果は、別の結果(例えば、第3の結果)と置換されてもよい。メディアガイドアプリケーションは、次いで、(例えば、第2のソースからの結果を伴って)第2の行内に第2の結果の代わりに第3の結果を(例えば、ディスプレイ612(図6)上に)表示するために(例えば、制御回路604(図6)を介して)生成してもよい。
図8−12のそれぞれのステップまたは説明は、本開示の任意の他の実施形態と併用され得ることが考慮される。加えて、図8−12に関連して説明されるステップおよび説明は、本開示の目的を促すために、代替順序で、または並行して、行われてもよい。例えば、これらのステップはそれぞれ、システムまたは方法の遅延を低減させる、または速度を加速させるように、任意の順序で、または並行して、または実質的に同時に実施されてもよい。さらに、図6−7に関連して議論されるデバイスまたは機器のうちのいずれかは、図8−12のステップのうちの1つ以上のものを実施するために使用され得ることに留意されたい。
本開示のいくつかの部分は、「慣例」を参照し得るが、任意のそのような参照は、文脈を本開示の発明に提供する目的のためにすぎず、最先端を構成するものに関して、いかなる承認も形成しない。
上記で議論されるプロセスは、例証的であって、限定を意図するものではない。当業者は、本明細書で議論されるプロセスのステップが、本発明の範囲から逸脱することなく、省略される、修正される、組み合わせられる、および/または再配列されてもよく、任意の付加的ステップが、実施され得ることを理解するであろう。より一般的には、上記の開示は、例示的であって、限定を意図するものではない。続く請求項のみが、本発明が含むものに関する境界を設定することが意図されている。さらに、いずれか1つの実施形態で説明される特徴および限定は、本明細書の任意の他の実施形態に適用され得、一実施形態に関するフローチャートまたは実施例は、好適な様式で任意の他の実施形態と組み合わせられる、異なる順序で行われる、または並行して行われ得ることに留意されたい。加えて、本明細書で説明されるシステムおよび方法は、リアルタイムで実施されてもよい。また、上記で説明されるシステムおよび/または方法は、他のシステムおよび/または方法に適用される、またはそれらに従って使用され得ることにも留意されたい。
Claims (51)
- 複数のソースからの検索結果を提示するための方法であって、前記方法は、
ユーザ入力に基づいて、第1のソースおよび第2のソースからの結果を検索することと、
第1のソースから少なくとも第1の検索結果を受信することと、
第2のソースから少なくとも第2の検索結果および第3の検索結果を受信することと、
前記第2のソースと比べて前記第1のソースの選好を示すユーザ選好を読み出すことと、
複数の行を備えるグリッドを表示するために生成することであって、各行は1つ以上の検索結果を含み、前記グリッドを表示するために生成することは、
前記ユーザ選好に基づいて、第1の行内で前記第1のソースからの前記第1の検索結果を表示するために生成することと、
前記第1の検索結果が前記第2の検索結果に合致し、前記第1の検索結果が前記第3の検索結果に合致しないことを決定することと、
前記決定することに基づいて、第2の行内で前記第3の検索結果を表示するために生成することであって、前記第2の検索結果は、前記第2の行内に表示されない、ことと
によって行われる、ことと
を含む、方法。 - 複数のソースからの検索結果を提示するための方法であって、前記方法は、
ユーザ入力を受信することと、
前記ユーザ入力に基づいて、第1のソースおよび第2のソースからの結果を検索することと、
前記第1のソースからの第1の検索結果および前記第2のソースからの第2の検索結果を受信することと、
前記第2のソースと比べて前記第1のソースの選好を示すユーザ選好を読み出すことと、
検索結果を伴う複数の行を備えるグリッドを表示するために生成することであって、前記グリッドを表示するために生成することは、
前記第2のソースと比べて前記第1のソースの選好を示す前記読み出されたユーザ選好に基づいて、第1の行内に前記第1のソースからの前記第1の検索結果を表示するために生成することを決定することと、
前記第1の行に適合する前記第1の検索結果の第1のサブセットおよび第2の行に適合する前記第2の検索結果の第2のサブセットを決定することであって、前記第1のサブセットは、前記第1の検索結果のうちの第1の結果を含み、前記第2のサブセットは、前記第2の検索結果のうちの第3の結果ではなくて第2の結果を含む、ことと、
前記第1の結果と関連付けられるメタデータを前記第2の結果と関連付けられるメタデータと比較することと、
前記比較することに基づいて、前記第1の結果が前記第2の結果に合致することを決定することと、
前記第1の結果が前記第2の結果に合致することを決定することに応答して、前記第2のサブセットの中の前記第2の結果を前記第3の結果と置換することによって、前記第2のサブセットを修正することと、
前記第1の行内の前記第1のサブセットおよび前記第2の行内の前記修正された第2のサブセットを表示するために生成することと
によって行われる、ことと
を含む、方法。 - 前記ユーザ入力は、第1のユーザ入力であり、前記選好は、第1の選好であり、
前記第1のソースと比べて前記第2のソースの第2の選好を示す第2のユーザ入力を受信することと、
前記第2のユーザ入力を受信することに応答して、
前記修正された第2のサブセットの中の前記第3の結果を前記第2の結果と置換することによって、前記第2の検索結果の第3のサブセットを生成することと、
前記第1のサブセットの中の前記第1の結果を前記第1の検索結果のうちの第4の結果と置換することによって、前記第1の検索結果の第4のサブセットを生成することであって、前記第4の結果は、前記第1のサブセットの中にはない、ことと、
前記第1のサブセットの代わりに前記第1の行内の前記第3のサブセットおよび前記修正された第2のサブセットの代わりに前記第2の行内の前記第4のサブセットを表示するために生成することと
をさらに含む、請求項1に記載の方法。 - 前記第1の行に適合する前記第1の検索結果の第1のサブセットおよび前記第2の行に適合する前記第2の検索結果の第2のサブセットを決定することは、
前記グリッドのための表示テンプレートを読み出すことと、
前記第1の行と関連付けられる前記表示テンプレートの第1のフィールドから、前記第1の行に適合する第1の数の結果に関して第1の値を読み出すことと、
前記第2の行と関連付けられる前記表示テンプレートの第2のフィールドから、前記第2の行に適合する第2の数の結果に関して第2の値を読み出すことと、
前記第1のサブセットとして、前記第1の検索結果から前記第1の数の結果を選択することと、
前記第2のサブセットとして、前記第2の検索結果から前記第2の数の結果を選択することと
を含む、請求項1に記載の方法。 - 前記第1の行に適合する前記第1の検索結果の第1のサブセットおよび前記第2の行に適合する前記第2の検索結果の第2のサブセットを決定することは、
前記ユーザ入力への各結果の関連性に基づいて、前記第1の検索結果の中の各結果および前記第2の検索結果の中の各結果をランク付けすることと、
前記第1のサブセットの中の前記第1の結果として、前記第1の検索結果の中の最高ランク付けされた結果を読み出すことと、
前記第2のサブセットの中の前記第2の結果として、前記第2の検索結果の中の最高ランク付けされた結果を読み出すことと
を含む、請求項1に記載の方法。 - 前記第2のサブセットの中の前記第2の結果を前記第3の結果と置換することによって、前記第2のサブセットを修正することは、
前記第3の結果として、前記第2のサブセットの中にない次の最高ランク付けされた結果を読み出すことと、
前記第2のサブセットから前記第2の結果を除去することと、
前記第3の結果を前記第2のサブセットに追加することと
を含む、請求項1に記載の方法。 - 前記ユーザ選好は、第1のユーザ選好であり、前記第2のサブセットの中の前記第2の結果を前記第3の結果と置換することによって、前記第2のサブセットを修正することは、
検索結果の属性に関して第2のユーザ選好を読み出すことと、
前記第3の結果の属性が前記第2のユーザ選好に合致することを決定することと、
前記第3の結果の属性が前記第2のユーザ選好に合致することを決定することに応答して、
前記第2のサブセットから前記第2の結果を除去することと、
前記第3の結果を前記第2のサブセットに追加することと
を含む、請求項1に記載の方法。 - 前記第1の結果と関連付けられる前記メタデータを前記第2の結果と関連付けられる前記メタデータと比較することは、
前記第1の結果の第1の識別子および前記第2の結果の第2の識別子を、データベースの中に記憶された複数の識別子と比較することと、
第1の記憶された識別子が前記第1の識別子に合致し、第2の記憶された識別子が前記第2の識別子に合致することを決定することと、
前記第1の記憶された識別子と関連付けられる第1のフィールドからの第1のメタデータおよび前記第2の記憶された識別子と関連付けられる第2のフィールドからの第2のメタデータを読み出すことと、
前記第1の結果と関連付けられる前記第1のメタデータの第1の文字を、前記第2の結果と関連付けられる前記第2のメタデータの第2の文字と比較することと
を含む、請求項1に記載の方法。 - 前記グリッドを表示するために生成することはさらに、
前記第1の検索結果のうちの各結果を前記第2の検索結果のうちの各結果と比較することと、
前記第1の検索結果のうちの各結果を前記第2の検索結果のうちの各結果と比較することに基づいて、前記第1の検索結果と前記第2の検索結果との間の重複結果の数を決定することと、
前記第2の行内に前記重複結果の数のインジケーションを表示するために生成することと
を含む、請求項1に記載の方法。 - 前記第1の結果のユーザ選択を受信することと、
前記ユーザ選択を受信することに応答して、前記第1の結果が前記第2のソースからも利用可能であるというインジケーションを表示するために生成することと
をさらに含む、請求項1に記載の方法。 - 前記第1の結果は、メディアアセットを識別し、
前記第1の結果のユーザ選択を受信することと、
前記ユーザ選択を受信することに応答して、前記メディアアセットと関連付けられる複数の選択可能なオプションを表示するために生成することであって、前記複数の選択可能なオプションは、
前記メディアアセットを鑑賞リストに追加するためのオプション、
前記メディアアセットをお気に入りリストに追加するためのオプション、
前記メディアアセットが利用可能になる次回の時間を閲覧するためのオプション、および
前記メディアアセットを録画するためのオプション
のうちの少なくとも1つを含む、ことと
をさらに含む、請求項1に記載の方法。 - 複数のソースからの検索結果を提示するためのシステムであって、前記システムは、
ユーザ入力回路と、
制御回路であって、前記制御回路は、
前記ユーザ入力回路を介して、ユーザ入力を受信することと、
前記ユーザ入力に基づいて、第1のソースおよび第2のソースからの結果を検索することと、
前記第1のソースから第1の検索結果および前記第2のソースから第2の検索結果を受信することと、
前記第2のソースと比べて前記第1のソースの選好を示すユーザ選好を読み出すことと、
検索結果を伴う複数の行を備えるグリッドを表示するために生成することであって、前記グリッドを表示するために生成することは、
前記第2のソースと比べて前記第1のソースの選好を示す前記読み出されたユーザ選好に基づいて、第1の行内に前記第1のソースからの前記第1の検索結果を表示するために生成することを決定することと、
前記第1の行に適合する前記第1の検索結果の第1のサブセットおよび第2の行に適合する前記第2の検索結果の第2のサブセットを決定することであって、前記第1のサブセットは、前記第1の検索結果のうちの第1の結果を含み、前記第2のサブセットは、前記第2の検索結果のうちの第3の結果ではなくて第2の結果を含む、ことと、
前記第1の結果と関連付けられるメタデータを前記第2の結果と関連付けられるメタデータと比較することと、
前記比較することに基づいて、前記第1の結果が前記第2の結果に合致することを決定することと、
前記第1の結果が前記第2の結果に合致することを決定することに応答して、前記第2のサブセットの中の前記第2の結果を前記第3の結果と置換することによって、前記第2のサブセットを修正することと、
前記第1の行内の前記第1のサブセットおよび前記第2の行内の前記修正された第2のサブセットを表示するために生成することと
によって行われる、ことと
を行うように構成される、制御回路と
を備える、システム。 - 前記ユーザ入力は、第1のユーザ入力であり、前記選好は、第1の選好であり、前記制御回路はさらに、
前記第1のソースと比べて前記第2のソースの第2の選好を示す第2のユーザ入力を受信することと、
前記第2のユーザ入力を受信することに応答して、
前記修正された第2のサブセットの中の前記第3の結果を前記第2の結果と置換することによって、前記第2の検索結果の第3のサブセットを生成することと、
前記第1のサブセットの中の前記第1の結果を前記第1の検索結果のうちの第4の結果と置換することによって、前記第1の検索結果の第4のサブセットを生成することであって、前記第4の結果は、前記第1のサブセットの中にはない、ことと、
前記第1のサブセットの代わりに前記第1の行内の前記第3のサブセットおよび前記修正された第2のサブセットの代わりに前記第2の行内の前記第4のサブセットを表示するために生成することと
を行うように構成される、請求項12に記載のシステム。 - 前記制御回路はさらに、前記第1の行に適合する前記第1の検索結果の第1のサブセットおよび前記第2の行に適合する前記第2の検索結果の第2のサブセットを決定するときに、
前記グリッドのための表示テンプレートを読み出すことと、
前記第1の行と関連付けられる前記表示テンプレートの第1のフィールドから、前記第1の行に適合する第1の数の結果に関して第1の値を読み出すことと、
前記第2の行と関連付けられる前記表示テンプレートの第2のフィールドから、前記第2の行に適合する第2の数の結果に関して第2の値を読み出すことと、
前記第1のサブセットとして、前記第1の検索結果から前記第1の数の結果を選択することと、
前記第2のサブセットとして、前記第2の検索結果から前記第2の数の結果を選択することと
を行うように構成される、請求項12に記載のシステム。 - 前記制御回路はさらに、前記第1の行に適合する前記第1の検索結果の第1のサブセットおよび前記第2の行に適合する前記第2の検索結果の第2のサブセットを決定するときに、
前記ユーザ入力への各結果の関連性に基づいて、前記第1の検索結果の中の各結果および前記第2の検索結果の中の各結果をランク付けすることと、
前記第1のサブセットの中の前記第1の結果として、前記第1の検索結果の中の最高ランク付けされた結果を読み出すことと、
前記第2のサブセットの中の前記第2の結果として、前記第2の検索結果の中の最高ランク付けされた結果を読み出すことと
を行うように構成される、請求項12に記載のシステム。 - 前記制御回路はさらに、前記第2のサブセットの中の前記第2の結果を前記第3の結果と置換することによって、前記第2のサブセットを修正するときに、
前記第3の結果として、前記第2のサブセットの中にない次の最高ランク付けされた結果を読み出すことと、
前記第2のサブセットから前記第2の結果を除去することと、
前記第3の結果を前記第2のサブセットに追加することと
を行うように構成される、請求項12に記載のシステム。 - 前記ユーザ選好は、第1のユーザ選好であり、前記制御回路はさらに、前記第2のサブセットの中の前記第2の結果を前記第3の結果と置換することによって、前記第2のサブセットを修正するときに、
検索結果の属性に関して第2のユーザ選好を読み出すことと、
前記第3の結果の属性が前記第2のユーザ選好に合致することを決定することと、
前記第3の結果の属性が前記第2のユーザ選好に合致することを決定することに応答して、
前記第2のサブセットから前記第2の結果を除去することと、
前記第3の結果を前記第2のサブセットに追加することと
を行うように構成される、請求項12に記載のシステム。 - 前記制御回路はさらに、前記第1の結果と関連付けられる前記メタデータを前記第2の結果と関連付けられる前記メタデータと比較するときに、
前記第1の結果の第1の識別子および前記第2の結果の第2の識別子を、データベースの中に記憶された複数の識別子と比較することと、
第1の記憶された識別子が前記第1の識別子に合致し、第2の記憶された識別子が前記第2の識別子に合致することを決定することと、
前記第1の記憶された識別子と関連付けられる第1のフィールドからの第1のメタデータおよび前記第2の記憶された識別子と関連付けられる第2のフィールドからの第2のメタデータを読み出すことと、
前記第1の結果と関連付けられる前記第1のメタデータの第1の文字を、前記第2の結果と関連付けられる前記第2のメタデータの第2の文字と比較することと
を行うように構成される、請求項12に記載のシステム。 - 前記制御回路はさらに、前記グリッドを表示するために生成するときに、
前記第1の検索結果のうちの各結果を前記第2の検索結果のうちの各結果と比較することと、
前記第1の検索結果のうちの各結果を前記第2の検索結果のうちの各結果と比較することに基づいて、前記第1の検索結果と前記第2の検索結果との間の重複結果の数を決定することと、
前記第2の行内に前記重複結果の数のインジケーションを表示するために生成することと
を行うように構成される、請求項12に記載のシステム。 - 前記制御回路はさらに、
前記第1の結果のユーザ選択を受信することと、
前記ユーザ選択を受信することに応答して、前記第1の結果が前記第2のソースからも利用可能であるというインジケーションを表示するために生成することと
を行うように構成される、請求項12に記載のシステム。 - 前記第1の結果は、メディアアセットを識別し、前記制御回路はさらに、
前記第1の結果のユーザ選択を受信することと、
前記ユーザ選択を受信することに応答して、前記メディアアセットと関連付けられる複数の選択可能なオプションを表示するために生成することであって、前記複数の選択可能なオプションは、
前記メディアアセットを鑑賞リストに追加するためのオプション、
前記メディアアセットをお気に入りリストに追加するためのオプション、
前記メディアアセットが利用可能になる次回の時間を閲覧するためのオプション、および
前記メディアアセットを録画するためのオプション
のうちの少なくとも1つを含む、ことと
を行うように構成されている、請求項12に記載のシステム。 - 複数のソースからの検索結果を提示するためのシステムであって、前記システムは、
ユーザ入力を受信するための手段と、
前記ユーザ入力に基づいて、第1のソースおよび第2のソースからの結果を検索するための手段と、
前記第1のソースからの第1の検索結果および前記第2のソースからの第2の検索結果を受信するための手段と、
前記第2のソースと比べて前記第1のソースの選好を示すユーザ選好を読み出すための手段と、
検索結果を伴う複数の行を備えるグリッドを表示するために生成するための手段であって、前記グリッドを表示するために生成することは、
前記第2のソースと比べて前記第1のソースの選好を示す前記読み出されたユーザ選好に基づいて、第1の行内に前記第1のソースからの前記第1の検索結果を表示するために生成することを決定することと、
前記第1の行に適合する前記第1の検索結果の第1のサブセットおよび第2の行に適合する前記第2の検索結果の第2のサブセットを決定することであって、前記第1のサブセットは、前記第1の検索結果のうちの第1の結果を含み、前記第2のサブセットは、前記第2の検索結果のうちの第3の結果ではなくて第2の結果を含む、ことと、
前記第1の結果と関連付けられるメタデータを前記第2の結果と関連付けられるメタデータと比較することと、
前記比較することに基づいて、前記第1の結果が前記第2の結果に合致することを決定することと、
前記第1の結果が前記第2の結果に合致することを決定することに応答して、前記第2のサブセットの中の前記第2の結果を前記第3の結果と置換することによって、前記第2のサブセットを修正することと、
前記第1の行内の前記第1のサブセットおよび前記第2の行内の前記修正された第2のサブセットを表示するために生成することと
によって行われる、手段と
を備える、システム。 - 前記ユーザ入力は、第1のユーザ入力であり、前記選好は、第1の選好であり、
前記第1のソースと比べて前記第2のソースの第2の選好を示す第2のユーザ入力を受信するための手段と、
前記第2のユーザ入力を受信することに応答して、
前記修正された第2のサブセットの中の前記第3の結果を前記第2の結果と置換することによって、前記第2の検索結果の第3のサブセットを生成するための手段と、
前記第1のサブセットの中の前記第1の結果を前記第1の検索結果のうちの第4の結果と置換することによって、前記第1の検索結果の第4のサブセットを生成するための手段であって、前記第4の結果は、前記第1のサブセットの中にはない、手段と、
前記第1のサブセットの代わりに前記第1の行内の前記第3のサブセットおよび前記修正された第2のサブセットの代わりに前記第2の行内の前記第4のサブセットを表示するために生成するための手段と
をさらに備える、請求項22に記載のシステム。 - 前記第1の行に適合する前記第1の検索結果の第1のサブセットおよび前記第2の行に適合する前記第2の検索結果の第2のサブセットを決定するための前記手段は、
前記グリッドのための表示テンプレートを読み出すための手段と、
前記第1の行と関連付けられる前記表示テンプレートの第1のフィールドから、前記第1の行に適合する第1の数の結果に関して第1の値を読み出すための手段と、
前記第2の行と関連付けられる前記表示テンプレートの第2のフィールドから、前記第2の行に適合する第2の数の結果に関して第2の値を読み出すための手段と、
前記第1のサブセットとして、前記第1の検索結果から前記第1の数の結果を選択するための手段と、
前記第2のサブセットとして、前記第2の検索結果から前記第2の数の結果を選択するための手段と
を備える、請求項22に記載のシステム。 - 前記第1の行に適合する前記第1の検索結果の第1のサブセットおよび前記第2の行に適合する前記第2の検索結果の第2のサブセットを決定するための前記手段は、
前記ユーザ入力への各結果の関連性に基づいて、前記第1の検索結果の中の各結果および前記第2の検索結果の中の各結果をランク付けするための手段と、
前記第1のサブセットの中の前記第1の結果として、前記第1の検索結果の中の最高ランク付けされた結果を読み出すための手段と、
前記第2のサブセットの中の前記第2の結果として、前記第2の検索結果の中の最高ランク付けされた結果を読み出すための手段と
を備える、請求項22に記載のシステム。 - 前記第2のサブセットの中の前記第2の結果を前記第3の結果と置換することによって、前記第2のサブセットを修正するための前記手段は、
前記第3の結果として、前記第2のサブセットの中にない次の最高ランク付けされた結果を読み出すための手段と、
前記第2のサブセットから前記第2の結果を除去するための手段と、
前記第3の結果を前記第2のサブセットに追加するための手段と
を備える、請求項22に記載のシステム。 - 前記ユーザ選好は、第1のユーザ選好であり、前記第2のサブセットの中の前記第2の結果を前記第3の結果と置換することによって、前記第2のサブセットを修正するための前記手段は、
検索結果の属性に関して第2のユーザ選好を読み出すための手段と、
前記第3の結果の属性が前記第2のユーザ選好に合致することを決定するための手段と、
前記第3の結果の属性が前記第2のユーザ選好に合致することを決定すること応答して、
前記第2のサブセットから前記第2の結果を除去するための手段と、
前記第3の結果を前記第2のサブセットに追加するための手段と
を備える、請求項22に記載のシステム。 - 前記第1の結果と関連付けられる前記メタデータを前記第2の結果と関連付けられる前記メタデータと比較するための前記手段は、
前記第1の結果の第1の識別子および前記第2の結果の第2の識別子を、データベースの中に記憶された複数の識別子と比較するための手段と、
第1の記憶された識別子が前記第1の識別子に合致し、第2の記憶された識別子が前記第2の識別子に合致することを決定するための手段と、
前記第1の記憶された識別子と関連付けられる第1のフィールドからの第1のメタデータおよび前記第2の記憶された識別子と関連付けられる第2のフィールドからの第2のメタデータを読み出すための手段と、
前記第1の結果と関連付けられる前記第1のメタデータの第1の文字を、前記第2の結果と関連付けられる前記第2のメタデータの第2の文字と比較するための手段と
を備える、請求項22に記載のシステム。 - 前記グリッドを表示するために生成するための前記手段はさらに、
前記第1の検索結果のうちの各結果を前記第2の検索結果のうちの各結果と比較するための手段と、
前記第1の検索結果のうちの各結果を前記第2の検索結果のうちの各結果と比較することに基づいて、前記第1の検索結果と前記第2の検索結果との間の重複結果の数を決定するための手段と、
前記第2の行内に前記重複結果の数のインジケーションを表示するために生成するための手段と
を備える、請求項22に記載のシステム。 - 前記第1の結果のユーザ選択を受信するための手段と、
前記ユーザ選択を受信することに応答して、前記第1の結果が前記第2のソースからも利用可能であるというインジケーションを表示するために生成するための手段と
をさらに備える、請求項22に記載のシステム。 - 前記第1の結果は、メディアアセットを識別し、前記システムはさらに、
前記第1の結果のユーザ選択を受信するための手段と、
前記ユーザ選択を受信することに応答して、前記メディアアセットと関連付けられる複数の選択可能なオプションを表示するために生成するための手段であって、前記複数の選択可能なオプションは、
前記メディアアセットを鑑賞リストに追加するためのオプション、
前記メディアアセットをお気に入りリストに追加するためのオプション、
前記メディアアセットが利用可能になる次回の時間を閲覧するためのオプション、および
前記メディアアセットを録画するためのオプション
のうちの少なくとも1つを含む、手段と
を備える、請求項22に記載のシステム。 - 非一過性のコンピュータ可読媒体であって、前記非一過性のコンピュータ可読媒体は、複数のソースからの検索結果を提示するためのその上にエンコードされた命令を有し、前記命令は、
ユーザ入力を受信するための命令と、
前記ユーザ入力に基づいて、第1のソースおよび第2のソースからの結果を検索するための命令と、
前記第1のソースからの第1の検索結果および前記第2のソースからの第2の検索結果を受信するための命令と、
前記第2のソースと比べて前記第1のソースの選好を示すユーザ選好を読み出すための命令と、
検索結果を伴う複数の行を備えるグリッドを表示するために生成するための命令であって、前記グリッドを表示するために生成することは、
前記第2のソースと比べて前記第1のソースの選好を示す前記読み出されたユーザ選好に基づいて、第1の行内に前記第1のソースからの前記第1の検索結果を表示するために生成することを決定することと、
前記第1の行に適合する前記第1の検索結果の第1のサブセットおよび第2の行に適合する前記第2の検索結果の第2のサブセットを決定することであって、前記第1のサブセットは、前記第1の検索結果のうちの第1の結果を含み、前記第2のサブセットは、前記第2の検索結果のうちの第3の結果ではなくて第2の結果を含む、ことと、
前記第1の結果と関連付けられるメタデータを前記第2の結果と関連付けられるメタデータと比較することと、
前記比較することに基づいて、前記第1の結果が前記第2の結果に合致することを決定することと、
前記第1の結果が前記第2の結果に合致することを決定することに応答して、前記第2のサブセットの中の前記第2の結果を前記第3の結果と置換することによって、前記第2のサブセットを修正することと、
前記第1の行内の前記第1のサブセットおよび前記第2の行内の前記修正された第2のサブセットを表示するために生成することと
によって行われる、命令と
を備える、非一過性のコンピュータ可読媒体。 - 前記ユーザ入力は、第1のユーザ入力であり、前記選好は、第1の選好であり、前記命令はさらに、
前記第1のソースと比べて前記第2のソースの第2の選好を示す第2のユーザ入力を受信するための命令と、
前記第2のユーザ入力を受信することに応答して、
前記修正された第2のサブセットの中の前記第3の結果を前記第2の結果と置換することによって、前記第2の検索結果の第3のサブセットを生成するための命令と、
前記第1のサブセットの中の前記第1の結果を前記第1の検索結果のうちの第4の結果と置換することによって、前記第1の検索結果の第4のサブセットを生成するための命令であって、前記第4の結果は、前記第1のサブセットの中にはない、命令と、
前記第1のサブセットの代わりに前記第1の行内の前記第3のサブセットおよび前記修正された第2のサブセットの代わりに前記第2の行内の前記第4のサブセットを表示するために生成するための命令と
を備える、請求項32に記載の非一過性のコンピュータ可読媒体。 - 前記第1の行に適合する前記第1の検索結果の第1のサブセットおよび前記第2の行に適合する前記第2の検索結果の第2のサブセットを決定するための前記命令は、
前記グリッドのための表示テンプレートを読み出すための命令と、
前記第1の行と関連付けられる前記表示テンプレートの第1のフィールドから、前記第1の行に適合する第1の数の結果に関して第1の値を読み出すための命令と、
前記第2の行と関連付けられる前記表示テンプレートの第2のフィールドから、前記第2の行に適合する第2の数の結果に関して第2の値を読み出すための命令と、
前記第1のサブセットとして、前記第1の検索結果から前記第1の数の結果を選択するための命令と、
前記第2のサブセットとして、前記第2の検索結果から前記第2の数の結果を選択するための命令と
を備える、請求項32に記載の非一過性のコンピュータ可読媒体。 - 前記第1の行に適合する前記第1の検索結果の第1のサブセットおよび前記第2の行に適合する前記第2の検索結果の第2のサブセットを決定するための前記命令は、
前記ユーザ入力への各結果の関連性に基づいて、前記第1の検索結果の中の各結果および前記第2の検索結果の中の各結果をランク付けするための命令と、
前記第1のサブセットの中の前記第1の結果として、前記第1の検索結果の中の最高ランク付けされた結果を読み出すための命令と、
前記第2のサブセットの中の前記第2の結果として、前記第2の検索結果の中の最高ランク付けされた結果を読み出すための命令と
を備える、請求項32に記載の非一過性のコンピュータ可読媒体。 - 前記第2のサブセットの中の前記第2の結果を前記第3の結果と置換することによって、前記第2のサブセットを修正するための前記命令は、
前記第3の結果として、前記第2のサブセットの中にない次の最高ランク付けされた結果を読み出すための命令と、
前記第2のサブセットから前記第2の結果を除去するための命令と、
前記第3の結果を前記第2のサブセットに追加するための命令と
を備える、請求項32に記載の非一過性のコンピュータ可読媒体。 - 前記ユーザ選好は、第1のユーザ選好であり、前記第2のサブセットの中の前記第2の結果を前記第3の結果と置換することによって、前記第2のサブセットを修正するための前記命令は、
検索結果の属性に関して第2のユーザ選好を読み出すための命令と、
前記第3の結果の属性が前記第2のユーザ選好に合致することを決定するための命令と、
前記第3の結果の属性が前記第2のユーザ選好に合致することを決定することに応答して、
前記第2のサブセットから前記第2の結果を除去するための命令と、
前記第3の結果を前記第2のサブセットに追加するための命令と
を備える、請求項32に記載の非一過性のコンピュータ可読媒体。 - 前記第1の結果と関連付けられる前記メタデータを前記第2の結果と関連付けられる前記メタデータと比較するための前記命令は、
前記第1の結果の第1の識別子および前記第2の結果の第2の識別子を、データベースの中に記憶された複数の識別子と比較するための命令と、
第1の記憶された識別子が前記第1の識別子に合致し、第2の記憶された識別子が前記第2の識別子に合致することを決定するための命令と、
前記第1の記憶された識別子と関連付けられる第1のフィールドからの第1のメタデータおよび前記第2の記憶された識別子と関連付けられる第2のフィールドからの第2のメタデータを読み出すための命令と、
前記第1の結果と関連付けられる前記第1のメタデータの第1の文字を、前記第2の結果と関連付けられる前記第2のメタデータの第2の文字と比較するための命令と
を備える、請求項32に記載の非一過性のコンピュータ可読媒体。 - 前記グリッドを表示するために生成するための前記命令はさらに、
前記第1の検索結果のうちの各結果を前記第2の検索結果のうちの各結果と比較するための命令と、
前記第1の検索結果のうちの各結果を前記第2の検索結果のうちの各結果と比較することに基づいて、前記第1の検索結果と前記第2の検索結果との間の重複結果の数を決定するための命令と、
前記第2の行内に前記重複結果の数のインジケーションを表示するために生成するための命令と
を備える、請求項32に記載の非一過性のコンピュータ可読媒体。 - 前記命令はさらに、
前記第1の結果のユーザ選択を受信するための命令と、
前記ユーザ選択を受信することに応答して、前記第1の結果が前記第2のソースからも利用可能であるというインジケーションを表示するために生成するための命令と
を備える、請求項32に記載の非一過性のコンピュータ可読媒体。 - 前記第1の結果は、メディアアセットを識別し、前記命令はさらに、
前記第1の結果のユーザ選択を受信するための命令と、
前記ユーザ選択を受信することに応答して、前記メディアアセットと関連付けられる複数の選択可能なオプションを表示するために生成するための命令であって、前記複数の選択可能なオプションは、
前記メディアアセットを鑑賞リストに追加するためのオプション、
前記メディアアセットをお気に入りリストに追加するためのオプション、
前記メディアアセットが利用可能になる次回の時間を閲覧するためのオプション、および
前記メディアアセットを録画するためのオプション
のうちの少なくとも1つを含む、命令と
を備える、請求項32に記載の非一過性のコンピュータ可読媒体。 - 複数のソースからの検索結果を提示するための方法であって、前記方法は、
制御回路によって、ユーザ入力を受信することと、
前記制御回路によって、前記ユーザ入力に基づいて、第1のソースおよび第2のソースからの結果を検索することと、
前記制御回路によって、前記第1のソースからの第1の検索結果および前記第2のソースからの第2の検索結果を受信することと、
前記制御回路によって、前記第2のソースと比べて前記第1のソースの選好を示すユーザ選好を読み出すことと、
前記制御回路によって、検索結果を伴う複数の行を備えるグリッドを表示するために生成することであって、前記グリッドを表示するために生成することは、
前記第2のソースと比べて前記第1のソースの選好を示す前記読み出されたユーザ選好に基づいて、第1の行内に前記第1のソースからの前記第1の検索結果を表示するために生成することを決定することと、
前記第1の行に適合する前記第1の検索結果の第1のサブセットおよび第2の行に適合する前記第2の検索結果の第2のサブセットを決定することであって、前記第1のサブセットは、前記第1の検索結果のうちの第1の結果を含み、前記第2のサブセットは、前記第2の検索結果のうちの第3の結果ではなくて第2の結果を含む、ことと、
前記第1の結果と関連付けられるメタデータを前記第2の結果と関連付けられるメタデータと比較することと、
前記比較することに基づいて、前記第1の結果が前記第2の結果に合致することを決定することと、
前記第1の結果が前記第2の結果に合致することを決定することに応答して、前記第2のサブセットの中の前記第2の結果を前記第3の結果と置換することによって、前記第2のサブセットを修正することと、
前記第1の行内の前記第1のサブセットおよび前記第2の行内の前記修正された第2のサブセットを表示するために生成することと
によって行われる、ことと
を含む、方法。 - 前記第1のソースと比べて前記第2のソースの第2の選好を示す第2のユーザ入力を受信することと、
前記第2のユーザ入力を受信することに応答して、
前記修正された第2のサブセットの中の前記第3の結果を前記第2の結果と置換することによって、前記第2の検索結果の第3のサブセットを生成することと、
前記第1のサブセットの中の前記第1の結果を前記第1の検索結果のうちの第4の結果と置換することによって、前記第1の検索結果の第4のサブセットを生成することであって、前記第4の結果は、前記第1のサブセットの中にはない、ことと、
前記第1のサブセットの代わりに前記第1の行内の前記第3のサブセットおよび前記修正された第2のサブセットの代わりに前記第2の行内の前記第4のサブセットを表示するために生成することと
をさらに含む、請求項42に記載の方法。 - 前記グリッドのための表示テンプレートを読み出すことと、
前記第1の行と関連付けられる前記表示テンプレートの第1のフィールドから、前記第1の行に適合する第1の数の結果に関して第1の値を読み出すことと、
前記第2の行と関連付けられる前記表示テンプレートの第2のフィールドから、前記第2の行に適合する第2の数の結果に関して第2の値を読み出すことと、
前記第1のサブセットとして、前記第1の検索結果から前記第1の数の結果を選択することと、
前記第2のサブセットとして、前記第2の検索結果から前記第2の数の結果を選択することと
をさらに含む、請求項42−43のいずれかに記載の方法。 - 前記ユーザ入力への各結果の関連性に基づいて、前記第1の検索結果の中の各結果および前記第2の検索結果の中の各結果をランク付けすることと、
前記第1のサブセットの中の前記第1の結果として、前記第1の検索結果の中の最高ランク付けされた結果を読み出すことと、
前記第2のサブセットの中の前記第2の結果として、前記第2の検索結果の中の最高ランク付けされた結果を読み出すことと
をさらに含む、請求項42−44のいずれかに記載の方法。 - 前記第3の結果として、前記第2のサブセットの中にない次の最高ランク付けされた結果を読み出すことと、
前記第2のサブセットから前記第2の結果を除去することと、
前記第3の結果を前記第2のサブセットに追加することと
をさらに含む、請求項42−45のいずれかに記載の方法。 - 検索結果の属性に関して第2のユーザ選好を読み出すことと、
前記第3の結果の属性が前記第2のユーザ選好に合致することを決定することと、
前記第3の結果の属性が前記第2のユーザ選好に合致することを決定することに応答して、
前記第2のサブセットから前記第2の結果を除去することと、
前記第3の結果を前記第2のサブセットに追加することと
をさらに含む、請求項42−46のいずれかに記載の方法。 - 前記第1の結果の第1の識別子および前記第2の結果の第2の識別子を、データベースの中に記憶された複数の識別子と比較することと、
第1の記憶された識別子が前記第1の識別子に合致し、第2の記憶された識別子が前記第2の識別子に合致することを決定することと、
前記第1の記憶された識別子と関連付けられる第1のフィールドからの第1のメタデータおよび前記第2の記憶された識別子と関連付けられる第2のフィールドからの第2のメタデータを読み出すことと、
前記第1の結果と関連付けられる前記第1のメタデータの第1の文字を、前記第2の結果と関連付けられる前記第2のメタデータの第2の文字と比較することと
をさらに含む、請求項42−47のいずれかに記載の方法。 - 前記第1の検索結果のうちの各結果を前記第2の検索結果のうちの各結果と比較することと、
前記第1の検索結果のうちの各結果を前記第2の検索結果のうちの各結果と比較することに基づいて、前記第1の検索結果と前記第2の検索結果との間の重複結果の数を決定することと、
前記第2の行内に前記重複結果の数のインジケーションを表示するために生成することと
をさらに含む、請求項42−48のいずれかに記載の方法。 - 前記第1の結果のユーザ選択を受信することと、
前記ユーザ選択を受信することに応答して、前記第1の結果が前記第2のソースからも利用可能であるというインジケーションを表示するために生成することと
をさらに含む、請求項42−49のいずれかに記載の方法。 - 前記第1の結果のユーザ選択を受信することと、
前記ユーザ選択を受信することに応答して、前記メディアアセットと関連付けられる複数の選択可能なオプションを表示するために生成することであって、前記複数の選択可能なオプションは、
前記メディアアセットを鑑賞リストに追加するためのオプション、
前記メディアアセットをお気に入りリストに追加するためのオプション、
前記メディアアセットが利用可能になる次回の時間を閲覧するためのオプション、および
前記メディアアセットを録画するためのオプション
のうちの少なくとも1つを含む、ことと
をさらに含む、請求項42−50のいずれかに記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/491,382 | 2017-04-19 | ||
US15/491,382 US10509836B2 (en) | 2017-04-19 | 2017-04-19 | Systems and methods for presenting search results from multiple sources |
PCT/US2018/028060 WO2018195138A1 (en) | 2017-04-19 | 2018-04-18 | Systems and methods for presenting search results from multiple sources |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020519067A true JP2020519067A (ja) | 2020-06-25 |
Family
ID=62143543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019556597A Pending JP2020519067A (ja) | 2017-04-19 | 2018-04-18 | 複数のソースからの検索結果を提示するためのシステムおよび方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10509836B2 (ja) |
EP (1) | EP3612958A1 (ja) |
JP (1) | JP2020519067A (ja) |
KR (1) | KR20190135530A (ja) |
CN (1) | CN110730961A (ja) |
CA (1) | CA3060551A1 (ja) |
WO (1) | WO2018195138A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10956507B2 (en) * | 2018-08-16 | 2021-03-23 | Rovi Guides, Inc. | Reaction compensated result selection |
US11494052B1 (en) * | 2019-09-30 | 2022-11-08 | Snap Inc. | Context based interface options |
CN113301395B (zh) * | 2021-04-30 | 2023-07-07 | 当趣网络科技(杭州)有限公司 | 在视频播放状态下结合用户等级的语音搜索方法 |
KR20240026625A (ko) | 2022-08-22 | 2024-02-29 | 주식회사 알로이스 | 이종 콘텐츠를 제공하는 ott 서비스에 대한 콘텐츠 네비게이션 방법 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6239794B1 (en) | 1994-08-31 | 2001-05-29 | E Guide, Inc. | Method and system for simultaneously displaying a television program and information about the program |
US6999959B1 (en) * | 1997-10-10 | 2006-02-14 | Nec Laboratories America, Inc. | Meta search engine |
US6564378B1 (en) | 1997-12-08 | 2003-05-13 | United Video Properties, Inc. | Program guide system with browsing display |
CN1867068A (zh) | 1998-07-14 | 2006-11-22 | 联合视频制品公司 | 交互式电视节目导视系统及其方法 |
ES2342593T3 (es) | 1998-07-17 | 2010-07-09 | United Video Properties, Inc. | Sistema de guia interactivo de programas de television que tienen multiples dispositivos dentro de una casa. |
AR020608A1 (es) | 1998-07-17 | 2002-05-22 | United Video Properties Inc | Un metodo y una disposicion para suministrar a un usuario acceso remoto a una guia de programacion interactiva por un enlace de acceso remoto |
US7165098B1 (en) | 1998-11-10 | 2007-01-16 | United Video Properties, Inc. | On-line schedule system with personalization features |
KR100896725B1 (ko) | 2001-02-21 | 2009-05-11 | 유나이티드 비디오 프로퍼티즈, 인크. | 복수의 프로그램 가이드 제공 방법, 프로그램 버퍼링 방법 및 시스템 |
US7577665B2 (en) * | 2005-09-14 | 2009-08-18 | Jumptap, Inc. | User characteristic influenced search results |
US20100153885A1 (en) | 2005-12-29 | 2010-06-17 | Rovi Technologies Corporation | Systems and methods for interacting with advanced displays provided by an interactive media guidance application |
US8386469B2 (en) * | 2006-02-16 | 2013-02-26 | Mobile Content Networks, Inc. | Method and system for determining relevant sources, querying and merging results from multiple content sources |
US20070266001A1 (en) * | 2006-05-09 | 2007-11-15 | Microsoft Corporation | Presentation of duplicate and near duplicate search results |
US10158823B2 (en) * | 2008-12-31 | 2018-12-18 | Tivo Solutions Inc. | Methods and techniques for adaptive search |
US8661033B2 (en) | 2009-03-31 | 2014-02-25 | Innography, Inc. | System to provide search results via a user-configurable table |
US20110161242A1 (en) * | 2009-12-28 | 2011-06-30 | Rovi Technologies Corporation | Systems and methods for searching and browsing media in an interactive media guidance application |
US8881201B2 (en) * | 2010-05-13 | 2014-11-04 | United Video Properties, Inc. | Methods and systems for providing media content listings by content provider |
US20130268522A1 (en) | 2010-06-28 | 2013-10-10 | Thomson Licensing | System and method for content exclusion from a multi-domain search |
US8577915B2 (en) | 2010-09-10 | 2013-11-05 | Veveo, Inc. | Method of and system for conducting personalized federated search and presentation of results therefrom |
CA2829484A1 (en) * | 2011-03-08 | 2012-09-13 | Tivo Inc. | Multi source and destination media discovery and management platform |
US8706756B2 (en) | 2011-05-11 | 2014-04-22 | Futurewei Technologies, Inc. | Method, system and apparatus of hybrid federated search |
US8990223B2 (en) * | 2012-06-29 | 2015-03-24 | Rovi Guides, Inc. | Systems and methods for matching media content data |
US9106957B2 (en) | 2012-08-16 | 2015-08-11 | Nuance Communications, Inc. | Method and apparatus for searching data sources for entertainment systems |
US8661472B1 (en) * | 2012-10-09 | 2014-02-25 | Google Inc. | Methods, systems, and media for providing media guidance with media content from alternate sources |
US20150074599A1 (en) * | 2013-09-06 | 2015-03-12 | Yahoo! Inc. | Mobile video channel-based gestural user interface |
US20150120722A1 (en) * | 2013-10-31 | 2015-04-30 | Telefonica Digital Espana, S.L.U. | Method and system for providing multimedia content recommendations |
US9477713B2 (en) * | 2014-06-06 | 2016-10-25 | Netflix, Inc. | Selecting and ordering groups of titles |
US10740384B2 (en) * | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
-
2017
- 2017-04-19 US US15/491,382 patent/US10509836B2/en active Active
-
2018
- 2018-04-18 EP EP18723625.2A patent/EP3612958A1/en not_active Ceased
- 2018-04-18 CA CA3060551A patent/CA3060551A1/en active Pending
- 2018-04-18 KR KR1020197033650A patent/KR20190135530A/ko unknown
- 2018-04-18 JP JP2019556597A patent/JP2020519067A/ja active Pending
- 2018-04-18 CN CN201880038323.6A patent/CN110730961A/zh active Pending
- 2018-04-18 WO PCT/US2018/028060 patent/WO2018195138A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
CN110730961A (zh) | 2020-01-24 |
WO2018195138A1 (en) | 2018-10-25 |
CA3060551A1 (en) | 2018-10-25 |
US20180307760A1 (en) | 2018-10-25 |
EP3612958A1 (en) | 2020-02-26 |
KR20190135530A (ko) | 2019-12-06 |
US10509836B2 (en) | 2019-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11595727B2 (en) | Systems and methods for loading interactive media guide data based on user history | |
JP7288938B2 (ja) | 第2のユーザの視聴アクティビティに基づいて第2のユーザのための再生リストに含めるための第1のユーザのメディアアセットに対する推奨のための方法およびシステム | |
US10477278B2 (en) | Systems and methods for presenting targeted metadata in display constrained environments | |
US11789960B2 (en) | Systems and methods for grouping search results from multiple sources | |
US9734244B2 (en) | Methods and systems for providing serendipitous recommendations | |
JP7019669B2 (ja) | 静的ナレッジグラフおよび時間的ナレッジグラフに基づいて用語の曖昧性を除去するためのシステムおよび方法 | |
US11600304B2 (en) | Systems and methods for determining playback points in media assets | |
US9542395B2 (en) | Systems and methods for determining alternative names | |
US20210306710A1 (en) | System and method for locating content related to a media asset | |
JP2020519067A (ja) | 複数のソースからの検索結果を提示するためのシステムおよび方法 | |
CA3067680A1 (en) | Systems and methods for ranking content sources based on a number of media assets identified to be interesting to a user | |
US10592831B2 (en) | Methods and systems for recommending actors | |
US20160179796A1 (en) | Methods and systems for selecting identifiers for media content | |
US10187704B1 (en) | Methods and systems for presenting a media asset segment that is associated with a pre-specified quality of acting |