在流式媒体中动态分发受控的额外选定叠加的方法和装置的制作方法

文档序号:6333778阅读:168来源:国知局
专利名称:在流式媒体中动态分发受控的额外选定叠加的方法和装置的制作方法
技术领域
本发明与以下申请相关题为“用于在流式媒体中由用户控制的选定叠加的方法和装置”,序列号为09/409,594;以及“利用统计数据动态寻找流式媒体目标的方法和装置”,序列号为09/409,601,它们都与本申请同日提交,授予同一受让人,并纳入这里作为参考。
本发明涉及计算机软件领域,更具体而言,涉及在流式媒体中控制和提供附加选定重叠的方法。
在通信中,因特网,也称“互联网”,是由“网关”联到一起的可能彼此不同的多个网络的集合,网关管理数据传输和把来自发送网络的消息转换成接收网络所用的协议(如果必要的话,则以打包方式进行)。当以大写字母打头时,“Internet(因特网)”是指使用一套TCP/IP协议的网络和网关的集合。
因特网作为信息和娱乐二者之源已成为一种文化支撑。许多企业在创建因特网站点作为它们市场营销努力的组成部分,向消费者提供关于该企业提供的产品和服务的信息或提供其他信息以图造成对品牌的追随。
然而,当前因特网尚未达到更传统的媒体源(如电视)所遇到的那样普及使用。来自这些更传统媒体的信息通常是以整体向许多人广播,而这些人往往对这信息并不感兴趣。因为对任何个人,有那么多信息是不那么感兴趣或不感兴趣的,而许多想要的信息却在不想要的来源的信息溢出中丢失。即使是因特网,虽然能比其他媒体提供更专门化的信息,但不能为单个消费者的口味提供和制作信息。
再有,传统媒体,甚至因特网在某些方面,缺乏向特定的单个观看者进行专门的有目标广告的方法。此外,确定观看者的口味和从单个观看者收集关于节目偏好的反馈的方法充其量也只是很原始的。当前所能得到的最好方法只是根据何种个体多半欣赏某种特定节目类型的粗略统计来把节目和广告指向特定的人群。再有,当前,对发送到观看者的媒体的控制方法不允许精细调优以满足每个个人的需要。
所以,需要提供方法用以更有选择地控制散发给单个人的媒体流,从而实现观看者的更大满意程度。此外,需要提供方法用于向观看者提供已经更有选择地制作的广告从而更有效地抓住观看者的注意。再有,需要方法用于实时确定观看者偏好,从而使节目编排可以动态地定制,以期更加取悦于观看者。
所以,如果有一种方法和装置以允许内容提供者的节目编排按用户需要来定制将会是有好处的。
发明概要本发明提供一种方法和装置,用于从服务器向各个客户机提供定制的内容流。对每个个别客户机建立一个客户机档案。向每个个别客户机只发送针对该客户机的有选择的信息流。
附图简述在所附权利要求中提出了相信是本发明特征的新特性。然而,通过参考下文中对实施例的详细描述并结合附图阅读将会最好地理解发明本身和最佳使用方式,及其进一步的目的和优点,这里

图1是根据本发明的一个最佳实施例,可在其中实现本发明的一个分布式数据处理系统;图2是根据本发明可作为服务器系统实现的数据处理系统的方框图;图3是可在其中实现本发明的一个数据处理系统的方框图;图4是概括说明本发明过程的方框图;图5是根据本发明用于选择媒体流的功能部件的方框图;图6显示根据本发明的一个最佳实施例所描述的显示示例;图7A-7D显示根据本发明的一个最佳实施例所描述的发送给一客户机的数据流内包含的数据结构;图8是根据本发明的一个最佳实施例所描述的用于处理数据流的过程的流程图9是根据本发明的一个最佳实施例所描述的用于产生为同步数据流所用CRC值的过程的流程图;图10是根据本发明的一个最佳实施例所描述的用于使用CRC数据同步数据流的过程的流程图;图11是根据本发明的一个最佳实施例所描述的用于过滤数据的一个过程的流程图;图12是根据本发明的一个最佳实施例所描述的为用户定制节目的过程的流程图;图13是根据本发明的一个最佳实施例所描述的用于提取用户选择信息的过程的流程图;图14是根据本发明的一个最佳实施例所描述的用于建立档案的过程的流程图。
最佳实施例详述现在参考附图,特别是图1,它给出根据本发明的一个最佳实施例所描述的能在其中实现本发明的一个分布式数据处理系统。分布式数据处理系统100包含网络102,网络102是用于在分布式数据处理系统100内所连接的各种装置和计算机之间提供通信链路的介质。网络102可以包括永久性连接,如连线或光纤电缆,或者通过电话连接的临时连接方式。
在所描述的例子中,服务器系统104与存储器单元106一起连于网络102。服务器系统104可以包含一个或多个服务器计算机以提供数据流。例如,一个服务器可以用于管理和控制数据流而在服务器系统104内的另一服务器可用于创建提供给客户机的源数据流。这些数据流中的信息可以存储在服务器系统104内或在远程存储器装置上,如存储器装置106。此外,客户机108、110及112也连于网络102。这些客户机108、110和112可以是例如(但不限于)个人计算机、机顶盒、万维网(Web)电视单元、或用于接收数据流的任何其他硬件单元。客户机108、110和112是服务器系统104的客户机。在所描述的实例中,服务器系统104向客户机108-112提供数据流。分布式数据处理系统100可以包括图中未画出的其他服务器、客户机或其他装置。
客户机108、110和112包括机制用于混合和过滤从服务器系统104或未画出的其他服务器系统接收的数据流。这些机制在所描述的实例中可以以硬件、软件、固件或它们的某种组合来实现。
例如,分布式数据处理系统100可以是因特网,以网络102代表使用一套TCP/IP协议彼此通信的网络和网关的世界范围的集合。在因特网的心脏是主要节点或主机之间的高速数据通信线骨干,包含以千计的商业、政府、教育以及其他计算机系统,它们为数据和消息提供路由。
网络102的另一实现是一种宽带网络,也称作宽带综合业务数据网(BISDN)。在这类网络中,通常由宽带业务提供的信道能支持大于1.5Mbps的数据传输速率,这个1.5Mbps是综合业务数字网(ISDN)的基本速率,记为T1或DS1。在宽带系统中,传输方式类型通常是使用同步光纤网(SONET)和智能网(IN)技术的同步传输方式(ATM),这是提供ISDN框架的技术。在这样的网络中,包括话音、数据、视频和音频的信息通过该网络传输到各个客户机。
再有,网络102也可以是依赖于具体实现的电缆通信系统。当然,分布式数据处理系统100也可以实现为若干个不同类型的网络,例如一个内联网或局域网。图1只是一个举例,而不是对本发明过程在体系结构上的限制。
参考图2,它是根据本发明可以实现为一个服务器系统(如图1中的服务器系统104)的一个数据处理系统的方框图。数据处理系统200可以用作为服务器系统内的视频服务器或其他应用服务器。
数据处理系统200可以是一个对称多处理器(SMP)系统,包括多个连到系统总线206上的处理器202和204。另一种作法是也可以利用单处理器系统。也连到系统总线206上的是存储器控制器/高速缓存208,它提供与局部存储器209的接口。I/O总线桥210连于系统总线206并提供与I/O总线212的接口。如图所示,存储器控制器/高速缓存208和I/O总线桥210可以被集成。
连到I/O总线212上的外部部件互连(PCI)总线桥214提供与PCI局部总线216的接口。若干调制解调器218-220可以连到PCI总线216。典型的PCI总线实现将支持4个PCI扩展槽或插入接插件。与图1中网络计算机108-112的通信链路可通过经由插入板连到PCI局部总线216的调制解调器218和网络适配器220来提供。
附加的PCI总线桥222和224提供附加PCI总线226和228的接口,由它们可支持附加的调制解调器或网络适配器。这样,服务器200允许连接到多个网络计算机。由存储器映射的图形适配器230和硬盘232也可连到I/O总线212,如图所示,或直接连接或间接连接。
本领域普通技术人员将会理解,图2所示硬件可以变化。例如,其他外围设备,如光盘驱动器等,也可用于增加或替代所示硬件。所示实例不意味着针对本发明的体系结构限制。
图2所示数据处理系统可以是例如IBM RS/6000,这是纽约Armonk国际商用机器公司的产品,运行高级交互执行(AIX)操作系统。
现在参考图3,图中显示在其中可实现本发明的一个数据处理系统的方框图。数据处理系统300是计算机的一个实例。数据处理系统300利用外围部件互连(PCI)局部总线结构。虽然所示实例利用PCI总线,但其他总线结构也可使用,如微通道和ISA。处理器302和主存储器304通过PCI桥308连于PCI局部总线306。PCI桥308也可包括集成的存储器控制器和高速缓存存储器供处理器302使用。通过直接部件互连或通过插入板可实现与PCI局部总线306的附加连接。在所示实例中,局域网(LAN)适配器310、SCSI主机总线适配器312以及扩展总线接口314由直接部件连接连到PCI局部总线306。与此相反,音频适配器316、图形适配器318以及音频/视频适配器(A/V)319是借助插入扩展槽的插入板来连到PCI局部总线306的。扩展总线接口314提供键盘和鼠标适配器320、调制解调器322以及附加存储器324的连接。在所示实例中,SCSI主机总线适配器312提供硬盘驱动器326、带驱动器328、CD-ROM驱动器330以及数字视频盘只读存储器驱动器(DVD-ROM)332的连接。典型的PCI局部总线实现将支持三个或四个PCI扩展槽或插入接插件。
在图3中的数据处理系统300内,一个操作系统在处理器302上运行并用于协调和控制系统300内的各种部件。操作系统可以是市场上可得到的操作系统,如OS/2,它可从国际商用机器公司得到。“OS/2”是国际商用机器公司的一个商标。一个面向对象的编程系统,如Java,可以与操作系统联合运行,以提供从Java程序或在数据处理系统300上执行的应用程序对操作系统的调用。操作系统、面向对象的操作系统以及应用或程序的指令都位于存储器装置上,如硬盘驱动器326,并可加载到主存储器304中供处理器302执行。
本领域普通技术人员将会理解,图3中的硬件可依其实现而变化。例如,其他外围设备,如光盘驱动器等,可以用于增加或替代图3中所示硬件。所示实例不意味着针对本发明的体系结构限制。例如,本发明的过程可以应用于多处理器数据处理系统。此外,数据处理系统300可以取笔记本计算机或个人数字助理(PDA)的形式。再有,数据处理系统可以是例如,但不限于,含有适当硬件和软件以实现本发明过程的电视机或机顶电缆盒。
本发明提供的方法、装置和计算机实现的指令用于减小所用带宽和增加客户机定制节目或事件。本发明的机制指向在多媒体数据处理系统上定制多媒体展现。这是针对不同的音频和视频组分把节目或事件分割成不同的数据流来实现的。可以增加额外的可选的数据流以允许定制节目或事件。一个数据处理系统可以接收与一节目或事件相关联的一组视频和音频流。可以根据用户的输入有选择地展现这些数据流。根据用户的输入,视频和音频数据流的某些部分可以展现而其他数据流则不展现。再有,用户的输入可以有选择地把一视频流放在显示器上的不同位置。再有,还可以接收含有文本和/或图形的信息并有选择地与节目或事件的展现一起显示。在用户所在地这些数据流的组合提供的定制无需向观看者广播一个事件的多个版本。
通过允许观看者定制一个节目或事件,所用带宽可以减小,因为节目制造者不必对不同的地理区域或不同的观看者基础广播一个节目或事件的多个版本。
更具体而言,本发明提供一种机制,它允许内容提供者以多重数据流的形式向使用者提供节目或事件。本发明的这种机制允许内容提供者根据用户的输入和从用户收到的其他数据来控制发送给用户的数据流。用户信息可以采取过滤档案(filter profile)的形式,它包含关于用户所作选择的信息。过滤档案还可以包含其他信息,如位置和人群信息,它们可能用于也可能不用于为用户修改和定制一个节目。本发明还提供一种机制用于在用户系统上展现内容提供者感觉对用户看或听是重要的那些数据流,即使用户可能未曾选择这些数据流。例如,在发送给用户的数据中可以包括嵌入的命令,以使一个多媒体系统展现内容提供者想要展现的数据流,即使用户可能未曾选择那个特定的数据流。
现在转到图4,图中的方框图概括显示本发明的过程。一个客户机400,例如图3中所示数据处理系统300,向一个源服务器404发送一个节目内容请求402。源服务器404是一个数据处理系统,如图2中的数据处理系统200,是客户机400请求的节目内容的宿主。源服务器404把所请求的节目。作为一组数据流向客户机400发回。数据流406可用于在客户机402向用户展现节目或事件。再有,数据流406可以包含一个或多个视频组分、一个或多个信息流组分、以及一个或多个音频流组分。
图4中是按直接连接描述和显示客户机400和源服务器404的。然而,客户机402和源服务器404最好是一个分布式数据处理系统(如图1中的分布式数据处理系统100)的一部分并通过网络(如网络102)链接到一起。
图4中所示环境可以是一个单向环境或一个双向环境。在一个单向环境中,服务器向客户机发送数据,但不从客户机接收数据。在这种情况下,客户机从服务器接收全范围的数据流。一个过滤器用于允许展现由用户选定的数据流而未被选定的数据流保持不暴露给用户。可以根据用户的输入建立关于用户的档案。这个档案包含基于用户输入的定制信息以及关于客户机处用户的信息。这一信息可以包括例如偏好的标识、数据流选择、以及次要信息,如位置。
在一个双向环境中,服务器向客户机发送数据而客户机向服务器发回数据。在这样的环境中,内容提供者的服务器根据从客户机收到的档案只向客户机发送选定的数据流。
接下来转向图5,图中显示根据本发明在媒体流选择中所用功能部件的方框图。在这一实例中,客户机500包括数据流处理系统502用于通过网络508从服务器506接收数据流504供输出到输出系统510。在这一实例中服务器506是来自内容提供者的内容服务器。通过用户控制512来控制从网络504收到的数据流的选择,该用户控制512控制数据流处理系统502。用户控制512用于操纵或调节过滤器514,过滤器514对数据流处理系统502中的数据流504进行过滤,以在输出系统510上有选择地展现数据流504。在数据流处理系统502中还存在档案515,它可根据用户偏好设置、数据流选择及所用过滤器来产生。例如,档案515可以包括标识客户机500处当前音量(volume)设置的信息。低于某一阈值的低音量设置可以指出用户没有在真正观看或注意该事件。档案515还可以包括其他信息,例如客户机500的地理位置。通过连接504可以从网络508接收多个数据流。这些数据流可以是例如音频、视频、文本、图形或可以通过输出系统510显示给客户机500用户的其他信息。由数据流处理系统502对来自网络508的数据流进行选择过滤是通过用户控制512来控制的。选定的数据流或数据流的选定部分通过输出系统510显示给用户,它可以用于驱动显示器或音频输出装置,如高清晰度电视或扬声器。再有,视频流可按参数配置,如不透明性(opacity)和标度(scaling)。
现在参考图6,图中显示了根据本发明的一个最佳实施例的显示实例。在这一实例中,以显示单元602、音频源604、606和608构成展现系统600。展现系统600是客户机的一部分,用户通过它看见和听见节目。在这一实例中,音频源604是左扬声器而音频源608是右扬声器。在本例中音频源606是中央扬声器。视频610以文本框612、文本框614和视频616显示在显示器602上。在本例中视频610是主数据流,而文本框612和文本框614被重叠在视频610上。
在本例中由两个数据流产生文本框612和文本框614。文本框612是一个静态文本框,它可用于提供诸如关于节目的统计、即将到来的节目等信息,或用户可以选择的任何其他信息。在本例中文本框614是一个“弹出式(pop-up)”的,它可用于提供关于视频610中特定对象或人物的信息。
再有,在文本框614中的数据包可以包括对文本框614重定位的数据,以跟随特定的对象或人物。视频616是用另一数据流显示的,以给用户提供额外的观看内容。例如,视频616可以提供节目中的不同透视图或可以显示当前在视频610中未显示的场景。初始时,用户可以选择各种音频流供通过604、606和608馈送。例如,如果正在显示的节目是一个体育事件,用户可能选择一个特定运动员并让关于该运动员的音频信息通过608播放,或者让位于该运动员处的送话器输出直接通过604播放。
作为举例,考虑正在通过因特网或一宽带网络广播一场橄榄球赛。终端用户能从若干音频流中选择和混合这些音频流。例如,每个队的四分卫送话器、每个队的教练送话器、和/或广播员,而且可能有若干个(例如John Madden,Phil Simms,Howie Long,Bruce Beadle,Michael Paolini等)。这样,用户能解谐(tune-out)(不选)JohnMaddn,如果他们发现他令人讨厌的话。用户可能代之以选择收听49人队的四分卫送话器(或对立队的,或他们选择的另一广播员的,或完全收听另一种语言)而无需改变信道/复盖。
继续以橄榄球为例,利用本发明有可能为对此运动不熟悉的观看者提供单独的音频信道。这一单独音频信道会更详细地解释比赛规则和正在发生的情况。它还会解释橄榄球所特有的技术术语。用户可以选择让这一附加信息作为文本流来展现。
在应用本发明的另一例中,继续以橄榄球为主题,用户可以把A队运动员的声音放到右声道,把B队运动员的声音放在左声道,而把广播员的声音放在后声道。再有,用户可以选择得球的运动员,使这一运动员的声音永远在中央声道。
可以使用一个代表视频的主数据流(不论选择什么音频叠加流它也不改变)和许多代表音频或视频叠加的小的加入数据流来展现节目。这些流可被混合在一起或被赋予不同声道(右、左、后、中央等)以及/或使用来自杜比(Dolby)实验室的最新“杜比数字”或其他类似技术赋予3-D(三维)空间位置。此外,可基于每个叠加调节音量。关于诸如“杜比数字”等技术的更多信息可在美国专利5,912,976号中找到。
关于视频叠加,也可按类似于音频流的方式形成若干视频叠加流并加以选择,并混合起来“叠加”而成最终视频。例如,如果所希望的叠加是在含有某文本的某一视频显示位置处的气球形弹出,那么附加的叠加流本身不必是视频,而可以是用于建立这一视频的信息。所以,该数据流的大小会比主视频流小得多。此外,除了为该事件选择的数据流外,还可以向用户提供与此无关的信息,如股票市场数据或新闻摘要。例如,如果正观看的事件或节目是一场橄榄球赛,则有可能让一个视频叠加专门显示带有数据的弹出气球,如关于运动员的统计资料,其中这些弹出气球可以出现在运动员本身的上方。再有,可以以这种方式显示打睹赌陪率、关于运动员的其他趣事、或规则和关于事件的信息。另一类数据流可以包括嵌入的运动员照片以及附在上面的个人经历。
对于其他类型的节目,可以提供其他弹出窗口。例如,对于凶杀侦探节目,可以显示弹出窗口,给出关于未来事件的线索,或者还可以显示出与该节目相关的关于演员、脚本或导演的事实。
以这种方式,在橄榄球赛举例的内容中,有可能让视频叠加流专用于显示弹出气球,所带的数据如关于运动员的统计(它们可能很好的出现在运动员本身的上方)、打赌陪率、奇怪的或有趣的事实、解释所发生之事和规则的信息(供新观众)、不同的正在进行的体育事件数据的摘要(如来自正在进行的其他比赛的比分和统计)、股票市场数据和新闻摘要,所提供的只是少数举例。其他流类型可以包括嵌入的运动员照片以及附在上面的个人经历。
在另一实施例中,有可能使叠加成为可选择的。就是说,用户可以作等效于“点击”一个的事,以触发附加的叠加流或把它锁在原地。例如,选择一运动员的“名字叠加”可能例如带来一个具有该运动员个人经历的叠加。在一个单向系统中,这可通过让一个叠加信道连续循环所有运动员的个人经历并在广播的时候让客户机“选择”感兴趣的那个。
再有,用户能使用他们的客户机在不同的任选项中进行选择,从而在广播过程中能更多地控制他们想看和听的信息。
现在转到图7A-7D,图中显示根据本发明的一个实施例发送给客户机的数据流内包含的数据结构。在图7A中。显示一个数据包700,其中数据包包括头段702和净载荷704。头段702包含的信息用于为数据包700的净载荷704内包含的数据提供路由和进行管理。
图7B中显示在一数据包,例如数据包700内找到的头段信息的举例。在本例中,头段706包括标识(ID)字段708、信道字段710、位置字段712以及音量字段714。
在本例中,头段706是标识一音频包的头段。ID字段708用于标识数据包类型。在本例中,信道字段710可用于标识数据包要展现给用户时所在的信道。例如,信道字段710可用于标识例如环绕声系统中的那些声道。在本例中,这些信道可以是例如右、左、后或中央声道。再有,位置字段712也被包括在内,从而可以利用三维空间位置以使用如杜比数字之类音响技术。这一位置信息可以提供一个预设位置,它可由用户改变。所包括的音量字段714允许调整这一数据包中的数据相对于其他数据包中数据的音量,以允许叠加或强调不同的数据流。可使用其他字段添加或替代用于展现音频信息的头段706中所示字段。
在图7c中的头段716是在视频流中所用视频包中找到的头段信息的举例。在本例中,头段716包括ID字段718、时间标记字段720和CRC字段722。ID字段718用于标识在包内所含数据的类型,而在本例中的时间标记用于同步的目的。CRC字段722可用于错误检验或同步目的,取决于具体实现。如果CRC字段722用于同步目的,则CRC数据是对另一数据流计算的,并在被传送或向观看者广播之前放在该字段内。例如,该CRC数据可以是为其他数据流中的一帧或一帧的一部分计算的。当收到这一数据流和这另一数据流时,对这另一数据流中的一帧计算其CRC数据。将此计算出的CRC数据与存储在CRC字段722中的CRC数据比较。这些CRC值之间的匹配用于识别这两个数据流之间的同步点。
接下来,在图7D中,显示了视频流中数据包所用头段的另一举例。头段724包括ID字段726、类型字段728、位置字段730、持续时间字段732以及z深度字段734。ID字段726用于把数据包标识为包含视频数据。在本例中的类型字段728可用于标识视频类型,如文本或活动视频流中的一帧。位置字段730可用于标识要显示该数据的屏幕上的位置。持续时间字段732可用于标识该数据要显示的时间量。z深度字段734可用于标识相对于其他视频流所要显示的数据所在的深度或顺序。该深度用于确定在显示器上要显示的视频流或叠加的顺序。
在该例中,头段724是含有文本的视频流所用头段的举例,该文本要作为气球或弹出在屏幕上显示。在这种情况中,持续时间字段732标识该文本要显示多长时间而z深度字段734标识相对于其他视频流该本文要位于何处。位置字段730提供屏幕上的xy位置。在净载荷中会发现供弹出显示的文本。以这种方式,专用于显示文本的视频叠加流可与活动视频数据流一起使用。
现在转到图8,图中显示根据本发明的一个实施例用于处理数据流的过程的流程图。开始时,用户选定要从分布式数据库中提取的节目(步骤800)。用户接收与此选定节目对应的多重视频和音频流(步骤802)。用户或者直接地实时选择或通过使用用户定义的配置来选择音频流(步骤804),如果选定不只一个音频流(步骤806),则用户为这些选定的音频流配置展现档案(步骤808)。例如,如果选择了三个音频流,则用户将配置该系统在左声道播放一个音频流,在中央声道播放一个音频流和在右声道播放一个音频流。另一种作法是,用户可配置选定音频流的展现,使得一个音频流的音量比其他两个音频流的音量大。
接下来,用户从多个收到的视频流中选择一个或多个要显示的视频流(步骤811)。如果选择了不只一个视频流(步骤814),则用户配置这多个视频流的展现(步骤816)。例如,一个视频流将展现在视频显示器的左侧而第二个视频流展现在视频显示器的右侧。在另一例子中,一个视频流可能占据整个视频显示器屏幕,而第二个视频流被放在第一视频流内的一个较小窗口中。还有,还可对诸如不透明性和标度之类以及其他因素配置视频流。不透明性是指如叠加在事件上的菜单中看到的半透明,其中可通过该菜单看到该事件。标度可用于确定在显示装置上一视频流的显示尺寸。
一旦由用户选择和配置了媒体流,音频和视频流便被彼此同步(步骤818)并按用户配置的方式展现给用户(步骤820),至此,过程终止。
再参考步骤806,如果没有选择多于一个音频流,则如前述,过程进入步骤811。再参考步骤814,如果没有选择多于一个音频流,则如前述,过程进入步骤818。
可以利用若干种机制来同步数据流。例如,可在每个媒体流中与每个数据包一起发送时间标记,然后每个选定的数据流被同步展现给用户,使得具有相同时间标记的数据包在相同时刻展现。
每个数据流还可以在数据中包含以周期性出现的脉冲。数据流中的这个脉冲可以是例如不含视频或音频数据的数据包。再有,每个数据流含有以较长周期性出现的较大脉冲。例如,较短脉冲可以每30帧出现一次而较大脉冲每10秒出现一次。选定的数据流可以被同步使得各数据流中的脉冲同时出现。较长的脉冲使系统周期性地对其本身重新同步,如果数据流已被一个或两个较小数据脉冲构成的周期分离开了的话。
在第三种同步方法中,使用循环冗余校验(CRC)值。使用CRC数据同步数据流涉及对第一数据流计算CRC数据并把那些计算出的值放在第二数据流中数据包的头段中。把CRC值放在第二数据流中的数据包中,这第二数据流是应该与第一数据流中的数据包同步的。
转到图9,图中显示了根据本发明的一个实施例为产生同步数据流所用CRC值的过程的流程图。所示过程用于视频流,但可应用于其他类型数据流。
过程以选择一个未处理帧开始(步骤900)。这一步骤选择将作为数据流传送的内容的第一个未处理帧。然后对该帧计算CRC值(步骤902)。可对整个帧或该帧的不同部分计算CRC值。例如,可基于该帧的头5个字节、该帧中部的5个字节和该帧的最后5个字节来计算CRC值。
接下来,识别出第二数据流中要与这一帧同步的部分(步骤904)。然后把此CRC值放入用于该数据流那个部分的数据包头段中(步骤906)。然后确定是否存在其他未处理帧供处理(步骤908)。如果存在其他未处理帧,则过程返回步骤900。否则,过程终止。
当数据流被传送或广播时,可以使用图9中的过程。另一种作法是,在传送或广播一数据流之前启动这些过程。在这种情况中,这些CRC值可存储起来并当第二数据流被传送时添加到该数据流中。
现在转到图10,图中显示根据本发明的一个实施例使用CRC数据对数据流进行同步的过程流程图。图9中所示过程可在观看者一方实现以同步到来的数据流,供展现一个节目或事件。
过程以接收数据流开始(步骤1000)。在步骤1000中,数据流被接收供展现。这些数据流在展现之前被放在缓存器中(步骤1002)。对于存储在缓存器中的第一数据流中的一帧计算其CRC值(步骤1004)。然后,将计算出的CRC值与存储在缓存器中的第二数据流中的CRC值比较,以在第二数据流中识别出含有匹配的CRC值的一点(步骤1006)。在所描述的实例中,CRC值放在第二数据流中的头段内,其所在点的CRC值应与来自第一数据流一部分的计算CRC值匹配。然后,第一和第二数据流在匹配或者说同步点处展现(步骤1008),然后过程返回步骤1000。本发明可通过单向或双向通信来实现,取决于所用网络类型的带宽。
这样,本发明为用户提供了一种定制的经验。本发明提供若干不同类型数据流,音频的和视频的,它们被发送给一客户机,在客户机中可由客户机从这些数据流中进行选择,以定制出由用户观看的节目或事件,从而由本发明提供这种定制的经验。再有,本发明允许减小为提供定制节目所需的带宽量。这一好处是这样提供出来的发送为定制的节目或事件可能有选择地展现的那些数据流,而不是为每个所需的定制节目或事件创建新的数据流。
现在参考图11,图中显示根据本发明的一个实施例过滤数据的过程流程图。这一过程可用于用户一方的系统中以选择和定制节目。
该过程以接收数据流开始(步骤1100)。然后,对这些数据流接收一个用户选择(步骤1102)。确定是否还要作其他的用户选择(步骤1104)。如果还要作其他用户选择,则过程返回步骤1102。否则,根据用户选择调节过滤器(步骤1106)。这个过滤器用于选择从内容提供者收到的数据流供展现。然后确定在数据流中是否存在嵌入的命令(步骤1108)。这一步骤可以检验由用户请求的和没有请求的数据流。嵌入的命令可由内容提供者用于保证某些数据流展现给用户,即使该用户可能没有选择这些数据流供展现。例如,如果一个重要的新闻事件发生了,例如一场危险的风暴,内容提供者将想保证这一信息展现给用户。同样,含有广告的数据流可以展现给用户而无需用户选择这些数据流。
如果在一个数据流中存在一个嵌入的命令,则过滤器根据这嵌入命令进行调节(步骤1110)。然后用调整过的过滤器对数据流进行过滤(步骤1112)。然后,过滤后的数据流被展现(步骤1114),其后过程终止。以这种方式,选定的数据流可以展现给用户而未被选择的数据流从不展现给用户。再参考步骤1108,如果在数据流中没有嵌入命令,则过程直接进入如前所述的步骤1112。
现在转向图12,图中显示根据本发明的一个最佳实施例为一用户定制节目的过程的流程图。这一过程可用于服务器或源,供内容提供者从各个用户接收一节目的各定制请求。
该过程开始于从一用户接收一节目请求(步骤1200)。这一请求可以是例如来自用户系统的档案。这一档案可以包括例如由用户选择的数据流、所用过滤器、该系统的位置信息、以及甚至可能的关于该用户的人群信息。然后,该请求被进行语法分析(步骤1202)。与该请求匹配的数据流被识别出来(步骤1204)。这些数据流包括由用户选定的那些,但也可以包括由内容提供者根据请求中对数据流的选择而选择的数据流。在所示举例中,这些附加请求可通过嵌入命令展现在用户系统中。然后,识别出的数据流被传送给用户(步骤1206),然后过程终止。
现在参考图13,图中显示根据本发明的一个最佳实施例提取用户选择信息的过程流程图。这一过程可由内容提供者用于为用户定制节目,无需用户向内容提供者发送请求。
过程以从用户系统提取档案开始(步骤1300)。然后,根据档案中的信息识别数据流(步骤1302)。然后将识别出的数据流传输给用户(步骤1304),于是过程终止。在所示举例中,对来自用户系统的档案的收集是实时进行的。这可在进行用户选择和设置偏好时进行对档案信息的这一收集。另一种作法是,根据具体实现情况周期性地接收信息。以这种方式,可得到更新的档案,从中可识别出数据流供传送给提供该信息的用户。其内容根据用户的当前选择和偏好被修改。这一信息优于人群信息,因为不同的用户可能使用特定的多媒体系统。当然,人群信息可与从用户处收集的档案信息结合使用。
现在转到图14,图中描述了根据本发明的一个最佳实施例创建档案的过程流程图。该过程始于存储用户的数据流选择和展现的偏好(步骤1400)。然后,存储用户应用过的过滤器(步骤1402)。用所存储的信息创建一个档案(步骤1404),然后过程终止。这一档案也可包括关于用户的其他信息,例如用户系统的位置。
通过使用本发明的机制瞄准流式媒体,从而减少了为传输定制的节目所需要的带宽量。再有,本发明允许根据档案信息来瞄准流式媒体,这增加了信息的有效性。不仅能找到该信息的正确观众,而且能找到该信息的最好展现方式。根据这档案,能以客户机易于理解的不同形式展现信息。例如,一个人可能是一场橄榄球赛的观看者,他有一个打开了的统计过滤器和一个给出关于一具体球队或运动员信息的过滤器。所选择的广告有更大的冲击力,因为这些广告不仅是针对橄榄球观看者选择的(如传统广告方法那样),而且还是针对对数字作出响应的橄榄球迷(由该球迷所用统计过滤器推断出的信息)和迷上一个球队或运动员的橄榄球迷(还是由所用过滤器推断出的信息)而选择的。
还有,通过收集来自客户机的档案,能把消费者反馈提供给流式媒体的卖主。这就是说,能实时地测量对媒体的消费从而允许动态地重新配置广播材料。例如,如果与其他类型媒体流相比,有更多的客户机在接收某一类型的一种媒体流,则或许应该使人们可得到那类流的更多变体。如果存在更多的客户机喜欢似事实的东西,则应把更多的时间花在关于该节目主题的离奇事实上。如果听不同音频流的人多于看视频叠加的人,则为音频流投资更多的钱是合理的。
现在转到本发明的一个实例,在该例中不直接经由用户的输入或选择来提供用户档案。代之以考虑这样一种情况,其中用户档案由用户的位置来创建。例如,或许一个人正在汽车中驾驶,该汽车装备有全球定位系统(GPS),例如北极星(North Star)系统,其中当前位置信息被馈送到客户机中作为过滤器偏好。利用本发明,可以根据位置以及任何其他偏好,在头顶显示器上显示地图的一些部分或接收音频流上的广告。例如,当汽车在距餐馆或其他有吸引力场所一指定距离之内时,便可向该客户机发送包含该餐馆或其他有吸引力场所广告的流。
这样,本发明提供一种方法和装置,用于允许用户定制节目并减小为发送定制的节目所需要的带宽。通过把节目的广播分开成各单独的流,在广播媒体中的媒体带宽可以节省。例如,一个电视表演在一个流中有声音和视频二者。为了用不同的语言广播一个表演,则需发送与同一视频耦合的不同声音。以单独的视频和音频流,一个视频流能支持所有这些不同的音频流。“信道(channel)”能用作过滤器来选择哪一个音频流与该视频一起播放。如果对每种语言提供一个音频流并只提供一个视频流,当以此来支持X个不同语言时,则带宽的节省为视频大小的(X-1)倍。
应该指出,虽然所作描述参考的是由一个装置使用这些流,但这些流也能被多个装置使用。对于本领域技术人员而言,在读了本发明的这一说明之后,对本发明的这种修改将是显然的。再有,可对流进行组合供用户选择一装置或一些装置将使用哪些流。再有,这些流不限于音频和视频,而是还可以包括其他类型信息,如图形和文本。
指出这样一点是重要的,即尽管本发明是针对全功能数据处理系统描述的,但本领域的那些普通技术人员将会理解,本发明的过程能以指令的计算机可读介质形式以及多种形式分发,而且本发明同样可以应用而不论实际为实现这种分发所用的承载信号的介质的具体类型如何。计算机可读介质的实例包括可记录型介质,如软盘、硬件驱动器、RAM和CD-ROM,以及传输型介质,如数字和模型通信链路。本发明的描述是为说明和描述的目的而呈现的,并不想把本发明排它地局限于所披露的形式。对于本领域的技术人员,许多修改和变体将是显然的。指出这样一点是重要的,即尽管本发明的描述主要是利用通过网络(例如因特网)分布的流式媒体,但通过适当的修改(这些修改对于本领域普通技术人员而言是显然的)本发明也可应用于其他场合,如传统电视之类的广播媒体以及利用诸如卫星和微波传输之类通信信道的其他无线通信系统。
再有,虽然这些举例是通过传输多重数据流来实现的,但附加的数据流可以嵌入一个或多个主要的或基本的数据流内。例如,可以利用帧缓存,其中每31帧中有一帧包含附加内容。这些帧可被暂存直至该内容被完全组合起来并准备好为止,或被某一用户输入触发。所选择和描述的实施例是为了最好地解释本发明的原理和实践应用,并使本领域其他普通技术人员能理解本发明,以用于适合所期望的具体应用的经各种修正的各种实施例。
权利要求
1.在一数据处理系统中定制内容的方法,该方法包含由该数据处理系统实现的下列步骤对多个客户机得到多个档案,这里这多个档案内的每个档案是与这多个客户机内的一个客户机相关联的关联档案,其中包括该客户机的偏好;根据关联档案为这多个客户机内的每个客户机选择数据流,从而为这多个客户机形成一组定制的内容;以及把这一组定制的内容发送给这多个客户机。
2.权利要求1的方法,这里的偏好包括用户对数据流的选择。
3.权利要求1的方法,这里定制的内容是针对一个事件而且这里的得到、选择和发送步骤是周期性进行的,从而在该事件的展现过程中该事件被定制以响应这多个档案中的变化。
4.权利要求1的方法,这里该事件是一个体育事件。
5.权利要求1的方法,这里该事件是一部电影。
6.权利要求1的方法,这里在这多个档案内的每个档案包括客户机的位置。
7.权利要求1的方法,这里在这多个档案内的每个档案包括客户机的配置。
8.从一服务器向各个客户机分别提供定制的内容的方法,包含由计算机实现的下列步骤为各客户机的每一个产生一客户机档案;根据各自的客户机档案从多个有关的流中选出各向每个客户机发送的流,以形成选定的流;以及只向每个客户机发送针对该客户机选定的流。
9.如权利要求8中叙述的方法,这里产生客户机档案的步骤包含下列步骤收集来自一客户机用户的选定一组流的输入;把这些输入发送给服务器;以及从这组输入中导出一个过滤器。
10.如权利要求8中叙述的方法,这里客户机档案至少是部分地根据客户机特征导出的。
11.如权利要求10中叙述的方法,这里的客户机特征包含位置。
12.如权利要求10中叙述的方法,这里的客户机特征包含该客户机的机器能力。
13.如权利要求9中叙述的方法,这里为一先前事件而建立的一客户机的客户机档案用于为一新事件过滤流,直至来自该客户机的输入指出希望改变该客户机档案为止。
14.如权利要求9中叙述的方法,这里是为指定类型的事件建立客户机档案。
15.如权利要求14中叙述的方法,这里指定的事件类型是体育事件。
16.如权利要求14中叙述的方法,这里指定的事件类型是音乐会。
17.如权利要求14中叙述的方法,这里指定的事件类型是电影。
18.一种供数据处理系统中使用的在计算机可读媒体中的计算机程序产品,用于从一服务器向各个客户机提供定制的内容流,该计算机程序产品包含第一组指令,用于为各客户机的每一个产生一客户机档案;第二组指令,用于根据各客户机档案从多个有关流中选择发送给各个客户机的流以形成选定流;以及第三组指令,用于向各个客户机只发送为该客户机单独选定的流。19.如权利要求18中叙述的计算机程序产品,这里的第一组指令包括第四组指令,用于收集来自一客户机用户的选定一组流的输入;第五组指令,用于把这些输入发送给服务器;以及第六组指令,用于从这组输入中导出一个过滤器。
20.如权利要求18中叙述的计算机程序产品,这里客户机档案至少是部分地根据客户机特征导出的。
21.如权利要求20中叙述的计算机程序产品,这里的客户机特征包含位置。
22.如权利要求20中叙述的计算机程序产品,这里的客户机特征包含该客户机的机器能力。
23.如权利要求19中叙述的计算机程序产品,这里为一先前事件而建立的一客户机的客户机档案用于为一新事件过滤流,直至来自该客户机的输入指出希望改变该客户机档案为止。
24.如权利要求19中叙述的计算机程序产品,这里是为指定类型的事件建立客户机档案。
25.如权利要求24中叙述的计算机程序产品,这里指定的事件类型是体育事件。
26.如权利要求24中叙述的计算机程序产品,这里指定的事件类型是音乐会。
27.如权利要求24中叙述的计算机程序产品,这里指定的事件类型是电影。
28.用于从一服务器向各个客户机提供定制的内容流的系统,包含为各客户机的每一个产生一客户机档案的装置;根据各自的客户机档案从多个有关的流中选出各向每个客户机发送的流,以形成选定的流的装置;以及只向每个客户机发送针对该客户机选定的流的装置。
29.如权利要求28中叙述的系统,这里产生客户机档案的装置包含收集来自一客户机用户的选定一组流的输入的装置;把这些输入发送给服务器的装置;以及从这组输入中导出一个过滤器的装置。
30.如权利要求28中叙述的系统,这里客户机档案至少是部分地根据客户机特征导出的。
31.如权利要求30中叙述的系统,这里的客户机特征包含位置。
32.如权利要求30中叙述的系统,这里的客户机特征包含该客户机的机器能力。
33.如权利要求29中叙述的系统,这里为一先前事件而建立的一客户机的客户机档案用于为一新事件过滤流,直至来自该客户机的输入指出希望改变该客户机档案为止。
34.如权利要求30中叙述的系统,这里是为指定类型的事件建立客户机档案。
35.如权利要求34中叙述的系统,这里指定的事件类型是体育事件。
36.如权利要求34中叙述的系统,这里指定的事件类型是音乐会。
37.如权利要求34中叙述的系统,这里指定的事件类型是电影。
38.在计算机化多媒体系统上定制一事件的多媒体展现的方法,包含下列步骤通过与该系统耦合的网络提供该事件的一组视频、音频和信息流;在服务器处,从对该事件可得到的一组视频流中选出供展现的一些视频流;在该服务器处,从对该事件可得到的一组信息流中选出供展现一些的音频流;在该服务器处,从对该事件可得到的一组信息流中选出供展现的一些信息流;在该服务器处,响应用户输入,把选定的视频和音频流赋予视频和音频输出装置的各相应部分;以及根据向客户机所作选定视频流赋予,发送该事件以向用户展现。
39.如权利要求38中叙述的方法,这里所述一组视频流、一组音频流和一组信息流是经由宽带网络提供的。
40.用于定制内容的数据处理系统,该数据处理系统包含得到装置,用于对多个客户机得到多个档案,这里这多个档案内的每个档案是与这多个客户机内的一个客户机相关联的关联档案,其中包括该客户机的偏好;选择装置,用于根据关联档案为这多个客户机内的每个客户机选择数据流,从而为这多个客户机形成一组定制的内容;以及发送装置,用于把这一组定制的内容发送给这多个客户机。
41.权利要求40的数据处理系统,这里的偏好包括用户对数据流的选择。
42.权利要求40的数据处理系统,这里定制的内容是针对一个事件而且这里的得到装置、选择装置和发送装置周期性地进行工作,从而在该事件的展现过程中该事件被定制以响应这多个档案中的变化。
43.权利要求40的数据处理系统,这里该事件是一个体育事件。
44.权利要求40的数据处理系统,这里该事件是一个电影。
45.权利要求40的数据处理系统,这里在这多个档案内的每个档案包括一客户机的位置。
46.权利要求40的数据处理系统,这里在这多个档案内的每个档案包括一客户机的配置。
47.一种用于定制内容的在计算机可读媒体中的计算机程序产品,该计算机程序产品包含第一组指令,用于对多个客户机得到多个档案,这里这多个档案内的每个档案是与这多个客户机内的一个客户机相关联的关联档案,其中包括该客户机的偏好;第二组指令,用于根据关联档案为这多个客户机内的每个客户机选择数据流,从而为这多个客户机形成一组定制的内容;以及第三组指令,用于把这一组定制的内容发送给这多个客户机。
全文摘要
从服务器向各个客户机提供定制的内容流的方法和装置。对各客户机的每一个产生一客户机档案。根据各自的客户机档案,从多个有关的流中选择流,以发送到每个相应的客户机。对每个相应的客户机只发送为该客户机选择的相应流。
文档编号G06F17/30GK1292532SQ00128678
公开日2001年4月25日 申请日期2000年9月20日 优先权日1999年9月30日
发明者罗纳德·W·巴塞特, 布鲁斯·A·比德尔, 米歇尔·维恩·布朗, 莱昂·P·导德, 米歇尔·A·抛利尼 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1