专利名称:交互式电视环境中的自动视频节目记录的制作方法
技术领域:
本发明涉及用于向远程设备提供与广播内容相结合的交互内容的系统和方法,其 中,当选择交互内容时,广播内容被记录用于在与远程设备相关联的显示设备上进行回放。
背景技术:
在有线电视系统中,有线头端向一个或多个订户传送内容,其中,内容是以编码形 式进行传送的。典型地,内容被编码为数字MPEG视频,并且每个订户具有能够对MPEG视频 流进行解码的机顶盒或有线卡。除了提供线性内容之外,有线电视提供者现在可以提供交 互内容,诸如web页面或围墙花园(walled-garden)内容。随着因特网已经变得更加动态, 包括web页面上的视频内容并且需要用于对视频内容进行解码的应用或脚本,因此有线电 视提供者已经适应了允许订户能够观看这些动态web页面。为了合成用于以编码形式传送 到请求订户的动态web页面,有线头端检索请求的web页面并且渲染该web页面。因此,有 线头端必须首先对动态web页面中出现的任何编码内容进行解码。例如,如果视频将在web 页面上进行播放,则头端必须检索编码视频,并且对视频的每个帧进行解码。然后,有线头 端渲染每个帧以形成因特网web页面的位像序列。因此,如果首先对形成web页面的 所有内容进行解码,则web页面仅可以被一起合成。只要合成帧是完整的,合成视频就被发 送到诸如MPEG编码器的编码器以被重新编码。然后,压缩的MPEG视频帧在MPEG视频流中 被发送到用户的机顶盒。由于所有编码内容必须首先被解码,然后被合成、渲染和重新编码,因此在有线电 视网络中创建这样的合成编码视频帧需要密集的CPU和存储器处理。具体地,有线头端必 须实时地对所有内容进行解码和重新编码。因此,允许用户在具有动态web页面的交互环 境中操作由于所需的处理而对于有线电视运营商而言成本非常高。此外,这样的系统具有 图像质量由于编码视频的重新编码而被劣化的另外的缺陷。
发明内容
本发明的实施例公开了一种用于对至少一个合成编码视频帧进行编码以在显示 设备上进行显示的系统。该系统包括基于标记语言的图形布局,该图形布局包括用于至少 第一编码源和第二编码源的合成帧内的帧位置。此外,该系统具有拼接器(stitcher)模 块,该拼接器模块用于根据图形布局的帧位置将第一编码源和第二编码源拼接在一起。拼 接器在不必对用于至少第一源的基于块的变换编码数据进行解码的情况下形成编码帧。可 以使用MPEG标准、AVS、VC-1或者另一基于块的编码协议中的一个来对编码视频进行编码。
4
在本发明的特定实施例中,该系统允许用户与显示设备上的图形元素进行交互。 处理器保持关于图形布局中识别的一个或多个图形元素的状态信息。图形布局中的图形元 素与编码源中的一个相关联。用户通过与系统进行通信的客户端设备来传送改变图形元素 中的一个的状态的请求。对于状态改变的请求使处理器来登记状态改变并且获得新的编码 源。处理器使拼接器拼接新的编码源以代替表示图形元素的编码源。处理器还可以执行或 解释与图形元素相关联的计算机代码。例如,图形元素可以是具有多个状态的按钮对象、对于每个状态的关联编码内容 和与每个状态相关联的方法。该系统还可以包括用于向客户端设备传送合成视频内容的发 射机。然后,客户端设备可以对合成视频内容进行解码,并且使合成视频内容在显示设备上 进行显示。在特定实施例中,图形布局内的每个图形元素与一个或多个编码MPEG视频帧或 者部分视频帧(诸如一个或多个宏块或切片)相关联。合成器可以在MPEG视频流中重复 使用单个图形元素。例如,按钮可以仅是处于一个状态的单个视频帧和处于另一状态的单 个视频帧,并且该按钮可以与MPEG编码视频内容合成在一起,其中,表示按钮的编码宏块 被拼接到每个帧中的MPEG编码视频内容。本发明的其他实施例公开了一种用于创建形成MPEG视频流的一个或多个合成 MPEG视频帧的系统。MPEG视频流被提供给包括MPEG解码器的客户端设备。客户端设备对 MPEG视频流进行解码,并且将视频输出到显示设备。通过获得用于视频帧的图形布局来创 建合成MPEG视频帧。图形布局包括用于至少第一 MPEG源和第二 MPEG源的合成MPEG视 频帧内的帧位置。基于图形布局来获得第一 MPEG源和第二 MPEG源。第一 MPEG源和第二 MPEG源被提供给拼接器模块。拼接器模块在不必对MPEG源的宏块数据进行解码的情况下, 根据图形布局的帧位置来将第一 MPEG源和第二 MPEG源拼接在一起以形成MPEG帧。在特 定实施例中,MPEG源仅被解码为切片层,并且处理器保持用于第一 MPEG源和第二 MPEG源 的帧内的切片的位置。对于MPEG数据的每个帧重复该过程,以便于形成MPEG视频流。在特定实施例中,该系统包括修饰器(groomer)。修饰器对MPEG源进行修饰 (groom),使得MPEG源的每个MPEG元素被转换为MPEGP帧格式。修饰器模块还可以识别第 二 MPEG源中的包括参考第一 MPEG源中的部分的其他宏块的运动向量的任何宏块,并且将 这些宏块重新编码为帧内编码宏块。该系统可以包括MPEG源和使MPEG源形成MPEG对象的方法之间的关联。在这样 的系统中,处理器将接收来自客户端设备的请求并且响应于该请求,可以使用MPEG对象的 方法。该方法可以改变MPEG对象的状态,并且引发对不同的MPEG源的选择。因此,拼接器 可以利用第三MPEG源来代替第一 MPEG源,并且将第三MPEG源和第二 MPEG源拼接在一起 以形成视频帧。视频帧将被流送到客户端设备,并且客户端设备可以对更新的MPEG视频帧 进行解码,并且在客户端的显示设备上显示更新的材料。例如,MPEG按钮对象可以具有“开 启”状态和“关闭”状态,并且MPEG按钮对象还可以包括由形成切片的多个宏块组成的两个 MPEG图形。响应于客户端请求将按钮状态从关闭改变为开启,一种方法将更新该状态,并且 使表示“开启,,按钮的MPEG编码图形传递到拼接器。在特定实施例中,可以从未编码的图形或者不是MPEG编码的图形以及修饰的 MPEG视频源来构建视频帧。未编码的图形可以首先被渲染。例如,背景可以被渲染为位图。 然后,可以将背景编码为被划分成切片的一系列MPEG宏块。然后,拼接器可以将背景和修
5饰的MPEG视频内容拼接在一起以形成MPEG视频流。然后,可以保存背景用于以后的重新 使用。在这样的配置中,背景将具有切除区域,其中,这些区域中的切片将不具有关联数据, 因此视频内容切片可以被插入到切除区域中。在其他实施例中,可以接收实时广播并且对 其进行修饰以创建MPEG视频流。在特定实施例中,数字视频记录器(DVR)与客户端设备相关联或者是客户端设备 的一部分。在这样的实施例中,当系统的用户在观看广播视频节目的同时选择可选择的材 料时,可能出现自动记录。可选择的材料可以是视频节目帧的一部分,或者可以是插入在视 频节目帧之间的单独的帧。例如,电视屏幕可以包括视频节目和诸如广告的可选择的材料 二者。在其他实施例中,广告可以被散布在广播视频节目中。客户端设备包括处理模块,该 处理模块可以从用户接口设备接收指示用户已经选择了交互内容的用户选择。处理模块与 处理处进行通信以检索交互内容。将向用户呈现诸如与广告相关联的内容的交互内容。例 如,如果汽车广告与视频节目一起显示,则用户可以选择汽车广告,并且可以向用户提供用 于对汽车进行询价和配置的交互式屏幕。广播视频节目不再被显示在用户电视上,并且交 互内容替换视频节目。当通过客户端设备向用户呈现交互内容时,DVR记录视频节目。客户端设备包括 用于从处理处接收通信并且向处理处发送请求的输入。当客户端设备的处理模块从用户接 口接收到退出交互内容的信号时,处理模块使视频记录器开始在用户的电视上回放所记录 的视频节目。因此,用户不会由于切换到交互内容而错过视频节目的任何部分。视频节目 和可选择的材料可以被构建为MPEG对象,并且在MPEG流中作为MPEG元素被传送到客户端 设备。类似地,与可选择的材料相关联的交互内容还可以由多个MPEG对象组成。处理处保 持关于MPEG对象的状态信息。
通过参考附图来参考如下详细描述,将更易于理解本发明的前述特征,在附图 中图1是示出用于实现本发明的一个版本的通信环境的框图;图IA示出了地区处理处和视频内容分发网络;图IB是合成流呈现和交互布局文件的示例;图IC示出了创作环境内的帧的构建;图ID示出了按宏块将帧分解为元素;图2是示出合成到显示器上的多个源的示图;图3是并入修饰的系统的示图;图4是示出修饰之前、修饰之后以及在修饰部分中具有视频重叠的视频帧的示 图;图5是示出例如移除B帧的如何完成修饰的示图;图6是示出MPEG帧结构的示图;图7是示出用于I帧、B帧和P帧的修饰过程的流程图;图8是描绘移除区域边界运动向量的示图;图9是示出DCT系数的重新排序的示6
图10示出了可替选的修饰器;图11示出了用于拼接器模块的环境;图12是示出彼此相关的开始于随机位置的视频帧的示图;图13是具有合成在图片内的多个MPEG元素的显示的示图;图14是示出由多个元素组成的图片的切片分解的示图;图15是示出为拼接准备的基于切片的编码的示图;图16是详细示出将视频元素合成为图片的示图;图17是详细示出将16X 16大小的宏块元素合成为包括24X24大小的宏块的背 景的示图;图18是描绘帧的元素的示图;图19是示出合成多个编码元素的流程图;图20是示出合成元素不需要是矩形也不需要相邻的示图;图21示出了其中单个元素是不相邻的屏幕上的元素的示图;图22示出了用于对线性广播内容进行修饰以多播到多个处理处和/或会话处理 器的修饰器;图23示出了当在显示设备上显示时的定制拼嵌图(mosaic)的示例;图24是用于提供交互式MPEG内容的基于IP的网络的示图;图24A示出了与可选择的内容一起显示在电视上的MPEG内容;图24B示出了用户已经选择了交互内容之后的交互内容屏幕;图24C示出了视频节目的画面,其中DVR开始回放在用户选择可选择的视频内容 时的视频节目中的点的内容;图24D是用于在用户选择诸如图24A中所示的可选择的材料时自动进行数字视频 记录的过程的流程图;图24E是接续图24D的流程图的流程图;图25是用于提供交互式MPEG内容的基于有线的网络的示图;图26是用于通过基于有线的网络使用的负载均衡器的资源分配过程的流程图;图27是用于示出用于负载均衡的有线网络元件之间的通信的系统示图;以及图28示出了客户端设备和关联的数字视频记录器。
具体实施例方式如以下详细描述和所附权利要求中使用的,术语“区域”应当指相邻的或不相邻的 MPEG (运动图片专家组)切片的逻辑分组。当使用术语“MPEG”时,应当指包括MPEG-2和 MPEG-4的MPEG标准的所有变化形式。如以下实施例中描述的本发明提供了交互式MPEG内 容以及在处理处和具有诸如电视的关联显示器的客户端设备之间的通信的环境。尽管本发 明特定地参考MPEG规范和编码,但是本发明的原理可以利用基于块的变换为基础的其他 编码技术。如以下说明书和所附权利要求中使用的,术语编码、编码的、进行编码应当指的 是压缩数字数据信号并且根据协议或标准来对压缩数字数据信号进行格式化的过程。编码 视频数据可以处于除了空间表示的任何状态。例如,编码视频数据可以被变换编码、量化和 熵编码或其任何组合。因此,已经被变换编码的数据将被视为被编码。
7
尽管本申请涉及如电视的显示设备,但是显示设备也可以是蜂窝电话、个人数字 助理(PDA)或者包括显示器的其他设备。包括诸如可以对MPEG内容进行解码的机顶盒的 解码设备的客户端设备与用户的显示设备相关联。在特定实施例中,解码器可以是显示设 备的一部分。交互式MPEG内容是在创作环境中创建的,该环境允许应用设计者设计交互 式MPEG内容,从包括来自内容提供者和线性广播提供者的视频内容的各种元素创建具有 一个或多个场景的应用。应用文件是以有效视频标记语言(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格式的修正图形表示,用于在用户的电视上进行显示。尽管上述通道指示所指配的处 理器位于处理处处,但是所指配的处理器可以位于远程位置,并且仅需要通过网络连接来 与处理处进行通信。类似地,尽管所指配的处理器被描述为处理与客户端设备的所有事务, 但是其他处理器也可能涉及关于应用的图形布局的内容(MPEG对象)的请求和组装。图1是示出用于实现本发明的一个版本的通信环境100的框图。通信环境100允 许应用设计者创建用于与终端用户进行双向交互的应用。终端用户在诸如电视的客户端设备110上查看应用,并且可以通过经由上游网络120向上游发送命令来与内容进行交互,其 中,上游和下游可以是向处理处提供返回路径链路的同一网络或独立的网络的一部分。应 用设计者创建包括一个或多个场景的应用。每个场景等同于HTML网页,不同之处在于场景 内的每个元素是视频序列。应用设计者设计场景的图形表示,并且将链接并入诸如音频和 视频文件的元素以及诸如场景的按钮和控制的对象。应用设计者使用图形创作工具130来 以图形方式选择对象和元素。创作环境130可以包括图形界面,该图形界面允许应用设计 者使方法与创建视频对象的元素相关联。图形可以是MPEG编码视频、修饰MPEG视频、另一 格式的静态图像或者视频。应用设计者可以将来自许多个源的内容并入到应用中,这些源 包括内容提供者160(新闻源、电影演播室、RSS种子等)和线性广播源(广播媒体和有线电 视、点播视频源和基于web的视频源)170。应用设计者将应用创建为AVML(有效视频标记 语言)文件,并且将应用文件发送到视频内容分发网络150内的代理/缓存140。AVML文 件格式是XML格式。例如,参见示出了样本AVML文件的图IB。内容提供者160可以将视频内容编码为MPEG视频/音频,或者内容可以具有另一 图形格式(例如,JPEG、BITMAP、H263、H264、VC-1等)。该内容随后可以在修饰器/调节器 (scaler) 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进 行通信,并且客户端设备可以是不同的设备类型。例如,第一设备可以是蜂窝电话,第二设
9备可以是机顶盒,而第三设备可以是个人数字助理,其中,每个设备访问同一或不同的应用程序。响应于对应用的请求,虚拟机106对应用进行处理,并且请求作为将从代理/缓存 移动到与虚拟机106相关联的存储器107内的场景的部分的元素和MPEG对象。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。元素的渲染和元素的MPEG编 码可以在与虚拟机106相同或分立的处理器中完成。虚拟机106还确定应用内是否存在需 要被解释的脚本。如果存在脚本,则由虚拟机106来解释脚本。应用中的每个场景可以包括多个元素,这些元素包括静态图形、基于用户交互改 变的对象图形和视频内容。例如,场景可以包括背景(静态图形),以及用于回放音频、视频 和多媒体内容(对象图形)的具有多个按钮的媒体播放器,以及用于显示流视频内容的视 频内容窗口(视频内容)。媒体播放器的每个按钮本身可以是包括其自己的关联方法的独 立的对象图形。虚拟机106获取帧的图形元素(背景、媒体播放器图形和视频帧)中的每一个并 且确定每个元素的位置。一旦获取了所有对象和元素(背景、视频内容),则元素和图形对 象与元素和MPEG对象的定位信息一起被传递到拼接器/合成器115。拼接器115根据虚拟 机106提供的映射将元素(视频内容、按钮、图形、背景)的每一个拼接在一起。元素的每 一个被置于宏块边界上,并且元素在被拼接在一起时形成MPEG视频帧。场景帧的所有元素 被周期性地编码以形成参考P帧以便于刷新序列并且避免漏掉宏块。然后,MPEG视频流通 过下游网络被传送到客户端设备的地址。该过程针对视频帧的每一个继续。尽管说明书涉 及MPEG作为编码过程,但是其他编码过程也可以由该系统来使用。处理处105处的虚拟机106或者其他处理器或过程保持关于元素的每一个和元素
10在屏幕上的位置的信息。虚拟机106还访问用于与元素的每一个相关联的对象的方法。例 如,媒体播放器可以具有包括多个例程的媒体播放器对象。该例程可以包括播放、停止、快 进、后退和暂停。例程的每一个都包括代码,并且在用户向处理处105发送对于激活例程中 的一个的请求之后,该对象被访问,并且该例程运行。例程可以是基于JAVA的小程序、要解 释的脚本或者能够在与虚拟机相关联的操作系统内运行的独立的计算机程序。处理处105还可以创建用于基于由处理器从与电视相关联的客户端设备接收到 的信号来确定要执行或解释的例程的链接数据结构。该链接数据结构可以由包括的映射模 块来形成。该数据结构使每个资源与关于每个其他资源和对象的关联对象相关联。例如, 如果用户已经使用了播放控制,则媒体播放器对象被激活,并且视频内容被显示。当在媒体 播放器窗口中播放视频内容时,用户可以按下用户的遥控器上的方向键。在该示例中,方向 键的按下指示按动停止按钮。收发机产生方向信号,并且所指配的处理器接收该方向信号。 虚拟机106或处理处105处的其他处理器访问链接数据结构,并且在方向键按动的方向上 定位元素。数据库指示元素是作为媒体播放器对象的一部分的停止按钮,并且处理器实现 用于停止视频内容的例程。该例程将使所请求的内容停止。最后的视频内容帧将被冻结并 且按下的停止按钮图形将由拼接器模块交织成帧。该例程还可以包括焦点图形以提供停止 按钮周围的焦点。例如,虚拟机可以使拼接器利用宽度为1个宏块的边框来包围具有焦点 的图形。因此,当视频帧被解码和显示时,用户将能够识别用户可以与之进行交互的图形/ 对象。然后,帧将被传递到复用器,并且通过下游网络被发送到客户端设备。MPEG编码视频 帧由客户端设备来解码,被显示在客户端设备(蜂窝电话、PDA)上或者独立的显示设备(监 控器、电视)上。该过程具有最小的时延。因此,来自应用的每个场景引起多个视频帧,每 个视频帧表示媒体播放器应用状态的快照。虚拟机106将重复地接收来自客户端设备的命令,并且响应于该命令,将响应于 用户交互和应用交互模型来直接地或间接地访问对象,并且执行或解释对象的例程。在这 样的系统中,在用户的电视上显示的视频内容材料仅是解码的MPEG内容,并且用于交互的 所有处理出现在处理处处,并且由指配的虚拟机来协调。因此,客户端设备仅需要解码器, 而不需要缓存或处理任何内容。应当认识到,通过来自客户端设备的用户请求,处理处可以用另一视频元素来代 替视频元素。例如,用户可以从影片列表中选择以进行显示,并且因此如果用户选择在两个 影片之间切换,则第一视频内容元素将由第二视频内容元素来替换。保持每个元素的位置 和形成元素的区域的列表的虚拟机可以容易地替换场景内的元素,创建包括拼接器115中 的新的元素的新的MPEG视频帧,其中帧被拼接在一起。图IA示出了数字内容分发网络100A、内容提供者IlOA和处理处120A之间的互操 作。在该示例中,内容提供者130A将内容分送到视频内容分发网络100A。内容提供者130A 或者与视频内容分发网络相关联的处理器将内容转换为与处理处120A创建的交互式MPEG 内容兼容的MPEG格式。如果内容具有全球/国家的范围,则数字内容分发网络100A的内 容管理服务器140A在位于不同地区的代理/缓存150A 154A之间分发MPEG编码内容。 如果内容具有地区/本地范围,则内容将驻留在地区/本地代理/缓存中。内容可以在国 家或世界范围内被镜像(mirror)到不同的位置以便于增加访问次数。当终端用户通过其 客户端设备160A从地区处理处请求应用时,地区处理处将访问所请求的应用。所请求的应用可以位于视频内容分发网络内,或者应用可以本地驻留到地区处理处或者驻留在互连的 处理处的网络内。一旦检索到应用,则在地区处理处处指配的虚拟机将确定需要检索的视 频内容。内容管理服务器140A协助虚拟机来定位在视频内容分发网络内的内容。内容管 理服务器140A可以确定内容是否位于地区或本地代理/缓存上,并且还定位最近的代理/ 缓存。例如,应用可以包括广告,并且内容管理服务器将虚拟机指向从本地代理/缓存中检 索广告。如图IA中所示,中西部和东南部地区处理处120A还具有本地代理/缓存153A、 154A。这些代理/缓存可以包含本地新闻和本地广告。因此,呈现给东南部中的终端用户 的场景可以不同于呈现给中西部中的终端用户的场景。可以向每个终端用户呈现不同的本 地新闻故事或者不同的广告。一旦检索到内容和应用,虚拟机就处理内容并且创建MPEG视 频流。然后,MPEG视频流被指向请求客户端设备。然后,终端用户可以与内容进行交互,请 求具有新内容的更新场景,并且处理处处的虚拟机将通过从视频内容分发网络的代理/缓 存请求新的视频内容来更新场景。创作环境创作环境包括如图IC中所示的用于开发交互式应用的图形编辑器。应用包括一 个或多个场景。如图IB中所示,应用窗口示出了应用程序由三个场景(场景1、场景2和 场景3)组成。图形编辑器允许开发人员选择要被置于场景中的元素,形成将最终显示在与 用户相关联的显示设备上的显示。在一些实施例中,元素被拖拽到应用窗口中。例如,开发 人员可能希望包括媒体播放器对象和媒体播放器按钮对象,并且将从工具栏中选择这些元 素,并且在窗口中拖拽这些元素。一旦图形元素位于窗口中,则开发人员可以选择该元素, 并且提供元素的属性窗口。属性窗口至少包括图形元素的位置(地址)和图形元素的大小。 如果图形元素与对象相关联,则属性窗口将包括允许开发人员切换到位图事件屏幕并且改 变关联的对象参数的标签。例如,用户可以改变与按钮相关联的功能,或者可以定义与按钮 相关联的程序。如图ID中所示,系统的拼接器基于作为创作环境的输出的AVML文件来创建该场 景的一系列MPEG帧。场景内的每个元素/图形对象由定义区域的不同的切片组成。定义 元素/对象的区域可以是相邻的或不相邻的。系统将形成图形的切片安放在宏块边界上。 每个元素不需要具有相邻的切片。例如,背景具有许多个不相邻的切片,每个切片由多个宏 块组成。如果背景是静态的,则背景可以由帧内编码宏块来定义。类似地,按钮的每一个的 图形可以是被帧内编码的;然而按钮与状态相关联并且具有多个可能的图形。例如,按钮可 以具有第一状态“关闭”和第二状态“开启”,其中,第一图形示出了处于未压下状态的按钮 的图像,并且第二图形示出了处于压下状态的按钮。图IC还示出了第三图形元素,该第三 图形元素是用于影片的窗口。影片切片被编码有帧内编码和帧间编码的宏块的混合,并且 基于内容来动态地改变。类似地,如果背景是动态的,则根据下文关于修饰的要求,背景可 以被编码有帧内编码和帧间编码的宏块。当用户通过客户端设备来选择应用程序时,处理处将根据来自创作环境的图形编 辑器的布局将元素拼接在一起。创作环境的输出包括有效视频标记语言(AVML)。AVML文 件提供关于诸如按钮的多状态元素的状态信息、关联图形的地址和图形的大小。AVML文件 指示每个元素在MPEG帧内的位置,指示与每个元素相关联的对象,并且包括基于用户的动 作定义对MPEG帧的改变的脚本。例如,用户可以向处理处发送指令信号,并且处理处将基于接收到的指令信号使用AVML文件来构建新的MPEG帧的集合。用户可能希望在各种视 频元素之间进行切换,并且可以向处理处发送指令信号。处理处将移除帧的布局内的视频 元素,并且将选择第二视频元素,使得该第二视频元素在第一视频元素的位置处被拼接成 MPEG帧。下文描述了该过程。AVML 文件应用编程环境输出AVML文件。AVML文件具有基于XML的语法。AVML文件语法包 括根对象<AVML>。其他顶级标签包括〈initialscene〉,其指定当应用开始时要加载的第一 场景。〈script〉标签标识脚本,并且〈scene〉标签标识场景。还可以存在比顶级标签的每 一个低级的标签,使得存在用于在该标签内应用数据的层级。例如,顶级流标签可以包括用 于视步页流的〈aspect ratio>、<video format>、<bitrate>、<audio format)禾P〈audio bit rate〉。类似地,场景标签可以包括场景内的每个元素。例如,用于背景的〈background〉、用 于按钮对象的〈button〉和用于静态图形的〈static image〉。其他标签包括用于元素的大 小和位置的〈size〉和<pos>,并且可以是场景内的每个元素的低级标签。图IB中提供了 AVML文件的示例。在所附的附录A中提供了 AVML文件语法的进一步的讨论。修饰器图2是可以提供给请求客户端设备的电视的代表性显示的示图。显示器200示出 了出现在屏幕上的三个独立的视频内容元素。元素#1211是其中插入元素#2 215和元素 #3 217的背景。图3示出了可以生成图2的显示的系统的第一实施例。在该示图中,三个视频内 容元素作为编码视频进入元素#1 303、元素#2 305和元素#3 307。修饰器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帧530、550和P帧570的序列。在该 原始流中,I帧被用作用于所有其他帧,即B和P帧,的参考512。这经由从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被用作示例,并且本发明不应被 视为限于该示例。比特流的层级结构在序列级开始。这包含跟随有图片组(GOP)数据605 的序列报头600。GOP数据包含跟随有图片数据625的GOP报头620。图片数据625包含跟 随有切片数据645的图片报头640。切片数据645由跟随有宏块数据665的一些切片开销 660组成。最后,宏块数据665由跟随有块数据685(块数据被进一步分解,但是出于该参考 的目的,这不是必需的)的一些宏块开销680组成。在修饰器中序列报头正常动作。然而, 由于所有帧是P帧,因此不存在修饰器的GOP报头输出。报头的剩余部分可以被修改成满 足需要的输出参数。图7提供了用于对视频序列进行修饰的流程。首先,帧类型确定700 1帧703、B 帧705或P帧707。如同B帧705,I帧703需要被转换为P帧。此外,I帧需要与拼接器需 要的图片信息匹配。例如,该信息可以指示图片报头中设置的编码参数。因此,第一步骤是 修改图片报头信息730,使得图片报头中的信息对于所有修饰视频序列是一致的。拼接器设
14置是系统级的设置,其可以被包括在应用中。这些是将用于比特流的所有级的参数。下表 中提供了需要修改的项。表1 图片报头信息
权利要求
一种用于记录广播视频节目的连接到电视的系统,所述广播视频节目具有关联的用户可选择材料,所述系统包括输入,所述输入接收所述广播视频节目;用户接口设备,所述用户接口设备允许对与所述广播视频节目相关联的所述用户可选择材料进行选择;处理模块,所述处理模块对用户选择进行响应,用于从处理处请求与所述可选择材料相关的交互内容;以及视频记录器,所述视频记录器对从所述处理模块接收到的信号进行响应,用于响应于对所述可选择材料的用户选择来记录所述广播视频节目。
2.如权利要求1所述的系统,其中,当所述处理模块从所述用户接口设备接收到退出 所述交互内容的信号时,所述处理模块使所述视频记录器自动地开始在所述电视上回放所 记录的视频节目。
3.如权利要求1所述的系统,其中,用户输入控制从多个广播视频节目中对广播视频 节目的选择。
4.如权利要求1所述的系统,其中,所述可选择材料是MPEG对象。
5.如权利要求1所述的系统,其中,所述可选择材料是广告。
6.如权利要求1所述的系统,其中,所述交互内容是网页。
7.如权利要求1所述的系统,其中,所述交互内容由多个拼接的MPEG元素组成。
8.如权利要求1所述的系统,其中,所述视频内容和所述可选择材料均为具有在所述 处理处处保持的状态信息的MPEG对象。
9.如权利要求1所述的系统,其中,所述视频内容和所述可选择材料是MPEG元素并且 所述处理处保持关于每个MPEG元素的状态信息。
10.如权利要求1所述的系统,其中,所述可选择材料是广告并且对所述可选择材料的 选择引发与交互广告的交互会话。
11.一种用于自动地记录视频节目的方法,所述方法包括将用户选择的广播视频节目接收到与电视进行信号通信的设备中,所述广播视频节目 的至少一部分包含用户可选择材料;在所述电视上显示所述广播视频节目;响应于接收到选择所述用户可选择材料的选择信号,从处理处请求与所述可选择材料 相关的交互内容;从所述处理处接收所述交互内容;以及自动地记录所述广播视频节目。
12.如权利要求11所述的方法,进一步包括停止显示所述广播视频节目;以及将所述交互内容显示在所述电视上。
13.如权利要求12所述的方法,进一步包括当所述设备接收到用于退出所述交互内容的返回信号时,回放所记录的广播视频节目。
14.如权利要求13所述的方法,其中,所述自动记录发生在与耦合到电视的客户端设备相关联的视频记录器处。
15.如权利要求14所述的方法,其中,在所述广播视频节目被指向到所述视频记录器 处开始所述广播视频节目的回放。
16.如权利要求11所述的方法,其中,所述可选择材料是MPEG对象,并且所述处理处保 持关于所述可选择材料的状态信息。
17.如权利要求11所述的方法,其中,所述交互内容是MPEG对象并且所述处理处保持 关于所述交互内容的状态信息。
18.如权利要求11所述的方法,其中,所述用户可选择材料是暂时交织到所述视频节 目中的广告。
19.如权利要求11所述的方法,其中,所述用户可选择材料是作为包括所述视频节目 的至少一个视频帧的一部分的广告。
20.如权利要求11所述的方法,其中,对所述可选择材料的选择引发交互会话。
21.一种计算机可读介质上的具有计算机代码的计算机程序产品,所述计算机程序产 品用于由计算机使用来记录具有关联的可选择材料的广播视频节目,所述计算机代码包 括用于响应于接收到选择所述用户可选择材料的选择信号而从处理处请求与所述可选 择材料相关的交互内容的计算机代码,用于从所述处理处接收所述交互内容的计算机代码;以及用于自动地记录所述广播视频节目的计算机代码。
22.如权利要求21所述的计算机程序产品,进一步包括用于停止显示所述广播视频节目的计算机代码;以及用于将所述交互内容显示在所述电视上的计算机代码。
23.如权利要求21所述的计算机程序产品,进一步包括用于当所述设备接收到用于退出所述交互内容的返回信号时使所记录的广播视频节 目在所述电视上回放的计算机代码。
24.如权利要求23所述的计算机程序产品,其中,所述广播视频节目的回放在所述广 播视频节目被重新指向至数字视频记录器时的所述广播视频节目中的时间位置处开始。
25.如权利要求21所述的计算机程序产品,其中,所述用户可选择材料是暂时交织到 所述视频节目中的广告。
26.如权利要求21所述的计算机程序产品,其中,所述用户可选择材料是作为包括所 述视频节目的至少一个视频帧的一部分的广告。
27.如权利要求21所述的计算机程序产品,进一步包括用于在接收到指示对所述可 选择材料的选择的信号时引发交互会话的计算机代码。
全文摘要
公开了用于记录广播视频节目的系统和方法。该系统被耦合到用户的电视。广播视频节目被显示在用户的电视上,并且包括关联的用户可选择材料。该系统具有用于接收广播视频节目和关联的可选择材料的输入。用户接口设备由系统来操作,允许用户选择可选择材料。响应于对可选择材料的选择,处理模块从处理处请求与可选择材料相关的交互内容。响应于可选择材料的选择,所述系统使视频记录器自动地开始记录广播视频节目。然后,交互内容被显示在用户的电视上。当用户已经结束与交互内容的交互时,所记录的视频节目被检索并且在请求了选择材料时的视频节目中的点处被显示在用户的电视上。
文档编号H04N5/93GK101983508SQ200980111848
公开日2011年3月2日 申请日期2009年1月29日 优先权日2008年2月1日
发明者唐纳德·J·福斯格林, 唐纳德·戈登, 埃兰·兰多, 莱娜·Y·帕夫洛夫斯卡娅 申请人:活动视频网络有限公司