首页> 中国专利> 用于跨多个设备同步媒体数据输出的计算机实现的方法,计算机系统,和计算机程序产品

用于跨多个设备同步媒体数据输出的计算机实现的方法,计算机系统,和计算机程序产品

摘要

本发明的各实施方式总体上涉及用于跨多个设备同步媒体数据输出的计算机实现的方法,计算机系统,和计算机程序产品。具体地,在一个方面,本发明涉及用于跨多个设备同步媒体数据输出的计算机实现的方法,计算机系统,和计算机程序产品。用于跨多个输出设备同步媒体数据输出的计算机实现的方法可以在媒体服务器和多个不同输出设备之间提供通信网络;以及在多个不同输出设备上同步输出媒体数据文件,其中媒体数据文件以数据流的形式在不同递送网络上从媒体服务器传输到输出设备。

著录项

  • 公开/公告号CN103281289A

    专利类型发明专利

  • 公开/公告日2013-09-04

    原文格式PDF

  • 申请/专利权人 埃森哲环球服务有限公司;

    申请/专利号CN201210595768.9

  • 申请日2012-11-14

  • 分类号H04L29/06(20060101);H04L29/08(20060101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人酆迅;辛鸣

  • 地址 爱尔兰都柏林

  • 入库时间 2024-02-19 20:16:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-08

    授权

    授权

  • 2014-09-10

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20121114

    实质审查的生效

  • 2013-09-04

    公开

    公开

说明书

技术领域

本说明书总体上涉及媒体数据(诸如视频数据、音频数据和/或文本数据)的整合与分发,并且具体地,涉及用于跨多个设备同步媒体数据输出的计算机实现的方法,计算机系统和计算机程序产品。 

背景技术

从诸如媒体服务器之类的中央单元向诸如平板型个人计算机、智能电话、电视和/或膝上型个人计算机之类的多个不同输出设备分发诸如文本数据、音频数据和/或视频数据之类的(多)媒体数据正变得越来越令人感兴趣。此外,媒体数据可以在不同递送网络上被递送到输出设备,诸如在HDMI中的纯媒体数据、在固定有线以太网网络上和/或在无线IP网络上的流媒体数据。例如,将通过中央单元在这样的输出设备上以周期基础(例如,每周、每月、每天等等)显示视频数据。因此,媒体数据需要在中央单元和每个输出设备之间同步。在多用户设备环境中媒体数据的分发和/或同步变得越来越令人感兴趣。 

然而,当利用中央单元向多个不同输出设备分发和/或整合媒体数据时,经常会出现问题。例如,在大多数情况下在不同输出设备上或之间媒体数据是不同步的。 

此外,当媒体流出于一些原因被停止时,诸如向多个不同输出设备分发媒体数据的中央单元之类的系统通常不自动重同步在不同输出设备上的媒体数据。 

鉴于上述内容,在不同递送网络上在不需要(本地)用户干涉的情况下从诸如媒体服务器之类的中央单元向多个可能的分布式(本地)设备分发媒体数据从而使得媒体数据在多个输出设备之间与中央单元自动同步和/或重同步将是有挑战性的。 

通过控制连接到本地输出设备的单一中央单元来集中地管理和/或监视媒体 数据也是不可能的,其中媒体数据可以按照不同格式来被转码和/或分发。 

因此,需要提供用于分发和/或整合媒体数据到多个输出设备的系统和方法,在该系统刚和方法中可以自动保证媒体数据跨多个不同输出设备(或在其之间或在其中)与中央单元的(重)同步。 

发明内容

根据一个一般方面提供了一种用于跨多个输出设备同步媒体数据输出的计算机实现的方法。该方法包括: 

在媒体服务器和多个不同输出设备之间提供通信网络;以及 

在多个不同输出设备上同步输出媒体数据文件,其中媒体数据文件以数据流的形式在不同递送网络上从媒体服务器传输到输出设备。 

基本上,在技术过程中提供了端到端解决方案以摄取和转码媒体数据(例如,视频数据,文本数据,音频数据,等等)以及中心式地管理和/或监视如下媒体数据,这些媒体数据已经从媒体服务器被分发到诸如平板型个人计算机,智能电话,电视,和/或膝上型个人计算机之类的多个输出设备。跨多个输出设备分发媒体数据按照不同格式输出(例如,播放),例如通过单播,心跳和/或多播技术的组合使用。 

根据另一方面,同步输出媒体数据文件可以包括:在每个输出设备上在相同帧并且同时输出媒体数据文件。 

根据又一方面,可以由多个输出设备中的每个输出设备通过使用通信网络的网络时间协议来维持与媒体服务器的同步时间。 

根据又一方面,同步流协议(SSP)算法被并入到通信网络中。 

根据又一方面,当数据流进入自适应模式时,媒体服务器的数据流可以可操作用于向每个输出设备发送出UDP(用户数据报协议)消息。 

自适应模式可以涉及自适应媒体(例如,视频)流技术,由此以变化的比特率提供多个媒体(例如,视频)数据的流以适应网络和设备性能。因此,当数据流进入到自适应模式时,发送UDP消息到地址同步可以包括每当转换流时将发送与UDP消息一起发送的UDP分组。 

根据又一方面,每个输出设备可操作用于基于与UDP消息一起从媒体服务器接收的信息调整回放速度和/或跳转到数据流中的特定时间。 

同UDP消息的UDP分组一起接收以允许媒体数据加速或跳转的信息将和/或可以包括媒体数据的帧计数(例如,每个输出设备应当在帧5674上)和/或真实的媒体数据时间码(例如,每个输出设备应当在时间码12:33:34:21处播放媒体数据)。可以使用SMPTE时间码来指定时间码。SMPTE时间码涉及一组协作标准,该协作标准用于标注媒体数据(特别是具有时间码的视频或者电影数据)的个别帧。SMPTE在SMPTE12M规范中由电影电视工程师协会定义。 

根据又一方面,同步输出媒体数据文件包括:传达目标媒体时间和媒体位置到多个输出设备中的每个输出设备,其中自适应模式确定超过网络传输时间的时间点处的目标媒体时间和通信网络中的媒体位置。 

目标媒体时间可以涉及由自适应模式递送的未来时间,由此,诸如整点(thetop of the hour)、新媒体事件的开始和/或广告的插入之类的事件的开始将触发时间同步。 

根据另一一般方面,提供了一种用于跨多个输出设备同步媒体数据的计算机系统。该计算机系统可以包括: 

媒体服务器, 

多个不同输出设备;以及 

在媒体服务器和多个不同的输出设备之间的通信网络, 

其中在多个不同输出设备上同步输出媒体数据文件,媒体数据文件以数据流的形式在不同递送网络上从媒体服务器传输到输出设备。 

依据又一方面,计算机系统可操作用于执行如所描述的方法。 

在另一一般方面,提供了一种计算机程序产品,该计算机程序产品包括计算机可读指令,当计算机可读指令被加载并且在计算机系统和/或计算机网络系统中运行时,使得计算机系统和/或计算机网络系统执行如所描述的方法。 

在本说明书中描述的主题可以被实现为方法或者实现为系统或者使用计算机程序产品实现,计算机程序产品有形地体现在信息载体(诸如CD-ROM、DVD-ROM、半导体存储器、信号和/或数据流,以及硬盘)中。这样的计算机程序产品可以使得数据处理装置实施本说明书中描述的一个或多个操作。 

另外,在本说明书中描述的主题也可以被实现为包括处理器和耦接到处理器的存储器的系统。存储器可以对一个或多个使处理器执行在本说明书中描述的一个或多个方法动作的程序进行编码。此外,可以使用各种MRI机器实现在 本说明书中描述的主题。 

一个或更多实现方式的细节在下面所附的示例性附图和示例性描述中阐述。其它的特征将从描述和附图,以及从权利要求中变得容易理解。 

附图说明

图1示出了一种用于获取和存储媒体数据的示例性内容管理系统。 

图2示出了一种用于在不同递送网络上跨多个不同输出设备整合和/或分发来自媒体服务器的媒体数据的示例性系统。 

图3示出了一种用于同步在不同递送网络上利用媒体服务器向多个不同输出设备分发的媒体数据的示例性系统。 

图4示出了一种用于实现如图1至图3中所示的计算机网络、计算机系统和计算机实现的方法的示例性计算机系统和/或计算机网络系统。 

具体实施方式

在下文中,将参考附图给出示例的详细描述。应当理解,可以对示例进行各种修改。具体地,一个示例的元件可以在其它示例中被合并和使用以形成新的示例。 

图1示出了一种用于整合来自中央系统中的不同源的媒体数据(诸如音频数据,视频数据和/或文本数据)以用于存储和/或管理整合的媒体数据以用于进一步使用的示例性系统。系统可以包括内容管理系统20以用于管理,存储,和/或分发媒体数据。 

在图1中示出的系统处整合的媒体数据可以被用于跨多个不同和/或分布式输出设备(诸如平板型个人电脑、智能电话、电视,膝上型个人计算机等)分发媒体数据。可以在不同递送网络上向不同输出设备分发媒体数据,诸如在HDMI中的纯媒体数据、在固定有线以太往网络和/或无线IP网络上的流媒体数据。被格式化和存储在内容管理系统处的媒体数据可以按照媒体数据文件被存储,媒体数据文件可以按照数据流的形式在不同递送网络上向不同输出设备分发和/或传输。 

以下参照图2描述从有权访问图1的系统的媒体服务器向多个输出设备分发整合的媒体数据。 

图1中所示的系统基本上包括用于管理媒体数据(诸如视频数据、音频数据和/或文本数据)的内容管理系统20。内容管理系统20是提供用来管理协作环境中的数据流的程序汇集的系统。内容管理系统20提供用于获取、转换、存储、控制、语义丰富化和/或分发媒体数据的功能。 

在内容管理系统20处从媒体数据递送实体10、12电子接收媒体数据。也被作为实体的媒体数据递送实体10、12可以是视频点播(VOD)系统10和/或现场媒体数据流12。 

内容管理系统20可以包括摄取组件22、转换组件24和/或管理组件26。管理组件26可以被耦接到管理接口28。内容管理系统20可以被进一步连接到用于以媒体数据文件的形式存储由内容管理系统20操作的媒体数据的诸如数据库之类的存储设备30。 

当在内容管理系统20从实体10、实体12接收到媒体数据之后,媒体数据继而被转码为合适的格式以用于输出到不同设备和以媒体数据文件的形式存储在存储设备30中,并且也可以被分发到不同系统和/或媒体服务器。可以按照数据流的形式来执行存储的媒体数据文件的分发。 

实体10、实体12可操作用于向内容管理系统20上传媒体数据。用于向内容管理系统20上传媒体数据的访问权限可以由拥有和/或调查内容管理系统20的一方管理。上传的媒体数据可以进一步由操作内容管理系统20的一方批准。 

可以向内容管理系统的摄取组件22馈送在内容管理系统20处从实体10、12上传的媒体数据。摄取组件22可以包括获取并且向数字编辑和/或存储系统传递从实体10、实体12接收的媒体数据的功能。摄取组件22数字化传入媒体数据的信号、压缩传入媒体数据流以减少待存储的数据量和/或在媒体数据文件中存储数字化和/或压缩的媒体数据。此外,可以向媒体数据文件添加诸如文件程序标识符和/或时间戳之类的附加数据。换言之,摄取组件提供例如获取按照不同格式接收的媒体数据以用于记录到硬盘记录器上的媒体数据文件中的功能。 

一旦媒体数据(或媒体数据文件)被上传和/或媒体数据流被馈送给摄取组件22,从摄取组件接收的媒体数据文件就在转换器组件24处被转码和/或转换为例如适合于在媒体播放器上输出(例如,显示)的媒体数据。 

内容管理系统20可以进一步包括管理组件26和/或对应的管理接口28以用 于管理上传的媒体数据文件和/或流。管理组件26通过关于播放列表的媒体播放器可以可操作用于调度媒体数据文件和/或可以可操作用于调度媒体数据文件的递送。管理组件26通过管理接口28监视关于媒体数据文件和/或相关的播放列表的信息。管理组件26可以进一步可操作用于在存储设备30中存储获取和/或上传的媒体数据文件。 

管理接口28可以是基于web的接口。上传的媒体数据文件和/或馈送给内容管理系统20的媒体数据流可以通过媒体接口28输出(例如,显示)到媒体播放器和/或媒体服务器。例如,通过管理接口28输出媒体数据文件到媒体服务器和/或媒体播放器可以包括用绿色显示媒体数据文件来指示文件有效,用琥珀色显示媒体数据文件来指示文件过期,和/或用红色显示媒体数据文件来指示媒体数据文件下线,即不再在由管理组件26管理的播放列表中调用。以此方式,可以确认已经由分发来自内容管理系统20的媒体数据的服务器请求的媒体文件。 

此外,可以在管理组件26处提供确认由系统选择用于递送的媒体文件事实上已经被递送的过程反馈。接收数据的系统可以通过管理接口28告知接收者。 

管理组件26可以进一步包括通过管理接口28提供电子邮件更新到运行内容管理系统20的一方以通知该方上传的媒体数据文件在具体时间点带有或不带有错误地被递送到诸如媒体服务器之类的服务器的服务。这使得运行内容管理系统20的一方在未登陆内容管理系统20的情况下被更新。 

此外,可以给从内容管理系统20获取媒体数据的媒体服务器安装和/或提供反射器。该反射器可以允许媒体数据文件的每个必要版本的单个副本经由内容管理系统20递送到媒体服务器。 

图2示出了一种用于整合和/或分发诸如音频数据、视频数据和/或文本数据之类的媒体数据到多个不同输出设备50(包括50a、50b、50c、50d、50e)的示例性方法,该输出设备50诸如平板型个人计算机、智能电话、电视、膝上型个人计算机、DVD播放器、蓝光光盘播放器等。 

图2中所示的系统可以通过包括主控或主控服务器和一个或多个从属的分布式硬件和/或软件架构来实现。这样的计算机架构也被称为主-从(或主-多从)架构。关于图2,主控40可以是媒体服务器40并且从属50可以是一个或多个输出设备50,其也可以被称为(媒体服务器40的)本地客户端50。因此,在 该架构中,媒体服务器40可以充当如下主控,该主控连接到充当从属的一个或多个输出设备50。 

媒体服务器40可以包括高清多媒体接口(HDMI)。具有HDMI的媒体服务器40可以被称为HDMI主控40。HDMI涉及用于传输未压缩数字数据的紧凑型音频/视频接口。HDMI可以可操作用于连接数字音频和/或视频数据源(诸如机顶盒、DVD播放器、HD DVD播放器、蓝光盘播放器、AVCHD便携式摄像机、个人计算机(PC)、视频游戏控制台(例如,PlayStation 3、Xbox 360、Wii U)、AV接收器和/或移动电话)到兼容的数字音频设备、计算机监视器、视频放映机、平板计算机和/或数字电视。 

在一个示例中,媒体服务器40可以被连接到IPTV(因特网协议电视)系统42,其被连接到输出设备50的一个或多个输出设备50d、50e。IPTV可以涉及一个系统,通过该系统可以使用因特网协议集在诸如因特网之类的的分组交换网络上递送电视服务。 

媒体服务器40可以从内容管理系统20接收媒体数据文件,其中媒体数据文件可以按照数据流的形式传输到媒体服务器40。例如,媒体服务器40可以通过管理接口28与内容管理系统20交互。 

媒体服务器40可操作用于利用输出设备50同步和/或重新同步媒体数据,同样优选地和/或备选地通过IPTV系统42。媒体数据文件向每个输出设备50的递送可以通过提供由媒体服务器40操作的网络来实现,该媒体服务器40通过(有线或无线)网络连接到内容管理系统并且可能地通过IPTV系统42连接到输出设备50。 

换言之,媒体数据文件可以以数据流的形式在不同递送网络上从媒体服务器40传输到输出设备50,诸如在HDMI中的纯媒体数据、在固定有线以太网网络上和/或无线IP网络上的流媒体数据。因此,媒体服务器40可操作用于跨包括一个或多个屏幕(例如,经由HDMI输出)的多个设备50工作和/或包括笔记本、平板计算机、移动电话设备、智能电话等的多个输出设备50工作。 

媒体服务器40可以包括媒体播放器,其可以提供通过媒体播放器进入全屏幕回放以及如果空闲了一时间段(例如,一分钟)则回到全屏幕重放的能力。媒体播放器可以被配置为播放本地网络媒体数据文件,该本地网络媒体数据文件被循环上传到内容管理系统20并且被分发和存储在媒体服务器40中。此外, 当启动媒体播放器时,媒体播放器可以在从媒体播放器最后从播放列表播放媒体文件起存在对播放列表的改变时从媒体服务器40加载媒体文件的当前播放列表。 

在一个方面中,在图1和图2中所示的系统旨在在一个或多个不同输出设备50上输出(例如,显示)媒体数据(诸如视频数据、音频数据和/或文本数据),其中媒体数据通过与内容管理系统20连接的媒体服务器40被中央分发。在一个示例中,内容管理系统可以包括用于如(有线或无线地)通过IPTV系统42连接到一个或多个输出设备50以用于在输出设备50上同步输出媒体数据的媒体服务器40一样进行操作的功能。在一个示例中,媒体数据被周期性地分发到输出设备50,例如,每日、每周、每月等。 

关于图3,描述了用于在内容管理系统20处跨多个不同输出设备50整合和/或分发从媒体服务器40获取和管理的媒体数据的功能。输出设备50可以在本地的分布和/或远离媒体服务器40。媒体服务器40可操作用于跨输出设备50管理媒体数据的分发、整合和/或(重)同步。媒体服务器40可以是内容管理系统20的一部分和/或与内容管理系统20集成或者可以与内容管理系统20分离。在媒体服务器40与内容管理系统20分离的情况下,媒体服务器40可以通过(有线或无线)网络与内容管理系统20交互,通过管理接口28从内容管理系统20上传、下载和/或获取媒体数据文件以用于分发和/或与输出设备50整合。 

换言之,提供了一种到输出设备50的媒体数据的端到端递送,其中同步从媒体服务器40到输出设备50的媒体数据的递送。输出设备50自身和/或在输出设备50和媒体服务器40之间可以提供同步。因此,媒体数据在输出设备50之间与媒体服务器40同步并且当停止传入媒体数据文件流时将自动重同步。 

例如,从内容管理系统获取和由媒体服务器40主控的媒体数据文件,以数据流的形式被递送到多个不同(输出)设备50。媒体数据文件从媒体服务器40到设备50的递送可以在不同递送网络上执行,诸如HDMI中的纯视频、在固定有线以太网网络和/或无线IP网络上的IP流视频。除了媒体数据文件的递送之外,媒体数据文件的输出跨输出设备50与媒体服务器40同步。与输出设备50的同步可以跨这些不同网络上帧精确级。以此方式,在多个相异设备50上大体上同时输出(例如,显示视频内容)相同的媒体数据。 

帧精确级可以被用于描述视频广播,其被递送到多个输出设备以在帧级基 础上同步。这可以经由SMPTE时间码来追踪和实现。例如,在时间码(例如,SMPTE时间码)12:33:34:21中,12代表一天中的小时,33代表一小时中的分钟,34代表一小时中的秒,以及21代表一秒中的帧数。 

然而,随着数字媒体数据的出现,实现这相同的效果可能是困难的,因为每个设备可以包括不同特性,分辨率,处理能力和/或时间选择。例如,在一个视频点播环境中,可能以不同的分辨率或帧速率来编码每个视频流和/或每个视频流可以包括嵌入到他们内的多个视频和/或音频数据流。例如,在一些情况下,可能难于在相同设备上同步音频数据流与视频数据流。这一同步困难可能由于试图在有线通信网络中同步多个媒体数据流而被放大。 

利用用于以数据流的形式在不同递送网络上同步从媒体服务器40向多个不同输出设备50传输的媒体数据文件的同步机制,输出设备50在这样的组中可以(大体上)精确保持同帧并且(大体上)精确保持同时。关于帧,例如,如果数字视频的帧速率被设置为30fps(每秒帧数),则每帧将显示33毫秒。 

例如,如果存在多个媒体数据流(例如,视频流、第一音频流、第二音频流),则同步将被应用到每个媒体数据流,从而使得它们将全部保持同步,无论输出设备和/或用于向输出设备传输数据流的方法如何。 

为了同帧和同时在输出设备50处同步媒体数据输出,同步流协议算法(SSP)被并入到媒体服务器40和输出设备50之间的通信中。SSP可以使用主控--(多个)从属架构来实现,其中主控40(例如,媒体服务器40)发送出同步UDP(用户数据报协议)包到一个或多个从属50(例如,输出设备50)。下面更详细地描述SSP。 

UDP是用于因特网的网络协议集合中的一个协议。利用UDP,计算机应用可以发送消息(被称作数据报)到因特网协议(IP)网络上的其它计算机(也被称作主机)而不需要在先通信来建立特别传输信道和/或数据路径。UDP使用无状态的简单传输模型,因为UDP假定错误检查和/或纠正没必要或者不在应用中执行,从而避免在网络接口级的这种处理的开销。对于时间敏感的应用,UDP可能是有用的,因为丢弃包比等待延迟的包要好,这在实时系统中不是一个选项。 

输出设备50可操作用于基于从媒体服务器40接收的信息调整回放速度和/或跳转到媒体数据流中的特定时间。每个输出设备可操作用于通过使用诸如网 络时间协议(NTP)之类的协议维持与媒体服务器40的同步时间。 

例如,关于调整的回放速度和/或关于到媒体数据流过程中的特定时间的跳转,这里涉及的和/或从媒体服务器40接收的信息可以包括媒体数据(例如,视频)的帧速率,其中速度可以提升帧速率例如从29.97/秒到更高的速率(例如,33.32/秒)以便推进媒体和/或时间码和/或其中跳转可以向输出设备50提供用于推进时间的信息。这可以通过在媒体服务器40和输出设备50之间的通信实现。 

NTP涉及一种协议和软件实现,其用于在分组交换可变延时数据网络上同步计算机系统的时钟。NTP可以可操作用于在公共因特网上将时间保持在数十毫秒以内和/或可以在理想条件下在局域网中达到一毫秒精确度。NTP提供协调世界时间(UTC)。没有传输关于时区和/或夏令时的信息。 

当数据流进入自适应模式时,媒体服务器40的(媒体数据文件的)数据流发送出UDP消息到一个、多个或全部输出设备50。自适应模式在超过网络传输时间的一些点处计算目标媒体时间。在自适应模式已经计算了用于数据流的目标媒体时间和媒体位置/帧之后,计算得出的目标媒体时间和媒体位置/帧在与UDP消息一起从媒体服务器40接收的包中传达到输出设备50。接收所述包的每个输出设备50进入各自的自适应模式。在已经进入各自的自适应模式后,输出设备50调整它的数据流的回放速率以与从媒体服务器40接收的在UDP消息的包中的目标时间和媒体位置/帧一致。 

目标媒体时间可以涉及由上述自适应模式方法递送的未来时间,其中诸如整点、新媒体事件的开始和/或广告的插入之类的事件的开始将触发时间同步。 

自适应模式涉及输出设备50的媒体播放器对各自的数据流进行改变(例如,递送的比特速率以帮助性能和/或时间调整的能力。 

当需要在媒体服务器40和输出设备50之间的时间同步时,可以仅基于跳转或仅基于帧速率调整来配置时间因素。例如,在广域网与CPU驱动同步问题中,因为大块的时间可以被迅速地处理,网络将最可能需要跳转过程,由此CPU同步问题将驱动更小以及更平缓的帧速率调整。 

以上描述的过程可以在针对特定环境调谐的可配置持续时间上被重复。此外,通过使设备50导致它们自己的性能滞后于两个信标(即回放帧位置和绝对网络时间),同步将下降到帧。一个信标可以涉及将被用作用于同步的参考点的两个定时系统。NTP(网络时间协议)是信标的示例,其中帧位置可以是媒体 数据(例如,视频)在同步事件期间位于的帧,并且其中网络时间是由信标广播的网络的参考时间。 

关于在图3中所示例性图示的SSP,媒体数据的数据流由通用媒体数据源(诸如内容管理系统20)产生并且由位置的本地媒体数据服务器(诸如媒体服务器40)消耗。媒体服务器40负责通过实时或按需生成数据流来维持从系统20接收的媒体数据文件包与输出设备50的同步回放。 

数据流的数据单元(这里也被称作包)被产生为具有名义速率R1并且被经由单向传输信道44从媒体服务器40传输到一个或多个本地客户50(诸如输出设备50)。当通过传输信道44传输数据流时,传输信道44可以引入一定的延迟和抖动,从而导致在输出设备50处数据流的修改的到达速率R1’。在输出设备50处,数据流的数据单元在放出缓冲区52中缓存,它们被以释放速率R2从放出缓冲区52释放以用于输出。确定数据流的呈现前进的多快的释放速率R2由ASP(自适应同步协议)直接控制以操纵放出缓冲区52的填充状态并且确保媒体服务器40和输出设备50之间的同步以及输出设备50之间的同步。 

ASP定义了如下程序,通过该程序在单一主从架构中部署带外(out ofband)低延时通信机制。主控(即媒体服务器40)将周期性地发送出UDP消息到本地设备(即设备50),该消息包括源时间、未来的时间和/或媒体位置。在已经在输出设备50处从媒体服务器40接收到UDP消息的情况下,输出设备50适配它的缓冲器消耗和/或回放速率以针对网络传输延迟进行调整在指定的绝对网络时间命中媒体位置。 

源时间可以是同步时间并且可以指定该(或全部)输出设备50需要遵循的参考时间。未来的时间可以涉及在未来的一个时间点但是可以不必要涉及某事。例如,如果在包括媒体服务器40和输出设备50的环境中每个输出设备50存在例如3秒的潜在波动,则通过媒体服务器40可以将未来的时间设置为4秒,以及当在一个输出设备50中检测到同步问题时,该(和/或全部)输出设备50在媒体数据流中跳跃4秒。 

基本上,可以通过自适应模式执行适配(或适应)。在回放可以被调整为充分取决于要求的同步水平之前,输出设备50中的放出缓冲区52指定输出设备50可以捕获和存储的媒体数据量。 

在输出设备50的放出缓冲区52中缓冲的数据流的数据单元以释放速率R2 从放出缓冲区52被释放并且被传输到输出设备的s/d缓冲区54。s/d缓冲区54可操作用于只保存单一数据单元。中,设备50以消耗速率R3从这个s/d缓冲区54读出传入数据流的数据单元。s/d缓冲区54将输出设备50的实际消耗速率R3从释放速率R2去耦以便确定在释放速率R2不同于消耗速率R3的情况下的跳转或复制机制。 

在从流的生成到放出的过程中,数据流的数据单元在一些阶段被延迟。数据单元在它到达设备50处放出缓冲区52前要经历传输延迟dT。这包括用于生成、包创建、网络传输和传递到放出缓冲区52的所有时间。在放出缓冲区52中,数据单元在其被从设备50移除之前被延迟缓存延迟dB。此外,在设备50中,数据单元在其通过设备50的显示器56被实际呈现之前可以经历微不足道的进一步延迟。 

媒体时间M(t)指定数据流的临时放出状态并且可以通过在时间t读取s/d缓冲区54中的数据单元的时间戳来确定。媒体时间可以被定义为部分线性、连续的函数M(t),其在实际时间t递送设备50中的媒体时间。媒体时间可以由数据单元或包的时间戳来指定并且可以由SMPTE时间码来实施和/或指定。 

图4示出了用于实施发明的实例性系统,其包括采取传统计算环境920(例如,个人计算机)的通用计算设备。传统计算环境包括处理单元922、系统存储器924和系统总线926。系统总线将包括系统存储器924的各种系统组件耦合到处理单元922。处理单元922可以通过访问系统存储器924来执行算术、逻辑和/或控制操作。系统存储器924可以存储信息和/或指令以用于与处理单元922结合使用。系统存储器924可以包括易失性和非易失性存储器,诸如随机存取存储器(RAM)928和只读存储器(ROM)930。包含有助于在个人计算机920内的元件之间传递信息(诸如在启动期间)的基本历程的基本输入/输出系统(BIOS)可以被存储在ROM930中。系统总线926可以是若干类型的总线结构中的任何类型,包括存储器总线或存储控制器、外围总线和使用各种总线架构中的任何架构的本地总线。 

个人计算机920可以进一步包括用于从硬盘(未示出)读取和向硬盘写入的硬盘驱动932,以及用于从可移动盘936读取和向可移动盘936写入的外部盘驱动934。可移动盘可以是用于磁盘驱动器的磁盘或用于光盘驱动器的光盘(诸如CD ROM)。硬盘驱动932和外部盘驱动934分别通过硬盘驱动接口938和外 部磁盘驱动接口940连接到系统总线926。驱动和它们的相关联的计算机可读介质提供计算机可读指令、数据结构、程序模型和用于个人计算机920的其它数据的非易失性存储。数据结构可以包括如上所述用于实施方法以用于控制应用前景的相关数据。相关数据可以被组织到数据库中,例如关系数据库管理系统或面向对象数据库管理系统。 

虽然这里描述的示例性环境利用硬盘(未示出)和外部盘936,本领域技术人员应当领会到,通过计算机(诸如磁带、闪存卡、数字视频磁盘、随机存取存储器、只读存储器等)可访问的可以存储数据的其它类型的计算机可读介质也可以用于示例性操作环境。 

大量程序模块可以被存储在硬盘、外部盘936、ROM930或RAM928上,包括操作系统(未示出)、一个或多个应用程序944、其它程序模块(未示出)和程序数据946。应用程序可以包括如在图1至图3中描述的功能的至少一部分。 

用户可以如以下讨论的通过输入设备(诸如键盘948和鼠标950)录入命令和信息到个人计算机920中。其它的输入设备(未示出)可以包括麦克风(或其它传感器)、操纵杆、游戏摇杆、扫描仪等。这些和其它输入设备可以通过耦合到系统总线926的串行端口接口952连接到处理单元922,或可以通过其它接口(诸如并行端口接口954、游戏端口或通用串行总线(USB))来被采集。此外,可以使用打印机956来打印信息。打印机956和其它的并行输入/输出设备可以通过并行端口接口954连接到处理单元922。监视器958或其它类型的显示器设备也经由接口(诸如视频输入/输出960)连接到系统总线926。除了监视器之外,计算环境920可以包括其它外围输出设备(未示出),诸如扬声器或其它可听输出。 

计算环境920可以与其它电子设备(诸如计算机、电话(有线或无线)、个人数字助理、电视等)通信。为了通信,计算机环境920可以在联网环境中使用到一个或多个电子设备的连接来操作。图4描绘了与远程计算机962联网的计算机环境。远程计算机962可以是另一计算环境(诸如服务器、路由器、网络PC、对等设备或其它普通网络节点),并且可以包括上述与计算环境920有关的元件中的许多或全部。图4中描绘的逻辑连接包括局域网(LAN)964和广域网(WAN)966。这样的网络环境在办公室、企业范围计算机网络、内联网和因特网中司空见惯并且可以被特别加密。 

当在LAN网络环境中使用时,计算环境920可以通过网络I/O968连接到LAN964。当在WAN网络环境中使用时,计算环境920可以包括调制解调器970或用于建立WAN966上的通信的其它装置。可以再计算环境920内部或外部的调制解调器970经由串行端口接口952连接到系统总线926。在联网环境中,与计算环境920相关描绘的程序模块或者其部分可以被存储在位于或接入到远程计算机962的远程存储器设备中。此外,与用于策略评价的优化(上面所描述的)的方法有关的其它数据可以位于远程计算机962或经由远程计算机962可访问。将领会到,示出的网络连接是示例性的,并且可以使用在电子设备之间建立通信的其它装置。 

以上描述的计算环境只是可以用于实施跨多个输出设备同步媒体数据的方法的计算系统的类型的一个示例。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号