(57)【要約】結果が受信されるソースをランク付けし、より低くランク付けされたソースからの重複結果を提示しないことによって、複数のソースからの検索結果を提示するためのシステムおよび方法。例えば、第１のソースおよび第２のソースからの結果が、受信され得る。第１のソースからの結果は、ユーザが第２のソースと比べて第１のソースの選好を有することに応答して、第２のソースからの結果よりも画面の上部に近い行内に提示され得る。２つの結果が合致する場合、結果は、より高くランク付けされたソースのための行内にのみ表示され、別の結果は、第１の行内の表示された結果のうちのいずれにも合致しない第２の行内に提示される。
2020519067.tif 000002
【特許請求の範囲】
【請求項１】
複数のソースからの検索結果を提示するための方法であって、前記方法は、
ユーザ入力に基づいて、第１のソースおよび第２のソースからの結果を検索することと、
第１のソースから少なくとも第１の検索結果を受信することと、
第２のソースから少なくとも第２の検索結果および第３の検索結果を受信することと、
前記第２のソースと比べて前記第１のソースの選好を示すユーザ選好を読み出すことと、
複数の行を備えるグリッドを表示するために生成することであって、各行は１つ以上の検索結果を含み、前記グリッドを表示するために生成することは、
前記ユーザ選好に基づいて、第１の行内で前記第１のソースからの前記第１の検索結果を表示するために生成することと、
前記第１の検索結果が前記第２の検索結果に合致し、前記第１の検索結果が前記第３の検索結果に合致しないことを決定することと、
前記決定することに基づいて、第２の行内で前記第３の検索結果を表示するために生成することであって、前記第２の検索結果は、前記第２の行内に表示されない、ことと
によって行われる、ことと
を含む、方法。
【請求項２】
複数のソースからの検索結果を提示するための方法であって、前記方法は、
ユーザ入力を受信することと、
前記ユーザ入力に基づいて、第１のソースおよび第２のソースからの結果を検索することと、
前記第１のソースからの第１の検索結果および前記第２のソースからの第２の検索結果を受信することと、
前記第２のソースと比べて前記第１のソースの選好を示すユーザ選好を読み出すことと、
検索結果を伴う複数の行を備えるグリッドを表示するために生成することであって、前記グリッドを表示するために生成することは、
前記第２のソースと比べて前記第１のソースの選好を示す前記読み出されたユーザ選好に基づいて、第１の行内に前記第１のソースからの前記第１の検索結果を表示するために生成することを決定することと、
前記第１の行に適合する前記第１の検索結果の第１のサブセットおよび第２の行に適合する前記第２の検索結果の第２のサブセットを決定することであって、前記第１のサブセットは、前記第１の検索結果のうちの第１の結果を含み、前記第２のサブセットは、前記第２の検索結果のうちの第３の結果ではなくて第２の結果を含む、ことと、
前記第１の結果と関連付けられるメタデータを前記第２の結果と関連付けられるメタデータと比較することと、
前記比較することに基づいて、前記第１の結果が前記第２の結果に合致することを決定することと、
前記第１の結果が前記第２の結果に合致することを決定することに応答して、前記第２のサブセットの中の前記第２の結果を前記第３の結果と置換することによって、前記第２のサブセットを修正することと、
前記第１の行内の前記第１のサブセットおよび前記第２の行内の前記修正された第２のサブセットを表示するために生成することと
によって行われる、ことと
を含む、方法。
【請求項３】
前記ユーザ入力は、第１のユーザ入力であり、前記選好は、第１の選好であり、
前記第１のソースと比べて前記第２のソースの第２の選好を示す第２のユーザ入力を受信することと、
前記第２のユーザ入力を受信することに応答して、
前記修正された第２のサブセットの中の前記第３の結果を前記第２の結果と置換することによって、前記第２の検索結果の第３のサブセットを生成することと、
前記第１のサブセットの中の前記第１の結果を前記第１の検索結果のうちの第４の結果と置換することによって、前記第１の検索結果の第４のサブセットを生成することであって、前記第４の結果は、前記第１のサブセットの中にはない、ことと、
前記第１のサブセットの代わりに前記第１の行内の前記第３のサブセットおよび前記修正された第２のサブセットの代わりに前記第２の行内の前記第４のサブセットを表示するために生成することと
をさらに含む、請求項１に記載の方法。
【請求項４】
前記第１の行に適合する前記第１の検索結果の第１のサブセットおよび前記第２の行に適合する前記第２の検索結果の第２のサブセットを決定することは、
前記グリッドのための表示テンプレートを読み出すことと、
前記第１の行と関連付けられる前記表示テンプレートの第１のフィールドから、前記第１の行に適合する第１の数の結果に関して第１の値を読み出すことと、
前記第２の行と関連付けられる前記表示テンプレートの第２のフィールドから、前記第２の行に適合する第２の数の結果に関して第２の値を読み出すことと、
前記第１のサブセットとして、前記第１の検索結果から前記第１の数の結果を選択することと、
前記第２のサブセットとして、前記第２の検索結果から前記第２の数の結果を選択することと
を含む、請求項１に記載の方法。
【請求項５】
前記第１の行に適合する前記第１の検索結果の第１のサブセットおよび前記第２の行に適合する前記第２の検索結果の第２のサブセットを決定することは、
前記ユーザ入力への各結果の関連性に基づいて、前記第１の検索結果の中の各結果および前記第２の検索結果の中の各結果をランク付けすることと、
前記第１のサブセットの中の前記第１の結果として、前記第１の検索結果の中の最高ランク付けされた結果を読み出すことと、
前記第２のサブセットの中の前記第２の結果として、前記第２の検索結果の中の最高ランク付けされた結果を読み出すことと
を含む、請求項１に記載の方法。
【請求項６】
前記第２のサブセットの中の前記第２の結果を前記第３の結果と置換することによって、前記第２のサブセットを修正することは、
前記第３の結果として、前記第２のサブセットの中にない次の最高ランク付けされた結果を読み出すことと、
前記第２のサブセットから前記第２の結果を除去することと、
前記第３の結果を前記第２のサブセットに追加することと
を含む、請求項１に記載の方法。
【請求項７】
前記ユーザ選好は、第１のユーザ選好であり、前記第２のサブセットの中の前記第２の結果を前記第３の結果と置換することによって、前記第２のサブセットを修正することは、
検索結果の属性に関して第２のユーザ選好を読み出すことと、
前記第３の結果の属性が前記第２のユーザ選好に合致することを決定することと、
前記第３の結果の属性が前記第２のユーザ選好に合致することを決定することに応答して、
前記第２のサブセットから前記第２の結果を除去することと、
前記第３の結果を前記第２のサブセットに追加することと
を含む、請求項１に記載の方法。
【請求項８】
前記第１の結果と関連付けられる前記メタデータを前記第２の結果と関連付けられる前記メタデータと比較することは、
前記第１の結果の第１の識別子および前記第２の結果の第２の識別子を、データベースの中に記憶された複数の識別子と比較することと、
第１の記憶された識別子が前記第１の識別子に合致し、第２の記憶された識別子が前記第２の識別子に合致することを決定することと、
前記第１の記憶された識別子と関連付けられる第１のフィールドからの第１のメタデータおよび前記第２の記憶された識別子と関連付けられる第２のフィールドからの第２のメタデータを読み出すことと、
前記第１の結果と関連付けられる前記第１のメタデータの第１の文字を、前記第２の結果と関連付けられる前記第２のメタデータの第２の文字と比較することと
を含む、請求項１に記載の方法。
【請求項９】
前記グリッドを表示するために生成することはさらに、
前記第１の検索結果のうちの各結果を前記第２の検索結果のうちの各結果と比較することと、
前記第１の検索結果のうちの各結果を前記第２の検索結果のうちの各結果と比較することに基づいて、前記第１の検索結果と前記第２の検索結果との間の重複結果の数を決定することと、
前記第２の行内に前記重複結果の数のインジケーションを表示するために生成することと
を含む、請求項１に記載の方法。
【請求項１０】
前記第１の結果のユーザ選択を受信することと、
前記ユーザ選択を受信することに応答して、前記第１の結果が前記第２のソースからも利用可能であるというインジケーションを表示するために生成することと
をさらに含む、請求項１に記載の方法。
【請求項１１】
前記第１の結果は、メディアアセットを識別し、
前記第１の結果のユーザ選択を受信することと、
前記ユーザ選択を受信することに応答して、前記メディアアセットと関連付けられる複数の選択可能なオプションを表示するために生成することであって、前記複数の選択可能なオプションは、
前記メディアアセットを鑑賞リストに追加するためのオプション、
前記メディアアセットをお気に入りリストに追加するためのオプション、
前記メディアアセットが利用可能になる次回の時間を閲覧するためのオプション、および
前記メディアアセットを録画するためのオプション
のうちの少なくとも１つを含む、ことと
をさらに含む、請求項１に記載の方法。
【請求項１２】
複数のソースからの検索結果を提示するためのシステムであって、前記システムは、
ユーザ入力回路と、
制御回路であって、前記制御回路は、
前記ユーザ入力回路を介して、ユーザ入力を受信することと、
前記ユーザ入力に基づいて、第１のソースおよび第２のソースからの結果を検索することと、
前記第１のソースから第１の検索結果および前記第２のソースから第２の検索結果を受信することと、
前記第２のソースと比べて前記第１のソースの選好を示すユーザ選好を読み出すことと、
検索結果を伴う複数の行を備えるグリッドを表示するために生成することであって、前記グリッドを表示するために生成することは、
前記第２のソースと比べて前記第１のソースの選好を示す前記読み出されたユーザ選好に基づいて、第１の行内に前記第１のソースからの前記第１の検索結果を表示するために生成することを決定することと、
前記第１の行に適合する前記第１の検索結果の第１のサブセットおよび第２の行に適合する前記第２の検索結果の第２のサブセットを決定することであって、前記第１のサブセットは、前記第１の検索結果のうちの第１の結果を含み、前記第２のサブセットは、前記第２の検索結果のうちの第３の結果ではなくて第２の結果を含む、ことと、
前記第１の結果と関連付けられるメタデータを前記第２の結果と関連付けられるメタデータと比較することと、
前記比較することに基づいて、前記第１の結果が前記第２の結果に合致することを決定することと、
前記第１の結果が前記第２の結果に合致することを決定することに応答して、前記第２のサブセットの中の前記第２の結果を前記第３の結果と置換することによって、前記第２のサブセットを修正することと、
前記第１の行内の前記第１のサブセットおよび前記第２の行内の前記修正された第２のサブセットを表示するために生成することと
によって行われる、ことと
を行うように構成される、制御回路と
を備える、システム。
【請求項１３】
前記ユーザ入力は、第１のユーザ入力であり、前記選好は、第１の選好であり、前記制御回路はさらに、
前記第１のソースと比べて前記第２のソースの第２の選好を示す第２のユーザ入力を受信することと、
前記第２のユーザ入力を受信することに応答して、
前記修正された第２のサブセットの中の前記第３の結果を前記第２の結果と置換することによって、前記第２の検索結果の第３のサブセットを生成することと、
前記第１のサブセットの中の前記第１の結果を前記第１の検索結果のうちの第４の結果と置換することによって、前記第１の検索結果の第４のサブセットを生成することであって、前記第４の結果は、前記第１のサブセットの中にはない、ことと、
前記第１のサブセットの代わりに前記第１の行内の前記第３のサブセットおよび前記修正された第２のサブセットの代わりに前記第２の行内の前記第４のサブセットを表示するために生成することと
を行うように構成される、請求項１２に記載のシステム。
【請求項１４】
前記制御回路はさらに、前記第１の行に適合する前記第１の検索結果の第１のサブセットおよび前記第２の行に適合する前記第２の検索結果の第２のサブセットを決定するときに、
前記グリッドのための表示テンプレートを読み出すことと、
前記第１の行と関連付けられる前記表示テンプレートの第１のフィールドから、前記第１の行に適合する第１の数の結果に関して第１の値を読み出すことと、
前記第２の行と関連付けられる前記表示テンプレートの第２のフィールドから、前記第２の行に適合する第２の数の結果に関して第２の値を読み出すことと、
前記第１のサブセットとして、前記第１の検索結果から前記第１の数の結果を選択することと、
前記第２のサブセットとして、前記第２の検索結果から前記第２の数の結果を選択することと
を行うように構成される、請求項１２に記載のシステム。
【請求項１５】
前記制御回路はさらに、前記第１の行に適合する前記第１の検索結果の第１のサブセットおよび前記第２の行に適合する前記第２の検索結果の第２のサブセットを決定するときに、
前記ユーザ入力への各結果の関連性に基づいて、前記第１の検索結果の中の各結果および前記第２の検索結果の中の各結果をランク付けすることと、
前記第１のサブセットの中の前記第１の結果として、前記第１の検索結果の中の最高ランク付けされた結果を読み出すことと、
前記第２のサブセットの中の前記第２の結果として、前記第２の検索結果の中の最高ランク付けされた結果を読み出すことと
を行うように構成される、請求項１２に記載のシステム。
【請求項１６】
前記制御回路はさらに、前記第２のサブセットの中の前記第２の結果を前記第３の結果と置換することによって、前記第２のサブセットを修正するときに、
前記第３の結果として、前記第２のサブセットの中にない次の最高ランク付けされた結果を読み出すことと、
前記第２のサブセットから前記第２の結果を除去することと、
前記第３の結果を前記第２のサブセットに追加することと
を行うように構成される、請求項１２に記載のシステム。
【請求項１７】
前記ユーザ選好は、第１のユーザ選好であり、前記制御回路はさらに、前記第２のサブセットの中の前記第２の結果を前記第３の結果と置換することによって、前記第２のサブセットを修正するときに、
検索結果の属性に関して第２のユーザ選好を読み出すことと、
前記第３の結果の属性が前記第２のユーザ選好に合致することを決定することと、
前記第３の結果の属性が前記第２のユーザ選好に合致することを決定することに応答して、
前記第２のサブセットから前記第２の結果を除去することと、
前記第３の結果を前記第２のサブセットに追加することと
を行うように構成される、請求項１２に記載のシステム。
【請求項１８】
前記制御回路はさらに、前記第１の結果と関連付けられる前記メタデータを前記第２の結果と関連付けられる前記メタデータと比較するときに、
前記第１の結果の第１の識別子および前記第２の結果の第２の識別子を、データベースの中に記憶された複数の識別子と比較することと、
第１の記憶された識別子が前記第１の識別子に合致し、第２の記憶された識別子が前記第２の識別子に合致することを決定することと、
前記第１の記憶された識別子と関連付けられる第１のフィールドからの第１のメタデータおよび前記第２の記憶された識別子と関連付けられる第２のフィールドからの第２のメタデータを読み出すことと、
前記第１の結果と関連付けられる前記第１のメタデータの第１の文字を、前記第２の結果と関連付けられる前記第２のメタデータの第２の文字と比較することと
を行うように構成される、請求項１２に記載のシステム。
【請求項１９】
前記制御回路はさらに、前記グリッドを表示するために生成するときに、
前記第１の検索結果のうちの各結果を前記第２の検索結果のうちの各結果と比較することと、
前記第１の検索結果のうちの各結果を前記第２の検索結果のうちの各結果と比較することに基づいて、前記第１の検索結果と前記第２の検索結果との間の重複結果の数を決定することと、
前記第２の行内に前記重複結果の数のインジケーションを表示するために生成することと
を行うように構成される、請求項１２に記載のシステム。
【請求項２０】
前記制御回路はさらに、
前記第１の結果のユーザ選択を受信することと、
前記ユーザ選択を受信することに応答して、前記第１の結果が前記第２のソースからも利用可能であるというインジケーションを表示するために生成することと
を行うように構成される、請求項１２に記載のシステム。
【請求項２１】
前記第１の結果は、メディアアセットを識別し、前記制御回路はさらに、
前記第１の結果のユーザ選択を受信することと、
前記ユーザ選択を受信することに応答して、前記メディアアセットと関連付けられる複数の選択可能なオプションを表示するために生成することであって、前記複数の選択可能なオプションは、
前記メディアアセットを鑑賞リストに追加するためのオプション、
前記メディアアセットをお気に入りリストに追加するためのオプション、
前記メディアアセットが利用可能になる次回の時間を閲覧するためのオプション、および
前記メディアアセットを録画するためのオプション
のうちの少なくとも１つを含む、ことと
を行うように構成されている、請求項１２に記載のシステム。
【請求項２２】
複数のソースからの検索結果を提示するためのシステムであって、前記システムは、
ユーザ入力を受信するための手段と、
前記ユーザ入力に基づいて、第１のソースおよび第２のソースからの結果を検索するための手段と、
前記第１のソースからの第１の検索結果および前記第２のソースからの第２の検索結果を受信するための手段と、
前記第２のソースと比べて前記第１のソースの選好を示すユーザ選好を読み出すための手段と、
検索結果を伴う複数の行を備えるグリッドを表示するために生成するための手段であって、前記グリッドを表示するために生成することは、
前記第２のソースと比べて前記第１のソースの選好を示す前記読み出されたユーザ選好に基づいて、第１の行内に前記第１のソースからの前記第１の検索結果を表示するために生成することを決定することと、
前記第１の行に適合する前記第１の検索結果の第１のサブセットおよび第２の行に適合する前記第２の検索結果の第２のサブセットを決定することであって、前記第１のサブセットは、前記第１の検索結果のうちの第１の結果を含み、前記第２のサブセットは、前記第２の検索結果のうちの第３の結果ではなくて第２の結果を含む、ことと、
前記第１の結果と関連付けられるメタデータを前記第２の結果と関連付けられるメタデータと比較することと、
前記比較することに基づいて、前記第１の結果が前記第２の結果に合致することを決定することと、
前記第１の結果が前記第２の結果に合致することを決定することに応答して、前記第２のサブセットの中の前記第２の結果を前記第３の結果と置換することによって、前記第２のサブセットを修正することと、
前記第１の行内の前記第１のサブセットおよび前記第２の行内の前記修正された第２のサブセットを表示するために生成することと
によって行われる、手段と
を備える、システム。
【請求項２３】
前記ユーザ入力は、第１のユーザ入力であり、前記選好は、第１の選好であり、
前記第１のソースと比べて前記第２のソースの第２の選好を示す第２のユーザ入力を受信するための手段と、
前記第２のユーザ入力を受信することに応答して、
前記修正された第２のサブセットの中の前記第３の結果を前記第２の結果と置換することによって、前記第２の検索結果の第３のサブセットを生成するための手段と、
前記第１のサブセットの中の前記第１の結果を前記第１の検索結果のうちの第４の結果と置換することによって、前記第１の検索結果の第４のサブセットを生成するための手段であって、前記第４の結果は、前記第１のサブセットの中にはない、手段と、
前記第１のサブセットの代わりに前記第１の行内の前記第３のサブセットおよび前記修正された第２のサブセットの代わりに前記第２の行内の前記第４のサブセットを表示するために生成するための手段と
をさらに備える、請求項２２に記載のシステム。
【請求項２４】
前記第１の行に適合する前記第１の検索結果の第１のサブセットおよび前記第２の行に適合する前記第２の検索結果の第２のサブセットを決定するための前記手段は、
前記グリッドのための表示テンプレートを読み出すための手段と、
前記第１の行と関連付けられる前記表示テンプレートの第１のフィールドから、前記第１の行に適合する第１の数の結果に関して第１の値を読み出すための手段と、
前記第２の行と関連付けられる前記表示テンプレートの第２のフィールドから、前記第２の行に適合する第２の数の結果に関して第２の値を読み出すための手段と、
前記第１のサブセットとして、前記第１の検索結果から前記第１の数の結果を選択するための手段と、
前記第２のサブセットとして、前記第２の検索結果から前記第２の数の結果を選択するための手段と
を備える、請求項２２に記載のシステム。
【請求項２５】
前記第１の行に適合する前記第１の検索結果の第１のサブセットおよび前記第２の行に適合する前記第２の検索結果の第２のサブセットを決定するための前記手段は、
前記ユーザ入力への各結果の関連性に基づいて、前記第１の検索結果の中の各結果および前記第２の検索結果の中の各結果をランク付けするための手段と、
前記第１のサブセットの中の前記第１の結果として、前記第１の検索結果の中の最高ランク付けされた結果を読み出すための手段と、
前記第２のサブセットの中の前記第２の結果として、前記第２の検索結果の中の最高ランク付けされた結果を読み出すための手段と
を備える、請求項２２に記載のシステム。
【請求項２６】
前記第２のサブセットの中の前記第２の結果を前記第３の結果と置換することによって、前記第２のサブセットを修正するための前記手段は、
前記第３の結果として、前記第２のサブセットの中にない次の最高ランク付けされた結果を読み出すための手段と、
前記第２のサブセットから前記第２の結果を除去するための手段と、
前記第３の結果を前記第２のサブセットに追加するための手段と
を備える、請求項２２に記載のシステム。
【請求項２７】
前記ユーザ選好は、第１のユーザ選好であり、前記第２のサブセットの中の前記第２の結果を前記第３の結果と置換することによって、前記第２のサブセットを修正するための前記手段は、
検索結果の属性に関して第２のユーザ選好を読み出すための手段と、
前記第３の結果の属性が前記第２のユーザ選好に合致することを決定するための手段と、
前記第３の結果の属性が前記第２のユーザ選好に合致することを決定すること応答して、
前記第２のサブセットから前記第２の結果を除去するための手段と、
前記第３の結果を前記第２のサブセットに追加するための手段と
を備える、請求項２２に記載のシステム。
【請求項２８】
前記第１の結果と関連付けられる前記メタデータを前記第２の結果と関連付けられる前記メタデータと比較するための前記手段は、
前記第１の結果の第１の識別子および前記第２の結果の第２の識別子を、データベースの中に記憶された複数の識別子と比較するための手段と、
第１の記憶された識別子が前記第１の識別子に合致し、第２の記憶された識別子が前記第２の識別子に合致することを決定するための手段と、
前記第１の記憶された識別子と関連付けられる第１のフィールドからの第１のメタデータおよび前記第２の記憶された識別子と関連付けられる第２のフィールドからの第２のメタデータを読み出すための手段と、
前記第１の結果と関連付けられる前記第１のメタデータの第１の文字を、前記第２の結果と関連付けられる前記第２のメタデータの第２の文字と比較するための手段と
を備える、請求項２２に記載のシステム。
【請求項２９】
前記グリッドを表示するために生成するための前記手段はさらに、
前記第１の検索結果のうちの各結果を前記第２の検索結果のうちの各結果と比較するための手段と、
前記第１の検索結果のうちの各結果を前記第２の検索結果のうちの各結果と比較することに基づいて、前記第１の検索結果と前記第２の検索結果との間の重複結果の数を決定するための手段と、
前記第２の行内に前記重複結果の数のインジケーションを表示するために生成するための手段と
を備える、請求項２２に記載のシステム。
【請求項３０】
前記第１の結果のユーザ選択を受信するための手段と、
前記ユーザ選択を受信することに応答して、前記第１の結果が前記第２のソースからも利用可能であるというインジケーションを表示するために生成するための手段と
をさらに備える、請求項２２に記載のシステム。
【請求項３１】
前記第１の結果は、メディアアセットを識別し、前記システムはさらに、
前記第１の結果のユーザ選択を受信するための手段と、
前記ユーザ選択を受信することに応答して、前記メディアアセットと関連付けられる複数の選択可能なオプションを表示するために生成するための手段であって、前記複数の選択可能なオプションは、
前記メディアアセットを鑑賞リストに追加するためのオプション、
前記メディアアセットをお気に入りリストに追加するためのオプション、
前記メディアアセットが利用可能になる次回の時間を閲覧するためのオプション、および
前記メディアアセットを録画するためのオプション
のうちの少なくとも１つを含む、手段と
を備える、請求項２２に記載のシステム。
【請求項３２】
非一過性のコンピュータ可読媒体であって、前記非一過性のコンピュータ可読媒体は、複数のソースからの検索結果を提示するためのその上にエンコードされた命令を有し、前記命令は、
ユーザ入力を受信するための命令と、
前記ユーザ入力に基づいて、第１のソースおよび第２のソースからの結果を検索するための命令と、
前記第１のソースからの第１の検索結果および前記第２のソースからの第２の検索結果を受信するための命令と、
前記第２のソースと比べて前記第１のソースの選好を示すユーザ選好を読み出すための命令と、
検索結果を伴う複数の行を備えるグリッドを表示するために生成するための命令であって、前記グリッドを表示するために生成することは、
前記第２のソースと比べて前記第１のソースの選好を示す前記読み出されたユーザ選好に基づいて、第１の行内に前記第１のソースからの前記第１の検索結果を表示するために生成することを決定することと、
前記第１の行に適合する前記第１の検索結果の第１のサブセットおよび第２の行に適合する前記第２の検索結果の第２のサブセットを決定することであって、前記第１のサブセットは、前記第１の検索結果のうちの第１の結果を含み、前記第２のサブセットは、前記第２の検索結果のうちの第３の結果ではなくて第２の結果を含む、ことと、
前記第１の結果と関連付けられるメタデータを前記第２の結果と関連付けられるメタデータと比較することと、
前記比較することに基づいて、前記第１の結果が前記第２の結果に合致することを決定することと、
前記第１の結果が前記第２の結果に合致することを決定することに応答して、前記第２のサブセットの中の前記第２の結果を前記第３の結果と置換することによって、前記第２のサブセットを修正することと、
前記第１の行内の前記第１のサブセットおよび前記第２の行内の前記修正された第２のサブセットを表示するために生成することと
によって行われる、命令と
を備える、非一過性のコンピュータ可読媒体。
【請求項３３】
前記ユーザ入力は、第１のユーザ入力であり、前記選好は、第１の選好であり、前記命令はさらに、
前記第１のソースと比べて前記第２のソースの第２の選好を示す第２のユーザ入力を受信するための命令と、
前記第２のユーザ入力を受信することに応答して、
前記修正された第２のサブセットの中の前記第３の結果を前記第２の結果と置換することによって、前記第２の検索結果の第３のサブセットを生成するための命令と、
前記第１のサブセットの中の前記第１の結果を前記第１の検索結果のうちの第４の結果と置換することによって、前記第１の検索結果の第４のサブセットを生成するための命令であって、前記第４の結果は、前記第１のサブセットの中にはない、命令と、
前記第１のサブセットの代わりに前記第１の行内の前記第３のサブセットおよび前記修正された第２のサブセットの代わりに前記第２の行内の前記第４のサブセットを表示するために生成するための命令と
を備える、請求項３２に記載の非一過性のコンピュータ可読媒体。
【請求項３４】
前記第１の行に適合する前記第１の検索結果の第１のサブセットおよび前記第２の行に適合する前記第２の検索結果の第２のサブセットを決定するための前記命令は、
前記グリッドのための表示テンプレートを読み出すための命令と、
前記第１の行と関連付けられる前記表示テンプレートの第１のフィールドから、前記第１の行に適合する第１の数の結果に関して第１の値を読み出すための命令と、
前記第２の行と関連付けられる前記表示テンプレートの第２のフィールドから、前記第２の行に適合する第２の数の結果に関して第２の値を読み出すための命令と、
前記第１のサブセットとして、前記第１の検索結果から前記第１の数の結果を選択するための命令と、
前記第２のサブセットとして、前記第２の検索結果から前記第２の数の結果を選択するための命令と
を備える、請求項３２に記載の非一過性のコンピュータ可読媒体。
【請求項３５】
前記第１の行に適合する前記第１の検索結果の第１のサブセットおよび前記第２の行に適合する前記第２の検索結果の第２のサブセットを決定するための前記命令は、
前記ユーザ入力への各結果の関連性に基づいて、前記第１の検索結果の中の各結果および前記第２の検索結果の中の各結果をランク付けするための命令と、
前記第１のサブセットの中の前記第１の結果として、前記第１の検索結果の中の最高ランク付けされた結果を読み出すための命令と、
前記第２のサブセットの中の前記第２の結果として、前記第２の検索結果の中の最高ランク付けされた結果を読み出すための命令と
を備える、請求項３２に記載の非一過性のコンピュータ可読媒体。
【請求項３６】
前記第２のサブセットの中の前記第２の結果を前記第３の結果と置換することによって、前記第２のサブセットを修正するための前記命令は、
前記第３の結果として、前記第２のサブセットの中にない次の最高ランク付けされた結果を読み出すための命令と、
前記第２のサブセットから前記第２の結果を除去するための命令と、
前記第３の結果を前記第２のサブセットに追加するための命令と
を備える、請求項３２に記載の非一過性のコンピュータ可読媒体。
【請求項３７】
前記ユーザ選好は、第１のユーザ選好であり、前記第２のサブセットの中の前記第２の結果を前記第３の結果と置換することによって、前記第２のサブセットを修正するための前記命令は、
検索結果の属性に関して第２のユーザ選好を読み出すための命令と、
前記第３の結果の属性が前記第２のユーザ選好に合致することを決定するための命令と、
前記第３の結果の属性が前記第２のユーザ選好に合致することを決定することに応答して、
前記第２のサブセットから前記第２の結果を除去するための命令と、
前記第３の結果を前記第２のサブセットに追加するための命令と
を備える、請求項３２に記載の非一過性のコンピュータ可読媒体。
【請求項３８】
前記第１の結果と関連付けられる前記メタデータを前記第２の結果と関連付けられる前記メタデータと比較するための前記命令は、
前記第１の結果の第１の識別子および前記第２の結果の第２の識別子を、データベースの中に記憶された複数の識別子と比較するための命令と、
第１の記憶された識別子が前記第１の識別子に合致し、第２の記憶された識別子が前記第２の識別子に合致することを決定するための命令と、
前記第１の記憶された識別子と関連付けられる第１のフィールドからの第１のメタデータおよび前記第２の記憶された識別子と関連付けられる第２のフィールドからの第２のメタデータを読み出すための命令と、
前記第１の結果と関連付けられる前記第１のメタデータの第１の文字を、前記第２の結果と関連付けられる前記第２のメタデータの第２の文字と比較するための命令と
を備える、請求項３２に記載の非一過性のコンピュータ可読媒体。
【請求項３９】
前記グリッドを表示するために生成するための前記命令はさらに、
前記第１の検索結果のうちの各結果を前記第２の検索結果のうちの各結果と比較するための命令と、
前記第１の検索結果のうちの各結果を前記第２の検索結果のうちの各結果と比較することに基づいて、前記第１の検索結果と前記第２の検索結果との間の重複結果の数を決定するための命令と、
前記第２の行内に前記重複結果の数のインジケーションを表示するために生成するための命令と
を備える、請求項３２に記載の非一過性のコンピュータ可読媒体。
【請求項４０】
前記命令はさらに、
前記第１の結果のユーザ選択を受信するための命令と、
前記ユーザ選択を受信することに応答して、前記第１の結果が前記第２のソースからも利用可能であるというインジケーションを表示するために生成するための命令と
を備える、請求項３２に記載の非一過性のコンピュータ可読媒体。
【請求項４１】
前記第１の結果は、メディアアセットを識別し、前記命令はさらに、
前記第１の結果のユーザ選択を受信するための命令と、
前記ユーザ選択を受信することに応答して、前記メディアアセットと関連付けられる複数の選択可能なオプションを表示するために生成するための命令であって、前記複数の選択可能なオプションは、
前記メディアアセットを鑑賞リストに追加するためのオプション、
前記メディアアセットをお気に入りリストに追加するためのオプション、
前記メディアアセットが利用可能になる次回の時間を閲覧するためのオプション、および
前記メディアアセットを録画するためのオプション
のうちの少なくとも１つを含む、命令と
を備える、請求項３２に記載の非一過性のコンピュータ可読媒体。
【請求項４２】
複数のソースからの検索結果を提示するための方法であって、前記方法は、
制御回路によって、ユーザ入力を受信することと、
前記制御回路によって、前記ユーザ入力に基づいて、第１のソースおよび第２のソースからの結果を検索することと、
前記制御回路によって、前記第１のソースからの第１の検索結果および前記第２のソースからの第２の検索結果を受信することと、
前記制御回路によって、前記第２のソースと比べて前記第１のソースの選好を示すユーザ選好を読み出すことと、
前記制御回路によって、検索結果を伴う複数の行を備えるグリッドを表示するために生成することであって、前記グリッドを表示するために生成することは、
前記第２のソースと比べて前記第１のソースの選好を示す前記読み出されたユーザ選好に基づいて、第１の行内に前記第１のソースからの前記第１の検索結果を表示するために生成することを決定することと、
前記第１の行に適合する前記第１の検索結果の第１のサブセットおよび第２の行に適合する前記第２の検索結果の第２のサブセットを決定することであって、前記第１のサブセットは、前記第１の検索結果のうちの第１の結果を含み、前記第２のサブセットは、前記第２の検索結果のうちの第３の結果ではなくて第２の結果を含む、ことと、
前記第１の結果と関連付けられるメタデータを前記第２の結果と関連付けられるメタデータと比較することと、
前記比較することに基づいて、前記第１の結果が前記第２の結果に合致することを決定することと、
前記第１の結果が前記第２の結果に合致することを決定することに応答して、前記第２のサブセットの中の前記第２の結果を前記第３の結果と置換することによって、前記第２のサブセットを修正することと、
前記第１の行内の前記第１のサブセットおよび前記第２の行内の前記修正された第２のサブセットを表示するために生成することと
によって行われる、ことと
を含む、方法。
【請求項４３】
前記第１のソースと比べて前記第２のソースの第２の選好を示す第２のユーザ入力を受信することと、
前記第２のユーザ入力を受信することに応答して、
前記修正された第２のサブセットの中の前記第３の結果を前記第２の結果と置換することによって、前記第２の検索結果の第３のサブセットを生成することと、
前記第１のサブセットの中の前記第１の結果を前記第１の検索結果のうちの第４の結果と置換することによって、前記第１の検索結果の第４のサブセットを生成することであって、前記第４の結果は、前記第１のサブセットの中にはない、ことと、
前記第１のサブセットの代わりに前記第１の行内の前記第３のサブセットおよび前記修正された第２のサブセットの代わりに前記第２の行内の前記第４のサブセットを表示するために生成することと
をさらに含む、請求項４２に記載の方法。
【請求項４４】
前記グリッドのための表示テンプレートを読み出すことと、
前記第１の行と関連付けられる前記表示テンプレートの第１のフィールドから、前記第１の行に適合する第１の数の結果に関して第１の値を読み出すことと、
前記第２の行と関連付けられる前記表示テンプレートの第２のフィールドから、前記第２の行に適合する第２の数の結果に関して第２の値を読み出すことと、
前記第１のサブセットとして、前記第１の検索結果から前記第１の数の結果を選択することと、
前記第２のサブセットとして、前記第２の検索結果から前記第２の数の結果を選択することと
をさらに含む、請求項４２−４３のいずれかに記載の方法。
【請求項４５】
前記ユーザ入力への各結果の関連性に基づいて、前記第１の検索結果の中の各結果および前記第２の検索結果の中の各結果をランク付けすることと、
前記第１のサブセットの中の前記第１の結果として、前記第１の検索結果の中の最高ランク付けされた結果を読み出すことと、
前記第２のサブセットの中の前記第２の結果として、前記第２の検索結果の中の最高ランク付けされた結果を読み出すことと
をさらに含む、請求項４２−４４のいずれかに記載の方法。
【請求項４６】
前記第３の結果として、前記第２のサブセットの中にない次の最高ランク付けされた結果を読み出すことと、
前記第２のサブセットから前記第２の結果を除去することと、
前記第３の結果を前記第２のサブセットに追加することと
をさらに含む、請求項４２−４５のいずれかに記載の方法。
【請求項４７】
検索結果の属性に関して第２のユーザ選好を読み出すことと、
前記第３の結果の属性が前記第２のユーザ選好に合致することを決定することと、
前記第３の結果の属性が前記第２のユーザ選好に合致することを決定することに応答して、
前記第２のサブセットから前記第２の結果を除去することと、
前記第３の結果を前記第２のサブセットに追加することと
をさらに含む、請求項４２−４６のいずれかに記載の方法。
【請求項４８】
前記第１の結果の第１の識別子および前記第２の結果の第２の識別子を、データベースの中に記憶された複数の識別子と比較することと、
第１の記憶された識別子が前記第１の識別子に合致し、第２の記憶された識別子が前記第２の識別子に合致することを決定することと、
前記第１の記憶された識別子と関連付けられる第１のフィールドからの第１のメタデータおよび前記第２の記憶された識別子と関連付けられる第２のフィールドからの第２のメタデータを読み出すことと、
前記第１の結果と関連付けられる前記第１のメタデータの第１の文字を、前記第２の結果と関連付けられる前記第２のメタデータの第２の文字と比較することと
をさらに含む、請求項４２−４７のいずれかに記載の方法。
【請求項４９】
前記第１の検索結果のうちの各結果を前記第２の検索結果のうちの各結果と比較することと、
前記第１の検索結果のうちの各結果を前記第２の検索結果のうちの各結果と比較することに基づいて、前記第１の検索結果と前記第２の検索結果との間の重複結果の数を決定することと、
前記第２の行内に前記重複結果の数のインジケーションを表示するために生成することと
をさらに含む、請求項４２−４８のいずれかに記載の方法。
【請求項５０】
前記第１の結果のユーザ選択を受信することと、
前記ユーザ選択を受信することに応答して、前記第１の結果が前記第２のソースからも利用可能であるというインジケーションを表示するために生成することと
をさらに含む、請求項４２−４９のいずれかに記載の方法。
【請求項５１】
前記第１の結果のユーザ選択を受信することと、
前記ユーザ選択を受信することに応答して、前記メディアアセットと関連付けられる複数の選択可能なオプションを表示するために生成することであって、前記複数の選択可能なオプションは、
前記メディアアセットを鑑賞リストに追加するためのオプション、
前記メディアアセットをお気に入りリストに追加するためのオプション、
前記メディアアセットが利用可能になる次回の時間を閲覧するためのオプション、および
前記メディアアセットを録画するためのオプション
のうちの少なくとも１つを含む、ことと
をさらに含む、請求項４２−５０のいずれかに記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
大量の利用可能なメディアコンテンツをそれぞれ伴う、多量のメディアコンテンツソースを考慮すると、ユーザは、多くの場合、所与のクエリに関して多数の検索結果に目を通すことが困難であることを見出す。具体的には、普遍的な検索特徴は、ユーザが、単一の検索を用いて多くの異なるコンテンツソースから結果を取得することを可能にしているが、非常に多くの結果に圧倒され得る。いくつかの従来のシステムは、結果をユーザに提示するときに、結果が受信されるソース別にそれらを編成することによって、これを克服しようとする。しかしながら、多くの同じメディアコンテンツが、異なるソースから利用可能であり、複数回提示され得、ユーザが関心を持ち得る結果がそれらの下に埋もれることにつながり得る。
【発明の概要】
【課題を解決するための手段】
【０００２】
故に、結果が受信されるソースをランク付けし、より低くランク付けされたソースからの重複結果を提示しないことによって、複数のソースからの検索結果を提示するためのシステムおよび方法が、本明細書に説明される。例えば、第１のソースおよび第２のソースからの結果が、受信され得る。第１のソースからの結果は、ユーザが第２のソースと比べて第１のソースの選好を有する（例えば、ユーザがＨＢＯよりもＡＭＡＺＯＮ（登録商標）を好む）ことに応答して、第２のソースからの結果よりも画面の上部に近い行内に提示され得る。本システムは、次いで、（例えば、２つの結果のメタデータを比較することによって）ＡＭＡＺＯＮ（登録商標）に関して表示されるであろう結果が、ＨＢＯに関して表示されるであろう結果に合致するかどうかを決定する。２つの結果が合致する場合、結果は、より高くランク付けされたソース（例えば、ＡＭＡＺＯＮ（登録商標））に関してのみ提示され、別の結果は、第１の行内の表示された結果のうちのいずれにも合致しない第２の行内に提示される。このようにして、ユーザは、異なるソースから利用可能であるときに、同一の結果を複数回提示することとは対照的に、明確に異なる検索結果を提供される。
【０００３】
いくつかの側面では、メディアガイドアプリケーションは、ユーザ入力を受信する。例えば、メディアガイドアプリケーションは、ユーザ入力インターフェース（例えば、リモートコントロールまたはタッチスクリーンインターフェース）を介して、ユーザ入力を受信してもよい。ユーザ入力は、１つまたは複数の英数字または他の文字の列であってもよい。代替として、または加えて、ユーザ入力は、共通検索クエリを用いて複数の選択可能なオプションのうちの１つを選択することであってもよい。例えば、メディアガイドアプリケーションは、ユーザが選択するための選択可能なオプションとして、最も一般的に検索されるキーワードを提示し、ユーザが文字を入力する必要があり得る時間を節約してもよい。
【０００４】
メディアガイドアプリケーションは、ユーザ入力に基づいて、第１のソースおよび第２のソースからの結果を検索する。例えば、メディアガイドアプリケーションは、ユーザ入力を第１のソースおよび第２のソースに伝送してもよい。例えば、メディアガイドアプリケーションは、検索のためのユーザ入力（例えば、文字列）および／または他のパラメータ（例えば、結果がある時間周期中にあるべきである）を含む、データパケットを生成してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、ソースの一方または両方からのＡＰＩを利用し、（例えば、ユーザ入力に基づいて）検索クエリを伝送してもよい。メディアガイドアプリケーションは、具体的ソースのユーザ選好（例えば、ユーザプロファイルの中の記憶されたユーザ選好）に基づいて、ユーザ入力を伝送するためのソースを決定してもよい。例えば、ユーザは、検索クエリがソースの特定のセット（例えば、ＡＭＡＺＯＮ（登録商標）およびＨＵＬＵ（登録商標）に送信されるべきであるという選好を記憶してもよい。代替として、または加えて、メディアガイドアプリケーションは、ユーザ入力時にグラフィカルユーザインターフェースを生成し、ユーザがソースを選択することを可能にしてもよい。例えば、メディアガイドアプリケーションは、ユーザが、ソースが結果を検索するための文字列（例えば、ユーザ入力）および一連の選択可能なオプションを入力し得る、フィールドを生成してもよい。
【０００５】
メディアガイドアプリケーションは、第１のソースから第１の検索結果および第２のソースから第２の検索結果を受信する。例えば、メディアガイドアプリケーションは、両方のソースからのユーザ入力に合致する、複数の結果を受信してもよい。各ソースからの結果は、各テーブルが、合致する結果の識別子（例えば、メディアアセットのタイトル）および関連付けられるフィールド内の付加的情報（例えば、メディアアセットの中の俳優）をそれぞれ伴う、複数の行を含有する、別個のテーブルの中で受信されてもよい。いくつかの実施形態では、結果は、人気に従ってランク付けされてもよい。代替として、または加えて、結果は、ユーザ入力への関連性に従ってランク付けされてもよい。例えば、「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」が最も人気のある結果（例えば、多くのユーザがそれをクリックする）であるにもかかわらず、ユーザ入力が「Ｂａｎｇ」であるため、Ｍｉｌｅｙ  Ｃｙｒｕｓによるアルバムである、結果「Ｂａｎｇｅｒｚ」は、第１の言葉がクエリに合致されるため、より高くランク付けされてもよい。代替として、または加えて、メディアガイドアプリケーションは、上記で議論される要因の任意の組み合わせに基づいて、およびユーザ選好に基づいて、結果を並べ替えてもよい。例えば、メディアガイドアプリケーションが、ユーザが所与の俳優が出演する映画を好むというユーザ選好を読み出す場合、その俳優を伴う結果が、ランキングの中で上昇されてもよい。
【０００６】
メディアガイドアプリケーションは、第２のソースと比べて第１のソースの選好を示す、ユーザ選好を読み出す。例えば、メディアガイドアプリケーションは、ローカルで、またはサーバにおいて遠隔に記憶されたユーザプロファイルを読み出してもよい。メディアガイドアプリケーションは、ユーザプロファイルから検索選好を読み出してもよい。例えば、メディアガイドアプリケーションは、ユーザによって設定されるソースのランキングを記憶してもよい。具体的実施例として、メディアガイドアプリケーションは、ユーザが、ソース（例えば、ＨＵＬＵ（登録商標）、ＡＭＡＺＯＮ（登録商標）等）を特定の順序にドラッグアンドドロップし、その選好を反映し得る、グラフィカルユーザインターフェースを生成してもよい。メディアガイドアプリケーションは、次いで、ランクおよび各ソースの識別子を（例えば、アレイの中に）記憶してもよい。メディアガイドアプリケーションは、ユーザによって設定されるソースの記憶されたランクを読み出し、第１および第２のソースの個別のランクを決定してもよい。例えば、メディアガイドアプリケーションは、文字列「ｈｕｌｕ」によって識別されるＨＵＬＵ（登録商標）が、「５」のランキングと関連付けられることを決定してもよい。ＡＭＡＺＯＮ（登録商標）のランキングが「３」である場合、メディアガイドアプリケーションは、ユーザがＨＵＬＵ（登録商標）よりＡＭＡＺＯＮ（登録商標）を好むことを決定してもよく、下記でさらに説明されるように、選好に基づいて、２つのソースからの結果を生成する。
【０００７】
メディアガイドアプリケーションは、検索結果を伴う複数の行を備えるグリッドを表示するために生成する。例えば、メディアガイドアプリケーションは、第２のソースからの結果の上方に第１のソースからの結果を生成し、第１のソースから表示される結果に合致しない、第２のソースからの結果のみを表示してもよい。具体的には、メディアガイドアプリケーションは、第２のソースと比べて第１のソースの選好を示す、読み出されたユーザ選好に基づいて、第１の行内に第１のソースからの第１の検索結果を表示するために生成することを決定する。例えば、メディアガイドアプリケーションは、第１のソースからの結果を生成するための特定の場所（例えば、行）を決定してもよい。いくつかの実施形態では、行は、第２のソースからの結果が提示される、第２の行よりも画面の上部に近い行に位置してもよい。
【０００８】
メディアガイドアプリケーションは、第１の行に適合する第１の検索結果の第１のサブセットおよび第２の行に適合する第２の検索結果の第２のサブセットを決定し、第１のサブセットは、第１の検索結果のうちの第１の結果を含み、第２のサブセットは、第２の検索結果のうちの第３の結果ではなくて第２の結果を含む。例えば、メディアガイドアプリケーションは、第１の行および第２の行に適合する結果の数を決定してもよい。数は、一定であり得る（例えば、各行が、常に、３つの結果を含有する）、または結果の識別子の長さに基づいて変動し得る（例えば、多数の文字を伴う結果が、より多くの空間を占め、より少ない文字が、一度に表示されることができる）。いくつかの実施形態では、数は、第１の行および第２の行に関して異なり得る。例えば、ユーザ選好に基づいて好ましいことにより、より多くの結果が、第２の行よりも第１の行に関して表示されてもよい（例えば、第１の行が、より多くの表示空間を占め、２つの下位行内に結果を表示してもよい）。メディアガイドアプリケーションは、次いで、表示するために２つのソースからの受信された検索結果（例えば、第１および第２のサブセット）から適切な数の結果を選択してもよい。第１のサブセットは、第２のサブセットの中の第２の結果に合致する、第１の結果を含んでもよい。例えば、「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」は、第１および第２のサブセットの中に存在し得る。非重複結果をユーザに提示するために、メディアガイドアプリケーションは、下記でさらに説明されるように、第２の結果の代わりに、第１のサブセットの中の結果のうちの１つに合致しない、第２の検索結果のうちの第３の結果を選択してもよい。
【０００９】
メディアガイドアプリケーションは、第１の結果と関連付けられるメタデータを第２の結果と関連付けられるメタデータと比較する。例えば、メディアガイドアプリケーションは、ローカルで記憶装置または遠隔サーバから、結果と関連付けられるメタデータを読み出してもよい。メディアガイドアプリケーションは、代替として、または加えて、ソースから受信される結果と関連付けられるテーブルのフィールド内のメタデータを受信してもよい。メタデータは、結果と関連付けられるコンテンツを説明する結果に関連する任意のデータであってもよい。例えば、結果がニュース記事に関する場合、メタデータは、記事の著者、記事のタイプ（例えば、意見）、および／または出版物名（例えば、Ｎａｔｕｒｅ）を含んでもよい。メディアガイドアプリケーションは、２つの結果のメタデータの文字（例えば、属性）を反復して比較し、２つの結果が合致するかどうかを決定するためのプログラムスクリプトを実行してもよい。例えば、メディアガイドアプリケーションは、第１の結果と関連付けられる文字列「Ｍａｔｔ  Ｄａｍｏｎ」を、第２の結果と関連付けられる文字列「Ｍａｔｔ  Ｄｉｌｌｏｎ」と比較してもよい。
【００１０】
いくつかの実施形態では、メディアガイドアプリケーションは、データベースからメタデータを読み出し、読み出されたメタデータの文字を比較して、２つの結果が合致するかどうかを決定してもよい。具体的には、メディアガイドアプリケーションは、第１の結果の第１の識別子および第２の結果の第２の識別子を、データベースの中に記憶された複数の識別子と比較する。識別子は、結果と関連付けられるタイトル、ＵＲＬ、および／または数値（例えば、シリアルコード）等の結果を定義する文字の任意の組み合わせであってもよい。例えば、メディアガイドアプリケーションは、記憶装置の中にローカルで、または通信ネットワークを介して遠隔サーバにおいて記憶される、データベースにアクセスしてもよい。データベースは、第１のテーブルの中の複数の識別子がそれぞれ、識別子と関連付けられるメタデータを含有する別のテーブルへのポインタと関連付けられる、一連の複数のリンクされたテーブル（例えば、関係データベース）として編成されてもよい。例えば、メディアガイドアプリケーションは、第１および第２の識別子の文字を記憶された複数の識別子と比較してもよい。メディアガイドアプリケーションは、第１の記憶された識別子が第１の識別子に合致し、第２の記憶された識別子が第２の識別子に合致することを決定する。例えば、メディアガイドアプリケーションは、第１の記憶された識別子が第１の識別子に合致し、第２の記憶された識別子が第２の識別子に合致することを決定してもよい。メディアガイドアプリケーションは、次いで、第１の記憶された識別子および第２の記憶された識別子に対応するフィールド内のポインタに基づいて、適切なリンクされたテーブルにアクセスしてもよい。
【００１１】
メディアガイドアプリケーションは、第１の記憶された識別子と関連付けられる第１のフィールドから第１のメタデータおよび第２の記憶された識別子と関連付けられる第２のフィールドから第２のメタデータを読み出す。例えば、各記憶された識別子と関連付けられるメタデータを含有するテーブルは、より容易な比較のために、各テーブルの第１のフィールド内のメタデータが、常に、結果と関連付けられるタイトルであり、各テーブルの第２のフィールド内のメタデータが、常に、監督等であるように、構造化されてもよい（例えば、同一の属性のメタデータが、各記憶された値を別の識別子と関連付けられる全ての記憶された値と比較する必要なく、比較されることができる）。代替として、または加えて、テーブルは、メタデータを伴う各フィールドが、異なる識別子と関連付けられる対応するメタデータを比較するために使用され得る、「ＡＣＴＯＲ」等の標識と関連付けられるように、構造化されてもよい。メディアガイドアプリケーションは、第１の識別子（例えば、タイトル）と関連付けられる第１のフィールドからメタデータおよび第２の識別子（例えば、同様にタイトル）と関連付けられる第２のフィールドからメタデータを読み出してもよい。メディアガイドアプリケーションは、次いで、第１の結果と関連付けられる第１のメタデータの第１の文字を、第２の結果と関連付けられる第２のメタデータの第２の文字と比較する。例えば、メディアガイドアプリケーションは、（第１の識別子によって識別される）第１の結果と関連付けられる読み出された文字列の各文字を、（第２の識別子によって識別される）第２の結果と関連付けられる読み出された文字列の文字と比較してもよい。
【００１２】
メディアガイドアプリケーションは、比較に基づいて、第１の結果が第２の結果に合致することを決定する。例えば、メディアガイドアプリケーションは、第１の結果と関連付けられる具体的属性の各文字が、第２の結果と関連付けられる対応する属性の各文字に合致する場合、２つの結果が合致することを決定してもよい。例えば、２つの結果が、俳優「Ｍａｔｔ  Ｄａｍｏｎ」を指すメタデータを含有する場合、メディアガイドアプリケーションは、メタデータが合致し、したがって、２つの結果が合致することを決定してもよい。代替として、または加えて、メディアガイドアプリケーションは、第１の結果と関連付けられる全てのメタデータ（例えば、全ての属性）または閾値割合（例えば、５０％）が、第２の結果の対応するメタデータに合致するかどうかを決定してもよい。例えば、メディアガイドアプリケーションが、タイトル、監督、およびジャンル属性が２つの結果の間で合致することを決定する場合、メディアガイドアプリケーションは、２つの結果が、１つだけの属性が合致した場合よりも大きい信頼度を伴って合致することを決定してもよい。
【００１３】
いくつかの実施形態では、ある属性（例えば、タイトル）は、属性が結果の間でより明確に異なるため、２つの結果が合致するかどうかを決定する際に、さらに加重されてもよい。例えば、多くの結果が、「Ｍａｔｔ  Ｄａｍｏｎ」を指し得るため、俳優メタデータのみが合致した場合に誤検出合致が起こり得るが、複数の結果が「Ｔｈｅ  Ｂｏｕｒｎｅ  Ｉｄｅｎｔｉｔｙ」を指す可能性は低く、したがって、そのタイトルは、俳優よりも高く加重される。いくつかの実施形態では、閾値数の文字が第１の結果の属性と第２の結果の属性との間で合致する場合には、メディアガイドアプリケーションは、合致を決定してもよい。例えば、いくつかの事例では、スペルミスまたは他の誤植に起因して、単一の文字が、第１の結果と関連付けられるメタデータと第２の結果と関連付けられるメタデータとの間で異なり得る（例えば、「Ｔｏｍ  Ｈａｎｋｓ」および「Ｔｏｍ  Ｈａｎｋｚ」）。本状況では、閾値量の文字（例えば、１文字を除く全て）が合致する場合、メディアガイドアプリケーションは、第１および第２の結果と関連付けられるメタデータが合致することを決定してもよい。
【００１４】
いくつかの実施形態では、メディアガイドアプリケーションは、表示テンプレートに基づいて、第１および第２のサブセットに関して選択するための結果の数を決定してもよい。具体的には、メディアガイドアプリケーションは、グリッドのための表示テンプレートを読み出す。例えば、メディアガイドアプリケーションは、記憶装置からローカルで、または通信ネットワークを介してサーバから遠隔でのいずれかで、表示テンプレートを読み出してもよい。表示テンプレートは、異なる行内で複数のソースからの結果を表示するためのパラメータを含有する、クラスまたはテーブル等の任意の好適なデータ構造であってもよい。メディアガイドアプリケーションは、第１の行と関連付けられる表示テンプレートの第１のフィールドから、第１の行に適合する第１の数の結果に関して第１の値を読み出す。例えば、メディアガイドアプリケーションは、表示テンプレート内のフィールドから、第１の行内の結果の数に関して整数（例えば、「３」）を読み出してもよい。代替として、または加えて、メディアガイドアプリケーションは、第１の行の表示面積のサイズに対応する１つまたは複数の値を読み出し、第１の行に適合し得る結果の数を計算してもよい。メディアガイドアプリケーションは、第２の行と関連付けられる表示テンプレートの第２のフィールドから、第２の行に適合する第２の数の結果に関して第２の値を読み出す。第１の行に適合する結果の数の値と同様に、メディアガイドアプリケーションは、表示テンプレート内のフィールドから、第１の行内の結果の数に関して整数（例えば、「３」）を読み出してもよい。いくつかの実施形態では、第１の行に適合する結果の数は、第２の行に適合する結果の数と異なり得る。例えば、メディアガイドアプリケーションは、ユーザによって好まれるため、第１のソースからのより多数の結果を提示してもよい。
【００１５】
メディアガイドアプリケーションは、次いで、第１のサブセットとして、第１の検索結果から第１の数の結果を選択する。例えば、メディアガイドアプリケーションは、第１の検索結果から、第１の行に適合すると決定された結果の数を読み出してもよい（例えば、上記で議論されるように、第１のソースから受信される結果を含有するテーブルから、結果の識別子を読み出す）。メディアガイドアプリケーションは、第１の検索結果からの結果の数の識別子をリストまたは他のデータ構造に追加することによって、第１のサブセットを生成してもよい。メディアガイドアプリケーションは、第２のサブセットとして、第２の検索結果から第２の数の結果を選択する。例えば、メディアガイドアプリケーションは、第２の検索結果から、第２の行に適合すると決定された結果の数を読み出してもよい（例えば、上記で議論されるように、第２のソースから受信される結果を含有するテーブルから、結果の識別子を読み出す）。メディアガイドアプリケーションは、第２の検索結果からの結果の数の識別子をリストまたは他のデータ構造に追加することによって、第２のサブセットを生成してもよい。メディアガイドアプリケーションは、（例えば、各結果が表示テンプレート内でパラメータに従って表示されるように）第１および第２のサブセットの各識別子と関連付けられる付加的テキストおよび／またはグラフィックを読み出し、表示テンプレートのインスタンスにデータ投入してもよい。
【００１６】
いくつかの実施形態では、メディアガイドアプリケーションは、各ソースからの結果の関連性ランキングに基づいて、選択する結果を決定する。具体的には、メディアガイドアプリケーションは、ユーザ入力への各結果の関連性に基づいて、第１の検索結果の中の各結果および第２の検索結果の中の各結果をランク付けする。例えば、メディアガイドアプリケーションは、（例えば、ユーザが特定のリンクをクリックした回数に基づく）人気および／または文字合致（例えば、結果の文字に合致した、ユーザによって提出される検索クエリの文字の数）の観点から、すでにランク付けされている検索結果をソースから受信してもよい。本状況では、メディアガイドアプリケーションはさらに、ユーザ選好に基づいて、結果をランク付けしてもよい（例えば、これらの結果のユーザ選好に基づいて、ある結果を上昇させる）、または単純に、さらなるランク付けを伴わずに最高ランク付けされた結果を読み出してもよい。ソースから受信される結果がランク付けされておらず、ユーザのクエリへの類似性のみに基づいてランク付けされる場合、メディアガイドアプリケーションは、結果毎に、相対的人気を決定してもよい。例えば、メディアガイドアプリケーションは、各結果の識別子を、（記憶装置の中にローカルで、または遠隔サーバにおいてのいずれかで）データ構造の中に記憶された人気と比較してもよい。メディアガイドアプリケーションは、次いで、読み出された人気値に基づいて、ソースから受信される結果をランク付けしてもよい。例えば、人気値は、テレビ番組のニールセン視聴率であってもよい。
【００１７】
メディアガイドアプリケーションは、第１のサブセットの中の第１の結果として、第１の検索結果の中の最高ランク付けされた結果を読み出す。例えば、メディアガイドアプリケーションは、第１の結果として、ランク付けされた第１の検索結果のうちの最高ランク付けされた結果を読み出してもよい。メディアガイドアプリケーションは、第１の検索結果から次の最高ランク付けされた結果を読み出すことによって、（例えば、上記で議論されるように）第１の行に適合する結果の数を読み出し続けてもよい。メディアガイドアプリケーションは、第２のサブセットの中の第２の結果として、第２の検索結果の中の最高ランク付けされた結果を読み出す。例えば、メディアガイドアプリケーションは、第２の結果として、第２の検索結果のうちの最高ランク付けされた結果を読み出してもよい。メディアガイドアプリケーションは、第２の検索結果から次の最高ランク付けされた結果を読み出すことによって、（例えば、上記で議論されるように）第２の行に適合する結果の数を読み出し続けてもよい。
【００１８】
メディアガイドアプリケーションは、第１の結果が第２の結果に合致すると決定することに応答して、第２のサブセットの中の第２の結果を第３の結果と置換することによって、第２のサブセットを修正する。例えば、２つの結果が同時に表示されるものである（例えば、それらが第１および第２のサブセットの中にある）と決定することに応じて、メディアガイドアプリケーションは、ユーザが好まないソースの結果を別の結果と置換する。例えば、「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」が、第１および第２のソースの両方からの結果であり、第１および第２のサブセットの中にある場合、第２のサブセットの中の結果は、別の結果と置換されてもよい。下記でさらに議論されるように、第２の結果に取って代わる結果は、ユーザ選好に基づく、または第２のソースからの検索結果の中の各結果のランキングに基づいてもよい。
【００１９】
いくつかの実施形態では、メディアガイドアプリケーションは、第２の結果を次の最高ランク付けされた結果と置換することによって、第２のサブセットを修正する。具体的には、メディアガイドアプリケーションは、第３の結果として、第２のサブセットの中にない次の最高ランク付けされた結果を読み出す。例えば、メディアガイドアプリケーションは、第２のサブセットの一部ではない最高ランク付けされた結果である、ランク付けされた結果のリスト（例えば、検索結果のソースから受信されるか、または上記で議論されるようにメディアガイドアプリケーションによって生成されるかのいずれかである）から結果を読み出してもよい。メディアガイドアプリケーションはさらに、（例えば、上記で議論されるようにメタデータを比較することによって）読み出された次の最高ランク付けされた結果が第１のサブセットの中の結果に合致するかどうかを決定してもよい。例えば、メディアガイドアプリケーションが、次の最高ランク付けされた結果が第１のサブセットの中の結果に合致することを決定する場合、メディアガイドアプリケーションは、結果が第１のサブセットのうちの１つに合致しなくなるまで、別の結果（例えば、ランク付けされたリスト上でより低い１つの結果）を読み出してもよい。
【００２０】
メディアガイドアプリケーションは、第２のサブセットから第２の結果を除去してもよい。例えば、メディアガイドアプリケーションは、第２のサブセットの識別子を記憶するリストまたは他のデータ構造から、第２の結果と関連付けられる識別子を除去してもよい。メディアガイドアプリケーションは、次いで、第３の結果を第２のサブセットに追加してもよい。例えば、メディアガイドアプリケーションは、次の最高ランク付けされた結果の識別子（第１のサブセットの中の結果のうちのいずれにも合致しない）をリストまたは他のデータ構造に追加してもよい。メディアガイドアプリケーションは、識別子を、除去された第２の結果の識別子によって前もってデータ投入された同一のフィールドに追加してもよい、または（例えば、人気に基づいて）識別子を並べ替えてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、識別子が行内でユーザに提示される順序として、リストまたは他のデータ構造の中に記憶された識別子の順序を使用する。
【００２１】
いくつかの実施形態では、メディアガイドアプリケーションは、第２の結果をユーザ選好に合致する結果と置換することによって、第２のサブセットを修正する。具体的には、メディアガイドアプリケーションは、検索結果の属性に関して第２のユーザ選好を読み出す。例えば、メディアガイドアプリケーションは、複数のユーザ選好を含有するユーザプロファイルを読み出してもよい。メディアガイドアプリケーションは、ユーザプロファイルから選好を読み出してもよい。例えば、メディアガイドアプリケーションは、ユーザが俳優「Ｍａｔｔ  Ｄａｍｏｎ」を含む映画を享受することを読み出してもよい。メディアガイドアプリケーションは、読み出されたユーザ選好を、ソースからの検索結果のうちの各結果と関連付けられるメタデータと比較してもよい。例えば、メディアガイドアプリケーションは、ローカル記憶装置または遠隔サーバから結果と関連付けられるメタデータを読み出してもよい。
【００２２】
メディアガイドアプリケーションは、次いで、結果毎に、（例えば、文字比較に基づいて）ユーザ選好が各結果と関連付けられるメタデータに合致するかどうかを決定してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、ユーザプロファイル内の全てのユーザ選好を、結果と関連付けられるメタデータと比較し、各結果と関連付けられるメタデータに合致するユーザ選好の数に基づいて、結果をランク付けする。例えば、結果の俳優およびジャンルの両方がユーザ選好に合致する場合、結果は、別の結果よりも高くランク付けされてもよく、結果と関連付けられる俳優のみが、ユーザ選好に合致する。いくつかの実施形態では、メディアガイドアプリケーションは、第２の結果と置換する結果を決定するときに、（例えば、ユーザプロファイルの中に記憶されたインジケーションに基づいて）あるユーザ選好をより高く加重してもよい。例えば、メディアガイドアプリケーションは、ユーザがそのように指定することに基づいて、「アクション映画」に関する読み出されたユーザ選好がユーザにとって「低い選好」であることを決定してもよい。対照的に、メディアガイドアプリケーションは、「Ｍａｔｔ  Ｄａｍｏｎ」に関する読み出されたユーザ選好がユーザにとって「高い選好」であることを決定してもよい。
【００２３】
メディアガイドアプリケーションは、第３の結果の属性が第２のユーザ選好に合致すると決定することに応答して、第２のサブセットから第２の結果を除去する。例えば、メディアガイドアプリケーションは、第２のサブセットの識別子を記憶するリストまたは他のデータ構造から、第２の結果と関連付けられる識別子を除去してもよい。メディアガイドアプリケーションは、次いで、第３の結果を第２のサブセットに追加してもよい。例えば、メディアガイドアプリケーションは、ユーザ選好に合致する（または最も密接に合致する）結果の識別子をリストまたは他のデータ構造に追加してもよい。メディアガイドアプリケーションは、識別子を、除去された第２の結果の識別子によって前もってデータ投入された同一のフィールドに追加してもよい、または（例えば、人気に基づいて）識別子を並べ替えてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、識別子が行内でユーザに提示される順序として、リストまたは他のデータ構造の中に記憶された識別子の順序を使用する。
【００２４】
メディアガイドアプリケーションは、第１の行内の第１のサブセットおよび第２の行内の修正された第２のサブセットを表示するために生成する。例えば、メディアガイドアプリケーションは、第１の行内で第１のサブセットの中の各結果の識別子を生成してもよい。具体的実施例として、識別子は、各結果を識別するテキストまたはグラフィックであってもよい。メディアガイドアプリケーションは、ソースから識別子を受信してもよい、またはローカル記憶装置または遠隔サーバからそれらを読み出してもよい。メディアガイドアプリケーションは、同様に、第２の行内で（例えば、第３の結果が第２の結果に取って代わっている）修正された第２のサブセットの中の各結果の識別子を生成してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、より多くの結果が利用可能であるというインジケーション（例えば、横向きに指し示す矢印）を生成する。矢印のユーザ選択を受信することに応答して、メディアガイドアプリケーションは、矢印が選択されたソースのみに関して（例えば、ＡＭＡＺＯＮ（登録商標）からのより多くの結果が、現在の結果に取って代わって表示される）、または全ての表示されたソースに関して（例えば、ＡＭＡＺＯＮ（登録商標）およびＨＵＬＵ（登録商標）からのより多くの結果が、現在の結果に取って代わって表示される）のいずれかで、新しいサブセットを生成してもよい。（例えば、より多くの結果を閲覧するためのユーザ入力に基づいて）表示されるサブセットの中の結果が変化する度に、メディアガイドアプリケーションは、上記で説明されるように、より低い行内の任意の結果が、より高い行内の結果に合致するかどうかを決定し、これらの結果を置換する。
【００２５】
いくつかの実施形態では、メディアガイドアプリケーションは、第１および第２のソースから受信される重複結果の総数を決定し、数をユーザに表示する。具体的には、メディアガイドアプリケーションは、第１の検索結果のうちの各結果を第２の検索結果のうちの各結果と比較する。例えば、メディアガイドアプリケーションは、第１の検索結果のうちの各結果と関連付けられるメタデータを、第２のソースから受信される各検索結果のメタデータと比較してもよい。例えば、メディアガイドアプリケーションは、ｆｏｒループを利用するプログラムを実行し、第１のソースからの各結果を第２のソースからの各結果と反復して比較してもよい。メディアガイドアプリケーションは、次いで、第１の検索結果のうちの各結果を第２の検索結果のうちの各結果と比較することに基づいて、第１の検索結果と第２の検索結果との間の重複結果の数を決定する。例えば、メディアガイドアプリケーションは、カウンタを初期化し、第１のソースからの全ての結果が第２のソースからの検索結果と比較されるまで、合致が第１のソースからの結果と第２のソースからの結果との間で決定される度に、カウンタをインクリメントしてもよい。上記で議論されるように、メディアガイドアプリケーションは、２つの検索結果と関連付けられる閾値割合のメタデータが合致する場合に、合致を決定してもよい。メディアガイドアプリケーションは、次いで、第２の行内に重複結果の数のインジケーションを表示するために生成する。例えば、メディアガイドアプリケーションは、第１の行または第２の行内に重複の総数（例えば、「３０」）の値を伴って、テキストを表示するために生成してもよい。インジケーションは、随意に、重複が指すソースを明確にするテキストを含有してもよい。例えば、ＡＭＡＺＯＮ（登録商標）が第１の行のためのソースであり、ＨＵＬＵ（登録商標）が第２の行のためのソースである場合、メディアガイドアプリケーションは、第２の行内にテキスト「Ａｍａｚｏｎとの３０個の重複ソース」を生成してもよい。
【００２６】
いくつかの実施形態では、メディアガイドアプリケーションは、結果のユーザ選択を受信することに応じて、同一の結果を返した他のソースを表示してもよい。具体的には、メディアガイドアプリケーションは、第１の結果のユーザ選択を受信する。例えば、メディアガイドアプリケーションは、リモートコントロールまたはタッチスクリーンインターフェース等のユーザ入力インターフェースを介して、グリッド上に表示される特定の結果の選択を受信してもよい。具体的実施例として、メディアガイドアプリケーションは、第１の行（例えば、ユーザの最も好ましいソース）内の「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」に関する結果がユーザによって選択されていることを決定してもよい。メディアガイドアプリケーションは、上記で議論されるように、選択された結果と関連付けられるメタデータを他のソースからの結果と比較することによって、「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」に関する結果が受信された、他のソースを決定してもよい。例えば、メディアガイドアプリケーションは、（第２のソースからの）第２の結果が（例えば、第１のソースからの）第１の結果に合致し、第１のソースがユーザによって選択されることを決定してもよい。メディアガイドアプリケーションは、ユーザ選択を受信することに応答して、第１の結果が第２のソースからも利用可能であるというインジケーションを表示するために生成する。例えば、第１および第２の検索結果の両方が「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」に関する結果を含む場合、ユーザが第１の検索結果を含有する第１の行内で「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」結果を選択することに応じて、メディアガイドアプリケーションは、結果が第２のソースによっても返されたというインジケーションを表示するために生成してもよい。具体的実施例として、メディアガイドアプリケーションは、テキスト「本結果はＨｕｌｕによっても返されました」を表示するために生成してもよい。このようにして、メディアガイドアプリケーションは、各行内で同一の結果を示す必要なく、結果が利用可能である代替的ソースをユーザに提供してもよい。
【００２７】
いくつかの実施形態では、メディアガイドアプリケーションは、第１のソースの代わりに第２のソースの選好を表す要求をユーザから受信し、メディアガイドアプリケーションは、第２のサブセットの代わりに第１のサブセットから、第１のサブセットと第２のサブセットとの間の重複結果を置換する。具体的には、メディアガイドアプリケーションは、第１のソースと比べて第２のソースの第２の選好を示す、第２のユーザ入力を受信してもよい。例えば、メディアガイドアプリケーションは、表示するために第１および第２の結果からの検索結果を用いてグリッドを生成するとき、１つのソースからの結果を伴う行を別のソースからの結果を伴う別の行と交換するための選択可能なオプション（例えば、矢印）を含んでもよい。メディアガイドアプリケーションは、選択可能なオプションのうちの１つのユーザ選択を受信し、第１のソースからの結果を伴う第１の行の上方に第２のソースからの結果を伴う第２の行を上昇させてもよい。例えば、ユーザは、（例えば、リモートコントロール等のユーザ入力インターフェースを介して）上向きに指し示す矢印グラフィックを選択してもよく、メディアガイドアプリケーションは、（例えば、第１の行が第２の行の直ぐ上方にある場合）ユーザ選択が第１および第２の行を交換する要求であることを決定してもよい。メディアガイドアプリケーションは、２つのソースからの検索結果を用いて将来のグリッドを生成するときに使用するために、第１のソースと比べて第２のソースの新しいユーザ選好を（例えば、ユーザプロファイルの中に）記憶してもよい。
【００２８】
メディアガイドアプリケーションは、第２のユーザ入力を受信することに応答して、第１および第２の検索結果が表示される行を交換し、あまり好ましくないソース（例えば、第１のソース）からの重複がより好ましいソース（例えば、第２のソース）とともに存在するかどうかを決定する。具体的には、メディアガイドアプリケーションは、修正された第２のサブセットの中の第３の結果を第２の結果と置換することによって、第２の検索結果の第３のサブセットを生成する。例えば、第２のソースが第１のソースと比べて好ましいので、第２のソースからの結果が好ましい。したがって、（例えば、「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」に関する）第２の結果は、表示するために結果の新しい第３のサブセットを作成するように、第２のサブセットの中に戻るように追加されてもよい。メディアガイドアプリケーションは、第３のサブセットの一部である各結果の識別子を用いて新しいリストまたは他のデータ構造を生成する、または第２のサブセットのために既存のリストまたは他のデータ構造を修正してもよい。いくつかの実施形態では、第２の結果は、第３の結果に取って代わる。他の実施形態では、前もってサブセットの中にあった別の結果が、除去され、第２および第３の結果の両方が、第３のサブセットの中にある。
【００２９】
メディアガイドアプリケーションは、第１のサブセットの中の第１の結果を第１の検索結果のうちの第４の結果と置換することによって、第１の検索結果の第４のサブセットを生成し、第４の結果は、第１のサブセットの中にはない。例えば、第２のソースが第１のソースと比べて好ましいので、第２のソースの結果に合致する第１のソースからの結果は、他の結果と置換される必要がある。したがって、（例えば、「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」に関する）第１の結果は、（例えば、上記で議論されるようにメタデータを比較することに基づいて）第３のサブセットの中の結果のうちのいずれにも合致しない、第１の結果のうちの第４の結果と置換されてもよい。メディアガイドアプリケーションは、第４のサブセットの一部である各結果の識別子を用いて新しいリストまたは他のデータ構造を生成する、または第１のサブセットのために既存のリストまたは他のデータ構造を修正してもよい。メディアガイドアプリケーションは、次いで、第１のサブセットの代わりに第１の行内の第３のサブセットおよび修正された第２のサブセットの代わりに第２の行内の第４のサブセットを表示するために生成する。例えば、メディアガイドアプリケーションは、第１の行内の第３のサブセットのうちの各結果および第２の行内の第４のサブセットのうちの各結果と関連付けられるインジケータ（例えば、テキストおよび／またはグラフィック）を生成してもよい。このようにして、重複結果は、依然として提示されないが、ここでは、第２のソースが第１のソースと比べて好ましいため、重複結果は、第２の結果ではなくて第１の結果から置換される。
【００３０】
いくつかの実施形態では、結果は、メディアアセットを識別し、メディアガイドアプリケーションは、メディアアセットに関連するアクションを実施するための選択可能なオプションを提示する。具体的には、メディアガイドアプリケーションは、第１の結果のユーザ選択を受信する。例えば、メディアガイドアプリケーションは、リモートコントロールまたはタッチスクリーンインターフェース等のユーザ入力インターフェースを介して、グリッド上に表示される特定の結果の選択を受信してもよい。具体的実施例として、メディアガイドアプリケーションは、第１の行（例えば、ユーザの最も好ましいソース）内の「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」に関する結果がユーザによって選択されていることを決定してもよい。メディアガイドアプリケーションは、ユーザ選択を受信することに応答して、メディアアセットと関連付けられる複数の選択可能なオプションを表示するために生成する。複数のオプションは、メディアアセットを鑑賞リストに追加するためのオプションを含んでもよい。例えば、ユーザによるメディアアセットを鑑賞リストに追加するためのオプションの選択に応じて、メディアガイドアプリケーションは、ユーザがある将来の時間に鑑賞することを所望するメディアアセットの識別子を含むデータ構造の中にメディアアセットと関連付けられる識別子を記憶してもよい。
【００３１】
複数のオプションは、メディアアセットをお気に入りリストに追加するためのオプションを含んでもよい。例えば、ユーザによるメディアアセットをお気に入りリストに追加するためのオプションの選択に応じて、メディアガイドアプリケーションは、ユーザが好むメディアアセットの識別子を含むデータ構造の中にメディアアセットと関連付けられる識別子を記憶してもよい。いくつかの実施形態では、お気に入りリストは、上記で議論されるように、重複結果と置換する結果を決定するときに、特定の結果に関してユーザ選好を決定するために使用されてもよい。複数のオプションは、メディアアセットが利用可能になる次回の時間を閲覧するためのオプションを含んでもよい。例えば、ユーザによるメディアアセットが利用可能になる次回の時間を閲覧するためのオプションの選択に応じて、メディアガイドアプリケーションは、メディアアセットが利用可能である時間およびソースに関して、（例えば、記憶装置の中にローカルで、または遠隔サーバにおいて記憶された）メディアガイドデータベースにクエリを行ってもよい。メディアガイドアプリケーションは、次いで、メディアアセットが利用可能である時間およびソースを表示するために生成してもよい。
【００３２】
複数のオプションは、メディアアセットを録画するためのオプションを含んでもよい。例えば、ユーザによるメディアアセットを録画するためのオプションの選択に応じて、メディアガイドアプリケーションは、メディアアセットがある時間周期中にソースから利用可能であるかどうかを決定してもよい。メディアアセットが利用可能である場合、メディアガイドアプリケーションは、（例えば、メディアアセットの識別子およびメディアアセットが利用可能であるソースおよび時間をスケジューリングデータ構造に追加することによって）録画をスケジュールしてもよい。メディアアセットが利用可能ではない場合、メディアガイドアプリケーションは、上記で議論されるように、メディアアセットを鑑賞リストに追加してもよい。
【００３３】
説明されるシステムおよび方法は、ユーザ選好に基づいて、異なる行内の異なるソースからの検索結果を提示し、あまり好ましくないソースがより好ましいソースとの重複を表示しないことを確実にすることができる。従来のシステムは、結果のソースによって編成される、異なるソースからの結果を提示してもよい。しかしながら、本プロセスは、それらの個別のソースに基づいて結果を順序付けるときにユーザ選好を無視する。さらに、従来のシステムは、（ユーザの選好に基づく）より低くランク付けされたソースが、より高くランク付けされたソースとの重複結果を含有することを決定せず、故に、異なる結果を提示する。説明されるシステムおよび方法は、重複を考慮および除去することによって、所与の表示画面上に提示され得る一意の結果の数を最大限にすることができる。
【００３４】
上記に説明されるシステムおよび／または方法は、本開示に説明される他のシステム、方法、および／または装置に適用される、またはそれに従って使用され得ることに留意されたい。
【図面の簡単な説明】
【００３５】
本開示の上記および他の目的および利点は、同様の参照文字が全体を通して同様の部分を指す、添付の図面と併せて考慮される、以下の発明を実施するための形態の検討から明白となるであろう。
【００３６】
【図１】図１は、本開示のいくつかの実施形態による、グリッド内に複数のソースからの検索結果を示す、表示の例証的実施例を示す。
【００３７】
【図２】図２は、本開示のいくつかの実施形態による、異なるソースからの検索結果を含有するデータ構造の例証的描写を示す。
【００３８】
【図３】図３は、本開示のいくつかの実施形態による、グリッド内に複数のソースからの検索結果を示す、別の例証的表示を示す。
【００３９】
【図４】図４は、本開示のいくつかの実施形態による、メディアコンテンツにアクセスする際に使用するための表示画面の例証的実施例を示す。
【００４０】
【図５】図５は、本開示のいくつかの実施形態による、メディアコンテンツにアクセスするために使用される表示画面の別の例証的実施例を示す。
【００４１】
【図６】図６は、本開示のいくつかの実施形態による、例証的ユーザ機器デバイスのブロック図である。
【００４２】
【図７】図７は、本開示のいくつかの実施形態による、例証的メディアシステムのブロック図である。
【００４３】
【図８】図８は、本開示のいくつかの実施形態による、複数のソースからの検索結果を提示するための例証的ステップのフローチャートである。
【００４４】
【図９】図９は、本開示のいくつかの実施形態による、ユーザ選好に基づいて、ユーザが第２のソースと比べて第１のソースを好むことを決定するための例証的ステップのフローチャートである。
【００４５】
【図１０】図１０は、本開示のいくつかの実施形態による、表示する結果のサブセットを決定するための例証的ステップのフローチャートである。
【００４６】
【図１１】図１１は、本開示のいくつかの実施形態による、第１のソースからの第１の結果および第２のソースからの第２の結果が合致するかどうかを決定するための例証的ステップのフローチャートである。
【００４７】
【図１２】図１２は、本開示のいくつかの実施形態による、複数のソースからの検索結果を提示するための例証的ステップの別のフローチャートである。
【発明を実施するための形態】
【００４８】
システムおよび方法が、結果が受信されるソースをランク付けし、より低くランク付けされたソースからの重複結果を提示しないことによって、複数のソースからの検索結果を提示するために説明される。例えば、第１のソースおよび第２のソースからの結果が、受信され得る。第１のソースからの結果は、ユーザが第２のソースと比べて第１のソースの選好を有する（例えば、ユーザがＨＢＯよりもＡＭＡＺＯＮ（登録商標）を好む）ことに応答して、第２のソースからの結果よりも画面の上部に近い行内に提示され得る。本システムは、次いで、（例えば、２つの結果のメタデータを比較することによって）ＡＭＡＺＯＮ（登録商標）に関して表示されるであろう結果が、ＨＢＯに関して表示されるであろう結果に合致するかどうかを決定する。２つの結果が合致する場合、結果は、より高くランク付けされたソース（例えば、ＡＭＡＺＯＮ（登録商標））に関してのみ提示され、別の結果は、第１の行内の表示された結果のうちのいずれにも合致しない第２の行内に提示される。このようにして、ユーザは、異なるソースから利用可能であるときに、同一の結果を複数回提示することとは対照的に、全て異なる検索結果を提供される。
【００４９】
図１は、本開示のいくつかの実施形態による、グリッド内に複数のソースからの検索結果を示す、表示の例証的実施例を示す。例えば、表示１００は、ユーザクエリ１０２に関する検索結果を表示するためにメディアガイドアプリケーションを実行する、ユーザ機器に結合されてもよい。ユーザクエリ１０２は、表示１００を表示する同一のユーザ機器または他のユーザ機器に結合されるユーザ入力インターフェースを介して、受信されてもよい。表示１００は、ソース１０４および１０６、および付加的ソース１０８のための行を備える、グリッドを含む。ソース（例えば、ソース１０４またはソース１０６）のための各行は、ソースからの結果のサブセットを含有する。例えば、結果１１２、１１４、および１１６は、ソース１０４から表示され、結果１１８、１２０、および１２２は、ソース１０６から示される。ソース１０４およびソース１０６は、下記で議論されるように、同一の結果を含んでもよい（例えば、結果１１２は、両方のソースから表示されるサブセットの一部である）。応答して、メディアガイドアプリケーションは、ユーザがあまり好まないソースから（例えば、ソース１０６から）重複結果を除去してもよい。
【００５０】
表示１００は、ユーザ選好に基づいて（例えば、上から下に）順序付けられるソースを含んでもよい。例えば、ユーザプロファイルの中に記憶されたユーザ選好が、ソース１０４がソース１０６よりも好ましいことを示す場合、メディアガイドアプリケーションは、表示１００内のソース１０６の上方にソース１０４を生成してもよい。表示１００は、それぞれ、ソース１０４および１０６から関連付けられる付加的結果を表示するための矢印１２４および１３０を含んでもよい。表示１００は、ソースを並べ替えるための矢印１２６および１２８を含んでもよい。例えば、矢印１２６または１２８のうちの１つの選択に応じて、メディアガイドアプリケーションは、表示１００上に提示されるソースを並べ替えてもよい（例えば、ソース１０６は、第１の行であってもよく、ソース１０４は、第２の行であってもよい）。表示１００は、１つ以上のユーザデバイス（例えば、下記の図６−７に列挙されるデバイスのうちのいずれか）上に出現してもよい。また、メディアガイドアプリケーションは、図８−１２に説明されるプロセスのうちの１つ以上のものを使用し、表示１００または本明細書に説明される特徴のうちのいずれかを生成してもよい。
【００５１】
いくつかの実施形態では、メディアガイドアプリケーションは、ユーザ入力を受信する。例えば、メディアガイドアプリケーションは、ユーザ入力インターフェース（例えば、リモートコントロールまたはタッチスクリーンインターフェース）を介して、ユーザ入力を受信してもよい。ユーザ入力は、１つまたは複数の英数字または他の文字の列（例えば、「Ｂｉｇ」）であってもよい。代替として、または加えて、ユーザ入力は、共通検索クエリを用いて複数の選択可能なオプションのうちの１つを選択することであってもよい。例えば、メディアガイドアプリケーションは、ユーザが選択するための選択可能なオプションとして、最も一般的に検索されるキーワードを提示し、ユーザが文字を入力する必要があり得る時間を節約してもよい。
【００５２】
メディアガイドアプリケーションは、ユーザ入力に基づいて、第１のソースおよび第２のソースからの結果を検索する。例えば、メディアガイドアプリケーションは、ユーザ入力（例えば、ユーザクエリ１０２）を第１のソースおよび第２のソース（例えば、ソース１０４および１０６）に伝送してもよい。例えば、メディアガイドアプリケーションは、検索のためのユーザ入力（例えば、文字列）および／または他のパラメータ（例えば、結果がある時間周期中にあるべきである）を含む、データパケットを生成してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、ソースの一方または両方（例えば、ソース１０４および１０６の一方または両方）からのＡＰＩを利用し、（例えば、ユーザ入力に基づいて）検索クエリを伝送してもよい。メディアガイドアプリケーションは、具体的ソースのユーザ選好（例えば、ユーザプロファイルの中の記憶されたユーザ選好）に基づいて、ユーザ入力を伝送するためのソース（例えば、ソース１０４および１０６）を決定してもよい。例えば、ユーザは、検索クエリがソースの特定のセット（例えば、ソース１０４および１０６）に送信されるべきであるという選択を記憶してもよい。代替として、または加えて、メディアガイドアプリケーションは、ユーザ入力時にグラフィカルユーザインターフェースを生成し、ユーザがソース（例えば、ソース１０４および１０６）を選択することを可能にしてもよい。例えば、メディアガイドアプリケーションは、ユーザが、ソースが結果を検索するための文字列（例えば、ユーザクエリ１０２）および一連の選択可能なオプションを入力し得る、フィールドを生成してもよい。
【００５３】
本明細書で参照されるように、「結果」は、ユーザからの入力に関連または合致するデータとして理解されるはずである。例えば、データは、ウェブページへのＵＲＬまたはメディアアセットが記憶される記憶装置内の場所へのリンク等のデータの場所へのリンクであってもよい。別の実施例として、データは、ユーザ入力に合致するテキストまたはグラフィックであってもよい（例えば、ユーザ入力が「オレンジ」である場合、果物の画像が結果であってもよい）。本明細書で参照されるように、「検索結果」は、ソースから受信される１つ以上の結果として理解されるはずである。例えば、ユーザ入力に基づいて結果に関してクエリを行われるソースは、複数の結果（例えば、異なるＵＲＬへのリンク、記憶装置内の異なる場所へのポインタ、グラフィック等）を返してもよい。
【００５４】
メディアガイドアプリケーションは、第１のソースから第１の検索結果および第２のソースから第２の検索結果を受信する。例えば、メディアガイドアプリケーションは、両方のソース（例えば、ソース１０４および１０６）からのユーザ入力（例えば、ユーザクエリ１０２）に合致する、複数の結果を受信してもよい。各ソース（例えば、ソース１０４および１０６）からの結果は、各テーブルが、合致する結果の識別子（例えば、メディアアセットのタイトル）および関連付けられるフィールド内の付加的情報（例えば、メディアアセットの中の俳優）をそれぞれ伴う、複数の行を含有する、別個のテーブルの中で受信されてもよい。いくつかの実施形態では、結果は、図２および１０に関して下記でさらに説明されるように、人気に従ってランク付けされてもよい。代替として、または加えて、結果は、図２および１０に関して下記でさらに説明されるように、ユーザ入力への関連性に従ってランク付けされてもよい。例えば、「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」が最も人気のある結果（例えば、多くのユーザがそれをクリックする）であるにもかかわらず、ユーザ入力が「Ｂａｎｇ」であるため、Ｍｉｌｅｙ  Ｃｙｒｕｓによるアルバムである、結果「Ｂａｎｇｅｒｚ」は、第１の言葉がクエリに合致されるため、より高くランク付けされてもよい。代替として、または加えて、メディアガイドアプリケーションは、上記で議論される要因の任意の組み合わせに基づいて、およびユーザ選好に基づいて、結果を並べ替えてもよい。例えば、メディアガイドアプリケーションが、ユーザが所与の俳優が出演する映画を好むというユーザ選好を読み出す場合、その俳優を伴う結果が、ランキングの中で上昇されてもよい。
【００５５】
メディアガイドアプリケーションは、第２のソースと比べて第１のソースの選好を示す、ユーザ選好を読み出す。例えば、メディアガイドアプリケーションは、ローカルで、またはサーバにおいて遠隔に記憶されたユーザプロファイルを読み出してもよい。メディアガイドアプリケーションは、ユーザプロファイルから検索選好を読み出してもよい。例えば、メディアガイドアプリケーションは、ユーザによって設定されるソース（例えば、ソース１０４および１０６）のランキングを記憶してもよい。具体的実施例として、メディアガイドアプリケーションは、ユーザが、ソース（例えば、ソース１０４および１０６）を特定の順序にドラッグアンドドロップし、その選好を反映し得る、グラフィカルユーザインターフェースを生成してもよい。メディアガイドアプリケーションは、次いで、ランクおよび各ソース（例えば、ソース１０４および１０６）の識別子を（例えば、アレイの中に）記憶してもよい。メディアガイドアプリケーションは、ユーザによって設定されるソース（例えば、ソース１０４および１０６）の記憶されたランクを読み出し、第１および第２のソースの個別のランクを決定してもよい。例えば、メディアガイドアプリケーションは、文字列「ｈｕｌｕ」によって識別されるＨＵＬＵ（登録商標）が、「５」のランキングと関連付けられることを決定してもよい。ＡＭＡＺＯＮ（登録商標）のランキングが「３」である場合、メディアガイドアプリケーションは、ユーザがＨＵＬＵ（登録商標）よりＡＭＡＺＯＮ（登録商標）を好むことを決定してもよく、下記でさらに説明されるように、グリッド（例えば、表示１００）内の選好に基づいて、２つのソースからの結果を生成する。
【００５６】
メディアガイドアプリケーションは、検索結果を伴う複数の行を備えるグリッドを表示するために生成する。例えば、メディアガイドアプリケーションは、第２のソース（例えば、ソース１０６）からの結果の上方に第１のソース（例えば、ソース１０４）からの結果を生成し、第１のソースから表示される結果に合致しない、第２のソースからの結果のみを表示してもよい。具体的には、メディアガイドアプリケーションは、第２のソースと比べて第１のソースの選好を示す、読み出されたユーザ選好に基づいて、第１の行内に第１のソースからの第１の検索結果を表示するために生成することを決定する。例えば、メディアガイドアプリケーションは、第１のソース（例えば、ソース１０４）からの結果（例えば、結果１１２、１１４、および１１６）を生成するための特定の場所（例えば、行）を決定してもよい。いくつかの実施形態では、行は、第２のソースからの結果が提示される、第２の行よりも画面（例えば、表示１００）の上部に近い行に位置してもよい。
【００５７】
メディアガイドアプリケーションは、第１の行に適合する第１の検索結果の第１のサブセットおよび第２の行に適合する第２の検索結果の第２のサブセットを決定し、第１のサブセットは、第１の検索結果のうちの第１の結果を含み、第２のサブセットは、第２の検索結果のうちの第３の結果ではなくて第２の結果を含む。例えば、メディアガイドアプリケーションは、第１の行および第２の行に適合する結果の数を決定してもよい。数は、一定であり得る（例えば、各行が、常に、３つの結果を含有する）、または結果の識別子の長さに基づいて変動し得る（例えば、多数の文字を伴う結果が、より多くの空間を占め、より少ない文字が、一度に表示されることができる）。いくつかの実施形態では、数は、第１の行および第２の行に関して異なり得る。例えば、ユーザ選好に基づいて好ましい（例えば、ソース１０４がソース１０６と比べて好ましい）ことにより、より多くの結果が、第２の行よりも第１の行に関して表示されてもよい（例えば、第１の行が、より多くの表示空間を占め、２つの下位行内に結果を表示してもよい）。メディアガイドアプリケーションは、次いで、表示するために２つのソースからの受信された検索結果から適切な数の結果を選択してもよい（例えば、結果１１２、１１４、および１１６が、ソース１０４から受信される結果から選択される）。第１のサブセットは、第２のサブセットの中の第２の結果に合致する、第１の結果を含んでもよい。例えば、「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」（例えば、結果１１２）は、第１および第２のサブセットの中に存在し得る（例えば、ソース１０４および１０６からの選択された結果は両方とも、同一の結果を含む）。非重複結果をユーザに提示するために、メディアガイドアプリケーションは、下記でさらに説明されるように、第２の結果の代わりに、第１のサブセットの中の結果のうちの１つに合致しない（例えば、結果１１２、１１４、または１１６に合致しない）、第２の検索結果のうちの第３の結果を選択してもよい。
【００５８】
メディアガイドアプリケーションは、第１の結果と関連付けられるメタデータを第２の結果と関連付けられるメタデータと比較する。例えば、メディアガイドアプリケーションは、ローカルで記憶装置または遠隔サーバから、結果（例えば、結果１１２）と関連付けられるメタデータを読み出してもよい。メディアガイドアプリケーションは、代替として、または加えて、ソース（例えば、ソース１０４）から受信される結果と関連付けられるテーブルのフィールド内のメタデータを受信してもよい。メタデータは、結果と関連付けられるコンテンツを説明する結果に関連する任意のデータであってもよい。例えば、結果がニュース記事に関する場合、メタデータは、記事の著者、記事のタイプ（例えば、意見）、および／または出版物名（例えば、Ｎａｔｕｒｅ）を含んでもよい。メディアガイドアプリケーションは、２つの結果のメタデータの文字（例えば、属性）を反復して比較し、２つの結果が合致するかどうかを決定する（例えば、ソース１０４からの結果１１２およびソース１０６からの結果１１８が比較される）ためのプログラムスクリプトを実行してもよい。例えば、メディアガイドアプリケーションは、第１の結果と関連付けられる文字列「Ｍａｔｔ  Ｄａｍｏｎ」を、第２の結果と関連付けられる文字列「Ｍａｔｔ  Ｄｉｌｌｏｎ」と比較してもよい。
【００５９】
メディアガイドアプリケーションは、比較に基づいて、第１の結果が第２の結果に合致することを決定する。例えば、メディアガイドアプリケーションは、第１の結果（例えば、ソース１０４からの結果１１２）と関連付けられる具体的属性の各文字が、２つの結果が合致する第２の結果（例えば、ソース１０６からの結果１１２に合致する結果）と関連付けられる対応する属性の各文字に合致するかどうかを決定してもよい。例えば、２つの結果が、俳優「Ｍａｔｔ  Ｄａｍｏｎ」を指すメタデータを含有する場合、メディアガイドアプリケーションは、メタデータが合致し、したがって、２つの結果が合致することを決定してもよい。代替として、または加えて、メディアガイドアプリケーションは、（例えば、ソース１０４からの）第１の結果と関連付けられる全てのメタデータ（例えば、全ての属性）または閾値割合（例えば、５０％）が、（例えば、ソース１０６からの）第２の結果の対応するメタデータに合致するかどうかを決定してもよい。例えば、メディアガイドアプリケーションが、タイトル、監督、およびジャンル属性が２つの結果の間で合致することを決定する場合、メディアガイドアプリケーションは、２つの結果が、１つだけの属性が合致した場合よりも大きい信頼度を伴って合致することを決定してもよい。
【００６０】
いくつかの実施形態では、ある属性（例えば、タイトル）は、属性が結果の間でより明確に異なるため、２つの結果が合致するかどうかを決定する際に、さらに加重されてもよい。例えば、多くの結果が、「Ｍａｔｔ  Ｄａｍｏｎ」を指し得るため、俳優メタデータのみが合致した場合に誤検出合致が起こり得るが、複数の結果が「Ｔｈｅ  Ｂｏｕｒｎｅ  Ｉｄｅｎｔｉｔｙ」を指す可能性は低く、したがって、そのタイトルは、俳優よりも高く加重される。いくつかの実施形態では、閾値数の文字が（例えば、ソース１０４からの）第１の結果の属性と（例えば、ソース１０６からの）第２の結果の属性との間で合致する場合には、メディアガイドアプリケーションは、合致を決定してもよい。例えば、いくつかの事例では、スペルミスまたは他の誤植に起因して、単一の文字が、第１の結果と関連付けられるメタデータと第２の結果と関連付けられるメタデータとの間で異なり得る（例えば、「Ｔｏｍ  Ｈａｎｋｓ」および「Ｔｏｍ  Ｈａｎｋｚ」）。本状況では、閾値量の文字（例えば、１文字を除く全て）が合致する場合、メディアガイドアプリケーションは、第１および第２の結果と関連付けられるメタデータが合致することを決定してもよい。
【００６１】
いくつかの実施形態では、メディアガイドアプリケーションは、表示テンプレートに基づいて、第１および第２のサブセットに関して選択するための結果の数を決定してもよい。具体的には、メディアガイドアプリケーションは、グリッドのための（例えば、表示１００を生成するための）表示テンプレートを読み出す。例えば、メディアガイドアプリケーションは、記憶装置からローカルで、または通信ネットワークを介してサーバから遠隔でのいずれかで、表示テンプレートを読み出してもよい。表示テンプレートは、異なる行内で複数のソースからの結果を表示するためのパラメータを含有する、クラスまたはテーブル等の任意の好適なデータ構造であってもよい。メディアガイドアプリケーションは、第１の行と関連付けられる表示テンプレートの第１のフィールドから、第１の行に適合する第１の数の結果に関して第１の値を読み出す。例えば、メディアガイドアプリケーションは、表示テンプレート内のフィールドから、第１の行内の結果の数に関して整数（例えば、「３」）を読み出してもよい。代替として、または加えて、メディアガイドアプリケーションは、第１の行の表示面積のサイズに対応する１つまたは複数の値を読み出し、第１の行に適合し得る結果の数を計算してもよい。メディアガイドアプリケーションは、第２の行と関連付けられる表示テンプレートの第２のフィールドから、第２の行に適合する第２の数の結果に関して第２の値を読み出す。第１の行に適合する結果の数の値と同様に、メディアガイドアプリケーションは、表示テンプレート内のフィールドから、第１の行内の結果の数に関して整数（例えば、「３」）を読み出してもよい。いくつかの実施形態では、第１の行に適合する結果の数は、第２の行に適合する結果の数と異なり得る。例えば、メディアガイドアプリケーションは、ユーザによって好まれるため、第１のソース（例えば、ソース１０４）からのより多数の結果を提示してもよい。
【００６２】
メディアガイドアプリケーションは、次いで、第１のサブセットとして、第１の検索結果から第１の数の結果を選択する。例えば、メディアガイドアプリケーションは、第１の検索結果から、第１の行に適合すると決定された結果の数を読み出してもよい（例えば、３つの結果が第１の行に適合する場合、ソース１０４からの結果１１２、１１４、および１１６が、読み出されてもよい）。メディアガイドアプリケーションは、第１の検索結果からの結果の数の識別子をリストまたは他のデータ構造に追加することによって、第１のサブセットを生成してもよい。メディアガイドアプリケーションは、第２のサブセットとして、第２の検索結果から第２の数の結果を選択する。例えば、メディアガイドアプリケーションは、第２の検索結果から、第２の行に適合すると決定された結果の数を読み出してもよい（例えば、３つの結果が第１の行に適合する場合、ソース１０６からの結果１１２、結果１２０、および結果１２２に適合する結果が、読み出されてもよい）。メディアガイドアプリケーションは、第２の検索結果からの結果の数の識別子をリストまたは他のデータ構造に追加することによって、第２のサブセットを生成してもよい。メディアガイドアプリケーションは、（例えば、各結果が表示テンプレート内でパラメータに従って表示されるように）第１および第２のサブセットの各識別子と関連付けられる付加的テキストおよび／またはグラフィックを読み出し、表示テンプレートのインスタンスにデータ投入してもよい。
【００６３】
メディアガイドアプリケーションは、第１の結果が第２の結果に合致すると決定することに応答して、第２のサブセットの中の第２の結果を第３の結果と置換することによって、第２のサブセットを修正する。例えば、２つの結果が同時に表示されるものである（例えば、それらが第１および第２のサブセットの中にある）と決定することに応じて、メディアガイドアプリケーションは、ユーザが好まないソースの結果（例えば、結果１１２に合致するがソース１０６からの結果）を別の結果と（例えば、結果１１８と）置換する。例えば、「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」が、第１および第２のソースの両方からの結果であり、第１および第２のサブセットの中にある場合、第２のサブセットの中の結果は、別の結果と置換されてもよい。図２に関して下記でさらに議論されるように、第２の結果に取って代わる結果は、ユーザ選好に基づく、または第２のソースからの検索結果の中の各結果のランキングに基づいてもよい。
【００６４】
メディアガイドアプリケーションは、第１の行内の第１のサブセットおよび第２の行内の修正された第２のサブセットを表示するために生成する。例えば、メディアガイドアプリケーションは、第１の行内で第１のサブセットの中の各結果（例えば、結果１１２、１１４、および１１６）の識別子を生成してもよい。具体的実施例として、識別子は、各結果を識別するテキストまたはグラフィックであってもよい。メディアガイドアプリケーションは、ソース（例えば、ソース１０４またはソース１０６）から識別子を受信してもよい、またはローカル記憶装置または遠隔サーバからそれらを読み出してもよい。メディアガイドアプリケーションは、同様に、第２の行内で修正された第２のサブセットの中の各結果（例えば、結果１１８、１２０、および１２２）の識別子を生成してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、より多くの結果が利用可能であるというインジケーション（例えば、矢印１２４および１３０）を生成する。インジケーションのユーザ選択を受信することに応答して、メディアガイドアプリケーションは、矢印が選択されたソースのみに関して（例えば、矢印１２４が選択される場合、ソース１０４のみからのより多くの結果が表示される）、または全ての表示されたソースに関して（例えば、矢印１２４が選択される場合、ソース１０４およびソース１０６の両方からのより多くの結果が表示される）のいずれかで、新しいサブセットを生成してもよい。（例えば、より多くの結果を閲覧するためのユーザ入力に基づいて）表示されるサブセットの中の結果が変化する度に、メディアガイドアプリケーションは、上記で説明されるように、より低い行内の任意の結果が、より高い行内の結果に合致するかどうかを決定し、これらの結果を置換する。
【００６５】
いくつかの実施形態では、メディアガイドアプリケーションは、第１のソースの代わりに第２のソースの選好を表す要求をユーザから受信し、メディアガイドアプリケーションは、第２のサブセットの代わりに第１のサブセットから、第１のサブセットと第２のサブセットとの間の重複結果を置換する。具体的には、メディアガイドアプリケーションは、第１のソースと比べて第２のソースの第２の選好を示す、（例えば、矢印１２６または矢印１２８の）第２のユーザ入力を受信する。例えば、メディアガイドアプリケーションは、表示するために第１および第２の結果からの検索結果を用いてグリッドを生成するとき、１つのソース（例えば、ソース１０４）からの結果を伴う行を別のソース（例えば、ソース１０６）からの結果を伴う別の行と交換するための選択可能なオプション（例えば、矢印１２６および矢印１２８）を含んでもよい。メディアガイドアプリケーションは、選択可能なオプションのうちの１つ（例えば、矢印１２６）のユーザ選択を受信し、第１のソース（例えば、ソース１０４）からの結果を伴う第１の行の上方に第２のソース（例えば、ソース１０６）からの結果を伴う第２の行を上昇させてもよい。例えば、ユーザは、（例えば、リモートコントロール等のユーザ入力インターフェースを介して）下向きに指し示す矢印グラフィック（例えば、矢印１２６）を選択し、ユーザ選択が第１および第２の行を交換する要求であることを決定してもよい。メディアガイドアプリケーションは、２つのソースからの検索結果を用いて将来のグリッドを生成するときに使用するために、第１のソース（例えば、ソース１０４）と比べて第２のソース（例えば、ソース１０６）の新しいユーザ選好を（例えば、ユーザプロファイルの中に）記憶してもよい。
【００６６】
メディアガイドアプリケーションは、第２のユーザ入力を受信することに応答して、第１および第２の検索結果が表示される行を交換し、あまり好ましくないソース（例えば、ここではソース１０４）からの重複がより好ましいソース（例えば、ここではソース１０６）とともに存在するかどうかを決定する。具体的には、メディアガイドアプリケーションは、修正された第２のサブセットの中の第３の結果を第２の結果と置換することによって、第２の検索結果の第３のサブセットを生成する。例えば、第２のソースが第１のソースと比べて好ましいので、第２のソースからの結果が好ましい。したがって、（例えば、ソース１０４からの結果１１２に合致する）第２の結果は、表示するために結果の新しい第３のサブセットを作成するように、第２のサブセットの中に戻るように追加されてもよい。メディアガイドアプリケーションは、第３のサブセットの一部である各結果の識別子を用いて新しいリストまたは他のデータ構造を生成する、または第２のサブセットのために既存のリストまたは他のデータ構造を修正してもよい。いくつかの実施形態では、第２の結果は、第３の結果に取って代わる（例えば、結果１１８、１２０、および１２２のうちの１つに取って代わる）。他の実施形態では、前もってサブセットの中にあった別の結果が、除去され、第２および第３の結果の両方が、第３のサブセットの中にある。
【００６７】
メディアガイドアプリケーションは、第１のサブセットの中の第１の結果を第１の検索結果のうちの第４の結果と置換することによって、第１の検索結果の第４のサブセットを生成し、第４の結果は、第１のサブセットの中にはない。例えば、第２のソース（例えば、ソース１０６）が第１のソース（例えば、ソース１０４）と比べて好ましいので、第２のソースの結果に合致する第１のソースからの結果は、上記で議論されるものと同様に、他の結果と置換される必要がある。したがって、第１の結果（例えば、結果１１２）は、（例えば、上記で議論されるようにメタデータを比較することに基づいて）第３のサブセットの中の結果のうちのいずれにも合致しない、第１の結果のうちの第４の結果と置換されてもよい。メディアガイドアプリケーションは、第４のサブセットの一部である各結果の識別子を用いて新しいリストまたは他のデータ構造を生成する、または第１のサブセットのために既存のリストまたは他のデータ構造を修正してもよい。メディアガイドアプリケーションは、次いで、第１のサブセットの代わりに第１の行内の第３のサブセットおよび修正された第２のサブセットの代わりに第２の行内の第４のサブセットを表示するために生成する。例えば、メディアガイドアプリケーションは、第１の行内の第３のサブセットのうちの各結果および第２の行内の第４のサブセットのうちの各結果と関連付けられるインジケータ（例えば、テキストおよび／またはグラフィック）を生成してもよい。このようにして、重複結果は、依然として提示されないが、ここでは、第２のソースが第１のソースと比べて好ましいため、重複結果は、第２の結果ではなくて第１の結果から置換される。
【００６８】
図２は、本開示のいくつかの実施形態による、異なるソースからの検索結果を含有するデータ構造の例証的描写を示す。例えば、データ構造２００は、各エントリ（例えば、テーブル内の行）が同一のソース（例えば、ソース１０４）からの異なる結果に対応するように、編成されてもよい。同様に、データ構造２５０は、各エントリ（例えば、テーブル内の行）が同一のソース（例えば、ソース１０６）からの異なる結果に対応するように、編成されてもよい。メディアガイドアプリケーションは、データ構造２００および２５０内の結果を比較し、２つの異なるソースの間で合致する結果を決定してもよい。メディアガイドアプリケーションは、比較に基づいて、図１に関して上記で議論されるように、グリッド内で表示する結果を決定してもよい。例えば、データ構造２００の中に記憶された結果のサブセット２０２が、表示されるように選択される。例えば、データ構造２５０の中に記憶された結果のサブセット２５４が、表示されるように選択される。例えば、結果２０４および結果２５２が合致するため、メディアガイドアプリケーションは、（例えば、データ構造２００内の結果のソースが、データ構造２５０内の結果のソースと比べて好ましいため）表示されるサブセット２５４の一部として結果２５４を選択しない。データ構造２００および２５０内の結果は、図１０に関して下記でさらに議論されるように、種々の要因に従ってランク付けされてもよい。データ構造２００および２５０は、１つ以上のユーザデバイス（例えば、下記の図６−７に列挙されるデバイスのうちのいずれか）上のメモリ（例えば、図６に説明されるような記憶装置）の中に記憶されてもよい。また、メディアガイドアプリケーションは、下記の図８−１２に説明されるプロセスのうちの１つ以上のものを使用し、データ構造２００および２５０または本明細書に説明される特徴のうちのいずれかを生成してもよい。
【００６９】
いくつかの実施形態では、メディアガイドアプリケーションは、データベースからメタデータを読み出し、読み出されたメタデータの文字を比較して、２つの結果が合致するかどうかを決定してもよい。具体的には、メディアガイドアプリケーションは、第１の結果の第１の識別子および第２の結果の第２の識別子を、データベースの中に記憶された複数の識別子と比較する。識別子は、結果と関連付けられるタイトル、ＵＲＬ、および／または数値（例えば、シリアルコード）等の結果を定義する文字の任意の組み合わせであってもよい。例えば、メディアガイドアプリケーションは、記憶装置の中にローカルで、または通信ネットワークを介して遠隔サーバにおいて記憶される、データベースにアクセスしてもよい。データベースは、第１のテーブルの中の複数の識別子がそれぞれ、識別子と関連付けられるメタデータを含有する別のテーブルへのポインタと関連付けられる、一連の複数のリンクされたテーブル（例えば、関係データベース）として編成されてもよい。例えば、メディアガイドアプリケーションは、第１および第２の識別子（例えば、結果２０４および２５２の識別子）の文字を記憶された複数の識別子と比較してもよい。メディアガイドアプリケーションは、第１の記憶された識別子が第１の識別子に合致し、第２の記憶された識別子が第２の識別子に合致することを決定する。例えば、メディアガイドアプリケーションは、第１の記憶された識別子が第１の識別子（例えば、結果２０４の識別子）に合致し、第２の記憶された識別子が第２の識別子（例えば、結果２５２の識別子）に合致することを決定してもよい。メディアガイドアプリケーションは、次いで、第１の記憶された識別子および第２の記憶された識別子に対応するフィールド内のポインタに基づいて、適切なリンクされたテーブルにアクセスしてもよい。
【００７０】
メディアガイドアプリケーションは、第１の記憶された識別子と関連付けられる第１のフィールドから第１のメタデータおよび第２の記憶された識別子と関連付けられる第２のフィールドから第２のメタデータを読み出す。例えば、各記憶された識別子と関連付けられる（例えば、結果２０４および２５４と関連付けられる）メタデータを含有するテーブルは、より容易な比較のために、各テーブルの第１のフィールド内のメタデータが、常に、結果と関連付けられるタイトルであり、各テーブルの第２のフィールド内のメタデータが、常に、監督等であるように、構造化されてもよい（例えば、同一の属性のメタデータが、各記憶された値を別の識別子と関連付けられる全ての記憶された値と比較する必要なく、比較されることができる）。代替として、または加えて、テーブルは、メタデータを伴う各フィールドが、異なる識別子と関連付けられる対応するメタデータを比較するために使用され得る、「ＡＣＴＯＲ」等の標識と関連付けられるように、構造化されてもよい。メディアガイドアプリケーションは、第１の識別子（例えば、タイトル）と関連付けられる第１のフィールドからメタデータおよび第２の識別子（例えば、同様にタイトル）と関連付けられる第２のフィールドからメタデータを読み出してもよい。メディアガイドアプリケーションは、次いで、第１の結果と関連付けられる第１のメタデータの第１の文字を、第２の結果と関連付けられる第２のメタデータの第２の文字と比較する。例えば、メディアガイドアプリケーションは、（第１の識別子によって識別される）第１の結果と関連付けられる読み出された文字列の各文字を、（第２の識別子によって識別される）第２の結果と関連付けられる読み出された文字列の文字と比較してもよい。
【００７１】
いくつかの実施形態では、メディアガイドアプリケーションは、各ソースからの結果の関連性ランキングに基づいて、選択する結果を決定する。具体的には、メディアガイドアプリケーションは、ユーザ入力への各結果の関連性に基づいて、第１の検索結果の中の各結果および第２の検索結果の中の各結果をランク付けする。例えば、メディアガイドアプリケーションは、（例えば、ユーザが特定のリンクをクリックした回数に基づく）人気および／または文字合致（例えば、結果の文字に合致した、ユーザによって提出される検索クエリの文字の数）の観点から、すでにランク付けされている検索結果をソース（例えば、データ構造２００）から受信してもよい。本状況では、メディアガイドアプリケーションはさらに、ユーザ選好に基づいて、結果をランク付けしてもよい（例えば、これらの結果のユーザ選好に基づいて、ある結果を上昇させる）、または単純に、さらなるランク付けを伴わずに最高ランク付けされた結果（例えば、結果２０４等の「１」とインデックス化された結果）を読み出してもよい。ソースから受信される結果がランク付けされておらず、ユーザのクエリへの類似性のみに基づいてランク付けされる場合、メディアガイドアプリケーションは、結果毎に、相対的人気を決定してもよい。例えば、メディアガイドアプリケーションは、各結果の識別子（例えば、結果２０４の識別子）を、（記憶装置の中にローカルで、または遠隔サーバにおいてのいずれかで）データ構造の中に記憶された人気と比較してもよい。メディアガイドアプリケーションは、次いで、読み出された人気値に基づいて、ソースから受信される結果をランク付けしてもよい。例えば、人気値は、テレビ番組のニールセン視聴率であってもよい。
【００７２】
メディアガイドアプリケーションは、第１のサブセットの中の第１の結果として、第１の検索結果の中の最高ランク付けされた結果を読み出す。例えば、メディアガイドアプリケーションは、第１の結果として、ランク付けされた第１の検索結果のうちの最高ランク付けされた結果を読み出してもよい（例えば、結果２０４が、最高ランク付けされた結果としてデータ構造２００内でインデックス化されてもよい）。メディアガイドアプリケーションは、第１の検索結果から（例えば、データ構造２００から）次の最高ランク付けされた結果を読み出すことによって、（例えば、上記で議論されるように）第１の行に適合する結果の数を読み出し続けてもよい。メディアガイドアプリケーションは、第２のサブセットの中の第２の結果として、第２の検索結果の中の最高ランク付けされた結果を読み出す。例えば、メディアガイドアプリケーションは、第２の結果として、第２の検索結果のうちの最高ランク付けされた結果を読み出してもよい（例えば、結果２５２が、データ構造２５０内で最高ランク付けされた結果としてインデックス化されてもよい）。メディアガイドアプリケーションは、第２の検索結果から次の最高ランク付けされた結果を読み出すことによって、（例えば、上記で議論されるように）第２の行に適合する結果の数を読み出し続けてもよい。
【００７３】
いくつかの実施形態では、メディアガイドアプリケーションは、第２の結果を次の最高ランク付けされた結果と置換することによって、第２のサブセットを修正する。具体的には、メディアガイドアプリケーションは、第３の結果として、第２のサブセットの中にない次の最高ランク付けされた結果を読み出す。例えば、メディアガイドアプリケーションは、第２のサブセットの一部ではない最高ランク付けされた結果である、ランク付けされた結果のリスト（例えば、検索結果のソースから受信されるか、または上記で議論されるようにメディアガイドアプリケーションによって生成されるかのいずれかである）から結果を読み出してもよい。具体的実施例として、第２のサブセットの最上位結果（例えば、結果２５２）が、第１のサブセットの中の結果（例えば、結果２０４）に合致し、３つの結果が第２のソースから表示される必要がある（例えば、３つの結果がデータ構造２５０から読み出される必要がある）場合、メディアガイドアプリケーションは、表示するために１−３の代わりに２−４にランク付けされた結果（例えば、サブセット２５４）を選択してもよい。メディアガイドアプリケーションはさらに、（例えば、上記で議論されるようにメタデータを比較することによって）読み出された次の最高ランク付けされた結果が第１のサブセットの中の結果に合致するかどうかを決定してもよい。例えば、メディアガイドアプリケーションが、次の最高ランク付けされた結果が第１のサブセットの中の結果に合致することを決定する場合、メディアガイドアプリケーションは、結果が第１のサブセットのうちの１つに合致しなくなるまで、別の結果（例えば、ランク付けされたリスト上でより低い１つの結果）を読み出してもよい。
【００７４】
メディアガイドアプリケーションは、第２のサブセットから第２の結果を除去してもよい。例えば、メディアガイドアプリケーションは、第２のサブセットの識別子を記憶するリストまたは他のデータ構造から、第２の結果（例えば、結果２５２）と関連付けられる識別子を除去してもよい。メディアガイドアプリケーションは、次いで、第３の結果を第２のサブセットに追加してもよい。例えば、メディアガイドアプリケーションは、次の最高ランク付けされた結果の識別子（第１のサブセットの中の結果のうちのいずれにも合致しない）をリストまたは他のデータ構造に追加してもよい。メディアガイドアプリケーションは、識別子を、除去された第２の結果の識別子によって前もってデータ投入された同一のフィールドに追加してもよい、または（例えば、人気に基づいて）識別子を並べ替えてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、識別子が行内でユーザに提示される順序として、リストまたは他のデータ構造の中に記憶された識別子の順序を使用する。
【００７５】
いくつかの実施形態では、メディアガイドアプリケーションは、第２の結果をユーザ選好に合致する結果と置換することによって、第２のサブセットを修正する。具体的には、メディアガイドアプリケーションは、検索結果の属性に関して第２のユーザ選好を読み出す。例えば、メディアガイドアプリケーションは、複数のユーザ選好を含有するユーザプロファイルを読み出してもよい。メディアガイドアプリケーションは、ユーザプロファイルから選好を読み出してもよい。例えば、メディアガイドアプリケーションは、ユーザが俳優「Ｍａｔｔ  Ｄａｍｏｎ」を含む映画を享受することを読み出してもよい。メディアガイドアプリケーションは、読み出されたユーザ選好を、ソースからの検索結果のうちの各結果（例えば、データ構造２５０内の各結果）と関連付けられるメタデータと比較してもよい。例えば、メディアガイドアプリケーションは、ローカル記憶装置または遠隔サーバから結果と関連付けられるメタデータを読み出してもよい。
【００７６】
メディアガイドアプリケーションは、次いで、結果毎に、（例えば、文字比較に基づいて）ユーザ選好が各結果と関連付けられるメタデータに合致するかどうかを決定してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、ユーザプロファイル内の全てのユーザ選好を、結果と関連付けられるメタデータと比較し、各結果と関連付けられるメタデータに合致するユーザ選好の数に基づいて、結果をランク付けする。例えば、結果の俳優およびジャンルの両方がユーザ選好に合致する場合、結果（例えば、結果２５２）は、別の結果よりも高くランク付けされてもよく、結果と関連付けられる俳優のみが、ユーザ選好に合致する。いくつかの実施形態では、メディアガイドアプリケーションは、第２の結果と置換する結果を決定するときに、（例えば、ユーザプロファイルの中に記憶されたインジケーションに基づいて）あるユーザ選好をより高く加重してもよい。例えば、メディアガイドアプリケーションは、ユーザがそのように指定することに基づいて、「アクション映画」に関する読み出されたユーザ選好がユーザにとって「低い選好」であることを決定してもよい。対照的に、メディアガイドアプリケーションは、「Ｍａｔｔ  Ｄａｍｏｎ」に関する読み出されたユーザ選好がユーザにとって「高い選好」であることを決定してもよい。
【００７７】
メディアガイドアプリケーションは、第３の結果の属性が第２のユーザ選好に合致すると決定することに応答して、第２のサブセットから第２の結果を除去する。例えば、メディアガイドアプリケーションは、第２のサブセットの識別子を記憶するリストまたは他のデータ構造から、第２の結果（例えば、結果２５２）と関連付けられる識別子を除去してもよい。メディアガイドアプリケーションは、次いで、第３の結果を第２のサブセットに追加してもよい。例えば、メディアガイドアプリケーションは、ユーザ選好に合致する（または最も密接に合致する）結果の識別子をリストまたは他のデータ構造（例えば、データ構造２５０からの別の結果）に追加してもよい。メディアガイドアプリケーションは、識別子を、除去された第２の結果の識別子によって前もってデータ投入された同一のフィールドに追加してもよい、または（例えば、人気に基づいて）識別子を並べ替えてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、識別子が行内でユーザに提示される順序として、リストまたは他のデータ構造の中に記憶された識別子の順序を使用する。
【００７８】
図３は、本開示のいくつかの実施形態による、グリッド内に複数のソースからの検索結果を示す、表示の別の例証的実施例を示す。例えば、表示３００は、ユーザクエリ３０２に関する検索結果を表示するためにメディアガイドアプリケーションを実行する、ユーザ機器に結合されてもよい。ユーザクエリ３０２は、表示３００を表示する同一のユーザ機器または他のユーザ機器に結合されるユーザ入力インターフェースを介して、受信されてもよい。表示３００は、ソース３０４および３０６のための行を備える、グリッドを含む。ソース（例えば、ソース３０４またはソース３０６）のための各行は、ソースからの結果のサブセットを含有する。例えば、選択された結果３１０および結果３１２は、ソース３０４から表示され、結果３０８は、ソース３０６から示される。ソース３０４およびソース３０６は、図１−２に関して上記で議論されるように、同一の結果を含んでもよい（例えば、結果３１２は、両方のソースから表示されるサブセットの一部である）。応答して、メディアガイドアプリケーションは、ユーザがあまり好まないソースから（例えば、ソース３０６から）重複結果を除去してもよい。表示３００は、ユーザによって現在ナビゲートされている結果（例えば、選択された結果３１０）を他の結果（例えば、結果３１２）と視覚的に（例えば、強調表示を介して）区別してもよい。表示３００は、重複の数３１４を含んでもよい。重複の数３１４は、ソース３０４からの結果に合致する、ソース３０６からの結果の数を視覚的に（例えば、テキストまたはグラフィックを使用して）ユーザに示す。表示３００は、１つ以上のユーザデバイス（例えば、下記の図６−７に列挙されるデバイスのうちのいずれか）上に出現してもよい。また、メディアガイドアプリケーションは、図８−１２に説明されるプロセスのうちの１つ以上のものを使用し、表示３００または本明細書に説明される特徴のうちのいずれかを生成してもよい。
【００７９】
選択された結果３１０についてより多くの情報を受信するためのユーザ選択を受信することに応じて、メディアガイドアプリケーションは、表示３５０を生成してもよい。表示３５０は、表示３００上にオーバーレイされてもよい、または表示３００に取って代わってもよい。表示３５０は、結果３１０と関連付けられる識別子３５２を含んでもよい。表示３５０は、ソース３０４からの結果３１０と関連付けられるインジケーションおよび関連リンク３５４を含んでもよい。表示３５０は、加えて、重複結果が受信された、他のソースを含んでもよい。例えば、（例えば、図１−２に関して上記で議論されるように決定される）結果３１０と同じ結果が、他のソースから受信されてもよい。故に、リンク３５６およびリンク３５８が、結果と関連付けられるデータにアクセスするための他のオプションをユーザに提供するように、表示３５０の一部として表示される。表示３５０は、１つ以上のユーザデバイス（例えば、下記の図６−７に列挙されるデバイスのうちのいずれか）上に出現してもよい。また、メディアガイドアプリケーションは、図８−１２に説明されるプロセスのうちの１つ以上のものを使用し、表示３５０または本明細書に説明される特徴のうちのいずれかを生成してもよい。
【００８０】
いくつかの実施形態では、メディアガイドアプリケーションは、第１および第２のソースから受信される重複結果の総数を決定し、数をユーザに表示する。具体的には、メディアガイドアプリケーションは、第１の検索結果のうちの各結果を第２の検索結果のうちの各結果と比較する。例えば、メディアガイドアプリケーションは、（例えば、ソース３０４からの）第１の検索結果のうちの各結果と関連付けられるメタデータを、（例えば、ソース３０６からの）第２のソースから受信される各検索結果のメタデータと比較してもよい。例えば、メディアガイドアプリケーションは、ｆｏｒループを利用するプログラムスクリプトを実行し、第１のソースからの各結果を第２のソースからの各結果と反復して比較してもよい。メディアガイドアプリケーションは、次いで、第１の検索結果のうちの各結果を第２の検索結果のうちの各結果と比較することに基づいて、第１の検索結果と第２の検索結果との間の重複結果の数を決定する。例えば、メディアガイドアプリケーションは、カウンタを初期化し、第１のソースからの全ての結果が第２のソースからの検索結果と比較されるまで、合致が第１のソースからの結果と第２のソースからの結果との間で決定される度に、カウンタをインクリメントしてもよい。上記で議論されるように、メディアガイドアプリケーションは、２つの検索結果と関連付けられる閾値割合のメタデータが合致する場合に、合致を決定してもよい。メディアガイドアプリケーションは、次いで、第２の行内に重複結果の数（例えば、重複の数３１４）のインジケーションを表示するために生成する。例えば、メディアガイドアプリケーションは、第１の行または第２の行内に重複の総数（例えば、「３０」）の値を伴って、テキストを表示するために生成してもよい。インジケーションは、随意に、重複が指すソースを明確にするテキストを含有してもよい。例えば、ＡＭＡＺＯＮ（登録商標）が第１の行のためのソースであり、ＨＵＬＵ（登録商標）が第２の行のためのソースである場合、メディアガイドアプリケーションは、第２の行内にテキスト「Ａｍａｚｏｎとの３０個の重複ソース」を生成してもよい。
【００８１】
いくつかの実施形態では、メディアガイドアプリケーションは、結果のユーザ選択を受信することに応じて、同一の結果を返した他のソースを表示してもよい。具体的には、メディアガイドアプリケーションは、第１の結果のユーザ選択を受信する。例えば、メディアガイドアプリケーションは、リモートコントロールまたはタッチスクリーンインターフェース等のユーザ入力インターフェースを介して、グリッド上に表示される特定の結果の選択を受信してもよい。具体的実施例として、メディアガイドアプリケーションは、第１の行内の「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」に関する結果（例えば、選択された結果３１０）がユーザによって選択されていることを決定してもよい。メディアガイドアプリケーションは、上記で議論されるように、選択された結果と関連付けられるメタデータを他のソースからの結果と比較することによって、「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」に関する結果が受信された、他のソースを決定してもよい。例えば、メディアガイドアプリケーションは、（例えば、ソース３０６からの）第２の結果が第１の結果（例えば、ソース３０４からの選択された結果３１０）に合致し、第１のソースがユーザによって選択されることを決定してもよい。メディアガイドアプリケーションは、ユーザ選択を受信することに応答して、第１の結果が第２のソースからも利用可能であるというインジケーションを表示するために生成する。例えば、第１および第２の検索結果の両方が「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」に関する結果を含む場合、ユーザが第１の検索結果を含有する第１の行内で「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」結果を選択することに応じて、メディアガイドアプリケーションは、結果が第２のソースによっても返されたというインジケーション（例えば、リンク３５６）を表示するために生成してもよい。具体的実施例として、メディアガイドアプリケーションは、テキスト「本結果はＨｕｌｕによっても返されました」を表示するために生成してもよい。このようにして、メディアガイドアプリケーションは、各行内で同一の結果を示す必要なく、結果が利用可能である代替的ソース（例えば、リンク３５６および３５８）をユーザに提供してもよい。
【００８２】
いくつかの実施形態では、結果は、メディアアセットを識別し、メディアガイドアプリケーションは、メディアアセットに関連するアクションを実施するための選択可能なオプションを提示する。具体的には、メディアガイドアプリケーションは、第１の結果のユーザ選択を受信する。例えば、メディアガイドアプリケーションは、リモートコントロールまたはタッチスクリーンインターフェース等のユーザ入力インターフェースを介して、グリッド上に表示される特定の結果（例えば、選択された結果３１０）の選択を受信してもよい。具体的実施例として、メディアガイドアプリケーションは、第１の行（例えば、ユーザの最も好ましいソース）内の「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」に関する結果がユーザによって選択されていることを決定してもよい。メディアガイドアプリケーションは、ユーザ選択を受信することに応答して、（例えば、表示３００または表示３５０の一部にオーバーレイされる）メディアアセットと関連付けられる複数の選択可能なオプションを表示するために生成する。複数のオプションは、メディアアセットを鑑賞リストに追加するためのオプションを含んでもよい。例えば、ユーザによるメディアアセットを鑑賞リストに追加するためのオプションの選択に応じて、メディアガイドアプリケーションは、ユーザがある将来の時間に鑑賞することを所望するメディアアセットの識別子を含むデータ構造の中にメディアアセットと関連付けられる識別子を記憶してもよい。
【００８３】
複数のオプションは、メディアアセットをお気に入りリストに追加するためのオプションを含んでもよい。例えば、ユーザによるメディアアセットをお気に入りリストに追加するためのオプションの選択に応じて、メディアガイドアプリケーションは、ユーザが好むメディアアセットの識別子を含むデータ構造の中にメディアアセットと関連付けられる識別子を記憶してもよい。いくつかの実施形態では、お気に入りリストは、上記で議論されるように、重複結果と置換する結果を決定するときに、特定の結果に関してユーザ選好を決定するために使用されてもよい。複数のオプションは、メディアアセットが利用可能になる次回の時間を閲覧するためのオプションを含んでもよい。例えば、ユーザによるメディアアセットが利用可能になる次回の時間を閲覧するためのオプションの選択に応じて、メディアガイドアプリケーションは、メディアアセットが利用可能である時間およびソースに関して、（例えば、記憶装置の中にローカルで、または遠隔サーバにおいて記憶された）メディアガイドデータベースにクエリを行ってもよい。メディアガイドアプリケーションは、次いで、メディアアセットが利用可能である時間およびソースを表示するために生成してもよい。
【００８４】
複数のオプションは、メディアアセットを録画するためのオプションを含んでもよい。例えば、ユーザによるメディアアセットを録画するためのオプションの選択に応じて、メディアガイドアプリケーションは、メディアアセットがある時間周期中にソースから利用可能であるかどうかを決定してもよい。メディアアセットが利用可能である場合、メディアガイドアプリケーションは、（例えば、メディアアセットの識別子およびメディアアセットが利用可能であるソースおよび時間をスケジューリングデータ構造に追加することによって）録画をスケジュールしてもよい。メディアアセットが利用可能ではない場合、メディアガイドアプリケーションは、上記で議論されるように、メディアアセットを鑑賞リストに追加してもよい。
【００８５】
任意の所与のコンテンツ配信システムでユーザに利用可能なコンテンツの量が、膨大であり得る。その結果、多くのユーザは、ユーザがコンテンツの選択を効率的にナビゲートし、所望し得るコンテンツを容易に識別することを可能にする、インターフェースを通したメディアガイドの形態を所望している。そのようなガイドを提供するアプリケーションは、本明細書では、双方向メディアガイドアプリケーションと称されるが、時として、メディアガイドアプリケーションまたはガイドアプリケーションと称されることもある。
【００８６】
双方向メディアガイドアプリケーションは、ガイドを提供するコンテンツに応じて、種々の形態をとってもよい。１つの典型的なタイプのメディアガイドアプリケーションは、双方向テレビ番組ガイドである。双方向テレビ番組ガイド（時として、電子番組ガイドと称される）は、とりわけ、ユーザが、多くのタイプのコンテンツまたはメディアアセット間をナビゲートし、それを特定することを可能にする、周知のガイドアプリケーションである。双方向メディアガイドアプリケーションは、ユーザが、コンテンツ間をナビゲートし、それを特定および選択することを可能にする、グラフィカルユーザインターフェース画面を生成してもよい。本明細書で参照されるように、用語「メディアアセット」および「コンテンツ」は、例えば、テレビ番組、および有料番組、オンデマンド番組（ビデオオンデマンド（ＶＯＤ）システムにおけるような）、インターネットコンテンツ（例えば、ストリーミングコンテンツ、ダウンロード可能コンテンツ、ウェブキャスト等）、ビデオクリップ、オーディオ、コンテンツ情報、写真、回転画像、ドキュメント、再生一覧、ウェブサイト、記事、書籍、電子書籍、ブログ、チャットセッション、ソーシャルメディア、アプリケーション、ゲーム、および／または任意の他のメディアまたはマルチメディア、および／またはそれらの組み合わせ等の電子的に消費可能なユーザアセットを意味すると理解されたい。ガイドアプリケーションはまた、ユーザが、コンテンツ間をナビゲートし、それを特定することを可能にする。本明細書で参照されるように、用語「マルチメディア」は、上記で説明される少なくとも２つの異なるコンテンツ形態、例えば、テキスト、オーディオ、画像、ビデオ、または双方向コンテンツ形態を利用する、コンテンツを意味すると理解されたい。コンテンツは、ユーザ機器デバイスによって、録画、再生、表示、またはアクセスされてもよいが、また、ライブパーフォーマンスの一部であることもできる。
【００８７】
本明細書で議論される実施形態のいずれかを実施するためのメディアガイドアプリケーションおよび／または任意の命令は、コンピュータ可読媒体上にエンコードされてもよい。コンピュータ可読媒体は、データを記憶することが可能な任意の媒体を含む。コンピュータ可読媒体は、限定ではないが、電気または電磁信号の伝搬を含む、一過性であり得る、または限定ではないが、ハードディスク、フロッピー（登録商標）ディスク、ＵＳＢドライブ、ＤＶＤ、ＣＤ、メディアカード、レジスタメモリ、プロセッサキャッシュ、ランダムアクセスメモリ（「ＲＡＭ」）等の揮発性および不揮発性コンピュータメモリまたは記憶デバイスを含む、非一過性であり得る。
【００８８】
インターネット、モバイルコンピューティング、および高速無線ネットワークの出現に伴って、ユーザは、従来は使用しなかったユーザ機器デバイス上でメディアにアクセスするようになっている。本明細書で参照されるように、語句「ユーザ機器デバイス」、「ユーザ機器」、「ユーザデバイス」、「電子デバイス」、「電子機器」、「メディア機器デバイス」、または「メディアデバイス」は、テレビ、スマートＴＶ、セットトップボックス、衛星テレビに対応するための統合型受信機デコーダ（ＩＲＤ）、デジタル記憶デバイス、デジタルメディア受信機（ＤＭＲ）、デジタルメディアアダプタ（ＤＭＡ）、ストリーミングメディアデバイス、ＤＶＤプレーヤ、ＤＶＤレコーダ、接続型ＤＶＤ、ローカルメディアサーバ、ＢＬＵ−ＲＡＹ（登録商標）プレーヤ、ＢＬＵ−ＲＡＹ（登録商標）レコーダ、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、タブレットコンピュータ、ウェブＴＶボックス、パーソナルコンピュータテレビ（ＰＣ／ＴＶ）、ＰＣメディアサーバ、ＰＣメディアセンター、ハンドヘルドコンピュータ、固定電話、携帯情報端末（ＰＤＡ）、携帯電話、ポータブルビデオプレーヤ、ポータブル音楽プレーヤ、ポータブルゲーム機、スマートフォン、または任意の他のテレビ機器、コンピューティング機器、または無線デバイス、および／またはそれらの組み合わせ等の上記で説明されるコンテンツにアクセスするための任意のデバイスを意味すると理解されたい。いくつかの実施形態では、ユーザ機器デバイスは、正面画面および裏面画面、複数の正面画面、または複数の角度付き画面を有してもよい。いくつかの実施形態では、ユーザ機器デバイスは、正面カメラおよび／または裏面カメラを有してもよい。これらのユーザ機器デバイス上で、ユーザは、テレビを通して利用可能な同一のコンテンツ間をナビゲートし、それを特定することが可能であり得る。その結果として、メディアガイドは、これらのデバイス上でも利用可能であり得る。提供されるガイドは、テレビのみを通して利用可能なコンテンツ、他のタイプのユーザ機器デバイスのうちの１つ以上のもののみを通して利用可能なコンテンツ、またはテレビおよび他のタイプのユーザ機器デバイスのうちの１つ以上のものの両方を通して利用可能なコンテンツのためのものであってもよい。メディアガイドアプリケーションは、ユーザ機器デバイス上で、オンラインアプリケーション（すなわち、ウェブサイト上で提供される）として、または独立型アプリケーションまたはクライアントとして提供されてもよい。メディアガイドアプリケーションを実装し得る、種々のデバイスおよびプラットフォームは、下記でより詳細に説明される。
【００８９】
メディアガイドアプリケーションの機能のうちの１つは、メディアガイドデータをユーザに提供することである。本明細書で参照されるように、語句「メディアガイドデータ」または「ガイドデータ」は、コンテンツに関連する任意のデータまたはガイドアプリケーションを動作させる際に使用されるデータを意味すると理解されたい。例えば、ガイドデータは、番組情報、ガイドアプリケーション設定、ユーザ選好、ユーザプロファイル情報、メディア一覧、メディア関連情報（例えば、放送時間、放送チャネル、タイトル、内容、評価情報（例えば、ペアレンタルコントロール評価、批評家の評価等）、ジャンルまたはカテゴリ情報、俳優情報、放送会社またはプロバイダのロゴのロゴデータ等）、メディア形式（例えば、標準解像度、高解像度、３Ｄ等）、オンデマンド情報、ブログ、ウェブサイト、およびユーザが所望のコンテンツ選択間をナビゲートし、それを特定するために役立つ、任意の他のタイプのガイドデータを含んでもよい。
【００９０】
図４−５は、メディアガイドデータを提供するために使用され得る、例証的表示画面を示す。図４−５に示される表示画面は、任意の好適なユーザ機器デバイスまたはプラットフォーム上に実装されてもよい。図４−５の表示は、フル画面表示として図示されているが、それらはまた、表示されているコンテンツ上に完全または部分的にオーバーレイされてもよい。ユーザは、表示画面内に提供された選択可能なオプション（例えば、メニューオプション、一覧オプション、アイコン、ハイパーリンク等）を選択することによって、またはリモートコントロールまたは他のユーザ入力インターフェースまたはデバイス上の専用ボタン（例えば、「ガイド」ボタン）を押下することによって、コンテンツ情報にアクセスする要望を示してもよい。ユーザのインジケーションに応答して、メディアガイドアプリケーションは、グリッド内の時間およびチャネル別、時間別、チャネル別、ソース別、コンテンツタイプ別、カテゴリ別（例えば、映画、スポーツ、ニュース、子供向け、または他の番組カテゴリ）、または他の所定、ユーザ定義、または他の編成基準等のいくつかの方法のうちの１つにおいて編成されたメディアガイドデータを表示画面に提供してもよい。
【００９１】
図４は、単一表示内の異なるタイプのコンテンツへのアクセスも可能にする、時間およびチャネル別に配列された番組一覧表示４００の例証的グリッドを示す。表示４００は、以下、すなわち、（１）各チャネル／コンテンツタイプ識別子（列内のセル）が利用可能な異なるチャネルまたはコンテンツのタイプを識別する、チャネル／コンテンツタイプ識別子４０４の列、および（２）各時間識別子（行内のセル）が番組の時間帯を識別する、時間識別子４０６の行を伴うグリッド４０２を含んでもよい。グリッド４０２はまた、番組一覧４０８等の番組一覧のセルも含み、各一覧は、一覧の関連チャネルおよび時間の上に提供される、番組のタイトルを提供する。ユーザ入力デバイスを用いて、ユーザは、ハイライト領域４１０を移動させることによって番組一覧を選択することができる。ハイライト領域４１０によって選択される番組一覧に関する情報が、番組情報領域４１２内に提供されてもよい。領域４１２は、例えば、番組タイトル、番組内容、番組が提供される時間（該当する場合）、番組が放送されるチャネル（該当する場合）、番組の評価、および他の所望の情報を含んでもよい。
【００９２】
線形番組（例えば、所定の時間に複数のユーザ機器デバイスに伝送されるようにスケジュールされ、スケジュールに従って提供されるコンテンツ）にアクセスを提供することに加えて、メディアガイドアプリケーションはまた、非線形番組（例えば、任意の時間においてユーザ機器デバイスにアクセス可能であって、スケジュールに従って提供されないコンテンツ）へのアクセスも提供する。非線形番組は、オンデマンドコンテンツ（例えば、ＶＯＤ）、インターネットコンテンツ（例えば、ストリーミングメディア、ダウンロード可能メディア等）、ローカルで記憶されたコンテンツ（例えば、上記で説明される任意のユーザ機器デバイスまたは他の記憶デバイス上に記憶されたコンテンツ）、または時間的制約のない他のコンテンツを含む、異なるコンテンツソースからのコンテンツを含んでもよい。オンデマンドコンテンツは、特定のコンテンツプロバイダ（例えば、「Ｔｈｅ  Ｓｏｐｒａｎｏｓ」および「Ｃｕｒｂ  Ｙｏｕｒ  Ｅｎｔｈｕｓｉａｓｍ」を提供するＨＢＯ  Ｏｎ  Ｄｅｍａｎｄ）によって提供される映画または任意の他のコンテンツを含んでもよい。ＨＢＯ  ＯＮ  ＤＥＭＡＮＤは、Ｔｉｍｅ  Ｗａｒｎｅｒ  Ｃｏｍｐａｎｙ  Ｌ．Ｐ．  ｅｔ  ａｌ．によって所有されるサービスマークであり、ＴＨＥ  ＳＯＰＲＡＮＯＳおよびＣＵＲＢ  ＹＯＵＲ  ＥＮＴＨＵＳＩＡＳＭは、Ｈｏｍｅ  Ｂｏｘ  Ｏｆｆｉｃｅ，  Ｉｎｃ．によって所有される商標である。インターネットコンテンツは、チャットセッションまたはウェブキャスト等のウェブイベント、またはインターネットウェブサイトまたは他のインターネットアクセス（例えば、ＦＴＰ）を通してストリーミングコンテンツまたはダウンロード可能なコンテンツとしてオンデマンドで利用可能なコンテンツを含んでもよい。
【００９３】
グリッド４０２は、オンデマンド一覧４１４、録画コンテンツ一覧４１６、およびインターネットコンテンツ一覧４１８を含む、非線形番組のメディアガイドデータを提供してもよい。異なるタイプのコンテンツソースからのコンテンツのためのメディアガイドデータを組み合わせる表示は、時として、「混合メディア」表示と称されることもある。表示４００とは異なる、表示され得るメディアガイドデータのタイプの種々の順列は、ユーザ選択またはガイドアプリケーション定義に基づいてもよい（例えば、録画および放送一覧のみの表示、オンデマンドおよび放送一覧のみの表示等）。例証されるように、一覧４１４、４１６、および４１８は、これらの一覧の選択が、それぞれ、オンデマンド一覧、録画一覧、またはインターネット一覧専用の表示へのアクセスを提供し得ることを示すように、グリッド４０２内に表示される時間帯全体に及ぶものとして示されている。いくつかの実施形態では、これらのコンテンツタイプの一覧は、グリッド４０２に直接含まれてもよい。ユーザがナビゲーションアイコン４２０のうちの１つを選択することに応答して、付加的メディアガイドデータが表示されてもよい（ユーザ入力デバイス上の矢印キーを押下することは、ナビゲーションアイコン４２０を選択することと同様に表示に影響を及ぼし得る）。
【００９４】
表示４００はまた、ビデオ領域４２２、およびオプション領域４２６を含んでもよい。ビデオ領域４２２は、ユーザが、ユーザに現在利用可能である、今後利用可能となる、または利用可能であった番組を視聴および／またはプレビューすることを可能にしてもよい。ビデオ領域４２２のコンテンツは、グリッド４０２に表示される一覧のうちの１つに対応する、またはそれから独立し得る。ビデオ領域を含むグリッド表示は、時として、ピクチャインガイド（ＰＩＧ）表示と称されることもある。ＰＩＧ表示およびそれらの機能性は、２００３年５月１３日発行のＳａｔｔｅｒｆｉｅｌｄらの米国特許第６，５６４，３７８号、および２００１年５月２９日発行のＹｕｅｎらの米国特許第６，２３９，７９４号（それらの全体において参照することによって本明細書に組み込まれる）でより詳細に説明されている。ＰＩＧ表示は、本明細書に説明される実施形態の他のメディアガイドアプリケーション表示画面に含まれてもよい。
【００９５】
オプション領域４２６は、ユーザが、異なるタイプのコンテンツ、メディアガイドアプリケーション表示、および／またはメディアガイドアプリケーション特徴にアクセスすることを可能にしてもよい。オプション領域４２６は、表示４００（および本明細書に説明される他の表示画面）の一部であってもよい、または画面上のオプションを選択すること、またはユーザ入力デバイス上の専用または割当可能ボタンを押下することによって、ユーザによって呼び出されてもよい。オプション領域４２６内の選択可能オプションは、グリッド４０２内の番組一覧に関連する特徴に関してもよい、またはメインメニュー表示から利用可能なオプションを含んでもよい。番組一覧に関連する特徴は、他の放送時間または番組の受信方法の検索、番組の録画、番組の連続録画の有効化、番組および／またはチャネルをお気に入りとして設定、番組の購入、または他の特徴を含んでもよい。メインメニュー表示から利用可能なオプションは、検索オプション、ＶＯＤオプション、ペアレンタルコントロールオプション、インターネットオプション、クラウドベースのオプション、デバイス同期オプション、第２の画面デバイスオプション、種々のタイプのメディアガイドデータ表示にアクセスするオプション、プレミアムサービスをサブスクライブするオプション、ユーザのプロファイルを編集するオプション、ブラウザオーバーレイにアクセスするオプション、または他のオプションを含んでもよい。
【００９６】
メディアガイドアプリケーションは、ユーザの選好に基づいて個人化されてもよい。個人化されたメディアガイドアプリケーションは、ユーザが、メディアガイドアプリケーションを用いて個人化された「体験」を生成するように、表示および特徴をカスタマイズすることを可能にする。この個人化された体験は、ユーザがこれらのカスタマイズを入力することを可能にすることによって、および／または種々のユーザ選好を決定するようにメディアガイドアプリケーションがユーザアクティビティを監視することによって、生成されてもよい。ユーザは、ログインすることによって、または別様にガイドアプリケーションに対して自らを識別することによって、それらの個人化されたガイドアプリケーションにアクセスしてもよい。メディアガイドアプリケーションのカスタマイズは、ユーザプロファイルに従って作成されてもよい。カスタマイズは、提示方式（例えば、表示の色方式、テキストのフォントサイズ等）、表示されるコンテンツ一覧の側面（例えば、ＨＤＴＶ番組のみまたは３Ｄ番組のみ、お気に入りチャネル選択に基づいたユーザ指定の放送チャネル、チャネルの表示の並び替え、推奨コンテンツ等）、所望の録画特徴（例えば、特定のユーザに対する録画または連続録画、録画品質等）、ペアレンタルコントロール設定、インターネットコンテンツのカスタマイズされた提示（例えば、ソーシャルメディアコンテンツ、電子メール、電子的に配信された記事等の提示）、および他の所望のカスタマイズを変更させるステップを含んでもよい。
【００９７】
メディアガイドアプリケーションは、ユーザが、ユーザプロファイル情報を提供することを可能にしてもよい、またはユーザプロファイル情報を自動的にコンパイルしてもよい。メディアガイドアプリケーションは、例えば、ユーザがアクセスするコンテンツ、および／またはユーザがガイドアプリケーションと行い得る他の相互作用を監視してもよい。加えて、メディアガイドアプリケーションは、特定のユーザに関連する他のユーザプロファイルの全体または一部を取得し（例えば、ｗｗｗ．Ｔｉｖｏ．ｃｏｍ等のユーザがアクセスするインターネット上の他のウェブサイトから、ユーザがアクセスする他のメディアガイドアプリケーションから、ユーザがアクセスする他の双方向アプリケーションから、ユーザの別のユーザ機器デバイスから等）、および／またはメディアガイドアプリケーションがアクセスし得る他のソースから、ユーザについての情報を取得してもよい。結果として、ユーザは、ユーザの異なるユーザ機器デバイスにわたって、統一されたガイドアプリケーション体験を提供することができる。本タイプのユーザ体験は、図７に関連して下記でより詳細に説明される。付加的な個人化されたメディアガイドアプリケーション特徴は、２００５年７月１１日出願のＥｌｌｉｓ  ｅｔ  ａｌ．の米国特許出願公開第２００５／０２５１８２７号、２００７年１月１６日発行のＢｏｙｅｒ  ｅｔ  ａｌ．の米国特許第７，１６５，０９８号、および２００２年２月２１日出願のＥｌｌｉｓ  ｅｔ  ａｌ．の米国特許出願公開第２００２／０１７４４３０号（それらの全体において参照することによって本明細書に組み込まれる）でより詳細に説明されている。
【００９８】
メディアガイドを提供するための別の表示配列が、図５に示されている。ビデオモザイク表示５００は、コンテンツのタイプ、ジャンル、および／または他の編成基準に基づいて編成されたコンテンツ情報のための選択可能オプション５０２を含む。表示５００では、テレビ一覧オプション５０４が、選択され、したがって、一覧５０６、５０８、５１０、および５１２を放送番組一覧として提供する。表示５００では、一覧は、カバーアート、コンテンツからの静止画像、ビデオクリップのプレビュー、コンテンツからのライブビデオ、または一覧中のメディアガイドデータによって記述されているコンテンツをユーザに示す他のタイプのコンテンツを含む、グラフィック画像を提供してもよい。グラフィック一覧はまた、それぞれ、一覧と関連付けられるコンテンツに関するさらなる情報を提供するように、テキストを伴ってもよい。例えば、一覧５０８は、メディア部分５１４およびテキスト部分５１６を含む、１つを上回る部分を含んでもよい。メディア部分５１４および／またはテキスト部分５１６は、コンテンツをフル画面で視聴するように、またはメディア部分５１４に表示されるコンテンツに関連する情報を閲覧するように（例えば、ビデオが表示されるチャネルの一覧を閲覧するように）、選択可能であり得る。
【００９９】
表示５００内の一覧は、異なるサイズである（すなわち、一覧５０６は、一覧５０８、５１０、および５１２より大きい）が、所望に応じて、全ての一覧が同一のサイズであってもよい。一覧は、コンテンツプロバイダの所望に応じて、またはユーザ選好に基づいて、ユーザの関心の程度を示すように、またはあるコンテンツを強調するように、異なるサイズであるか、またはグラフィック的に強調されてもよい。コンテンツ一覧をグラフィック的に強調するための種々のシステムおよび方法は、例えば、２００９年１１月１２日に出願されたＹａｔｅｓの米国特許出願公開第２０１０／０１５３８８５号（その全体において参照することによって本明細書に組み込まれる）で議論されている。
【０１００】
ユーザは、そのユーザ機器デバイスのうちの１つ以上のものから、コンテンツおよびメディアガイドアプリケーション（および上記および下記で説明されるその表示画面）にアクセスしてもよい。図６は、例証的ユーザ機器デバイス６００の一般化された実施形態を示す。ユーザ機器デバイスのより具体的な実装は、図７に関連して下記で議論される。ユーザ機器デバイス６００は、入出力（以下「Ｉ／Ｏ」）パス６０２を介して、コンテンツおよびデータを受信してもよい。Ｉ／Ｏパス６０２は、処理回路６０６および記憶装置６０８を含む制御回路６０４に、コンテンツ（例えば、放送番組、オンデマンド番組、インターネットコンテンツ、ローカルエリアネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を経由して利用可能なコンテンツ、および／または他のコンテンツ）およびデータを提供してもよい。制御回路６０４は、Ｉ／Ｏパス６０２を使用して、コマンド、要求、および他の好適なデータを送受信するために使用されてもよい。Ｉ／Ｏパス６０２は、制御回路６０４（具体的には、処理回路６０６）を１つ以上の通信パス（下記に説明される）に接続してもよい。Ｉ／Ｏ機能は、これらの通信パスのうちの１つ以上のものによって提供されてもよいが、図面が複雑になり過ぎることを回避するため、図６では単一パスとして示されている。
【０１０１】
制御回路６０４は、処理回路６０６等の任意の好適な処理回路に基づいてもよい。本明細書で参照されるように、処理回路は、１つ以上のマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、プログラマブル論理デバイス、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等に基づく回路を意味すると理解され、マルチコアプロセッサ（例えば、デュアルコア、クアドコア、ヘクサコア、または任意の好適な数のコア）またはスーパーコンピュータを含んでもよい。いくつかの実施形態では、処理回路は、複数の別個のプロセッサまたは処理ユニット、例えば、複数の同一のタイプの処理ユニット（例えば、２つのＩｎｔｅｌ  Ｃｏｒｅ  ｉ７プロセッサ）または複数の異なるプロセッサ（例えば、Ｉｎｔｅｌ  Ｃｏｒｅ  ｉ５プロセッサおよびＩｎｔｅｌ  Ｃｏｒｅ  ｉ７プロセッサ）にわたって分散されてもよい。いくつかの実施形態では、制御回路６０４は、メモリ（すなわち、記憶装置６０８）に記憶されたメディアガイドアプリケーションに対する命令を実行する。具体的には、制御回路６０４は、メディアガイドアプリケーションによって、上記および下記で議論される機能を果たすように命令されてもよい。例えば、メディアガイドアプリケーションは、制御回路６０４に、メディアガイド表示を生成するための命令を提供してもよい。いくつかの実装では、制御回路６０４によって実施される任意のアクションは、メディアガイドアプリケーションから受信される命令に基づいてもよい。
【０１０２】
クライアントサーバベースの実施形態では、制御回路６０４は、ガイドアプリケーションサーバまたは他のネットワークまたはサーバと通信するための好適な通信回路を含んでもよい。上記に述べられる機能性を実施するための命令は、ガイドアプリケーションサーバ上に記憶されてもよい。通信回路は、ケーブルモデム、総合デジタル通信網（ＩＳＤＮ）モデム、デジタルサブスクライバ回線（ＤＳＬ）モデム、電話モデム、イーサネット（登録商標）カード、または他の機器との通信用の無線モデム、または任意の他の好適な通信回路を含んでもよい。そのような通信は、インターネットまたは任意の他の好適な通信ネットワークまたはパスを伴ってもよい（図７に関連してより詳細に説明される）。加えて、通信回路は、ユーザ機器デバイスのピアツーピア通信、または相互から遠隔の場所にあるユーザ機器デバイスの通信を可能にする回路を含んでもよい（下記でより詳細に説明される）。
【０１０３】
メモリは、制御回路６０４の一部である、記憶装置６０８として提供される、電子記憶デバイスであってもよい。本明細書で参照されるように、語句「電子記憶デバイス」または「記憶デバイス」とは、ランダムアクセスメモリ、読取専用メモリ、ハードドライブ、光学ドライブ、デジタルビデオディスク（ＤＶＤ）レコーダ、コンパクトディスク（ＣＤ）レコーダ、ＢＬＵ−ＲＡＹ（登録商標）ディスク（ＢＤ）レコーダ、ＢＬＵ−ＲＡＹ（登録商標）  ３Ｄディスクレコーダ、デジタルビデオレコーダ（ＤＶＲ、または時として、パーソナルビデオレコーダまたはＰＶＲと呼ばれる場合もある）、ソリッドステートデバイス、量子記憶デバイス、ゲームコンソール、ゲームメディア、または任意の他の好適な固定またはリムーバブル記憶デバイス、および／またはそれらの任意の組み合わせ等の電子データ、コンピュータソフトウェア、またはファームウェアを記憶するための任意のデバイスを意味すると理解されたい。記憶装置６０８は、本明細書に説明される種々のタイプのコンテンツ、および上記で説明されるメディアガイドデータを記憶するために使用されてもよい。不揮発性メモリもまた、（例えば、ブートアップルーチンおよび他の命令を起動するために）使用されてもよい。図７に関連して説明される、クラウドベースの記憶装置が、記憶装置６０８を補完するために使用される、または記憶装置６０８の代わりに使用されてもよい。
【０１０４】
制御回路６０４は、１つ以上のアナログチューナ、１つ以上のＭＰＥＧ−２デコーダ、または他のデジタルデコード回路、高解像度チューナ、または任意の他の好適な同調またはビデオ回路、またはそのような回路の組み合わせ等のビデオ生成回路および同調回路を含んでもよい。（例えば、記憶するために、無線、アナログ、またはデジタル信号をＭＰＥＧ信号に変換するための）エンコード回路もまた、提供されてもよい。制御回路６０４はまた、コンテンツをユーザ機器６００の好ましい出力形式に上方変換および下方変換するためのスケーリング回路を含んでもよい。回路６０４はまた、デジタル信号とアナログ信号との間で変換するためのデジタル／アナログ変換回路およびアナログ／デジタル変換回路を含んでもよい。同調およびエンコード回路は、コンテンツを受信して表示する、再生する、または録画するために、ユーザ機器デバイスによって使用されてもよい。同調およびエンコード回路はまた、ガイドデータを受信するために使用されてもよい。例えば、同調、ビデオ生成、エンコード、デコード、暗号化、解読、スケーリング、およびアナログ／デジタル回路を含む、本明細書に説明される回路は、１つ以上の汎用または特殊プロセッサ上で起動するソフトウェアを使用して実装されてもよい。複数のチューナが、同時同調機能（例えば、視聴および録画機能、ピクチャインピクチャ（ＰＩＰ）機能、多重チューナ録画機能等）に対処するように提供されてもよい。記憶装置６０８が、ユーザ機器６００とは別のデバイスとして提供される場合、同調およびエンコード回路（複数のチューナを含む）は、記憶装置６０８と関連付けられてもよい。
【０１０５】
ユーザは、ユーザ入力インターフェース６１０を使用して、命令を制御回路６０４に送信してもよい。ユーザ入力インターフェース６１０は、リモートコントロール、マウス、トラックボール、キーパッド、キーボード、タッチスクリーン、タッチパッド、スタイラス入力、ジョイスティック、音声認識インターフェース、または他のユーザ入力インターフェース等の任意の好適なユーザインターフェースであってもよい。ディスプレイ６１２は、独立型デバイスとして提供される、またはユーザ機器デバイス６００の他の要素と統合されてもよい。例えば、ディスプレイ６１２は、タッチスクリーンまたはタッチセンサ式ディスプレイであってもよい。そのような状況では、ユーザ入力インターフェース６１０は、ディスプレイ６１２と統合される、または組み合わせられてもよい。ディスプレイ６１２は、モニタ、テレビ、モバイルデバイス用液晶ディスプレイ（ＬＣＤ）、非晶質シリコンディスプレイ、低温ポリシリコンディスプレイ、電子インクディスプレイ、電気泳動ディスプレイ、アクティブマトリクスディスプレイ、エレクトロウェッティングディスプレイ、電気流体ディスプレイ、ブラウン管ディスプレイ、発光ダイオードディスプレイ、エレクトロルミネセントディスプレイ、プラズマディスプレイパネル、高性能アドレッシングディスプレイ、薄膜トランジスタディスプレイ、有機発光ダイオードディスプレイ、表面伝導型電子放出素子ディスプレイ（ＳＥＤ）、レーザテレビ、カーボンナノチューブ、量子ドットディスプレイ、干渉変調器ディスプレイ、または視覚的画像を表示するための任意の他の好適な機器のうちの１つ以上のものであってもよい。いくつかの実施形態では、ディスプレイ６１２は、ＨＤＴＶ対応型であり得る。いくつかの実施形態では、ディスプレイ６１２は、３Ｄディスプレイであってもよく、双方向メディアガイドアプリケーションおよび任意の好適なコンテンツは、３Ｄで表示されてもよい。ビデオカードまたはグラフィックカードは、ディスプレイ６１２への出力を生成してもよい。ビデオカードは、３Ｄシーンおよび２Ｄグラフィックのレンダリングの加速、ＭＰＥＧ−２／ＭＰＥＧ−４デコード、ＴＶ出力、または複数のモニタを接続する能力等の種々の機能を提供し得る。ビデオカードは、制御回路６０４に関連して上記で説明される任意の処理回路であってもよい。ビデオカードは、制御回路６０４と統合されてもよい。スピーカ６１４は、ユーザ機器デバイス６００の他の要素と統合されたものとして提供されてもよい、または独立型ユニットであってもよい。ディスプレイ６１２上に表示されるビデオおよび他のコンテンツのオーディオコンポーネントは、スピーカ６１４を通して再生されてもよい。いくつかの実施形態では、オーディオは、スピーカ６１４を介して音声を処理および出力する、受信機（図示せず）に配布されてもよい。
【０１０６】
ガイドアプリケーションは、任意の好適なアーキテクチャを使用して実装されてもよい。例えば、これは、ユーザ機器デバイス６００上で完全に実装される、独立型アプリケーションであってもよい。そのようなアプローチでは、アプリケーションの命令は、ローカルで（例えば、記憶装置６０８の中に）記憶され、アプリケーションによって使用するためのデータは、周期的にダウンロードされる（例えば、帯域外フィードから、インターネットリソースから、または別の好適なアプローチを使用して）。制御回路６０４は、記憶装置６０８からアプリケーションの命令を読み出し、本明細書で議論される表示のうちのいずれかを生成するための命令を処理してもよい。処理された命令に基づいて、制御回路６０４は、入力が入力インターフェース６１０から受信されるときに実施するアクションを決定してもよい。例えば、表示上のカーソルの上／下への移動は、入力インターフェース６１０が上／下ボタンが選択されたことを示すとき、処理された命令によって示されてもよい。
【０１０７】
いくつかの実施形態では、メディアガイドアプリケーションは、クライアントサーバベースのアプリケーションである。ユーザ機器デバイス６００上に実装される、シックまたはシンクライアントによって使用するためのデータは、ユーザ機器デバイス６００の遠隔にあるサーバに要求を発行することによって、オンデマンドで読み出される。クライアントサーバベースのガイドアプリケーションの一実施例では、制御回路６０４は、遠隔サーバによって提供されるウェブページを解釈する、ウェブブラウザを起動する。例えば、遠隔サーバは、記憶デバイス内にアプリケーションのための命令を記憶してもよい。遠隔サーバは、回路（例えば、制御回路６０４）を使用して、記憶された命令を処理し、上記および下記で議論される表示を生成してもよい。クライアントデバイスは、遠隔サーバによって生成される表示を受信してもよく、表示のコンテンツを機器デバイス６００上でローカルで表示してもよい。このように、命令の処理が、サーバによって遠隔で実施される一方、結果として生じる表示は、機器デバイス６００上にローカルで提供される。機器デバイス６００は、入力インターフェース６１０を介して、ユーザからの入力を受信し、対応する表示を処理および生成するために、それらの入力を遠隔サーバに伝送してもよい。例えば、機器デバイス６００は、上／下ボタンが入力インターフェース６１０を介して選択されたことを示す、通信を遠隔サーバに伝送してもよい。遠隔サーバは、その入力に従って命令を処理し、入力に対応するアプリケーションの表示を生成してもよい（例えば、カーソルを上／下に移動させる表示）。生成された表示は、次いで、ユーザへの提示のために、機器デバイス６００に伝送される。
【０１０８】
いくつかの実施形態では、メディアガイドアプリケーションは、インタープリタまたは仮想マシン（制御回路６０４によって起動される）によって、ダウンロードされ、解釈または別様に起動される。いくつかの実施形態では、ガイドアプリケーションは、ＥＴＶバイナリ交換形式（ＥＴＶ  Ｂｉｎａｒｙ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ／ＥＢＩＦ）でエンコードされ、好適なフィードの一部として制御回路６０４によって受信され、制御回路６０４上で起動するユーザエージェントによって解釈されてもよい。例えば、ガイドアプリケーションは、ＥＢＩＦアプリケーションであってもよい。いくつかの実施形態では、ガイドアプリケーションは、制御回路６０４によって実行されるローカル仮想マシンまたは他の好適なミドルウェアによって受信および起動される、一連のＪＡＶＡ（登録商標）ベースのファイルによって定義されてもよい。そのような実施形態のうちのいくつか（例えば、ＭＰＥＧ−２または他のデジタルメディアエンコードスキームを採用するもの）では、ガイドアプリケーションは、例えば、番組のＭＰＥＧオーディオおよびビデオパケットを用いたＭＰＥＧ−２オブジェクトカルーセルにおいてエンコードおよび伝送されてもよい。
【０１０９】
図６のユーザ機器デバイス６００は、ユーザテレビ機器７０２、ユーザコンピュータ機器７０４、無線ユーザ通信デバイス７０６、または非携帯用ゲーム機等のコンテンツにアクセスするために好適な任意の他のタイプのユーザ機器として、図７のシステム７００に実装されることができる。簡単にするために、これらのデバイスは、本明細書では総称して、ユーザ機器またはユーザ機器デバイスと称されてもよく、上記で説明されるユーザ機器デバイスに実質的に類似し得る。メディアガイドアプリケーションが実装され得る、ユーザ機器デバイスは、独立型デバイスとして機能してもよい、またはデバイスのネットワークの一部であってもよい。デバイスの種々のネットワーク構成が実装されてもよく、下記でより詳細に議論される。
【０１１０】
図６に関連して上記で説明されるシステム特徴のうちの少なくともいくつかを利用する、ユーザ機器デバイスは、単に、ユーザテレビ機器７０２、ユーザコンピュータ機器７０４、または無線ユーザ通信デバイス７０６として分類されなくてもよい。例えば、ユーザテレビ機器７０２は、いくつかのユーザコンピュータ機器７０４のように、インターネットコンテンツへのアクセスを可能にするインターネット対応型であり得る一方で、ユーザコンピュータ機器７０４は、あるテレビ機器７０２のように、テレビ番組へのアクセスを可能にするチューナを含んでもよい。メディアガイドアプリケーションはまた、種々の異なるタイプのユーザ機器上で同一のレイアウトを有してもよい、またはユーザ機器の表示能力に合わせられてもよい。例えば、ユーザコンピュータ機器７０４上では、ガイドアプリケーションは、ウェブブラウザによってアクセスされるウェブサイトとして提供されてもよい。別の実施例では、ガイドアプリケーションは、無線ユーザ通信デバイス７０６用に縮小されてもよい。
【０１１１】
システム７００では、典型的には、各タイプのユーザ機器デバイスが１つを上回って存在するが、図面が複雑になり過ぎることを回避するように、それぞれ１つだけが図７に示されている。加えて、各ユーザは、１つを上回るタイプのユーザ機器デバイスと、また、各タイプのユーザ機器デバイスのうちの１つを上回るものとを利用してもよい。
【０１１２】
いくつかの実施形態では、ユーザ機器デバイス（例えば、ユーザテレビ機器７０２、ユーザコンピュータ機器７０４、無線ユーザ通信デバイス７０６）は、「第２の画面デバイス」と称されてもよい。例えば、第２の画面デバイスは、第１のユーザ機器デバイス上に提示されるコンテンツを補完してもよい。第２の画面デバイス上に提示されるコンテンツは、第１のデバイス上に提示されるコンテンツを補完する、任意の好適なコンテンツであってもよい。いくつかの実施形態では、第２の画面デバイスは、第１のデバイスの設定および表示選好を調節するためのインターフェースを提供する。いくつかの実施形態では、第２の画面デバイスは、他の第２の画面デバイスと相互作用する、またはソーシャルネットワークと相互作用するために構成される。第２の画面デバイスは、第１のデバイスと同一の部屋内に、第１のデバイスと異なる部屋であるが、同一の家または建物内に、または第１のデバイスと異なる建物内に位置することができる。
【０１１３】
ユーザはまた、家庭内デバイスおよび遠隔デバイスにわたって一貫したメディアガイドアプリケーション設定を維持するように、種々の設定を設定してもよい。設定は、本明細書に説明されるもの、およびお気に入りのチャネルおよび番組、番組を推奨するためにガイドアプリケーションが利用する番組選好、表示選好、および他の望ましいガイド設定を含む。例えば、ユーザが、そのオフィスのパーソナルコンピュータ上、例えば、ウェブサイトｗｗｗ．Ｔｉｖｏ．ｃｏｍの上で、チャネルをお気に入りとして設定した場合、同一のチャネルが、ユーザの家庭内デバイス（例えば、ユーザテレビ機器およびユーザコンピュータ機器）上で、および所望に応じて、ユーザのモバイルデバイス上でお気に入りとして表示されるであろう。したがって、同一または異なるタイプのユーザ機器デバイスであるかどうかにかかわらず、１つのユーザ機器デバイス上で行われる変更は、別のユーザ機器デバイス上のガイド体験を変更することができる。加えて、行われる変更は、ユーザによって入力される設定、およびガイドアプリケーションによって監視されるユーザアクティビティに基づいてもよい。
【０１１４】
ユーザ機器デバイスは、通信ネットワーク７１４に結合されてもよい。すなわち、ユーザテレビ機器７０２、ユーザコンピュータ機器７０４、および無線ユーザ通信デバイス７０６は、それぞれ、通信パス７０８、７１０、および７１２を介して、通信ネットワーク７１４に結合される。通信ネットワーク７１４は、インターネット、携帯電話ネットワーク、モバイルボイスまたはデータネットワーク（例えば、４ＧまたはＬＴＥネットワーク）、ケーブルネットワーク、公衆交換電話ネットワーク、または他のタイプの通信ネットワーク、または通信ネットワークの組み合わせを含む、１つ以上のネットワークであってもよい。パス７０８、７１０、および７１２は、別個または一緒に、衛星パス、光ファイバパス、ケーブルパス、インターネット通信をサポートするパス（例えば、ＩＰＴＶ）、フリースペース接続（例えば、放送または他の無線信号用）、または任意の他の好適な有線または無線通信パス、またはそのようなパスの組み合わせ等の１つ以上の通信パスを含んでもよい。パス７１２は、図７に示される例示的実施形態では、無線パスであることを示すように破線で描かれ、パス７０８および７１０は、有線パスであることを示すように実線として描かれている（しかし、これらのパスは、所望に応じて、無線パスであってもよい）。ユーザ機器デバイスとの通信は、これらの通信パスのうちの１つ以上のものによって提供されてもよいが、図７では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。
【０１１５】
通信パスは、ユーザ機器デバイスの間には描かれていないが、これらのデバイスは、パス７０８、７１０、および７１２に関連して上記で説明されるもの、およびＵＳＢケーブル、ＩＥＥＥ  １３９４ケーブル、無線パス（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、赤外線、ＩＥＥＥ  ８０２−１１ｘ等）等の他の短距離ポイントツーポイント通信パス、または有線または無線パスを介した他の短距離通信等を介して、相互に直接通信してもよい。ＢＬＵＥＴＯＯＴＨ（登録商標）は、Ｂｌｕｅｔｏｏｔｈ（登録商標）  ＳＩＧ，  ＩＮＣ．によって所有される認証マークである。ユーザ機器デバイスはまた、通信ネットワーク７１４を介した間接パスを通して、相互に直接通信してもよい。
【０１１６】
システム７００は、それぞれ、通信パス７２０および７２２を介して、通信ネットワーク７１４に結合される、コンテンツソース７１６およびメディアガイドデータソース７１８を含む。パス７２０および７２２は、パス７０８、７１０、および７１２に関連して上記で説明される通信パスのうちのいずれかを含んでもよい。コンテンツソース７１６およびメディアガイドデータソース７１８との通信は、１つ以上の通信パスを介して交信されてもよいが、図７では、図面が複雑になり過ぎることを回避するように、単一パスとして示される。加えて、コンテンツソース７１６およびメディアガイドデータソース７１８のそれぞれが１つを上回って存在し得るが、図７では、図面が複雑になり過ぎることを回避するように、それぞれ１つだけが示されている。（異なるタイプのこれらのソースのそれぞれが下記で議論される）。所望に応じて、コンテンツソース７１６およびメディアガイドデータソース７１８は、１つのソースデバイスとして統合されてもよい。ソース７１６および７１８と、ユーザ機器デバイス７０２、７０４、および７０６との間の通信は、通信ネットワーク７１４を通したものとして示されるが、いくつかの実施形態では、ソース７１６および７１８は、パス７０８、７１０、および７１２に関連して上記で説明されるもの等の通信パス（図示せず）を介して、ユーザ機器デバイス７０２、７０４、および７０６と直接通信してもよい。
【０１１７】
コンテンツソース７１６は、テレビ配信施設、ケーブルシステムヘッドエンド、衛星配信施設、番組ソース（例えば、ＮＢＣ、ＡＢＣ、ＨＢＯ等のテレビ放送会社）、中間配信施設および／またはサーバ、インターネットプロバイダ、オンデマンドメディアサーバ、および他のコンテンツプロバイダを含む、１つ以上のタイプのコンテンツ配信機器を含んでもよい。ＮＢＣは、Ｎａｔｉｏｎａｌ  Ｂｒｏａｄｃａｓｔｉｎｇ  Ｃｏｍｐａｎｙ，  Ｉｎｃ．によって所有される商標であり、ＡＢＣは、Ａｍｅｒｉｃａｎ  Ｂｒｏａｄｃａｓｔｉｎｇ  Ｃｏｍｐａｎｙ，  ＩＮＣ．によって所有される商標であり、ＨＢＯは、Ｈｏｍｅ  Ｂｏｘ  Ｏｆｆｉｃｅ，  Ｉｎｃ．によって所有される商標である。コンテンツソース７１６は、コンテンツの発信元であってもよい（例えば、テレビ放送会社、ウェブキャストプロバイダ等）、またはコンテンツの発信元でなくてもよい（例えば、オンデマンドコンテンツプロバイダ、ダウンロード用放送番組のコンテンツのインターネットプロバイダ等）。コンテンツソース７１６は、ケーブルソース、衛星プロバイダ、オンデマンドプロバイダ、インターネットプロバイダ、オーバーザトップコンテンツプロバイダ、または他のコンテンツのプロバイダを含んでもよい。コンテンツソース７１６はまた、ユーザ機器デバイスのうちのいずれかから遠隔の場所にある、異なるタイプのコンテンツ（ユーザによって選択されるビデオコンテンツを含む）を記憶するために使用される、遠隔メディアサーバを含んでもよい。コンテンツの遠隔記憶のため、および遠隔に記憶されたコンテンツをユーザ機器に提供するためのシステムおよび方法は、２０１０年７月２０日出願のＥｌｌｉｓ  ｅｔ  ａｌ．の米国特許出願第７，７６１，８９２号（その全体において参照することによって本明細書に組み込まれる）に関連して、より詳細に議論されている。
【０１１８】
メディアガイドデータソース７１８は、上記で説明されるメディアガイドデータ等のメディアガイドデータを提供してもよい。メディアガイドデータは、任意の好適なアプローチを使用して、ユーザ機器デバイスに提供されてもよい。いくつかの実施形態では、ガイドアプリケーションは、データフィード（例えば、継続フィードまたはトリクルフィード）を介して、番組ガイドデータを受信する、独立型双方向テレビ番組ガイドであってもよい。番組スケジュールデータおよび他のガイドデータは、テレビチャネルのサイドバンド上で、帯域内デジタル信号を使用して、帯域外デジタル信号を使用して、または任意の他の好適なデータ伝送技術によって、ユーザ機器に提供されてもよい。番組スケジュールデータおよび他のメディアガイドデータは、複数のアナログまたはデジタルテレビチャネル上でユーザ機器に提供されてもよい。
【０１１９】
いくつかの実施形態では、メディアガイドデータソース７１８からのガイドデータは、クライアントサーバアプローチを使用して、ユーザの機器に提供されてもよい。例えば、ユーザ機器デバイスは、メディアガイドデータをサーバからプルしてもよい、またはサーバは、メディアガイドデータをユーザ機器デバイスにプッシュしてもよい。いくつかの実施形態では、ユーザの機器上に常駐するガイドアプリケーションクライアントは、必要に応じて、例えば、ガイドデータが、古くなっているとき、またはユーザ機器デバイスが、データを受信する要求をユーザから受信するとき、ソース７１８とセッションを開始し、ガイドデータを取得してもよい。メディアガイドは、任意の好適な頻度で（例えば、継続的に、毎日、ユーザ規定期間で、システム規定期間で、ユーザ機器からの要求に応答して等）ユーザ機器に提供されてもよい。メディアガイドデータソース７１８は、ユーザ機器デバイス７０２、７０４、および７０６に、メディアガイドアプリケーション自体、またはメディアガイドアプリケーションのソフトウェア更新を提供してもよい。
【０１２０】
いくつかの実施形態では、メディアガイドデータは、視聴者データを含んでもよい。例えば、視聴者データは、現在および／または履歴ユーザアクティビティ情報（例えば、ユーザが典型的に鑑賞するコンテンツ、ユーザがコンテンツを鑑賞する時刻、ユーザがソーシャルネットワークと相互作用するかどうか、ユーザがソーシャルネットワークと相互作用し、情報をポストする時間、ユーザが典型的に鑑賞するコンテンツのタイプ（例えば、有料ＴＶまたは無料ＴＶ）、気分、脳の活動情報等）を含んでもよい。メディアガイドデータはまた、サブスクリプションデータを含んでもよい。例えば、サブスクリプションデータは、所与のユーザがサブスクライブするソースまたはサービス、および／または所与のユーザが以前にサブスクライブしていたが後にアクセスを打ち切ったソースまたはサービス（例えば、ユーザがプレミアムチャネルをサブスクライブしているかどうか、ユーザがプレミアムレベルのサービスを追加したかどうか、ユーザがインターネット速度を加速させたかどうか）を識別してもよい。いくつかの実施形態では、視聴者データおよび／またはサブスクリプションデータは、１年を上回る周期の間の所与のユーザのパターンを識別してもよい。メディアガイドデータは、所与のユーザがサービス／ソースへのアクセスを打ち切るであろう可能性を示すスコアを生成するために使用される、モデル（例えば、残存者モデル）を含んでもよい。例えば、メディアガイドアプリケーションは、所与のユーザが特定のサービスまたはソースへのアクセスを打ち切るであろうかどうかの可能性を示す、値またはスコアを生成するためのモデルを併用して、サブスクリプションデータとともに視聴者データを処理してもよい。特に、より高いスコアは、ユーザが特定のサービスまたはソースへのアクセスを打ち切るであろう、より高いレベルの信頼性を示し得る。スコアに基づいて、メディアガイドアプリケーションは、ユーザがアクセスを打ち切る可能性が高いであろうものとしてスコアによって示される特定のサービスまたはソースをユーザが維持するように勧誘する宣伝を生成してもよい。
【０１２１】
メディアガイドアプリケーションは、例えば、ユーザ機器デバイス上に実装される独立型アプリケーションであってもよい。例えば、メディアガイドアプリケーションは、記憶装置６０８内に記憶され、ユーザ機器デバイス６００の制御回路６０４によって実行され得る、ソフトウェアまたは実行可能命令のセットとして実装されてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、クライアント−サーバアプリケーションであってもよく、その場合、クライアントアプリケーションのみが、ユーザ機器デバイス上に常駐し、サーバアプリケーションは、遠隔サーバ上に常駐する。例えば、メディアガイドアプリケーションは、部分的にユーザ機器デバイス６００の制御回路６０４上のクライアントアプリケーションとして、および遠隔サーバの制御回路上で起動するサーバアプリケーション（例えば、メディアガイドデータソース７１８）として部分的に遠隔サーバ上で、実装されてもよい。遠隔サーバの制御回路（メディアガイドデータソース７１８等）によって実行されると、メディアガイドアプリケーションは、制御回路に、ガイドアプリケーション表示を生成し、生成された表示をユーザ機器デバイスに伝送するように命令してもよい。サーバアプリケーションは、メディアガイドデータソース７１８の制御回路に、ユーザ機器上での記憶のためのデータを伝送するように命令してもよい。クライアントアプリケーションは、受信用ユーザ機器の制御回路に、ガイドアプリケーション表示を生成するように命令してもよい。
【０１２２】
ユーザ機器デバイス７０２、７０４、および７０６に配信されるコンテンツおよび／またはメディアガイドデータは、オーバーザトップ（ＯＴＴ）コンテンツであってもよい。ＯＴＴコンテンツ配信は、上記で説明される任意のユーザ機器デバイスを含む、インターネット対応型ユーザデバイスが、ケーブルまたは衛星接続を経由して受信されるコンテンツに加えて、上記で説明される任意のコンテンツを含む、インターネットを経由して転送されるコンテンツを受信することを可能にする。ＯＴＴコンテンツは、インターネットサービスプロバイダ（ＩＳＰ）によって提供されるインターネット接続を介して配布されるが、第三者も、コンテンツを配布する。ＩＳＰは、視聴能力、著作権、またはコンテンツの再配布に責任がない場合があり、ＯＴＴコンテンツプロバイダによって提供されるＩＰパケットのみを転送してもよい。ＯＴＴコンテンツプロバイダの実施例は、ＩＰパケットを介して、オーディオおよびビデオを提供する、ＹＯＵＴＵＢＥ（登録商標）、ＮＥＴＦＬＩＸ（登録商標）およびＨＵＬＵ（登録商標）を含む。Ｙｏｕｔｕｂｅは、Ｇｏｏｇｌｅ  Ｉｎｃ．によって所有される商標であり、Ｎｅｔｆｌｉｘは、Ｎｅｔｆｌｉｘ，  Ｉｎｃ．によって所有される商標であり、Ｈｕｌｕは、Ｈｕｌｕ，  ＬＬＣ．によって所有される商標である。ＯＴＴコンテンツプロバイダは、加えて、または代替として、上記で説明されるメディアガイドデータを提供してもよい。コンテンツおよび／またはメディアガイドデータに加えて、ＯＴＴコンテンツのプロバイダは、メディアガイドアプリケーション（例えば、ウェブベースのアプリケーションまたはクラウドベースのアプリケーション）を配布することができる、またはコンテンツは、ユーザ機器デバイス上に記憶されたメディアガイドアプリケーションによって表示されることができる。
【０１２３】
メディアガイドシステム７００は、いくつかのアプローチまたはネットワーク構成を例証することを意図しており、これによって、ユーザ機器デバイスおよびコンテンツおよびガイドデータのソースは、コンテンツにアクセスし、メディアガイドを提供する目的のために、相互に通信してもよい。本明細書に説明される実施形態は、これらのアプローチのうちのいずれか１つまたは一部において、またはコンテンツを配信し、メディアガイドを提供するための他のアプローチを採用するシステムにおいて、適用されてもよい。以下の４つのアプローチは、図７の一般化された実施例の具体的例証を提供する。
【０１２４】
あるアプローチでは、ユーザ機器デバイスは、ホームネットワーク内で相互に通信してもよい。ユーザ機器デバイスは、上記で説明される短距離ポイントツーポイント通信方式を介して、ホームネットワーク上に提供されるハブまたは他の類似デバイスを通した間接パスを介して、または通信ネットワーク７１４を介して、相互に直接通信することができる。１つの家庭内の複数の個人のそれぞれが、ホームネットワーク上の異なるユーザ機器デバイスを動作させてもよい。結果として、種々のメディアガイド情報または設定が、異なるユーザ機器デバイスの間で通信されることが望ましくあり得る。例えば、２００５年７月１１日出願のＥｌｌｉｓ  ｅｔ  ａｌ．の米国特許公開第２００５／０２５１８２７号でより詳細に説明されるように、ホームネットワーク内の異なるユーザ機器デバイス上で、ユーザが一貫したメディアガイドアプリケーション設定を維持することが望ましくあり得る。ホームネットワーク内の異なるタイプのユーザ機器デバイスもまた、相互に通信し、コンテンツを伝送してもよい。例えば、ユーザは、ユーザコンピュータ機器から携帯用ビデオプレーヤまたは携帯用音楽プレーヤにコンテンツを伝送してもよい。
【０１２５】
第２のアプローチでは、ユーザは、複数のタイプのユーザ機器を有してもよく、これによって、コンテンツにアクセスし、メディアガイドを取得する。例えば、一部のユーザは、家庭内およびモバイルデバイスによってアクセスされる、ホームネットワークを有してもよい。ユーザは、遠隔デバイス上に実装されるメディアガイドアプリケーションを介して、家庭内デバイスを制御してもよい。例えば、ユーザは、そのオフィスのパーソナルコンピュータ、またはＰＤＡまたはウェブ対応携帯電話等のモバイルデバイスを介して、ウェブサイト上のオンラインメディアガイドアプリケーションにアクセスしてもよい。ユーザは、オンラインガイドアプリケーション上で種々の設定（例えば、録画、リマインダ、または他の設定）を設定して、ユーザの家庭内機器を制御してもよい。オンラインガイドは、直接、またはユーザの家庭内機器上のメディアガイドアプリケーションと通信することによって、ユーザの機器を制御してもよい。ユーザ機器デバイスが相互から遠隔の場所にある、ユーザ機器デバイスの通信のための種々のシステムおよび方法は、例えば、Ｅｌｌｉｓ  ｅｔ  ａｌ．の２０１１年１０月２５日発行の米国特許第８，０４６，８０１号（その全体において参照することによって本明細書に組み込まれる）で議論されている。
【０１２６】
第３のアプローチでは、家庭内外のユーザ機器デバイスのユーザは、コンテンツソース７１６と直接通信し、コンテンツにアクセスするために、そのメディアガイドアプリケーションを使用することができる。具体的には、家庭内では、ユーザテレビ機器７０２およびユーザコンピュータ機器７０４のユーザは、メディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。ユーザはまた、無線ユーザ通信デバイス７０６を使用して、家庭外のメディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。
【０１２７】
第４のアプローチでは、ユーザ機器デバイスは、クラウドコンピューティング環境内で動作し、クラウドサービスにアクセスしてもよい。クラウドコンピューティング環境では、コンテンツ共有、記憶、または配布のための種々のタイプのコンピューティングサービス（例えば、ビデオ共有サイトまたはソーシャルネットワーキングサイト）が、「クラウド」と称される、ネットワークアクセス可能コンピューティングおよび記憶リソースの集合によって提供される。例えば、クラウドは、通信ネットワーク７１４を介したインターネット等のネットワークを介して接続される、種々のタイプのユーザおよびデバイスにクラウドベースのサービスを提供する、中央にまたは分散場所に位置し得る、サーバコンピューティングデバイスの集合を含むことができる。これらのクラウドリソースは、１つ以上のコンテンツソース７１６および１つ以上のメディアガイドデータソース７１８を含んでもよい。加えて、または代替として、遠隔コンピューティングサイトは、ユーザテレビ機器７０２、ユーザコンピュータ機器７０４、および無線ユーザ通信デバイス７０６等の他のユーザ機器デバイスを含んでもよい。例えば、他のユーザ機器デバイスは、ビデオの記憶されたコピーまたはストリーミングされたビデオへのアクセスを提供してもよい。そのような実施形態では、ユーザ機器デバイスは、中央サーバと通信することなく、ピアツーピア様式で動作してもよい。
【０１２８】
クラウドは、ユーザ機器デバイスのために、他の実施例の中でもとりわけ、コンテンツ記憶、コンテンツ共有、またはソーシャルネットワーキングサービス等のサービスへのアクセス、および上記で説明される任意のコンテンツへのアクセスを提供する。サービスは、クラウドコンピューティングサービスプロバイダを通して、またはオンラインサービスの他のプロバイダを通して、クラウド内で提供されることができる。例えば、クラウドベースのサービスは、コンテンツ記憶サービス、コンテンツ共有サイト、ソーシャルネットワーキングサイト、または他のサービスを含むことができ、それを介して、ユーザ供給コンテンツは、接続されたデバイス上で他者によって視聴するために配布される。これらのクラウドベースのサービスは、ユーザ機器デバイスが、コンテンツをローカルで記憶し、ローカルで記憶されたコンテンツにアクセスするのではなく、コンテンツをクラウドに記憶し、コンテンツをクラウドから受信することを可能にしてもよい。
【０１２９】
ユーザは、カムコーダ、ビデオモード付きデジタルカメラ、オーディオレコーダ、携帯電話、およびハンドヘルドコンピューティングデバイス等の種々のコンテンツ捕捉デバイスを使用して、コンテンツを録画してもよい。ユーザは、直接、例えば、ユーザコンピュータ機器７０４から、またはコンテンツ捕捉特徴を有する無線ユーザ通信デバイス７０６からのいずれかにおいて、クラウド上のコンテンツ記憶サービスにコンテンツをアップロードすることができる。代替として、ユーザは、最初に、コンテンツをユーザコンピュータ機器７０４等のユーザ機器デバイスに転送することができる。コンテンツを記憶するユーザ機器デバイスは、通信ネットワーク７１４上のデータ伝送サービスを使用して、コンテンツをクラウドにアップロードする。いくつかの実施形態では、ユーザ機器デバイス自体が、クラウドリソースであり、他のユーザ機器デバイスは、直接、ユーザがコンテンツを記憶したユーザ機器デバイスから、コンテンツにアクセスすることができる。
【０１３０】
クラウドリソースは、例えば、ウェブブラウザ、メディアガイドアプリケーション、デスクトップアプリケーション、モバイルアプリケーション、および／またはそれらのアクセスアプリケーションの任意の組み合わせを使用して、ユーザ機器デバイスによってアクセスされてもよい。ユーザ機器デバイスは、アプリケーション配信のためにクラウドコンピューティングに依拠する、クラウドクライアントであってもよい、またはユーザ機器デバイスは、クラウドリソースにアクセスすることなく、ある機能性を有してもよい。例えば、ユーザ機器デバイス上で起動するいくつかのアプリケーションは、クラウドアプリケーション、すなわち、インターネットを経由して、サービスとして配信されるアプリケーションであってもよい一方で、他のアプリケーションは、ユーザ機器デバイス上に記憶され、起動されてもよい。いくつかの実施形態では、ユーザデバイスは、コンテンツを複数のクラウドリソースから同時に受信してもよい。例えば、ユーザデバイスは、オーディオを１つのクラウドリソースからストリーミングする一方で、コンテンツを第２のクラウドリソースからダウンロードすることができる。または、ユーザデバイスは、より効率的なダウンロードのために、コンテンツを複数のクラウドリソースからダウンロードすることができる。いくつかの実施形態では、ユーザ機器デバイスは、図６に関連して説明される処理回路によって実施される処理動作等の処理動作のために、クラウドリソースを使用することができる。
【０１３１】
本明細書で参照されるように、用語「〜に応答して」は、「〜の結果として開始される」ことを指す。例えば、第２のアクションに応答して実施されている第１のアクションは、第１のアクションと第２のアクションとの間に介在ステップを含んでもよい。本明細書で参照されるように、用語「〜に直接応答して」は、「〜によって引き起こされる」ことを指す。例えば、第２のアクションに直接応答して実施されている第１のアクションは、第１のアクションと第２のアクションとの間に介在ステップを含まなくてもよい。
【０１３２】
図８は、本開示のいくつかの実施形態による、複数のソースからの検索結果を提示するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス８００は、制御回路６０４（図６）によって実行されてもよい。プロセス８００またはその任意のステップは、図６−７に示されるデバイスのうちのいずれかの上で実施される、またはそれによって提供され得ることに留意されたい。
【０１３３】
プロセス８００は、メディアガイドアプリケーションがユーザ入力を（例えば、制御回路６０４（図６）を介して）受信する、８０２から開始する。例えば、メディアガイドアプリケーションは、ユーザ入力インターフェース（例えば、ユーザ入力インターフェース６１０（図６））を介して、ユーザ入力を（例えば、制御回路６０４（図６）を介して）受信してもよい。ユーザ入力は、１つまたは複数の英数字または他の文字の列であってもよい。代替として、または加えて、ユーザ入力は、共通検索クエリを用いて複数の選択可能なオプションのうちの１つを選択するステップであってもよい。例えば、メディアガイドアプリケーションは、ユーザが選択するための選択可能なオプションとして、最も一般的に検索されるキーワードを（例えば、制御回路６０４（図６）を介して）提示し、ユーザが文字を入力する必要があり得る時間を節約してもよい。
【０１３４】
プロセス８００は、メディアガイドアプリケーションが、ユーザ入力に基づいて、第１のソースおよび第２のソースからの結果を（例えば、制御回路６０４（図６）を介して）検索する、８０４に続く。例えば、メディアガイドアプリケーションは、ユーザ入力を第１のソースおよび第２のソースに（例えば、通信ネットワーク７１４（図７）を介してコンテンツソース７１６に）（例えば、制御回路６０４（図６）を介して）伝送してもよい。例えば、メディアガイドアプリケーションは、検索のためのユーザ入力（例えば、文字列）および／または他のパラメータ（例えば、結果がある時間周期中にあるべきである）を含む、データパケットを生成してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、ソースの一方または両方からのＡＰＩを利用し、（例えば、ユーザ入力に基づいて）検索クエリを（例えば、制御回路６０４（図６）を介して）伝送してもよい。メディアガイドアプリケーションは、具体的ソースの（例えば、記憶装置６０８（図６）の中にローカルで、または通信ネットワーク７１４（図７）を介してアクセス可能なメディアガイドデータソース７１８において遠隔に記憶された）ユーザ選好に基づいて、ユーザ入力を伝送するためのソースを（例えば、制御回路６０４（図６）を介して）決定してもよい。例えば、ユーザは、検索クエリがソースの特定のセットに（例えば、ＡＭＡＺＯＮ（登録商標）およびＨＵＬＵ（登録商標）に）送信されるべきであるという選好を記憶してもよい。代替として、または加えて、メディアガイドアプリケーションは、ユーザ入力時にグラフィカルユーザインターフェースを（例えば、制御回路６０４（図６）を介して）生成し、ユーザがソースを選択することを可能にしてもよい。例えば、メディアガイドアプリケーションは、ユーザが、ソースが結果を検索するための文字列（例えば、ユーザ入力）および一連の選択可能なオプションを（例えば、ユーザ入力インターフェース６１０（図６）を介して）入力し得る、フィールドを（例えば、制御回路６０４（図６）を介して）生成してもよい。
【０１３５】
プロセス８００は、メディアガイドアプリケーションが、第１のソースから第１の検索結果および第２のソースから第２の検索結果を（例えば、制御回路６０４（図６）を介して）受信する、８０６に続く。例えば、メディアガイドアプリケーションは、両方のソースから（例えば、コンテンツソース７１６（図７）から）のユーザ入力に合致する、複数の結果を（例えば、制御回路６０４（図６）を介して）受信してもよい。各ソースからの結果は、各テーブルが、合致する結果の識別子（例えば、メディアアセットのタイトル）および関連付けられるフィールド内の付加的情報（例えば、メディアアセットの中の俳優）をそれぞれ伴う、複数の行を含有する、別個のテーブルの中で、メディアガイドアプリケーションによって（例えば、制御回路６０４（図６）を介して）受信されてもよい。いくつかの実施形態では、結果は、人気に従ってランク付けされてもよい。代替として、または加えて、結果は、ユーザ入力への関連性に従ってランク付けされてもよい。例えば、「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」が最も人気のある結果（例えば、多くのユーザがそれをクリックする）であるにもかかわらず、ユーザ入力が「Ｂａｎｇ」であるため、Ｍｉｌｅｙ  Ｃｙｒｕｓによるアルバムである、結果「Ｂａｎｇｅｒｚ」は、第１の言葉がクエリに合致されるため、より高くランク付けされてもよい。代替として、または加えて、メディアガイドアプリケーションは、上記で議論される要因の任意の組み合わせに基づいて、およびユーザ選好に基づいて、（例えば、制御回路６０４（図６）を介して）結果を並べ替えてもよい。例えば、メディアガイドアプリケーションが、（例えば、記憶装置６０８（図６）の中にローカルで、または通信ネットワーク７１４（図７）を介してアクセス可能なメディアガイドデータソース７１８において遠隔に記憶された）ユーザが所与の俳優が出演する映画を好むというユーザ選好を（例えば、制御回路６０４（図６）を介して）読み出す場合、その俳優を伴う結果が、ランキングの中で上昇されてもよい。
【０１３６】
プロセス８００は、メディアガイドアプリケーションが、第２のソースと比べて第１のソースの選好を示す、ユーザ選好を（例えば、制御回路６０４（図６）を介して）読み出す、８０８に続く。例えば、メディアガイドアプリケーションは、ローカルで（例えば、記憶装置６０８（図６）の中に）、またはサーバにおいて遠隔に（例えば、通信ネットワーク７１４（図７）を介してアクセス可能なメディアガイドデータソース７１８において）記憶されたユーザプロファイルを（例えば、制御回路６０４（図６）を介して）読み出してもよい。メディアガイドアプリケーションは、図９に関して下記でさらに説明されるように、ユーザプロファイルから検索選好を（例えば、制御回路６０４（図６）を介して）読み出してもよい。例えば、メディアガイドアプリケーションは、ユーザによって設定されるソースのランキングを（例えば、制御回路６０４（図６）を介して）記憶してもよい。具体的実施例として、メディアガイドアプリケーションは、ユーザが、ソース（例えば、ＨＵＬＵ（登録商標）、ＡＭＡＺＯＮ（登録商標）等）を特定の順序にドラッグアンドドロップし、その選好を反映し得る、（例えば、ディスプレイ６１２（図６）上の）グラフィカルユーザインターフェースを生成してもよい。メディアガイドアプリケーションは、次いで、ランクおよび各ソースの識別子を（例えば、アレイの中に）記憶してもよい。メディアガイドアプリケーションは、ユーザによって設定されるソースの記憶されたランクを（例えば、制御回路６０４（図６）を介して）読み出し、第１および第２のソースの個別のランクを決定してもよい。例えば、メディアガイドアプリケーションは、文字列「ｈｕｌｕ」によって識別されるＨＵＬＵ（登録商標）が、「５」のランキングと関連付けられることを（例えば、制御回路６０４（図６）を介して）決定してもよい。ＡＭＡＺＯＮ（登録商標）のランキングが「３」である場合、メディアガイドアプリケーションは、ユーザがＨＵＬＵ（登録商標）よりＡＭＡＺＯＮ（登録商標）を好むことを（例えば、制御回路６０４（図６）を介して）決定してもよい。
【０１３７】
プロセス８００は、メディアガイドアプリケーションが、第２のソースと比べて第１のソースの選好を示す、読み出されたユーザ選好に基づいて、検索結果を伴う複数の行を備えるグリッドの第１の行内に第１のソースからの第１の検索結果を表示するために生成することを（例えば、制御回路６０４（図６）を介して）決定する、８１０に続く。例えば、メディアガイドアプリケーションは、第１のソースからの結果を生成するための特定の場所（例えば、行）を（例えば、制御回路６０４（図６）を介して）決定してもよい。いくつかの実施形態では、行は、第２のソースからの結果が提示される第２の行よりも画面（例えば、ディスプレイ６１２（図６））の上部に近い行に位置してもよい。
【０１３８】
プロセス８００は、メディアガイドアプリケーションが、第１の行に適合する第１の検索結果の第１のサブセットおよびグリッドの第２の行に適合する第２の検索結果の第２のサブセットを（例えば、制御回路６０４（図６）を介して）決定し、第１のサブセットは、第１の検索結果のうちの第１の結果を含み、第２のサブセットは、第２の検索結果のうちの第３の結果ではなくて第２の結果を含む、８１２に続く。例えば、メディアガイドアプリケーションは、第１の行および第２の行に適合する結果の数を（例えば、制御回路６０４（図６）を介して）決定してもよい。数は、一定であり得る（例えば、各行が、常に、３つの結果を含有する）、または結果の識別子の長さに基づいて変動し得る（例えば、多数の文字を伴う結果が、より多くの空間を占め、より少ない文字が、一度に表示されることができる）。いくつかの実施形態では、数は、第１の行および第２の行に関して異なり得る。例えば、ユーザ選好に基づいて好ましいことにより、より多くの結果が、第２の行よりも第１の行に関して表示されてもよい（例えば、第１の行が、より多くの表示空間を占め、２つの下位行内に結果を表示してもよい）。メディアガイドアプリケーションは、次いで、図１０に関して下記でさらに説明されるように、表示するために２つのソースからの受信された検索結果（例えば、第１および第２のサブセット）から適切な数の結果を（例えば、制御回路６０４（図６）を介して）選択してもよい。第１のサブセットは、第２のサブセットの中の第２の結果に合致する、第１の結果を含んでもよい。例えば、「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」は、第１および第２のサブセットの中に存在し得る。非重複結果をユーザに提示するために、メディアガイドアプリケーションは、第２の結果の代わりに、第１のサブセットの中の結果のうちの１つに合致しない、第２の検索結果のうちの第３の結果を（例えば、制御回路６０４（図６）を介して）選択してもよい。
【０１３９】
プロセス８００は、メディアガイドアプリケーションが、第１の結果と関連付けられるメタデータを第２の結果と関連付けられるメタデータと（例えば、制御回路６０４（図６）を介して）比較する、８１４に続く。例えば、メディアガイドアプリケーションは、ローカルで記憶装置（例えば、記憶装置６０８（図６））または（例えば、通信ネットワーク７１４（図７）を介してアクセス可能なメディアガイドデータソース７１８等の）遠隔サーバから、結果と関連付けられるメタデータを（例えば、制御回路６０４（図６）を介して）読み出してもよい。メディアガイドアプリケーションは、代替として、または加えて、ソース（例えば、コンテンツソース７１６（図７））から受信される結果と関連付けられるテーブルのフィールド内のメタデータを（例えば、制御回路６０４（図６）を介して）受信してもよい。メタデータは、結果と関連付けられるコンテンツを説明する結果に関連する任意のデータであってもよい。例えば、結果がニュース記事に関する場合、メタデータは、記事の著者、記事のタイプ（例えば、意見）、および／または出版物名（例えば、Ｎａｔｕｒｅ）を含んでもよい。メディアガイドアプリケーションは、２つの結果のメタデータの文字（例えば、属性）を反復して比較し、２つの結果が合致するかどうかを決定するためのプログラムスクリプトを（例えば、制御回路６０４（図６）を介して）実行してもよい。例えば、メディアガイドアプリケーションは、第１の結果と関連付けられる文字列「Ｍａｔｔ  Ｄａｍｏｎ」を、第２の結果と関連付けられる文字列「Ｍａｔｔ  Ｄｉｌｌｏｎ」と（例えば、制御回路６０４（図６）を介して）比較してもよい。
【０１４０】
プロセス８００は、メディアガイドアプリケーションが、比較に基づいて、第１の結果が第２の結果に合致することを（例えば、制御回路６０４（図６）を介して）決定する、８１６に続く。例えば、メディアガイドアプリケーションは、第１の結果と関連付けられる具体的属性の各文字が、第２の結果と関連付けられる対応する属性の各文字に合致する場合、２つの結果が合致することを（例えば、制御回路６０４（図６）を介して）決定してもよい。例えば、２つの結果が、俳優「Ｍａｔｔ  Ｄａｍｏｎ」を指すメタデータを含有する場合、メディアガイドアプリケーションは、メタデータが合致し、したがって、２つの結果が合致することを（例えば、制御回路６０４（図６）を介して）決定してもよい。代替として、または加えて、メディアガイドアプリケーションは、図１１に関してさらに説明されるように、第１の結果と関連付けられる全てのメタデータ（例えば、全ての属性）または閾値割合（例えば、５０％）が、第２の結果の対応するメタデータに合致するかどうかを（例えば、制御回路６０４（図６）を介して）決定してもよい。例えば、メディアガイドアプリケーションが、タイトル、監督、およびジャンル属性が２つの結果の間で合致することを（例えば、制御回路６０４（図６）を介して）決定する場合、メディアガイドアプリケーションは、２つの結果が、１つだけの属性が合致した場合よりも大きい信頼度を伴って合致することを決定してもよい。
【０１４１】
プロセス８００は、メディアガイドアプリケーションが、第２のサブセットの中の第２の結果を第３の結果と置換することによって、第２のサブセットを（例えば、制御回路６０４（図６）を介して）修正する、８１８に続く。例えば、２つの結果が同時に表示されるものである（例えば、それらが第１および第２のサブセットの中にある）と決定することに応じて、メディアガイドアプリケーションは、ユーザが好まないソースの結果を別の結果と（例えば、制御回路６０４（図６）を介して）置換する。例えば、「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」が、第１および第２のソース（例えば、ソース７１６（図７））の両方からの結果であり、第１および第２のサブセットの中にある場合、第２のサブセットの中の結果は、別の結果と置換されてもよい。図１−２に関して下記でさらに議論されるように、第２の結果に取って代わる結果は、ユーザ選好に基づく、または第２のソースからの検索結果の中の各結果のランキングに基づいてもよい。
【０１４２】
プロセス８００は、メディアガイドアプリケーションが、第１の行内の第１のサブセットおよび第２の行内の修正された第２のサブセットを表示するために（例えば、制御回路６０４（図６）を介して）生成する、８２０に続く。例えば、メディアガイドアプリケーションは、第１の行内で第１のサブセットの中の各結果の識別子を（例えば、制御回路６０４（図６）を介して）生成してもよい。具体的実施例として、識別子は、各結果を識別するテキストまたはグラフィックであってもよい。メディアガイドアプリケーションは、ソースから識別子を（例えば、制御回路６０４（図６）を介して）受信してもよい、またはローカル記憶装置（例えば、記憶装置６０８（図６））または遠隔サーバ（例えば、通信ネットワーク７１４（図７）を介してアクセスなメディアガイドデータソース７１８における）からそれらを読み出してもよい。メディアガイドアプリケーションは、同様に、第２の行内で（例えば、第３の結果が第２の結果に取って代わっている）修正された第２のサブセットの中の各結果の識別子を（例えば、制御回路６０４（図６）を介して）生成してもよい。
【０１４３】
図９は、本開示のいくつかの実施形態による、ユーザ選好に基づいて、ユーザが第２のソースと比べて第１のソースを好むことを決定するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス９００は、制御回路６０４（図６）によって実行されてもよい。プロセス９００またはその任意のステップは、図６−７に示されるデバイスのうちのいずれかの上で実施される、またはそれによって提供され得ることに留意されたい。プロセス９００は、メディアガイドアプリケーションが、ユーザ選好に基づいて、ユーザが第２のソースと比べて第１のソースを好むことを決定するためのプロセスを（例えば、制御回路６０４（図６）を介して）開始する、９０２から開始する。例えば、メディアガイドアプリケーションは、必要な変数を初期化し、プロセス９００を実行するための特定の方法を呼び出すプログラムスクリプトを（例えば、制御回路６０４（図６）を介して）実行してもよい。
【０１４４】
プロセス９００は、メディアガイドアプリケーションが、第１のソースおよび第２のソースを含む、ソースのランキングを（例えば、制御回路６０４（図６）を介して）読み出す、９０４に続く。例えば、メディアガイドアプリケーションは、ローカル記憶装置（例えば、記憶装置６０８（図６））または遠隔サーバ（例えば、通信ネットワーク７１４（図７）を介してアクセス可能なメディアガイドデータソース７１８）から、ソースの識別子および関連付けられるランクを含有する、リストまたは他のデータ構造を（例えば、制御回路６０４（図６）を介して）読み出してもよい。いくつかの実施形態では、ランクは、インデックスに基づいてもよい（例えば、アレイのインデックス０の中に記憶された値は、最高ランク付けされたソースである）。他の実施形態では、ランクは、識別子と関連付けられる別個のフィールドの中に記憶されてもよい。読み出されたリストまたは他のデータ構造は、（例えば、ソースの全体的人気に基づいて）ソースのデフォルトランキングを表してもよい。
【０１４５】
プロセス９００は、メディアガイドアプリケーションが、ユーザと関連付けられるユーザプロファイルに（例えば、制御回路６０４（図６）を介して）アクセスする、９０６に続く。例えば、メディアガイドアプリケーションは、ローカル記憶装置（例えば、記憶装置６０８（図６））または遠隔サーバ（例えば、通信ネットワーク７１４（図７）を介してアクセス可能なメディアガイドデータソース７１８）の中に記憶されたユーザプロファイルに（例えば、制御回路６０４（図６）を介して）アクセスしてもよい。メディアガイドアプリケーションは、ユーザの識別子および／またはパスコードを含有するデータパケットを（例えば、制御回路６０４（図６）を介して）伝送し、ユーザの識別を認証し、ユーザプロファイルにアクセスしてもよい。
【０１４６】
プロセス９００は、メディアガイドアプリケーションがユーザプロファイルからユーザ選好を（例えば、制御回路６０４（図６）を介して）読み出す、９０８に続く。例えば、メディアガイドアプリケーションは、ＳＱＬ等のデータベースクエリ言語を利用するプログラムスクリプトを（例えば、制御回路６０４（図６）を介して）実行し、ユーザプロファイルの特定のフィールド内のデータにアクセスし、それを読み出してもよい。メディアガイドアプリケーションは、具体的フィールド（例えば、ユーザと関連付けられるお気に入りチャネルリスト等のユーザが好むソースに関連性があると決定される）、ユーザ選好のランダムなサブセット、またはユーザプロファイルからの全てのユーザ選好から、データを（例えば、制御回路６０４（図６）を介して）読み出してもよい。
【０１４７】
プロセス９００は、メディアガイドアプリケーションが、ユーザ選好が検索されているソースに関連するかどうかを（例えば、制御回路６０４（図６）を介して）決定する、９１０に続く。例えば、メディアガイドアプリケーションは、読み出されたユーザ選好を、ユーザ選好が検索されているソースに関連するかどうかを決定するための規則セットと（例えば、制御回路６０４（図６）を介して）比較してもよい。例えば、規則セットは、メディアアセットが検索されている特定のソースから（例えば、ユーザプロファイルの視聴履歴の中に記憶されているように）ユーザによって最近鑑賞された場合には、ユーザ選好が特定のソースに関連するという規則を含んでもよい。別の実施例として、ユーザプロファイルは、ソースの明示的選好（例えば、ユーザが「Ａｍａｚｏｎを好まない」ことを示すユーザ選好）を含有してもよい。別の実施例として、ユーザプロファイルは、（例えば、ソーシャルネットワーキングサイトを通して）ユーザによって伝送されるメッセージを含有してもよく、メッセージのコンテンツを分析し、ソースの識別子またはソースと関連付けられる識別子がメッセージの一部であるかどうかを決定してもよい。
【０１４８】
９１０において、メディアガイドアプリケーションが、ユーザ選好が検索されているソースに関連することを決定する場合、プロセス９００は、メディアガイドアプリケーションが、ユーザ選好がソースの肯定的見解を示すかどうかを（例えば、制御回路６０４（図６）を介して）決定する、９１２に続く。例えば、メディアガイドアプリケーションは、ソースに関連するユーザ選好が、ソースの概して肯定的または否定的な見解を反映するかかどうかを決定してもよい。例えば、メディアガイドアプリケーションは、ユーザがこの一週間でソース「ＨＢＯ」からの多くのメディアアセットを視聴したことを（例えば、制御回路６０４（図６）を介して）決定し、ユーザの視聴習慣をソースの肯定的見解として解釈してもよい。別の実施例として、メディアガイドアプリケーションは、ソースの否定的見解として解釈され得る、ユーザがＡＭＡＺＯＮ（登録商標）からのメディアアセットを鑑賞することを止めており、１ヶ月超にＡＭＡＺＯＮ（登録商標）からのメディアアセット視聴していないことを（例えば、制御回路６０４（図６）を介して）決定してもよい。メディアガイドアプリケーションは、ユーザ選好と関連付けられる属性を、ソースの概して肯定的または否定的な見解を示す、記憶された属性と比較することに基づいて、特定のユーザ選好が肯定的または否定的であるかどうかを（例えば、制御回路６０４（図６）を介して）決定してもよい。例えば、言葉「嫌い」および「キャンセル」、ソースからある時間週間にわたってメディアアセットを視聴しないこと、ソースからのコンテンツに概して敵対する人口統計所属および／または政党等は、ソースの概して不利な見解を反映し得る。
【０１４９】
９１２において、メディアガイドアプリケーションが、ユーザ選好がソースの肯定的見解を示さないことを決定する場合、プロセス９００は、メディアガイドアプリケーションがソースと関連付けられるランクを（例えば、制御回路６０４（図６）を介して）減少させる、９１４に続く。例えば、メディアガイドアプリケーションは、（例えば、見解が肯定的である程度に基づいて）肯定的見解と関連付けられる重みを（例えば、制御回路６０４（図６）を介して）決定し、それに応じて、ソースのランキングを調節してもよい。例えば、（例えば、上記で議論されるような規則セットに基づく）ソースの非常に有利な選好は、メディアガイドアプリケーションに、ソースと関連付けられるランキングを以前よりも複数順位高くなるように（制御回路６０４（図６）を介して）調節させてもよい。プロセス９００は、次いで、下記で議論される９１８に続く。
【０１５０】
９１２において、メディアガイドアプリケーションが、ユーザ選好がソースの肯定的見解を示すことを決定する場合、プロセス９００は、メディアガイドアプリケーションがソースと関連付けられるランクを（例えば、制御回路６０４（図６）を介して）増加させる、９１６に続く。例えば、メディアガイドアプリケーションは、（例えば、見解が否定的である程度に基づいて）否定的見解と関連付けられる加重を（例えば、制御回路６０４（図６）を介して）決定し、それに応じて、ソースのランキングを調節してもよい。例えば、（例えば、上記で議論されるような規則セットに基づく）ソースの軽度に不利な選好は、メディアガイドアプリケーションに、ソースと関連付けられるランキングを以前よりも１つ低い順位になるように（例えば、制御回路６０４（図６）を介して）調節させてもよい。プロセス９００は、次いで、下記で議論される９１８に続く。
【０１５１】
９１０において、メディアガイドアプリケーションが、ユーザ選好が検索されているソースに関連しないことを決定する場合、プロセス９００は、メディアガイドアプリケーションが、読み出されていない任意の他の選好がユーザプロファイルの中に存在するかどうかを（例えば、制御回路６０４（図６）を介して）決定する、９１８に続く。例えば、メディアガイドアプリケーションは、ｆｏｒループを実行し、全てのユーザ選好（または９０８に関して上記で議論されるような全ての関連ユーザ選好）を反復して読み出してもよい。メディアガイドアプリケーションは、依然として起動しているｆｏｒループに基づいて、（例えば、ユーザ選好を含有する）ユーザプロファイルのいくつかのフィールドの内のデータが読み出されていないことを（例えば、制御回路６０４（図６）を介して）決定してもよい。メディアガイドアプリケーションはまた、読み出されたユーザ選好のリストを（例えば、制御回路６０４（図６）を介して）記憶し、ユーザプロファイル内のユーザ選好と比較して、まだ読み出されていない任意の他の選好が存在するかどうかを決定してもよい。
【０１５２】
９１８において、メディアガイドアプリケーションが、読み出されていないユーザプロファイル内の他の選好が存在することを決定する場合、プロセス９００は、メディアガイドアプリケーションがユーザプロファイルからユーザ選好を（例えば、制御回路６０４（図６）を介して）読み出す、９０８に戻る。例えば、メディアガイドアプリケーションは、（例えば、読み出された選好をユーザプロファイル内の選好と比較することに基づいて）いくつかのユーザ選好がユーザプロファイルからまだ読み出されていないことを（例えば、制御回路６０４（図６）を介して）決定してもよく、メディアガイドアプリケーションは、全てが分析されるまで（例えば、制御回路６０４（図６）を介して）ユーザ選好を読み出し続けてもよい。このようにして、メディアガイドアプリケーションは、特定のソースが別のソースよりも高くランク付けされるべきであるかどうかを決定するときに、全てのユーザ選好が考慮されることを確実にしてもよい。
【０１５３】
９１８において、メディアガイドアプリケーションが、ユーザプロファイル内の全てのユーザ選好が読み出されたことを決定する場合、プロセス９００は、メディアガイドアプリケーションが、ランキングから、第１のソースが第２のソースよりも高くランク付けされることを（例えば、制御回路６０４（図６）を介して）決定する、９２０に続く。例えば、メディアガイドアプリケーションは、リストまたは他のデータ構造内で（例えば、関連付けられるフィールドまたはインデックスに基づいて）最高にランク付けされるソースの識別子を（例えば、制御回路６０４（図６）を介して）読み出し、ソースの読み出された識別子が最高ランク付けされたソースを表すことを決定してもよい。メディアガイドアプリケーションは、本ソースが他のソースよりも高くランク付けされ、したがって、ユーザが第２のソースと比べて本ソースの選好を有することを（例えば、制御回路６０４（図６）を介して）決定してもよい。
【０１５４】
図１０は、本開示のいくつかの実施形態による、表示する結果のサブセットを決定するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス１０００は、制御回路６０４（図６）によって実行されてもよい。プロセス１０００またはその任意のステップは、図６−７に示されるデバイスのうちのいずれかの上で実施される、またはそれによって提供され得ることに留意されたい。プロセス１０００は、メディアガイドアプリケーションが表示する結果のサブセットを決定するためのプロセスを（例えば、制御回路６０４（図６）を介して）開始する、１００２から開始する。例えば、メディアガイドアプリケーションは、必要な変数を初期化し、プロセス１０００を実行するための特定の方法を呼び出すプログラムスクリプトを（例えば、制御回路６０４（図６）を介して）実行してもよい。
【０１５５】
プロセス１０００は、メディアガイドアプリケーションが、結果がユーザ入力への関連性に基づいてランク付けされるかどうかを（例えば、制御回路６０４（図６）を介して）決定する、１００４に続く。例えば、メディアガイドアプリケーションは、（例えば、コンテンツソース７１６（図７）を介して）ソースから検索結果を伴って受信されるデータが、結果がユーザ入力への関連性に基づいてランク付けされることを示すかどうかを（例えば、制御回路６０４（図６）を介して）決定してもよい。具体的実施例として、メディアガイドアプリケーションは、ブール値が、ソースからの結果と関連付けられるデータパケットの中で受信される関連性によるランキングのために「真」に設定されるかどうかを（例えば、制御回路６０４（図６）を介して）決定してもよい。
【０１５６】
１００４において、メディアガイドアプリケーションが、結果がユーザ入力への関連性に基づいてランク付けされないことを決定する場合、プロセス１０００は、メディアガイドアプリケーションが各結果をユーザ入力と（例えば、制御回路６０４（図６）を介して）比較し、関連性値を決定する、１００６に続く。例えば、メディアガイドアプリケーションは、結果の文字をユーザ入力と（例えば、制御回路６０４（図６）を介して）比較し、合致する量および／または割合を決定し、合致する量および／または割合に従って関連性値を割り当ててもよい。代替として、または加えて、メディアガイドアプリケーションは、連続した文字（例えば、言葉）がユーザ入力と結果との間で合致する位置を（例えば、制御回路６０４（図６）を介して）加重してもよい。例えば、１つの結果の第１の言葉がユーザ入力に合致し、第２の結果も言葉に合致するが、それが言葉の列の中の第３の言葉である場合、第１の結果は、より大きい関連性値を割り当てられてもよい。
【０１５７】
プロセス１０００は、メディアガイドアプリケーションが、関連性値に基づいて結果を（例えば、制御回路６０４（図６）を介して）ランク付けする、１００８に続く。例えば、メディアガイドアプリケーションは、マージソートまたはバブルソート等のソートアルゴリズムを利用することによって、関連性値に基づいて（例えば、最高関連性から最低関連性に）結果を（例えば、制御回路６０４（図６）を介して）順序付けてもよい。メディアガイドアプリケーションは、ランキングを他のランキングと（例えば、制御回路６０４（図６）を介して）組み合わせ、（例えば、下記で議論されるように、人気またはユーザ選好に基づいて）各ランキングを加重し、次いで、サブセットのための結果を選択するために使用される、総合ランキングを生成してもよい。プロセス１０００は、次いで、１０１０に続く。
【０１５８】
１００４において、メディアガイドアプリケーションは、結果がユーザ入力への関連性に基づいてランク付けされることを決定する場合、プロセス１０００は、メディアガイドアプリケーションが、結果が人気に基づいてランク付けされるかどうかを（例えば、制御回路６０４（図６）を介して）決定する、１０１０に続く。例えば、メディアガイドアプリケーションは、（例えば、コンテンツソース７１６（図７）を介して）ソースから検索結果を伴って受信されるデータが、結果が人気に基づいてランク付けされることを示すかどうかを（例えば、制御回路６０４（図６）を介して）決定してもよい。具体的実施例として、メディアガイドアプリケーションは、ブール値が、ソースからの結果と関連付けられるデータパケットの中で受信される人気によるランキングのために「真」に設定されるかどうかを（例えば、制御回路６０４（図６）を介して）決定してもよい。
【０１５９】
１０１０において、メディアガイドアプリケーションが、結果が人気に基づいてランク付けされないことを決定する場合、プロセス１０００は、メディアガイドアプリケーションが結果毎に人気値を（例えば、制御回路６０４（図６）を介して）読み出す、１０１２に続く。例えば、メディアガイドアプリケーションは、各結果の識別子と関連付けられる人気値の要求をデータベースに（例えば、メディアガイドデータソース７１８（図７）に）（例えば、制御回路６０４（図６）を介して）伝送してもよい。具体的実施例として、メディアガイドアプリケーションは、データベースから人気値を（例えば、制御回路６０４（図６）を介して）読み出してもよい。人気値は、ユーザが結果と関連付けられるデータを視聴する、またはそれにアクセスする数のランキングであってもよい（例えば、「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」は、１位にランク付けされた番組であり、ＥＳＰＮ．ｃｏｍは、３位の最も訪問されたウェブページである等）。
【０１６０】
プロセス１０００は、メディアガイドアプリケーションが、読み出された人気値に基づいて結果を（例えば、制御回路６０４（図６）を介して）ランク付けする、１０１４に続く。例えば、メディアガイドアプリケーションは、マージソートまたはバブルソート等のソートアルゴリズムを利用することによって、人気値に基づいて（例えば、最高人気から最低人気に）結果を（例えば、制御回路６０４（図６）を介して）順序付けてもよい。メディアガイドアプリケーションは、ランキングを他のランキングと（例えば、制御回路６０４（図６）を介して）組み合わせ、（例えば、下記で議論されるように、人気またはユーザ選好に基づいて）各ランキングを加重し、次いで、サブセットのための結果を選択するために使用される、総合ランキングを生成してもよい。プロセス１０００は、次いで、１０１６に続く。
【０１６１】
１０１０において、メディアガイドアプリケーションが、結果が人気に基づいてランク付けされることを決定する場合、プロセス１０００は、メディアガイドアプリケーションが、結果がユーザ選好に基づいてランク付けされるかどうかを（例えば、制御回路６０４（図６）を介して）決定する、１０１６に続く。例えば、メディアガイドアプリケーションは、（例えば、コンテンツソース７１６（図７）を介して）ソースから検索結果を伴って受信されるデータが、結果がユーザ選好に基づいてランク付けされることを示すかどうかを（例えば、制御回路６０４（図６）を介して）決定してもよい。具体的実施例として、メディアガイドアプリケーションは、ブール値が、ソースからの結果と関連付けられるデータパケットの中で受信されるユーザ選好によるランキングのために「真」に設定されるかどうかを（例えば、制御回路６０４（図６）を介して）決定してもよい。例えば、メディアガイドアプリケーションは、検索時に、ユーザ入力を伴うユーザ選好をソースに（例えば、制御回路６０４（図６）を介して）伝送してもよい、または（例えば、データプライバシーの考慮事項に起因して）結果を受信した後にユーザ選好に基づいて結果をソートしてもよい。
【０１６２】
１０１６において、メディアガイドアプリケーションが、結果がユーザ選好に基づいてランク付けされないことを決定する場合、プロセス１０００は、メディアガイドアプリケーションがユーザプロファイルからユーザ選好を（例えば、制御回路６０４（図６）を介して）読み出す、１０１８に続く。例えば、メディアガイドアプリケーションは、ＳＱＬ等のデータベースクエリ言語を利用するプログラムスクリプトを（例えば、制御回路６０４（図６）を介して）実行し、ユーザプロファイルの特定のフィールド内のデータにアクセスし、それを読み出してもよい。メディアガイドアプリケーションは、具体的フィールド（例えば、ユーザと関連付けられるお気に入り番組等の検索結果に関連性があると決定される）、ユーザ選好のランダムなサブセット、またはユーザプロファイルからの全てのユーザ選好から、データを（例えば、制御回路６０４（図６）を介して）読み出してもよい。
【０１６３】
プロセス１０００は、メディアガイドアプリケーションが、各読み出されたユーザ選好を各結果と（例えば、制御回路６０４（図６）を介して）比較し、選好値を決定する、１０２０に続く。例えば、メディアガイドアプリケーションは、読み出されたユーザ選好を、ユーザ選好が検索結果に関連するかどうかを決定するための規則セットと（例えば、制御回路６０４（図６）を介して）比較してもよい。例えば、規則セットは、検索結果が特定の俳優（例えば、Ｔｏｍ  Ｈａｎｋｓ）と関連付けられ、ユーザ選好がＴｏｍ  Ｈａｎｋｓが出演している映画（例えば、「Ｆｏｒｒｅｓｔ  Ｇｕｍｐ」）に関連する場合には、具体的値が選好値として割り当てられるであろうという規則を含んでもよい。メディアガイドアプリケーションは、付加的ユーザ選好が同一の検索結果に関する場合、選好値を（例えば、制御回路６０４（図６）を介して）更新してもよい。
【０１６４】
プロセス１０００は、メディアガイドアプリケーションが選好値に基づいて結果を（例えば、制御回路６０４（図６）を介して）ランク付けする、１０１４に続く。プロセス１０００は、次いで、１０２４に続く。例えば、メディアガイドアプリケーションは、マージソートまたはバブルソート等のソートアルゴリズムを利用することによって、選好値に基づいて（例えば、最高人気から最低人気に）結果を（例えば、制御回路６０４（図６）を介して）順序付けてもよい。メディアガイドアプリケーションは、ランキングを他のランキングと（例えば、制御回路６０４（図６）を介して）組み合わせ、（例えば、下記で議論されるように、人気またはユーザ選好に基づいて）各ランキングを加重し、次いで、サブセットのための結果を選択するために使用される、総合ランキングを生成してもよい。
【０１６５】
１０１６において、メディアガイドアプリケーションが、結果がユーザ選好に基づいてランク付けされることを決定する場合、プロセス１０００は、メディアガイドアプリケーションが、ソースからの結果が表示されるであろう行を（例えば、制御回路６０４（図６）を介して）決定する、１０２４に続く。例えば、メディアガイドアプリケーションは、第１のソースからの結果を生成するための特定の場所（例えば、行）を（例えば、制御回路６０４（図６）を介して）決定してもよい。いくつかの実施形態では、行は、第２のソースからの結果が提示される第２の行よりも画面の上部に近い行に位置してもよい。
【０１６６】
プロセス１０００は、メディアガイドアプリケーションが、決定された行に適合する結果の数を（例えば、制御回路６０４（図６）を介して）決定する、１０２６に続く。例えば、メディアガイドアプリケーションは、図１に関して上記で議論されるように、表示テンプレートから値を読み出すことに基づいて、行に適合する結果の数を（例えば、制御回路６０４（図６）を介して）決定してもよい。数は、一定であり得る（例えば、各行が、常に、３つの結果を含有する）、または結果の識別子の長さに基づいて変動し得る（例えば、多数の文字を伴う結果が、より多くの空間を占め、より少ない文字が、一度に表示されることができる）。
【０１６７】
プロセス１０００は、メディアガイドアプリケーションが、表示する結果のサブセットとして、ランク付けされた結果から結果の数を（例えば、制御回路６０４（図６）を介して）選択する、１０２８に続く。例えば、メディアガイドアプリケーションは、次いで、図１−２に関してさらに説明されるように、表示するためにソースからの受信された検索結果（例えば、サブセット）から適切な数の結果を選択してもよい。
【０１６８】
図１１は、本開示のいくつかの実施形態による、第１のソースからの第１の結果および第２のソースからの第２の結果が合致するかどうかを決定するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス１１００は、制御回路６０４（図６）によって実行されてもよい。プロセス１１００またはその任意のステップは、図６−７に示されるデバイスのうちのいずれかの上で実施される、またはそれによって提供され得ることに留意されたい。プロセス１１００は、メディアガイドアプリケーションが、第１のソースからの第１の結果および第２のソースからの第２の結果が合致するかどうかを決定するためのプロセスを（例えば、制御回路６０４（図６）を介して）開始する、１１０２から開始する。例えば、メディアガイドアプリケーションは、必要な変数を初期化し、プロセス１１００を実行するための特定の方法を呼び出すプログラムスクリプトを（例えば、制御回路６０４（図６）を介して）実行してもよい。
【０１６９】
プロセス１１００は、メディアガイドアプリケーションが、第１の結果と関連付けられる属性および第２の結果と関連付けられる対応する属性を（例えば、制御回路６０４（図６）を介して）読み出す、１１０４に続く。例えば、メディアガイドアプリケーションは、ローカルで（例えば、記憶装置６０８（図６）の中に）、またはサーバにおいて遠隔に（例えば、通信ネットワーク７１４（図７）を介してアクセス可能なメディアガイドデータソース７１８において）記憶された、第１および第２の結果と関連付けられるメタデータを含有するテーブルを（例えば、制御回路６０４（図６）を介して）読み出してもよい。例えば、各記憶された識別子と関連付けられるメタデータを含有するテーブルは、より容易な比較のために、各テーブルの第１のフィールド内のメタデータが、常に、結果と関連付けられるタイトルであり、各テーブルの第２のフィールド内のメタデータが、常に、監督等であるように、構造化されてもよい（例えば、同一の属性のメタデータが、各記憶された値を別の識別子と関連付けられる全ての記憶された値と比較する必要なく、比較されることができる）。代替として、または加えて、テーブルは、メタデータを伴う各フィールドが、異なる識別子と関連付けられる対応するメタデータを比較するために使用され得る、「ＡＣＴＯＲ」等の標識と関連付けられるように、構造化されてもよい。メディアガイドアプリケーションは、第１の結果（例えば、タイトル）と関連付けられる第１のフィールドからメタデータおよび第２の結果（例えば、同様にタイトル）と関連付けられる第２のフィールドからメタデータを（例えば、制御回路６０４（図６）を介して）読み出してもよい。
【０１７０】
プロセス１１００は、メディアガイドアプリケーションが、第１の結果と関連付けられる属性および第２の結果と関連付けられる対応する属性を（例えば、制御回路６０４（図６）を介して）比較する、１１０６に続く。例えば、メディアガイドアプリケーションは、第１の結果（例えば、タイトル）と関連付けられる読み出された文字列の各文字を、第２の結果（例えば、別のタイトル）と関連付けられる読み出された文字列の文字と（例えば、制御回路６０４（図６）を介して）比較してもよい。例えば、メディアガイドアプリケーションは、２つの結果のメタデータの文字（例えば、属性）を反復して比較し、２つの結果が合致するかどうかを決定するためのプログラムスクリプトを（例えば、制御回路６０４（図６）を介して）実行してもよい。例えば、メディアガイドアプリケーションは、第１の結果と関連付けられる文字列「Ｍａｔｔ  Ｄａｍｏｎ」を、第２の結果と関連付けられる文字列「Ｍａｔｔ  Ｄｉｌｌｏｎ」と（例えば、制御回路６０４（図６）を介して）比較してもよい。
【０１７１】
プロセス１１００は、メディアガイドアプリケーションが、属性が合致するかどうかを（例えば、制御回路６０４（図６）を介して）決定する、１１０８に続く。例えば、メディアガイドアプリケーションは、全ての文字が合致する場合に２つの属性が合致するかどうかを（例えば、制御回路６０４（図６）を介して）決定してもよい。代替として、または加えて、メディアガイドアプリケーションは、２つの属性の閾値量または全ての文字の割合が合致する場合に２つの属性が合致するかどうかを（例えば、制御回路６０４（図６）を介して）決定してもよい。例えば、いくつかの事例では、スペルミスまたは他の誤植に起因して、単一の文字が、第１の結果と関連付けられるメタデータと第２の結果と関連付けられるメタデータとの間で異なり得（例えば、「Ｔｏｍ  Ｈａｎｋｓ」および「Ｔｏｍ  Ｈａｎｋｚ」）、メディアガイドアプリケーションは、依然として、合致を（例えば、制御回路６０４（図６）を介して）決定してもよい。
【０１７２】
１１０８において、メディアガイドアプリケーションが、属性が合致しないことを決定する場合、プロセス１１００は、メディアガイドアプリケーションが第２の値を（例えば、制御回路６０４（図６）を介して）インクリメントする、１１１０に続く。例えば、メディアガイドアプリケーションは、整数を記憶する変数を（例えば、制御回路６０４（図６）を介して）初期化し、合致が２つの対応する属性の間で決定されない度に値をインクリメントしてもよい。例えば、メディアガイドアプリケーションは、第１の結果と関連付けられる「Ｔｏｍ  Ｈａｎｋｓ」が第２の結果と関連付けられる「Ｃｈｒｉｓ  Ｅｖａｎｓ」に合致しないことを（例えば、制御回路６０４（図６）を介して）決定してもよく、したがって、変数を１だけインクリメントする。１１０８において、メディアガイドアプリケーションが、属性が合致することを決定する場合、プロセス１１００は、メディアガイドアプリケーションが第１の値を（例えば、制御回路６０４（図６）を介して）インクリメントする、１１１２に続く。例えば、メディアガイドアプリケーションは、整数を記憶する変数を（例えば、制御回路６０４（図６）を介して）初期化し、合致が２つの対応する属性の間で決定される度に値をインクリメントしてもよい。例えば、メディアガイドアプリケーションは、第１の結果と関連付けられる「Ｔｏｍ  Ｈａｎｋｓ」が第２の結果と関連付けられる「Ｔｏｍ  Ｈａｎｋｚ」に合致することを（例えば、制御回路６０４（図６）を介して）決定してもよく、したがって、変数を１だけインクリメントする。
【０１７３】
プロセス１１００は、メディアガイドアプリケーションが、比較する任意の他の属性が存在するかどうかを（例えば、制御回路６０４（図６）を介して）決定する、１１１４に続く。例えば、メディアガイドアプリケーションは、ｆｏｒループを実行し、第１の結果と関連付けられる全ての属性を反復して読み出し、（例えば、同様に読み出される）第２の結果と関連付けられる対応する属性と比較してもよい。メディアガイドアプリケーションは、依然として起動しているｆｏｒループに基づいて、結果と関連付けられるメタデータを記憶するテーブルのいくつかのフィールドの内のデータが読み出されていないことを（例えば、制御回路６０４（図６）を介して）決定してもよい。メディアガイドアプリケーションはまた、読み出された属性または属性の識別子のリストを（例えば、制御回路６０４（図６）を介して）記憶し、結果と関連付けられる記憶された属性と比較して、まだ読み出されていない任意の他の選好が存在するかどうかを決定してもよい。
【０１７４】
１１１４において、メディアガイドアプリケーションが、比較する他の属性が存在することを決定する場合、プロセス１１００は、メディアガイドアプリケーションが、第１の結果と関連付けられる属性および第２の結果と関連付けられる対応する属性を（例えば、制御回路６０４（図６）を介して）読み出す、１１０４に戻る。例えば、メディアガイドアプリケーションは、いくつかの属性が第１および第２の結果と関連付けられる属性を伴う１つまたは複数のデータ構造からまだ読み出されていないことを（例えば、制御回路６０４（図６）を介して）決定してもよく、メディアガイドアプリケーションは、全てが比較されるまで（例えば、制御回路６０４（図６）を介して）属性を読み出し続けてもよい。
【０１７５】
１１１４において、メディアガイドアプリケーションが、比較する他の属性が存在しないことを決定する場合、プロセス１１００は、メディアガイドアプリケーションが、第１の値および第２の値に基づいて合致する属性の割合を（例えば、制御回路６０４（図６）を介して）計算する、１１１６に続く。例えば、メディアガイドアプリケーションは、（例えば、第１の値を第２の値に加算することによって、または属性を記憶するデータ構造から総数を読み出すことによって）属性の総数を（例えば、制御回路６０４（図６）を介して）計算してもよい。メディアガイドアプリケーションは、次いで、総数を第１の値で除算することによって、合致する属性の割合を（例えば、制御回路６０４（図６）を介して）計算してもよい。具体的実施例として、１０個の合致（例えば、第１の値が１０である）および５つの非合致（例えば、第２の値が５である）がある場合には、メディアガイドアプリケーションは、総数を１５として、割合を１０／１５または６７％として（例えば、制御回路６０４（図６）を介して）計算してもよい。
【０１７６】
プロセス１１００は、メディアガイドアプリケーションが割合を閾値合致割合と（例えば、制御回路６０４（図６）を介して）比較する、１１１８に続く。例えば、メディアガイドアプリケーションは、閾値合致割合の記憶された値を（例えば、記憶装置６０８（図６）から）（例えば、制御回路６０４（図６）を介して）読み出してもよい。メディアガイドアプリケーションは、次いで、２つの結果の間で合致する属性の計算された割合を、読み出された閾値と（例えば、制御回路６０４（図６）を介して）比較してもよい。
【０１７７】
プロセス１１００は、メディアガイドアプリケーションが、割合が閾値合致割合を上回るかどうかを（例えば、制御回路６０４（図６）を介して）決定する、１１２０に続く。例えば、メディアガイドアプリケーションは、属性の割合の値が６７％であり、合致を決定するための閾値の値が５０％である場合、２つの結果が合致することを（例えば、制御回路６０４（図６）を介して）決定してもよい。メディアガイドアプリケーションは、依然として、割合が公差係数以内である場合（例えば、合致する属性の割合が合致を決定するための閾値をわずか２％下回る場合）に合致を（例えば、制御回路６０４（図６）を介して）決定してもよい。いくつかの実施形態では、公差係数は、比較された属性の数に基づいてもよい。
【０１７８】
１１２０において、メディアガイドアプリケーションが、割合が閾値合致割合を上回ることを決定する場合には、プロセス１１００は、メディアガイドアプリケーションが、第１の結果が第２の結果に合致することを（例えば、制御回路６０４（図６）を介して）決定する、１１２２に続く。例えば、メディアガイドアプリケーションは、計算された割合の値が閾値を上回るため、２つの結果が合致することを（例えば、制御回路６０４（図６）を介して）決定してもよい。図１−２および８に関して上記で説明されるように、メディアガイドアプリケーションは、２つの同じ結果の２つのソースに関するユーザの選好の種類に基づいて、表示されるサブセットから２つの結果のうちの１つを除去することを（例えば、制御回路６０４（図６）を介して）決定してもよい。１１２０において、メディアガイドアプリケーションが、割合が閾値合致割合を上回らないことを決定する場合には、プロセス１１００は、メディアガイドアプリケーションが、第１の結果が第２の結果に合致しないことを（例えば、制御回路６０４（図６）を介して）決定する、１１２４に続く。例えば、メディアガイドアプリケーションは、計算された割合の値が閾値未満であるため、２つの結果が合致しないことを（例えば、制御回路６０４（図６）を介して）決定してもよい。
【０１７９】
図１２は、本開示のいくつかの実施形態による、複数のソースからの検索結果を提示するための例証的ステップの別のフローチャートである。例えば、メディアガイドアプリケーション実装プロセス１２００は、制御回路６０４（図６）によって実行されてもよい。プロセス１２００またはその任意のステップは、図６−７に示されるデバイスのうちのいずれかの上で実施される、またはそれによって提供され得ることに留意されたい。
【０１８０】
プロセス１２００は、メディアガイドアプリケーションが、ユーザ入力に基づいて、第１のソースおよび第２のソースからの結果を（例えば、制御回路６０４（図６）を介して）検索する、１２０２から開始する。例えば、メディアガイドアプリケーションは、ユーザ入力インターフェース（例えば、ユーザ入力インターフェース６１０（図６））を介して、ユーザ入力を（例えば、制御回路６０４（図６）を介して）受信してもよい。例えば、メディアガイドアプリケーションは、ユーザ入力を第１のソースおよび第２のソースに（例えば、通信ネットワーク７１４（図７）を介してコンテンツソース７１６に）（例えば、制御回路６０４（図６）を介して）伝送してもよい。例えば、メディアガイドアプリケーションは、検索のためのユーザ入力（例えば、文字列）および／または他のパラメータ（例えば、結果がある時間周期中にあるべきである）を含む、データパケットを生成してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、ソースの一方または両方からのＡＰＩを利用し、（例えば、ユーザ入力に基づいて）検索クエリを（例えば、制御回路６０４（図６）を介して）伝送してもよい。
【０１８１】
プロセス１２００は、メディアガイドアプリケーションが第１のソースから少なくとも第１の検索結果を（例えば、制御回路６０４（図６）を介して）受信する、１２０４に続く。例えば、メディアガイドアプリケーションは、第１のソースから（例えば、コンテンツソース７１６（図７）から）ユーザ入力に合致する１つ以上の結果を（例えば、制御回路６０４（図６）を介して）受信してもよい。ソースからの結果は、テーブルが、合致する結果の識別子（例えば、メディアアセットのタイトル）および関連付けられるフィールド内の付加的情報（例えば、メディアアセットの中の俳優）をそれぞれ伴う、複数の行を含有する、テーブルの中でメディアガイドアプリケーションによって（例えば、制御回路６０４（図６）を介して）受信されてもよい。
【０１８２】
プロセス１２００は、メディアガイドアプリケーションが、第２のソースから少なくとも第２の検索結果および第３の検索結果を（例えば、制御回路６０４（図６）を介して）受信する、１２０６に続く。例えば、メディアガイドアプリケーションは、第２のソースから（例えば、コンテンツソース７１６（図７）から）ユーザ入力に合致する複数の結果を（例えば、制御回路６０４（図６）を介して）受信してもよい。第２のソースからの結果は、テーブルが合致する結果の識別子（例えば、メディアアセットのタイトル）および関連付けられるフィールド内の付加的情報（例えば、メディアアセットの中の俳優）をそれぞれ伴う複数の行を含有するテーブルの中で、メディアガイドアプリケーションによって（例えば、制御回路６０４（図６）を介して）受信されてもよい。
【０１８３】
プロセス１２００は、メディアガイドアプリケーションが、第２のソースと比べて第１のソースの選好を示すユーザ選好を（例えば、制御回路６０４（図６）を介して）読み出す、１２０８に続く。例えば、メディアガイドアプリケーションは、ローカルで（例えば、記憶装置６０８（図６）の中に）、またはサーバにおいて遠隔に（例えば、通信ネットワーク７１４（図７）を介してアクセス可能なメディアガイドデータソース７１８において）記憶されたユーザプロファイルを（例えば、制御回路６０４（図６）を介して）読み出してもよい。メディアガイドアプリケーションは、図９に関して下記でさらに説明されるように、ユーザプロファイルから検索選好を（例えば、制御回路６０４（図６）を介して）読み出してもよい。例えば、メディアガイドアプリケーションは、ユーザによって設定されるソースのランキングを（例えば、制御回路６０４（図６）を介して）記憶してもよい。具体的実施例として、メディアガイドアプリケーションは、ユーザが、ソース（例えば、ＨＵＬＵ（登録商標）、ＡＭＡＺＯＮ（登録商標）等）を特定の順序にドラッグアンドドロップし、その選好を反映し得る、（例えば、ディスプレイ６１２（図６）上の）グラフィカルユーザインターフェースを生成してもよい。メディアガイドアプリケーションは、次いで、ランクおよび各ソースの識別子を（例えば、アレイの中に）記憶してもよい。メディアガイドアプリケーションは、ユーザによって設定されるソースの記憶されたランクを（例えば、制御回路６０４（図６）を介して）読み出し、第１および第２のソースの個別のランクを決定してもよい。例えば、メディアガイドアプリケーションは、文字列「ｈｕｌｕ」によって識別されるＨＵＬＵ（登録商標）が、「５」のランキングと関連付けられることを（例えば、制御回路６０４（図６）を介して）決定してもよい。ＡＭＡＺＯＮ（登録商標）のランキングが「３」である場合、メディアガイドアプリケーションは、ユーザがＨＵＬＵ（登録商標）よりＡＭＡＺＯＮ（登録商標）を好むことを（例えば、制御回路６０４（図６）を介して）決定してもよい。
【０１８４】
プロセス１２００は、メディアガイドアプリケーションが、ユーザ選好に基づいて、各行が１つ以上の検索結果を含む、複数の行を備えるグリッドの第１の行内に第１のソースからの第１の検索結果を表示するために（例えば、制御回路６０４（図６）を介して）生成する、１２１０に続く。例えば、メディアガイドアプリケーションは、第１のソースからの結果を生成するための特定の場所（例えば、行）を（例えば、制御回路６０４（図６）を介して）決定してもよい。例えば、メディアガイドアプリケーションは、第１の行内の第１の結果と関連付けられるインジケータ（例えば、テキストおよび／またはグラフィック）を（例えば、ディスプレイ６１２（図６）上に）表示するために（例えば、制御回路６０４（図６）を介して）生成してもよい。いくつかの実施形態では、行は、第２のソースからの結果が提示される第２の行よりも画面（例えば、ディスプレイ６１２（図６））の上部に近い行に位置してもよい。
【０１８５】
プロセス１２００は、メディアガイドアプリケーションが、第１の検索結果が第２の検索結果に合致し、第１の検索結果が第３の検索結果に合致しないことを（例えば、制御回路６０４（図６）を介して）決定する、１２１２に続く。例えば、メディアガイドアプリケーションは、第１の結果と関連付けられる具体的属性の各文字が、第２の結果と関連付けられる対応する属性の各文字に合致する場合、２つの結果が合致することを（例えば、制御回路６０４（図６）を介して）決定してもよい。例えば、２つの結果が、俳優「Ｍａｔｔ  Ｄａｍｏｎ」を指すメタデータを含有する場合、メディアガイドアプリケーションは、メタデータが合致し、したがって、２つの結果が合致することを（例えば、制御回路６０４（図６）を介して）決定してもよい。
【０１８６】
プロセス１２００は、メディアガイドアプリケーションが、グリッドの第２の行内で第３の検索結果を表示するために（例えば、制御回路６０４（図６）を介して）生成し、第２の検索結果が第２の行内に表示されない、１２１４に続く。例えば、合致内に２つの結果が同時に表示されるものである（例えば、それらが第１および第２のサブセットの中にある）と決定することに応じて、メディアガイドアプリケーションは、ユーザが好まないソースの結果を別の結果と（例えば、制御回路６０４（図６）を介して）置換する。例えば、「Ｔｈｅ  Ｂｉｇ  Ｂａｎｇ  Ｔｈｅｏｒｙ」が、第１および第２のソース（例えば、ソース７１６（図７））の両方からの結果であり、第１および第２のサブセットの中にある場合、第２のサブセットの中の結果は、別の結果（例えば、第３の結果）と置換されてもよい。メディアガイドアプリケーションは、次いで、（例えば、第２のソースからの結果を伴って）第２の行内に第２の結果の代わりに第３の結果を（例えば、ディスプレイ６１２（図６）上に）表示するために（例えば、制御回路６０４（図６）を介して）生成してもよい。
【０１８７】
図８−１２のそれぞれのステップまたは説明は、本開示の任意の他の実施形態と併用され得ることが考慮される。加えて、図８−１２に関連して説明されるステップおよび説明は、本開示の目的を促すために、代替順序で、または並行して、行われてもよい。例えば、これらのステップはそれぞれ、システムまたは方法の遅延を低減させる、または速度を加速させるように、任意の順序で、または並行して、または実質的に同時に実施されてもよい。さらに、図６−７に関連して議論されるデバイスまたは機器のうちのいずれかは、図８−１２のステップのうちの１つ以上のものを実施するために使用され得ることに留意されたい。
【０１８８】
本開示のいくつかの部分は、「慣例」を参照し得るが、任意のそのような参照は、文脈を本開示の発明に提供する目的のためにすぎず、最先端を構成するものに関して、いかなる承認も形成しない。
【０１８９】
上記で議論されるプロセスは、例証的であって、限定を意図するものではない。当業者は、本明細書で議論されるプロセスのステップが、本発明の範囲から逸脱することなく、省略される、修正される、組み合わせられる、および／または再配列されてもよく、任意の付加的ステップが、実施され得ることを理解するであろう。より一般的には、上記の開示は、例示的であって、限定を意図するものではない。続く請求項のみが、本発明が含むものに関する境界を設定することが意図されている。さらに、いずれか１つの実施形態で説明される特徴および限定は、本明細書の任意の他の実施形態に適用され得、一実施形態に関するフローチャートまたは実施例は、好適な様式で任意の他の実施形態と組み合わせられる、異なる順序で行われる、または並行して行われ得ることに留意されたい。加えて、本明細書で説明されるシステムおよび方法は、リアルタイムで実施されてもよい。また、上記で説明されるシステムおよび／または方法は、他のシステムおよび／または方法に適用される、またはそれらに従って使用され得ることにも留意されたい。
【図１】
2020519067.tif 000003
【図２】
2020519067.tif 000004
【図３】
2020519067.tif 000005
【図４】
2020519067.tif 000006
【図５】
2020519067.tif 000007
【図６】
2020519067.tif 000008
【図７】
2020519067.tif 000009
【図８】
2020519067.tif 000010
【図９】
2020519067.tif 000011
【図１０】
2020519067.tif 000012
【図１１】
2020519067.tif 000013
【図１２】
2020519067.tif 000014
【国際調査報告】
2020519067.tif 000015
2020519067.tif 000016
2020519067.tif 000017