具体实施方式
下述说明提供了指向诸如交互式TV网络,有线网络之类利用电子节目指南的电视娱乐系统,和支持Web的TV网络的具体例子。这种系统中的客户机从具有大量存储和处理资源的资源完备的客户机,例如具有TV功能的个人计算机和配有硬盘的TV记录器,延伸到具有有限存储和/或处理资源的少资源客户机,例如传统的机顶盒。虽然描述的系统和方法的各个方面可用在任意这些系统中,以及用于任意类型的客户机,不过在下面的例证环境中描述系统和方法的各个方面。
虽然这里在基于电视的娱乐系统中描述讨论的几个例子,不过这里描述的方法和系统可应用于其中向观众显示信息的任意系统或环境中。信息可显示在电视机、计算机监视器或者其它显示设备上。信息被渐进显示,以致在优先级低的数据之前先显示优先级高的信息。请求更新被显示信息的观众输入导致系统暂停信息的当前显示,并开始产生更新后的信息。
图1图解说明了其中可实现这里描述的方法和系统的例证环境100。例证环境100是便于向多个观众分发内容和节目数据的电视娱乐系统。环境100包括一个或多个内容提供器102,内容分发系统104和通过广播网络108与内容分发系统104耦接的多个客户机106(1)、106(2),…,106(N)。
内容提供器102包括电子节目指南(EPG)数据库110和EPG服务器112。EPG数据库110保存用于产生电子节目指南(或者说“节目指南”)的节目数据114的电子文件。节目数据包括节目标题,分级,角色,描述,演员姓名,电视台标识符,频道标识符,时间表信息等等。在本说明中互换使用术语“节目数据”和“EPG数据”。为了便于说明,电子文件保存节目数据114,节目数据114包括节目标题116,识别该节目将在一周中的哪几天播映的节目日118,和识别该节目将在该周的特定一天或几天播映的时间的开始时间120。
EGP服务器112在分发EGP数据之前,处理EPG数据以便产生出版形式的节目数据,所述节目数据包括所有频道一天或数天的节目信息。所述处理涉及减少、修改或增加EGP数据的任意多种技术。这种处理可包括内容的选择,内容压缩,格式修改等等。通过利用例如TCP/IP网络(例如因特网,UNIX等)上的文件传送协议(FTP),EGP服务器112控制从内容提供器102向内容分发系统104的出版形式的节目数据的分发。
内容提供器102还包括内容服务器122和存储的内容124,例如电影,电视节目,广告,音乐及类似的音频和/或视频内容。内容服务器122控制从内容提供器102向内容分发系统104的存储内容124和EGP数据的分发。另外,内容服务器102控制相对于内容分发系统104的实况内容(例如先前没有存储的内容,例如实况播送内容)和/或保存在其它地点的内容的分发。
内容分发系统104包括广播发射器126和一个或多个内容及节目数据处理器128。广播发射器126通过广播网络108广播信号,例如有线电视信号。广播网络108可包括有线电视网,RF,微波,卫星和/或数据网络,例如因特网,并且还可包括利用任意广播格式或广播协议的有线或无线媒体。另外,广播网络108可以是使用任意类型的网络布局和任意网络通信协议的任意类型的网络,并且可表示成或者实现成两个或更多网络的组合。
内容和节目数据处理器128在通过广播网络108传送内容和节目数据之前,处理从内容提供器102接收的内容和节目数据。特定的内容处理器可把接收的内容编码成,或者说处理成与广播网络108耦接的多个客户机106(1),106(2),…,106(N)理解的格式。虽然图1表示了单个内容提供器102和单个内容分发系统104,不过环境100可包括与任意数目的内容分发系统耦接的任意数目的内容提供器。
内容分发系统104代表向多个用户提供EPG数据以及内容的头端服务(headend service)。每个内容分发系统104可接收形式稍微不同的节目数据,所述不同节目数据考虑了不同的节目偏爱和阵容(lineup)。EPG服务器112产生不同形式的EPG数据(例如不同形式的节目指南),所述不同形式的EPG数据包括与相应的头端服务相关的那些频道。内容分发系统104把EPG数据传送给多个客户机106(1),106(2),…,106(N)。例如在一种实现中,分发系统104利用旋转式文件传送系统通过带外(OOB)频道反复向客户机106广播EGP数据。
可以多种方式实现客户机106。例如,客户机106(1)通过卫星天线130从基于卫星的发射器接收广播内容。客户机106(1)也被称为机顶盒或卫星接收设备。客户机106(1)与用于呈现客户机接收的内容(例如音频数据和视频数据),以及图形用户界面的电视机132(1)耦接。特定的客户机106可与任意数目的电视机132和/或类似设备耦接,所述电视机132和/或类似设备被实现成显示或者再现内容。类似地,任意数目的客户机106可和一台电视机132耦接。
客户机106(2)被耦接,以便接收来自于广播网络108的广播内容,并且把接收的内容提供给相关的电视机132(2)。客户机106(N)是电视机134和集成机顶盒136的组合的例子。本例中,机顶盒的各个组件及功能性被包含在电视机中,而不是使用两个独立的设备。包含在电视机中的机顶盒可通过卫星天线(类似于卫星天线130)和/或通过广播网络108,接收广播信号。在备选实现中,客户机106可通过因特网或者其它广播媒体接收广播信号。
每个客户机106运行利用节目数据的电子节目指南(EPG)应用程序。EPG应用程序使TV观众能够浏览屏幕节目指南,并且查找观众感兴趣的电视节目的位置。借助EGP应用程序,TV观众可查看当前和未来节目的时间表,为即将来临的节目设置提醒信号,和/或输入记录一个或多个电视节目的指令。
图2图解说明了客户机106的例证实现,客户机106被表示成与电视机132相连的独立设备。可用任意数目的实施方式实现客户机106,包括机顶盒,卫星接收器,带有硬盘的TV记录器,游戏操纵台,信息设备等等。客户机106包括用于从遥控器204接收无线通信的无线接收端口202,例如红外(IR)或者蓝牙无线端口,手持式输入装置206,或者任意其它无线装置,例如无线键盘。手持式输入装置206可以是个人数字助手(PDA),手持式计算机,无线电话等等。另外,有线键盘208被耦接,以便与客户机106通信。在备选实施例中,遥控器204,手持式装置206和/或键盘208可使用RF通信链路或者其它方式的传输与客户机106通信。
客户机106从一个或多个广播源,例如从卫星或者从广播网络接收一个或多个广播信号210。客户机106包括用于接收和译解广播信号210,例如NTSC,PAL,SECAM或者其它TV系统视频信号的硬件和/或软件。客户机106还包括向观众提供图形用户界面的硬件和/或软件,借助所述图形用户界面,观众能够获取各种网络服务,配置客户机106,以及执行其它功能。
客户机106能够通过一个或多个连接,包括常规的电话链路212,ISDN链路214,有线(cable)链路216和以太网链路218与其它设备通信。客户机106可在特定瞬间,使用多种通信链路212-218中的任意一种或多种与任意数目的其它设备通信。
客户机106产生视频信号220和音频信号222,视频信号220和音频信号222都被传递给电视机132。视频信号和音频信号可通过RF(射频)链路,S-视频链路,复合视频链路,分视频链路或者其它通信链路,从客户机106传递给电视机132。虽然图2中未示出,不过客户机106可包括识别客户机的当前状态的一个或多个发光体或其它指示器。另外,客户机可包括一个或多个控制键,开关,或者用于控制客户机的操作的其它可选择控制器。
图3图解说明图1和2中所示的客户机106的选择组件。客户机106包括第一调谐器300和可选的第二调谐器302。调谐器300和302代表调谐各个频率或频道,以便接收电视信号的一个或多个带内调谐器,以及调谐通过其向客户机106广播EPG数据的广播频道的一个带外调谐器。
客户机106还包括一个或多个处理器304和一个或多个存储组件。可能的存储组件的例子包括随机存取存储器(RAM)306,磁盘驱动器308,大容量存储组件310,和非易失性存储器312(例如ROM,快速存储器,EPROM,EEPROM等)。客户机106的备选实现可包括多种处理和存储能力,并且可包括种类比图3中图解所示的更多或更少的存储组件。例如,可利用大量的存储和处理资源,包括存储供观众重放的内容的磁盘驱动器,实现资源完备的客户机。但是,资源较少的客户机可具有有限的处理和存储能力,例如数量有限的RAM306,无磁盘驱动器308和有限的处理能力。
处理器304处理各种指令,以便控制客户机106的操作,并与其它电子和计算装置通信。存储组件(例如RAM 306,磁盘驱动器308,存储介质310和非易失性存储器312)保存诸如内容,EPG数据,客户机106的配置信息,和/或图形用户界面信息之类的各种信息和/或数据。
操作系统314和一个或多个应用程序316可保存在非易失性存储器312中,并在处理器304上执行,以便提供运行时间环境。运行时间环境通过允许定义各种接口,而这又允许应用程序316与客户机106交互作用,促进了客户机106的可扩展性。在图解说明的例子中,EPG应用程序318保存在存储器312中,以便处理EGP数据和产生节目指南。可在客户机106上实现的应用程序316可包括浏览Web的浏览器,简化电子邮件的电子邮件程序等等。客户机106还可包括附属于电视娱乐系统的其它组件,本例中为了简便起见,没有图解说明这些其它组件。例如,客户机106可包括简化用户与客户机的交互作用的用户界面应用程序和用户界面发光体,按键,控制器等等。
客户机106还包括译解广播视频信号,例如NTSC,PAL,SECAM或者其它TV系统视频信号的解码器。客户机106还包括无线接口322,网络接口324,串行和/或并行接口326,和调制解调器328。无线接口322允许客户机106从用户操纵的输入装置,例如从遥控器或者从另一IR、蓝牙或类似的RF输入装置接收输入命令和其它信息。
网络接口324和串行和/或并行接口326允许客户机106通过各种通信链路与其它电子和计算设备相互作用和通信。虽然未示出,不过客户机106还可包括用于与其它设备通信的其它类型的数据通信接口。调制解调器328便于客户机106通过常规的电话线与其它电子和计算设备通信。
客户机106还包括向电视机或处理和/或呈现或再现音频和视频数据的其它设备提供信号的音频输出330和视频输出332。虽然被单独表示,不过可在专用集成电路(ASIC)中实现客户机106的一些组件。另外,系统总线(未示出)一般连接客户机106内的各个组件。系统总线可被实现成几种总线结构中的任意一种或几种,包括存储器总线或存储器控制器,外围总线,加速图形端口,或者使用各种总线结构中的任意总线结构的局部总线。例如,这种结构可包括工业标准结构(ISA)总线,微通道结构(MCA)总线,增强ISA(EISA)总线,视频电子标准协会(VESA)局部总线和也称为Mezzanine总线的外围组件互连(PCI)总线。
这里一般涉及一个或多个客户机,例如客户机106。这里使用的术语“客户机”意味着具有数据通信,数据存储能力,和/或处理从许多不同来源中的任意来源接收的信号,例如广播信号的功能的任意电子设备。
虽然下面描述的例子涉及电视节目指南,不过这里描述的方法和系统可应用于其中向观众显示信息的任意系统或环境。本说明中后面讨论的备选实施例指出这里描述的方法和系统的其它例证应用。
图4图解说明表示星期二的频道节目名单的一部分的例证节目指南400。通过使用节目数据114,借助客户机106中的电子节目指南(EPG)应用程序318产生节目指南400,并在电视机132(图1-2)上显示。节目指南400向观众提供节目标题,节目描述,相关本地频道编号和/或将广播该节目的网络,以及该日内将广播该节目的时间。例如,电视节目“Reading Rainbow”的一集预定于10:00a.m.在本地9频道(KQED)上播出。
节目指南400包括报头402和节目说明区404。报头402显示本地有线公司(或者内容发行者)的名称和当前时间。节目指南区404显示和当前选择的节目(本例中为Reading Rainbow)相关的信息。节目描述区404还显示当前播放节目的剩余时间(例如“剩余16分钟”)或者直到该节目开始为止的时间(例如“25分钟后开始”)。节目指南400还包括“时间行”406,它识别当前日子和当前正被显示的一个或多个时段。在节目指南例子中,显示时段10:00a.m.-11:30a.m.。本例中,节目指南400的时间行406包括三个“时间栏”:第一时间栏从10:00a.m.-10:30a.m.,第二时间栏从10:30a.m.-11:00a.m.,第三时间栏从11:00a.m.-11:30a.m.。在备选实施例中,时间行406可代表任意时间宽度,并且可包括任意数目的时间栏。特定的节目可横越任意数目的时间栏。
如图4中所示,单个节目,Reading Rainbow被突出表示为当前选择的节目。本例中,当前选择的节目由较粗的边框识别。另一方面,通过改变与特定节目相关的文本和/或背景的颜色,或者借助对屏面的把一个节目和其它节目区分开的任意其它修改,也可识别当前选择的节目。当前选择的节目默认位于节目表格的左上角(如图4中所示),或者可位于节目表格中的其它任意地方。本实施例中,节目表格是水平方向上由当前选择的时间栏确定,垂直方向上由当前显示的频道确定的节目名单的二维表格。当观众输入命令从而向上、向下、向左或向右滚动时,节目表格中显示的节目发生变化。
观众可通过操纵遥控器204,向客户机106输入控制命令,改变节目指南400内当前选择的节目。如图所示,当前选择的节目,ReadingRainbow预定从10:00a.m.-11:30a.m.由KQED(本地频道9)播放。通过使用遥控器204,观众可输入滚动到不同时间项和/或不同频道的请求。例如,图5表示代表当观众输入向右滚动一个时间栏(即在时间上向前滚动30分钟)的控制命令时,发生的变化的更新节目指南500。更新节目指南500现在突出显示节目“Between the Line”,并且显示具有从10:30a.m.-12:00p.m.的时间行。
重新参见图4,程序指南400还包括在栏408中排列的7个频道的列表。从上到下按照数字的升序排列7个频道的列表。在备选实施例中,可按照任意顺序,例如按照数字的降序或者把“喜爱的频道”置于列表顶部的安排,排列频道的列表。观众可通过输入控制命令,在可用频道列表内向上或向下滚动,改变与当前选择节目相联系的频道。向上的箭头410指示通过向上滚动,还可获得该频道列表中较前的其它频道。向下的箭头412指示通过向下滚动,还可获得该频道列表中较后的其它频道。向左的箭头414指示特定节目开始于节目表格中当前未显示的较早时段。例如节目“Power Lunch”可能开始于9:00a.m.。类似地,向右的箭头416指示特定节目结束于节目表格中当前未显示的较后时段。例如,节目“Street Smarts”可一直继续到12:00p.m.为止。
节目指南400代表节目指南的一个实施例。本发明的教导可应用于利用其它类型的包括更多或更少信息的节目指南,和按照不同的方式排列信息的节目指南的环境。
重新参见图5,节目指南500图解说明了观众控制输入,从而向前滚动30分钟的结果。如图5中所示,节目描述已被更新,以便对应于当前选择的节目,Between the Lines。节目表格已被更新,以便包括在选择的新时段(10:30a.m.-12:00p.m.)内预定的节目。
根据特定节目指南中的数据的数量和产生并再现节目指南的处理器的计算能力,在电视机或者其它显示设备上完全再现节目指南500会花费相当数量的时间(例如1秒或者更长)。不是在检查另外的观众控制输入之前,再现整个节目指南500,而是客户机106在节目指南的再现过程中定期检查观众控制输入。节目指南500被分成多个节目指南区。当再现节目指南500时,在各个节目指南区的再现之间,客户机106检查观众控制输入。节目指南区被组合成高优先级或者低优先级的组。高优先级组中的节目指南区可包括,例如当前选择,时间行,和关于当前选择的标题。
当再现高优先级组时,客户机106检查观众控制输入。对于高优先级组来说,如果未收到任何观众控制输入,则客户机106通过在节目指南中再现低优先级组继续操作。但是,如果在再现高优先级的节目指南区时接收到输入,则该输入被排队等候或者被忽略,直到完成高优先级组的再现为止。这确保首先更新和用户正在完成的任务最相关的信息。
如果当再现低优先级组中的节目指南区时,收到观众控制输入,则客户机106终止相对于显示屏的更多低优先级更新,重新开始反映源于观众输入的变化的高优先级更新。图6-9图解说明了图5中所示的节目指南500的各种节目指南区的顺序显示。根据包含在节目指南区中的信息对观众的重要程度,选择显示节目指南的各个区域的顺序。在对观众来说兴趣可能较低的那些节目指南区之前,显示包含观众最感兴趣的信息的节目指南区。
图6图解说明在再现高优先级组的节目指南区之后的节目指南500。如图6中所示,本例中,高优先级组包括当前选择的节目(Betweenthe Lines),与当前选择的节目相关的频道,和一部分时间行。另外,图6表示了有线公司或者其它内容提供者的名称,所述名称可不考虑观众对节目指南内容的改变而保持不变。类似地,上下箭头保持不变。另一方面,在呈递节目指南的剩余部分之后,再现所述上下箭头。
图7图解说明在再现低优先级组的节目指南区之后的节目指南500。图7中所示的节目指南500包括图6中所示的信息(即第一高优先级组)以及来自低优先级组的其它信息。图8和9图解说明低优先级组的节目指南区的其它部分的显示。完整的低优先级组包括整个时间行,节目描述和需要在当前表格中显示的其它节目。
高优先级组和低优先级组是可以定制的,并且根据观众正在输入的浏览可以不同。例如,当在描述的例子中水平浏览时,时间行特别重要。因此,时间行是关于左右浏览的高优先级组的一部分。当垂直浏览时,频道栏特别重要,但是和时间行相关不大。因此,频道栏是高优先级组的一部分,而时间行是低优先级组的一部分。
这里描述的各个区域是作为例子提供的。备选实施例可包括任意数目的高优先级区和低优先级区。另外,特定区域中包含的信息可因
实施例而异。
图10A和10B图解说明当观众在时间上向前滚动或者向后滚动(即左右滚动节目指南)时,显示节目指南信息的程序1000的流程图。客户机接收在时间上向前或向后滚动节目指南的观众输入(方框1002)。如前所述,节目指南的某些部分可保持不变(例如有线公司名称和滚动箭头),不被节目指南的各个区域更新。随后根据观众输入更新要显示的节目指南信息(方框1004)。例如,如果观众输入请求向右滚动节目指南,则在节目指南中显示的信息可在时间上向前移动30分钟。
程序1000随后更新节目指南的高优先级组中的区域,该节目指南对应于当前选择的节目和相关频道(方框1006)。图6中图解说明了和该节目指南对应的信息的显示例子。在方框1008,程序确定是否已收到观众输入(例如在时间上向前滚动)。该观众输入和先前在方框1002中接收的观众输入不同。如果在方框1008收到观众输入,则程序返回方框1004,重新利用基于新的观众输入的信息更新高优先级区。如果在方框1008没有收到观众输入,则程序继续显示低优先级项目:节目描述以及和当前选择节目相同频道相联系的其它节目(方框1010)。
在方框1012,程序确定是否已收到观众输入。如果是,则程序返回方框1004。如果没有收到任何观众输入,则程序继续显示低优先级项目,例如时间行(方框1014)。在方框1018,程序确定是否已收到观众输入。如果收到了观众输入,则程序返回方框1004。如果没有收到任何观众输入,则程序继续显示其它低优先级项目:例如节目表格中的剩余条目和频道列表中的其它频道(方框1020)。
在方框1022,程序确定是否已收到观众输入。如果是,则程序返回方框1004。如果没有收到任何观众输入,则程序显示最低优先级项目,即当前时间(方框1024)。图5中图解说明了和该节目指南对应的信息的完整显示例子。
节目指南区信息和显示各个节目指南区的顺序以当观众滚动节目指南时希望看到的预期信息为基础。例如,如果观众反复按压遥控器上的右方向键(向前滚动时间),则观众可能对当前选择的节目以及当前选择的频道上的其它节目(不过时间稍晚)感兴趣。从而,系统首先显示该节目信息。如果在查看当前节目和/或同一频道上的其它节目之后,观众想要继续滚动,则不呈现节目指南的剩余部分。相反,该节目指南被更新,并且重新开始渐进显示节目指南的各个区域的过程。从而,在提供控制输入之后,观众不必等待整个节目指南被呈现。这可提高了观众滚动节目指南以及选择所需节目条目的速度。
图11A和11B图解说明当观众正在向前或向后滚动频道列表(即向上或向下滚动节目指南)时,显示节目指南信息的程序1100的流程图。该程序类似于上面参考图10A和10B说明的程序1000。当观众向上或向下滚动节目指南时使用该程序。该程序预期观众可能关心当前选择的节目以及同一时间不同频道上的其它节目。
客户机接收向上或向下滚动节目指南的观众输入(方框1102)。如上所述,节目指南的某些部分可以保持不变(例如有线公司名称和滚动箭头),不象节目指南的其它部分那样被更新。根据观众输入更新要显示的节目指南信息(方框1104)。例如,节目指南中显示的信息可被向上或向下移动频道列表中的一个频道。
程序1100随后显示高优先级信息,例如当前选择的节目和相关时间(方框1106)。在方框1108,程序确定是否收到了观众输入(例如向上或向下滚动)。该观众输入不同于前面在方框1102中收到的观众输入。如果在方框1108收到观众输入,则程序返回方框1104,根据新的观众输入更新节目指南。如果在方框1108没有收到观众输入,则程序继续显示低优先级信息,例如时间栏以及在和当前选择节目相同时间预先安排的其它节目(方框1110)。
在方框1112,程序确定是否已收到观众输入。如果是,则程序返回方框1104。如果没有收到任何观众输入,则程序继续显示低优先级信息,例如当前选择节目的节目描述(方框1114)。在方框1118,程序确定是否已收到观众输入。如果收到了观众输入,则程序返回方框1104。如果没有收到任何观众输入,则程序继续显示低优先级信息,例如节目表格中的剩余条目和时间行中的其它时间条目(方框1120)。在方框1122,程序确定是否收到了观众输入。如果是,则程序返回方框1104。如果没有收到任何观众输入,则程序显示最后的低优先级信息,例如当前时间(方框1124)。
图12是渐进显示信息的程序1200的流程图。在图12的例子中,渐进地向观众显示四组不同的信息。每组信息可代表一类似信息(例如摘要,图象或数据表),显示屏的一个区域或者其它任意显示数据。最初,接收改变显示信息的观众输入(方框1202)。例如,观众可滚动显示屏,以致应显示不同的信息。另一方面,观众可选择不同类型的信息(例如从显示视频图像改变到显示接收的电子邮件消息列表)。
在接收改变显示信息的观众输入之后,程序1200显示第一组信息(方框1204)。在观众请求显示,例如接收的电子邮件消息列表的情况下,第一组信息可包括一个或多个电子邮件消息的“主题”部分。程序随后确定是否收到改变或更新显示信息的观众输入。如果是,则程序返回方框1204,重新显示更新后的第一组信息。否则,程序进行到方框1208,显示第二组信息。在电子邮件例子中,第二组信息可包括一个或多个电子邮件的“寄件人”部分。
程序1200随后确定是否已收到改变或更新显示信息的观众输入。如果收到了观众输入,则程序返回方框1204。如果没有收到任何观众输入,则程序继续显示第三组信息(方框1212)。在电子邮件例子中,第三组信息可包括至少显示电子邮件消息之一的一部分文本的预览窗口。程序随后确定是否已收到改变或更新显示信息的观众输入。如果是,则程序返回方框1204。否则,程序继续进行到方框1206,显示第四组信息。此时,所有四组信息被显示。响应改变显示信息的另一观众输入,程序1200可再次被执行。
上面参考图12说明的程序显示四组不同的信息。备选实施例可显示任意多组信息。所述多组信息被按优先顺序排列成已知的或者预期的优选顺序,以致首先显示优先级最高的信息(即第一组信息),接着显示优先级次高的信息(即第二组信息),依此类推。该过程继续进行,直到所有信息被显示,或者收到改变显示屏的观众输入(无论哪个首先发生)为止。可根据从观众接收的控制输入的类型(例如观众滚动的方向或者观众先前观看的信息的类型),改变显示多组信息的顺序。
在一个实施例中,第一组信息是最接近于所选择项目的信息。第二组信息是次接近于所选择项目的信息,依此类推。
在一个具体实施例中,为了恰当地呈递多组信息,每组信息能够独立于其它多组信息单独呈现。另外,呈递每组信息的软件应能够在呈递特定一组信息之前(或之后),检查处于等待状态的用户输入。
虽然利用专用于结构特征和/或方法步骤的语言说明了本发明,不过要明白在附加权利要求中限定的本发明不必局限于描述的具体特征或步骤。相反,具体特征和步骤被公开为实现要求保护的发明的优选形式。