具体实施方式
在公开和描述本方法和系统之前,应当理解这些方法和系统不限于具体的综合方法、具体的组件或特定的构成,因为这些方法、组件和构成当然是可能变化的。还应当理解,这里使用的术语仅仅是为了描述特定的实施例,而不希望是限制性的。
说明书和所附权利要求中使用的单数形式“a”、“an”和“the”包括多数所指物,除非上下文明确地另有规定。范围在这里可表达为从“大约”一个特定值和/或到“大约”另一特定值。当这样的范围被表达时,另一实施例包括从该一个特定值和/或到该另一特定值。类似地,当值被表达为近似时,通过使用在前的“大约”,应理解该特定值形成另一实施例。还应理解,每个范围的端点既在联系另一端点时是有意义的,并且在独立于另一端点时也是有意义的。
“可选的”或“可选地”指的是随后描述的事件或情况可能发生也可能不发生,并且该描述包括所述事件或情况发生的情况和所述事件或情况不发生的情况。
通过参考以下对优选实施例的详细描述和其中包括的示例以及附图和对其的先前和以下描述,将更容易理解本方法和系统。
本发明的一个实施例一般性地被实现为订户电视系统(STS)的一部分,该系统例如包括数字宽带递送系统(DBDS)和线缆电视系统(CTS)。作为一非限制性示例,将首先描述订户电视系统(STS)及其操作,同时应理解其他传统的数据递送系统也在本发明的优选实施例的范围内。图1示出了STS 10的框图视图,该STS 10一般是一高质量、可靠且集成的网络系统,该网络系统通常能够递送视频、音频、语音和数据服务到数字家庭通信终端(DHCT)16。虽然图1示出了STS 10的高级别视图,但应当明了,多个订户电视系统可以将多个区域网络联结成一个集成的全局网络,从而使得DHCT用户能够接收从世界上任何地方提供的媒体内容。
另外,应明了,图1所示的STS 10只是示例性的,而不应当被解释为暗示了对本发明的优选实施例的范围的任何限制。例如,也包括在本发明的优选实施例的范围内的订户电视系统包括不利用物理结构的线缆来进行传送的系统,例如但不限于卫星系统。另外,包括在本发明的优选实施例的范围内的传送介质包括但不限于HFC、光、卫星、RF、FM和微波。另外,根据以下描述,从头端11提供到DHCT 16的数据以及执行以下论述的功能所必需的程序应被理解为存在于STS 10内。
STS 10除了递送传统的广播模拟视频信号外,通常还递送作为数字格式的信号的广播视频信号。另外,该系统通常可支持单向广播服务,并且既可支持单向数据服务,也可支持双向媒体内容和数据服务。网络的双向操作通常允许了用户与服务交互,例如按观看付费节目编排、根据若干种已知的准视频点播(NVOD)实现方法中的任何一种的NVOD节目编排、视频点播(VOD)节目编排(根据若干种VOD实现方法中的任何一种)、以及交互式应用,例如因特网连接。
STS 10还提供接口、网络控制、传输控制、会话控制和服务器以访问来自媒体内容服务的媒体内容,并且将媒体内容分发到DHCT用户。如图1所示,典型的STS 10包括头端11、集线器12、HFC接入网络17以及DHCT 16。应当明了,虽然在图1中示出了单个组件(例如,头端),但STS 10也可包含多个任何一种所示组件,或者可被配置以任何一种个体组件的替换实施例,或者被配置以以上没有列出的其他额外组件。
一个或多个内容提供者(未示出)所提供的媒体内容被内容提供者传输到一个或多个头端11。媒体内容随后被从这些头端11通过通信网络18传输,该通信网络18包括多个HFC接入网络17(只示出了一个HFC接入网络17)。HFC接入网络17通常包括多个HFC节点13,其中每一个可为一局部地理区域服务。集线器12通过HFC接入网络17的光纤部分连接到HFC节点13。HFC节点13连接到支线(tap)14,支线14在一个实施例中连接到网络接口单元(NIU)15,NIU 15连接到数字家庭通信终端(DHCT)16。在其他实施例中,支线14直接连接到数字家庭通信终端(DHCT)16。NIU 15在实现时通常位于订户的资产处,并且在HFC节点13和用户资产内部配线之间提供了透明接口。同轴线缆通常用于耦合节点13、支线14和NIU 15,因为利用射频(RF)放大器可以很容易地中继电信号。
因为STS 10的许多功能的高级别操作是本领域的普通技术人员所公知的,所以这里不包含对图1的整个STS 10的进一步的高级别描述。
图2是提供STS 10(图1)与服务和内容提供者之间的接口的头端11的概览。图2的概览同样适用于集线器12,并且同样的元件和原理也可实现在集线器12处而不是像这里描述的那样实现在头端11处。应理解,图2所示的头端11只是示例性的,而不应被解释为暗示了对本发明的优选实施例的范围的任何限制。头端11接收来自多种服务和内容提供者的内容,这些提供者可以通过多种方式提供输入。头端11对来自各种源的内容进行组合,并经由网络18的分发系统把内容分发到订户。
在典型的系统中,可根据多种机制来分发来自内容提供者的节目编排、服务和其他信息。输入信号可经由多种传送路径被从源发送到头端11,所述传送路径包括卫星(未示出)以及陆地广播发送器和天线(未示出)。头端11还可经由直线线路212接收来自直接馈送源210的内容。来自内容提供者的其他输入源包括摄像机214、模拟输入源208或者应用服务器216。应用服务器216可包括多条通信线路。诸如模拟输入源208、输入源210、摄像机214和应用服务器216之类的一个或多个组件可如图所示位于头端11外部,或者位于头端11内部,这是本领域的普通技术人员将会明了的。内容或节目编排输入源所提供的信号可包括单个媒体内容实例(即,媒体内容的个体实例,例如电视节目的一集、一部电影或者一个网页等等)或者一包括若干个媒体内容实例的复合体。
头端11一般包括一个或多个接收器218,其中每一个与一内容源相关联。诸如编码器220之类的MPEG编码器被包括来用于对至少一个本地节目编排或来自摄像机214的实时馈送等等进行数字编码。编码器220输出与在其输入处接收的模拟音频/视频信号相对应的各压缩视频和音频流。例如,编码器220可输出遵从ISO MPEG-2标准的语法和语义的格式化MPEG-4(通常承载于遵从MPEG-2的传输流上)、MPEG-2或MPEG-1分组化基本(PES)流或传输流。PES或传输流可以与来自交换机230、接收器218和控制系统232的输入信号复用。复用逻辑222对输入信号进行处理并且把输入信号的至少一部分复用到传输流240中。模拟输入源208可提供模拟音频/视频广播信号,该信号可被输入到调制器227中。来自调制器227的经调制的模拟输出信号可在组合器处246与其他经调制的信号一起被组合,以便发送到传送介质250中。或者,来自模拟输入源208的模拟音频/视频广播信号可被输入到调制器228中。或者,模拟音频/视频广播信号可以直接从调制器227输入到传送介质250。模拟广播媒体内容实例经由各射频(RF)信道被传送,其中每个信道被指派用于一模拟音频/视频信号(例如NTSC视频)的传送。
诸如异步传送模式(ATM)交换机230之类的交换机提供到应用服务器216的接口。可能存在多个应用服务器216,提供多种服务,例如按观看付费服务(包括视频点播(VOD))、数据服务、因特网服务、网络系统或电话系统。服务和内容提供者可以把内容下载到位于STS 10内的应用服务器。应用服务器216还可位于头端11内或者STS 10内的别处,例如在集线器12中。到头端11的各种输入随后被与来自控制系统232的其他信息相组合,该信息是依STS 10而定的,例如本地节目编排和控制信息,其可包括附条件访问信息,等等。头端11包含一个或多个调制器228,以将接收到的传输流240转换成适合于通过网络18在传送介质250上传送的经调制的输出信号。在一个示例中,网络可以是IP网络。每个调制器228可以是一多重调制器,其包括对传输流240的至少一部分进行调制以使其变成输出传输流242的多个调制器,例如但不限于QAM调制器。利用诸如组合器246之类的设备,来自各种调制器228或多重调制器的输出信号242被组合,以便输入到传送介质250中,其经由带内递送路径254被发送到订户位置(未示出)。带内递送路径254例如可包括DTS和ATS。在一个实施例中,服务器216还向头端11提供各种类型的数据288。数据一部分被媒体访问控制功能224所接收,媒体访问控制功能224输出包含数据266的MPEG传输分组,而不是数字音频/视频MPEG流。控制系统232使得电视系统运营者能够控制和监视STS 10的功能和性能。控制系统232经由通信链路270与各种组件相接口,以便监视和/或控制多种功能,包括对STS 10的节目编排的频谱调整、对订户计费以及对分发到订户内容的附条件访问。诸如附条件访问信息之类的信息被从控制系统232传输到复用逻辑222,在复用逻辑222处它被复用到传输流240中。
控制系统232的功能之一是向调制器228提供输入以用于设定操作参数,例如选择特定的媒体内容实例或传输流部分,以便包括在一个或多个输出传输流242、系统特定MPEG表分组组织和/或附条件访问信息中。控制信息和其他数据可经由带内递送路径254或经由带外递送路径256被传输到集线器12和DHCT 16。
图2中还示出了带外(OOB)信号,这些信号向订户的DHCT 16提供了连续可用的双向信令,而无论个体DHCT带内调谐器调谐到哪些带内信号,如下所述。OOB信号由转发数据信号(FDS)76和反向数据信号(RDS)80构成。OOB信号可符合若干种公知的传输协议中的任何一种,但优选地符合使用正交相移键控(QPSK)调制的1.544兆比特每秒(Mbps)以上的FDS和使用QPSK调制的1.544Mbps以上的RDS的DAVIC 1.1传输协议,或者符合使用64-QAM调制的27Mbps的FDS和使用QPSK调制或16-QAM调制的1.544Mbps以上的RDS的DOCSIS传输协议。OOB信号提供了网络的双向操作,这使得订户可与网络所提供的应用和服务相交互。另外,OOB信号不限于6MHz频谱,而一般限于较小的频谱,例如1.5或3MHz。
带外数据通过例如(但不限于)正交相移键控(QPSK)调制解调器阵列226经由传送介质250的带外FDS 76被传送。双向通信利用了带外递送路径256的RDS 80(图1B)。集线器12和DHCT 16通过传送介质250发送带外数据,并且带外数据经由带外RDS 80在头端11中被接收。带外数据通过路由器264被路由到应用服务器216或控制系统232。带外控制信息包括从订户位置到位于头端11内部或外部的点播型应用服务器(例如应用服务器216)的诸如按观看付费购买指令和暂停观看命令之类的信息,以及从DHCT 16(图1)或集线器12发送的任何其他数据,所有这些都最好被适当地计时。控制系统232还监视、控制和协调订户电视系统中的所有通信,包括视频、音频和数据。控制系统232可位于头端11处或者位于远程。
传送介质250将信号从头端11分发到订户电视系统中的其他元件,例如集线器12、节点13以及订户位置(图1A)。传送介质250可结合多种介质中的一种或多种,例如光纤、同轴线缆以及混合光纤同轴(HFC)、卫星、直接广播或其他传送介质。
图3A是根据本发明一个实施例耦合到头端11和电视的示例性DHCT16的框图图示。应理解,图3A所示的DHCT 16只是示例性的,而不应当被解释为暗示了对本发明的优选实施例的范围的任何限制。例如,在DHCT 16中运行的应用(例如MOD客户端应用363)所执行的一些功能可改在头端11处执行,反之亦然,或者在一些实施例中根本不被执行。DHCT 16通常位于用户的住所或经营场所处,并且可以是独立的单元或者被集成到另外的设备中,所述另外的设备例如是电视机或个人计算机或其他显示设备或音频设备。DHCT 16优选地包括通信接口342,用于通过网络18从头端11接收信号(视频、音频和/或其他数据)并且用于通过网络18向头端11提供任何反向信息。
DHCT 16还优选地包括用于控制DHCT 16的操作的至少一个处理器344、用于驱动电视显示器341的输出系统348、以及用于调谐到要显示的特定电视频道或频率并用于发送和接收去往和来自头端11的各类数据或媒体内容的至少一个调谐器系统345。在其他实施例中,DHCT 16可包括用于接收所下载(或所传送的)媒体内容的多个调谐器。调谐器系统345可从订户电视系统提供的多个传送信号(图1)中进行选择。调谐器系统345使得DHCT 16能够调谐到下行媒体和数据传送,从而使得用户可以经由订户电视系统接收在下行传送中递送的数字或模拟媒体内容。在一种实现方式中,调谐器系统345包括用于双向正交相移键控(QPSK)数据通信的带外调谐器和用于接收电视信号的正交幅度调制(QAM)调谐器(带内)。此外,接收器346接收外部生成的信息,例如来自诸如遥控设备380之类的输入设备或者其他设备的用户输入或命令。根据本发明的另一实施例,DHCT 16中的电话调制解调器(未示出)可被用于上行数据传送并且STS 10中位于上游的头端11、集线器12(图1)或其他组件可接收来自与电话调制解调器相对应的电话网络的数据,并可将上行数据路由到STS 10内部或外部的目的地,例如头端11中的应用数据服务器或内容提供者。在其他方面中,利用例如DOCSIS或某种其他方法可以使用IP信令路径。
DHCT 16包括信号处理系统314,该信号处理系统314包括解调系统313和传输解复用和解析系统315(这里称为解复用系统),用于对广播媒体内容和/或数据进行处理。信号处理系统314的系统中的一个或多个可以利用软件、软件和硬件的组合实现,或者优选地用硬件实现。解调系统313包括用于RF信号(模拟传送信号或数字传送信号)解调的功能。例如,解调系统313可以对被调制为QAM调制信号等等的处于载波频率的数字传送信号进行解调。当被调谐到与模拟TV信号传送相对应的载波频率时,解复用系统315被绕过,并且由解调系统313输出的经解调的模拟TV信号被改为路由到模拟视频解码器316。模拟视频解码器316把在其输入处接收的模拟视频信号(即,包括视频部分和音频部分的媒体内容实例的视频部分)转换成相应的非压缩数字表示,该数字表示包括一系列数字化图片及其各自的数字化音频。在输入处呈递给模拟视频解码器316的是诸如NTSC视频之类的包括音频和视频的模拟视频信号。
由模拟视频解码器316输出的数字化图片及各自的音频在压缩引擎317的输入处被呈递。由模拟视频解码器316输出的数字化图片及各自的音频输出也可经由诸如ITU-656之类的专用于非压缩数字化模拟视频和音频的接口(未示出)被呈递到媒体引擎322的输入,以便在TV 341上显示。压缩引擎317耦合到本地化存储器349,优选地耦合到DRAM 352,用于输入数字化图片及其各自的数字化音频的输入和处理。或者,压缩引擎317可具有其自己的集成存储器(未示出)。压缩引擎317对数字化图片和数字化音频的序列进行处理,并且将其分别转换成视频压缩流和音频压缩流。经压缩的音频和视频流是根据指定的音频和视频编码方法的语法和语义(例如由MPEG-2音频和MPEG-视频ISO标准所规定的),从而使得它们能够被视频解码器323和音频解码器325解释,以便在将来解压缩和重建。每个压缩流由包含头部和有效载荷的数据分组的序列构成。每个头部包含与各个压缩流相关联的唯一节目标识或者说PID。
压缩引擎317将音频和视频压缩流复用到传输流中,例如MPEG-2传输流,以用于输出。另外,压缩引擎317可优选地并行压缩与多个节目相对应的音频和视频(例如,两个调谐的模拟TV信号)并且将各音频和视频压缩流复用到单个传输流中。由压缩引擎317产生的压缩流和/或传输流的输出被输入到信号处理系统314中。信号处理314内的解析能力允许对序列和图片头部进行解释,例如标注其在其各自的压缩流内的位置,以便将来从存储设备373取回。与所调谐到的模拟传送频道相对应的压缩模拟媒体内容实例(例如,TV节目剧集或者节目)可以作为传输流被信号处理314输出,并且经由接口375被呈递作为输入以存储在存储设备373中,如下所述。分组化压缩流也可被信号处理314输出,并且被呈递作为媒体引擎322的输入以供视频解压缩引擎323和音频解压缩引擎325解压缩,以便将其显示在TV 341上。
解复用系统315可包括MPEG-2传输解复用。当被调谐到承载数字传送信号的载波频率时,解复用系统315使得能够分离与属于期望的媒体内容实例的压缩信息流相对应的数据分组,以便进行进一步处理。当前,解复用系统315从进一步处理中排除复用的传输流中的无关或不期望的分组,例如与其他媒体内容信号源(例如,其他TV频道)的媒体内容实例的压缩流相对应的数据分组。
本领域的普通技术人员将会明了,信号处理系统314将优选地包括未示出的其他组件,其中包括存储器、解密器、采样器、数字化器(例如,模数转换器)以及复用器,等等。另外,本领域的普通技术人员应理解其他实施例是在本发明的优选实施例的范围内的,包括绕过信号处理系统314的一个或多个元件并且被直接转发到输出系统348的模拟信号(例如NTSC)。另外,在上述信号处理流的相应下一级输入处呈递的输出可经由可访问的存储器349来连接,在该存储器349中,输出设备存储输出数据,并且输入设备之后输入由各个输出设备写入到存储器349中的输出数据。输出和输入设备包括模拟视频解码器316、压缩引擎317、媒体引擎322、信号处理系统314及其组件或子组件。另外,本领域的普通技术人员应理解,信号处理系统314的组件在空间上可位于DHCT 16的不同区域中。另外,本领域的普通技术人员应理解,虽然信号处理系统314的组件被示为与来自通信接口342的传入信号发生通信,但是该信号可能不一定采取为所有信号示出的顺序。
DHCT 16还包括媒体引擎322,该媒体引擎322包括也称为视频解压缩引擎的数字视频解码器323和也称为音频解压缩引擎的数字音频解码器325,以及未示出的其他数字信号处理组件,这是本领域的普通技术人员将会明了的。例如,解复用系统315与调谐器系统345和处理器344通信,以实现数字压缩视频流、数字压缩音频流以及与要与其他媒体内容实例相分离的一个或多个媒体内容实例相对应的数据流和/或在所调谐到的传送频道中传输并要被存储在DHCT 16的DRAM 352的被指派来接收一个或多个媒体内容实例的分组的第一部分(未示出)中的流的接收。其他专用存储器也可用于媒体内容实例分组。
另外,在进行此过程时,解复用系统315把期望的压缩流从所接收到的传输流中解复用并分离出来,而不干扰其内容。另外,解析器315解析(即,读取和解释)压缩流以例如解释序列头部和图片头部,并且把承载第一媒体内容实例的压缩流的传输流保存到DRAM 352中。处理器344使得DRAM 352中的传输流被经由接口375传送到存储设备373。在处理器344的程序控制下,与数字视频解码器323、存储设备373和处理器344通信的解复用系统315实现将与来自DRAM 352的第一部分的一个或多个媒体内容实例相对应的一个或多个压缩流的接收分组通知和/或传送到DRAM 352的被指派给数字视频解码器323和数字音频解码器325的第二部分(未示出)的操作。或者,媒体引擎322可能能够访问专用的本地化DRAM(未示出)。在对承载一个或多个媒体内容实例的传输流进行解复用和解析后,信号处理系统314向DRAM 352输出表格或数据结构(未示出)形式的数据,该数据包括压缩媒体内容实例中的特定图片的开头的相对或绝对位置,以便于在将来操作期间取回。
在另一实施例中,根据多个调谐器以及相应数目的解调系统313、解复用系统315和信号处理系统314,相应数目的广播数字媒体内容实例被同时接收并路由到存储设备373的硬盘300。或者,各自具有充分的处理能力的单个解调系统313、单个解复用系统315和单个信号处理系统314可用于处理多个数字媒体内容实例。
在一种实现方式中,压缩引擎317可输出传输流内的格式化MPEG-2或MPEG-1分组化基本流(PES),这些流均遵从ISO MPEG-2标准的语法和语义。或者,压缩引擎317可输出遵从其他标准的其他数字格式。由压缩引擎317输出的与媒体内容实例相对应的数字压缩流被保存在用于压缩引擎317的本地存储器中并被路由到解复用系统315。解复用系统315在不干扰其内容的情况下解析(即,读取和解释)由压缩引擎317生成的传输流以例如解释图片头部,并将传输流保存到DRAM 352中。处理器344使得DRAM 352中的传输流被传送到存储设备373。在解析传输流时,解复用系统315向DRAM 352输出表格或数据结构(未示出)形式的数据,该数据包括媒体内容实例的压缩媒体内容流中的特定图片的开头的相对或绝对位置,以便于在将来的操作期间取回。这样,可以实现诸如快进、倒回和跳到压缩媒体内容实例中的某一位置之类的随机访问操作。
在另一实施例中,根据多个调谐器、相应数目的模拟视频解码器316以及相应数目的压缩引擎317,针对相应数目的模拟媒体内容实例,上述模拟视频和音频的压缩被执行并被同时路由到存储设备373的硬盘300。或者,具有充分处理能力的单个压缩引擎可用于压缩多个模拟媒体内容实例。
DHCT 16还可包括一个或多个无线或有线接口,也称为通信端口374,用于接收和/或发送数据到其他设备。例如,DHCT 16可包含USB(通用串行总线)、以太网(用于连接到计算机)、IEEE-1394(用于连接到娱乐中心中的媒体内容设备)、因特网、串行和/或并行端口。用户输入例如可由具有位于终端外部的按钮或按键的包括计算机或发送器的输入设备或者由包括用户驱动的按钮的手持式遥控设备380或键盘提供,或者甚至是实际输入。
DHCT 16包括至少一个存储设备373,用于提供对下载的媒体内容的存储。存储设备373可以是光存储设备或者磁存储设备,等等,并且优选为硬盘驱动器。存储设备373包括用于媒体内容和/或数据的存储装置,媒体内容和/或数据可被写入到该存储装置以便存储并且可在以后被从中读取以便取回来进行呈递。存储设备373优选地包括至少一个硬盘300。在本公开中,提及向存储设备373写入或从存储设备373读取,或者提及从存储设备373记录或向存储设备373记录,应被理解为意指这种读取或写入操作是对存储设备373的实际介质(例如,硬盘300)发生的。优选位于每个硬盘300中的是一个或多个时移缓冲器(TSB)378,这些缓冲器包括多个集群(如下所述),用于临时接收媒体内容和/或数据。存储设备373还包括控制器379,该控制器379接收来自操作系统353(如下所述)的设备驱动器311的操作指令,并且实现这些指令以使得进行对硬盘300的读取和/或写入操作。设备驱动器311与存储设备控制器379通信,以格式化硬盘300,从而使得硬盘被径向划分成扇区301和被称为轨道302的同心圆,如图3B中的示例性硬盘300的框图图示所示。从图3B注意到,示出了每轨道302相同数目的扇区301,但是其中每一面有不同数目的轨道、每个轨道有不同数目的扇区、每个扇区有不同数目的字节并且在轨道的不同区域中的其他实施例也在本发明的优选实施例的范围内。扇区301是硬盘300上的基本存储单元。在一种实现方式中,硬盘300的每个扇区301可存储512字节的用户数据。虽然数据被存储在硬盘300上的512字节扇区中,但集群(例如集群303)通常是操作系统353用来存储信息的最小数据存储单元。单个轨道上的两个或更多个扇区构成一集群。
再次参考图3A,存储设备373优选在DHCT 16内部,通过通信接口375耦合到公共总线,通信接口375优选为集成驱动电子设备(IDE)或小型计算机系统接口(SCSI),但也可使用IEEE-2394或USB等等。在其他实施例中,存储设备373可经由通信端口374从外部连接到DHCT 16(并从而能够从DHCT 16上移除),该通信端口374被实现为IEEE-1394或USB或者实现为诸如SCSI或IDE接口之类的数据接口端口。在一种实现方式中,在实时操作系统353的支持下(如下所述)、由处理器344执行并且结合个人视频记录(PVR)应用客户端377和设备驱动器311(下面描述后两个组件),所下载的媒体内容(这里被理解为也指其他类型的数据,除了媒体内容实例以外或者代替媒体内容实例)经由通信接口342在DHCT 16中被接收并被存储在存储器349中的临时缓存(未示出)中。该临时缓存被实现并管理为使得媒体内容能够从该临时缓存传送到存储设备373,或者与新到达的媒体内容向临时缓存中的插入相响应。在一种实现方式中,存储设备373的快速访问时间和高数据传送率特性使得媒体内容能够被从存储器349中的临时缓存读取并以足够快的方式被写入到存储设备373中。实现了多个同时的数据传送操作的配合,以使得在媒体内容被从存储器349中的缓存传送到存储设备373的同时,新的媒体内容被接收并存储在存储器349的临时缓存中。在其他实现方式中,所下载的媒体内容通过DHCT 16中的通信端口374被接收,随后被直接传送到存储设备373,从而绕过该临时缓存。
一般与设备驱动器311和存储设备控制器379通信的处理器344以及解复用系统315实现从存储设备373取回与一个或多个媒体内容实例相对应压缩视频流、压缩音频流和数据流的操作。所取回的流被保存在存储设备373的输出缓存中,并被传送到存储器352,然后被处理以用于根据本领域的普通技术人员将会理解的机制来重放。在一些实施例中,媒体内容实例被同时从硬盘300取回并路由到视频和音频解码系统,并随后被进一步处理以便最终在显示设备或其他设备上呈递。
在一种实现方式中,DHCT 16包括系统存储器349,该系统存储器349包括闪存351和动态随机访问存储器(DRAM)352,用于存储各种应用、模块和数据,供处理器344执行和使用。DHCT 16的基本功能是由主要被存储在闪存351中的操作系统353提供的。操作系统353包括至少一个资源管理器367以及其他单元,该资源管理器367提供到DHCT 16的资源(例如,计算资源)的接口。操作系统353内还包括一个或多个设备驱动器,这些设备驱动器向内部或外部存储设备(例如存储设备373)以及其他未示出的外围设备提供操作指令。在一种实现方式中,设备驱动器311向存储设备373的存储设备控制器379提供操作指令,以实现对存储设备373的硬盘300的读取和/或写入操作,以及其他功能。设备驱动器311包括若干个驱动器模块,其中包括MPEG传输361、音频/视频(A/V)文件系统管理器368以及DVR管理器369。MPEG传输361提供用于对编码在MPEG传输流中的A/V进行解码(即,向媒体引擎322提供操作指令以用于MPEG A/V解码)和播放的功能。A/V文件系统管理器368在DVR管理器369的控制下,通过从存储设备373取回MPEG A/V媒体内容并且将该内容提供到媒体引擎322的音频解码器325和视频解码器323,来使得MPEG传输361能够实现解码和重放功能。A/V文件系统管理器368还提供用于MPEG流的记录的功能。A/V文件系统管理器368管理关于每个所记录的媒体内容实例的数据,包括它在物理上被存储于何处(即,集群管理,如下所述),以及I-帧的位置(MPEG传输流的一系列“静止图片”,在倒回或快进操作期间DHCT 16可用其来提供显示)。
A/V文件系统管理器368还提供一被称为正常播放时间(NPT)的软件生成指针,其指向文件内的位置以及这些文件内的媒体内容实例内的位置。基于轻型流控制协议,NPT可被认为是与视频资源相关联的时钟(与用于DHCT 16的实时时钟(未示出)相区别)。对于为被下载到存储设备373的媒体内容生成的每个文件,生成一NPT。存在一用于存储设备373的读取头和用于存储设备373的写入头的NPT。为了针对新创建的文件(例如,TSB文件)将内容写入到存储设备373中,为存储设备373的写入头创建一NPT,其初始值为零。在一种实现方式中,A/V文件系统管理器368接收由PVR应用377通过操作系统353的计算机服务设置的周期性中断(例如,每5、10msec)。此中断与DHCT 16的内部实时时钟(未示出)同步,以便以基本恒定的速率推进指针(即,NPT)。NPT的值(从初始值零起)持续增大,直到相关联的文件被关闭为止。对于存储设备373的读取头,NPT在文件开始处开始于0,并且在正常播放模式中实时推进,在快进模式中比实时更快地推进,在倒回模式中递减,并且当视频被暂停时固定。DVR管理器369是(通过MPEG传输361)控制MPEG编码和MPEG解码的操作的驱动器模块,并且使用A/V文件系统管理器368的服务来存储和提供用于文件重放的功能。应理解,提及设备驱动器311将包括一个或多个,或者上述设备驱动器模块中的一个或多个的组合。
通过利用DHCT 16中的计算资源执行一个或多个编程软件应用(这里称为应用)。应用或应用客户端可驻留于闪存351中或被下载(或上载)到DRAM 352中。在操作系统353的支持下,存储在闪存351或DRAM 352中的应用被处理器344(例如,中央处理单元或数字信号处理器)所执行。应用需要作为输入的数据被存储在DRAM 352或闪存351中,并且在应用执行过程期间根据需要被处理器344所读取。输入数据可以是由DHCT 16内部或外部的第二应用或其他源存储在DRAM 352中的数据,或者可能已被应用预期到,从而在应用作为软件应用被生成时就与应用一起被创建,在此情况下它被存储在闪存351中。在应用执行过程期间,由应用生成的数据被处理器344存储在DRAM 352中。DRAM 352还包括应用存储器370,各种应用可使用该应用存储器370来存储和/或取回数据。
被称为导航器355的应用也驻留在闪存351中,用于为DHCT 16提供的服务提供导航框架。导航器355针对诸如频道递增/递减、最近的频道、最喜爱的频道等等之类的与导航键相关的特定用户输入注册并在某些情况下预留这些用户输入。导航器355还向用户提供与电视相关的菜单选项,这些选项对应于诸如阻止一个频道或一组频道被显示在频道菜单中之类的DHCT功能。
闪存351还包含平台库356。平台库356是对应于有用的工具的集合,例如定时器管理器、压缩管理器、配置管理器、HTML解析器、数据库管理器、窗口小部件工具包、字符串管理器以及其他工具(未示出)。这些工具被应用根据需要经由应用编程接口(API)访问,以使得每个应用不必包含这些工具。图3A所示的平台库356的两个组件是窗口管理器359和服务应用管理器(SAM)客户端357。
窗口管理器359提供用于实现屏幕区域和用户输入的共享的机制。根据一个或多个应用的指示,DHCT 16上的窗口管理器359负责实现有限的DHCT 16屏幕资源的创建、显示和释放。它通过指派屏幕区域或者说窗口的所有权,来允许了多个应用共享屏幕。窗口管理器359还在DRAM 352中维护用户输入注册表350等等,以使得当用户经由遥控设备380或诸如键盘或鼠标之类的另外的输入设备输入键或命令时,用户输入注册表350被访问,以确定在DHCT 16上运行的各种应用中的哪些应当接收与输入键相对应的数据以及以何种顺序接收。当应用被执行时,它注册关于接收特定用户输入键或命令的请求。当用户按压遥控设备380上的与命令之一相对应的键时,该命令被接收器346接收并被传递给处理器344。处理器344将该事件分派到操作系统353,在该处它被转发到窗口管理器359,窗口管理器359最终访问用户输入注册表350并且把与传入命令相对应的数据路由到适当的应用。
SAM客户端357是一客户端-服务器式组件对中的客户端组件,其中服务器组件(未示出)位于头端11上,优选地在控制系统232中(图2)。DRAM 352中的SAM数据库360(即,诸如数据库或数据结构之类的结构化数据)包括由头端11创建并更新的频道的数据结构和服务的数据结构。这里,数据库将指本领域的普通技术人员公知的数据库、结构化数据或其他数据结构。利用相同的应用组件、不同的参数,可以定义许多服务。根据一种实现方式,服务的示例包括但不限于呈现电视节目(可通过WatchTV应用362得到)、按观看付费事件(可通过PPV应用364得到)、数字音乐(未示出)、媒体点播(可通过MOD应用363得到)以及交互式节目指南(IPG)397。一般地,服务的标识包括一可执行应用的标识,该可执行应用提供服务以及一组依应用而定的参数,这些参数向应用指示出要提供的服务。作为示例,呈现电视节目(媒体内容实例)的服务可以由WatchTV应用362执行,其中一组参数规定观看HBO所需要的那些,或者另外一组参数规定观看CNN需要的那些。应用组件(调谐视频)和一个参数组件(HBO或CNN)的每个关联表示具有唯一的服务I.D.的特定服务。如下所述,SAM客户端357还与资源管理器367相接口,以控制DHCT 16的资源。
通常响应于用户做出的请求或者响应于来自头端11的消息,根据SAM客户端357的请求,应用客户端也可被下载到DRAM 352中。在图3A所示的示例性DHCT 16中,DRAM 352包括媒体点播应用(MOD)363、电子邮件应用365、PVR应用377以及web浏览器应用366。本领域的普通技术人员应当清楚,这些应用不是限制性的,只是充当本发明的实施例的示例。另外,作为替换实施例,一个或多个基于DRAM的应用可以驻留在闪存351中。这些应用以及订户电视系统运营者所提供的其他应用是网络上用于向用户提供服务的顶级软件实体。
在一种实现方式中,在DHCT 16上执行的应用通过遵守若干准则而与导航器355一起工作。首先,应用利用SAM客户端357来提供、激活和暂停服务。其次,应用与其他应用共享DHCT 16资源,并且遵守SAM客户端357、操作系统353和DHCT 16的资源管理策略。第三,应用应对资源只在导航器355干预的情况下可得的情况。第四,当应用在提供服务的同时失去服务授权时,应用经由SAM暂停服务(导航器355在个体服务应用以后被授权时将重新激活它)。最后,应用客户端或应用被设计为不能访问导航器预留的特定用户输入键(即,电源、频道+/-、音量+/-等等)。
MOD客户端应用363向用户提供供每个媒体内容实例选择的可用媒体内容标题的列表以及用户所请求的媒体内容实例。MOD客户端应用363通常通过参与与VOD内容服务器(未示出)的直接双向IP(因特网协议)来向用户提供媒体内容,该VOD内容服务器在一个实施例中将位于头端11中(图2)。
与操作系统(OS)组件或客户端平台组件或应用客户端或其各部件相对应的可执行程序或算法可停留在DRAM 352和/或闪存351中,但在其外执行。类似地,输入到任何可执行程序中或从任何可执行程序输出的数据可驻留在DRAM 352或闪存351中。另外,与操作系统组件或者客户端平台组件或者应用客户端或其各部件相对应的可执行程序或算法可驻留在闪存351中,或者驻留在从外部连接到DHCT 16或集成到DHCT 16中的本地存储设备(例如存储设备373)中并被传送到DRAM 352以供执行。类似地,为可执行程序输入的数据可驻留在闪存351或存储设备中并被传送到DRAM 352以供可执行程序或算法使用。此外,可执行程序输出的数据可被可执行程序或算法写入到DRAM 352中并被传送到闪存351中或存储设备中。在其他实施例中,不传送可执行代码,而是通过其他机制实现功能。
媒体内容向存储设备373的永久记录和其他写入操作主要由包括PVR应用377和设备驱动器311的PVR体系结构实现。在一个抽象级别上,PVR应用377提供高级别控制,用于把来自多个输入流的数字数据写入到存储设备373中,以用于预定的永久记录以及从时移缓冲器(TSB)378的永久记录,或者写入到TSB 378。TSB 378是存储从数据流下载的数据的硬盘集群的可配置分配。可以使用多个TSB 378,例如,在具有多个调谐器的DHCT 16的情况下每个调谐器一个TSB。通过下面说明的机制,被接收到TSB 378中的媒体内容将具有临时记录指定。即,存储在TSB378的集群中的媒体内容将具有临时住所。这种将媒体内容接收到TSB378以获得临时住所的操作也将被称为缓冲。存储在TSB 378中的媒体内容或者将被删除(即,存储媒体内容的集群将被配置为可写的,以用于覆盖这些集群内的媒体内容的最终写入操作),或者将作为永久记录被保留(通过用户的选择)。永久记录应被理解为意指被存储由用户决定的较长一段时间的媒体内容。在用户预先选择进行对在DHCT 16处尚未调谐到的媒体内容实例的预定记录的情况下,永久记录被存储在未被用于TSB378的非缓冲器集群中(即,不在TSB 378的集群中)。通过选择存储在TSB 378中的媒体内容实例并且将该媒体内容实例指定为永久的,也可以实现永久记录。另外,当媒体内容实例被指定为永久时,相关联的TSB集群被配置用于最终指定为非缓冲器集群(即,永久记录集群)。从而,永久记录优选地将比TSB 378中的媒体内容更永久,并且永久记录可最终被从盘空间中删除,作为一个示例,这通常是根据用户的明确请求而发生的。在一种实现方式中,该删除是通过将相关联的非缓冲器集群配置为可写并从而最终可用于TSB 378或预定记录而发生的。作为由PVR应用377提供的高级控制的一部分,PVR应用377还提供媒体内容实例数据管理和用户接口。对于媒体内容实例数据管理,PVR应用377在硬盘300上为具有其相关联的媒体内容的所有永久记录的文件和TSB 378文件维护媒体内容实例指南数据。
硬盘驱动器具有有限的寿命,并且当用在诸如DHCT之类的高压力应用中时,一旦可能就将盘置于空闲状态中可帮助延长该单元的寿命。然而,将盘置于空闲状态中可能产生与客户的预期相反的结果,因为它们一般预期机顶盒始终开启并准备好供使用。
DHCT 16的具有吸引力的特征之一是能够暂停实况TV,甚至倒回去重放先前播出的内容。如上所述,此功能是由TSB 378提供的。TSB 378通常保持一定量的视频始终可用于回顾。要始终可用则要求硬盘驱动器始终活动,这可能导致不适当的磨损和功耗。
人类一般是习惯动物。他们往往会执行相同的基本例程,并通常按照每日或每星期的日程。这些习惯因为大多数电视频道都具有规律性的时间表这一事实而得到加强,并且人们往往有最喜爱的节目。通过监视观看习惯,可以合理地估计用户何时没在观看电视从而可允许禁用TSB 378,以及何时观看者最有可能观看电视。这在一个方面可以通过建立由多天构成的收集时段并将该收集时段的每天(即,24小时时段)划分成若干个时间片段来实现。例如,24小时时段可被划分成15分钟增量、30分钟增量、一小时增量等等。对于每个时间片段,分配一存储器存储位置或bin。例如,可在DRAM 352中分配存储器用于此目的。应当分配足够的这种存储器存储位置,以存储多天的数据,例如若干星期的数据。每次检测到来自与DHCT 16相关联的输入设备的键按压时,与当前时间相关联的存储器存储位置就被标记为活动的。这样,创建了用户与机顶盒交互的时间的历史。在一个方面中,根据用户输入注册表350和/或导航器355所提供的,实际频道、键按压和/或所观看的节目也将被记录。以上只描述了确定观看者使用模式的一种方法。应当明了在本发明的范围内可设想出其他方法。
用于已过去的收集时段或收集时段的一部分(例如,多天、一个或多个星期)的存储器存储位置可被检查以合理地预测在将来的时间段中用户行为的模式将如何。如果用于特定时间片段的存储器存储位置被标记为在先前的相应时间段中被使用,则基于预测性人类行为,有更大的概率对于将来的同一时间段这将再次发生。这种计划的活动随后可用于决定何时启用或禁用TSB 378。基于关于已观看的频道的可用指南数据和历史数据,可以辨别节目何时开始和结束。TSB 378可以被禁用,直到节目即将开始前为止。DHCT 16还可被编程为在期望的节目开始时调谐到正确的节目并且开始TSB记录。
可能出现的一个问题是这里公开的方法的预测性可能阻止或减少了用户进行键按压,这将会导致不记录任何键按压历史。然而,本发明的目的之一是在用户想要TSB 378时确保TSB 378准备就绪。如果用户从未将TSB 378用于技巧模式键(暂停、倒回、快进等等),则不存在问题。在另外的情形中,DHCT 16可能处于“关闭”或“睡眠”状态中,并且用户将开启它以便观看节目。或者,在长时间无活动之后可显示屏幕保护程序/熄灭程序,这可能与使盘驱动器空闲相一致。用于禁用熄灭程序的键按压可用作活动触发器。
如果DHCT 16在空闲期间被自动“关闭”,则用户可以按压电源键(在DHCT上或在遥控器380上)以激活单元,这导致了某种活动。或者,电路可用于检测将表明用户对监视设备的控制的存在的任何类型的遥控器380活动(例如,TV音量命令等等)。如果单元始终开启,则其他变化也是可能的,包括注意到TSB正经由技巧模式(例如,暂停、倒回、快进、慢动作等等)命令被利用。虽然此策略一般对于作为黄金时段节目特点的短注意力跨度节目效果良好,但其他节目不是那么可预测的,并且知道何时将TSB 378关闭可能更棘手。例如,电影和体育事件属于这种类别。在这类事件的持续期间,用户可能长时间都没有使用遥控设备380。为了防止在这些事件期间永久关断TSB 378,可以参考SAM客户端数据来确定事件的结束时间。可以添加一些固定的裕量,然后如果在该时间内没有发生活动,则可以安全地禁用TSB 378。
通过查看来自一个或多个先前收集时段的数据,可以预测将来相同时段的活动的可能性。在一个非限制性示例中,每个时间片段是15分钟,这使得一星期有4*24*7个时间片段。
对于用户来说,在其积极观看TV的同时经由遥控器周期性地发起某种动作,是常见的做法。这种动作例如可包括切换频道、显示节目指南信息或者DHCT可执行的其他活动。在长时间无活动之后,可以合理地认为用户不再积极参与,也不太可能与机顶盒交互,并且将硬盘驱动器置于睡眠状态不会立即被注意到。然而,用户将返回来观看TV,并且可能立即期望诸如倒回当前频道之类的DVR服务。如果硬盘已空闲,则此操作可能失败,导致用户不满意的体验。然而,如果使用模式被收集并用于预测性地使硬盘驱动器开始旋转并启用TSB,以预料到用户的TV观看模式,则体验可得以增强。
如上所述,导航器355基于遥控器键按压来收集信息。通过在一段时间中跟踪此信息,用户的典型使用模式将被记录在与时间片段相对应的存储器存储位置中,并随后被用于在预期的访问时间之前使硬盘驱动器开始旋转,从而使得DHCT在用户需要它时完全可工作。在一个方面中,该信息可被周期性地存储在诸如该硬盘驱动器之类的非易指令性存储器上,从而防止在单元重置时数据丢失。因为人们一般本质上是习惯性的,并通常每日或每星期进行同样的例程,所以通过在若干个收集时段(例如,若干星期)的时间段上收集数据,可以合理地预测将来预期的行为。
该算法包括将收集时段划分成各时间片段(例如15分钟),并且为每个片段创建一个bin(二进制文件),以保存遥控器事件的记录。每当遥控器或前端面板键被按压时,相应的bin就被标记为被使用。通过检查哪些bin已被标记,可以大致地确定在一整天中用户何时积极参与观看TV。已经知道许多人有一个每星期时间表,那么可以合理地预期通过检查先前星期的使用模式,可以预测用户何时最有可能请求DVR倒回服务。
在一个方面中,算法提供了在尝试预测性行为之前对至少一个收集时段(例如,一个星期)的数据的收集。(在此时间期间将使用某种合理的默认行为)。一旦一个收集时段的数据已被收集,该算法将返回查看存储器存储区域,以寻找来自该收集时段的相应时间片段。假定在表现出某种形式的用户活动的时间片段开头是空闲的,为了确保盘在需要时准备就绪,定义了一开始旋转窗口。由于TSB 378一般被预期保存60分钟的数据,因此硬盘可以在第一次预期键按压之前60分钟开始旋转。该算法确定检查哪个bin。正确的bin将对应于比目标准备就绪时间早一个收集时段的时间。例如,在星期二6:00AM,用于一个或多个先前的星期二的7:00AM的存储器存储区域将被检查。如果在收集时段的包括了星期二7:00a.m.的时间片段的存储器存储区域中记录了活动,则在本星期二的大约6:00a.m.,预期到与在收集时段中发生的活动相对应的用户活动,硬盘将开始旋转。
一旦盘在运行,则定义结束旋转窗口。例如,典型的结束旋转窗口可以是在最近的预期键按压之后等待120分钟。为了确定此窗口,核对当前时间,并且检查来自先前收集时段的与当前时间到未来120分钟的时间相对应的任何存储器存储区域。如果任何存储器存储区域为非零(即,发生并记录了活动),则盘保持运行。(在与节目编排相关的指南数据中找到的)当前节目的运行时间可用于修改正确的结束旋转时间,以使得盘不会在电影、体育事件或其他类似的较长节目的观看期间被结束旋转。判决逻辑的工作方式与开始旋转逻辑相似。
图4是示出用于诸如DHCT之类的记录设备的预测性管理的过程的示例性流程图。在步骤402,确立收集时段。一般地,收集时段包括多天,例如一个星期,但在本发明的范围内也可设想其他收集时段。在步骤404,该收集时段被划分成若干个时间片段。例如,该收集时段可被划分成一小时增量、30分钟增量、15分钟增量等待。在步骤406,向每个时间片段分配存储器存储区域。例如,如果在收集时段中有672个时间片段,则这672个时间片段中的每一个被分配一存储器存储区域。在步骤408,用户数据被记录在与发生用户活动的时间片段相对应的存储器存储区域中。用户数据可包括一时间段期间的用户活动,例如开启或关闭记录设备、改变频道、倒回、暂停、快进等待。另外,用户数据可包括在一时间片段期间没有任何用户活动。
在步骤410,通过分析构成一个或多个收集时段的时间片段的存储器存储区域,确定用户行为的模式。此分析可用于预测用户的将来行为。对用户的行为模式的确定例如可包括:基于在收集时段的一个或多个时间片段期间没有用户活动而确定通过订户电视系统对记录设备执行例行维护;确定在记录设备正接收特定电视节目或特定类型的电视节目时,用户是否倒回、暂停或快进;确定用户选择通过记录设备观看的电视节目或电视节目的类型;等等。例行维护例如可包括对硬盘驱动器进行碎片整理、搜索驱动器中的坏块、重组织数据库等等。
在步骤412,根据用户行为的模式操作记录设备。根据用户行为的模式操作记录设备例如可包括:在所确定的用户行为模式表明记录设备未被使用的时间段期间将记录设备的时移缓冲器置于休息状态中;在所确定的用户行为模式表明用户在观看电视节目时没有倒回、暂停或快进的时间段期间禁用时移缓冲器;在确定的用户行为模式表明用户在观看电视节目时倒回、暂停或快进的时间段期间启用时移缓冲器;当确定的用户行为模式表明用户观看特定电视节目或特定类型的电视节目时为该特定电视节目或特定类型的电视节目启用时移缓冲器;当所确定的用户行为模式表明用户观看特定电视节目或特定类型的电视节目时启用时移缓冲器并把关于特定电视节目或特定类型的电视节目的信息存储在存储器存储设备中,等等。
本方法和系统可结合许多其他通用或专用计算系统环境或配置使用。可适于结合该系统和方法使用的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、膝上型设备以及多处理器系统。其他示例包括机顶盒、可编程消费者电子设备、网络PC、袖珍计算机、大型计算机、包括任何上述系统或设备的分布式计算环境,等等。
所公开的方法和系统的处理可由软件组件执行。所公开的系统和方法可以在由一个或多个计算机或其他设备执行的计算机可执行指令(例如程序模块)的一般上下文中描述。一般而言,程序模块包括执行特定的任务或实现特定的抽象数据类型的计算机代码、例程、程序、对象、组件、数据结构等等。所公开的方法还可以在基于网格的分布式计算环境中实现,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中程序模块可位于包括存储器存储设备的本地和远程计算机存储介质中。
虽然已经结合优选实施例和具体示例描述了方法和系统,但并不希望范围限于所阐述的优选实施例,因为这里的实施例在所有意义上都希望是示例性的而不是限制性的。
除非另有明确陈述,否则绝不希望这里阐述的任何方法被解释为要求其步骤按特定顺序执行。因此,如果方法权利要求没有实际记载其步骤所要遵循的步骤或者在权利要求或说明书中没有以其他方式具体陈述步骤要限于特定顺序,则绝不希望在任何意义上推断出一种顺序。这对于任何可能的非明确解释基础都成立,包括:关于步骤排列或操作流程的合乎逻辑的事项;根据语法组织或标点推导出的字面含义;说明书中描述的实施例的数目或类型。
在本申请中各处引用了各种公开物。特此通过引用将这些公开物的公开全部并入到本申请中,以便完全描述与本方法和系统相关的现有技术。
本领域的技术人员应明了,在不脱离范围或精神的情况下,可进行各种修改和变化。本领域的技术人员通过考虑这里公开的说明书和实践将清楚其他实施例。希望说明书和示例被认为仅是示例性的,真实的范围和精神由所附权利要求指示。