用于呈现来自多个来源的搜索结果的系统和方法与流程

文档序号:19792683发布日期:2020-01-24 14:38阅读:358来源:国知局
用于呈现来自多个来源的搜索结果的系统和方法与流程



背景技术:

考虑到过多的媒体内容源,每个媒体内容源都具有大量可用的媒体内容,对于给定的查询,用户经常发现难以阅读大量的搜索结果。具体而言,通用搜索特征已使得用户能够用一次搜索从许多不同的内容源获得结果,但是结果的绝对数量太多而令人难以应对。一些常规的系统试图通过在将结果呈现给用户时按从中接收到结果的来源组织结果来克服这一问题。但是,许多相同的媒体内容可从不同的来源获得,并且可能被呈现多次,这会导致用户可能感兴趣的结果被埋没在其中。



技术实现要素:

因此,本文描述了用于通过对从中接收到结果的来源进行排名并且不呈现来自较低排名来源的重复结果来呈现来自多个来源的搜索结果的系统和方法。例如,可以接收来自第一来源和第二来源的结果。响应于用户相对于第二来源对第一来源的偏好(例如,用户相对于hbo更喜欢),来自第一来源的结果可以比来自第二来源的结果呈现在更靠近屏幕的顶部的行中。然后,系统确定将针对显示的结果是否与将针对hbo显示的结果匹配(例如,通过比较两个结果的元数据)。如果两个结果匹配,则仅针对排名较高的来源(例如,)呈现结果,并且在第二行中呈现与第一行中显示的任何结果都不匹配的另一个结果。以这种方式,当从不同来源获得结果时,向用户提供了不同的搜索结果,而不是多次呈现相同的结果。

在一些方面,媒体指南应用接收用户输入。例如,媒体指南应用可以经由用户输入界面(例如,遥控器或触摸屏界面)接收用户输入。用户输入可以是一个或多个字母数字或其它字符的串。替代地或附加地,用户输入可以是通过常见搜索查询来选择多个可选选项之一。例如,媒体指南应用可以将最常搜索的关键字呈现为可供用户选择的可选选项,从而为用户节省他或她可能不得不输入字符的时间。

媒体指南应用基于用户输入从第一来源和第二来源搜索结果。例如,媒体指南应用可以将用户输入发送到第一来源和第二来源。例如,媒体指南应用可以生成包括用户输入(例如,字符串)和/或用于搜索的其它参数(例如,结果应该在某个时间段内)的数据分组。在一些实施例中,媒体指南应用可以利用来自一个或两个来源的api来发送搜索查询(例如,基于用户输入)。媒体指南应用可以基于用户针对特定来源的偏好(例如,在用户简档中存储的用户偏好)来确定要向其发送用户输入的来源。例如,用户可以存储搜索查询应该被发送到特定来源集合(例如,)的偏好。替代地或附加地,媒体指南应用可以在用户输入时生成图形用户界面,从而允许用户选择来源。例如,媒体指南应用可以生成字段,其中用户可以输入字符串(例如,用户输入)和一系列用于搜索结果的来源的可选选项。

媒体指南应用从第一来源接收第一搜索结果,并从第二来源接收第二搜索结果。例如,媒体指南应用可以从两个来源接收与用户输入匹配的多个结果。可以在单独的表中接收来自每个来源的结果,其中每个表包含多个行,每个行具有匹配结果的标识符(例如,媒体资产的标题)以及相关联字段中的附加信息(例如,媒体资产中的演员)。在一些实施例中,可以根据流行度(popularity)对结果进行排名。替代地或附加地,可以根据与用户输入的相关性对结果进行排名。例如,虽然“thebigbangtheory”是最流行的结果(例如,许多用户点击它),但是由于用户输入是“bang”,因此作为mileycyrus的专辑的结果“bangerz”可能会由于第一个单词与查询匹配而排名更高。替代地或附加地,媒体指南应用可以基于以上讨论的因素的任意组合以及基于用户偏好来对结果进行重新排序。例如,如果媒体指南应用检索到用户喜欢有给定演员的电影的用户偏好,则带有该演员的结果可能在排名中被提升。

媒体指南应用检索到用户偏好,该用户偏好指示相对于第二来源对第一来源的偏好。例如,媒体指南应用可以检索本地存储或远程存储在服务器处的用户简档。媒体指南应用可以从用户简档中检索搜索偏好。例如,媒体指南应用可以存储由用户设置的来源的排名。作为具体示例,媒体指南应用可以生成图形用户界面,其中用户可以将来源(例如,等)拖放成特定顺序以反映他或她的偏好。媒体指南应用然后可以存储(例如,以阵列形式)每个来源的排名和标识符。媒体指南应用可以检索由用户设置的存储的来源的排名,并确定第一来源和第二来源的相应排名。例如,媒体指南应用可以确定由字符串“hulu”识别的与排名“5”相关联。如果的排名为“3”,则媒体指南应用可以确定用户相对于更偏好并基于偏好从两个来源生成结果,如下文进一步描述的。

媒体指南应用生成用于显示的网格,该网格包括具有搜索结果的多个行。例如,媒体指南应用可以生成高于来自第二来源的结果的来自第一来源的结果,并且仅显示第二来源中与从第一来源显示的结果不匹配的结果。具体而言,媒体指南应用基于检索到的指示相对于第二来源对第一来源的偏好的用户偏好来确定生成用于在第一行中显示的来自第一来源的第一搜索结果。例如,媒体指南应用可以确定在其中从第一来源生成结果的特定位置(例如,一行)。在一些实施例中,该行可以位于比呈现来自第二来源的结果的第二行更靠近屏幕的顶部的行。

媒体指南应用确定适合于第一行的第一搜索结果的第一子集和适合于第二行的第二搜索结果的第二子集,其中第一子集包括第一搜索结果的第一结果,并且其中第二子集包括第二结果,但不包括第二搜索结果的第三结果。例如,媒体指南应用可以确定适合于第一行和第二行的结果的数量。该数量可以是常数(例如,每行始终包含3个结果),或者可以基于结果的标识符的长度而变化(例如,具有较多数量字符的结果占用更多空间,并且一次被显示的结果更少)。在一些实施例中,对于第一行和第二行,该数量可以不同。例如,由于基于用户偏好而被优选,因此可以为第一行显示比第二行更多的结果(例如,第一行可以占据更多的显示空间并且在两个子行中显示结果)。然后,媒体指南应用可以从接收到的来自两个来源的搜索结果中选择适当数量的结果进行显示(例如,第一子集和第二子集)。第一子集可以包括与第二子集中的第二结果匹配的第一结果。例如,“thebigbangtheory”可能存在于第一子集和第二子集中。为了向用户呈现非重复的结果,媒体指南应用可以选择第二搜索结果中与第一子集中的结果中的任何一个都不匹配的第三结果,而不是第二结果,如下文进一步描述的。

媒体指南应用将与第一结果相关联的元数据和与第二结果相关联的元数据进行比较。例如,媒体指南应用可以在本地从存储装置或从远程服务器检索与结果相关联的元数据。媒体指南应用可以替代地或附加地接收与从来源接收到的结果相关联的表的字段中的元数据。元数据可以是与结果相关的描述与结果相关联的内容的任何数据。例如,如果结果是针对新闻文章,则元数据可以包括文章的作者、文章的类型(例如,观点)和/或出版物名称(例如,nature)。媒体指南应用可以执行程序脚本以迭代地比较两个结果的元数据(例如,属性)的字符,以确定两个结果是否匹配。例如,媒体指南应用可以将与第一结果相关联的字符串“mattdamon”和与第二结果相关联的字符串“mattdillon”进行比较。

在一些实施例中,媒体指南应用可以从数据库中检索元数据,并且比较检索到的元数据的字符以确定两个结果是否匹配。具体而言,媒体指南应用将第一结果的第一标识符和第二结果的第二标识符与存储在数据库中的多个标识符进行比较。标识符可以是定义结果的字符的任意组合,诸如与结果相关联的标题、url和/或数值(例如,序列号)。例如,媒体指南应用可以访问本地存储在存储装置中的数据库或经由通信网络访问存储在远程服务器处的数据库。该数据库可以被组织为一系列的多个链接表(例如,关系数据库),其中第一表中的多个标识符每个与指针相关联,该指针指向包含与该标识符相关联的元数据的另一个表。例如,媒体指南应用可以将第一标识符和第二标识符的字符与存储的多个标识符进行比较。媒体指南应用确定第一存储的标识符与第一标识符匹配并且第二存储的标识符与第二标识符匹配。例如,媒体指南应用可以确定第一存储的标识符与第一标识符匹配并且第二存储的标识符与第二标识符匹配。媒体指南应用然后可以基于与第一存储的标识符和第二存储的标识符对应的字段中的指针来访问适当的链接表。

媒体指南应用从与第一存储的标识符相关联的第一字段中检索第一元数据,并从与第二存储的标识符相关联的第二字段中检索第二元数据。例如,可以构造包含与每个存储的标识符相关联的元数据的表,使得每个表的第一字段中的元数据始终是与结果相关联的标题,每个表的第二字段中的元数据始终是导演,等等,以便更容易地进行比较(例如,可以比较同一属性的元数据而不必将每个存储的值和与另一个标识符相关联的每个存储的值进行比较)。替代地或附加地,该表可以被构造为使得具有元数据的每个字段与可以用于比较与不同标识符相关联的对应元数据的标签(诸如“actor”)相关联。媒体指南应用可以从与第一标识符(例如,标题)相关联的第一字段中检索元数据,并且从与第二标识符(例如,也是标题)的第二字段中检索元数据。然后,媒体指南应用将与第一结果相关联的第一元数据的第一字符和与第二结果相关联的第二元数据的第二字符进行比较。例如,媒体指南应用可以将与(由第一标识符识别的)第一结果相关联的检索到的字符串的每个字符和与(由第二标识符识别的)第二结果相关联的检索到的字符串的每个字符进行比较。

媒体指南应用基于比较确定第一结果与第二结果匹配。例如,媒体指南应用可以确定如果与第一结果相关联的特定属性的每个字符匹配与第二结果相关联的对应属性的每个字符,则两个结果匹配。例如,如果两个结果包含引用演员“mattdamon”的元数据,则媒体指南应用可以确定元数据匹配,并且因此两个结果匹配。替代地或附加地,媒体指南应用可以确定与第一结果相关联的所有元数据(例如,所有属性)或阈值百分比(例如,50%)是否与第二结果的对应元数据匹配。例如,如果媒体指南应用确定标题、导演和体裁属性在两个结果之间匹配,则与仅匹配一个属性时相比,媒体指南应用可以以更大的置信度确定两个结果匹配。

在一些实施例中,在确定两个结果是否匹配时,可以对某些属性(例如,标题)加更多权重,因为这些属性在结果之间更加不同。例如,许多结果可能涉及“mattdamon”,因此,如果仅匹配演员元数据,则可能出现假阳性匹配,但是,多个结果涉及“thebourneidentity”的可能性较小,因此,该标题的权重高于演员。在一些实施例中,如果阈值数量的字符在第一结果的属性和第二结果的属性之间匹配,则媒体指南应用可以确定匹配。例如,在一些情况下,由于拼写错误或其它印刷错误,与第一结果相关联的元数据和与第二结果相关联的元数据(例如,“tomhanks”和“tomhankz”)之间的单个字符可能不同。在这种情况下,如果阈值(例如,除了一个字符之外的所有字符)数量的字符匹配,则媒体指南应用可以确定与第一和第二结果相关联的元数据匹配。

在一些实施例中,媒体指南应用可以基于显示模板来确定要为第一子集和第二子集选择的结果的数量。具体而言,媒体指南应用检索用于网格的显示模板。例如,媒体指南应用可以或者从存储装置本地或者经由通信网络从服务器远程检索显示模板。显示模板可以是任何合适的数据结构,诸如类或表,其包含用于在不同行中显示来自多个来源的结果的参数。媒体指南应用从与第一行相关联的显示模板的第一字段中检索适合于第一行的结果的第一数量的第一值。例如,媒体指南应用可以从显示模板的字段中检索第一行中的结果的数量的整数(例如,“3”)。替代地或附加地,媒体指南应用可以检索与第一行的显示区域的大小对应的一个或多个值,并计算可以适合于第一行的结果的数量。媒体指南应用从与第二行相关联的显示模板的第二字段中检索适合于第二行的结果的第二数量的第二值。与适合于第一行的结果的数量的值类似,媒体指南应用可以从显示模板的字段中检索第一行中的结果的数量的整数(例如“3”)。在一些实施例中,适合于第一行的结果的数量可以不同于适合于第二行的结果的数量。例如,媒体指南应用可以呈现更多数量的来自第一来源的结果,因为它是用户首选的。

然后,媒体指南应用从第一搜索结果中选择第一数量的结果作为第一子集。例如,媒体指南应用可以从第一搜索结果中检索被确定为适合于第一行的结果的数量(例如,如以上所讨论的,从包含从第一来源接收到的结果的表中检索结果的标识符)。媒体指南应用可以通过将第一搜索结果中所述数量的结果的标识符添加到列表或其它数据结构来生成第一子集。媒体指南应用从第二搜索结果中选择第二数量的结果作为第二子集。例如,媒体指南应用可以从第二搜索结果中检索被确定为适合于第二行的结果的数量(例如,如以上所讨论的,从包含从第二来源接收到的结果的表中检索结果的标识符)。媒体指南应用可以通过将第二搜索结果中所述数量的结果的标识符添加到列表或其它数据结构来生成第二子集。媒体指南应用可以检索与第一子集和第二子集的每个标识符相关联的附加文本和/或图形,以填充显示模板的实例(例如,使得每个结果根据显示模板中的参数被显示)。

在一些实施例中,媒体指南应用基于来自每个来源的结果的相关性排名来确定选择哪些结果。具体而言,媒体指南应用基于每个结果与用户输入的相关性对第一搜索结果中的每个结果进行排名,并且对第二搜索结果中的每个结果进行排名。例如,媒体指南应用可以从已经按照流行度(例如,基于用户已点击特定链接的次数)和/或字符匹配(例如,由用户提交的搜索查询中有多少个字符与结果的字符匹配)被排名的来源接收搜索结果。在这种情况下,媒体指南应用还可以基于用户偏好对结果进行排名(例如,基于用户对那些结果的偏好来提升某些结果),或者可以简单地检索排名最高的结果而无需进一步排名。如果从来源接收到的结果没有排名,以及仅基于与用户的查询的相似性进行排名,则媒体指南应用可以针对每个结果确定相对流行度。例如,媒体指南应用可以将每个结果的标识符与存储在数据结构(或者在本地存储装置中,或者在远程服务器处)中的流行度进行比较。媒体指南应用然后可以基于检索到的流行度值对从来源接收到的结果进行排名。例如,流行度值可以是电视节目的尼尔森(nielsen)排名。

媒体指南应用在第一搜索结果中检索排名最高的结果作为第一子集中的第一结果。例如,媒体指南应用可以检索排名第一搜索结果中的排名最高的结果作为第一结果。媒体指南应用可以通过从第一搜索结果中检索下一个排名最高的结果来继续检索适合于第一行的结果的数量(例如,如以上所讨论的)。媒体指南应用在第二搜索结果中检索排名最高的结果作为第二子集中的第二结果。例如,媒体指南应用可以检索第二搜索结果中的排名最高的结果作为第二结果。媒体指南应用可以通过从第二搜索结果中检索下一个排名最高的结果来继续检索适合于第二行的结果的数量(例如,如以上所讨论的)。

媒体指南应用响应于确定第一结果与第二结果匹配,通过用第三结果替换第二子集中的第二结果来修改第二子集。例如,在确定要被同时显示的两个结果(例如,它们在第一子集和第二子集中)时,媒体指南应用将用户不偏好的来源的结果替换为另一个结果。例如,如果“thebigbangtheory”既是来自第一来源又是来自第二来源的结果并且在第一子集和第二子集中,则第二子集中的结果可以用另一个结果替换。如下面进一步讨论的,替换第二结果的结果可以基于用户偏好或者基于来自第二来源的搜索结果中的每个结果的排名。

在一些实施例中,媒体指南应用通过用下一个排名最高的结果替换第二结果来修改第二子集。具体而言,媒体指南应用检索不在第二子集中的下一个排名最高的结果作为第三结果。例如,媒体指南应用可以从排名结果列表(例如,如以上所讨论的,或者从搜索结果的来源接收到的,或者由媒体指南应用生成的)中检索作为不是第二子集的一部分的排名最高结果的结果。媒体指南应用还可以确定检索到的下一个排名最高的结果是否与第一子集中的结果匹配(例如,如以上所讨论的通过比较元数据)。例如,如果媒体指南应用确定下一个排名最高的结果与第一子集中的结果匹配,则媒体指南应用可以检索另一个结果(例如,排名列表上更低的一个结果),直到结果与第一子集中的任何一个都不匹配。

媒体指南应用可以从第二子集中移除第二结果。例如,媒体指南应用可以从存储第二子集的标识符的列表或其它数据结构中移除与第二结果相关联的标识符。媒体指南应用然后可以将第三结果添加到第二子集。例如,媒体指南应用可以将下一个排名最高的结果(与第一子集中的任何结果都不匹配)的标识符添加到列表或其它数据结构中。媒体指南应用可以将标识符添加到先前由已移除的第二结果的标识符填充的同一字段中,或者可以对标识符重新排序(例如,基于流行度)。在一些实施例中,媒体指南应用使用存储在列表或其它数据结构中的标识符的顺序作为在行中呈现给用户的标识符的顺序。

在一些实施例中,媒体指南应用通过将第二结果替换为与用户偏好匹配的结果来修改第二子集。具体而言,媒体指南应用检索搜索结果的属性的第二用户偏好。例如,媒体指南应用可以检索包含多个用户偏好的用户简档。媒体指南应用可以从用户简档中检索偏好。例如,媒体指南应用可以检索用户喜欢包括演员“mattdamon”的电影。媒体指南应用可以将检索到的用户偏好和与来自来源的搜索结果中的每个结果相关联的元数据进行比较。例如,媒体指南应用可以从本地存储装置或远程服务器检索与结果相关联的元数据。

然后,媒体指南应用可以针对每个结果确定用户偏好是否匹配与每个结果相关联的元数据(例如,基于字符比较)。在一些实施例中,媒体指南应用将用户简档中的每个用户偏好和与结果相关联的元数据进行比较,并基于有多少用户偏好匹配与每个结果相关联的元数据来对结果进行排名。例如,如果结果的演员和体裁都与用户偏好匹配,则该结果的排名可能高于另一个结果,在该结果中,仅与该结果相关联的演员与用户偏好匹配。在一些实施例中,当确定用哪个结果替换第二结果时,媒体指南应用可以对某些用户偏好加权更高(例如,基于存储在用户简档中的指示)。例如,媒体指南应用可以基于用户将针对“动作电影”的偏好指定为“低偏好”来确定针对“动作电影”检索到的用户偏好是用户的“低偏好”。作为对照,媒体指南应用可以确定针对“mattdamon”检索到的用户偏好是用户的“高偏好”。

媒体指南应用响应于确定第三结果的属性与第二用户偏好相匹配,从第二子集中移除第二结果。例如,媒体指南应用可以从存储第二子集的标识符的列表或其它数据结构中移除与第二结果相关联的标识符。媒体指南应用然后可以将第三结果添加到第二子集。例如,媒体指南应用可以将与(一个或多个)用户偏好匹配(或最紧密匹配)的结果的标识符添加到列表或其它数据结构。媒体指南应用可以将标识符添加到先前由已移除的第二结果的标识符填充的同一字段中,或者可以对标识符重新排序(例如,基于流行度)。在一些实施例中,媒体指南应用使用存储在列表或其它数据结构中的标识符的顺序作为在行中呈现给用户的标识符的顺序。

媒体指南应用生成用于在第一行中显示的第一子集和用于在第二行中显示的修改后的第二子集。例如,媒体指南应用可以生成第一行中的第一子集中的每个结果的标识符。作为具体示例,标识符可以是识别每个结果的文本或图形。媒体指南应用可以从来源接收标识符,或者可以从本地存储装置或远程服务器检索它们。媒体指南应用可以类似地生成第二行中的修改后的第二子集中的每个结果的标识符(例如,其中第三结果已经替换了第二结果)。在一些实施例中,媒体指南应用生成可获得更多结果的指示(例如,指向侧面的箭头)。响应于接收到用户对箭头的选择,媒体指南应用可以或者为仅针对其选择了箭头的来源(例如,来自的更多结果代替当前结果被显示)或者为所有显示的来源(例如,来自的更多结果代替当前结果被显示)生成新的子集。每当被显示的子集中的结果改变(例如,基于查看更多结果的用户输入)时,媒体指南应用都会确定较低的行中是否有任何结果匹配较高的行中的结果,并替换这些结果,如以上所述。

在一些实施例中,媒体指南应用确定从第一和第二来源接收到的重复结果的总数,并将该数量显示给用户。具体而言,媒体指南应用将第一搜索结果的每个结果与第二搜索结果的每个结果进行比较。例如,媒体指南应用可以将与第一搜索结果中的每个结果相关联的元数据与从第二来源接收到的每个搜索结果的元数据进行比较。例如,媒体指南应用可以利用for循环执行程序脚本,以迭代地比较来自第一来源的每个结果与来自第二来源的每个结果。然后,媒体指南应用基于将第一搜索结果中的每个结果与第二搜索结果中的每个结果进行比较来确定第一搜索结果和第二搜索结果之间的重复结果的数量。例如,媒体指南应用可以初始化计数器,并在每次确定来自第一来源的结果和来自第二来源的结果之间的匹配时递增该计数器,直到来自第一来源的每个结果都已与来自第二来源的搜索结果进行比较为止。如以上所讨论的,如果与两个搜索结果相关联的元数据的阈值百分比匹配,则媒体指南应用可以确定匹配。然后,媒体指南应用生成用于在第二行中显示的重复结果的数量的指示。例如,媒体指南应用可以生成用于显示的文本,其中具有第一行或第二行中的重复项的总数的值(例如“30”)。该指示可以可选地包含阐明重复项引用哪个来源的文本。例如,如果是第一行的来源,并且是第二行的来源,则媒体指南应用可以在第二行中生成文本“30个与amazon重复的源”。

在一些实施例中,媒体指南应用可以显示在接收到用户对结果的选择后返回相同结果的其它源。具体而言,媒体指南应用接收用户对第一结果的选择。例如,媒体指南应用可以经由诸如遥控器或触摸屏界面之类的用户输入界面接收对在网格上显示的特定结果的选择。作为具体示例,媒体指南应用可以确定用户已经选择了第一行中的“thebigbangtheory”的结果(例如,用户最偏好的来源)。媒体指南应用可以通过将与所选择的结果相关联的元数据与来自其它来源的结果进行比较来确定接收到“thebigbangtheory”的结果的其它来源,如以上所讨论的。例如,媒体指南应用可以确定第二结果(来自第二来源)与第一结果(例如来自第一来源)匹配,并且第一来源被用户选择。响应于接收到用户选择,媒体指南应用生成用于显示的第一结果也可从第二来源获得的指示。例如,如果第一搜索结果和第二搜索结果都包括“thebigbangtheory”的结果,则当用户在包含第一搜索结果的第一行中选择“thebigbangtheory”结果时,媒体指南应用可以生成用于显示的该结果也由第二来源返回的指示。作为具体示例,媒体指南应用可以生成用于显示的文本“该结果也由hulu返回”。以这种方式,媒体指南应用可以向用户提供结果可用的替代来源,而不必在每一行中显示相同的结果。

在一些实施例中,媒体指南应用接收来自用户的请求,该请求表达了对第二来源而不是第一来源的偏好,并且媒体指南应用从第一子集而不是第二子集替换第一和第二子集之间的重复结果。具体而言,媒体指南应用可以接收第二用户输入,该第二用户输入指示相对于第一来源对第二来源的第二偏好。例如,媒体指南应用在用来自第一和第二结果的搜索结果生成用于显示的网格时,可以包括可选选项(例如箭头),以将具有来自一个来源的结果的行与具有来自另一个来源的结果的行交换。媒体指南应用可以接收用户对可选选项之一的选择,以将具有来自第二来源的结果的第二行提升到具有来自第一来源的结果的第一行之上。例如,用户可以选择(例如,经由诸如遥控器之类的用户输入界面)指向上方的箭头图形,并且媒体指南应用可以确定用户选择是交换第一行和第二行的请求(例如,如果第一行位于第二行的正上方)。媒体指南应用可以存储(例如,在用户简档中)相对于第一来源偏好第二来源的新用户偏好,以在使用来自两个来源的搜索结果生成将来的网格时使用。

媒体指南应用响应于接收到第二用户输入,交换显示第一搜索结果和第二搜索结果的行,并确定较不偏好的来源(例如,第一来源)中是否存在与更偏好的来源(例如,第二来源)的重复项。具体而言,媒体指南应用通过用第二结果替换修改后的第二子集中的第三结果来生成第二搜索结果的第三子集。例如,由于相对于第一来源更偏好第二来源,因此来自第二来源的结果是所偏好的。因此,第二结果(例如,针对“thebigbangtheory”)可以被添加回第二子集中以创建用于显示的结果的新的第三子集。媒体指南应用可以生成具有作为第三子集的一部分的每个结果的标识符的新列表或其它数据结构,或者修改第二子集的现有列表或其它数据结构。在一些实施例中,第二结果替换第三结果。在其它实施例中,先前在子集中的另一个结果被移除,并且第二和第三结果都在第三子集中。

媒体指南应用通过用第一搜索结果中的第四结果替换第一子集中的第一结果来生成第一搜索结果的第四子集,其中第四结果不在第一子集中。例如,由于相对于第一来源偏好第二来源,因此来自第一来源的与第二来源的结果匹配的结果需要用其它结果来替换。因此,第一结果(例如,针对“thebigbangtheory”)可以用第一结果中与第三子集中的任何结果都不匹配(例如,如以上所讨论的,基于比较元数据)的第四结果来替换。媒体指南应用可以生成具有作为第四子集的一部分的每个结果的标识符的新列表或其它数据结构,或者修改第一子集的现有列表或其它数据结构。然后,媒体指南应用生成用于在第一行中显示的第三子集而不是第一子集,以及用于在第二行中显示的第四子集而不是修改后的第二子集。例如,媒体指南应用可以生成与第一行中的第三子集的每个结果和第二行中的第四子集的每个结果相关联的指示符(例如,文本和/或图形)。以这种方式,仍然不会呈现重复结果,但是由于现在相对于第一来源偏好第二来源,因此重复结果从第一结果而不是第二结果中被替换。

在一些实施例中,结果识别媒体资产,并且媒体指南应用呈现可选选项以执行与媒体资产相关的动作。具体而言,媒体指南应用接收用户对第一结果的选择。例如,媒体指南应用可以经由诸如遥控器或触摸屏界面之类的用户输入界面接收对在网格上显示的特定结果的选择。作为具体示例,媒体指南应用可以确定用户已经选择了第一行中的“thebigbangtheory”的结果(例如,用户最偏好的来源)。媒体指南应用响应于接收到用户选择,生成用于显示的与媒体资产相关联的多个可选选项。该多个选项可以包括将媒体资产添加到观看列表的选项。例如,在用户选择将媒体资产添加到观看列表的选项之后,媒体指南应用可以将与媒体资产相关联的标识符存储在数据结构中,该数据结构包括用户期望在某个未来时间观看的媒体资产的标识符。

多个选项可以包括将媒体资产添加到收藏夹列表的选项。例如,当用户选择将媒体资产添加到收藏夹列表的选项时,媒体指南应用可以将与媒体资产相关联的标识符存储在包括用户喜欢的媒体资产的标识符的数据结构中。在一些实施例中,如以上所讨论的,当确定用哪个结果替换重复结果时,收藏夹列表可以用于确定用户对特定结果的偏好。多个选项可以包括查看即将到来的可获得媒体资产的时间的选项。例如,在用户选择查看即将到来的可获得媒体资产的时间的选项时,媒体指南应用可以向媒体指南数据库(例如,本地存储在存储装置中或存储在远程服务器处)查询时间和从中可获得媒体资产的来源。然后,媒体指南应用可以生成用于显示的时间和从中可获得媒体资产的来源。

多个选项可以包括记录媒体资产的选项。例如,在用户选择记录媒体资产的选项时,媒体指南应用可以确定媒体资产是否在某个时间段期间可从来源获得。如果可获得媒体资产,则媒体指南应用可以调度记录(例如,通过将媒体资产的标识符以及可获得媒体资产的来源和时间添加到调度数据结构)。如果媒体资产不可获得,则媒体指南应用可以将媒体资产添加到观看列表,如以上所讨论的。

所描述的系统和方法可以基于用户偏好来呈现不同行中来自不同来源的搜索结果,并确保较不偏好的来源不显示与较偏好的来源的重复项。常规系统可以呈现按结果的来源组织的来自不同来源的结果。但是,当基于其相应的来源对结果进行排名时,该处理忽略用户的偏好。此外,常规系统没有确定较低排名来源(基于用户的偏好)是否包含与较高排名来源的重复结果,因此呈现不同的结果。通过考虑和移除重复项,所描述的系统和方法可以使可以在给定显示屏上呈现的独特结果的数量最大化。

应该注意的是,上述系统和/或方法可以应用于本公开中描述的其它系统、方法和/或装置,或者根据本公开中描述的其它系统、方法和/或装置来使用。

附图说明

在结合附图考虑以下详细描述时,本公开的上述和其它目的和优点将变得显而易见,附图中,相同的附图标记通篇指代相同的部分,并且其中:

图1示出了根据本公开的一些实施例的在网格中显示来自多个来源的搜索结果的显示的说明性示例;

图2示出了根据本公开的一些实施例的包含来自不同来源的搜索结果的数据结构的说明性描绘;

图3示出了根据本公开的一些实施例的在网格中显示来自多个来源的搜索结果的另一个说明性显示;

图4示出了根据本公开的一些实施例的用于在访问媒体内容时使用的显示屏的说明性示例;

图5示出了根据本公开的一些实施例的用于访问媒体内容的显示屏的另一个说明性示例;

图6是根据本公开的一些实施例的说明性用户装备设备的框图;

图7是根据本公开的一些实施例的说明性媒体系统的框图;

图8是根据本公开的一些实施例的用于呈现来自多个来源的搜索结果的说明性步骤的流程图;

图9是根据本公开的一些实施例的用于基于用户偏好来确定用户相对于第二来源偏好第一来源的示例性步骤的流程图;

图10是根据本公开的一些实施例的用于确定要显示的结果的子集的说明性步骤的流程图;

图11是根据本公开的一些实施例的用于确定来自第一来源的第一结果和来自第二来源的第二结果是否匹配的说明性步骤的流程图;以及

图12是根据本公开的一些实施例的用于呈现来自多个来源的搜索结果的说明性步骤的另一个流程图。

具体实施方式

描述了用于通过对从中接收到结果的来源进行排名并且不呈现来自较低排名来源的重复结果来呈现来自多个来源的搜索结果的系统和方法。例如,可以接收来自第一来源和第二来源的结果。响应于用户相对于第二来源对第一来源的偏好(例如,用户相对于hbo更喜欢),来自第一来源的结果可以比来自第二来源的结果呈现在更靠近屏幕的顶部的行中。然后,系统确定将针对显示的结果是否与将针对hbo显示的结果匹配(例如,通过比较两个结果的元数据)。如果两个结果匹配,则仅针对排名较高的来源(例如,)呈现结果,并且在第二行中呈现与第一行中显示的任何结果都不匹配的另一个结果。以这种方式,当从不同来源获得相同结果时,向用户提供了所有都不同的搜索结果,而不是多次呈现相同的结果。

图1示出了根据本公开的一些实施例的在网格中显示来自多个来源的搜索结果的显示的说明性示例。例如,显示100可以耦合到执行媒体指南应用以便显示与用户查询102相关的搜索结果的用户装备。可以经由耦合到显示显示100的同一用户装备或其它用户装备的用户输入界面来接收用户查询102。显示100包括网格,该网格包括用于来源104和106以及附加来源108的行。用于来源(例如,来源104或来源106)的每一行都包含来自该来源的结果的子集。例如,显示来自来源104的结果112、114和116,并且显示来自来源106的结果118、120和122。如下面所讨论的,来源104和来源106可以包括相同的结果(例如,结果112是要从两个来源显示的子集的一部分)。作为响应,媒体指南应用可以从用户较不偏好的来源(例如,从来源106)移除重复的结果。

显示100可以包括基于用户偏好排序的来源(例如,从上到下)。例如,如果存储在用户简档中的用户偏好指示相对于来源106偏好来源104,则媒体指南应用可以生成在显示100中在来源106上方的来源104。显示100可以包括箭头124和130以分别显示与来源104和106相关联的附加结果。显示100可以包括箭头126和128以对来源进行重新排序。例如,在选择箭头126或128之一时,媒体指南应用可以对在显示100上呈现的来源进行重新排序(例如,来源106可以是第一行,并且来源104可以是第二行)。显示100可以出现在一个或多个用户设备(例如,下面的图6-7中列出的任何设备)上。此外,媒体指南应用可以使用图8-12中描述的一个或多个处理来生成显示100或其中描述的任何特征。

在一些实施例中,媒体指南应用接收用户输入。例如,媒体指南应用可以经由用户输入界面(例如,遥控器或触摸屏界面)接收用户输入。用户输入可以是一个或多个字母数字或其它字符(例如,“big”)的串。替代地或附加地,用户输入可以是通过常见搜索查询来选择多个可选选项之一。例如,媒体指南应用可以将最常搜索的关键字呈现为可供用户选择的可选选项,从而为用户节省他或她可能不得不输入字符的时间。

媒体指南应用基于用户输入从第一来源和第二来源搜索结果。例如,媒体指南应用可以将用户输入(例如,用户查询102)发送到第一来源和第二来源(例如,来源104和106)。例如,媒体指南应用可以生成包括用户输入(例如,字符串)和/或用于搜索的其它参数(例如,结果应该在某个时间段内)的数据分组。在一些实施例中,媒体指南应用可以利用来自一个或两个来源(例如,来源104和106中的一个或两个)的api来发送搜索查询(例如,基于用户输入)。媒体指南应用可以基于用户针对特定来源的偏好(例如,在用户简档中存储的用户偏好)来确定要向其发送用户输入的来源(例如,来源104和106)。例如,用户可以存储搜索查询应该被发送到特定来源集合(例如,来源104和106)的偏好。替代地或附加地,媒体指南应用可以在用户输入时生成图形用户界面,从而允许用户选择来源(例如,来源104和106)。例如,媒体指南应用可以生成字段,其中用户可以输入字符串(例如,用户查询102)和一系列用于搜索结果的来源的可选选项。

如本文所提到的,“结果”应被理解为与用户的输入相关或匹配的数据。例如,数据可以是到数据的位置的链接,诸如到网页的url或到存储媒体资产的存储装置中的位置的链接。作为另一个示例,数据可以是与用户输入匹配的文本或图形(例如,如果用户输入为“橙子(orange)”,则结果可能是该水果的图像)。如本文所提到的,“搜索结果”应被理解为从来源接收到的一个或多个结果。例如,基于用户输入来查询结果的来源可以返回多个结果(例如,指向不同url的链接、指向存储装置中的不同位置的指针、图形等)。

媒体指南应用从第一来源接收第一搜索结果,并从第二来源接收第二搜索结果。例如,媒体指南应用可以从两个来源(例如,来源104和106)接收与用户输入(例如,用户查询102)匹配的多个结果。可以在单独的表中接收来自每个来源(例如,来源104和106)的结果,其中每个表包含多个行,每个行具有匹配结果的标识符(例如,媒体资产的标题)以及相关联字段中的附加信息(例如,媒体资产中的演员)。在一些实施例中,可以根据流行度对结果进行排名,如下面关于图2和图10进一步描述的。替代地或附加地,可以根据与用户输入的相关性对结果进行排名,如下面关于图2和图10进一步描述的。例如,虽然“thebigbangtheory”是最流行的结果(例如,许多用户点击它),但是由于用户输入是“bang”,因此作为mileycyrus的专辑的结果“bangerz”可能会由于第一个单词与查询匹配而排名更高。替代地或附加地,媒体指南应用可以基于以上讨论的因素的任意组合以及基于用户偏好来对结果进行重新排序。例如,如果媒体指南应用检索到用户喜欢有给定演员的电影的用户偏好,则带有该演员的结果可能在排名中被提升。

媒体指南应用检索到用户偏好,该用户偏好指示相对于第二来源对第一来源的偏好。例如,媒体指南应用可以检索本地存储或远程存储在服务器处的用户简档。媒体指南应用可以从用户简档中检索搜索偏好。例如,媒体指南应用可以存储由用户设置的来源(例如,来源104和106)的排名。作为具体示例,媒体指南应用可以生成图形用户界面,其中用户可以将来源(例如,来源104和106)拖放成特定顺序以反映他或她的偏好。媒体指南应用然后可以存储(例如,以阵列形式)每个来源(例如,来源104和106)的排名和标识符。媒体指南应用可以检索由用户设置的存储的来源(例如,来源104和106)的排名,并确定第一来源和第二来源的相应排名。例如,媒体指南应用可以确定由字符串“hulu”识别的与排名“5”相关联。如果的排名为“3”,则媒体指南应用可以确定用户相对于更偏好并在网格(例如,显示100)中基于偏好从两个来源生成结果,如下文进一步描述的。

媒体指南应用生成用于显示的网格,该网格包括具有搜索结果的多个行。例如,媒体指南应用可以生成高于来自第二来源(例如,来源106)的结果的来自第一来源(例如,来源104)的结果,并且仅显示第二来源中与从第一来源显示的结果不匹配的结果。具体而言,媒体指南应用基于检索到的指示相对于第二来源对第一来源的偏好的用户偏好来确定生成用于在第一行中显示的来自第一来源的第一搜索结果。例如,媒体指南应用可以确定在其中从第一来源(例如,来源104)生成结果(例如,结果112、114和116)的特定位置(例如,一行)。在一些实施例中,该行可以位于比呈现来自第二来源的结果的第二行更靠近屏幕(例如,显示100)的顶部的行。

媒体指南应用确定适合于第一行的第一搜索结果的第一子集和适合于第二行的第二搜索结果的第二子集,其中第一子集包括第一搜索结果的第一结果,并且其中第二子集包括第二搜索结果的第二结果,但不包括第二搜索结果的第三结果。例如,媒体指南应用可以确定适合于第一行和第二行的结果的数量。该数量可以是常数(例如,每行始终包含3个结果),或者可以基于结果的标识符的长度而变化(例如,具有较多数量字符的结果占用更多空间,并且一次被显示的结果更少)。在一些实施例中,对于第一行和第二行,该数量可以不同。例如,由于基于用户偏好而被优选(例如,相对于来源106偏好来源104),因此可以为第一行显示比第二行更多的结果(例如,第一行可以占据更多的显示空间并且在两个子行中显示结果)。然后,媒体指南应用可以从接收到的来自两个来源的搜索结果中选择适当数量的结果进行显示(例如,从来源104接收到的结果中选择结果112、114和116)。第一子集可以包括与第二子集中的第二结果匹配的第一结果。例如,“thebigbangtheory”(例如,结果112)可能存在于第一子集和第二子集中(例如,从来源104和106选择的结果都包括相同的结果)。为了向用户呈现非重复的结果,媒体指南应用可以选择第二搜索结果中与第一子集中的结果中的任何一个都不匹配(例如,不匹配结果112、114或116)的第三结果,而不是第二结果,如下文进一步描述的。

媒体指南应用将与第一结果相关联的元数据和与第二结果相关联的元数据进行比较。例如,媒体指南应用可以在本地从存储装置或从远程服务器检索与结果(例如,结果112)相关联的元数据。媒体指南应用可以替代地或附加地接收与从来源(例如,来源104)接收到的结果相关联的表的字段中的元数据。元数据可以是与结果相关的描述与结果相关联的内容的任何数据。例如,如果结果是针对新闻文章,则元数据可以包括文章的作者、文章的类型(例如,观点)和/或出版物名称(例如,nature)。媒体指南应用可以执行程序脚本以迭代地比较两个结果的元数据(例如,属性)的字符,以确定两个结果是否匹配(例如,比较来自来源104的结果112和来自来源106的结果118)。例如,媒体指南应用可以将与第一结果相关联的字符串“mattdamon”和与第二结果相关联的字符串“mattdillon”进行比较。

媒体指南应用基于比较确定第一结果与第二结果匹配。例如,媒体指南应用可以确定如果与第一结果(例如,来自来源104的结果112)相关联的特定属性的每个字符匹配与第二结果(例如,与来自来源106的结果112匹配的结果)相关联的对应属性的每个字符,则两个结果匹配。例如,如果两个结果包含引用演员“mattdamon”的元数据,则媒体指南应用可以确定元数据匹配,并且因此两个结果匹配。替代地或附加地,媒体指南应用可以确定与第一结果(例如,来自来源104)相关联的所有元数据(例如,所有属性)或阈值百分比(例如,50%)是否与第二结果(例如,来自来源106)的对应元数据匹配。例如,如果媒体指南应用确定标题、导演和体裁属性在两个结果之间匹配,则与仅匹配一个属性时相比,媒体指南应用可以以更大的置信度确定两个结果匹配。

在一些实施例中,在确定两个结果是否匹配时,可以对某些属性(例如,标题)加更多权重,因为这些属性在结果之间更加不同。例如,许多结果可能涉及“mattdamon”,因此,如果仅匹配演员元数据,则可能出现假阳性匹配,但是,多个结果涉及“thebourneidentity”的可能性较小,因此,标题的权重高于演员。在一些实施例中,如果阈值数量的字符在第一结果(例如,来自来源104)的属性和第二结果(例如,来自来源106)的属性之间匹配,则媒体指南应用可以确定匹配。例如,在一些情况下,由于拼写错误或其它印刷错误,与第一结果相关联的元数据和与第二结果相关联的元数据(例如,“tomhanks”和“tomhankz”)之间的单个字符可能不同。在这种情况下,如果阈值(例如,除了一个字符之外的所有字符)数量的字符匹配,则媒体指南应用可以确定与第一和第二结果相关联的元数据匹配。

在一些实施例中,媒体指南应用可以基于显示模板来确定要为第一子集和第二子集选择的结果的数量。具体而言,媒体指南应用检索用于网格的显示模板(例如,以生成显示100)。例如,媒体指南应用可以或者从存储装置本地或者经由通信网络从服务器远程检索显示模板。显示模板可以是任何合适的数据结构,诸如类或表,其包含用于在不同行中显示来自多个来源的结果的参数。媒体指南应用从与第一行相关联的显示模板的第一字段中检索适合于第一行的第一数量的结果的第一值。例如,媒体指南应用可以从显示模板的字段中检索第一行中的结果的数量的整数(例如,“3”)。替代地或附加地,媒体指南应用可以检索与第一行的显示区域的大小对应的一个或多个值,并计算可以适合于第一行的结果的数量。媒体指南应用从与第二行相关联的显示模板的第二字段中检索适合于第二行的第二数量的结果的第二值。与适合于第一行的结果的数量的值类似,媒体指南应用可以从显示模板的字段中检索第一行中的结果的数量的整数(例如“3”)。在一些实施例中,适合于第一行的结果的数量可以不同于适合于第二行的结果的数量。例如,媒体指南应用可以呈现更多数量的来自第一来源(例如,来源104)的结果,因为它是用户首选的。

然后,媒体指南应用从第一搜索结果中选择第一数量的结果作为第一子集。例如,媒体指南应用可以从第一搜索结果中检索被确定为适合于第一行的结果的数量(例如,如果3个结果适合于第一行,则来自来源104的结果112、114和116可以被检索)。媒体指南应用可以通过将第一搜索结果中所述数量的结果的标识符添加到列表或其它数据结构来生成第一子集。媒体指南应用从第二搜索结果中选择第二数量的结果作为第二子集。例如,媒体指南应用可以从第二搜索结果中检索被确定为适合于第二行的结果的数量(例如,如果3个结果适合于第一行,则来自来源106的结果匹配结果112,结果120和结果122可以被检索)。媒体指南应用可以通过将第二搜索结果中所述数量的结果的标识符添加到列表或其它数据结构来生成第二子集。媒体指南应用可以检索与第一子集和第二子集的每个标识符相关联的附加文本和/或图形,以填充显示模板的实例(例如,使得每个结果根据显示模板中的参数被显示)。

媒体指南应用响应于确定第一结果与第二结果匹配,通过用第三结果替换第二子集中的第二结果来修改第二子集。例如,在确定要被同时显示的两个结果(例如,它们在第一子集和第二子集中)时,媒体指南应用将用户不偏好的来源的结果(例如,与结果112匹配但来自来源106的结果)替换为另一个结果(例如,替换为结果118)。例如,如果“thebigbangtheory”既是来自第一来源又是来自第二来源的结果并且在第一子集和第二子集中,则第二子集中的结果可以用另一个结果替换。如下面关于图2进一步讨论的,替换第二结果的结果可以基于用户偏好或者基于来自第二来源的搜索结果中的每个结果的排名。

媒体指南应用生成用于在第一行中显示的第一子集和用于在第二行中显示的修改后的第二子集。例如,媒体指南应用可以生成第一行中的第一子集(例如,结果112、114和116)中的每个结果的标识符。作为具体示例,标识符可以是识别每个结果的文本或图形。媒体指南应用可以从来源(例如,来源104或来源106)接收标识符,或者可以从本地存储装置或远程服务器检索它们。媒体指南应用可以类似地生成第二行中的修改后的第二子集(例如,结果118、120和122)中的每个结果的标识符。在一些实施例中,媒体指南应用生成可获得更多结果的指示(例如,箭头124和130)。响应于接收到用户对指示的选择,媒体指南应用可以或者为仅针对其选择了箭头的来源(例如,如果选择了箭头124,则仅来自来源104的更多结果被显示)或者为所有显示的来源(例如,如果选择了箭头124,则来自来源104和来源106两者的更多结果被显示)生成新的子集。每当被显示的子集中的结果改变(例如,基于查看更多结果的用户输入)时,媒体指南应用都会确定较低的行中是否有任何结果匹配较高的行中的结果,并替换这些结果,如以上所述。

在一些实施例中,媒体指南应用接收来自用户的请求,该请求表达了对第二来源而不是第一来源的偏好,并且媒体指南应用从第一子集而不是第二子集替换第一和第二子集之间的重复结果。具体而言,媒体指南应用接收(例如,箭头126或箭头128的)第二用户输入,该第二用户输入指示相对于第一来源对第二来源的第二偏好。例如,媒体指南应用在用来自第一和第二结果的搜索结果生成用于显示的网格时,可以包括可选选项(例如箭头126和箭头128),以将具有来自一个来源(例如,来源104)的结果的行与具有来自另一个来源(例如,来源106)的结果的行交换。媒体指南应用可以接收用户对可选选项之一(例如箭头126)的选择,以将具有来自第二来源(例如,来源106)的结果的第二行提升到具有来自第一来源(例如,来源104)的结果的第一行之上。例如,用户可以选择(例如,经由诸如遥控器之类的用户输入界面)指向下方的箭头图形(例如,箭头126),并且确定用户选择是交换第一行和第二行的请求。媒体指南应用可以存储(例如,在用户简档中)相对于第一来源(例如,来源104)偏好第二来源(例如,来源106)的新用户偏好,以在使用来自两个来源的搜索结果生成将来的网格时使用。

媒体指南应用响应于接收到第二用户输入,交换显示第一搜索结果和第二搜索结果的行,并确定较不偏好的来源(例如,现在是第一来源)中是否存在与更偏好的来源(例如,现在是第二来源)的重复项。具体而言,媒体指南应用通过用第二结果替换修改后的第二子集中的第三结果来生成第二搜索结果的第三子集。例如,由于相对于第一来源更偏好第二来源,因此来自第二来源的结果是所偏好的。因此,(例如,与来自来源104的结果112匹配的)第二结果可以被添加回第二子集中以创建用于显示的结果的新的第三子集。媒体指南应用可以生成具有作为第三子集的一部分的每个结果的标识符的新列表或其它数据结构,或者修改第二子集的现有列表或其它数据结构。在一些实施例中,第二结果替换第三结果(例如,替换结果118、120和122之一)。在其它实施例中,先前在子集中的另一个结果被移除,并且第二和第三结果都在第三子集中。

媒体指南应用通过用第一搜索结果中的第四结果替换第一子集中的第一结果来生成第一搜索结果的第四子集,其中第四结果不在第一子集中。例如,由于相对于第一来源(例如,来源104)偏好第二来源(例如,来源106),因此来自第一来源的与第二来源的结果匹配的结果需要以与上面讨论的相同的方式用其它结果来替换。因此,第一结果(例如,结果112)可以用第一结果中与第三子集中的任何结果都不匹配(例如,如以上所讨论的,基于比较元数据)的第四结果来替换。媒体指南应用可以生成具有作为第四子集的一部分的每个结果的标识符的新列表或其它数据结构,或者修改第一子集的现有列表或其它数据结构。然后,媒体指南应用生成用于在第一行中显示的第三子集而不是第一子集,以及用于在第二行中显示的第四子集而不是修改后的第二子集。例如,媒体指南应用可以生成与第一行中的第三子集的每个结果和第二行中的第四子集的每个结果相关联的指示符(例如,文本和/或图形)。以这种方式,仍然不会呈现重复结果,但是由于现在相对于第一来源偏好第二来源,因此重复结果从第一结果而不是第二结果中被替换。

图2示出了根据本公开的一些实施例的包含来自不同来源的搜索结果的数据结构的说明性描绘。例如,可以组织数据结构200,使得每个条目(例如,表中的行)对应于来自相同来源(例如,来源104)的不同结果。类似地,可以组织数据结构250,使得每个条目(例如,表中的行)对应于来自相同来源(例如,来源106)的不同结果。媒体指南应用可以比较数据结构200和250中的结果,以确定哪些结果在两个不同来源之间匹配。媒体指南应用可以基于比较来确定要在网格中显示哪些结果,如上面关于图1所讨论的。例如,选择存储在数据结构200中的结果的子集202以进行显示。例如,选择存储在数据结构250中的结果的子集254以进行显示。例如,由于结果204和结果252匹配,因此媒体指南应用不会选择结果254作为要显示的子集254的一部分(例如,因为相对于数据结构250中的结果的来源偏好数据结构200中的结果的来源)。可以根据各种因素对数据结构200和250中的结果进行排名,如下面关于图10进一步所讨论的。数据结构200和250可以存储在一个或多个用户设备(例如,下面在图6-7中列出的任何设备)上的存储器(例如,如图6中所述的存储装置)中。此外,媒体指南应用可以使用下面在图8-12中描述的一个或多个处理来生成数据结构200和250或其中描述的任何特征。

在一些实施例中,媒体指南应用可以从数据库中检索元数据,并且比较检索到的元数据的字符以确定两个结果是否匹配。具体而言,媒体指南应用将第一结果的第一标识符和第二结果的第二标识符与存储在数据库中的多个标识符进行比较。标识符可以是定义结果的字符的任意组合,诸如与结果相关联的标题、url和/或数值(例如,序列号)。例如,媒体指南应用可以访问本地存储在存储装置中的数据库或经由通信网络访问存储在远程服务器处的数据库。该数据库可以被组织为一系列的多个链接表(例如,关系数据库),其中第一表中的多个标识符每个与指针相关联,该指针指向包含与该标识符相关联的元数据的另一个表。例如,媒体指南应用可以将第一标识符和第二标识符(例如,结果204和252的标识符)的字符与存储的多个标识符进行比较。媒体指南应用确定第一存储的标识符与第一标识符匹配并且第二存储的标识符与第二标识符匹配。例如,媒体指南应用可以确定第一存储的标识符与第一标识符(例如,结果204的标识符)匹配并且第二存储的标识符与第二标识符(例如,结果252的标识符)匹配。媒体指南应用然后可以基于与第一存储的标识符和第二存储的标识符对应的字段中的指针来访问适当的链接表。

媒体指南应用从与第一存储的标识符相关联的第一字段中检索第一元数据,并从与第二存储的标识符相关联的第二字段中检索第二元数据。例如,可以构造包含与(例如,与结果204和254相关联的)每个存储的标识符相关联的元数据的表,使得每个表的第一字段中的元数据始终是与结果相关联的标题,每个表的第二字段中的元数据始终是导演,等等,以便更容易地进行比较(例如,可以比较同一属性的元数据而不必将每个存储的值和与另一个标识符相关联的每个存储的值进行比较)。替代地或附加地,该表可以被构造为使得具有元数据的每个字段与可以用于比较与不同标识符相关联的对应元数据的标签(诸如“actor”)相关联。媒体指南应用可以从与第一标识符(例如,标题)相关联的第一字段中检索元数据,并且从与第二标识符(例如,也是标题)的第二字段中检索元数据。然后,媒体指南应用将与第一结果相关联的第一元数据的第一字符和与第二结果相关联的第二元数据的第二字符进行比较。例如,媒体指南应用可以将与(由第一标识符识别的)第一结果相关联的检索到的字符串的每个字符和与(由第二标识符识别的)第二结果相关联的检索到的字符串的每个字符进行比较。

在一些实施例中,媒体指南应用基于来自每个来源的结果的相关性排名来确定选择哪些结果。具体而言,媒体指南应用基于每个结果与用户输入的相关性对第一搜索结果中的每个结果进行排名,并且对第二搜索结果中的每个结果进行排名。例如,媒体指南应用可以从已经按照流行度(例如,基于用户已点击特定链接的次数)和/或字符匹配(例如,由用户提交的搜索查询中有多少个字符与结果的字符匹配)被排名的来源(例如,数据结构200)接收搜索结果。在这种情况下,媒体指南应用还可以基于用户偏好对结果进行排名(例如,基于用户对那些结果的偏好来提升某些结果),或者可以简单地检索排名最高的结果(例如,索引为“1”的结果,诸如结果204)而无需进一步排名。如果从来源接收到的结果没有排名,以及仅基于与用户的查询的相似性进行排名,则媒体指南应用可以针对每个结果确定相对流行度。例如,媒体指南应用可以将每个结果的标识符(例如,结果204的标识符)与存储在数据结构(或者在本地存储装置中,或者在远程服务器处)中的流行度进行比较。媒体指南应用然后可以基于检索到的流行度值对从来源接收到的结果进行排名。例如,流行度值可以是电视节目的尼尔森排名。

媒体指南应用在第一搜索结果中检索排名最高的结果作为第一子集中的第一结果。例如,媒体指南应用可以检索排名第一搜索结果中的排名最高的结果(例如,结果204可以在数据结构200中被索引为排名最高的结果)作为第一结果。媒体指南应用可以通过从第一搜索结果中(例如,从数据结构200中)检索下一个排名最高的结果来继续检索适合于第一行的结果的数量(例如,如以上所讨论的)。媒体指南应用在第二搜索结果中检索排名最高的结果作为第二子集中的第二结果。例如,媒体指南应用可以检索第二搜索结果中的排名最高的结果(例如,结果252可以在数据结构250中被索引为排名最高的结果)作为第二结果。媒体指南应用可以通过从第二搜索结果中检索下一个排名最高的结果来继续检索适合于第二行的结果的数量(例如,如以上所讨论的)。

在一些实施例中,媒体指南应用通过用下一个排名最高的结果替换第二结果来修改第二子集。具体而言,媒体指南应用检索不在第二子集中的下一个排名最高的结果作为第三结果。例如,媒体指南应用可以从排名结果列表(例如,如以上所讨论的,或者从搜索结果的来源接收到的,或者由媒体指南应用生成的)中检索作为不是第二子集的一部分的排名最高结果的结果。作为具体示例,如果第二子集的排名最高的结果(例如,结果252)与第一子集中的结果(例如,结果204)匹配,并且需要从第二来源显示三个结果(例如,需要从数据结构250检索三个结果),则媒体指南应用可以选择排名2-4(例如,子集254)而不是1-3的结果进行显示。媒体指南应用还可以确定检索到的下一个排名最高的结果是否与第一子集中的结果匹配(例如,如以上所讨论的通过比较元数据)。例如,如果媒体指南应用确定下一个排名最高的结果与第一子集中的结果匹配,则媒体指南应用可以检索另一个结果(例如,排名列表上更低的一个结果),直到结果与第一子集中的任何一个都不匹配。

媒体指南应用可以从第二子集中移除第二结果。例如,媒体指南应用可以从存储第二子集的标识符的列表或其它数据结构中移除与第二结果(例如,结果252)相关联的标识符。媒体指南应用然后可以将第三结果添加到第二子集。例如,媒体指南应用可以将下一个排名最高的结果(与第一子集中的任何结果都不匹配)的标识符添加到列表或其它数据结构中。媒体指南应用可以将标识符添加到先前由已移除的第二结果的标识符填充的同一字段中,或者可以对标识符重新排序(例如,基于流行度)。在一些实施例中,媒体指南应用使用存储在列表或其它数据结构中的标识符的顺序作为在行中呈现给用户的标识符的顺序。

在一些实施例中,媒体指南应用通过将第二结果替换为与用户偏好匹配的结果来修改第二子集。具体而言,媒体指南应用检索搜索结果的属性的第二用户偏好。例如,媒体指南应用可以检索包含多个用户偏好的用户简档。媒体指南应用可以从用户简档中检索偏好。例如,媒体指南应用可以检索用户喜欢包括演员“mattdamon”的电影。媒体指南应用可以将检索到的用户偏好和与来自来源的搜索结果中的每个结果(例如,数据结构250中的每个结果)相关联的元数据进行比较。例如,媒体指南应用可以从本地存储装置或远程服务器检索与结果相关联的元数据。

然后,媒体指南应用可以针对每个结果确定用户偏好是否匹配与每个结果相关联的元数据(例如,基于字符比较)。在一些实施例中,媒体指南应用将用户简档中的每个用户偏好和与结果相关联的元数据进行比较,并基于有多少用户偏好匹配与每个结果相关联的元数据来对结果进行排名。例如,如果结果的演员和体裁都与用户偏好匹配,则该结果(例如,结果252)的排名可能高于另一个结果,在该结果中,仅与该结果相关联的演员与用户偏好匹配。在一些实施例中,当确定用哪个结果替换第二结果时,媒体指南应用可以对某些用户偏好加权更高(例如,基于存储在用户简档中的指示)。例如,媒体指南应用可以基于用户将针对“动作电影”的偏好指定为“低偏好”来确定针对“动作电影”检索到的用户偏好是用户的“低偏好”。作为对照,媒体指南应用可以确定针对“mattdamon”检索到的用户偏好是用户的“高偏好”。

媒体指南应用响应于确定第三结果的属性与第二用户偏好相匹配,从第二子集中移除第二结果。例如,媒体指南应用可以从存储第二子集的标识符的列表或其它数据结构中移除与第二结果(例如,结果252)相关联的标识符。媒体指南应用然后可以将第三结果添加到第二子集。例如,媒体指南应用可以将与(一个或多个)用户偏好匹配(或最紧密匹配)的结果的标识符添加到列表或其它数据结构(例如,数据结构250中的另一个结果)。媒体指南应用可以将标识符添加到先前由已移除的第二结果的标识符填充的同一字段中,或者可以对标识符重新排序(例如,基于流行度)。在一些实施例中,媒体指南应用使用存储在列表或其它数据结构中的标识符的顺序作为在行中呈现给用户的标识符的顺序。

图3示出了根据本公开的一些实施例的在网格中显示来自多个来源的搜索结果的显示的另一个说明性示例。例如,显示300可以耦合到执行媒体指南应用以便显示与用户查询302相关的搜索结果的的用户装备。可以经由耦合到显示显示300的同一用户装备或其它用户装备的用户输入界面来接收用户查询302。显示300包括网格,该网格包括用于来源304和306的行。来源(例如,来源304或来源306)的每一行都包含来自该来源的结果的子集。例如,显示从来源304选择的结果310和结果312,并且显示来自来源306的结果308。如上面关于图1-2所讨论的,来源304和来源306可以包括相同的结果(例如,结果312是要从两个来源显示的子集的一部分)。作为响应,媒体指南应用可以从用户较不偏好的来源(例如,从来源306)移除重复的结果。显示300可以在视觉上将用户当前导航到的结果(例如,所选择的结果310)与其它结果(例如,结果312)区分开(例如,通过突出显示)。显示300可以包括多个重复项314。多个重复项314在视觉上向用户指示(例如,使用文本或图形)来自来源306的与来自来源304的结果匹配的结果的数量。显示300可以出现在一个或多个用户设备(例如,下面在图6-7中列出的任何设备)上。此外,媒体指南应用可以使用图8-12中描述的一个或多个处理来生成显示300或其中描述的任何特征。

在接收到用户选择以接收关于所选择的结果310的更多信息时,媒体指南应用可以生成显示350。显示350可以覆盖在显示300上或者可以替代显示300。显示350可以包括与结果310相关联的标识符352。显示350可以包括与来自来源304的结果310相关联的指示和相关联链接354。显示350可以附加地包括从其接收到重复结果的其它来源。例如,可能从其它来源接收到与结果310相同的结果(例如,如以上关于图1-2所讨论地那样确定的)。因此,链接356和链接358被显示为显示350的一部分,以向用户提供访问与结果相关联的数据的其它选项。显示350可以出现在一个或多个用户设备(例如,下面在图6-7中列出的任何设备)上。此外,媒体指南应用可以使用图8-12中描述的一个或多个处理来生成显示350或其中描述的任何功能。

在一些实施例中,媒体指南应用确定从第一和第二来源接收到的重复结果的总数,并将该数量显示给用户。具体而言,媒体指南应用将第一搜索结果的每个结果与第二搜索结果的每个结果进行比较。例如,媒体指南应用可以将与第一搜索结果(例如,来自来源304)中的每个结果相关联的元数据与从第二来源(例如,来自来源306)接收到的每个搜索结果的元数据进行比较。例如,媒体指南应用可以利用for循环执行程序脚本,以迭代地比较来自第一来源的每个结果与来自第二来源的每个结果。然后,媒体指南应用基于将第一搜索结果中的每个结果与第二搜索结果中的每个结果进行比较来确定第一搜索结果和第二搜索结果之间的重复结果的数量。例如,媒体指南应用可以初始化计数器,并在每次确定来自第一来源的结果和来自第二来源的结果之间的匹配时递增该计数器,直到来自第一来源的每个结果都已与来自第二来源的搜索结果进行比较为止。如以上所讨论的,如果与两个搜索结果相关联的元数据的阈值百分比匹配,则媒体指南应用可以确定匹配。然后,媒体指南应用生成用于在第二行中显示的重复结果的数量(例如,重复项314的数量)的指示。例如,媒体指南应用可以生成用于显示的文本,其中具有第一行或第二行中的重复项的总数的值(例如“30”)。该指示可以可选地包含阐明重复项引用哪个来源的文本。例如,如果是第一行的来源,并且是第二行的来源,则媒体指南应用可以在第二行中生成文本“30个与amazon重复的源”。

在一些实施例中,媒体指南应用可以显示在接收到用户对结果的选择后返回相同结果的其它源。具体而言,媒体指南应用接收用户对第一结果的选择。例如,媒体指南应用可以经由诸如遥控器或触摸屏界面之类的用户输入界面接收对在网格上显示的特定结果的选择。作为具体示例,媒体指南应用可以确定用户已经选择了第一行中的“thebigbangtheory”的结果(例如,所选择的结果310)。媒体指南应用可以通过将与所选择的结果相关联的元数据与来自其它来源的结果进行比较来确定接收到“thebigbangtheory”的结果的其它来源,如以上所讨论的。例如,媒体指南应用可以确定第二结果(例如,来自来源306)与第一结果(例如,从来源304选择的结果310)匹配,并且第一来源被用户选择。响应于接收到用户选择,媒体指南应用生成用于显示的第一结果也可从第二来源获得的指示。例如,如果第一搜索结果和第二搜索结果都包括“thebigbangtheory”的结果,则当用户在包含第一搜索结果的第一行中选择“thebigbangtheory”结果时,媒体指南应用可以生成用于显示的该结果也由第二来源返回的指示(例如,链接356)。作为具体示例,媒体指南应用可以生成用于显示的文本“该结果也由返回”。以这种方式,媒体指南应用可以向用户提供结果可用的替代来源(例如,链接356和358),而不必在每一行中显示相同的结果。

在一些实施例中,结果识别媒体资产,并且媒体指南应用呈现可选选项以执行与媒体资产相关的动作。具体而言,媒体指南应用接收用户对第一结果的选择。例如,媒体指南应用可以经由诸如遥控器或触摸屏界面之类的用户输入界面接收对在网格上显示的特定结果的选择(例如,所选择的结果310)。作为具体示例,媒体指南应用可以确定用户已经选择了第一行中的“thebigbangtheory”的结果(例如,用户最偏好的来源)。媒体指南应用响应于接收到用户选择,生成用于显示的与媒体资产相关联的多个可选选项(例如,覆盖在显示300上或作为显示350的一部分)。该多个选项可以包括将媒体资产添加到观看列表的选项。例如,在用户选择将媒体资产添加到观看列表的选项之后,媒体指南应用可以将与媒体资产相关联的标识符存储在数据结构中,该数据结构包括用户期望在某个未来时间观看的媒体资产的标识符。

多个选项可以包括将媒体资产添加到收藏夹列表的选项。例如,当用户选择将媒体资产添加到收藏夹列表的选项时,媒体指南应用可以将与媒体资产相关联的标识符存储在包括用户喜欢的媒体资产的标识符的数据结构中。在一些实施例中,如以上所讨论的,当确定用哪个结果替换重复结果时,收藏夹列表可以用于确定用户对特定结果的偏好。多个选项可以包括查看即将到来的可获得媒体资产的时间的选项。例如,在用户选择查看即将到来的可获得媒体资产的时间的选项时,媒体指南应用可以向媒体指南数据库(例如,本地存储在存储装置中或存储在远程服务器处)查询时间和从中可获得媒体资产的来源。然后,媒体指南应用可以生成用于显示的时间和从中可获得媒体资产的来源。

多个选项可以包括记录媒体资产的选项。例如,在用户选择记录媒体资产的选项时,媒体指南应用可以确定媒体资产是否在某个时间段期间可从来源获得。如果可获得媒体资产,则媒体指南应用可以调度记录(例如,通过将媒体资产的标识符以及可获得媒体资产的来源和时间添加到调度数据结构)。如果媒体资产不可获得,则媒体指南应用可以将媒体资产添加到观看列表,如以上所讨论的。

在任何给定的内容交付系统中,用户可用的内容量可以很大。因此,许多用户期望通过允许用户高效地导航内容选择并容易地识别他们可能期望的内容的界面的媒体指南形式。提供这种指南的应用在本文中被称为交互式媒体指南应用,或者有时被称为媒体指南应用或指南应用。

交互式媒体指南应用可以基于它们提供指南的内容而采取各种形式。一种典型的媒体指南应用类型是交互式电视节目指南。交互式电视节目指南(有时被称为电子节目指南)是众所周知的指南应用,除其它之外,尤其允许用户在多种类型的内容或媒体资产中导航和定位。交互式媒体指南应用可以生成图形用户界面屏幕,这使用户能够在内容之间导航、定位和选择。如本文所提到的,术语“媒体资产”和“内容”应当被理解为意指电子可消费的用户资产,诸如电视节目,以及按次计费节目、点播节目(如在点播视频(vod)系统中)、互联网内容(例如,流传输内容、可下载内容、网络广播(webcast)等等)、视频剪辑、音频、内容信息、图片、旋转图像、文档、播放列表、网站、文章、书籍、电子书籍、博客、聊天会话、社交媒体、应用、游戏和/或任何其它媒体或多媒体和/或其组合。指南应用还允许用户在内容之间进行导航和定位。如本文所提到的,术语“多媒体”应当被理解为意指利用上述至少两种不同内容形式(例如文本、音频、图像、视频或交互内容形式)的内容。内容可以被用户装备设备记录、播放、显示或访问,但也可以是实况表演的一部分。

用于执行本文讨论的任何实施例的媒体指南应用和/或任何指令可以在计算机可读介质上被编码。计算机可读介质包括能够存储数据的任何介质。计算机可读介质可以是暂态的,包括但不限于传播的电信号或电磁信号,或者可以是非暂态的,包括但不限于易失性和非易失性计算机存储器或存储设备,诸如硬盘、软盘、usb驱动器、dvd、cd、介质卡、寄存器存储器、处理器高速缓存、随机存取存储器(“ram”),等等。

随着互联网、移动计算和高速无线网络的出现,用户在他们传统上不使用的用户装备设备上访问媒体。如本文所提到的,短语“用户装备设备”、“用户装备”、“用户设备”、“电子设备”、“电子装备”、“媒体装备设备”或“媒体设备”应当被理解为意指用于访问上述内容的任何设备,诸如电视机、智能tv、机顶盒、用于处理卫星电视的集成接收器解码器(ird)、数字存储设备、数字媒体接收器(dmr)、数字媒体适配器(dma)、流传输媒体设备、dvd播放器、dvd记录器、连接的dvd、本地媒体服务器、blu-ray播放器、blu-ray记录器、个人计算机(pc)、膝上型计算机、平板计算机、webtv盒、个人计算机电视(pc/tv)、pc媒体服务器、pc媒体中心、手持式计算机、固定电话、个人数字助理(pda)、移动电话、便携式视频播放器、便携式音乐播放器、便携式游戏机、智能手机或任何其它电视装备、计算装备或无线设备,和/或其组合。在一些实施例中,用户装备设备可以具有面向前方的屏幕和面向后方的屏幕、多个前方屏幕或多个有角度的屏幕。在一些实施例中,用户装备设备可以具有面向前方的摄像头和/或面向后方的摄像头。在这些用户装备设备上,用户可以能够在通过电视机可用的相同内容中进行导航和定位。因此,媒体指南也可以在这些设备上可用。所提供的指南可以用于仅通过电视机可用的内容,用于仅通过一个或多个其它类型的用户装备设备可用的内容,或用于既通过电视机又通过一个或多个其它类型的用户装备设备可用的内容。媒体指南应用可以作为在线应用(即,在网站上提供)或作为用户装备设备上的独立应用或客户端来提供。下面将更详细地描述可以实现媒体指南应用的各种设备和平台。

媒体指南应用的功能之一是向用户提供媒体指南数据。如本文所提到的,短语“媒体指南数据”或“指南数据”应当被理解为意指与在操作指南应用中使用的内容或数据相关的任何数据。例如,指南数据可以包括节目信息、指南应用设置、用户偏好、用户简档信息、媒体列表、媒体相关信息(例如,广播时间、广播频道、标题、描述、评级信息(例如,父母控制评级、评论家的评级,等等)、流派或类别信息、演员信息、用于广播公司或提供商的徽标的徽标数据,等等)、媒体格式(例如,标准清晰度、高清晰度、3d,等等)、点播信息、博客、网站以及有助于用户在期望的内容选择中进行导航和定位的任何其它类型的指南数据。

图4-5示出了可以用于提供媒体指南数据的说明性显示屏幕。图4-5中所示的显示屏幕可以在任何合适的用户装备设备或平台上实现。虽然图4-5的显示被示为全屏显示,但是它们也可以全部或部分地覆盖在正被显示的内容上。用户可以通过选择在显示屏幕中提供的可选择选项(例如,菜单选项、列表选项、图标、超链接等等)或者按下遥控器或其它用户输入界面或设备上的专用按钮(例如,guide按钮)来指示期望访问内容信息。响应于用户的指示,媒体指南应用可以向显示屏幕提供以若干方式之一组织的媒体指南数据,诸如在网格中按时间和频道、按时间、按频道、按来源、按内容类型、按类别(例如,电影、体育、新闻、儿童或其它节目类别)或其它预定义的、用户定义的或其它组织标准。

图4示出了按照时间和频道布置的节目列表显示400的说明性网格,其也使得能够访问单个显示中的不同类型的内容。显示400可以包括网格402,其具有:(1)频道/内容类型标识符的列404,其中每个频道/内容类型标识符(其是列中的单元格)识别可用的不同频道或内容类型;和(2)时间标识符的行406,其中每个时间标识符(其是行中的单元格)识别节目的时间块。网格402还包括节目列表的单元格,诸如节目列表408,其中每个列表提供在列表的相关频道和时间上提供的节目的标题。利用用户输入设备,用户可以通过移动高亮区域410来选择节目列表。可以在节目信息区域412中提供与由高亮区域410选择的节目列表相关的信息。区域412可以包括例如节目标题、节目描述、节目被提供的时间(如果适用的话)、节目所在的频道(如果适用的话)、节目的评级以及其它期望的信息。

除了提供对线性节目的访问(例如,被调度在预定时间发送到多个用户装备设备并且根据时间表提供的内容),媒体指南应用还提供对非线性节目的访问(例如,在任何时间用户装备设备可访问和不按照时间表提供的内容)。非线性节目可以包括来自不同内容源的内容,包括点播内容(例如vod)、互联网内容(例如,流传输媒体、可下载的媒体等等)、本地存储的内容(例如,存储在如上所述的任何用户装备设备或其它存储设备上的内容)或其它与时间无关的内容。点播内容可以包括电影或由特定内容提供商提供的任何其它内容(例如,hboondemand提供“thesopranos”和“curbyourenthusiasm”)。hboondemand是时代华纳(timewarner)公司l.p.等人拥有的服务标志,并且thesopranos和curbyourenthusiasm是由homeboxoffice公司拥有的商标。互联网内容可以包括web事件(诸如聊天会话或网络广播),或者可通过互联网网站或其它互联网访问(例如,ftp)作为流传输内容或可下载内容点播可用的内容。

网格402可以提供用于非线性节目的媒体指南数据,包括点播列表414、记录的内容列表416和互联网内容列表418。组合来自不同类型的内容源的内容的媒体指南数据的显示有时被称为“混合媒体”显示。可以被显示的、与显示400不同的媒体指南数据的类型的各种变换(permutations)可以基于用户选择或指南应用定义(例如,仅记录和广播的列表、仅点播和广播的列表等等的显示)。如图所示,列表414、416和418被示为跨越网格402中显示的整个时间块,以指示这些列表的选择可以分别提供对专用于点播列表、记录的列表或互联网列表的显示的访问。在一些实施例中,可以将用于这些内容类型的列表直接包括在网格402中。附加的媒体指南数据可以响应于用户选择导航图标420之一而被显示。(按下用户输入设备上的箭头键可以以与选择导航图标420类似的方式影响显示。)

显示400还可以包括视频区域422和选项区域426。视频区域422可以允许用户收看和/或预览用户当前可用、将可用或曾经可用的节目。视频区域422的内容可以与网格402中显示的列表之一对应或者独立于其。包括视频区域的网格显示有时被称为指南中画面(pig)显示。在2003年5月13日授予satterfield等人的美国专利no.6,564,378和2001年5月29日授予yuen等人的美国专利no.6,239,794中更详细地描述了pig显示及其功能,这两个专利的全部内容整体上通过引用并入本文。pig显示可以包括在本文描述的实施例的其它媒体指南应用显示屏幕中。

选项区域426可以允许用户访问不同类型的内容、媒体指南应用显示和/或媒体指南应用特征。选项区域426可以是显示400(以及本文描述的其它显示屏幕)的部分,或者可以由用户通过选择屏幕上的选项或按下用户输入设备上的专用或可指派按钮来调用。选项区域426内的可选择选项可以涉及与网格402中的节目列表相关的特征,或者可以包括从主菜单显示中可用的选项。与节目列表相关的特征可以包括搜索其它的播出时间或者接收节目、记录节目、启用节目的系列记录、将节目和/或频道设置为喜爱、购买节目的方式,或其它特征。主菜单显示中可用的选项可以包括搜索选项、vod选项、父母控制选项、互联网选项、基于云的选项、设备同步选项、第二屏幕设备选项、访问各种类型的媒体指南数据显示的选项、订阅高级服务的选项、编辑用户简档的选项、访问浏览叠层的选项或其它选项。

媒体指南应用可以基于用户偏好被个性化。个性化的媒体指南应用允许用户定制显示和特征,以创建与媒体指南应用的个性化“体验”。这种个性化体验可以通过允许用户输入这些定制和/或通过媒体指南应用监视用户活动以确定各种用户偏好来创建。用户可以通过登录或以其它方式向指南应用识别他们自己来访问其个性化指南应用。媒体指南应用的定制可以根据用户简档进行。定制可以包括不同的呈现方案(例如,显示器的颜色方案、文本的字体大小等等)、所显示的内容列表的各个方面(例如,仅hdtv或仅3d节目、基于最喜爱的频道选择的用户指定的广播频道、重新排序频道的显示、推荐的内容等等)、期望的记录特征(例如,针对特定用户的记录或系列记录、记录质量等等)、父母控制设置、互联网内容的定制呈现(例如,社交媒体内容、电子邮件、电子交付的文章等等的呈现)以及其它期望的定制。

媒体指南应用可以允许用户提供用户简档信息,或者可以自动编译用户简档信息。媒体指南应用可以例如监视用户访问的内容和/或用户可能与指南应用的其它交互。此外,媒体指南应用可以获得与特定用户相关的其它用户简档的全部或部分(例如,从互联网上用户访问的其它网站(诸如www.tivo.com)、从用户访问的其它媒体指南应用、从用户访问的其它交互式应用、从用户的另一个用户装备设备等等),和/或从媒体指南应用可以访问的其它源获得关于用户的信息。因此,可以跨用户的不同用户装备设备为用户提供统一的指南应用体验。下面结合图7更详细地描述这种类型的用户体验。在ellis等人于2005年7月11日提交的美国专利申请公开no.2005/0251827、于2007年1月16日授予boyer等人的美国专利no.7,165,098以及ellis等人于2002年2月21日提交的美国专利申请公开no.2002/0174430中更详细地描述了附加的个性化媒体指南应用特征,这些通过引用整体上并入本文。

用于提供媒体指南的另一种显示布置在图5中示出。视频马赛克显示500包括用于基于内容类型、流派和/或其它组织标准组织的内容信息的可选择选项502。在显示500中,选择电视列表选项504,由此提供列表506、508、510和512作为广播节目列表。在显示500中,列表可以提供包括封面艺术的图形图像、来自内容的静止图像、视频剪辑预览、来自内容的实况视频或向用户指示内容由列表中的媒体指南数据描述的其它类型的内容。每个图形列表还可以附带有文本,以提供关于与列表相关联的内容的进一步信息。例如,列表508可以包括多于一个部分,包括媒体部分514和文本部分516。媒体部分514和/或文本部分516可以是可选择的,以全屏观看内容或者观看与媒体部分514中显示的内容相关的信息(例如,观看用于显示视频的频道的列表)。

显示500中的列表具有不同的尺寸(即,列表506大于列表508、510和512),但是如果期望的话,那么所有列表可以是相同的尺寸。列表可以具有不同的尺寸或以图形方式加强,以指示用户感兴趣的程度或者强调某些内容,如内容提供者所期望的或者基于用户偏好。在例如2009年11月12日提交的yates的美国专利申请公开no.2010/0153885中讨论了用于以图形方式加强内容列表的各种系统和方法,其通过引用整体上并入本文。

用户可以从其一个或多个用户装备设备访问内容和媒体指南应用(及其上面和下面描述的显示屏幕)。图6示出了说明性用户装备设备600的一般化实施例。下面结合图7讨论用户装备设备的更具体的实现。用户装备设备600可以经由输入/输出(以下称为“i/o”)路径602接收内容和数据。i/o路径602可以向控制电路系统604提供内容(例如,广播节目、点播节目、互联网内容、局域网(lan)或广域网(wan)上可用的内容,和/或其它内容)和数据,控制电路系统604包括处理电路系统606和存储装置608。控制电路系统604可以被用来使用i/o路径602发送和接收命令、请求和其它合适的数据。i/o路径602可以将控制电路系统604(具体而言是处理电路系统606)连接到一个或多个通信路径(下面描述)。i/o功能可以由这些通信路径中的一个或多个提供,但是在图6中被示为单个路径,以避免使图过于复杂。

控制电路系统604可以基于任何合适的处理电路系统,诸如处理电路系统606。如本文所提到的,处理电路系统应当被理解为意指基于一个或多个微处理器、微控制器、数字信号处理器、可编程逻辑设备、现场可编程门阵列(fpga)、专用集成电路(asic)等等的电路系统,并且可以包括多核处理器(例如,双核、四核、六核或任何合适数量的核)或超级计算机。在一些实施例中,处理电路系统可以分布在多个单独的处理器或处理单元上,例如多个相同类型的处理单元(例如,两个intelcorei7处理器)或多个不同的处理器(例如,intelcorei5处理器和intelcorei7处理器)。在一些实施例中,控制电路系统604执行存储在存储器(即,存储装置608)中用于媒体指南应用的指令。具体而言,控制电路系统604可以由媒体指南应用指示,以执行上面和下面讨论的功能。例如,媒体指南应用可以向控制电路系统604提供指令,以生成媒体指南显示。在一些实现中,由控制电路系统604执行的任何动作可以基于从媒体指南应用接收的指令。

在基于客户端-服务器的实施例中,控制电路系统604可以包括适于与指南应用服务器或其它网络或服务器进行通信的通信电路系统。用于执行上述功能的指令可以存储在指南应用服务器上。通信电路系统可以包括用于与其它装备通信的电缆调制解调器、综合业务数字网络(isdn)调制解调器、数字订户线路(dsl)调制解调器、电话调制解调器、以太网卡或无线调制解调器,或者任何其它合适的通信电路系统。这种通信可以涉及互联网或任何其它合适的通信网络或路径(结合图7更详细地描述)。此外,通信电路系统可以包括使得能够实现用户装备设备的对等通信或者在彼此远离的位置的用户装备设备的通信的电路系统(下面更详细地描述)。

存储器可以是作为存储装置608提供的电子存储设备,存储装置608是控制电路系统604的一部分。如本文所提到的,短语“电子存储设备”或“存储设备”应当被理解为意指用于存储电子数据、计算机软件或固件的任何设备,诸如随机存取存储器、只读存储器、硬盘驱动器、光盘驱动器、数字视频光盘(dvd)记录器、光盘(cd)记录器、blu-ray盘(bd)记录器、blu-ray3d盘片记录器、数字视频记录器(dvr,有时称为个人录像机或pvr)、固态设备、量子存储设备、游戏控制台、游戏介质或任何其它合适的固定或可移除存储设备,和/或其任意组合。存储装置608可以被用来存储本文描述的各种类型的内容以及上述的媒体指南数据。非易失性存储器也可以被使用(例如,启动指南程序和其它指令)。关于图7描述的基于云的存储装置可以被用来补充存储装置608或代替存储装置608。

控制电路系统604可以包括视频生成电路系统和调谐电路系统,诸如一个或多个模拟调谐器、一个或多个mpeg-2解码器或其它数字解码电路系统、高清晰度调谐器或者任何其它合适的调谐或视频电路,或者这种电路的组合。还可以提供编码电路系统(例如,用于将空中(over-the-air)、模拟或数字信号转换成mpeg信号以供存储)。控制电路系统604还可以包括用于将内容上变频和下变频成用户装备600的优选输出格式的缩放器电路系统。电路系统604还可以包括用于在数字和模拟信号之间转换的数模转换器电路系统和模数转换器电路系统。调谐和编码电路系统可以被用户装备设备用来接收和显示、播放或记录内容。调谐和编码电路系统也可以被用来接收指南数据。本文描述的电路系统,包括例如调谐、视频生成、编码、解码、加密、解密、缩放器和模拟/数字电路系统,可以使用在一个或多个通用或专用处理器上运行的软件来实现。可以提供多个调谐器来处理同时调谐功能(例如,观看和记录功能、画中画(pip)功能、多调谐器记录等等)。如果存储装置608被提供为与用户装备600分开的设备,那么调谐和编码电路系统(包括多个调谐器)可以与存储装置608相关联。

用户可以使用用户输入界面610向控制电路系统604发送指令。用户输入界面610可以是任何合适的用户界面,诸如遥控器、鼠标、轨迹球、小键盘、键盘、触摸屏、触摸板、触笔输入、游戏杆、语音识别界面或其它用户输入界面。显示器612可以被提供为独立的设备或与用户装备设备600的其它元件集成。例如,显示器612可以是触摸屏或触敏显示器。在这种情况下,用户输入界面610可以与显示器612集成或者与显示器612结合。显示器612可以是监视器、电视机、用于移动设备的液晶显示器(lcd)、非晶硅显示器、低温多晶硅显示器、电子墨水显示器、电泳显示器、有源矩阵显示器、电润湿显示器、电流体显示器、阴极射线管显示器、发光二极管显示器、电致发光显示器、等离子体显示器面板、高性能寻址显示器、薄膜晶体管显示器、有机发光二极管显示器、表面传导电子发射显示器(sed)、激光电视、碳纳米管、量子点显示器、干涉式调制器显示器或用于显示视觉图像的任何其它合适的设备。在一些实施例中,显示器612可以是具有hdtv能力的。在一些实施例中,显示器612可以是3d显示器,并且交互式媒体指南应用和任何合适的内容可以以3d显示。视频卡或图形卡可以将输出生成到显示器612。视频卡可以提供各种功能,诸如3d场景和2d图形的加速渲染、mpeg-2/mpeg-4解码、tv输出或连接多个显示器的能力。视频卡可以是以上关于控制电路系统604描述的任何处理电路系统。视频卡可以与控制电路系统604集成。扬声器614可以被提供为与用户装备设备600的其它元件集成,或者可以是独立的单元。显示器612上显示的视频和其它内容的音频分量可以通过扬声器614播放。在一些实施例中,音频可以分发给接收器(未示出),其经由扬声器614处理和输出音频。

指南应用可以使用任何合适的体系架构来实现。例如,它可以是完全在用户装备设备600上实现的独立应用。在这种方案中,应用的指令被本地存储(例如,存储在存储装置608中),并且由应用使用的数据被定期下载(例如,从带外馈送、从互联网资源,或使用其它合适的方案)。控制电路系统604可以从存储装置608检索应用的指令,并处理指令,以生成本文所讨论的任何显示。基于经处理的指令,控制电路系统604可以确定在从输入界面610接收到输入时要执行什么动作。例如,当输入界面610指示向上/向下按钮被选择时,可以通过经处理的指令来指示显示器上光标的向上/向下的移动。

在一些实施例中,媒体指南应用是基于客户端-服务器的应用。通过向远离用户装备设备600的服务器发出请求,按需检索用于由在用户装备设备600上实现的胖或瘦客户端使用的数据。在基于客户端-服务器的指南应用的一个示例中,控制电路系统604运行解释由远程服务器提供的网页的web浏览器。例如,远程服务器可以将用于应用的指令存储在存储设备中。远程服务器可以使用电路系统(例如,控制电路系统604)来处理所存储的指令,并生成上面和下面讨论的显示。客户端设备可以接收由远程服务器生成的显示,并且可以在装备设备600上本地显示该显示的内容。以这种方式,由服务器远程地执行指令的处理,同时在装备设备600上本地提供结果显示。装备设备600可以经由输入界面610接收来自用户的输入,并且将那些输入发送到远程服务器进行处理并生成对应的显示。例如,装备设备600可以向远程服务器发送指示经由输入界面610选择了向上/向下按钮的讯息。远程服务器可以根据那个输入来处理指令,并生成与该输入对应的应用的显示(例如,向上/向下移动光标的显示)。所生成的显示然后被发送到装备设备600以供呈现给用户。

在一些实施例中,媒体指南应用被下载并由(由控制电路系统604运行的)解释器或虚拟机解释或以其它方式运行。在一些实施例中,指南应用可以以etv二进制交换格式(ebif)编码,由控制电路系统604作为合适的馈送的部分接收,并由在控制电路系统604上运行的用户代理解释。例如,指南应用可以是ebif应用。在一些实施例中,可以由一系列基于java的文件来定义指南应用,这些基于java的文件由本地虚拟机或控制电路系统604执行的其它合适的中间件接收并运行。在一些此类的实施例中(例如,采用mpeg-2或其它数字媒体编码方案的实施例),可以例如在具有节目的mpeg音频和视频分组的mpeg-2对象轮播中编码和发送指南应用。

图6的用户装备设备600可以在图7的系统700中实现,作为用户电视装备702、用户计算机装备704、无线用户通信设备706或适于访问内容的任何其它类型的用户装备(诸如非便携式游戏机)。为了简单起见,这些设备在本文可以被统称为用户装备或用户装备设备,并且可以基本上类似于上述的用户装备设备。在其上可以实现媒体指南应用的用户装备设备可以用作独立设备或者可以是设备的网络的一部分。设备的各种网络配置可以被实现并且在下面被更详细地讨论。

利用上面结合图6描述的系统特征中的至少一些的用户装备设备可能不仅仅被分类为用户电视装备702、用户计算机装备704或无线用户通信设备706。例如,用户电视装备702可以像一些用户计算机装备704一样启用互联网,以允许访问互联网内容,而用户计算机装备704可以像一些电视装备702一样包括调谐器,以允许访问电视节目。媒体指南应用可以在各种不同类型的用户装备上具有相同的布局,或者可以针对用户装备的显示能力而被定制。例如,在用户计算机装备704上,指南应用可以被提供为由web浏览器访问的网站。在另一个示例中,可以针对无线用户通信设备706缩小指南应用。

在系统700中,通常每种类型的用户装备设备存在多于一个,但是在图7中仅示出了每种类型中的一个,以避免使图过于复杂。此外,每个用户可以利用多于一种类型的用户装备设备以及多于一个每种类型的用户装备设备。

在一些实施例中,用户装备设备(例如,用户电视装备702、用户计算机装备704、无线用户通信设备706)可以被称为“第二屏幕设备”。例如,第二屏幕设备可以补充在第一用户装备设备上呈现的内容。在第二屏幕设备上呈现的内容可以是补充在第一设备上呈现的内容的任何合适的内容。在一些实施例中,第二屏幕设备提供用于调整第一设备的设置和显示偏好的界面。在一些实施例中,第二屏幕设备被配置用于与其它第二屏幕设备交互或用于与社交网络交互。第二屏幕设备可以位于与第一设备相同的房间中、与第一设备不同的房间但在同一个房屋或建筑物中,或者与第一设备不同的建筑物中。

用户还可以设置各种设置,以在家用式设备和远程设备之间维持一致的媒体指南应用设置。设置包括本文描述的那些设置,以及频道和节目收藏,指南应用用来做出节目推荐、显示偏好的节目偏好,和其它期望的指南设置。例如,如果用户将例如网站www.tivo.com上的频道设置为其办公室的的个人计算机上的收藏,那么相同的频道将在用户的家用式设备(例如,用户电视装备和用户计算机装备)以及用户的移动设备上出现为收藏。因此,在一个用户装备设备上进行的改变可以改变另一个用户装备设备上的指南体验,而不管它们是相同类型还是不同类型的用户装备设备。此外,所做的改变可以基于用户输入的设置以及由指南应用监视的用户活动。

用户装备设备可以耦合到通信网络714。即,用户电视装备702、用户计算机装备704和无线用户通信设备706分别经由通信路径708、710和712耦合到通信网络714。通信网络714可以是一个或多个网络,包括互联网、移动电话网络、移动语音或数据网络(例如,4g或lte网络)、有线网络、公共交换电话网络或其它类型的通信网络,或者通信网络的组合。路径708、710和712可以单独地或一起包括一条或多条通信路径,诸如卫星路径、光纤路径、电缆路径、支持互联网通信(例如,iptv)的路径、自由空间连接(例如,用于广播或其它无线信号)或任何其它合适的有线或无线通信路径或这种路径的组合。路径712用点线画出,以指示在图7所示的示例性实施例中它是无线路径,并且路径708和710被绘制为实线,以指示它们是有线路径(但是,如果期望,那么这些路径可以是无线路径)。与用户装备设备的通信可以由这些通信路径中的一个或多个提供,但是在图7中被示为单个路径,以避免使图过于复杂。

虽然在用户装备设备之间没有画出通信路径,但是这些设备可以经由通信路径(诸如上面结合路径708、710和712描述的那些)以及其它短距离点到点通信路径(诸如usb电缆、ieee1394电缆、无线路径(例如,蓝牙、红外线、ieee802-11x等))或者经由有线或无线路径的其它短距离通信彼此直接通信。蓝牙是bluetoothsig公司拥有的认证标志。用户装备设备也可以通过经由通信网络714的间接路径彼此直接通信。

系统700包括分别经由通信路径720和722耦合到通信网络714的内容源716和媒体指南数据源718。路径720和722可以包括上面结合路径708、710和712描述的任何通信路径。与内容源716和媒体指南数据源718的通信可以经一条或多条通信路径交换,但是在图7中被示为单条路径,以避免使图过于复杂。此外,内容源716和媒体指南数据源718中的每一种可以有多于一个,但是在图7中每种仅示出一个,以避免使图过于复杂。(以下讨论这些源中的每一种的不同类型。)如果期望,那么内容源716和媒体指南数据源718可以被集成为一个源设备。虽然源716和718与用户装备设备702、704和706之间的通信被示为通过通信网络714,但是在一些实施例中,源716和718可以经由通信路径(未示出)(诸如上面结合路径708、710和712描述的那些)与用户装备设备702、704和706直接通信。

内容源716可以包括一种或多种类型的内容分发装备,包括电视分发设施、有线系统头端、卫星分发设施、节目源(例如,电视广播公司,诸如nbc、abc、hbo等)、中间分发设施和/或服务器、互联网提供商、点播媒体服务器及其它内容提供商。nbc是国家广播公司(nationalbroadcastingcompany,inc.)拥有的商标,abc是美国广播公司(americanbroadcastingcompany,inc.)拥有的商标,而hbo是homeboxoffice,inc.拥有的商标。内容源716可以是内容的发起者(例如,电视广播公司、网络广播提供商等),或者可以不是内容的发起者(例如,点播内容提供商,用于下载的广播节目的内容的互联网提供商等)。内容源716可以包括有线源(cablesource)、卫星提供商、点播提供商、互联网提供商、越顶(over-the-top)内容提供商或其它内容提供者。内容源716还可以包括用来在远离任何用户装备设备的位置存储不同类型的内容(包括用户选择的视频内容)的远程媒体服务器。用于内容的远程存储以及向用户装备提供远程存储的内容的系统和方法结合2010年7月20日授予ellis等人的美国专利no.7,761,892更详细地讨论,该专利整体上通过引用并入本文。

媒体指南数据源718可以提供媒体指南数据,诸如上述的媒体指南数据。媒体指南数据可以使用任何合适的方案提供给用户装备设备。在一些实施例中,指南应用可以是经由数据馈送(例如,连续馈送或涓流(trickle)馈送)接收节目指南数据的独立交互式电视节目指南。可以使用带内数字信号、使用带外数字信号或通过任何其它合适的数据传输技术在电视频道边带上向用户装备提供节目调度数据和其它指南数据。可以在多个模拟或数字电视频道上向用户装备提供节目调度数据和其它媒体指南数据。

在一些实施例中,可以使用客户端-服务器方法将来自媒体指南数据源718的指南数据提供给用户的装备。例如,用户装备设备可以从服务器拉取媒体指南数据,或者服务器可以将媒体指南数据推送到用户装备设备。在一些实施例中,驻留在用户装备上的指南应用客户端可以发起与源718的会话,以在需要时获得指南数据,例如,当指南数据过时或者当用户装备设备从用户接收到接收数据的请求时。可以以任何适当的频率(例如,连续地、每天、用户指定的时间段、系统指定的时间段、响应于来自用户装备的请求等)向用户装备提供媒体指南。媒体指南数据源718可以向用户装备设备702、704和706提供媒体指南应用本身或者针对媒体指南应用的软件更新。

在一些实施例中,媒体指南数据可以包括观看者数据。例如,观看者数据可以包括当前和/或历史用户活动信息(例如,用户通常观看什么内容、用户在什么时间观看内容,用户是否与社交网络交互、用户在什么时间与社交网络交互以发布信息、用户通常观看什么类型的内容(例如,付费电视或免费电视)、心情、大脑活动信息等)。媒体指南数据还可以包括订阅数据。例如,订阅数据可以识别给定用户订阅哪些源或服务和/或给定用户先前订阅但后来终止访问了哪些源或服务(例如,用户是否订阅了付费频道、用户是否增加了服务的付费等级、用户是否提高了互联网速度)。在一些实施例中,观看者数据和/或订阅数据可以识别给定用户对于超过一年的时间段的模式。媒体指南数据可以包括用于生成指示给定用户将终止访问服务/源的可能性的得分的模型(例如,幸存者模型)。例如,媒体指南应用可以使用该模型处理具有订阅数据的观看者数据,以生成指示给定用户是否将终止访问特定服务或源的可能性的值或得分。特别地,越高的得分可以指示用户将终止访问特定服务或源的越高的置信度。基于得分,媒体指南应用可以生成诱使用户保持通过得分被指示为用户可能终止对其访问的特定服务或源的促销。

媒体指南应用可以是例如在用户装备设备上实现的独立应用。例如,媒体指南应用可以被实现为可以存储在存储装置508中并由用户装备设备500的控制电路系统504执行的软件或可执行指令集。在一些实施例中,媒体指南应用可以是客户端-服务器应用,其中仅客户端应用驻留在用户装备设备上,而服务器应用驻留于远程服务器上。例如,媒体指南应用可以部分地被实现为用户装备设备500的控制电路系统504上的客户端应用,并且部分地在远程服务器上作为服务器应用(例如,媒体指南数据源718)在远程服务器的控制电路系统上运行。当由远程服务器(诸如媒体指南数据源718)的控制电路系统执行时,媒体指南应用可以指示控制电路系统生成指南应用显示,并将生成的显示发送到用户装备设备。服务器应用可以指示媒体指南数据源718的控制电路系统发送要存储在用户装备上的数据。客户端应用可以指示接收方用户装备的控制电路系统生成指南应用显示。

交付到用户装备设备702、704和706的内容和/或媒体指南数据可以是越顶(ott)内容。除了经有线或卫星连接接收的内容,ott内容交付还允许启用互联网的用户设备(包括上述任何用户装备设备)接收经互联网传送的内容(包括上述任何内容)。ott内容经由互联网服务提供商(isp)提供的互联网连接交付,但第三方分发内容。isp可以不负责观看能力、版权或内容的再分发,并且可以仅传送由ott内容提供商提供的ip分组。ott内容提供商的示例包括经由ip分组提供音频和视频的youtube是google公司拥有的商标,netflix是netflix公司拥有的商标,hulu是hulu有限责任公司拥有的商标。ott内容提供商可以附加地或可替代地提供上述媒体指南数据。除了内容和/或媒体指南数据,ott内容的提供商可以分发媒体指南应用(例如,基于web的应用或基于云的应用),或者可以通过存储在用户装备设备上的媒体指南应用来显示内容。

媒体指南系统700旨在示例多个方案或网络配置,用户装备设备和内容源和指南数据可以为了访问内容和提供媒体指南而通过其彼此通信。本文所述的实施例可以按照这些方法中的任何一个或子集应用,或者在采用其它方法交付内容并提供媒体指南的系统中应用。以下四种方案提供了图7的一般化示例的具体说明。

在一种方案中,用户装备设备可以在家庭网络内彼此通信。用户装备设备可以经由上述短程点到点通信方案、经由通过在家庭网络上提供的集线器或其它类似设备的间接路径或者经由通信网络714直接彼此通信。单个家庭中的多个个人中的每一个可以操作在家庭网络上的不同用户装备设备。因此,可能期望在不同的用户装备设备之间传送各种媒体指南信息或设置。例如,如在2005年7月11日提交的ellis等人的美国专利公开no.2005/0251827中更详细描述的,用户可能期望在家庭网络内的不同用户装备设备上维持一致的媒体指南应用设置。家庭网络中的不同类型的用户装备设备也可以彼此通信,以发送内容。例如,用户可以将内容从用户计算机装备发送到便携式视频播放器或便携式音乐播放器。

在第二种方案中,用户可以具有多种类型的用户装备,他们通过这些用户装备访问内容并获得媒体指南。例如,一些用户可以具有由家用式和移动设备访问的家庭网络。用户可以通过在远程设备上实现的媒体指南应用来控制家用式设备。例如,用户可以经由他们办公室的个人计算机或移动设备(诸如pda或启用web的移动电话)访问网站上的在线媒体指南应用。用户可以在在线指南应用上设置各种设置(例如,记录、提醒或其它设置)来控制用户的家用式装备。在线指南可以直接控制用户的装备,或者通过与用户的家用式装备上的媒体指南应用通信来控制。例如,在2011年10月25日授予ellis等人的美国专利no.8,046,801中讨论了用于用户装备设备通信的各种系统和方法,其中用户装备设备处于彼此远离的位置,该专利整体上通过引用并入本文。

在第三种方案中,在家庭内部和外部的用户装备设备的用户可以使用他们的媒体指南应用来直接与内容源716通信,以访问内容。具体而言,在家里,用户电视装备702和用户计算机装备704的用户可以访问媒体指南应用,以在期望的内容之间导航并定位。用户还可以使用无线用户通信设备706在家外面访问媒体指南应用,以在期望的内容之间导航并定位。

在第四种方案中,用户装备设备可以在云计算环境中操作,以访问云服务。在云计算环境中,用于内容共享、存储或分发的各种类型的计算服务(例如,视频共享站点或社交网站)由被称为“云”的网络可访问的计算和存储资源的集合提供。例如,云可以包括服务器计算设备的集合,其可以位于集中或分布的位置,通过通信网络714向经由网络(诸如互联网)连接的各种类型的用户和设备提供基于云的服务。这些云资源可以包括一个或多个内容源716和一个或多个媒体指南数据源718。此外或在替代方案中,远程计算站点可以包括其它用户装备设备,诸如用户电视装备702、用户计算机装备704和无线用户通信设备706。例如,其它用户装备设备可以提供对存储的视频副本或流传输视频的访问。在这种实施例中,用户装备设备可以以对等方式操作,而不与中央服务器通信。

除了其它示例,对于用户装备设备,云还提供对服务(诸如内容存储、内容共享或社交联网服务)的访问,以及对上述任何内容的访问。可以通过云计算服务提供商或通过其它在线服务的提供商在云中提供服务。例如,基于云的服务可以包括内容存储服务、内容共享站点、社交联网站点、或者用户来源的内容经由其分发以供所连接的设备上的其他人收看的其它服务。这些基于云的服务可以允许用户装备设备将内容存储到云并且从云接收内容,而不是在本地存储内容并访问本地存储的内容。

用户可以使用各种内容捕获设备(诸如摄像机、具有视频模式的数码相机、音频记录器、移动电话和手持式计算设备)来记录内容。用户可以直接地(例如,从用户计算机装备704或具有内容捕获特征的无线用户通信设备706)将内容上载到云上的内容存储服务。可替代地,用户可以先将内容传送到用户装备设备(诸如用户计算机装备704)。存储内容的用户装备设备使用通信网络714上的数据传输服务将内容上传到云。在一些实施例中,用户装备设备本身是云资源,并且其它用户装备设备可以直接从用户在其上存储内容的用户装备设备访问内容。

云资源可以由用户装备设备使用例如web浏览器、媒体指南应用、桌面应用、移动应用和/或其访问应用的任意组合来访问。用户装备设备可以是依赖云计算进行应用交付的云客户端,或者用户装备设备可以具有某些功能而无需访问云资源。例如,在用户装备设备上运行的一些应用可以是云应用,即,作为服务经互联网交付的应用,而其它应用可以在用户装备设备上存储和运行。在一些实施例中,用户设备可以同时从多个云资源接收内容。例如,用户设备可以从一个云资源流传输音频,同时从第二个云资源下载内容。或者用户设备可以从多个云资源下载内容,以便更高效的下载。在一些实施例中,用户装备设备可以使用云资源来处理操作,诸如由关于图6描述的处理电路系统执行的处理操作。

如本文所提到的,术语“响应于…”是指由于...而被发起。例如,第一动作响应于第二动作而被执行可以包括第一动作和第二动作之间的插入式步骤。如本文所提到的,术语“直接响应于...”是指由...造成的。例如,第一动作响应于第二动作而被直接执行可以不包括第一动作和第二动作之间的插入式步骤。

图8是根据本公开的一些实施例的用于呈现来自多个来源的搜索结果的说明性步骤的流程图。例如,媒体指南应用实现处理800可以由控制电路系统604(图6)执行。应当注意的是,处理800或其任何步骤可以在图6-7所示的任何设备上执行或由其提供。

处理800开始于802,其中媒体指南应用接收(例如,经由控制电路系统604(图6))用户输入。例如,媒体指南应用可以经由用户输入界面(例如,用户输入界面610(图6))接收(例如,经由控制电路系统604(图6))用户输入。用户输入可以是一个或多个字母数字或其它字符的串。替代地或附加地,用户输入可以是通过常见搜索查询来选择多个可选选项之一。例如,媒体指南应用可以将最常搜索的关键字呈现(例如,经由控制电路系统604(图6))为可供用户选择的可选选项,从而为用户节省他或她可能不得不输入字符的时间。

处理800继续至804,其中媒体指南应用基于用户输入从第一来源和第二来源搜索(例如,经由控制电路系统604(图6))结果。例如,媒体指南应用可以将用户输入发送(例如,经由控制电路系统604(图6))到第一来源和第二来源(例如,经由通信网络714(图7)至内容源716)。例如,媒体指南应用可以生成包括用户输入(例如,字符串)和/或用于搜索的其它参数(例如,结果应该在某个时间段内)的数据分组。在一些实施例中,媒体指南应用可以利用来自一个或两个来源的api来发送(例如,经由控制电路系统604(图6))搜索查询(例如,基于用户输入)。媒体指南应用可以基于用户对特定来源的偏好(例如,本地存储在存储装置608(图6)中或远程存储在可经由通信网络714(图7)访问的媒体指南数据源718中)确定(例如,经由控制电路系统604(图6))要向其发送用户输入的来源。例如,用户可以存储搜索查询应该被发送到特定来源集合(例如,到)的偏好。替代地或附加地,媒体指南应用可以在用户输入时生成(例如,经由控制电路系统604(图6))图形用户界面,从而允许用户选择来源。例如,媒体指南应用可以生成(例如,经由控制电路系统604(图6))字段,其中用户可以输入(例如,经由用户输入界面610(图6))字符串(例如,用户输入)和一系列用于搜索结果的来源的可选选项。

处理800继续至806,其中媒体指南应用从第一来源接收(例如,经由控制电路系统604(图6))第一搜索结果,并从第二来源接收第二搜索结果。例如,媒体指南应用可以从两个来源(例如,来自内容源716(图7))接收(例如,经由控制电路系统604(图6))与用户输入匹配的多个结果。媒体指南应用可以在单独的表中接收(例如,经由控制电路系统604(图6))来自每个来源的结果,其中每个表包含多个行,每个行具有匹配结果的标识符(例如,媒体资产的标题)以及相关联字段中的附加信息(例如,媒体资产中的演员)。在一些实施例中,可以根据流行度对结果进行排名。替代地或附加地,可以根据与用户输入的相关性对结果进行排名。例如,虽然“thebigbangtheory”是最流行的结果(例如,许多用户点击它),但是由于用户输入是“bang”,因此作为mileycyrus的专辑的结果“bangerz”可能会由于第一个单词与查询匹配而排名更高。替代地或附加地,媒体指南应用可以基于以上讨论的因素的任意组合以及基于用户偏好来对结果进行重新排序(例如,经由控制电路系统604(图6))。例如,如果媒体指南应用检索到(例如,经由控制电路系统604(图6))用户喜欢有给定演员的电影的用户偏好(例如,本地存储在存储装置608(图6)中或远程存储在可经由通信网络714(图7)访问的媒体指南数据源718中),则带有该演员的结果可能在排名中被提升。

处理800继续至808,其中媒体指南应用检索到(例如,经由控制电路系统604(图6))用户偏好,该用户偏好指示相对于第二来源对第一来源的偏好。例如,媒体指南应用可以检索(例如,经由控制电路系统604(图6))本地存储的(例如,在存储装置608(图6)中)或远程存储在服务器处(例如,可经由通信网络714(图7)访问的媒体指南数据源718处)的用户简档。媒体指南应用可以从用户简档中检索(例如,经由控制电路系统604(图6))搜索偏好,如下面关于图9进一步描述的。例如,媒体指南应用可以存储(例如,经由控制电路系统604(图6))由用户设置的来源的排名。作为具体示例,媒体指南应用可以生成图形用户界面(例如,在显示器612(图6)上),其中用户可以将来源(例如,等)拖放成特定顺序,以反映他或她的偏好。媒体指南应用然后可以存储(例如,以阵列的形式)每个来源的排名和标识符。媒体指南应用可以检索(例如,经由控制电路系统604(图6))由用户设置的存储的来源的排名,并确定第一来源和第二来源的相应排名。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))由字符串“hulu”标识的与排名“5”相关联。如果的排名为“3”,则媒体指南应用可以确定(例如,经由控制电路系统604(图6))用户相对于更偏好

处理800继续到810,其中媒体指南应用基于检索到的指示相对于第二来源对第一来源的偏好的用户偏好来确定(例如,经由控制电路系统604(图6))生成用于在包括具有搜索结果的多个行的网格的第一行中显示的来自第一来源的第一搜索结果。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))在其中从第一来源生成结果的特定位置(例如,一行)。在一些实施例中,该行可以位于比呈现来自第二来源的结果的第二行更靠近屏幕(例如,显示器612(图6))的顶部的行。

处理800继续到812,其中媒体指南应用确定(例如,经由控制电路系统604(图6))适合于第一行的第一搜索结果的第一子集和适合于网格的第二行的第二搜索结果的第二子集,其中第一子集包括第一搜索结果的第一结果,并且其中第二子集包括第二搜索结果的第二结果,但不包括第二搜索结果的第三结果。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))适合于第一行和第二行的结果的数量。该数量可以是常数(例如,每行始终包含3个结果),或者可以根据结果的标识符长度而变化(例如,具有较多数量字符的结果占用更多空间,并且一次被显示的结果更少)。在一些实施例中,对于第一行和第二行,该数量可以不同。例如,由于基于用户偏好而被优选,因此可以为第一行显示比第二行更多的结果(例如,第一行可以占据更多的显示空间并且在两个子行中显示结果)。然后,媒体指南应用可以从接收到的来自两个来源的搜索结果中选择(例如,经由控制电路系统604(图6))适当数量的结果进行显示(例如,第一子集和第二子集),如下文关于图10进一步描述的。第一子集可以包括与第二子集中的第二结果匹配的第一结果。例如,“thebigbangtheory”可能存在于第一子集和第二子集中。为了向用户呈现非重复的结果,媒体指南应用可以选择(例如,经由控制电路系统604(图6))第二搜索结果中与第一子集中的结果中的任何一个都不匹配的第三结果,而不是第二结果。

处理800继续至814,其中媒体指南应用将与第一结果相关联的元数据和与第二结果相关联的元数据进行比较(例如,经由控制电路系统604(图6))。例如,媒体指南应用可以从本地存储装置(例如,存储装置608(图6))或远程服务器(例如,可经由通信网络714(图7)访问的媒体指南数据源718)检索(例如,经由控制电路系统604(图6))与结果相关联的元数据。媒体指南应用可以替代地或附加地接收(例如,经由控制电路系统604(图6))与从来源(例如,内容源716(图7))接收到的结果相关联的表的字段中的元数据。元数据可以是与结果相关的描述与结果相关联的内容的任何数据。例如,如果结果是针对新闻文章,则元数据可以包括文章的作者、文章的类型(例如,观点)和/或出版物名称(例如,nature)。媒体指南应用可以执行(例如,经由控制电路系统604(图6))程序脚本以迭代地比较两个结果的元数据(例如,属性)的字符,以确定两个结果是否匹配。例如,媒体指南应用可以将与第一结果相关联的字符串“mattdamon”和与第二结果相关联的字符串“mattdillon”进行比较(例如,经由控制电路系统604(图6))。

处理800继续到816,其中媒体指南应用基于比较确定(例如,经由控制电路系统604(图6))第一结果与第二结果匹配。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))如果与第一结果相关联的特定属性的每个字符匹配与第二结果相关联的对应属性的每个字符,则两个结果匹配。例如,如果两个结果包含引用演员“mattdamon”的元数据,则媒体指南应用可以确定(例如,经由控制电路系统604(图6))元数据匹配,并且因此两个结果匹配。替代地或附加地,媒体指南应用可以确定(例如,经由控制电路系统604(图6))与第一结果相关联的所有元数据(例如,所有属性)或阈值百分比(例如,50%)是否与第二结果的对应元数据匹配,如关于图11进一步描述的。例如,如果媒体指南应用确定(例如,经由控制电路系统604(图6))标题、导演和体裁属性在两个结果之间匹配,则与仅匹配一个属性时相比,媒体指南应用可以以更大的置信度确定两个结果匹配。

处理800继续到818,其中媒体指南应用通过用第三结果替换第二子集中的第二结果来修改(例如,经由控制电路系统604(图6))第二子集。例如,在确定要被同时显示的两个结果匹配(例如,它们在第一子集和第二子集中)时,媒体指南应用将用户不偏好的来源的结果替换为(例如,经由控制电路系统604(图6))另一个结果。例如,如果“thebigbangtheory”既是来自第一来源又是来自第二来源(例如,来源716(图7))的结果并且在第一子集和第二子集中,则第二子集中的结果可以用另一个结果替换。如以上关于图1-2进一步讨论的,替换第二结果的结果可以基于用户偏好或者基于来自第二来源的搜索结果中的每个结果的排名。

处理800继续至820,其中媒体指南应用生成(例如,经由控制电路系统604(图6))用于在第一行中显示的第一子集和用于在第二行中显示的修改后的第二子集。例如,媒体指南应用可以生成(例如,经由控制电路系统604(图6))第一行中的第一子集中的每个结果的标识符。作为具体示例,标识符可以是识别每个结果的文本或图形。媒体指南应用可以从来源接收(例如,经由控制电路系统604(图6))标识符,或者可以从本地存储装置(例如,存储装置608(图6))或远程服务器(例如,在可经由通信网络714(图7)访问的媒体指南数据源718处)检索它们。媒体指南应用可以类似地生成(例如,经由控制电路系统604(图6))第二行中的修改后的第二子集中的每个结果的标识符(例如,其中第三结果已经替换了第二结果)。

图9是根据本公开的一些实施例的用于基于用户偏好来确定用户相对于第二来源偏好第一来源的说明性步骤的流程图。例如,媒体指南应用实现处理900可以由控制电路系统604(图6)执行。应当注意的是,处理900或其任何步骤可以在图6-7中所示的任何设备上执行或由其提供。处理900开始于902,其中媒体指南应用开始(例如,经由控制电路系统604(图6))用于基于用户偏好来确定用户相对于第二来源偏好第一来源的处理。例如,媒体指南应用可以初始化必要的变量并执行(例如,经由控制电路系统604(图6))调用特定方法来执行处理900的程序脚本。

处理900继续至904,其中媒体指南应用检索(例如,经由控制电路系统604(图6))包括第一来源和第二来源的来源的排名。例如,媒体指南应用可以从本地存储装置(例如,存储装置608(图6))或远程服务器(例如,可经由通信网络714(图7)访问的媒体指南数据源718)检索(例如,经由控制电路系统604(图6))包含来源的标识符和相关联的排名的列表或其它数据结构。在一些实施例中,排名可以基于索引(例如,指令的索引0中的值存储是排名最高的来源)。在其它实施例中,排名可以被存储在与标识符相关联的单独的字段中。检索到的列表或其它数据结构可以表示来源的默认排名(例如,基于来源的总体流行度)。

处理900继续至906,其中媒体指南应用访问(例如,经由控制电路系统604(图6))与用户相关联的用户简档。例如,媒体指南应用可以访问(例如,经由控制电路系统604(图6))存储在本地存储装置(例如,存储装置608(图6))或远程服务器(例如,可经由通信网络714(图7)访问的媒体指南数据源718)中的用户简档。媒体指南应用可以发送(例如,经由控制电路系统604(图6))包含用户的标识符和/或用于认证用户的身份并访问用户简档的通行码的数据分组。

处理900继续到908,其中媒体指南应用从用户简档中检索(例如,经由控制电路系统604(图6))用户偏好。例如,媒体指南应用可以利用诸如sql之类的数据库查询语言来执行(例如,经由控制电路系统604(图6))程序脚本,以访问和检索用户简档的特定字段中的数据。媒体指南应用可以检索(例如,经由控制电路系统604(图6))特定字段(例如,被确定为与用户喜欢的来源相关,诸如与用户相关联的收藏夹频道列表)中的数据、用户偏好的随机子集、或用户简档中的所有用户偏好。

处理900继续到910,其中媒体指南应用确定(例如,经由控制电路系统604(图6))用户偏好是否与正在被搜索的来源相关。例如,媒体指南应用可以比较(例如,经由控制电路系统604(图6))检索到的用户偏好与用于确定用户偏好是否与正在被搜索的来源相关的规则集。例如,规则集可以包括以下规则:如果用户最近从正在被搜索的特定来源观看了媒体资产(例如,如存储在用户简档的观看历史记录中),则该用户偏好与特定来源相关。作为另一个示例,用户简档可以包含对来源的显式偏好(例如,指示他或她“不喜欢amazon”的用户偏好)。作为另一个示例,用户简档可以包含由用户发送(例如,通过社交网站)的消息,并且可以分析消息的内容以确定来源的标识符或与来源相关联的标识符是否是消息的一部分。

在910处,如果媒体指南应用确定用户偏好与正在被搜索的来源相关,则处理900继续到912,其中媒体指南应用确定(例如,经由控制电路系统604(图6))用户偏好是否指示对来源的正面看法。例如,媒体指南应用可以确定与来源相关的用户偏好是否反映了来源的总体正面或负面看法。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))用户在过去一周中已经观看了来自来源“hbo”的许多媒体资产,并且将用户的观看习惯解释为对该来源的正面看法。作为另一个示例,媒体指南应用可以确定(例如,经由控制电路系统604(图6))用户已停止观看来自的媒体资产并且在一个月内没有查看来自的媒体资产,这被解释为对来源的负面看法。媒体指南应用可以基于将与用户偏好相关联的属性与指示对资来源的总体正面或负面看法的存储属性进行比较,来确定(例如,经由控制电路系统604(图6))特定用户偏好是正面还是负面。例如,单词“恨(hate)”和“取消(cancel)”、在一定时间段内未从来源查看媒体资产、人口统计和/或政治背景一般不利于来源中的内容等,可能反映对来源的通常不利的看法。

在912处,如果媒体指南应用确定用户偏好未指示对来源的正面看法,则处理900继续到914,其中媒体指南应用降低(例如,经由控制电路系统604(图6))与该来源相关联的排名。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))与正面开发相关联的权重(例如,基于看法的正面程度),并相应地调整来源的排名。例如,对来源非常有利的偏好(例如,如以上所讨论的,基于规则集)可以导致媒体指南应用将与来源相关联的排名调整(例如,经由控制电路系统604(图6))为比它以前更高的多个位置。然后,处理900继续到918,如下面所讨论的。

在912处,如果媒体指南应用确定用户偏好指示对来源的正面看法,则处理900继续到916,其中媒体指南应用增加(例如,经由控制电路系统604(图6))与该来源相关联的排名。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))与负面看法相关联的权重(例如,基于看法的负面程度),并相应地调整来源的排名。例如,对来源的轻度不利的偏好(例如,如以上所讨论的,基于规则集)可能导致媒体指南应用将与来源相关联的排名调整(例如,经由控制电路系统604(图6))为比它以前更低的一个位置。然后,处理900继续到918,如下面所讨论的。

在910处,如果媒体指南应用确定用户偏好与正在被搜索的来源无关,则处理900继续到918,其中媒体指南应用确定(例如,经由控制电路系统604(图6))用户简档中是否还有其它未检索到的任何偏好。例如,媒体指南应用可以执行for循环以迭代地检索每个用户偏好(或每个相关的用户偏好,如上面关于908所讨论的)。媒体指南应用可以基于for循环仍在运行来确定(例如,经由控制电路系统604(图6))用户简档的一些字段(例如,包含用户偏好)中的数据尚未被检索。媒体指南应用还可以存储(例如,经由控制电路系统604(图6))已检索到的用户偏好的列表,并将其与用户简档中的用户偏好进行比较,以确定是否存在尚未被检索的任何其它偏好。

在918处,如果媒体指南应用确定用户简档中还有尚未检索到的其它偏好,则处理900返回到908,其中媒体指南应用检索(例如,经由控制电路系统604(图6))用户简档中的用户偏好。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))尚未从用户简档中检索到一些用户偏好(例如,基于将检索到的偏好与用户简档中的偏好进行比较),并且媒体指南应用可以继续(例如,经由控制电路系统604(图6))检索用户偏好,直到所有偏好都已被分析。以这种方式,媒体指南应用可以确保在确定特定来源是否应该比其它来源排名更高时,考虑了所有用户偏好。

在918处,如果媒体指南应用确定用户简档中的所有用户偏好已经被检索,则处理900继续到920,其中媒体指南应用从排名中确定(例如,经由控制电路系统604(图6))第一来源的排名高于第二来源。例如,媒体指南应用可以检索(例如,经由控制电路系统604(图6))列表或其它数据结构中排名最高(例如,基于相关联字段或索引)的来源的标识符,并确定检索到的来源的标识符表示排名最高的来源。媒体指南应用可以确定(例如,经由控制电路系统604(图6))该来源的排名比其它来源更高,因此,用户对该来源具有高于第二来源的偏好。

图10是根据本公开的一些实施例的用于确定要显示的结果的子集的说明性步骤的流程图。例如,媒体指南应用实现处理1000可以由控制电路系统604(图6)执行。应当注意的是,处理1000或其任何步骤可以在图6-7中所示的任何设备上执行或由其提供。处理1000开始于1002,其中媒体指南应用开始(例如,经由控制电路系统604(图6))用于确定要显示的结果的子集的处理。例如,媒体指南应用可以初始化必要的变量并执行(例如,经由控制电路系统604(图6))调用特定方法以执行处理1000的程序脚本。

处理1000继续至1004,其中媒体指南应用确定(例如,经由控制电路系统604(图6))结果是否是基于与用户输入的相关性排名的。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))从来源接收到的(例如,经由内容源716(图7))搜索结果的数据是否指示结果基于与用户输入的相关性被排名。作为具体示例,媒体指南应用可以确定(例如,经由控制电路系统604(图6))是否布尔值是否被设置为“真”以根据在与来自来源的结果相关联的数据分组中接收到的相关性进行排名。

在1004处,如果媒体指南应用确定结果未基于与用户输入的相关性排名,则处理1000继续到1006,其中媒体指南应用将每个结果与用户输入进行比较(例如,经由控制电路系统604(图6)),以确定相关性值。例如,媒体指南应用可以将结果的字符与用户输入进行比较(例如,经由控制电路系统604(图6)),以确定匹配的量和/或百分比,并根据匹配的量和/或百分比分配相关性值。替代地或附加地,媒体指南应用可以加权(例如,经由控制电路系统604(图6))在用户输入和结果之间连续字符(例如,单词)匹配的位置。例如,如果一个结果的第一个单词与用户输入匹配,并且第二结果也与该单词匹配,但是它是单词串中的第三单词,则第一结果可以被分配更大的相关性值。

处理1000继续至1008,其中媒体指南应用基于相关性值对结果进行排名(例如,经由控制电路系统604(图6))。例如,媒体指南应用可以通过利用排序算法(诸如合并排序或气泡排序)基于相关性值(例如,从最高相关性到最低相关性)对结果进行排名(例如,经由控制电路系统604(图6))。媒体指南应用可以将排名与其它排名合并(例如,经由控制电路系统604(图6)),并为每个排名加权(例如,如下面所讨论的,基于流行度或用户偏好),以生成汇总排名,该汇总排名然后用于选择子集的结果。然后,处理1000继续到1010。

在1004处,如果媒体指南应用确定结果是基于与用户输入的相关性排名的,则处理1000继续到1010,其中媒体指南应用确定(例如,经由控制电路系统604(图6))结果是否基于流行度被排名。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))从来源接收到的(例如,经由内容源716(图7))搜索结果的数据是否指示结果基于流行度被排名。作为具体示例,媒体指南应用可以确定(例如,经由控制电路系统604(图6))布尔值是否被设置为“真”,以根据在与来自来源的结果相关联的数据分组中接收到的流行度进行排名。

在1010处,如果媒体指南应用确定结果未基于流行度排名,则处理1000继续到1012,其中媒体指南应用检索(例如,经由控制电路系统604(图6))每个结果的流行度值。例如,媒体指南应用可以向数据库(例如,向媒体指南数据源718(图7))发送(例如,经由控制电路系统604(图6))与每个结果的标识符相关联的流行度值的请求。作为具体示例,媒体指南应用可以从数据库中检索(例如,经由控制电路系统604(图6))流行度值。流行度值可以是多少用户查看或访问与结果相关联的数据的排名(例如,“thebigbangtheory”是排名第一的节目,espn.com是访问量第三的网页,等等)。

处理1000继续到1014,其中媒体指南应用基于检索到的流行度值对结果进行排名(例如,经由控制电路系统604(图6))。例如,媒体指南应用可以通过利用排序算法(诸如合并排序或气泡排序)基于流行度值(例如,从最高到最低流行度)对结果进行排名(例如,经由控制电路系统604(图6))。媒体指南应用可以将排名与其它排名合并(例如,经由控制电路系统604(图6)),并为每个排名加权(例如,如所讨论的,基于流行度或用户偏好),以生成汇总排名,该汇总排名然后用于选择子集的结果。然后,处理1000继续到1016。

在1010处,如果媒体指南应用确定结果是基于流行度排名的,则处理1000继续到1016,其中媒体指南应用确定(例如,经由控制电路系统604(图6))结果是否基于用户偏好被排名。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))从来源接收到的(例如,经由内容源716(图7))搜索结果的数据是否指示结果基于用户偏好被排名。作为具体示例,媒体指南应用可以确定(例如,经由控制电路系统604(图6))布尔值是否被设置为“真”,以根据在与来自来源的结果相关联的数据分组中接收到的用户偏好进行排名。例如,媒体指南应用可以在搜索时将用户偏好与用户输入一起发送(例如,经由控制电路系统604(图6))给来源,或者可以(例如,由于数据隐私考虑)在接收到结果之后,基于用户偏好对结果进行排名。

在1016处,如果媒体指南应用确定结果未基于用户偏好被排名,则处理1000继续到1018,其中10媒体指南应用检索(例如,经由控制电路系统604(图6))用户简档中的用户偏好。例如,媒体指南应用可以利用诸如sql之类的数据库查询语言来执行(例如,经由控制电路系统604(图6))程序脚本,以访问和检索用户简档的特定字段中的数据。媒体指南应用可以检索(例如,经由控制电路系统604(图6))特定字段(例如,被确定为与搜索结果相关,诸如与用户相关联的收藏夹节目)中的数据、用户偏好的随机子集、或用户简档中的所有用户偏好。

处理1000继续到1020,其中媒体指南应用将每个检索到的用户偏好与每个结果进行比较(例如,经由控制电路系统604(图6)),以确定偏好值。例如,媒体指南应用可以将检索到的用户偏好与规则集进行比较(例如,经由控制电路系统604(图6)),以确定用户偏好是否与搜索结果相关。例如,规则集可以包括以下规则:如果搜索结果与特定演员(例如,tomhanks)相关联,并且用户偏好与tomhanks所在的电影(例如,“forrestgump”)相关,则将指定特定值作为偏好值。如果另外的用户偏好与相同的搜索结果相关,则媒体指南应用可以更新(例如,经由控制电路系统604(图6))偏好值。

处理1000继续至1014,其中媒体指南应用基于偏好值对结果进行排名(例如,经由控制电路系统604(图6))。然后,处理1000继续到1024。例如,媒体指南应用可以通过利用排序算法(诸如合并排序或气泡排序)基于偏好值(例如,从最高到最低流行度)对结果进行排名(例如,经由控制电路系统604(图6))。媒体指南应用可以将排名与其它排名合并(例如,经由控制电路系统604(图6)),并为每个排名加权(例如,如所讨论的,基于流行度或用户偏好),以生成汇总排名,该汇总排名然后用于选择子集的结果。

在1016处,如果媒体指南应用确定结果是基于用户偏好排名的,则处理1000继续到1024,其中媒体指南应用确定(例如,经由控制电路系统604(图6))将显示来自来源的结果的行。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))在其中从第一来源生成结果的特定位置(例如,一行)。在一些实施例中,该行可以位于比呈现来自第二来源的结果的第二行更靠近屏幕的顶部的行。

处理1000继续到1026,其中媒体指南应用确定(例如,经由控制电路系统604(图6))适合于所确定的行的结果的数量。例如,媒体指南应用可以基于从显示模板中检索值来确定(例如,经由控制电路系统604(图6))适合于行的结果的数量,如以上关于图1所讨论的。该数量可以是常数(例如,每行始终包含3个结果),或者可以基于结果的标识符的长度而变化(例如,具有较多数量字符的结果占用更多空间,并且一次被显示的结果更少)。

处理1000继续到1028,其中媒体指南应用从排名结果中选择(例如,经由控制电路系统604(图6))所述数量的结果作为要显示的结果的子集。例如,媒体指南应用然后可以从接收到的来自来源的搜索结果中选择适当数量的结果进行显示(例如,子集),如关于图1-2进一步描述的。

图11是根据本公开的一些实施例的用于确定来自第一来源的第一结果和来自第二来源的第二结果是否匹配的说明性步骤的流程图。例如,媒体指南应用实现处理1100可以由控制电路系统604(图6)执行。应当注意的是,处理1100或其任何步骤可以在图6-7中所示的任何设备上执行或由其提供。处理1100开始于1102,其中媒体指南应用开始(例如,经由控制电路系统604(图6))用于确定来自第一来源的第一结果和来自第二来源的第二结果是否匹配的处理。例如,媒体指南应用可以初始化必要的变量并执行(例如,经由控制电路系统604(图6))调用特定方法以执行处理1100的程序脚本。

处理1100继续到1104,其中媒体指南应用检索(例如,经由控制电路系统604(图6))与第一结果相关联的属性以及与第二结果相关联的对应属性。例如,媒体指南应用可以检索(例如,经由控制电路系统604(图6))包含与本地存储的(例如,在存储装置608(图6)中)或远程存储在服务器(例如,可经由通信网络714(图7)访问的媒体指南数据源718处)的第一和第二结果相关联的元数据的表。例如,可以构造包含与每个存储的标识符相关联的元数据的表,使得每个表的第一字段中的元数据始终是与结果相关联的标题,每个表的第二字段中的元数据始终是导演,等等,,以便更容易地进行比较(例如,可以比较同一属性的元数据而不必将每个存储的值和与另一个标识符关联的每个存储的值进行比较)。替代地或附加地,该表可以被构造为使得具有元数据的每个字段与可以用于比较与不同标识符相关联的对应元数据的标签(诸如“actor”)相关联。媒体指南应用可以从与第一结果(例如,标题)相关联的第一字段中检索(例如,经由控制电路系统604(图6))元数据,并且从与第二结果(例如,也是标题)相关联的第二字段中检索元数据。

处理1100继续到1106,其中媒体指南应用比较(例如,经由控制电路系统604(图6))与第一结果相关联的属性和与第二结果相关联的对应属性。例如,媒体指南应用可以将与第一结果(例如,标题)相关联的检索到的字符串的每个字符和与第二结果(例如,另一个标题)相关联的检索到的字符串的字符进行比较(例如,经由控制电路系统604(图6))。例如,媒体指南应用可以执行(例如,经由控制电路系统604(图6))迭代地比较两个结果的元数据(例如,属性)的字符以确定两个结果是否匹配的程序脚本。例如,媒体指南应用可以将与第一结果相关联的字符串“mattdamon”和与第二结果相关联的字符串“mattdillon”进行比较(例如,经由控制电路系统604(图6))。

处理1100继续到1108,其中媒体指南应用确定(例如,经由控制电路系统604(图6))属性是否匹配。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))如果所有字符都匹配,那么两个属性是否匹配。替代地或附加地,媒体指南应用可以确定(例如,经由控制电路系统604(图6))如果两个属性的所有字符的阈值量或百分比匹配,那么两个属性是否匹配。例如,在一些情况下,由于拼写错误或其它印刷错误,与第一个结果关联的元数据和与第二个结果关联的元数据(例如,“tomhanks”和“tomhankz”)之间的单个字符可能不同,并且媒体指南应用仍可以确定(例如,经由控制电路系统604(图6))匹配。

在1108处,如果媒体指南应用确定属性不匹配,则处理1100继续到1110,其中媒体指南应用递增(例如,经由控制电路系统604(图6))第二值。例如,媒体指南应用可以初始化(例如,经由控制电路系统604(图6))存储整数的变量,并且每当在两个对应属性之间未确定匹配时就递增该值。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))与第一结果相关联的“tomhanks”和与第二结果相关联的“chrisevans”不匹配,从而使该变量递增一。在1108处,如果媒体指南应用确定属性确实匹配,则处理1100继续到1112,其中媒体指南应用递增(例如,经由控制电路系统604(图6))第一值。例如,媒体指南应用可以初始化(例如,经由控制电路系统604(图6))存储整数的变量,并且每当确定两个对应属性之间的匹配时就递增该值。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))与第一结果相关联的“tomhanks”和与第二结果相关联的“tomhanks”匹配,从而使该变量递增一。

处理1100继续到1114,其中媒体指南应用确定(例如,经由控制电路系统604(图6))是否还有其它要比较的属性。例如,媒体指南应用可以执行for循环以迭代地检索与第一结果相关联的每个属性,并且将其和与第二结果(例如,也是被检索到的)相关联的对应属性进行比较。媒体指南应用可以基于for循环仍在运行来确定(例如,经由控制电路系统604(图6))在存储与结果相关联的元数据的表的一些字段中的数据未被检索。媒体指南应用还可以存储(例如,经由控制电路系统604(图6))已检索到的属性的列表或属性的标识符,并将其和与结果相关联的存储属性进行比较,以确定是否存在尚未被检索的任何其它属性。

在1114处,如果媒体指南应用确定还有其它属性要比较,则处理1100返回1104,其中媒体指南应用检索(例如,经由控制电路系统604(图6))与第一结果相关联的属性和与第二结果相关联的对应属性。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))一些属性尚未从具有与第一和第二结果相关联的属性的一个或多个数据结构中检索,并且媒体指南应用可以继续(例如,经由控制电路系统604(图6))检索属性,直到所有属性都已被比较。

在1114处,如果媒体指南应用确定没有要比较的任何其它属性,则处理1100继续到1116,其中媒体指南应用基于第一值和第二值计算(例如,经由控制电路系统604(图6))匹配属性的百分比。例如,媒体指南应用可以计算(例如,经由控制电路系统604(图6))属性的总数(例如,通过将第一值加到第二值或者通过从存储属性的数据结构中检索总数)。然后,媒体指南应用可以通过将总数除以第一值来计算(例如,经由控制电路系统604(图6))匹配属性的百分比。作为具体示例,如果存在10个匹配(例如,第一值是10)和5个不匹配(例如,第二值是5),则媒体指南应用可以将总数计算(例如,经由控制电路系统604(图6))为15,并且将百分比计算为10/15或67%。

处理1100继续到1118,其中媒体指南应用将该百分比与阈值匹配百分比进行比较(例如,经由控制电路系统604(图6))。例如,媒体指南应用可以检索(例如,经由控制电路系统604(图6))阈值匹配百分比的存储值(例如,从存储装置608(图6))。然后,媒体指南应用可以将计算出的在两个结果之间匹配的属性的百分比与检索到的阈值进行比较(例如,经由控制电路系统604(图6))。

处理1100继续到1120,其中媒体指南应用确定(例如,经由控制电路系统604(图6))该百分比是否大于阈值匹配百分比。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))如果属性的百分比的值为67%,并且用于确定匹配的阈值的值是50%,则两个结果匹配。如果该百分比在容忍因子之内(例如,如果匹配的属性的百分比仅比用于确定匹配的阈值低2%),媒体指南应用仍可以确定(例如,经由控制电路系统604(图6))匹配。在一些实施例中,容忍因子可以基于被比较的属性的数量。

在1120处,如果媒体指南应用确定该百分比大于阈值匹配百分比,则处理1100继续到1122,其中媒体指南应用确定(例如,经由控制电路系统604(图6))第一结果与第二结果匹配。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6)),由于计算出的百分比的值大于阈值,因此两个结果匹配。如以上关于图1-2和图8所述,媒体指南应用可以基于用户针对两个相同结果的两个来源的偏好来确定(例如,经由控制电路系统604(图6))从要显示的子集中移除两个结果之一。在1120处,如果媒体指南应用确定该百分比不大于阈值匹配百分比,则处理1100继续到1124,其中媒体指南应用确定(例如,经由控制电路系统604(图6))第一结果与第二结果不匹配。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6)),由于计算出的百分比的值小于阈值,因此两个结果不匹配。

图12是根据本公开的一些实施例的用于呈现来自多个来源的搜索结果的说明性步骤的另一个流程图。例如,媒体指南应用实现处理1200可以由控制电路系统604(图6)执行。应当注意的是,处理1200或其任何步骤可以在图6-7中所示的任何设备上执行或由其提供。

处理1200开始于1202,其中媒体指南应用基于用户输入从第一来源和第二来源搜索(例如,经由控制电路系统604(图6))结果。例如,媒体指南应用可以经由用户输入界面(例如,用户输入界面610(图6))接收(例如,经由控制电路系统604(图6))用户输入。例如,媒体指南应用可以将用户输入发送(例如,经由控制电路系统604(图6))到第一来源和第二来源(例如,经由通信网络714(图7)至内容源716)。例如,媒体指南应用可以生成包括用户输入(例如,字符串)和/或用于搜索的其它参数(例如,结果应该在某个时间段内)的数据分组。在一些实施例中,媒体指南应用可以利用来自一个或两个来源的api来发送(例如,经由控制电路系统604(图6))搜索查询(例如,基于用户输入)。

处理1200继续至1204,其中媒体指南应用从第一来源接收(例如,经由控制电路系统604(图6))至少第一搜索结果。例如,媒体指南应用可以从第一来源(例如,从内容源716(图7))接收(例如,经由控制电路系统604(图6))与用户输入匹配的一个或多个结果。媒体指南应用可以在表中接收(例如,经由控制电路系统604(图6))来自来源的(一个或多个)结果,其中该表包含多个行,每个行具有匹配结果的标识符(例如,媒体资产的标题)和相关联字段中的附加信息(例如,媒体资产中的演员)。

处理1200继续至1206,其中媒体指南应用从第二来源接收(例如,经由控制电路系统604(图6))至少第二搜索结果和第三搜索结果。例如,媒体指南应用可以接收(例如,经由控制电路系统604(图6))与来自第二来源(例如,来自内容源716(图7))的用户输入匹配的多个结果。媒体指南应用可以在表中接收(例如,经由控制电路系统604(图6))来自第二来源的结果,其中该表包含多个行,每个行具有匹配结果的标识符(例如,媒体资产的标题)和相关联字段中的附加信息(例如,媒体资产中的演员)。

处理1200继续到1208,其中媒体指南应用检索(例如,经由控制电路系统604(图6))指示相对于第二来源偏好第一来源的用户偏好。例如,媒体指南应用可以检索(例如,经由控制电路系统604(图6))本地存储的(例如,在存储装置608(图6)中)或远程存储在服务器处(例如,可经由通信网络714(图7)访问的媒体指南数据源718处)的用户简档。媒体指南应用可以从用户简档中检索(例如,经由控制电路系统604(图6))搜索偏好,如下面关于图9进一步描述的。例如,媒体指南应用可以存储(例如,经由控制电路系统604(图6))由用户设置的来源的排名。作为具体示例,媒体指南应用可以生成图形用户界面(例如,在显示器612(图6)上),其中用户可以将来源(例如,等)拖放成特定顺序,以反映他或她的偏好。媒体指南应用然后可以存储(例如,以阵列形式)每个来源的排名和标识符。媒体指南应用可以检索(例如,经由控制电路系统604(图6))由用户设置的存储的来源的排名,并确定第一来源和第二来源的相应排名。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))由字符串“hulu”识别的与排名“5”相关联。如果的排名为“3”,则媒体指南应用可以确定(例如,经由控制电路系统604(图6))用户相对于更偏好

处理1200继续至1210,媒体指南应用基于用户偏好生成(例如,经由控制电路系统604(图6))用于在包括多个行的网格的第一行中显示的来自第一来源的第一搜索结果,每行包括一个或多个搜索结果。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))在其中从第一来源生成结果的特定位置(例如,一行)。例如,媒体指南应用可以生成(例如,经由控制电路系统604(图6)用于显示(例如,在显示器612(图6)上)的与第一行中的第一结果相关联的指示符(例如,文本和/或图形)。在一些实施例中,该行可以位于比呈现来自第二来源的结果的第二行更靠近屏幕(例如,显示器612(图6))的顶部的行。

处理1200继续至1212,其中媒体指南应用确定(例如,经由控制电路系统604(图6))第一搜索结果与第二搜索结果匹配,并且第一搜索结果与第三搜索结果不匹配。例如,媒体指南应用可以确定(例如,经由控制电路系统604(图6))如果与第一结果相关联的特定属性的每个字符匹配与第二结果相关联的对应属性的每个字符,则两个结果匹配。例如,如果两个结果包含引用演员“mattdamon”的元数据,则媒体指南应用可以确定(例如,经由控制电路系统604(图6))元数据匹配,并且因此两个结果匹配。

处理1200继续到1214,其中媒体指南应用生成(例如,经由控制电路系统604(图6))用于在网格的第二行中显示的第三搜索结果,其中第二搜索结果未显示在第二行中。例如,在确定要同时显示的两个结果匹配时(例如,它们在第一子集和第二子集中),媒体指南应用用另一个结果替换(例如,经由控制电路系统604(图6))用户不偏好的来源的结果。例如,如果“thebigbangtheory”既是来自第一来源又是来自第二来源(例如,来源716(图7))的结果并且在第一子集和第二子集中,则第二子集中的第二结果可以用另一个结果(例如,第三结果)替换。然后,媒体指南应用可以生成(例如,经由控制电路系统604(图6))用于在第二行中(例如,具有来自第二来源的结果)显示的(例如,在显示器612(图6)上)第三结果而不是第二结果。

可以预期,图8-12中的每一个的步骤或描述可以与本公开的任何其它实施例一起使用。此外,关于图8-12描述的步骤和描述可以以替代的顺序或与本公开的其它目的并行完成。例如,这些步骤中的每个步骤可以以任何顺序执行或并行地或基本同时地执行,以减少滞后或提高系统或方法的速度。此外,应当注意的是,关于图6-7讨论的任何设备或装备都可以用于执行图8-12中的一个或多个步骤。

虽然本公开的一些部分可以引用“公约(convention)”,但是任何这样的引用仅是为了提供对本公开的(一个或多个)发明的上下文的目的,并且不形成对构成现有技术的内容的任何承认。

以上讨论的处理旨在是说明性的而非限制性的。本领域技术人员将认识到的是,可以省略、修改、组合和/或重新布置本文所讨论的处理的步骤,并且可以在不脱离本发明的范围的情况下执行任何附加步骤。更一般地,以上公开旨在是示例性的而非限制性的。仅下面的权利要求旨在设定关于本发明包括的内容的界限。此外,应当注意的是,任何一个实施例中描述的特征和限制可以应用于本文的任何其它实施例,并且与一个实施例相关的流程图或示例可以以合适的方式与任何其它实施例组合、以不同的顺序完成,或并行完成。此外,本文描述的系统和方法可以实时执行。还应该注意的是,上述系统和/或方法可以应用于其它系统和/或方法,或者根据其它系统和/或方法来使用。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1