用于识别媒体项的可用性的系统和方法与流程

文档序号:18319352发布日期:2019-08-03 10:18阅读:168来源:国知局
用于识别媒体项的可用性的系统和方法与流程

本申请属于申请日为2012年8月24日的中国发明专利申请no.201280052148.9的分案申请。

所公开的实施例一般地涉及识别媒体项的可用性。



背景技术:

当搜索媒体项时,用户典型地希望能够快速地评估该用户是否能够访问各种媒体项。然而,特定媒体项(例如,电视连续剧的剧集、电影、歌曲等)可能通过不同的内容源具有不同的可用性。此外,用户可能不能够访问媒体项在其上可用的所有内容源。



技术实现要素:

本公开的一个方面涉及一种在具有至少一个处理器和存储至少一个程序的存储器的服务器上执行的用于识别媒体项的可用性的计算机实现的方法,所述至少一个程序用于由所述至少一个处理器运行以执行所述方法,所述方法包括:从用户的客户端设备接收与对所述用户的所述客户端设备来说可访问的内容源有关的信息;从所述用户的所述客户端设备接收搜索查询;识别满足所述搜索查询并且在对所述用户的所述客户端设备来说可访问的内容源上可用的媒体项的实例,包括:使用所述搜索查询来查询搜索索引,以识别满足所述搜索查询的所述媒体项的内容标识符;以及使用所述内容标识符和与对所述用户的所述客户端设备来说可访问的所述内容源有关的信息来查询可用性数据库,以识别满足所述搜索查询并且在对所述用户的所述客户端设备来说可访问的所述内容源上可用的所述媒体项的所述实例;基于所述媒体项的所述实例来确定所述媒体项的聚合信息;以及将所述媒体项的所述聚合信息传输给所述客户端设备。

本公开的另一个方面涉及一种用于识别媒体项的可用性的系统,包括:至少一个处理器;存储器;以及存储在所述存储器中并且所述至少一个处理器可执行的至少一个程序,所述至少一个程序包括指令,所述指令用来:从用户的客户端设备接收与对所述用户的所述客户端设备来说可访问的内容源有关的信息;从所述用户的所述客户端设备接收搜索查询;识别满足所述搜索查询并且在对所述用户的所述客户端设备来说可访问的内容源上可用的媒体项的实例,包括:使用所述搜索查询来查询搜索索引,以识别满足所述搜索查询的所述媒体项的内容标识符;以及使用所述内容标识符和与对所述用户的所述客户端设备来说可访问的所述内容源有关的信息来查询可用性数据库,以识别满足所述搜索查询并且在对所述用户的所述客户端设备来说可访问的所述内容源上可用的所述媒体项的所述实例;基于所述媒体项的所述实例来确定所述媒体项的聚合信息;以及将所述媒体项的所述聚合信息传输给所述客户端设备。

本公开的再一个方面涉及一种存储被配置成由计算机系统的至少一个处理器执行的至少一个程序的非暂时性计算机可读存储介质,所述至少一个程序包括指令,所述指令用来:从用户的客户端设备接收与对所述用户的所述客户端设备来说可访问的内容源有关的信息;从所述用户的所述客户端设备接收搜索查询;识别满足所述搜索查询并且在对所述用户的所述客户端设备来说可访问的内容源上可用的媒体项的实例,包括:使用所述搜索查询来查询搜索索引,以识别满足所述搜索查询的所述媒体项的内容标识符;以及使用所述内容标识符和与对所述用户的所述客户端设备来说可访问的所述内容源有关的信息来查询可用性数据库,以识别满足所述搜索查询并且在对所述用户的所述客户端设备来说可访问的所述内容源上可用的所述媒体项的所述实例;基于所述媒体项的所述实例来确定所述媒体项的聚合信息;以及将所述媒体项的所述聚合信息传输给所述客户端设备。

附图说明

在附图的图中作为示例而非作为限制图示了在本文公开的实施例。在整个附图中,相同参考数字指代相应部分。

图1是图示根据一些实施例的示例网络系统的框图。

图2是图示根据一些实施例的服务器的示例模块的框图。

图3是图示根据一些实施例的客户端设备的示例模块的框图。

图4是图示根据一些实施例的应用框架的示例模块的框图。

图5是图示根据一些实施例的示例服务器的框图。

图6是图示根据一些实施例的示例客户端设备的框图。

图7是根据一些实施例的用于识别媒体项的可用性的方法的流程图。

图8是根据一些实施例的、用于识别满足搜索查询并且在对用户的客户端设备来说可访问的内容源上可用的媒体项的实例的方法的流程图。

图9是根据一些实施例的用于将独特媒体项的元数据和独特媒体项的内容标识符存储在搜索索引中的方法的流程图。

图10是根据一些实施例的用于独特媒体项系列的元数据和独特媒体项系列的内容标识符存储在搜索索引中的方法的流程图。

图11是根据一些实施例的用于将媒体项的实例的元数据、媒体项的内容标识符和媒体项的实例的内容源存储在可用性数据库中的方法的流程图。

图12是根据一些实施例的用于确定跨对用户的客户端设备来说可访问的内容源的媒体项的多个独特实例的方法的流程图。

图13是根据一些实施例的用于确定媒体项的最新(mostrecent)独特实例的方法的流程图。

图14是根据一些实施例的用于确定媒体项的最旧实例的方法的流程图。

图15是根据一些实施例的用于确定媒体项的实例的完整性的方法的流程图。

图16是根据一些实施例的用于确定在其上媒体项的实例对用户的客户端设备来说可访问的多个独特内容源的方法的流程图。

图17是根据一些实施例的用于确定为媒体项最频繁地选择的内容源的方法的流程图。

图18是根据一些实施例的用于确定媒体项在内容源上可用的时段的方法的流程图。

图19是根据一些实施例的用于确定媒体项将在内容源上可用的未来时间的方法的流程图。

图20是根据一些实施例的用于确定媒体项在内容源上可访问的剩余时间的方法的流程图。

图21是根据一些实施例的用于确定媒体项先前被购买的日期的方法的流程图。

图22是根据一些实施例的用于获取与对用户的客户端设备来说可访问的内容源有关的信息的方法的流程图。

图23是根据一些实施例的示例图形用户界面的截屏。

图24是根据一些实施例的示例图形用户界面的截屏。

图25是根据一些实施例的示例图形用户界面的截屏。

图26是根据一些实施例的示例图形用户界面的截屏。

图27是根据一些实施例的示例图形用户界面的截屏。

图28是根据一些实施例的示例图形用户界面的截屏。

具体实施方式

下述描述包括使说明性实施例具体化的示例系统、方法、技术、指令序列以及计算机器程序产品。在下述描述中,出于说明目的,阐述了大量具体细节,以便提供对创造性主题的各种实施例的理解。然而,对本领域技术人员应当显而易见的是,可以在没有这些具体细节的情况下,实践本创造性主题的实施例。总的来说,没有详细地示出众所周知的指令实例、协议、结构和技术。

在本文所述的实施例提供了用于识别媒体项的可用性的技术,如在下面更详细地说明的。

系统架构

图1是图示根据一些实施例的示例网络系统100的框图。网络系统100包括用户106的耦接到输出设备102、媒体设备103和输入设备105的客户端设备101。在一些实施方式中,客户端设备101是电视机顶盒。在一些实施例中,输出设备102包括监视器、投影仪、电视和扬声器中的一个或多个。

在一些实施方式中,客户端设备101是被配置成控制耦接到客户端设备101的设备(例如,媒体设备103、输出设备102等)并且被配置成提供增强的多媒体功能的中间设备。增强的多媒体功能包括但不限于:在输出设备102上提供画中画能力,其允许用户106在观看和/或收听在输出设备102的较小区域中呈现的媒体项的实例(例如,视频)时同时在输出设备102(例如,电视显示器)上访问(例如,浏览和/或另外与之交互)网站;在输出设备102上提供用户界面,其允许用户106搜索在对用户106的客户端设备101来说可访问的内容源(例如,特定电视频道、流媒体服务等)上可用的媒体项的实例;以及对从媒体设备103接收的音频和/或视频信号进行修改(例如,使图形对象覆盖在视频流上、将音频插入音频流中等)并且将经修改的音频和/或视频信号输出到输出设备102以向用户106呈现。

应注意,“媒体项的实例”可以指媒体项在特定日期和/或时间在特定内容源上的特定示出(例如,辛普森一家的第一集在2011年1月3日晚上10点在空中电视服务的频道2上的放映等)或媒体项在特定内容源上的特定副本(例如,在流式视频服务1上的辛普森一家的第一集以供出租、在流式视频服务2上的辛普森一家的第一集以供购买等)。

媒体项包括但不限于:电影、视频、电视节目(例如,电视连续剧的剧集、单独电视节目等)、书籍、一期杂志、文章、歌曲以及游戏。

内容源包括但不限于:数字视频录像机、卫星无线电频道、空中无线电频道、空中电视频道、卫星电视频道、有线电视频道、有线音乐频道、网际协议电视频道以及流媒体服务(例如,视频点播服务、流式视频服务、流式音乐服务等)。

在一些实施方式中,用户106使用输入设备105来指示客户端设备101执行关于输出设备102和/或媒体设备103的各种动作。例如,用户106可以使用输入设备105来指示客户端设备101增加输出设备102的音量。类似地,用户106可以使用输入设备105来指示客户端设备101指示媒体设备103获取媒体项的实例。此外,用户106可以使用输入设备105来指示客户端设备101搜索满足搜索查询的媒体项的实例。参考图3和4更详细地描述了在用户106、客户端设备101、输出设备102和媒体设备103之间的交互。

输入设备105包括但不限于:指示设备(例如,鼠标、触控板、触摸板、自由空间指示设备)、键盘、触敏显示设备(例如,触摸屏显示器和/或控制器)、远程控制器、包括远程控制器应用的智能手机以及视觉手势识别系统(例如,捕捉并识别用户的运动和/或手势并且将运动和/或手势转换成输入命令的系统)。

在一些实施例中,媒体设备103被配置成从内容源获取媒体项的实例,并且提供音频和/或视频信号以使用输出设备102来向用户106呈现。

在一些实施例中,媒体设备103从本地内容源104获取媒体项的实例(例如,媒体项154的实例)。在一些实施方式中,本地内容源104包括下述中的一个或多个:媒体设备103的数字视频录像机、媒体设备103的硬盘驱动器以及媒体设备103可访问的网络存储设备。

在一些实施例中,媒体设备103通过网络121从内容提供商130提供的内容源140获取媒体项的实例(例如,媒体项150和151的实例)。“内容提供商”是提供一个或多个内容源的实体或服务,以及“内容源”是媒体项(例如,电视频道、无线电频道、网站、流媒体服务等)的实例的源。在一些实施方式中,网络121包括下述中的一个或多个:有线电视服务、卫星电视服务、卫星无线电服务、空中电视服务、空中无线电服务以及数据网络(例如,网络120、因特网、虚拟专用网络等)。

在一些实施例中,媒体设备103通过网络120从内容提供商131提供的内容源141获取媒体项的实例(例如,媒体项152和153的实例)。在一些实施方式中,内容提供商131是流媒体服务(例如,流式视频服务、流式音频服务等)。网络120一般可以包括能够将计算节点耦接在一起的任何类型的有线或无线通信信道。这包括但不限于:局域网、广域网或网络的组合。在一些实施例中,网络120包括因特网。

总的来说,媒体设备103可以从下述的任何组合获取媒体项的实例:本地内容源、通过网络121可用的内容源以及通过网络120可用的内容源。

在一些实施例中,媒体设备103包括物理设备。该物理设备包括但不限于:数字视频录像机、卫星无线电机顶盒、空中无线电调谐器、空中电视调谐器、卫星电视机顶盒、有线电视机顶盒、网际协议电视机顶盒以及游戏控制台。

在一些实施例中,媒体设备103包括在客户端设备101上执行的虚拟设备(例如,软件模块)。该虚拟设备包括但不限于:在客户端设备101上执行的web浏览器以及在客户端设备101上执行的流媒体应用。

总的来说,媒体设备103可以包括物理设备和虚拟设备的任何组合。

在一些实施例中,网络系统100包括耦接到网络120的服务器110。在这些实施例中,服务器110从元数据提供商111和/或从因特网上的网站获取媒体项的实例的元数据、基于媒体项的实例的元数据来构建媒体项的数据库并且返回与满足搜索查询且在对客户端设备101来说可访问的内容源上可用的媒体项的实例有关的信息。对(用户106的)客户端设备101来说可访问的内容源包括客户端设备101已预订了的内容源(例如,有线或卫星电视频道、流媒体服务等)、客户端设备101对于其拥有用来从内容源接收媒体项的适当媒体设备(例如,空中电视或无线电调谐器、网络接口设备、针对流媒体服务的应用等)的内容源以及客户端设备101对于其已购买了获取媒体项的权利的内容源(例如,视频点播服务、视频租赁服务等)。应注意,客户端设备101可以仅仅能够访问特定内容源集。例如,客户端设备101可以仅仅能够访问在有线电视服务上的特定频道。类似地,客户端设备101可以能够访问第一流媒体服务,但是不能访问第二流媒体服务。因此,有益的是,向用户106仅提供在对客户端设备101来说可访问的内容源上可用的媒体项的实例的信息。

媒体项的实例的元数据包括但不限于:媒体项的实例在其上可用的内容源、媒体项的实例可用的日期和时间、与媒体项的实例相关联的演员、与媒体项的实例相关联的音乐家、与媒体项的实例相关联的制片人、与媒体项的实例相关联的导演、媒体项的实例的概要、媒体项的实例的首播日期、媒体项的实例对于其是成员的连续剧(例如,电视连续剧等)、媒体项的实例的类型(例如,喜剧、戏剧、游戏节目、恐怖、悬疑、现实等)以及媒体项的实例的成本。

与媒体项的实例有关的信息包括但不限于:媒体项的实例的元数据的至少子集、到与媒体项有关的内容的链接(例如,到出现在媒体项中的演员的网页的链接等)以及从另一个数据库(例如,私有数据库)和/或从包括与媒体项有关的内容的网页(例如,针对电视节目的网页、针对演员的网页等)获取的、与媒体项有关的内容。

在一些实施方式中,将先前查询和搜索结果存储在缓存中以使查询响应加速。可以周期性地从该缓存移除先前查询和搜索结果来确保该缓存不为不再可用的媒体项的实例(例如,电视连续剧的剧集的播出时间自与该剧集的实例有关的信息被存储在缓存中以来可能已经过去)存储搜索结果。

在下面参考图2更详细地描述了服务器110。

应注意,尽管图1图示了客户端设备101被耦接到一个媒体设备(例如,媒体设备103)、一个输出设备(例如,输出设备102)和一个输入设备(例如,输入设备105),然而,客户端设备101可以被耦接到多个媒体设备、多个输出设备和多个输入设备。类似地,尽管图1图示了一个客户端设备(例如,客户端设备101)和一个元数据提供商(例如,元数据提供商111),然而,网络系统100可以包括多个客户端设备和元数据提供商。此外,尽管图1图示了耦接到网络121的一个内容提供商(例如,内容提供商130)和耦接到网络120的一个内容提供商(例如,内容提供商131),然而,多个内容提供商可以被耦接到每一个网络。

此外,尽管图1示出了服务器110的一个实例,然而,多个服务器可以存在于网络系统100中。例如,服务器110可以包括多个分布式服务器。多个分布式服务器可以提供负载平衡和/或可以向附近计算机系统提供低延迟接入点。分布式服务器可以位于单个位置(例如,数据中心、建筑物等)内或可以在地理上跨多个位置分布(例如,在各种地理位置的数据中心等)。

在下面参考图3、4和6更详细地描述了客户端设备101。在下面参考图2和5更详细地描述了服务器110。

图2是图示根据一些实施例的服务器110的示例模块的框图。服务器110包括前端模块201、可用性模块202、内容映射模块205、元数据导入器模块206-207以及web爬取器模块208。前端模块201提供在服务器110的模块和客户端设备101之间的接口。可用性模块202识别满足从客户端设备101接收的搜索查询并且在对客户端设备101来说可访问的内容源上可用的媒体项的实例。如上所述,客户端设备101可以仅能够访问特定内容源集。因此,有益的是,向用户106仅提供在对客户端设备101来说可访问的内容源上可用的媒体项的实例的信息。内容映射模块205对元数据导入器模块206-207和web爬取器模块208所获取的元数据进行处理来生成搜索索引203和可用性数据库204。

下述论述说明了用于导入媒体项的实例的元数据的示例过程。元数据导入器模块206-207分别从元数据提供商111和220获取媒体项的实例的元数据240和241。在一些实施方式中,服务器110包括针对每一个元数据提供商的元数据导入器模块。web爬取器模块208导入并处理网页221来产生媒体项的实例的元数据242。元数据240、241和242可以包括复制信息。例如,元数据提供商111和元数据提供商220可能两者均提供从特定有线电视服务可用的媒体项的实例的元数据。然而,每一个元数据提供商可以将不同标识符用于从该特定有线电视服务可用的媒体项的实例。因此,在一些实施例中,内容映射模块205对媒体项的实例的元数据240、241和242进行分析来识别独特媒体项。例如,内容映射模块205通过将媒体项的实例的元数据的预先确定的子集对于其相匹配的媒体项的实例进行聚组,来识别独特媒体项(例如,当对组中的媒体项的实例的每一个来说,连续剧名称、剧集编号和演员相匹配时,形成媒体项的实例组等)。内容映射模块205然后为每一个独特媒体项生成内容标识符243,并且为独特媒体项生成元数据244。在一些实施例中,内容标识符包括用于相关媒体项系列的标识符(例如,电视连续剧的内容标识符)和媒体项的标识符(例如,电视连续剧的剧集的内容标识符)。独特媒体项的元数据244包括但不限于:该独特媒体项的内容标识符243、该独特媒体项的每一个实例的元数据240、241和242的至少子集。例如,“辛普森一家”的第1集可以具有跨各种内容源的6个实例。内容映射模块205可以将具有值“1”的内容标识符243分配给“辛普森一家”的第1集,并且可以包括“辛普森一家”的第1集的每一个实例的元数据。内容映射模块205使用独特媒体项的实例的内容标识符243和元数据244来生成用来为媒体项高效地识别内容标识符243的搜索索引203。内容映射模块205还使用独特媒体项的实例的内容标识符243和元数据244来生成通过内容标识符243和媒体项的对应实例在其上可用的内容源进行索引的可用性数据库204。

下述论述说明了用于对来自客户端设备101的搜索查询进行响应的示例过程。前端模块201从客户端设备101接收搜索查询230,并且将搜索查询230分派给可用性模块202。在将搜索查询230分派给可用性模块202之前,前端模块201可选地规范化并扩展搜索查询230。前端模块201可选地从客户端设备101接收与对客户端设备101来说可访问的内容源231有关的信息。替选地,可用性模块202从数据库(例如,客户端设备101的用户106的简档、客户端设备101的简档等)获取与对客户端设备101来说可访问的内容源231有关的信息。可用性模块202使用搜索查询230来查询搜索索引203,以获取满足搜索查询230的媒体项的实例的内容标识符232和元数据233。可用性模块202然后使用内容标识符232和对客户端设备101来说可访问的内容源231来查询可用性数据库204,以获取在对客户端设备101来说可访问的内容源231上可用的媒体项的实例234。换句话说,媒体项的实例234(1)在对客户端设备101来说可访问的内容源231上可用并且(2)满足搜索查询230。

可用性模块202然后基于在对客户端设备101来说可访问的内容源231上可用的媒体项的实例234和元数据233,来生成搜索结果235和聚合信息236。在一些实施方式中,搜索结果235包括与媒体项的实例234有关的信息(例如,电视连续剧的剧集的名称和/或剧集编号、电视连续剧的名称、电影的名称等)以及与独特媒体项相对应的聚合信息236。媒体项的聚合信息236包括但不限于:在对客户端设备101来说可访问的内容源231上可用的连续剧的多个剧集、在对客户端设备101来说可访问的内容源231上可用的媒体项的最新实例(例如,即将到来的新剧集、先前已播出的最新剧集等)、在对客户端设备101来说可访问的内容源231上可用的媒体项的最旧实例(例如,试播剧集等)、在对客户端设备101来说可访问的内容源231上可用的媒体项的实例的完整性(例如,所有剧集均可用)、在其上媒体项的实例对客户端设备101来说可访问的多个独特内容源231、最频繁被选择的内容源231、在其期间媒体项在内容源231上可用的时段、媒体项将在内容源231上可用的未来时间、媒体项在内容源231上可访问的剩余时间、媒体项被购买的日期。

可用性模块202然后通过前端模块201将搜索结果235和/或聚合信息236返回给客户端设备101。

在一些实施例中,服务器110的模块被包括在客户端设备101中以便于搜索存储在本地内容源104中的媒体项。

图3是图示根据一些实施例的客户端设备101的示例模块的框图。在一些实施方式中,客户端设备101包括应用框架301,其响应于从输入设备105接收的输入事件来控制耦接到客户端设备101的设备303(例如,媒体设备103、输出设备102等),并且被配置成提供增强的多媒体功能(例如,如在上面参考图1所述的)。在下面参考图4更详细地描述了应用框架301。

在一些实施方式中,客户端设备101包括输入设备端口302、控制设备303、输入端口304以及输出端口305。输入设备端口302从输入设备105接收输入事件。控制设备303将特定于设备的请求和/或特定于设备的命令传输给媒体设备103和/或输出设备102。在一些实施方式中,控制设备303包括下述中的一个或多个:红外收发器、串行接口设备、蓝牙收发器以及网络接口设备。输入端口304从媒体设备103接收音频信号和/或视频信号。输出端口305将音频信号和/或视频信号传输给输出设备102。在一些实施方式中,输入端口304和输出端口305包括下述中的一个或多个:通用串行总线(usb)端口、蓝牙收发器、以太网端口、wi-fi收发器、hdmi端口、displayport端口、thunderbolt端口、复合视频端口、分量视频端口、光端口以及rca音频端口。

在一些实施方式中,输出设备102与客户端设备101集成在一起。例如,客户端设备101和输出设备102可以被包括在同一外壳(例如,电视机)中。

下述论述说明了用于对从输入设备105接收的请求和/或命令进行处理的示例过程。应用框架301通过输入设备端口302从输入设备105接收输入事件310。输入事件310包括但不限于:键按下、指示器位置、指示设备按钮按下、滚轮位置、手势以及对图形用户界面(gui)对象(例如,链接、图像等)的选择。

输入事件310中的一个或多个可以对应于不指明(agnostic)设备的请求和/或不指明设备的命令。不指明设备的请求(例如,对获得媒体设备的请求、对获取媒体项的实例的请求等)是可以向多个设备发出而与对于多个特定设备的请求的特定于设备的句法无关的一般请求。类似地,不指明设备的命令(例如,用来增加音量级别的命令、用来更换频道的命令等)是可以向多个设备发出而与对于多个特定设备的请求的特定于设备的句法无关的一般命令。

应用框架301将不指明设备的请求映射到针对媒体设备103的特定于设备的请求311。类似地,应用框架301将不指明设备的命令映射到针对媒体设备103的特定于设备的命令312。应用框架使用控制设备303将特定于设备的请求311和/或特定于设备的命令312传输给媒体设备103。

响应于特定于设备的请求311和/或特定于设备的命令312,媒体设备103传输应用框架301通过输入端口304接收的音频信号313和/或视频信号314。

应用框架301然后使用音频信号313和/或视频信号314来生成音频信号315和/或视频信号316,以提供增强的多媒体功能(例如,使gui覆盖在视频信号314上、使音频覆盖在音频信号313上)。

应用框架301然后使用输出端口305将音频信号315和/或视频信号316传输给输出设备102。

在一些实施方式中,应用框架301便利通过在输出设备102上显示的gui的web搜索和/或web浏览。

图4是图示根据一些实施例的应用框架301的示例模块的框图。应用框架301包括在应用框架301中执行的媒体设备服务401、媒体设备服务应用编程接口(api)402、在应用框架301中执行的应用403以及媒体设备库405。媒体设备服务401提供在应用403、媒体设备和输出设备之间的抽象接口,以使应用开发者能够在不必知道耦接到客户端设备101的特定媒体设备和/或特定输出设备的细节(例如,特定于设备的句法、特定于设备的协议、特定于设备的api等)的情况下为客户端设备101开发应用。此外,媒体设备服务401通过维护状态转换并且监视在客户端设备101、输出设备102和媒体设备103之间发生的异步动作的进展来隐藏这些异步动作的复杂性。媒体设备库405提供在从在应用框架301中执行的应用403接收的不指明设备的请求和不指明设备的命令分别到对于目标媒体设备的特定于设备的请求和特定于设备的命令之间的映射。这些映射允许应用开发者调用媒体设备服务api402的媒体设备服务函数404来向媒体设备发出请求(例如,向媒体设备发出不指明设备的请求)和/或向媒体设备发出命令(例如,向媒体设备发出不指明设备的命令),而不必预先知道用户正在使用哪些特定媒体设备或用户能够访问哪些。

下述论述说明了用于对从输入设备105接收的请求和/或命令进行处理的示例过程。应用403接收输入事件310并且将输入事件310解释成请求和/或命令。应用403调用媒体设备服务api402的媒体设备服务函数404来向媒体设备服务401发出不指明设备的请求411和/或不指明设备的命令412。媒体设备服务401使用不指明设备的请求411和/或不指明设备的命令412的目标媒体设备的媒体设备库405,来将不指明设备的请求411和/或不指明设备的命令412分别映射到对应的特定于设备的请求311和/或对应的特定于设备的命令312。媒体设备服务401然后向控制设备303发出特定于设备的请求311和/或特定于设备的命令312。

媒体设备服务401向应用403提供音频信号313和/或视频信号314。应用403可以使音频信号313和/或视频信号314增强,来产生音频信号315和/或视频信号316。

图5是图示根据一些实施例的服务器110的框图。服务器110典型地包括用于执行程序(例如,存储在存储器510中的程序)的一个或多个处理单元(cpu,有时被称为处理器)502、一个或多个网络或其他通信接口504、存储器510以及用于使这些组件互连的一个或多个通信总线509。通信总线509可以包括使系统组件互连并且控制系统组件之间的通信的电路(有时被称为芯片集)。服务器110可选地包括(但是典型地不包括)用户接口505,其包括显示设备506和输入设备508(例如,键盘、鼠标、触摸屏、小键盘等)。存储器510包括高速随机存取存储器,诸如dram、sram、ddrram或其他随机存取固态存储器设备;以及典型地包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器510可选地包括位于远离cpu502的地方的一个或多个存储设备。存储器510或替选地在存储器510内的非易失性存储器设备包括非暂时性计算机可读存储介质。在一些实施例中,存储器510或存储器510的计算机可读存储介质存储下述程序、模块和数据结构或其子集:

·操作系统512,其包括用于处理各种基本系统服务以及用于执行依赖硬件的任务的过程;

·通信模块514,其用于通过一个或多个通信接口504(有线或无线)以及一个或多个通信网络,诸如因特网、其他广域网、局域网、城域网等,将服务器110连接到其他计算机;

·可选用户接口模块516,其通过输入设备508从用户接收命令,并且在显示设备506中生成用户界面对象;

·前端模块201,如在本文所述的;

·可用性模块202,如在本文所述的;

·内容映射模块205,如在本文所述的;

·元数据导入器模块206-207,如在本文所述的;

·web爬取器模块208,如在本文所述的;

·搜索索引203,其包括媒体项的实例的内容标识符243和元数据244,如在本文所述的;以及

·可用性数据库204,其包括媒体项的实例的内容标识符243和元数据244,如在本文所述的。

在一些实施例中,上面识别的程序或模块对应于用于执行上述功能的指令集。指令集可以由一个或多个处理器(例如,cpu502)执行。上面识别的模块或程序(即,指令集)不必被实现为独立软件程序、过程或模块,因此可以在各种实施例中对这些程序或模块的各种子集进行组合或另外重新安排。在一些实施例中,存储器510存储在上面识别的模块和数据结构的子集。此外,存储器510可以存储在上面未描述的另外模块和数据结构。

尽管图5示出了“服务器”,然而,图5比作为在本文所述的实施例的结构示意更意在作为可以存在于一组服务器中的各种特征的功能描述。实际上并且如本领域普通技术人员所认识到的,可以对单独示出的项进行组合,并且可以使一些项分离。例如,在图5中单独示出的一些项可以在单个服务器上实现,并且单个项可以由一个或多个服务器实现。用来实现服务器110的服务器的实际数量以及在它们之间如何分配特征将随实施方式不同而变化,并且可以部分取决于系统在高峰使用时段期间以及在平均使用时段期间必须处理的数据业务量。

图6是图示根据一些实施例的客户端设备101的框图。客户端设备101典型地包括用于执行程序(例如,存储在存储器610中的程序)的一个或多个处理单元(cpu,有时被称为处理器)602、一个或多个网络或其他通信接口604、存储器610、输入设备端口302、控制设备303、输入端口304、输出端口305以及用于使这些组件互连的一个或多个通信总线609。通信总线609可以包括使系统组件互连并且控制系统组件之间的通信的电路(有时被称为芯片集)。存储器610包括高速随机存取存储器,诸如dram、sram、ddrram或其他随机存取固态存储器设备;以及典型地包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器610可选地包括位于远离cpu602的地方的一个或多个存储设备。存储器610或替选地在存储器610内的非易失性存储器设备包括非暂时性计算机可读存储介质。在一些实施例中,存储器610或存储器610的计算机可读存储介质存储下述程序、模块和数据结构或其子集:

·操作系统612,其包括用于处理各种基本系统服务以及用于执行依赖硬件的任务的过程;

·通信模块614,其用于通过一个或多个通信接口604(有线或无线)以及一个或多个通信网络,诸如因特网、其他广域网、局域网、城域网等,将客户端设备101连接到其他计算机;

·用户接口模块616,其通过输入设备608从用户接收命令,并且在显示设备(例如,输出设备102)中生成用户界面对象;以及

·应用框架301,其包括自身包括媒体设备服务api402的媒体设备服务401、自身包括媒体设备服务函数404的应用403以及媒体设备库405,如在本文所述的。

在一些实施例中,上面识别的程序或模块对应于用于执行上述功能的指令集。指令集可以由一个或多个处理器(例如,cpu602)执行。上面识别的模块或程序(即,指令集)不必被实现为独立软件程序、过程或模块,因此可以在各种实施例中对这些程序或模块的各种子集进行组合或另外重新安排。在一些实施例中,存储器610存储在上面识别的模块和数据结构的子集。此外,存储器610可以存储在上面未描述的另外模块和数据结构。

尽管图6示出了“客户端设备”,然而,图6比作为在本文所述的实施例的结构示意更意在作为可以存在于客户端设备中的各种特征的功能描述。实际上并且如本领域普通技术人员所认识到的,可以对单独示出的项进行组合,并且可以使一些项分离。

识别媒体项的可用性

图7是根据一些实施例的用于识别媒体项的可用性的方法700的流程图。前端模块201从用户106的客户端设备101接收(702)搜索查询。

可用性模块202识别(704)满足搜索查询并且在对用户106的客户端设备101来说可访问的内容源上可用的媒体项的实例。在下面参考图8更详细地描述了操作702。

在一些实施例中,在识别满足搜索查询并且在对用户的客户端设备来说可访问的内容源上可用的媒体项的实例之前,可用性模块202(例如,通过前端模块)从用户106的客户端设备101接收与对用户106的客户端设备101来说可访问的内容源有关的信息。例如,用户106的客户端设备101可以与搜索查询一起传输对客户端设备101来说可访问的内容源。

在一些实施例中,在识别满足搜索查询并且在对用户的客户端设备来说可访问的内容源上可用的媒体项的实例之前,可用性模块202从用户106的简档和/或客户端设备101的简档获取与对用户106的客户端设备101来说可访问的内容源有关的信息。图22是根据一些实施例的用于获取与对用户的客户端设备来说可访问的内容源有关的信息的方法2200的流程图。可用性模块202识别(2202)客户端设备101的用户106并且从存储在服务器上的所识别的用户的简档获取(2204)与对用户的客户端设备来说可访问的内容源有关的信息。例如,可用性模块202可以获取并使用用户106的用户标识符来从用户106的简档获取与对用户106的客户端设备101来说可访问的内容源有关的信息。替选地,可用性模块202可以获取并使用客户端设备101的mac地址或ip地址来从与客户端设备101的mac地址或ip地址相关联的用户106的简档获取与对用户106的客户端设备101来说可访问的内容源有关的信息。

返回到图7,可用性模块202基于媒体项的实例来确定(706)媒体项的聚合信息。在下面参考图12-21和23-28更详细地描述了操作706。

可用性模块202(例如,通过前端模块201)将媒体项的聚合信息传输(708)给客户端设备101。在一些实施例中,在用户106的客户端设备101的用户界面中的搜索栏中显示聚合信息的至少部分。例如,图23-28图示了说明用于在搜索栏中显示聚合信息的各种技术的示例gui。

图8是根据一些实施例的用于识别(704)满足搜索查询并且在对用户的客户端设备来说可访问的内容源上可用的媒体项的实例的方法的流程图。可用性模块202使用搜索查询来查询(802)搜索索引203,以识别满足搜索查询的媒体项的内容标识符。可用性模块202然后使用内容标识符和与对用户106的客户端设备101来说可访问的内容源有关的信息来查询(804)可用性数据库204,以识别满足搜索查询并且在对用户106的客户端设备101来说可访问的内容源上可用的媒体项的实例。

在一些实施例中,在使用搜索查询来查询搜索索引203以识别满足搜索查询的媒体项的内容标识符之前,内容映射模块205生成搜索索引203和可用性数据204。在下面参考图9-11描述了这些实施例。

图9是根据一些实施例的用于将独特媒体项的元数据和独特媒体项的内容标识符存储在搜索索引203中的方法900的流程图。内容映射模块205从元数据提供商111和220获取(902)媒体项的实例的元数据240和241(和/或通过web爬取器模块208从网页221获取媒体项的实例的元数据)。

内容映射模块205基于媒体项的实例的元数据来识别(904)独特媒体项。对于每一个独特媒体项,内容映射模块205为该独特媒体项分配(906)内容标识符并且将该独特媒体项的元数据和该独特媒体项的内容标识符存储(908)在搜索索引203中。

图10是根据一些实施例的用于将独特媒体项系列(例如,电视连续剧等)的元数据和独特媒体项系列的内容标识符存储在搜索索引203中的方法1000的流程图。内容映射模块205基于媒体项的实例的元数据来识别(1002)独特媒体项系列。对于每一个独特媒体项系列,内容映射模块205为该独特媒体项系列分配(1004)内容标识符,并且将该独特媒体项系列的元数据和该独特媒体项系列的内容标识符存储(1006)在搜索索引203中。

图11是根据一些实施例的用于将媒体项的实例的元数据、媒体项的内容标识符和媒体项的实例的内容源存储在可用性数据库204中的方法1100的流程图。对于媒体项的每一个实例,内容映射模块205识别(1102)媒体项的实例的内容源、识别(1104)媒体项的内容标识符并且将媒体项的实例的元数据、媒体项的内容标识符和媒体项的实例的内容源存储(1106)在可用性数据库204中。

确定聚合信息

如上所述,可用性模块201可以基于媒体项的实例来生成各种类型的聚合信息。图12-21图示了多种类型的聚合信息的示例。图23-28图示了响应于用户106将包括搜索词语“辛普森一家”的搜索查询输入到gui2300-2800的搜索框中聚合信息在客户端设备101的gui2300-2800上的呈现。

图12-15与为相关媒体项系列中的媒体项确定聚合信息有关。

图12是根据一些实施例的用于确定(706)跨对用户的客户端设备来说可访问的内容源的媒体项的多个独特实例的方法的流程图。可用性模块201识别(1202)是相关媒体项系列的成员的媒体项子集。对于每一个相关媒体项系列,可用性模块201确定(1204)跨对用户的客户端设备来说可访问的内容源的媒体项的独特实例数,并且将该相关媒体项系列与媒体的多个独特实例相关联(1206)。例如,响应于包括搜索词语“辛普森一家”的搜索查询,可用性模块201可以确定“辛普森一家”电视连续剧具有在对客户端设备101来说可访问的内容源上可用的24个独特剧集。客户端设备101可以如在图23中所图示地显示该聚合信息。

图13是根据一些实施例的用于确定媒体项的最新独特实例的方法1300的流程图。对于每一个相关媒体项系列,可用性模块201确定(1302)媒体项的最新独特实例并且将该相关媒体项系列与媒体项的最新独特实例相关联(1304)。例如,响应于包括搜索词语“辛普森一家”的搜索查询,可用性模块201可以确定“辛普森一家”电视连续剧具有在对客户端设备101来说可访问的内容源上可用的、包括这周的一个新剧集的24个独特剧集。客户端设备101可以如在图24中所图示地显示该聚合信息。

图14是根据一些实施例的用于确定媒体项的最旧实例的方法1400的流程图。对于每一个相关媒体项系列,可用性模块201确定(1402)媒体项的最旧实例并且将该相关媒体项系列与媒体项的最旧实例相关联(1404)。例如,响应于包括搜索词语“辛普森一家”的搜索查询,可用性模块201可以确定“辛普森一家”电视连续剧具有在对客户端设备101来说可访问的内容源上可用的、包括试播剧集的24个独特剧集。客户端设备101可以如在图25中所图示地显示该聚合信息。

图15是根据一些实施例的用于确定媒体项的实例的完整性的方法1500的流程图。对于每一个相关媒体项系列,可用性模块201确定(1502)媒体项的实例的完整性并且将该相关媒体项系列与媒体项的实例的完整性相关联(1504)。例如,响应于包括搜索词语“辛普森一家”的搜索查询,可用性模块201可以确定“辛普森一家”电视连续剧的所有24个独特剧集均在对客户端设备101来说可访问的内容源上可用。客户端设备101可以如在图26中所图示地显示该聚合信息。

图16-21与为个体媒体项确定聚合信息有关。

图16是根据一些实施例的用于确定在其上媒体项的实例对用户的客户端设备来说可访问的多个独特内容源的方法1600的流程图。对于每一个媒体项,可用性模块201确定(1602)在其上媒体项的实例对用户的客户端设备来说可访问的多个独特内容源,并且将该媒体项与在其上媒体项的实例对用户的客户端设备来说可访问的多个独特内容源相关联(1604)。例如,响应于包括搜索词语“辛普森一家”的搜索查询,可用性模块201可以确定“辛普森一家(2009)”电影在对客户端设备101来说可访问的两个内容源上可用。客户端设备101可以如在图23中所图示地显示该聚合信息。

图17是根据一些实施例的用于确定为媒体项最频繁地选择的内容源的方法1700的流程图。对于每一个媒体项,可用性模块201确定(1702)最频繁地被(例如,用户)选择的内容源并且将该媒体项与最频繁地被选择的内容源相关联(1704)。例如,响应于包括搜索词语“辛普森一家”的搜索查询,可用性模块201可以确定“辛普森一家(2009)”电影在对客户端设备101来说可访问的“网飞和1个其他(netflixand1other)”内容源上可用。客户端设备101可以如在图24中所图示地显示该聚合信息。

图18是根据一些实施例的用于确定媒体项在内容源上可用的时段的方法1800的流程图。对于每一个媒体项,可用性模块201确定(1802)媒体项在内容源上可用的时段并且将该媒体项与媒体项在内容源上可用的时段相关联(1804)。例如,响应于包括搜索词语“辛普森一家”的搜索查询,可用性模块201可以确定“辛普森一家(2009)”电影在接下来的3天内在对客户端设备101来说可访问的一个内容源上可用。客户端设备101可以如在图25中所图示地显示该聚合信息。

图19是根据一些实施例的用于确定媒体项将在内容源上可用的未来时间的方法1900的流程图。对于每一个媒体项,可用性模块201确定(1902)媒体项将在内容源上可用的未来时间并且将该媒体项与媒体项将在内容源上可用的未来时间相关联(1904)。例如,响应于包括搜索词语“辛普森一家”的搜索查询,可用性模块201可以确定“辛普森一家(2009)”电影在下周二开始在对客户端设备101来说可访问的两个内容源上可用。客户端设备101可以如在图26中所图示地显示该聚合信息。

图20是根据一些实施例的用于确定媒体项在内容源上可访问的剩余时间的方法2000的流程图。对于每一个媒体项,可用性模块201确定(2002)该媒体项当前被客户端设备101的用户106所租用、确定(2004)当前从之租用该媒体项的内容源、确定(2006)该媒体项在该内容源上可访问的剩余时间并且将该媒体项与当前从之租用该媒体项的内容源和该媒体项在该内容源上可访问的剩余时间相关联(2008)。例如,响应于包括搜索词语“辛普森一家”的搜索查询,可用性模块201可以确定“辛普森一家(2009)”被用户106在youtube(例如,对客户端设备101来说可访问的内容源)上租用并且在接下来的36个小时内可用。客户端设备101可以如在图27中所图示地显示该聚合信息。

图21是根据一些实施例的用于确定媒体项先前被购买的日期的方法2100的流程图。对于每一个媒体项,可用性模块201确定(2102)该媒体项先前被客户端设备101的用户106购买、确定(2104)从之购买了该媒体项的内容源、确定(2106)媒体项被购买的日期并且将该媒体项与从之购买了该媒体项的内容源和媒体项被购买的日期相关联(2108)。例如,响应于包括搜索词语“辛普森一家”的搜索查询,可用性模块201可以确定“辛普森一家(2009)”由用户106在2011年2月27日购买并且可用于在对客户端设备101来说可访问的内容源上观看。客户端设备101可以如在图28中所图示地显示该聚合信息。

图7-22中所图示的方法可以受被存储在计算机可读存储介质中并且由服务器110的一个或多个处理器执行的指令控制。图7-22中所示的操作中的每一个可以对应于存储在非暂时性计算机存储器或计算机可读存储介质中的指令。在各种实施方式中,非暂时性计算机可读存储介质包括磁或光盘存储设备、诸如闪存的固态存储设备、或一个或多个其他非易失性存储器设备。存储在非暂时性计算机可读存储介质上的计算机可读指令可以以源代码、汇编语言代码、目标代码或由一个或多个处理器解释和/或可执行的其他指令格式。

可以为在本文被描述为单个实例的组件、操作或结构提供多个实例。最后,在各种组件、操作和数据存储之间的边界有些任意性,并且在特定说明性配置的情境下说明了特定操作。功能的其他分配是预期的,并且可以落在实施例的范围内。总的来说,被展现为示例配置中的分离组件的结构和功能可以被实现为组合的结构或组件。类似地,被展现为单个组件的结构和功能可以被实现为分离组件。这些和其他变化、修改、添加和改进落在实施例的范围内。

还应当理解的是,尽管用语“第一”、“第二”等可以在本文用来描述各种元素,然而,这些元素不应当受这些用语限制。这些用语仅用来区分不同元素。例如,第一联系人可以被称为第二联系人,并且类似地,第二联系人可以被称为第一联系人,其改变描述的含义,只要“第一联系人”的所有出现均被一致地重命名,并且第二联系人的所有出现均被一致地重命名。第一联系人和第二联系人两个都是联系人,但是他们不是同一联系人。

在本文所使用的术语仅出于描述特定实施例的目的,并且并不意在限制权利要求。如在对实施例和所附权利要求的描述中所使用的,除非上下文另外清楚表明,单数形式不定冠词和定冠词意在也包括复数形式。还应当理解的是,如在本文所使用的用语“和/或”是指并且包括相关联的列出的项中的一个或多个的任何和所有可能组合。应当进一步理解的是,用语“包括”和/或“包含”当在本说明书中使用时,指定陈述的特征、完整物、步骤、操作、元素和/或组件的存在,但是并不排除一个或多个其他特征、完整物、步骤、操作、元素、组件和/或其组的存在或添加。

如在本文所使用的,取决于上下文,用语“如果”可以被解释成意为“在…时”或“当…时”或“响应于确定”或“根据…确定”或“响应于检测到”陈述的先决条件为真。类似地,取决于上下文,短语“如果确定(陈述的先决条件为真)”或“如果(陈述的先决条件为真)”或“当(陈述的先决条件为真)时”可以被解释成意为“当确定…时”或“响应于确定”或“根据…的确定”或“当检测到…时”或“响应于检测到”陈述的先决条件为真。

出于说明目的,已参考特定实施例描述了前面描述。然而,上面的说明性论述并不意在穷尽或将实施例限制在所公开的精确形式。鉴于上述教导,许多修改和变化是可能的。选择并描述了实施例,以便最好地说明原理及其实际应用,从而使本领域技术人员能够最好地利用所述实施例以及带有适于预期的特定用途的各种修改的各种实施例。

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