具体实施方式
现在参照附图说明本主旨,其中相同标号用于表示贯穿全文的相同元件。在后续说明中,为了解释目的,多个特定细节被提出以便提供对本主旨的彻底理解。然而,能够明显的是,能够在没有这些特定细节的情况下时实现主旨实施例。在其他实例中,公知的结构和装置(如电源,驱动器等)被从方框图中省略以便于对实施例的说明。
如在本申请中所使用,术语“组件”旨在表示硬件,或在执行中的硬件和软件的结合。例如,组件可能是,但不限于运行在处理器上的处理、处理器、对象、在处理器上运行的可执行程序和/或微型芯片等。通过图示,运行在处理器上的应用和处理器可以是组件。一个或多个组件可位于处理中,并且组件可被定位在一个系统上和/或被分布在两个或更多系统之间。图中所示各种组件的功能可通过使用专用硬件以及能够执行与合适软件相关联的软件的硬件被提供。
当由处理器提供时,这些功能可被单个专用处理器、单个共享处理器或多个独立处理器(其中一些可能是共享的)提供。而且,术语“处理器”或“控制器”的明确使用不应被排他地视为仅表示能够执行软件的硬件,而是可以非限定地暗示性地包括数字信号处理器(“DSP”)硬件、存储软件的只读存储器(“ROM”)、随机访问存储器(“RAM”)和非易失性存储器。而且,这里详述本发明实例和实施例的所有陈述旨在包含结构和功能二者的等同物。另外,这样的等同物旨在包括当前已知的等同物和未来研发的等同物(即,所研发的执行相同功能的任意元件,不论结构如何)。
应当注意的是,这里使用的任意超链接仅仅用于示例的目的。这些超链接可以是或不是活动超链接并可以包含或不包含数据。对于本发明的理解而言,不需要在对应于任意超链接的位置处存储任意数据。
内容供应商为多个用户提供了到不同类型内容的访问。例如,有线/卫星供应商典型地将机顶盒租给顾客,其用作传递不同类型内容的入口或网关。选择性提供到内容的访问的此设备方便地访问能够被解码并为用户显示在显示装置上的内容指南数据。内容指南数据包括其上内容可访问的至少一个频道的列表和与在至少一个频道上内容相关联的信息。一个示例是电子节目指南数据(或电子服务指南数据),其或通过与广播数据相同的频道从有线供应商处直接传入,或通过编译并提供内容指南数据的附加互联网服务传递。由于带宽限制和大数量需要数据的节目,内容指南数据典型地包含说明在特定时间特定频道上的节目的最小信息。另外,内容指南对于浏览内容非常低效,因为随着可获得节目数量的增加,内容指南数据的线性导航的难度也随之增加。例如,随着在线性搜索指南中可获得节目数量的增加,用户在指南导航中的开支增加。
虽然内容指南典型地包含最小信息,但是更多信息可从各种其他源处获得,这些其他源如果被利用,可被用于产生包括比常规节目指南中当前可获得的明显更多的信息的综合内容节目指南。这种附加信息可通过改善指南的网上冲浪速度,提供从较大可获得集中更快的内容选择并提供对整个指南的更快感知来有利地改善用户在指南导航和内容选择中的体验。
本系统能够使用内容的相关度创建内容的层次群组来改善内容指南数据展现和导航。包括(但不限于)电视节目或任意其他媒体节目的内容可以多种方式相互相关。节目的层次成组是有挑战性的并可能导致群组之间的内容重叠。因而,本系统通过考虑内容所属的所有维度有利地从可获得内容集生成了相关内容片段的群集。例如,可使用包括说明内容的信息和与内容相关联的信息中的至少一种信息的多个不同属性来说明内容,并且内容片段的维度由被包含在属性中的信息定义。本系统有利地将内容集中的所有内容群集化以表示所述集中的节目如何相互相关。两个节目之间的相关度的等级可由与其相关联的匹配属性的数量来确定。在创建相关节目的群集之后,表示多个群集的各群集的数据被自动地显示给用户。本系统还有利地使得用户能够导航包含在节目群集内的内容(例如,垂直导航),以及在群集之间导航(例如,横向导航)。因此,与内容相关联的附加信息可用来增强对用户的内容指南数据的显示,同时改善了其导航。
本系统的一个示例性实施例在图1中示出,其包括机顶盒102,例如有线电视机顶盒,包括调谐器模块,调谐器模块选择性地调谐来自有线/卫星供应商的输入信号101。机顶盒102解析接收到的节目数据(包括节目指南数据),并使用与可由调谐器模块调谐的各个节目相关联的属性填写数据库104。在本实施例中,数据库可被实施为独立的磁盘驱动器或可通过通信网络访问的云数据库存储位置。在可替代的实施例中,数据库104可被实施在机顶盒102内。数据库的结构可具有表示一天特定时期的各种表。在各个表中,用来说明内容的属性可被提供在列中,并且在特定时期的节目可被提供在行中。如此处所使用,内容包括可从有线/卫星供应商获得的电视节目。然而,本领域技术人员应当理解,内容可以是用户可以任意方式访问的任意音视频多媒体数据。可被系统填写的特定时期处每一个节目的属性集的示例包括但不限于:
·标题;
·子标题;
·说明;
·概要(一般暗示较长说明);
·演员表(演员,出品人,导演,解说,制片人);
·图像(抓屏,海报,封图(box-art),缩略图);
·流派/种类;
·评定和通告(如PG-13);
·评论和星级评定;
·相同节目的其他片段;
·信息在线源(Hulu,Fancast,Netflix...上的表演/片段);
·相关电影和表演;
·最初发表的日期;
·系列数据;和
·说明在节目中描绘的主题/情况的数据。
系统可从多个不同的源获得这些和其他属性,所述多个不同的源包括但不限于:
·电子节目指南供应商(如时间表指导);
·机顶盒(通过查询STB,STB可能已经获得了来自内容供应商的信息);
·有线/卫星/FIOSTM供应;
·基于优选内容供应商的搜索(例如,向供应商查询其内容,如向DisneyTM查询DisneyTM内容,或向ComcastTM查询ComcastTM内容,等);
·互联网搜索:GoogleTM,BingTM,WikipediaTM和其他揭露的搜索API。还可以在这些上独立地进行爬取;
·DVR/PVR;和
·用户家庭网络上的媒体内容。
在图1的系统实施例中,机顶盒102耦合到主显示装置108,例如高清晰电视监视器,其选择性显示对应于由机顶盒102中调谐器模块所调谐的信号的内容。虽然机顶盒102被说明为能实现内容选择和查看的访问点,但应当注意的是,包括能实现内容选择的至少一个调谐器模块的任意装置可用来实施本系统。可替代地,本系统可通过允许任意内容片段以任意方式被选择并提供给用户的任意装置来实现。副显示装置110可被提供用于系统生成的群集化内容指南的显示。副显示装置110可以是可接入局域网络和广域网络中的至少一个并能够访问和接收表示来自机顶盒102的增强内容的数据以供在其上显示的任意计算装置。副显示装置110包括但不限于计算机、笔记本、上网本、平板计算机、蜂窝电话、智能电话或不同于主显示装置108的副监视器。
机顶盒102由用户112或其他装置(如VCR,DVR,另一调谐器等)以已知方式控制,例如使用远程控制(未图示)来控制,以使得机顶盒102(或主显示装置108)在主显示装置108上显示包括电子节目指南的用户界面。节目指南数据包括说明在给定时间可获得的被调谐的多个节目的信息。在创建用于显示在主显示装置108或副显示装置110上的群集化节目指南中,节目指南数据和标识和/或说明节目内容的任意其他数据由系统解析以从其检索属性并填写群集内容指南数据库104。系统可在接收到EPG和其他数据时并在当前时间帧之前自动解析EPG和其他数据,以便预先填写群集内容指南数据库104。例如,系统可在前一晚解析EPG数据以确保当用户实际在主显示装置108上观看节目内容时机顶盒性能以及数据的显示不受阻碍。
下面是对如何使群集化EPG显示在主显示装置108和副显示装置110中的至少一个上的示例性说明。在本示例性实施例中,用户112可生成要求显示电子节目指南的控制信号。机顶盒102查询来自电子服务指南源的电子服务指南,如内容数据流或由内容供应商所提供的网站,以导出与所有当前可获得的节目相关联的属性形式的说明信息。对于当前可获得的每一个节目,至少一种类型的属性数据被用作对在机顶盒102上运行的属性搜索模块的输入。属性搜索模块搜索位于网络106上的信息供应商以找到与节目相关的信息,以与源自EPG的属性数据结合并生成增强节目属性集,该增强节目属性集被存储在数据库104中。在机顶盒102的控制器800内实施的群聚处理器(图8)选择至少一种类型的表示节目的单个维度的属性数据,并执行层次群集化算法以生成至少一个群集,群集包括节目是相关的并且当前可在主显示装置108或副显示装置110中的至少一个上观看的相关节目的集合。一个群集包括被确定相互相关的节目的集合。表示至少一个所生成的群集的数据由用户界面显示处理器(图8)格式化以显示给用户。一旦显示,用户可选择性地导航被包括在群集中的节目集并且可在包括相互相关较少的不同节目集的不同群集之间导航。
图2是使用其中提出的标号具体描述图1中所述系统的示例性操作的流程图。本实施例说明了获取数据以生成群集化EPG数据的机制。在一实施例中,此处所述的处理/活动在接收到将一节目标识为所选节目的控制信号之前被执行,从而减少获取相关内容信息并生成包括相关内容信息的UI的时间。在另一实施例中,此处所述处理/活动响应于从主显示装置或副显示装置上EPG内选择内容的控制信号的接收而被执行。
在步骤202中,EPG数据被从EPG数据源获取(EPG数据源如内容数据流或具有内容供应商相关数据的网站),并被解析以识别可在给定时段被调谐的特定节目集。整个节目列表可从有线/卫星供应或针对此而被设置的任意其他外部服务上可获得的EPG数据来获得。对于识别出的每一个特定节目,为其分配节目标识符,并且数据库104被用特定节目标识符集填写,使得能够创建可填写描述节目的属性数据的记录。可获得的节目的列表此后被称作为“样本集”,其可标识出在给定时段期间可供观看的多个不同节目。样本集可通过从整个节目列表滤除重复节目而得出。例如,如果两个频道正在广播相同内容的HD和SD版本,则滤除器模块仅仅输出一个节目节点来表示这二者。
系统在步骤204中使用在EPG数据库104中包含的预定属性集以识别对应于在给定时段期间每一个节目的各自属性的数据来进一步解析EPG数据。属性数据被自动地用来填写EPG数据库中针对每一个节目的字段。节目属性数据包括与各节目相关联的说明性关键字。例如,节目属性数据可以包括但不限于:(a)标题;(b)子标题;(c)流派;(d)演员表;(e)持续时间;(f)系列中的位置;和(g)情节线索说明数据。
如上所述,由系统接收的EPG数据可包括有限数量数据,这些数据将被用来填写针对每一个节目的属性数据字段。因而,在步骤206中,可通过使用经由如互联网的全球通信系统可获得的其他数据资源来进一步丰富属性集。在步骤206中,在属性处理器上运行的属性搜索模块(图8)使用对应于节目的至少一个属性的数据作为启动对位于通信网络106上相关信息供应商的搜索的种子项,以获取与节目相关联的补充属性数据。所获取的补充属性数据可用于填写在EPG数据解析期间未被填写的预定属性字段。另外,在相关信息供应商的搜索期间,系统可获取标识出未被包括在预定属性数据集中的属性的类型的信息。在本实例中,附加属性类型可被自动地并入存储在数据库104中的预定属性集中。与新添加的属性类型相对应的数据也可通过属性处理器运行属性搜索模块来获取并且可用来填写数据库104中的数据字段。
在一实施例中,每一个节目的属性集可被属性处理器应用从所获取的数据移除非词的滤除算法而被进一步修订。例如,滤除算法可移除如“和”,“或”,“的(of)”,“所述(the)”等的非词。在另一实施例中,滤除算法可解析包括多个词或短语的属性数据。在本实施例中,滤除器可自动将短语内各个词分开并创建子属性集,其中每一个词形成子属性并且也可被用作确定各个节目之间的维度关系的机制。可替代地,短语的各个词可自动被指定为独立属性并被用来确定在如以下所讨论的各个节目之间的维度关系。
信息供应商的示例包括但不限于WikipediaTM,IMDBTM或包括音视频节目数据相关信息的任意其他源。在本示例中,属性搜索模块自动搜索WikipediaTM以找出节目的根对象。属性搜索模块可使用特性搜索机制和算法或可使用如由GoogleTM或任意其他互联网搜索供应商所提供的第三方搜索网络服务。
在步骤208中,对应于属性集中的属性的类型的数据被存储在数据库104中。在一实施例中,系统提前预先查询数据,如当前节目的前一天,并将数据存储在例如数据库中以供以后使用。本数据库可以定期地被填写增强信息,如每天一次,并且随后当不可以访问外部数据源或某些方面被限制时,节目指南仅仅访问本数据库。随后本数据库可作为网络服务或网络API被披露。数据库可位于机顶盒和/或网关内而处于家中,以允许多个装置本地地访问数据和/或在云中访问数据以将信息作为服务提供给多个顾客。
在步骤210中,属性处理器(图8)从存储在数据库104中的属性集选择至少一个属性,用来确定在给定时间节目样本集中所有节目的相关度的等级。每一个所选属性对应于这些节目的相关度的一个维度。由属性处理器进行的属性选择可基于预定属性集被自动执行。在另一实施例中,属性的选择可响应于用户生成的标识哪些属性将被用来确定给定时间节目样本集的相关度等级的控制信号而被确定。
一旦在步骤210中生成了所有节目的属性集,群聚处理器(图8)在步骤212中基于所选属性集执行维度距离计算算法以确定节目集的相关度等级。群聚处理器将属性集转化成距离矢量。属性集被标识为由“样本集”中所有节目的所有属性的联合给出的“完全属性集”。
例如,以下表1提供了可如何计算相关度等级的示例,其中,完全属性集中的属性(A0-An)被按列列出,并且节目(P0-P2)样本集中的每一个节目按行列出。第一行提供了“完全属性集”中的属性列表,并且下面的行提供了每一个节目的距离矢量。
节目 |
A0 |
A1 |
A2 |
............ |
An |
P0 |
1 |
0 |
0.9 |
|
0 |
P1 |
0 |
1 |
0 |
|
1 |
P2 |
0 |
0 |
1 |
|
1 |
表1
如此处所示,数值1表示属性存在,0表示属性不存在。1和0之间的值给出了属性存在并且在关系矢量上其所属的位置。通过为相关属性分配相对权重,可以更好地表示这些相关属性。例如,典型的电视节目等级如“TV-MA”,“TV-G”和“TV-14”所有都可计作距离矢量中的不同维度,即使他们相关。可认为,“TV-14”等级节目更接近“TV-MA”等级节目并远离“TV-G”。为了解释这些关系,将一定范围(从0到1的)的值分配给等级。
1------------------0.8------------------0.5------------------0.3------------------0
“TV-MA” “TV-14” “TV_G”
在上述关系矢量中,1和0表示两个极端远离的等级,并且所有其他等级获得对应他们与每一个端相距的距离的值。以这种方式,到达距离矢量的等级属性的单个数值仍可以表示其远离其他等级的距离。例如,等式1表示了为节目P0计算距离矢量的公式,等式2表示了为节目P1计算距离矢量的公式。
P0=1*W0+0*W1+0.9*W2+........+0*Wn (1)
P1=0*W0+1*W1+0*W2+........+1*Wn,(2)
其中属性值从表1导出,并且W0,W1,W2...Wn是与属性A0,A1,A2...An相关的权重。在一实施例中,当这些节目由这些距离矢量群集化时,W0...Wn的值可随机任意选择以提供更好间距。在另外的示例中,属性权重能够被任意选择以给出群集的更好间距。在进一步的示例中,类似“流派”属性可被加以较高权重,如果其给出了群集内不同种类内容的清楚划分。在又一实施例中,与每一个属性相关的权重值可由用户选择性地分配,这依赖于指示各个属性重要性的用户偏好。在再一实施例中,属性的权重值可基于包括各个用户的节目观看历史的用户偏好简档被自动地分配。例如,如果机顶盒102已经确定用户喜欢流派“戏剧”的节目并避开流派“体育”的节目,则接近1的权重值可被分配给“戏剧”属性,接近0的权重值可被分配给“体育”属性。
响应于基于完全属性集为样本集内所有节目计算了距离矢量,群聚处理器(图8)执行群集化算法以生成至少一个包括样本集中被确定为相互相关的节目子集的群集。群集化算法可以是任意类型的层次群集化算法,使用欧几里得或非欧几里得距离作为群集化的基础。例如,使用根据等式1和2计算的距离矢量,通过计算节目之间的距离,可形成一个或多个节目群集。在上述示例中,两个节目P0和P1之间的欧几里得距离依据等式3被计算,其提供了
获得的距离计算可被用来生成距离矩阵,如以下表2所示。距离矩阵以“n”维度提供了每一个节目相互之间距离。因此,所生成群集被认作为“n”维群集。
|
P0 |
P1 |
P2 |
P0 |
d00 |
d01 |
d02 |
P1 |
d10 |
d11 |
d12 |
P2 |
d20 |
d21 |
d22 |
表2
另外,由群聚处理器(图8)所执行的群集化算法的变量包括要被生成的群集的数量。要被生成的群集的数量可被预先设置,使得系统每次自动地生成相同数量的群集。可替代地,要由群集化算法生成的群集的数量可响应于用户生成的指定群集数量的控制信号而被设置。用户对群集数量的指定有利地为用户提供了关于当前可获得节目的列表可如何被分组和导航的很大控制程度。通过指定较大数量的群集,为用户提供了多个群集,每一个群集包含更相互接近的相关节目,而通过指定较少数量的群集,被包含在群集中的节目的类型可能一程度相互不同。更具体地,随着群集数量的减少,群集内节目之间关系的变化增大,反之亦然。在另一实施例中,群集数量可基于由机顶盒102检测到的用户导航偏好而自动被确定。在本实施例中,如果用户打算导航到所获得的群集的更深层的节目,当系统接收到由用户生成的请求显示EPG指南数据的请求信号时,系统可确定需要生成额外数量的群集。
一旦在步骤214中已经生成了这些群集,群聚处理器应用维度纠错算法以使得根据n维度计算的群集能够被准确地显示,以在主显示装置108和副显示装置112中的至少一个上在二维空间中反映相关性。一旦已经应用了纠错,在步骤216中机顶盒将表示所生成的经纠错的群集的数据提供给用户界面显示处理器(图8),以生成使得能在群集内导航以及在多个群集之间导航以及能从特定群集选择代表性节目的显示图像。在一实施例中,多维标度(MDS)算法被用来生成距离矢量的二维图。
在图3中示出了群集化节目数据的二维显示的一般示例。图3示出了根据图2中提出的算法所生成的n维群集的二维投影。因为这里需要对n维群聚应用二维纠错,因此所示的所有二维距离都是实际“n”维距离的近似。在本示例中,在给定时段期间,有31个可获得节目,被表示为P0...P30。每一个节目可被认作为节目节点,并且基于距离矢量数据,群集化算法已经生成了一个群集300,这个群集300具有九个子群集,这九个子群集被包含在圈内,被标记为301-309。因而,子群集301包括节目18和节目19,节目18和节目19已基于算法中所使用的完全属性集被确定为n维相互相关。
在一实施例中,可将表示具有子群集301-309的群集300的数据展现为显示在主或副显示装置上,从而为用户显示在给定时间可获得节目的类型的视觉描述和这些节目可能如何相关。这种显示图像可响应于系统接收到用户生成的请求EPG指南数据的控制信号而被呈现。图3中的显示图像可包括使得各个子群集高亮显示的导航元件320。如此处所示,该导航元件关注在包括节目P0,P1,P2,P3,P4和P5的子群集302上,当子群集302的高亮显示时,子群集302中节目的更具体图示被显示在呈现格子330。
呈现格子330可以是由用户界面显示处理器(图8)所生成的独立显示图像,其提供了说明子群集302中的节目以及允许在群集302中包含的节目间进一步导航的附加信息。节目格子330可与群集300被同时显示在相同显示屏幕上。可替代地,节目格子330可被显示在副显示装置上,而包括所有子群集301-309的群集300的显示图像保留在主显示装置上。这种设置有利地为用户提供了表示群集内节目的数据,同时仍旧保留对在给定时间可获得节目的所有可能分组的显示。
此外,可使得导航元件320响应于由系统所接收的导航信号而在子群集之间移动。当用户不喜欢当前高亮显示的群集中的节目,使用远程控制,导航信号可被生成并被传送已被机顶盒接收,从而导航元件320使不同子群集高亮显示。响应于子群集之间的导航,节目格子330中的数据被自动地改变以呈现最新高亮显示的子群集内的节目。例如,如果使得导航元件320从子群集302移动到子群集304,则节目格子330中的节目数据将用于节目P6,P7,P8,P9和P10。
图4示出了图3中所示群集化EPG数据的示例性显示图像400。表示群集一部分的显示图像400在导航格子中被显示给用户。导航格子是能够显示图像格子的用户界面元件。导航格子包括关注节点部分402和代表性节点部分404。关注节点部分402包括表示用户可选择的图像元件的数据,用户可选择的图像元件标识出在给定时间可获得并被确定为各个子群集的一部分的示例性节目。返回参考图3,如果子群集302是关注节点,则子群集302的节目之一的图标表示被显示给用户。对于关注节点部分402中所示的任意节目节点,使得用户能够观看节目的用户可选择图像元件410以及使得节目被记录的用户可选择图像元件412一起被显示。另外,包括描述节目的数据的信息部分414也可被包括在关注节点部分402中。
代表性节点部分404包括用户可选择图像元件,其包括来自图3的子群集301-309的每一个的代表性节目。可以将任意最接近群集重心的节目节点选择作为代表性节点。以这种方式,用户可获得启动状态中的指南的完全视图。用户可以导航代表性节点部分404并选择特定节目,从而使得关注节点部分402中的数据自动改变为不同子群集中的节目。被显示在关注节点部分402和代表性节点部分404的每一个中的图像可包括对应于节目的封图的图像。如果这些封图图像无法获得,可使用节目标题或频道图标或二者结合。
在一实施例中,被显示在关注节点部分中的节目可以是当前由机顶盒(图1)正调谐的节目。可替代地,关注节点中的数据可以响应于用户的预定偏好被自动地提供。在另一实施例中,关注节点可表示当前被调谐的电视节目,并且代表性节点部分404中的数据项可包括给定群集内具有到关注节点节目最近n维距离的节目。
显示图像400还包括滑动群集导航杆406,其使得用户能够修改显示图像400中所示的数据。例如,如果该导航杆的滑动控件被定位在第一端407,显示图像400将显示包括所有已经生成的子群集的最宽数量数据。如果导航杆406的滑动控件被移向与第一端相对的第二端409,正被显示的数据的类型将被更加关注。例如,通过将导航杆移向端409,系统可确定在关注节点部分402中所示的代表性节目是所希望的,并且代表性节点部分404中的数据将被包含在相同群集内的作为关注节点节目的其他节目所替代。
图4所示示例性节目指南显示图像的导航可以是横向的,由此用户可以选择不同群集内的节目,如参照图5将讨论的,或者可以是垂直的,由此与所选节点更紧密地相关的节目被展现给用户,如参照图6将讨论的。
图5是本系统所实施的示例性算法,其允许用户选择在图4中代表性节点部分404内格子中所示的不同节点。在一实施例中,当选择了节目节点,其将成为新的关注节点,并且在代表性节点部分404中的节目节点将被自动地更新以包括与该群集内与关注节点节目紧密相关的节目对应的标识符。图5提供了一种使能群集内横向导航的算法。在步骤502中,用户所选的节目作为I新关注节点被显示在关注节点部分402(图4)。一旦选择,在步骤504,群聚处理器(图8)从可获得节目的样本集移除关注节点节目。此后,在步骤506,群聚处理器按照上述参照图2讨论的方式对经修改的可获得节目样本集进行重新群聚。在步骤508中,代表性节点部分404(图4)被自动重填写与步骤506中生成的新群集对应的节目节点标识符。
用户还了通过选择任意节目节点并使用导航杆406(图4)的滑块图像元件来垂直地导航节目。当导航杆406的滑块图像元件在最左位置时,代表性节点部分404中的数据项提供了对应于系统所生成的群集的广范围的不同类型节目。当系统接收到使得滑块位置元件移向右边的命令时,代表性节点部分404中的数据项被自动地由与关注节点节目更紧密相关的节目节点所替代。导航杆406的滑块图像元件使得用户“缩小”和“放大”以获得在给定时间可获得的节目的较广或较窄范围的可获得节目。图6提供了使得本系统能够修改正以垂直方式显示给用户的节目类型的示例性算法。
在步骤602中,通过从可获得节目的样本集滤除(移除)远离所选关注节点节目预定距离处的节目,可获得节目的样本集的大小被自动减少。在步骤604中,群聚处理器(图8)自动地对经滤除的可获得节目的样本集进行重新群聚。在步骤606中,代表性节点部分404(图4)中的数据项自动地被重填写来自新群集的代表性节目。随后在步骤608中,向用户展现通过使得导航杆406的滑块位置元件进一步移向右边以进一步缩小判决。如果系统接收到指示希望进一步缩放(收窄)代表性节点部分404中节目的相关度的信号,侧处理重复步骤602-606。如果用户不希望进一步缩小,在步骤610中,进一步判决被呈现,由此用户可放大回来并获得较宽范围节目。如果系统没有接收大盘指示用户希望放大的信号,则在步骤611中用户选择节目。此处所使用的节目选择可包括但不限于:(a)改变关注节点节目;(b)使得节目被调谐以供在主或副显示装置中的至少一个上观看;和(c)安排节目记录的时间。如果在步骤610中的决定指示希望放大,则系统自动将先前在步骤612中滤除的节目增加回来。一旦增加回来,算法返回到步骤604以可获得节目的样本集进行重新群聚。
在另一实施例中,系统可生成使得用户能够选择性控制节目指南将如何被群集化及其显示的用户界面。在图7中示出使得能够在提供用来控制正显示的群集的输入的同时显示群集数据的示例性用户界面。一旦使用完全属性集从可获得节目样本集生成了群集集,如上述参照图2所讨论的一样,系统使用将“n维”距离矢量映射到2/3维的多维标度(MDS)算法自动生成n维群集的二维投影702。群集投影702包括在给定时段表示整个可获得节目集的多个不同群集704a-704e。每一个群集704a-704e包括由图标表示的至少一个节目节点706,从而使得观众能够视觉感受各个可获得节目的相关度。导航镜708被提供并使能在群集704a-704e之间的导航。例如,如图7所示,导航镜708被放置在一节目节点集上,其中一些节目节点位于群集704c中,而其他节目节点位于群集704b中。表示在导航镜708中可视的节目节点的图像标识符被自动显示在节目显示格子712中。当用户横向导航时,导航镜708的位置在群集面上改变。用户也可以选择性地将镜708移动到群集投影702中的任意位置以在导航格子712观看群集中的该部分。导航镜708的大小可通过使用滑杆710被选择性地增大或减小。如果增大,则导航镜708提供了该导航镜708位于其上的较宽群集部分的视图,从而实现放大。类似地,镜708的大小可以被减少,以获得对应于缩小的群集部分的更近的视图。
另外,群集投影图像702中的数据项可以根据其涉及的数据类型以不同方式被展现。例如,群集投影中的某些属性可以通过使用颜色和/或图标以给出用户更好的感知而被高亮显示。例如,如果属性“流派”是权重最重的属性,则这些属性被上色,并且节目类型(电影,连续剧等)可被表示为标识节目类型的特定类型的图标。
本系统通过修改用来生成群集704a-704e的属性集有利地允许用户自动修改群集投影图像702。示出可获得属性列表的属性部分714被设置为与群集投影702和节目格子712同时显示,从而使得用户能够观看和选择性地修改用于生成群集的属性的类型。属性部分714包括选择部分716,该选择部分716允许用户使得某属性成为距离计算算法的一部分或从距离计算算法中移出该属性。另外,对于每一个属性,提供了滑杆,滑杆使得用户能够选择性地确定对应于在以上讨论的距离计算中属性将接收的权重的值。距离矢量中的某些属性可被施加以较高属性或较低属性,以创建投影中群集的更好间距。属性的权重也可以由用户实时选择,这有利地使得用户能够实时改变群集的间距。图7所示的示例用户界面允许用户改变不同属性的权重并一起观看对节目群集的影响。
在一实施例中,属性部分714可显示在副显示装置上,使得用户能够使用副装置修改用于生成群集的属性。在另一实施例中,图7所示的整个显示图像可被提供在副显示装置上,从而允许用户在仍旧观看当前调谐的节目的同时导航可获得节目。在又一实施例中,当指南显示图像显示在主显示装置上时,系统可自动地使得当前调谐的节目在副显示装置上被观看。
图8是实现在实施参照图1-7所述系统的机顶盒(图1)中的示例性控制器800的方框图。控制器800可是实现在如图1所示的机顶盒102内的硬件组件。控制器800包括调谐器810,调谐器810选择性地接收和调谐输入信号812。输入信号可以是以特定信号格式格式化的电视广播信号,如由运动图像专家组(MPEG)提出的格式或用于编码和传输音视频数据以及与音视频数据相关的辅助数据的任意其他信号格式。调谐器810解码伴随调谐的输入信号812的任意辅助数据并将已解码数据存储在存储器820中。辅助数据可能包括电子节目指南(EPG)数据或任意其他已编码并于输入信号812一起传输的数据。主显示装置805耦合到调谐器810用于显示被调谐的输入信号和包括被包括在输入信号中的EPG数据的辅助数据的至少一个。
存储器820包括数据结构,如数据库,其包括用于说明节目内容的属性集。属性集可由内容供应商(有线/卫星供应商)预先定义并对应于与输入信号一起被传送的说明能够由调谐器810调谐的各个节目的内容特性。存储器820中的数据结构使得在辅助数据中被列出的每一个特定节目能够与从辅助数据得出的与其相关的多个属性相关。在可替代的实施例中,用于EPG功能的数据库功能可位于控制器800之外。外部数据库(未图示)将通过合适接口与控制器800接口,所述合适接口如分别用于外部驱动器和基于云的数据库的磁盘驱动器接口或网络接口。
控制器800还包括同时耦合调谐器810和存储器820的属性处理器815。属性处理器815自动解析辅助数据以识别在附属数据中列出的能够被调谐的的特定节目集。特定节目标识符被分配给各个特定节目并被提供给存储器820中的数据结构,从而使能对各个特定节目的各个相关数据集的收集。属性处理器815还自动解析接收到的辅助数据以识别描述节目并对应于属性集中至少一个属性的信息。存储器820中的数据结构被自动地填入表示从辅助数据得出的属性信息的数据值。属性处理器815使用特定节目标识符以将属性数据链接到节目。由属性处理器815实施的解析和填写可以在辅助数据将实际被显示的时间帧之前发生。例如,如果辅助数据是特定某天的电子节目指南数据,则存储器820中数据结构的解析和填写可发生在先于该特定某天的预定时间。可替代地,解析和填写可响应于接收到来自用户的选择信号而发生。
在另一实施例中,系统可自动考虑到用户偏好并通过用户行为数据用作输入以搜索相关内容。系统可自动跟踪包括用户导航的用户行为以及可被存储在存储器820中的内容选择数据。系统还可访问用户偏好和导航数据,以识别为用户显示在副显示装置上的其他潜在类型的相关内容信息和内容源。通过考虑用户偏好和行为,属性处理器可自动更新存储在存储器820中的数据结构内的属性集,从而使得附加属性数据能够被收集并被用于搜索相关内容信息。例如,用户指定属性可使得系统对将搜索的相关内容信息的源的顺序确定优先级。
属性处理器815可耦合到互联网接口830以启动属性搜索算法,从而使得能够获取将被包括在存储器820的数据结构中的附加类型的属性以及与对应于存储器820中存储的属性类型的各个特定节目相关的数据。属性处理器815查询存储器820中的数据结构以获取可用来搜索附加源以获得相关内容信息以及存储相关内容的源的属性数据。属性数据可用作搜索算法中的搜索项以定位与被分配了唯一节目标识符的各个节目有关的信息。属性处理器815在本地网络和广域网络中的至少一个上启动搜索以获得有关节目的信息。由属性处理器815所执行的属性信息搜索算法结合了耦合于该属性处理器815的互联网接口830,以启动对外部数据源835的搜索。如此处所使用的,外部数据源835是用来表示用于各种目的的任意数据源的一般术语。例如,外部数据源835可以是内容信息源(即WikipediaTM或IMDB.comTM)或内容供应商(如NetflixTM,或Fancast.comTM等)。表示搜索结果的数据由属性处理器815检索并可被存储在存储器820中。搜索结果数据可与属性数据不同地被存储在独立数据结构中,但可通过唯一节目标识符被链接,从而使得在需要时能够快速轻松地检索出相关数据。
群聚处理器825耦合到属性处理器815、存储器820和调谐器810,并自动执行群集化算法以生成包括在给定时间可访问的所有特定节目的至少一个簇,以示出这些节目相互多么接近。群聚处理器825自动查询存储器820中的数据结构以识别在给定时段期间可获得的所有特定节目并将这些节目识别为可获得节目的样本集。群聚处理器820还查询存储器820中的数据结构以识别用于计算定义了每一个特定节目与另外特定节目相关接近程度的距离矢量的属性集。所识别的属性集被称为完全属性集,其中每一个属性是相对度的一个维度。群聚处理器825自动使用与完全属性集中的每个属性相关的值为各节目计算距离矢量。计算的距离矢量被用作群集化算法的输入以生成标识可获得节目的样本集中所有节目的n维相关度的至少一个群集,其中n是被包含在完全属性集中的属性数量。由群聚处理器825所执行的示例性算法如上参照图2被讨论。
表示由群聚处理器825所计算的至少一个群集的数据被提供给用户界面(UI)显示处理器840。UI显示处理器840根据预定格式(例如如图4和/或7任一所示)自动格式化用作电子节目指南的至少一个群集数据,并使得群集化电子节目指南数据被显示在主显示装置805和不同于主显示装置805并与其分开的副显示装置845的至少一个上。UI显示处理器840响应于由用户所生成的请求显示群集化电子节目指南数据的控制信号。
在一实施例中,UI显示处理器840可将格式化的用户界面提供给互联网接口830,互联网接口830用作网络服务器并允许执行在副显示装置845上运行的浏览器指向允许用户访问的主用户界面。一旦展现在副显示装置845上,用户可浏览和导航群集化电子节目指南中的数据项以观看和/或选择他们感兴趣的节目。
在一实施例中,控制器800可自动考虑用户订阅服务信息以确定可获得节目样本集中各个节目是否能够被用户观看。例如,如果各个节目被确定为位于付费频道上且用户的订阅不允许到所述特定频道的访问,则系统可自动将告诉用户本内容可获得并相关于某些其他节目但因为内容权限限制而对特定用户不可获得的消息添加于各个节目标识符(如图标)。另外,该消息也可包括使得用户能够修改服务订阅的信息和/或链接,使得各个节目/内容能够被用户观看。在另一实施例中,如果内容不在用户订阅等级内,控制器825可结合互联网接口830以搜索包括内容供应商的外部数据源835以确定节目是否可从用户尚未访问的其他源处获得。例如,如果节目位于不可获得的付费频道上,系统可搜索HULU
或FANCAST
来找节目,并在副显示装置845上以网页浏览应用中可观看的链接形式将所述源提供给用户。
在另一实施例中,提供给UI显示处理器840的至少一个群集数据也可包括表示用作群集化算法一部分的输入的完全属性集中每一个属性的数据。属性数据可被格式化以与至少一个群集数据一起显示在主显示装置805上。可替代地,属性数据可被格式化以在副显示装置545上显示给用户。在又一实施例中,UI显示处理器840可格式化属性数据以使能响应于用户动作对其选择性修改。例如,属性数据可被格式化以包括用户可选择图像元件,这使得用户能够从完全属性集选择性地移除至少一个属性或选择性地修改与群集化计算中使用的至少一个属性相关的值(如使得一个属性比其他属于有更重的权重)。响应于接收到来自用户的修改完全属性集中的至少一个属性的修改信号,群聚处理器825自动地执行群集化算法以基于经修改的完全属性集进行重新群聚并确定可获得节目的样本集的相关度,以及将修改后的重群集化的数据提供给UI显示处理器840供其显示。
控制器800还包括导航处理器827,导航处理器827可耦合到群聚处理器825和UI显示处理器840。导航处理器827能够选择性地导航用户经由UI显示处理器840生成的信号,例如使用远程控制(未图示)。导航信号包括使能在群聚处理器825生成的多个群集之间导航并通过UI显示处理器840被显示在主显示装置805和副显示装置845中的至少一个上的导航信息。另外,导航信息可使得用户能够导航被包含在由群聚处理器825所生成的各个群集内的可获得节目样本集子集。示例性导航信息可依据图5和图6中提供的算法来生成。响应于接收到来自用户的导航信息,可获得节目的样本集可被群聚处理器825修改和重新群聚以提供对特定群集内相关节目的更具体视图。另外,响应于接收到选择不同群集以供观看的导航信号,基于n维距离计算更紧密相关的代表性节目集可被提供给UI显示处理器840以供显示在主显示装置805和副显示装置845中的至少一个上。
在另一实施例中,系统可被实现在负责服务一组用户的服务器中。在本实施例中,服务器执行上述的属性搜索和群集化算法并将群集化节目数据通过通信网络提供给用户,以减少执行对所有可能内容信息和内容供应商源进行完全搜索以及相关群聚所需的带宽和处理功率。响应于显示内容指南信息的请求,机顶盒可自动执行启动在服务器的数据库中的搜索以获得群集化节目指南信息的应用软件,从而减少向用户提供群集化内容指南信息所需的处理功率、带宽以及时间的量。
此处所述的实施方式可被实施为,例如,方法或过程,设备,或硬件和软件的组合。即时仅仅以单个形式实施方式的背景讨论(例如,仅仅作为方法讨论),所讨论的特征的实施方式也可被以其他形式实施(例如,硬件设备,硬件和软件设备或计算机可读介质)。设备可被实施为,例如,合适硬件,软件和固件。这些方法可被实施为,例如,设备,如,例如涉及任意处理装置的处理器,例如包括计算机、微处理器、集成电路或可编程逻辑装置。处理装置还包括通信装置,如,例如计算机、手机、便携式/个人数字助理(“PDA”)和便于终端用户之间信息通信的其他装置。
另外,这些方法可被由处理器正执行的指令所实施,这样的指令可被存储在处理器或计算机可读介质上,如,例如集成电路,软件载体或其他存储装置,如,例如硬盘、紧凑磁盘、随机访问存储器(“RAM”)、只读存储器(“ROM”)或任意其他磁性、光学或固态介质。这些指令可形成应用程序,应用程序可实在地被实现在计算机可读介质上,如上述列举的任意介质。应当清楚的是,处理器可包括具有例如用来执行处理的指令的计算机可读介质作为处理器单元的一部分。这些指令,对应于本发明的方法,当被执行时,能够将通用计算机转变成执行本发明方法的专用机器。
上述已经说明的内容包括了这些实施例的示例。其当然不可能说明用于说明这些实施例目的的组件或方法的每一个可想到的组合,但是本领域一个普通技术人员能够认识到,这些实施例的许多进一步组合和变换是可能的。相应地,本主旨旨在涵盖落在所附权利要求精神和范围内的所有改变、修改和变化。