专利名称:在管理网络上把电视广播和在非管理网络上把交互式内容提供给客户端设备的制作方法
技术领域:
本发明涉及用于向远程设备提供交互式内容的系统和方法,并且更具体地涉及采 用管理和非管理网络的系统和方法。
背景技术:
在有线电视系统中,有线电视系统头端(cable head-end)向一个或多个订户传送 内容,其中所述内容采用编码形式来传送。通常,所述内容被编码为数字MPEG视频并且每 个订户具有机顶盒或有线卡,其能够解码MPEG视频流。除提供线性内容之外,有线提供商 现在可以提供交互式内容,诸如网页或“围墙花园(walled-garden)”内容。随着因特网变 得更加动态化,在网页上包括视频内容并且要求用于解码所述视频内容的应用或脚本,有 线提供商适合于使订户具有观看这些动态网页的能力。为了采用编码形式向请求订户传送 动态网页,电缆顶端器检索所请求的网页并且渲染所述网页。因此,电缆顶端器必须首先解 码在动态网页内出现的任何编码内容。例如,如果在网页上播放视频,则顶端器必须检索编 码的视频并且解码所述视频的每个帧。然后,电缆顶端器渲染每个帧以形成因特网网页的 位像序列。因此,如果首先解码形成网页的所有内容,则只能够把网页合成在一起。一 旦合成帧是完整的,合成视频就被发送到诸如MPEG编码器之类的编码器以便重新编码。然 后,在MPEG视频流中向用户的机顶盒发送已压缩的MPEG视频帧。在有线电视网络中创建此类合成的编码视频帧要求大量的CPU和存储器处理,这 是由于所有编码的内容必须首先被解码、然后被合成、渲染和重新编码。特别地,有线电视 顶端器必须实时解码并重新编码所有内容。因此,由于所要求的处理,所以允许用户在交互 式环境中操作动态网页对有线电视运营商者来说代价相当大。另外,此类系统的其他缺点 在于由于编码视频被重新编码而造成图像质量降级。卫星电视系统的问题在于它们仅限于单向传输。因此,卫星电视提供商无法提供 “点播(on-demand)”或交互式服务。结果,卫星电视网络仅限于向它们的订户提供管理网 络并且无法提供用户所请求的对交互式信息的访问。其它通信系统无法向例如具有单向有 线卡或不支持双向通信的有线系统的有线订户提供交互式内容。
发明内容
在本发明的第一实施例中,在非管理网络上将交互式内容提供给用户的显示设备。客户端设备在客户端设备处的管理网络上接收包含交互式标识符的广播内容信号。交 互式标识符可以是在头部中包括的或者在数字视频数据内嵌入的触发器(trigger)。所述 触发器可以具有取决于触发器在数据流内的时间位置的时间分量或者指定的帧或时间以 便激活。另外,触发器可以具有期满时间,其中触发器可能在某个时段之后期满。响应于触 发器的标识,客户端设备通过非管理网络发送对交互式内容的请求。例如,管理网络可以是 单向卫星电视网络、IP电视网络或广播有线电视网络,并且非管理网络可以是因特网。客 户端设备在从管理网络接收数据和从非管理网络接收数据之间进行切换。向与用户的客户 端设备相关联的显示设备提供在非管理网络上接收到的交互式内容。广播内容信号可以包 含多个广播节目并且客户端设备有选择地向相关联的显示设备输出所述广播节目之一。交 互式内容可以来源于一个或多个源。例如,交互式内容可以由在处理局发起的模板以及来 自远程服务器的视频内容组成。处理局可以采集交互式内容,将交互式内容缝合(stitch) 在一起,将所述交互式内容编码为可被客户端设备解码的格式并且在非管理网络上将所述 交互式内容传送到所述客户端设备。在某些实施例中,管理和非管理网络可以在单个通信链路上操作。例如,非管理网 络可以是在电缆或DSL链路上使用IP协议的因特网,并且管理网络可以是广播电视节目 的IP协议电视网。在本发明的实施例中,客户端设备包括用于非管理和管理网络两者的端 口,并且包括用于当出现诸如存在触发器之类的事件时使交换机在两个网络之间切换的处 理器。客户端设备还包括一个或多个解码器。每个解码器可以对来自不同网络的数据进行 操作。客户端设备还可以包括用于接收来自用户输入设备的指令的红外端口。在一些实施例中,触发器可能不是在广播内容信号内发起。相反,触发器可以作为 用户与输入设备交互作用的结果而发起,所述输入设备与客户端设备通信并且使所述客户 端设备在网络之间切换。例如,用户可以观看卫星广播,所述卫星广播通过客户端设备被呈 现给用户的电视。当接收到对由于用户按压遥控设备上的按钮导致的对交互式会话的请求 时,客户端设备在呈现卫星广播以及在非管理网络上提供内容之间进行切换。客户端设备 将请求与处理局的交互式会话并且将通过所述处理局来提供交互式内容。客户端设备将接 收来自处理局的传输并且将解码交互式内容并将其呈现给用户的电视。在另一实施例中,诸如QAM调谐器之类的调谐器在被耦合到电视的独立盒中或作 为电视的一部分来提供。QAM调谐器接收广播有线内容。被耦合到电视的是IP设备,该IP 设备使用IP(因特网协议)通信提供到因特网的连接。IP设备可以在电视外部或内部。广 播内容包含触发器,该触发用于使电视内的处理器将信号引导到IP设备,所述IP设备在IP 连接山将对交互式会话的请求转发到处理局。处理局指配处理器,所述处理器然后检索交 互式内容并将其缝合在一起并且将所述交互式内容提供到IP设备。然后,IP设备将交互 式内容提供给电视。电视可以包括解码器,或者IP设备可以包括解码器。
通过参考附图以及以下详细描述,本发明的上述特征将更加容易被理解,在附图 中图1是示出用于实现本发明一个版本的通信环境的框图;图IA示出了区域处理局和视频内容分发网络;
图IB是采样合成流呈现和交互布局文件;图IC示出了在创作环境内帧的构造;图ID示出了按照宏块将帧分解为元素;图2是示出被合成到显示器上的多个源的视图;图3是合并修整的系统的视图;图4是示出在修整之前、在修整之后以及在修整部分中具有视频覆盖的视频帧的 视图;图5是示出怎样完成修整的视图,例如去除B帧;
图6是示出MPEG帧结构的视图;图7是示出I帧、B帧和P帧的修整过程的流程图;图8是描述去除区域边界运动向量的视图;图9是示出重新排序DCT系数的视图;图10示出了替代修整器;图11是视频帧的例子;图12是示出在相互彼此随机的位置开始的视频帧的视图;图13是具有在图片内合成的多个MPEG元素的显示器的视图;图14是示出由多个元素组成的图片的片段分解的视图;图15是示出为缝合准备的基于片段的编码的视图;图16是详细描述将视频元素合成为图片的视图;图17是详细描述将16x16大小的宏块元素合成为由2 大小的宏块组成的背 景的视图;图18是示出在编码和构建合成图片中涉及的步骤的流程图;图19是提供修整的简单例子的视图;图20是示出合成的元素既不需要是矩形也不需要连续的视图;图21示出了其中单个元素是不连续的屏幕上的元素的视图;图22示出了用于修整线性广播内容以便多播到多个处理局和/或会话处理器的 修整器;图23示出了定制的马赛克当在显示设备上显示时的例子;图M是用于提供交互式MPEG内容的基于IP的网络的视图;图25是用于提供交互式MPEG内容的基于有线的网络的视图;图沈是供基于有线的网络使用的负载平衡器的资源分配过程的流程图;图27是用于示出在用于负载平衡的有线网络元素之间通信的系统图;图观示出了可以通过非管理IP网络向订户提供交互式内容的管理广播内容卫星 网络;以及图四示出了其中客户端设备通过管理网络接收广播内容并且交互式内容可以被 请求并且通过非管理网络被提供的另一环境。
具体实施例方式如在以下详细描述以及权利要求中所使用,术语“区域(region) ”意指连续或不连续的MPEG (活动图片专家组)片段的逻辑组。当使用术语MPEG时,它指的是MPEG标准 的所有变体,包括MPEG-2和MPEG-4。如在下面实施例中描述的本发明提供了用于交互式 MPEG内容的环境以及在处理局(processing office)和具有相关联显示器(诸如电视)的 客户端设备之间的通信。尽管本发明特别参考了 MPEG规范和编码,但是可以利用根据基于 块变换的其它编码技术来采用本发明的原理。如在以下说明书和权利要求中使用的,术语 编码、已编码和正编码应当指的是压缩数字数据信号并且将已压缩的数字数据信号格式化 为协议或标准的过程。已编码的视频数据可以处于除空间表示之外的任何状态。例如,已 编码的视频数据可以被变换编码、量化和熵编码或其任何组合。因此,已经变换编码的数据 将被认为是已编码的。尽管本申请所指显示设备是电视机,但是显示设备可以是蜂窝电话、个人数字助 理(PDA)或包括显示器的其它设备。包括诸如可以解码MPEG内容的机顶盒的解码设备的 客户端设备与用户的显示设备相关联。在某些实施例中,解码器可以是显示设备的一部分。 在允许应用设计者设计交互式MPEG内容的创作环境(authoring environment)中创建交 互式MPEG内容,所述交互式MPEG内容根据包括来自内容提供商和线性广播者的视频内容 的各个元素来创建具有一个或多个场景的应用。采用活动视频标记语言(Active Video Markup Language,AVML)来形成应用文件。由创作环境产生的AVML文件是基于XML的文 件,用于定义在单个帧/页面内的视频图形元素(即MPEG片段)、视频图形元素的大小、在 每个场景的页面/帧内的视频图形元素的布局、到视频图形元素的链接以及场景的任何脚 本。在某些实施例中,不是在文本编辑器中创作或者由创作环境生成,而是可以直接创作 AVML文件。视频图形元素可以是静态图形、动态图形或视频内容。应当认识到,在场景内 的每个元素实际上是图像序列,并且静态图形是重复显示并且不会随时间改变的图像。每 个元素可以是MPEG对象,其可以包括用于图形以及与所述图形相关联的操作的MPEG数据。 交互式MPEG内容可以包括场景内的多个交互式MPEG对象,其中用户可以与之相交互。例 如,所述场景可以包括用于提供形成对象的视频图形的已编码MPEG数据的按钮MPEG对象, 并且还包括用于跟踪所述按钮状态的过程。MPEG对象可以与脚本配合地工作。例如,MPEG 按钮对象可以跟踪其状态(开/关),但是场景内的脚本将确定当该按钮被按压时会发生 什么。脚本可以使按钮状态与视频节目相关联,使得所述按钮将指示是播放还是停止视频 内容。MPEG对象始终具有相关联的动作作为该对象的一部分。在某些实施例中,诸如按钮 MPEG对象之类的MPEG对象可以执行除掌握按钮状态之外的动作。在此类实施例中,MPEG 对象还可以包括对外部程序的调用,其中当按钮图形被接合时所述MPEG对象将访问所述 程序。因此,对于播放/暂停MPEG对象按钮来说,MPEG对象可以包括用于掌握按钮状态、 根据状态变化提供图形覆盖和/或取决于按钮状态来使视频播放器对象播放或暂停视频 内容的代码。一旦在创作环境内创建了应用,并且由请求客户端设备请求了交互式会话,则处 理局就为所述交互式会话分配处理器。在处理局操作的指配的处理器运行虚拟机并且访问和运行所请求的应用。处理器 准备场景的图形部分以便采用MPEG格式传输。当客户端设备收到MPEG传输并且在用户显 示器上显示时,用户可以通过使用与所述客户端设备通信的输入设备来与所显示的内容相 交互。客户端设备通过通信网络向在处理局或其它远程位置处所指配的处理器上运行的应用发送来自用户的输入请求。作为响应,所指配的处理器基于所述请求和MPEG对象的状态 来更新图形布局,所述MPEG对象的状态在下文中全部被称为应用状态。新的元素可以被添 加到场景或者在所述场景内替换,或者可以创建全新的场景。所指配的处理器收集所述场 景的元素和对象,并且所指配的处理器或另一处理器根据所述对象(多个)处理数据和操 作并且产生MPEG格式的修正的图形表示,所述图形表示被传送到收发器以便在用户的电 视上显示。尽管以上段落表明所指配的处理器位于处理局,但是所指配的处理器也可以位 于远程位置并且只需要通过网络连接来与所述处理局通信。类似地,尽管所指配的处理器 被描述为处理与客户端设备的所有事务,但是其它处理器也可以涉及应用的图形布局的内 容(MPEG对象)的请求和装配。图1是示出用于实现本发明的一个版本的通信环境100的框图。通信环境100允 许应用程序员创建与最终用户进行双向交互的应用。最终用户在诸如电视之类的客户端设 备110上观看应用,并且可以通过上游网络120向上游发送命令来与内容相交互,其中上游 和下游可以是相同网络的一部分或者是用于提供到处理局的返回路径链路的独立网络。应 用程序员创建包括一个或多个场景的应用。除在场景内的每个元素是视频序列之外,每个 场景是HTML网页的等同物。应用程序员设计场景的图形表示并且将链接并入元素,诸如音 频和视频文件和对象,诸如所述场景的按钮和控制。应用程序员使用图形创作工具130来 图解选择对象和元素。创作环境130可以包括图形接口,用于允许应用程序员把方法与创 建视频对象的元素相关联。图形可以是采用另一格式的MPEG编码的视频、修整的MPEG视 频、静止图像或视频。应用程序员可以把来自包括内容提供商160(新闻源、电影工作室、 RSS馈送等)和线性广播源(广播媒介和有线、视频点播源和基于网络的视频源)170的多 个源的内容结合到应用中。应用程序员采用AVML(活动视频标记语言)创建应用作为文件 并且向视频内容分发网络150内的代理/高速缓存发送应用文件。所述AVML文件格式是 一种XML格式。例如参见示出采样AVML文件的图1B。内容提供商160可以把视频内容编码为MPEG视频/音频,或者内容可以采用另一 种图形格式(例如JPEG、BITMAP、H263、ffi64、VC-I等)。所述内容随后可以在修整器/缩 放器190中被修整和/或缩放以把所述内容置于优选编码的MPEG格式,所述格式允许缝 合。如果所述内容并未置于优选的MPEG格式,则当要求内容的应用被客户端设备请求时, 处理局将修整所述格式。来自广播媒体服务的线性广播内容170也将被修整,如同来自内 容提供商的内容。优选在修整器/缩放器180中修整和/或缩放线性广播内容,所述修整 器/缩放器180把所述内容编码为优选的MPEG格式以便在把内容传递到处理局之前缝合。来自内容制作者160的视频内容以及由应用程序员创建的应用通过视频内容分 发网络150被分发并且被存储在分发点140。这些分发点被表示为图1内的代理/高速高 速缓存。内容提供商把供视频内容分发网络中的交互式处理局使用的内容放置在代理/高 速高速缓存140的位置。从而,内容提供商160可以向视频内容分发网络150的高速缓存 140提供它们的内容,并且实现当前架构的一个或多个处理局可以在应用需要时通过视频 内容分发网络150来访问所述内容。视频内容分发网络150可以是局部网络、区域网络或 全球网络。从而,当在处理局的虚拟机请求应用时,可以从分发点之一检索所述应用并且可 以从相同或不同的分发点检索如在应用的AVML文件内定义的内容。系统的最终用户可以通过诸如机顶盒之类的客户端设备110向处理局105发送命令来请求交互式会话。在图1中,只示出了单个处理局。然而,在现实应用中,可能存在位于 不同区域中的多个处理局,其中每个处理局与如图IB所示的视频内容分发网络进行通信。 处理局105为交互式会话的最终用户指配处理器。处理器保持包括所有寻址和资源分配的 会话。如在说明书和权利要求中所使用的,术语“虚拟机” 106指的是所指配的处理器,以及 在处理局的其它处理器,所述处理器用于执行诸如在处理局和客户端设备之间的会话管理 以及资源分配(即指配用于交互式会话的处理器)之类的功能。虚拟机106将其地址传送给客户端设备110并且建立交互式会话。然后,用户可以 通过客户端设备Iio请求呈现交互式应用(AVML)。所述请求由虚拟机106接收,并且作为 响应,虚拟机106使AVML文件从代理/高速缓存140中检索并且被安装到可被虚拟机106 访问的存储器高速缓存107中。应当认识到,虚拟机106可以与多个客户端设备110同时 通信并且所述客户端设备可以是不同的设备类型。例如,第一设备可以是蜂窝式电话,第二 设备可以是机顶盒,并且第三设备可以是个人数字助理,其中每个设备访问相同的或不同 的应用。响应于对应用的请求,虚拟机106处理所述应用并且请求元素和MPEG对象,所述 元素和MPEG对象是将从代理/高速缓存移动到与虚拟机106相关联的存储器107中的场 景的一部分。MPEG对象包括视觉组件和可行动组件。视觉组件可以被编码为一个或多个 MPEG片段或者采用另一图形格式来提供。可行动组件可以存储对象的状态,可以包括执行 计算、访问相关联的程序、或者显示覆盖图形以把图形组件标识为活动的。覆盖图形可以通 过把信号传送到客户端设备来产生,其中所述客户端设备在显示设备上的覆盖平面中创建 图形。应当认识到场景不是静态图形,而是包括多个视频帧,其中帧的内容可以随时间改 变。虚拟机106基于场景信息来进行确定,包括应用状态、场景的各个元素和对象的 大小和位置。每个图形元素可以由连续或不连续的MPEG片段形成。虚拟机跟踪每个图形 元素的所有片段的位置。用于定义图形元素的所有片段形成区域。虚拟机106跟踪每个区 域。基于在AVML文件内的显示位置信息,设置在视频帧内元素和背景的片段位置。如果图 形元素并未采用修整格式准备好,则虚拟机把该元素传递到元素渲染器。渲染器把图形元 素渲染为位图并且渲染器把所述位图传递到MPEG元素编码器109。MPEG元素编码器把位 图编码为MPEG视频序列。MPEG编码器处理位图,使得它输出一系列P帧。并未预编码且预 修整的内容的例子是个性化内容。例如,如果用户已经在处理局存储了音乐文件并且要呈 现的图形元素是用户音乐文件的列表,则可能会由虚拟机实时创建此图形作为位图。虚拟 机将把位图传递到元素渲染器108,所述元素渲染器108将渲染所述位图并且把所述位图 传递到MPEG元素编码器109以便修整。在MPEG元素编码器修整图形元素之后,所述MPEG元素编码器109把所述图形元 素传递到存储器107以供虚拟机106稍后检索用于其它用户的其它交互式会话。MPEG编码 器109还把MPEG编码的图形元素传递到缝合器115。可以在与虚拟机106相同或独立的处 理器中实现元素的渲染和元素的MPEG编码。虚拟机106还确定在应用内是否存在任何需 要解释的脚本。如果存在脚本,则由虚拟机106来解释所述脚本。应用中的每个场景可以包括多个元素,所述元素包括静态图形、基于用户交互改 变的对象图形以及视频内容。例如,场景可以包括背景(静态图形),以及具有多个按钮、用于播放音频视频和多媒体内容(对象图形)的媒体播放器,和用于显示流送视频内容的视 频内容窗口(视频内容)。媒体播放器的每个按钮自身可以是包括其自己相关联的方法的 独立的对象图形。虚拟机106获取帧的每个图形元素(背景、媒体播放器图形和视频帧)并且确定 每个元素的位置。一旦获取了所有对象和元素(背景,视频内容),则连同用于元素和MPEG 对象的定位信息一起把所述元素和图形对象传递到缝合器/合成器115。缝合器115根据 由虚拟机106提供的映射来把每个元素(视频内容,按钮,图形,背景)缝合在一起。每个 元素放置在宏块边界上并且当被缝合在一起时所述元素形成MPEG视频帧。基于周期性,场 景帧的所有元素被编码以形成基准P帧以便刷新序列并且避免丢弃的宏块。然后,通过下 游网络把MPEG视频流传送到客户端设备的地址。对每个视频帧来说继续该过程。尽管说 明书把MPEG作为编码过程,但是此系统也可以使用其它编码过程。在处理局105处的虚拟机106或其它处理器或过程保持关于每个元素的信息以及 所述元素在屏幕上的位置。虚拟机106还可以访问用于与每个元素相关联的对象的方法。 例如,媒体播放器可以具有包括多个例程的媒体播放器对象。所述例程可以包括播放、停 止、快进、快退和暂停。每个例程包括代码并且当用户向处理局105发送请求以便激活例程 之一时,访问对象并且运行所述例程。所述例程可以是能够在与虚拟机相关联的操作系统 内运行的基于JAVA的小应用程序、要解释的脚本或独立的计算机程序。处理局105还可以创建链式数据结构,用于根据由处理器从与电视相关联的客户 端设备接收的信号来确定要执行或解释的例程。链式数据结构可以由包括的映射模块来 形成。数据结构把每个资源和相关联的对象相对于每个其它资源和对象相关联。例如,如 果用户已经从事播放控制,则激活媒体播放器对象并且显示视频内容。当在媒体播放器窗 口中播放视频内容时,用户可以按下在用户遥控装置上的方向键。在此例子中,按下方向键 表示按压停止按钮。收发器产生方向信号并且所指配的处理器接收所述方向信号。在处理 局105处的虚拟机106或其它处理器访问链式数据结构并且在按下方向键的方向上定位元 素。数据库指示所述元素是作为媒体播放器对象一部分的停止按钮,并且处理器实现用于 停止视频内容的例程。所述例程将使所请求的内容停止。最后的视频内容帧将被冻结,并 且按下的停止按钮图形将被缝合器模块交织到所述帧中。所述例程还可以包括用于在停止 按钮周围提供焦点的焦点图形。例如,虚拟机可以使缝合器利用1个宏块宽的边框来封闭 具有焦点的图形。从而,当解码并显示视频帧时,用户将能够标识用户可以与之相交互的图 形/对象。然后,帧被传递到复用器并且通过下游网络发送到客户端设备。MPEG编码的视 频帧由在客户端设备(蜂窝电话,PDA)或独立的显示设备(监视器,电视)上显示的客户 端设备来解码。此过程以最小延迟出现。从而,来自应用的每个场景产生多个视频帧,每个 视频帧表示媒体播放器应用状态的快照。虚拟机106将重复地接收来自客户端设备的命令 并且响应于所述命令将直接或间接地访问对象,并且响应于用户交互和应用交互模型来执 行或解释对象的例程。在此类系统中,在用户的电视上显示的视频内容材料仅仅是解码的 MPEG内容,并且交互作用的所有处理出现在处理局并且由所指配的虚拟机协调。从而,客户 端设备只需要解码器并且不需要缓存或处理任何内容。应当认识到通过来自客户端设备的用户请求,处理局可以把视频元素替换为另一 视频元素。例如,用户可以从电影列表中选择以进行显示,并且因此如果用户选择在两部电影之间进行切换,则第一视频内容元素将由第二视频内容元素来替换。用于保持每个元素 和形成元素的区域的位置列表的虚拟机可以容易地替换在创建新MPEG视频帧的场景内的 元素,其中所述帧被缝合在一起以便把新的元素包括在缝合器115中。图IA示出了在数字内容分发网络100A、内容提供商IlOA和处理局120A之间的相 互操作。在此例子中,内容提供商130A把内容分发到视频内容分发网络100A中。内容提 供商130A或与视频内容分发网络相关联的处理器把内容转换为与处理局120A创建交互式 MPEG内容兼容的MPEG格式。如果内容属于全球/国家范围,则数字内容分发网络100A的 内容管理服务器140A在位于不同区域的代理/高速缓存150A-154A当中分发MPEG编码的 内容。如果内容属于区域/本地范围,则所述内容将驻留在区域/本地代理/高速缓存。所 述内容可以在不同的位置在整个国家或世界被镜像以便增加访问次数。当最终用户通过他 们的客户端设备160A请求来自区域处理局的应用时,所述区域处理局将访问所请求的应 用。所请求的应用可以位于视频内容分发网络内,或者所述应用可以本地驻留在区域处理 局或者在互连处理局的网络内。一旦检索到应用,则在区域处理局处指配的虚拟机将确定 需要检索的视频内容。内容管理服务器140A辅助虚拟机在视频内容分发网络内定位内容。 内容管理服务器140A可以确定所述内容是否位于区域或本地代理/高速缓存上并且还定 位最接近的代理/高速缓存。例如,所述应用可以包括广告并且内容管理服务器将指导虚 拟机从局域代理/高速缓存检索广告。如图IA所示,中西部和东南部区域处理局120A也 具有本地代理/高速缓存153A、154A。这些代理/高速缓存可以包含本地新闻和本地广告。 从而,被呈现给东南部最终用户的场景可能不同于呈现给中西部最终用户的场景。可以向 每个最终用户呈现不同的本地新闻故事或不同的广告。一旦检索到内容和应用,则虚拟机 处理所述内容并且创建MPEG视频流。然后,把MPEG视频流导向请求客户端设备。然后,最 终用户可以与内容相交互以便请求具有新内容的已更新场景,并且在处理局处的虚拟机将 通过从视频内容分发网络的代理/高速缓存请求新的视频内容来更新场景。创作环境创作环境包括如图IC所示的用于开发交互式应用的图形编辑器。应用包括一个 或多个场景(scene)。如图IB所示,应用窗口示出了应用由三个场景(scenel,scene2, scene3)组成。图形编辑器允许开发者选择将要置于场景中的元素以便形成最终在与用户 相关联的显示设备上示出的显示。在一些实施例中,元素被拖放到应用窗口中。例如,开发 者可能想要包括媒体播放器对象和媒体播放器按钮对象,并且将从工具条中选择这些元素 并且把所述元素拖放到窗口中。一旦图形元素处于窗口中,开发者就可以选择元素并且提 供用于所述元素的属性窗口。属性窗口至少包括图形元素的位置(地址)和图形元素的大 小。如果图形元素与对象相关联,则属性窗口将包括用于允许开发者切换到位图事件屏幕 并且更改相关联的对象参数的制表符。例如,用户可以改变与按钮相关联的功能或者可以 定义与所述按钮相关联的节目。如图ID所示,系统的缝合器基于作为创作环境输出的AVML文件来创建用于场景 的一系列MPEG帧。场景内的每个元素/图形对象由用于定义区域的不同片段组成。用于 定义元素/对象的区域可以是连续或不连续的。系统抓拍用于在宏块边界上形成图形的片 段。每个元素不必具有连续的片段。例如,背景具有多个不连续的片段,每个片段由多个宏 块组成。如果背景是静态的,则它可以由帧内编码宏块来定义。类似地,每个按钮的图形可9/24 页
以被帧内编码;然而所述按钮与状态相关联并且具有多个可能的图形。例如,所述按钮可以 具有第一状态“关闭”和第二状态“开启”,其中第一图形示出了处于未按压状态的按钮的图 像并且第二图形示出了处于按压状态的按钮。图IC还示出了第三图形元素,其是电影的窗 口。电影片段利用帧内编码和帧间编码宏块的混合来进行编码并且基于内容动态地改变。 类似地如果背景是动态的,则所述背景可以利用帧内编码和帧间编码宏块来编码,其也服 从下面关于修整的要求。当用户通过客户端设备选择应用时,处理局将依照来自创作环境的图形编辑器的 布局把元素缝合在一起。创作环境的输出包括活动视频标记语言文件(AVML)。AVML文件提 供关于多状态元素的状态信息,诸如按钮、相关联图形的地址和图形的大小。AVML文件指示 在每个元素的MPEG帧内的位置,指示与每个元素相关联的对象,并且包括用于定义MPEG帧 基于用户动作的改变的脚本。例如,用户可以向处理局发送指令信号并且所述处理局将使 用AVML文件来基于所接收到的指令信号构造新的MPEG帧集合。用户可能想要在各个视频 元素之间切换并且可以向处理局发送指令信号。处理局将去除帧布局内的视频元素,并且 将选择第二视频元素以便把第二视频元素缝合到在第一视频元素的位置的MPEG帧中。下 面将描述此过程。AVML 文件应用编程环境输出AVML文件。AVML文件具有基于XML的句法。AVML文件句法包 括根对象<AVML>。其它顶级标签包括〈initialscene〉,用于指定将在应用开始时加载的第 一场景。〈script〉标签标识脚本并且〈scene〉标签标识场景。在每个顶级标签下还可能 存在下级标签,使得在所述标签内存在用于应用数据的体系。例如,顶级流标签可以包括 视步页流的〈aspect ratio>、〈video format)> <bit rate>、〈audio format)禾P〈audio bit rate〉。类似地,场景标签可以包括所述场景内的每个元素。例如,〈background〉用于背景、 〈button〉用于按钮对象,并且〈static image〉用于静止图形。其它标签包括用于元素大小 和位置的〈size〉和<poS>并且可以是场景内每个元素的下级标签。在图IB中提供了 AVML 文件的例子。修整器图2是可以被提供到请求客户端设备的电视的代表性画面的视图。显示器200示 出了在屏幕上出现的三个独立的视频内容元素。元素#1211是其中插入有元素#2215和元 素#3217的背景。图3示出了可以生成图2的画面的系统的第一实施例。在此视图中,进入三个视 频内容元素作为编码的视频元素#1303,元素#2305和元素#3307。修整器310均接收编 码的视频内容元素,并且修整器在缝合器340把修整的视频内容元素组合到单个合成视频 380中之前处理每个元素。本领域普通技术人员应当理解,修整器310可以是单个处理器或 者并行操作的多个处理器。修整器可以位于处理局、内容提供商的设施,或者线性广播提供 商的设施内。修整器可以不直接连接到缝合器,如图1所示,其中修整器190和180并未直 接耦合到缝合器115。下面描述了缝合过程并且如果首先已经修整了元素则可以以更加有效的方式来 执行该缝合过程。修整去除了存在于压缩视频中的一些依存性。修整器将把I和B帧转换为P帧并且将固定任何杂散运动向量,所述杂散运动向量引用已经被切割或去除的另一视频帧的一 部分。从而,可以结合其它修整的视频流和编码的静止图像来使用修整的视频流以形成合 成的MPEG视频流。每个修整的视频流包括多个帧并且所述帧可以被容易地插入到另一修 整帧中,其中把合成帧分组到一起以形成MPEG视频流。应当注意,修整的帧可以由一个或 多个MPEG片段形成并且其大小可以比MPEG视频流中的MPEG视频帧更小。图4是包含多个元素410、420的合成视频帧的例子。为了说明性目的提供了此合 成视频帧。如图1所示的修整器只接收单个元素并且修整所述元素(视频序列),使得所述 视频序列可以在缝合器中被缝合在一起。修整器并不同时接收多个元素。在此例子中,背 景视频帧410包括每个片段1行(这只是例子;所述行可以由任何数目的片段组成)。如 图1所示,包括场景内所有元素位置的视频帧的布局由应用程序员在AVML文件中定义。例 如,应用程序员可以为场景设计背景元素。从而,应用程序员可以使背景被编码为MPEG视 频并且可以在把所述背景置于代理高速缓存140之前修整所述背景。因此,当请求应用时, 应用场景内的每个元素可以是修整的视频并且可以容易地把修整的视频缝合在一起。应当 注意,尽管在图1内示出了对内容提供商和线性广播电台的两个修整器,但是在系统的其 它部分也可以存在修整器。如图所示,把视频元素420插入到背景视频帧410内(也只是例如;此元素也可以 由每行多个片段组成)。如果原始视频帧410内的宏块引用另一宏块来确定其值,并且因为 把视频图像420插入到基准宏块的位置中,所以从帧中去除所述基准宏块,则需要重新计 算宏块值。类似地,如果宏块引用随后帧中的另一宏块和去除该宏块并且把其它源材料插 入到它的位置中,则需要重新计算宏块值。这通过修整视频430来解决。处理视频帧使得 一行包含多个片段,其中一些片段被明确调整大小和位置以便匹配替换的视频内容。在完 成此过程之后,利用覆盖视频代替一些当前片段以产生具有覆盖440的修整视频是一个很 简单的任务。已经特别地定义了修整的视频流来解决该特定的覆盖。不同的覆盖指示不同 的修整参数。从而,这种类型的修整解决把视频帧分段为片段以准备缝合的过程。应当注 意,从不需要把片段添加到覆盖元素。片段只被添加到接收元素,也就是其中将放置覆盖的 元素。修整的视频流可以包含关于流的修整特性的信息。可以提供的特性包括1.修整窗 口的左上方和右下方边角的位置。2.只是左上方边角的位置以及窗口的大小。片段的大小 精确到像素级。还存在两种方式用于在视频流中提供特性信息。第一是在片段头部中提供该信 息。第二是在延长的数据片段结构中提供该信息。这两个选项中的任何一个可以用来把必 要的信息成功地传递到将来的处理阶段,诸如虚拟机和缝合器。图5示出了在修整前后的视频图形元素的视频序列。原始的进入编码流500具有 如本领域普通技术人员所知的MPEG I帧510、B帧530550和P帧570序列。在此原始流 中,I帧被用作所有其它帧的基准512,B和P两者。这经由从I帧到所有其它帧的箭头来 示出。而且,P帧被用作两个B帧的基准帧572。修整器处理流并且利用P帧代替所有帧。 首先原始的I帧510被转换为帧内编码P帧520。接下来,B帧530、550被转换535为P帧 540和560并且被修改为只引用紧接着的先前帧。而且,P帧570被修改为把它们的基准 574从原始的I帧510移动到在它们前面刚刚新创建的P帧560。在修整的编码帧590的 输出流中示出了所产生的P帧580。
图6是标准的MPEG-2比特流文法的视图。MPEG-2被用作例子并且本发明不应当 被视为仅限于此例子。比特流的分级结构起始于序列级。这包含序列头部600,后面是图 片组(GOP)数据605。GOP数据包含GOP头部620,后面是图片数据625。图片数据625包 含图片头部640,后面是片段数据645。片段数据645由后面是宏块数据665的一些片段开 销660组成。最后,宏块数据665由后面是数据块685的一些宏块开销680组成(数据块 被进一步分解,但是对于此引用的目的来说并不要求这样)。序列头部在修整器中充当规范 (normal)。然而,由于所有帧都是P帧,所以不存在修整器的GOP头部输出。头部的余项可 以被修改为满足所要求的输出参数。图7提供了用于修整视频序列的流程。首先,确定700帧类型1帧703、B帧705 或P帧707。I帧703像B帧705 —样需要被转换为P帧。另外,I帧需要匹配缝合器所要 求的图片信息。例如,此信息可以指示在图片头部中设置的编码参数。因此,第一步骤是修 改图片头部信息730使得在图片头部中的信息对所有修整的视频序列来说都是一致的。缝 合器设置是可以包括在应用中的系统级设置。这些是将用于所有级别的比特流的参数。在 下表中提供了要求修改的项表1 图片头部信息
权利要求
1.一种用于通过非管理网络向与用户相关联的显示设备提供交互式内容的方法,所述 显示设备通过管理网络接收广播视频内容,所述方法包括通过所述非管理网络从连接网络的客户端设备接收对交互式内容的请求;通过所述非管理网络向所述连接网络的客户端设备发送具有交互式内容的第一编码 数据流;在从所述管理网络接收广播内容信号和从所述非管理网络接收具有交互式内容的所 述第一编码数据流之间进行切换;以及在所述用户的显示设备上输出所述交互式内容以显示。
2.根据权利要求1所述的方法,其中,所述广播内容信号包含多个广播节目。
3.根据权利要求2所述的方法,其中,所述联网的客户端设备选择性地输出广播节目 之一。
4.根据权利要求1所述的方法,其中,所述管理网络具有单向传输路径。
5.根据权利要求1所述的方法,其中,所述管理网络是卫星网络。
6.根据权利要求1所述的方法,其中,所述管理网络是IP电视网络。
7.根据权利要求1所述的方法,其中,所述管理网络是有线电视网络。
8.根据权利要求1所述的方法,其中,所述非管理网络和所述管理网络通过单个通信 链路操作。
9.根据权利要求1所述的方法,其中,所述交互式内容标识符是触发器。
10.根据权利要求9所述的方法,其中,所述触发器位于广播节目内。
11.根据权利要求9所述的方法,其中,所述触发器具有期满时间。
12.根据权利要求11所述的方法,进一步包括当从用户输入设备接收到交互式内容请求信号时,标识在所选择的广播节目内的所述 触发器。
13.根据权利要求12所述的方法,其中,从所述客户端设备发送包括在对交互式内容的用户请求内向处理局至少发送所述触发器的记号。
14.一种用于通过管理网络接收广播节目并且通过非管理网络请求和接收交互式内容 的客户端设备,所述客户端设备包括管理网络端口,用于接收具有一个或多个相关联触发器的广播节目;处理器,用于创建对交互式内容的请求,其中所述处理器基于与所述广播节目相关联 的当前触发器来创建所述请求;非管理网络端口,用于向处理局传送对交互式内容的所述请求并且用于从所述处理局 接收所述交互式内容。
15.根据权利要求14所述的客户端设备,进一步包括用户输入接收机,用于接收用于表示交互式内容的选择的用户输入信号。
16.根据权利要求15所述的客户端设备,其中,当所述用户输入接收机从用户输入设 备接收用户输入信号时,所述处理器创建对交互式内容的请求。
17.根据权利要求15所述的客户端设备,其中,响应于用户输入,所述处理器发送对更 新的交互式内容的请求。
18.根据权利要求14所述的客户端设备,其中,不在所述客户端设备上渲染所述交互式内容。
19.根据权利要求14所述的客户端设备,进一步包括切换模块,用于响应于所述用户输入信号在所述管理网络端口和所述非管理网络端口 之间进行切换。
20.根据权利要求14所述的客户端设备,其中,所述处理器在向显示设备输出所述交 互式内容之前解码所述交互式内容。
21.根据权利要求14所述的客户端设备,其中,所述管理网络端口是卫星网络端口并 且所述处理器解码从卫星传送的第一格式的广播节目。
22.根据权利要求21所述的客户端设备,其中,所述处理器解码以第二格式编码的交 互式内容。
23.根据权利要求21所述的客户端设备,其中,所述用户输入接收机是用于从用户的 遥控装置接收传输的红外接收机。
24.一种在计算机可读储存介质上具有计算机代码的计算机程序产品,所述计算机代 码可与处理器一起操作以通过非管理网络向用户的显示设备提供交互式内容,所述计算机 代码包括用于在客户端设备处通过管理网络接收包含交互式标识符的广播内容信号的计算机 代码;用于通过所述非管理网络基于所述交互式标识符从所述客户端设备发送对交互式内 容的请求的计算机代码;用于在所述客户端设备处从所述管理网络接收数据和从所述非管理网络接收数据之 间进行切换的计算机代码;用于在所述客户端设备处从所述非管理网络接收所请求的交互式内容的计算机代码;以及用于输出所述交互式内容以在所述用户的显示设备上显示的计算机代码。
25.根据权利要求M所述的计算机程序产品,其中,所述广播内容信号包含多个广播 节目。
26.根据权利要求M所述的计算机程序产品,进一步包括用于选择性地输出所述广播节目之一的计算机代码。
27.根据权利要求M所述的计算机程序产品,其中,所述管理网络是卫星网络。
28.根据权利要求M所述的计算机程序产品,其中,所述管理网络是IP电视网络。
29.根据权利要求M所述的计算机程序产品,其中,所述管理网络是有线电视网络。
30.根据权利要求M所述的计算机程序产品,其中,所述交互式标识符具有期满时间。
31.根据权利要求M所述的计算机程序产品,进一步包括用于当从用户输入设备接收到交互式内容请求信号时标识在所选择的广播节目内的 所述交互式标识符的计算机代码。
32.根据权利要求M所述的计算机程序产品,其中,用于从所述客户端设备发送的所 述计算机代码包括用于在交互式内容的用户请求内向处理局至少发送所述交互式标识符的记号的计算 机代码。3
33.根据权利要求1所述的方法,其中,所述客户端设备包括两个独立的附件,其中第 一附件从所述管理网络接收数据并且第二附件从所述非管理网络传送和接收数据。
34.根据权利要求33所述的方法,其中,切换要求在所述第一附件和所述第二附件之 间传送的信号。
35.一种用于向与客户端设备相关联的显示设备提供修改的视频内容的方法,所述客 户端设备通过管理网络接收视频内容,所述方法包括在远离与订户相关联的客户端设备的位置接收视频内容信号的传输; 通过把至少一个其它视频信号连同所述视频内容信号缝合在一起来修改所述视频内 容信号;在非管理网络上向耦合到所述管理网络的客户端设备传送已修改的视频内容信号; 其中,已修改的视频内容信号包括信号分量,用来向所述客户端设备指示在从所述管 理网络输出所述视频节目和在所述非管理网络上输出已修改的视频节目之间进行切换。
36.根据权利要求1所述的方法,其中,具有交互式内容的第一编码数据流包括广播内
全文摘要
客户端设备在客户端设备处通过管理网络接收包含交互式标识符的广播内容信号。交互式标识符可以是在头部中包括的或者在数字视频数据内嵌入的触发器。触发器可以具有时间分量,其中所述触发器可以在某个时间段之后期满。响应于触发器的标识,客户端设备通过非管理网络发送对交互式内容的用户请求。例如,管理网络可以是单向卫星电视网络、IP电视网络或有线电视网络,并且非管理网络可以是因特网。客户端设备在从管理网络接收数据和从非管理网络接收数据之间进行切换。
文档编号G08C23/04GK102132578SQ200980133131
公开日2011年7月20日 申请日期2009年6月22日 优先权日2008年6月25日
发明者安德烈·马尔沙文, 安德烈亚斯·伦纳特松, 弗拉迪·沙姆金, 李学民, 杰里米·埃德蒙德斯, 查尔斯·劳伦斯, 格里高利·E·布朗, 约书亚·达尔比, 莱娜·Y·帕夫洛夫斯卡娅 申请人:活动视频网络有限公司