用于媒体流同步的方法、系统和装置的制作方法

文档序号:7847890阅读:208来源:国知局
专利名称:用于媒体流同步的方法、系统和装置的制作方法
技术领域
本发明涉及媒体流的同步,以及具体地、然而不是必须地,涉及一种方法和系统,该方法和系统用于同步第一和第二媒体流,缓冲器、同步服务器和在这种系统中使用的终端以及使用这种方法的计算机产品程序。
背景技术
例如网络语音电话业务(VoIP)和交互式(protocol)网络电视(IPTV)的新多媒体技术开启了全方位的新多媒体服务。这种服务中的一种类型能够使一组用户分别观看相同的TV频道并且利用文本、音频和/或视频彼此交流。这种服务中的另一种类型提供互动式 电视体验,例如广播的电视智力竞赛,其中,在家的电视观众可以输入广播问题的答案并参加电视节目。这种服务要求终端的输出信号被同时传输到组中的所有用户。换句话说,组中对应于不同目的地的显示输出或者放出装置的输出应该被同步,例如,电视、个人数字助理(PDA),移动装置、个人电脑(PC)或它们的组合。在IPTV系统中,TV频道信号典型地作为经由网络节点通过操作员的高带宽IP网络的一个或多个被打包的流传输到这种服务的订购者终端,所述网络节点例如头端、边缘路由器和访问节点。在流传输期间,数据包承受网络中的未知延迟,例如,传输延迟、网路路由差异以及编码差异和解码延迟。作为结果,在第一终端(第一目的地)接收的音频数据包和视频流与在另一第二终端接收的那些(第二目的地)之间的暂时关系会被打乱。为了使IPTV内容流送到终端,通常使用实时传输协议(RTP)。RTP提供了序列编号和时间戳。使用RTP,在相同的线端终端处终止的相关流之间(流间同步),或者在不同线端终端线端终端处终止的相关流之间(组同步或目的地间同步),一个流中的暂时关系(流内部同步)可以被恢复。本发明还可以应用到其他媒体传输协议,例如,使用通过UDP的MPEG传输流或者使用HTTP作为传输协议。F. Boronat等的题目为“Multimedia a group andinter-stream synchronization techniques A comparative study,,(多媒体组和流间同步技术比较研究)(Elsevier Information Systems (爱思维尔信息系统)34 (2009),PP- 108-131)提供了目的地间同步技术的全面概述。所参考的目的地间同步技术可以被分割成三种主要类别。在“同步大师方案(Synchronization Maestro Scheme)”(SMS)中,中心同步母机从组中的所有终端收集定时信息并通过将控制包分布到终端调整输出定时。在“主从式接收器方案”(MSRS)中,接收器(终端)被分类成主接收器和分接收器。主接收器将其输出定时多路传送到分接收器,因此,其调整它们数据包的输出定时。在“分布式控制方案”(DCS)中,每个终端(接收器)将所有定时信息多路传送到组中的所有其他终端,并且所述终端被配置成用于计算合适的输出定时。这些方案共同具有的是同步或者在媒体流源或者在媒体流接收端发生。W02009/053072描述了另一种控制网络目的地间同步方案,其中,例如在媒体路径中的边界网络节点处的网络节点提供连接到其上的用户设备的目的地间同步。这种方法特别适合容许小差异的大规模调度和服务,例如,所述差异例如标准抖动顺序中的差异,来源于存取线路差异的流传播时间中的差异,所述存取线路将流目的地连接到操作员网络。通过在指定网络节点中实施同步实体实现同步,同步实体例如同步客户端,其中,同步实体被配置成在数据包到达时间度量信息,从而将在同步状态信息中的这些测量时间报给同步服务器并且从同步服务器接收同步设置指令从而指示其可变延迟缓冲器。涉及安置于网络中的同步方案的一 个问题是其不能处理或至少处理这种情形有困难,在这种情形中,为内容编制和/或内容重新生成目的(例如,从高清晰度(HD)到标准清晰度(SD)转换,从MPEG-3至MPEG-2和/或从高比特率至低比特率的转换),代码转换器修改在同步网络节点和接收器之间的流。这些修改会引进实质延迟,其不会通过同步网络节点而被补偿。此外,导致不同解码延迟和抖动缓冲器设置的UE中的差异会引起另外的延迟,这会引起UE,之间的延迟和延迟差异的增加,当使用某服务时不再容许这种增加。另一个问题涉及的事实是,安置于网络中的同步方案需要网络节点,该网络节点被配置成测量媒体单元的到达时间。这种功能性要求深层数据包检查,其中,不同媒体数据包的至少首标信息必须被过滤从而能够报告数据包到达时间,所述媒体数据包例如RTP首标或MPEG TS首标。考虑到在特定情况下,所期望的是同步网络节点可以处理在网络节点中这种功能性的多个不同媒体传输协议(包括专有传输协议)实施,其主要被配置成用于路由选择功能,这会变得复杂且昂贵。总之,所有已知的目的地间同步方案每一个具有其自身缺点,例如,但不限于缓冲器资源的低效率使用(例如,当每个线端终端需要大的额外缓冲器时),在频道变化期间的转换电视频道(重新同步)延迟,不准确地延迟测量。因此,本领域中存在对改进方法、系统和装置的需求,其可以提供一个或多个终端的媒体放出的有效地可控制网络同步。

发明内容
本发明的目的是减少或消除已知服务供应系统的至少一个缺点。在第一方面,本发明涉及用于同步第一和第二媒体流的方法,其中,经由第一和第二媒体路径通过至少一个媒体源将所述第一和第二媒体流传输到一个或多个终端,并且其中,所述方法包括步骤使用定位在所述第一和第二媒体路径中的第一位置处的测量模块,测量与所述第一和第二媒体流中媒体数据包到达时间相关的定时信息;在所述网络中,基于所述定时信息,生成用于至少一个缓冲器的缓冲器指令,所述缓冲器被定位在所述第一或第二媒体路径中的至少一个中的第二位置处;以及,延迟通过所述媒体路径被传输到所述一个或多个终端的一个或多个媒体数据包,以使媒体数据包到达所述一个或多个终端的时间基本上被同步。在一个实施例中,所述第一媒体路径可以被提供在所述媒体源和第一终端之间,并且所述第二媒体路径可以被提供在所述媒体源和第二终端之间。这种配置因此为目的地间同步提供了方案。在另一个实施例中,所述测量模块可以定位在所述一个或多个终端处或者在沿着将所述一个或多个终端连接到所述网络的一条或多条存取线路的位置处;和/或所述缓冲器可以被定位在所述网络中;优选地位于边界网络节点中和/或存取网络节点中。在另一个实施例中,所述缓冲器可以被定位在家用网关中或者起始位置处的可比较功能中。优点是置于家用网关后面的终端不需要单独具有另外的缓冲能力,但是每一个仍然包括用于测量时间信息的测量模块以使仍然可以确定各个单独的延迟。这特别相关,如果不同的终端置于家用网关后面,经历不同延迟,例如由于在家用网关处的流适应(例如,代码转换,混合,可扩展视频编码解码相关活动或类似功能)。在另一个实施例中,所述测量模块可以被定位在家用网关处和在网络中的节点中的缓冲器中。这具有的优点是,在缓冲器后面的终端不再需要使用测量模块适应。家用网关也不需要具有另外的缓冲能力,因为这由网络中的另一个节点负责。最终,因为网络地址翻译问题,线端终端不能够直接接收原始组播流,并且因此不可以提供最理想的测量点。在另一个实施例中,测量模块可以被定位在家用网关中,不是在终端的缓冲器中。这是有利的,因为其仅仅要求家用网关和终端的适应,而不要求网络中另一节点的适应。
在一个实施例中,家用网关用作根据本发明的网络节点,或者用作根据本发明的终端。在另一个实施例中,可以通过同步服务器,优选地通过媒体同步应用服务器生成所述缓冲器指令;并且所述测量模块和所述缓冲器可以分别被配置为同步测量客户端和同步缓冲客户端。所述方法进一步包括从所述同步测量客户端接收定时信息的步骤;以及,将缓冲器指令传输到所述同步缓冲客户端的步骤。在另一个实施例中,缓冲器指令以一个或多个同步设置指令报告,优选地以RTCP同步设置指令报告,被发送到同步缓冲客户端;和/或以一个或多个同步状态信息报告将定时信息发送到同步服务器。在一个实施例中,经由所述同步缓冲客户端将所述同步状态信息报告发送到所述同步服务器。在变体中,所述同步缓冲客户端被配置成修改同步状态信息报告,该报告从终端被发送到同步服务器;和/或所述同步缓冲客户端被配置成将同步设置指令报告转发给终端。在另一个变体中,第一媒体路径可以被提供在第一媒体源和终端之前,并且所述第二媒体路径可以被提供在所述第一媒体源或另一第二媒体源和所述终端之间。在又一个实施例中,所述第一测量模块定位在网络节点中,优选地定位在边界网络节点和/或存取网络节点中;以及,所述缓冲器可以被定位在所述一个或多个终端中或者在沿着将所述一个或多个终端连接到所述网络的一条或多条存取线路的位置处。在另一个变体中,所述一个或多个终端中的至少一个被配置成测量在媒体流中的媒体数据包的到达时间之间的变化,并且被配置成基于所述到达时间测量来确定变化是否涉及源自缓冲点的延迟。在另一个变体中,所述缓冲器可以包括可变延迟缓冲器,其被配置成根据从网络中接收的延迟指令而延迟媒体流。在一个实施例中,所述延迟从0. 5秒至10秒之间选择,优选地在I秒至5秒之间选择;在另一个实施例中,可以在连接到所述缓冲器上的两个或多个终端之间共享所述缓冲器点。在另一方面,本发明涉及用于同步第一和第二媒体流的系统,所述系统包括至少一个媒体源,其经由第一和第二媒体路径将第一和第二媒体流传输到一个或多个终端;至少一个测量模块,其测量与通过所述至少一个测量模块接收的所述第一和第二媒体流中的媒体数据包相关的定时信息,所述测量模块定位在所述第一和第二媒体路径中的第一位置处;至少一个缓冲器,其被配置成根据延迟指令延迟通过媒体路径被传输到所述一个或多个终端的媒体数据包,所述缓冲器定位在所述第一或第二媒体路径中的至少一个中的第二位置处;以及,同步服务器,其用于根据所述定时信息生成用于所述至少一个缓冲器的缓冲器指令,以使基本同步媒体数据包到达所述一个或多个终端的时间。在另一个方面,本发明涉及缓冲器模块,优选地涉及同步缓冲客户端,所述缓冲器模块被配置成根据缓冲器指令延迟通过媒体路径传输到终端的媒体;所述缓冲器模块包括可变延迟缓冲器;接收缓冲器指令的接收器,所述缓冲器指令为可变延迟提供用于延迟媒体流达预定延迟期间的信息;发送器,其用于将一个或多个被延迟的媒体流传输到一个或多个终端;以及,可选的,包括指针信息的缓冲器列表,所述指针信息允许所述缓冲器模块共享在两个或多个终端之间的可变延迟缓冲器中的媒体数据包。在又一个方面,本发明涉及同步服务器,其中所述同步服务器包括接收器,其用于接收与一个或多个媒体流中的媒体数据包的到达时间相关的定时信息;处理器,其被配置成生成缓冲器指令,所述缓冲器指令包括根据定时信息计算的延迟信息;发送器,其用于 将缓冲器指令传输到至少一个缓冲器。在另一方面,本发明涉及用于媒体放出的终端,其中所述终端包括测量模块,其用于测量与通过终端接收的媒体数据包的到达时间相关的定时信息;发送器,其用于将定时信息传输到网络中的同步服务器;以及,可选的,测量单元,其用于测量媒体流中媒体数据包的到达时间之间的变动,并且根据所述测量确定变动是否涉及源自缓冲器点的延迟。本发明还涉及计算机程序产品,其包括软件编码部分,该编码部分被配置成当在计算机上运行时,执行根据上述的任何方法步骤的方法。参考附图,将进一步阐释本发明,其示意性地显示了根据本发明的实施例。可以理解,本发明不以任何方式限制到这些具体的实施例。


图I为描述了部分惯用内容传输系统的示意图。图2为描述了根据本发明一个实施例的至少部分内容传输系统的示意图;图3为描述了根据本发明另一个实施例的至少部分内容传输系统的示意图;图4为描述了根据本发明实施例的信令流程图;图5为描述了根据本发明另一个实施例的至少部分内容传输系统的示意图;图6为描述了根据本发明另一实施例的信令流程图;图7描述了根据本发明一个实施例的同步信息报告。图8为描述了根据本发明一个实施例的缓冲同步客户端的示意图。图9为描述了使用根据本发明实施例的同步方案的变化频道过程的示意图。图10为描述了根据本发明又一个实施例的至少部分内容传输系统的示意图;图11为描述了根据另一变体的至少部分内容传输系统的示意图。图12描述了根据又一个变体的至少部分内容传输系统的示意图。
具体实施例方式图I描述了惯用媒体传输系统100的一部分,该系统包括经由边缘(访问)节点112(例如,在xDSL系统中的DSLAM或DOCSIS/电缆系统中的CMTS)连接到媒体传输网络114的用户设备102-110。媒体源111将至少一个媒体流113传输到所述边缘节点。当边缘节点和终端之间的路由仅由单个网络分段构成,也就是存取链接,那么在简单的访问配置中,在边缘节点和家庭网络中的用户位置处的终端之间没有太多的延迟差异存在。因此,如果在边缘节点和不同终端之间存在延迟,那么延迟会或多或少相同(more or less或多或少),以使使用连接到边缘节点上的不同用户设备的媒体放出(play-out是不是播放的意思呀,我也不确定)是或多或少同步。然而,不同多媒体设备的使用会导致这种情形,在该情形中,会边缘节点和连接到边缘节点的不同UE之间存在不同的延迟。图I描述了边缘节点和三个居住环境(房屋)116-120,其中,边缘节点将例如MPEG-4媒体流的媒体流122传输到不同UE。UE3的用户可以使用其UE102直接观看被传输的媒体流,并因此在居住环境116中没有另外的延迟。UEl的使用不使用其装置观看被传输的媒体流,而是将第二 UE2连接到UE1,所述第二 UE2例如MPEG-2,其将媒体流转发给UE2。在转发传输流之前,UEl首先将MPEG-4媒体流转换代码 成MPEG-2媒体流124。类似地,UE4的用户还具有用于观看媒体流的移动装置110形式的一 UE5。移动装置被无线连接到UE5上,UE5将MPEG-4媒体流转换代码成适于和移动装置使用的媒体格式。因此,在存取链接中代码转换器的使用可以引进重要的延迟,该延迟包括涉及抖动缓冲的延迟,涉及额外打包和拆包过程的延迟,涉及额外传输延迟和转换代码延迟的延迟。这些额外延迟,特别是后者延迟,实质上由此引进了各个UE的放出中的不可接受的差异。使用已知的基于网络的同步方案不可以补偿这些差异,其中,在访问节点中实施的同步客户端(SC)126与同步服务器101交换同步信息。在这种方案中,SC 126包括用于测量媒体数据包到达时间,用于生成同步状态信息和用于延迟媒体流放出的功能。同步服务器可以从SC 126和从包括在其他访问/边缘节点(未显示在图I中)中的其他SC收集同步状态信息,计算延迟信息并发送同步设置信息134至SC,这使用用于设置可变延迟缓冲器的信息,从而连接到在目的地间同步方案中所涉及的两个或更多的访问/边缘节点的UE的媒体放出被基本同步化。尽管适于大规模调度和网络控制,这种同步方案不可以补偿在存取路线中生成的延迟,因为在这个方案中考虑的仅是到达不同边缘节点的媒体流的到达时间差异。当媒体流继续在至各个UE的不同路径上时,在这些节点外建立的任何延迟差异不再被考虑。术语存取路线以该术语的较宽意义使用,意思是网络节点之间的所有连接和元件,包含SC,例如边缘节点,和UE。在到达UE之前,媒体流被重定向至其他网络的情况下,存取路线还包括部分家用网络或者部分其他网络。因此,在本领域中存在对改进的同步方案的需求,包括改进的目的地间同步方案,其提供了改进的同步执行,并提供了同步方案,对于大规模应用其是可扩展的。图2描述了根据本发明一个实施例的内容传输系统200的至少一部分。所述系统包括至少一个媒体源202,该媒体源202用于将内容传输到用户设备(UE)208-212经由一个或多个网络节点204,206。UE经由存取路线214-218被连接到访问节点上,也就是在网络边缘的网络节点。典型地,所述网络涉及分组交换网络,其中以一个或多个媒体流220,222将内容传输到UE,所述媒体流比如视频点播流或者(直播)组播电视广播。网络节点涉及访问节点(例如数字用户线接入复用器(DSLAM)),电缆数据机终端系统(CMTS),光访问节点或边缘路由器或前端。此外,UE (也称为终端)涉及能够处理媒体流的任何装置,例如,媒体放出装置或者连接到一个(例如,机顶盒)上的装置。这种装置可以包括移动电话,电视机,IP-电话,游戏控制器,智能计量装置等。术语放出可以被理解为将数据流中的内容(部分内容)显示给或呈现给用户或另一装置。 在UE和边缘节点之间的存取路线包括中间元件(未显示),例如一个或多个代码转换器和/或混合器,以相似同方式描述在图I中。如参考图I所阐释,这些中间元件可以引起连接到UE的每个存取路线中的延迟,以使UE的被同步放出或至少基本被同步放出是不可能的。因此,为了能够补偿这种不期望的延迟,UE可以包括一测量单元,例如一测量同步客户端(MSC)246-250,其被配置成确定媒体数据包到达时间信息。通过MSC使用这种媒体数据包到达时间信息从而生成同步状态信息224-228,其被发送到网络中的同步服务器230 (此后被称为媒体同步应用服务器(MSAS))。因此,MSC允许UE用作一用于测量媒体数据包到达时间信息的测量点,并将同步 状态信息中的这种信息报告给网络。MSAS使用属于同步组中所有UE的同步状态信息从而计算用于网络中缓冲点的延迟信息,其位于要求同步的媒体流的媒体路径中。MSAS可以提供具有延迟信息的缓冲点,以使UE的媒体放出基本同步。在一个实施例中,这种缓冲点可以实施为网络节点中的缓冲同步客户端(BSC),网络节点例如访问节点或类似节点。为了获得同步,BSC与可变延迟缓冲器232,234相关联,通过MSAS发送到网络节点的同步设置信息236,238可以控制BSC。此后与BSC相关联的缓冲器指的是BSC缓冲器。BSC缓冲器被配置成用于处理相对大的延迟,例如范围在近似0. 5与5秒之间的延迟。此外,BSC缓冲器是被控制的网络,在某种意义上,其经由同步设置信息从MSAS接受其延迟指令并根据这些质量适应其延迟设置。UE进一步包括抖动缓冲器240,242,244,典型地以自适应抖动缓冲器形式,其可以补偿小延迟波动,典型地范围在20与50ms之间的波动,达到100与200ms之间的最大值。典型地,可以被补偿的最大抖动等同于在开始媒体流放出之前引进的缓冲延迟(大小)。这种自适应抖动缓冲器被配置成测量媒体流中的波动(也就是,媒体数据包到达时间的统计方差)并且通过动态自适应缓冲器长度(尺寸)补偿这些波动。这与BSC缓冲器相关的缓冲器形成对比,其从MSAS接收其延迟设置。与已知控制网络同步方案相比,根据本发明的同步方案使用分离测量点,例如,一MSC和一分离的缓冲器点,例如BSC,其中,测量点和缓冲点位于在媒体目的地(例如UE)和媒体源之间的媒体路径上的不同位置处。因为MSC可以位于存取路线的某处或者甚至位于UE中,同步方案提供对存取路线中的延迟的补偿。在一个实施例中,MSC可以位于UE中并且BSC可以位于访问节点中。在另一个实施例中,MSC可以位于与局域网或家用网络相关的节点中。在另一个实施例中,MSC可以位于网络中,例如,在访问节点中,并且BSC可以位于存取路线或甚至位于UE中。因此,本发明依靠这种见解,即通过分离测量点和缓冲点提供用于提供同步的功能。因此,与已知的目的地间同步方案相比,其中,在单个逻辑实体中同步所需要的功能(也就是测量和缓冲)一起实施。分解这些功能会遇到多个技术挑战。参考图2至12,在下面更加详细地描述上述实施例和它们相关的优点。在详细讨论中,将说明技术挑战也被约定以及解决这些技术挑战方案的明确见解。
同步是基于媒体流中的基本媒体单元中的或与之相关的时间信息,基本媒体单元为例如RTP或MPEG数据包等。到达UE的MSC的每个数据包可以与RTP时间戳和NTP时间戳相关。RTP时间戳反映了在RTP数据包中第一八位字节的采样时刻。时间戳的初始值是随机值。RTP时间戳计数采样周期,因此,如果在第一 RTP数据包后,第二 RTP数据包开始160采样,那么第二 RTP时间戳是高于第一 RTP时间戳的160。相反,NTP时间戳是绝对“挂钟”时间。NTP是64位计数器,其起始于1900年I月I日如定义在IETF RFC 1305中。由NTP使用的64位时间戳由32位秒部分和32位小数秒部分构成。其代表了通过RTP时间戳识别的第一八位字节经过UE中的具体点的绝对时间。这个具体点可以例如是UE的放出,其中,NTP时间戳代表了指定的八位字节被播放给用户的时间。可选择地,其可以是当MSC第一次接收指定八位字节时的进入(输入)点。当根据本发明分解测量和缓冲器点时,所遇到的一个技术挑战涉及具有同步活动的网络抖动的存在和潜在干扰。尽管因为抖动,在RTP数据包之间存在随机偏移,但是UE确定显示的准确时间,RTP时间戳确定,与媒体流的其他部分相比什么时候应该播放某视频 帧或音频样本。因此,如果例如在访问节点中的BSC的网络通过缓冲数据包延迟了媒体流,或者通过丢弃媒体数据包加速媒体流(仅有缓冲这些数据包时通常才是可能的),如果UE以常态方式使用RTP时间戳,那么会产生问题。例如,如果在网络中的BSC延迟数据包,同时RTP时间戳要求通过UE的数据包放出,那么UE会遭遇问题。类似地,BSC会丢弃导致RTP时间戳中的“中断”的数据包,同时UE应该继续放出好像没有中断存在。此外,使用例如BSC在网络中某处延迟媒体流并不自动意味着使用那个同一延迟会执行在UE处的媒体流的放出。例如,如果由BSC引进的延迟关于被传输的媒体频率相对 较小,例如100ms,那么UE能够继续显示好像根本没有延迟引进到媒体流。如果引进的延迟相对小,那么UE可以作为抖动理解,并且UE使用其抖动缓冲器从而补偿延迟。如果通过BSC引进较大延迟,例如大于I秒,那么UE根据其实施起作用。例如,UE可以确定媒体流中的“中断”。因为没有新的数据包到达,所以由于媒体流显示,在UE处的(抖动)缓冲器会被清空,以使不能继续放出。然后,如果与被延迟的媒体流相关的新数据包到达UE,那么UE再次启动抖动缓冲器,并继续媒体流的放出,一旦抖动缓冲器被填充至继续放出的点。其他UE不会再次启动缓冲。例如,响应媒体流中的中断,UE可以决定,不再获得媒体流,并且完全停止放出。为了克服这个问题,在一个实施例中,UE可以适用于接收延迟网络的媒体流。这意味着,对于小延迟,UE被编程为认出抖动和被引进(小)延迟之间的差异。抖动代表了绕着传输频率的(统计)方差,因此,即使一些数据包比预期晚些到达,数据包到达的平均时间将保持恒定。换句话说,抖动缓冲器中的媒体数据流数量可以绕着某个稳定平均点波动。相反,故意引进的延迟具有确定性字符,并且引起所有另外媒体数据包晚些到达。通过测量多个(被延迟)媒体数据包,可以确定在统计延迟和由网络缓冲器引进的延迟之间的差异。如果UE确定发生了网络缓冲器延迟,那么UE可以不同地对待这些数据包并且在媒体显示中引进相同的延迟。某些UE可以包含所称的自适应性抖动缓冲器。自适应性抖动缓冲器能够适于更改媒体数据包的到达。例如,如果许多数据包迟到到达,那么自适应性抖动缓冲器可以在大小上增加从而补偿这种允许情况。为了调整UE能够延迟正被延迟的媒体流的显示,这可以被认为是包含具体类型自适应性抖动缓冲器的UE。对于较长延迟, 出。相反地,其应该简单地长时等待。当在较长时间期间中,例如I秒或更多,没有媒体数据包到达,那么可以检测这种延迟。如果在这种“中断”新媒体数据包到达之后,它们将会同先前的数据包一起被连续放出。进一步,如果检测到较长延迟,那么自适应性抖动缓冲器可以要求重新设置缓冲器设置。在长延迟后,自适应性抖动缓冲器设置可以被设置成太高。因此,在长延迟后,抖动缓冲器可以引进延迟,其长于所要求的。一旦引进延迟,BSC还可以再次降低延迟,例如,通过跳过媒体数据包。这种过程还可引进问题。如果通过BSC将数据包引下线,那么UE可以认知这是数据包延迟或数据包丢失。UE可以等着看数据包是否仍到达,而不是使用新的较少延迟的数据包继续重放。因此,根据它们的实施,UE可以对丢失数据包做出不同响应。通过编程UE可以解决这问题,以使由比预期较早到达的新媒体数据包(按平均值并以检测到较大延迟的相同方式)跟随的丢失媒体数据包可以通过UE解释为,所述延迟已被降低并且使用新到达的、被较少延迟的数据包直接继续媒体放出(而不是将丢失数据包解释为数据包丢失)。处理由BSC缓冲器引进的延迟的另一方案是使BSC知道,或者至少RTP知道。BSC可以被配置成在将媒体数据包转发到UE之前,改变引入的媒体流的RTP时间戳。然而,不是每一个RTP数据包会精确包括一个媒体数据包。对于音频,RTP数据包可以包含多个音频样本。相反地,对于视频,多个RTP数据包(具有相同RTP时间戳)可以包含一个视频帧。这取决于RTP数据包的大小,以及媒体数据包的大小,也就是音频或视频。因此,为了改变RTP数据包中的RTP时间戳,BSC被配置成认知RTP数据包正携带的媒体,并因此改变时间戳。可以相对容易地实现到时间戳改变。如果所有数据包将被延迟达一定时间数量,那么通过减去用于被缓冲数据包的时间数量,可以计算新的时间戳。根据如ETSI RFC 3550中所定义的媒体流的时钟频率,RTP时间戳增加。因此,为了能够从RTP时间戳中减去时间数量(以ms为单位),需要时钟频率。对于多种负载类型,时钟频率是熟知的并且规定在例如IETF RFC 3551中。通过实时监测数据包获得的时钟频率并使时钟频率与有效载荷类型相关联,BSC可以获得在媒体流中使用的有效载荷类型。可选择地,有效载荷类型可以同步设置信息从MSAS发送到BSC。然而,用于处理由BSC缓冲器引进的延迟的另一方案是,UE和BSC两者可以接收同步设置指令。这些同步设置指令包括媒体流放出时间的指令。尽管为了获得目的地间同步,BSC正在引进延迟,UE可以使用同步设置指令作为调整其放出的方式。通过来自同步设置指令的信息,UE知道这个事实,即来自媒体流的数据包到达得晚些,因为BSC已经延迟了它们。参考图6和图5,此后将更加详细描述允许UE接收同步设置指令的同步方案。如果一个或多个存取路线包括中间元件,例如,将媒体流转发到末端用户的UE的转发UE,转发UE能够将源自末端用户UE的同步状态信息消息(例如,以RTCP消息形式)转发到网络。通过IETF RFC3550中描述的技术可以认识到这种过程,其通过参考由此被结合。RFC 3550规定了在媒体路径中的两种类型的中间元件混合器和中继器。中继器可以转发未改变的RTP和RTCP消息。因此,如果转发UE类似中继器那样作用,那么来回转发RTCP消息不会造成问题。然而,如果UE例如代码转换器那样作用(例如,将媒体流代码转换成另一编码解码器),那么UE应该被配置成处理RTCP消息。在转换代码期间,UE修改RTP媒体数据包和RTP时间戳。因此,为了能够经由转换代码中间元件发送RTCP消息至网络,其跟踪属于彼此的引入和输出时间戳。换句话说,转换代码UE能够使在输入处的媒体数据包的时间戳与在输出处的媒体数据包的时间戳相互关联,并且反之亦然。如果末端用户的UE发送同步状态信息消息,那么这种信息会包含被转换代码的RTP流的RTP时间戳或者基于该RTP时间戳。因此,使用引入和输出时间戳之间的相关联信息,转换代码UE必须将RTP时间戳改变成引入RTP流的相关联值。RTP消息被发送到MSAS的这种方式包括同步状态信息,该同步状态信息基于正确RTP时间戳。在RFC 3550中更加详细的描述了这个过程。图3描述根据本发明另一个实施例的内容传输系统的至少一部分。特别地,根据基于MS的IPTV 300架构,这个实施例描写成内容传输系统的实施,基于MS的IPTV 300 架构如通过ETSI TISPANTS 183063和TS 182027所定义地。所述系统包括MS核心307,包括一组呼叫会话控制功能(CSCF):例如,代理呼叫会话功能(P-CSCF),询问呼叫会话功能(I-CSCF)以及服务呼叫会话功能(S-CSCF)。MS核心被进一步连接到用户设备(UE)305上,连接到用于控制网络中IPTV服务的IPTV服务控制功能(SCF) 306 (例如,广播SCF,内容点播SCF等),并且连接到包括媒体控制功能(MCF)202和媒体传输功能(MDF)303的媒体功能(MF) 301上,从而控制媒体内容传输并经由传输功能(TF) 304控制数据包至用户设备(UE)0来自TS 182 027的IPTV架构扩展有媒体同步应用服务器(MSAS) 308,其被设置成执行目的地间同步功能。目的地间媒体同步涉及同步技术,同步技术能够显示某媒体,例如,在实时相同或至少几乎相同时间点处在不同目的地的视频片段和/或音频样本。IMS系统可以适于媒体缓冲。例如,使用一个或多个可变延迟缓冲器可以在传输功能处发生媒体缓冲。缓冲器可以从附加到同步状态信息报告的MSAS接收缓冲器设置信息,例如具有同步扩展的RTCP接收器报告,UE将该报告发送到用于RTP传输控制的网络。通过结合使用例如至少一个可变延迟缓冲器的缓冲的在UE位置处的测量同步客户端(MSC) 309和在传输功能处的相关缓冲同步客户端(BSC) 310,使用同步状态信息可以执行同步。MSAS可以从不同MSC收集同步状态信息并且通过发送同步设置指令控制在相关BSC中的缓冲过程。使用资源接纳和控制子系统(RACS)311,MS核心可以将同步设置指令发送到传输功能中的BSC。图3中的IPTV系统可以使用会话发起协议(SIP)从而建立并控制在用户终端或者用户终端与包括SCF和MF的应用服务器之间的会话。可以使用由SIP信令消息携带的会话描述协议(SDP)从而描述并磋商会话中的媒体组件。进一步,实时流协议(RTSP)用于媒体控制,媒体控制提供例如,广播窍门模式,内容点播(CoD)和个人网络视频录像机(NPVR)和实时传输协议(RTP),并且RTP控制协议(RTCP)分别用于媒体传输及其控制。图4描述了根据本发明实施例的信号流程图400,其中,订阅IP组播频道的接收器(UE)被同步。例如,当两个用户在不同位置的不同UE上以被同步的方式观看同一直播内容(例如组播的足球比赛)可以应用这种方案。经由连续聊天会话或者开放电话线路,目的地间同步能够使用户互动,共同欣赏比赛,而不会有这种风险,即一个用户比其他用户早几秒看到了得分进球。在第一步骤402中,UE请求MS核心建立媒体会话。请求消息例如可以是ETSI TS182 027和ETSI TS 183 063中所规定的SIPINVITE消息。通过MS核心将这种请求转发给SCF (步骤404),其传输用于基本IPTV媒体分发(media delivery)的高级服务。SCF使用响应消息回复这种请求,例如,SIP 200 OK消息,其包括待被建立会话的另外信息。这些另外信息可以包括MSAS地址,例如URL或IP地址,并且还包括组同步标识符SyncGroupId,该标识符用于识别待被同步的终端组。例如,组同步标识符可以被包括为响应消息中的SDP参数。MS核心随后将响应消息转发回到请求UE (步骤406,412)并且通知RACS被请求的媒体会话要求同步。可以使用在ETSI TS 183 017中规定的Diameter消息通知RACStjDiameter是一种扩展协议,为了同步目的,通过定义包含被请求同步信息的新属性值对可以扩展该协议。特别地,Diameter同步建立请求408可以包括用于识别同步会话的信息,例如SyncGroupId,用于识别待被同步的媒体流信息(例如,在SIP响应消息中的一个或多个会话描述协议(SDP)参数),用于识别所涉及UE的信息(例如,建立媒体流的UE的IP地址),并且还包括被 分配为同步服务器的至这具体媒体同步的MSAS地址。例如,使用DHCP,网络可以将一个IP地址分配给一个UE。网络可以将IP地址分配给在IP地址特定范围内的UE,其可以与包含BSC的某网络节点相关联。RACS可以配备有或者配置有IP地址范围列表,和与每个IP地址范围相关的BSC地址。使用在同步建立请求消息408中的UE的IP地址,根据列表,RACS可以识别BSC,其适于缓冲与媒体会话相关的媒体流。如果BSC位于媒体源和UE之间的媒体路径中或者与该媒体路径相关,那么BSC用于和UE 一起使用。在RACS已经确定被用作同步的缓冲器的BSC的IP地址后,其可以在同步建立请求中插入这种地址,例如使用Diameter消息410该地址被随后转发到MSAS,该地址具有与从MS核心发送到RACS的同步建立请求408具有相同或类似格式,其可以扩展有BSC标识符,例如包含BSC IP地址的属性值对。分配或查找BSC的机制不限于上述的实施例,在一个实施例中,SCF可以维持UE和BSC列表。使用这个列表,其可以将BSC分配到被UE请求的媒体会话,并且将选择的BSC直接传递给MSAS。在另一实施例中,RACS不会直接通知MSAS而是指示BSC将其自身报告给通过SCF分配的MSAS。在又一个实施例中,BSC地址被传递给UE。UE随后将该地址传递给MSAS作为状态信息报告的一部分。在这个变体中,BSC地址可以与RTCP消息中的域相关联,所述RTCP消息例如包括BSC IP地址和可选地端口号。因此,SCF和/或RACS被配置成将合适的BSC分配给UE。在一个实施例中,这种BSC在边缘节点中被协同定位,边缘节点例如DSLAM或者CMTS。可以用各种方式解决识别的问题,即那个UE位于某边缘节点后面(也就是一个或多个UE至边缘节点的关联)。典型地,连接到UE的是边缘节点,其使用至UE的DHCP提供IP地址。如果分配到UE的IP地址是唯一的,那么其可以用作指示符,该指示符是IP地址被分配到哪一个边缘节点的指示符。例如,可以通过手动配置,可以预先确定IP地址范围到网络中边缘节点的分配,并且将该分配维持在存储在数据库中某处的列表中,网络可以使用该数据库。可以将列表复制到SCF和/或RACS,或者SCF和/或RACS可以使用该列表。
用于选择合适BSC的进一步变体可以基于网络中已经使用的网络拓扑结构信息。例如,许多固定的网络包括网络管理系统,其跟踪哪个客户晚于(behind)哪个存取线路。类似地,例如为了处理呼叫建立和移交,移动网络连续跟踪哪个终端使用哪个基站。因此,在这种情况中,网络拓扑结构信息在网络中全是可用的,并且可以用于选择合适BSC的目的。在另一个变体中,BSC可以定位在网络节点中,其高于网络层次,也就是所有或至少大部分媒体流经过的网络节点。然而,另一种选择可以确定媒体源和UE之间的路由。这可以通过将跟踪路由消息从媒体源发送到UE而实现。在大多数操作系统中使用并有时称为“跟踪路径”或者“路由跟踪”的跟踪路由消息可以返回在网络中两个实体之间经过的所有节点的列表。如果获得包含BSC功能的所有节点的列表,那么包含BSC功能的网络节点可以从由跟踪路由操作返回的网络节点列表中选择。 现在再次参考图4中的流程图,在步骤410,MSAS接收包括同步会话建立信息的同步建立请求。同步会话建立信息包括多个信息项,包含-与UE相关的标识符,例如UE当前使用的IP地址;-与BSC相关的标识符,例如,IP地址和可能的BSC端口号;-与同步组相关的标识符,例如,SyncGroupId;以及-与内容相关的标识符,例如与媒体流相关的一个或多个SDP参数。一个SDP参数可以涉及媒体数据包被发送至其上的端口号。与UE的IP地址结合的端口号可以被用作媒体流的标识符。用于识别媒体内容的其他变体可以是SSRC的使用,如IETF RFC 3550中规定的。通过媒体源将SSRC指定给媒体流并且在媒体流建立期间SSRC可以被传递到MSAS。MSAS可以在存储器或数据库中存储这种信息。进一步,其可以将这种信息与MSAS中的当前同步信息相关联。例如,在一个实施例中,基于SyncGroupId,MSAS可以确定哪个其他媒体目的地是相同同步组中的一部分。可以在晚些阶段通过MSAS使用这种信息,用于计算延迟设置。UE接收的响应消息412可以为UE提供媒体建立和同步所需的所有信息,包括MSAS和SyncGroupId的位置。可选择地,其可以包括在另一个实体中执行缓冲的指示。在会话建立确认后(步骤414,416),例如,UE可以使用IGMP来请求传输所选择的组播流。对于同步目的,然后UE的MSC发送同步状态信息至MSAS (步骤418)。作为响应,MSAS可以生成同步设置指令并将这些指令转发给BSC (步骤420)。使用RTCP报告技术可以实现同步状态信息和同步设置指令的传输,例如,RTCP报告技术使用扩展RTCP发送器和接收器报告,在下面会更详细地描述。 从MSC接收的同步状态信息包括用于识别媒体流中特殊样本的RTP时间戳和NTP时间戳。例如,如果RTCP发送器报告包含1234的RTP时间戳和指示2月3日,10:14:15的NTP时间戳,那么其意味着媒体流中的样本1234精确地在2月3日,10:14:15发生。因此,NTP时间戳代表了 UE报告的采样事件的实际(绝对)时间。为了同步目的,所假定的是,在目的地间媒体同步中涉及的所有UE使用利用已知技术同步的时钟,其中,例如已知技术基于NTP (网络时间协议)。RTP时间戳反映了在RTP数据包中第一八位字节的采样时刻。采样时刻必须源自增量为适时单调的和线性的时钟,从而允许同步和抖动计算。因此RTP时间戳提供了关于媒体流中的采样时刻位置的信息。同步可以基于各种定时事件,例如,基于UE接收媒体的时间,或者基于将媒体显示给用户的时间。在示例中,所假定的是,在同步状态信息中的RTP时间戳反映了在指示NTP时间接收的媒体数据包。MSAS会接收和管理在一个或多个同步组中的不同媒体目的地(典型的UE)的MSC的同步状态信息。基于所收集的同步状态信息,MSAS随后计算用于与UE相关的BSC的延迟设置指令。通过识别具有最延迟的媒体目的地并计算其他媒体目的地为了匹配被识别的最延迟媒体目的地的放出时间而需要引进的延迟数量,可以确定这些延迟设置指令。延迟设置指令涉及用于BSC的指令,其允许BSC以这种方式(实际上)处理媒体数据包从而匹配RTP时间戳和NTP时间戳的给定时间戳组合。延迟设置指令的计算可以涉及参考时间戳的选择,例如NTP时间戳,并且为所有媒体目的地计算相关的RTP时间戳。
在第一个实施例中,例如,MSAS选择某RTP时间戳并为每个目的地计算在哪个NTP时间戳它们应该处理与该选择的RTP时间戳相关的媒体数据包。在另一个实施例中,MSAS可以选择NTP时间戳并为每个目的地计算哪个RTP时间戳应该与该选择的NTP时间戳相关联。需要注意,并不要求MSAS选择当前NTP或RTP时间戳。要紧的是NTP和RPT之间的关系,因此可以使用当前时间戳,或者反映过去或未来的(虚拟)同步点的时间戳。因为RTP时间戳不代表绝对时间(根据IETF RFC 3550)而是频率,所以需要确定采样率。这可以或者通过确定负载类型和它们的相关指定的采样率(例如,从IETF RFC3551中所知)或者通过使用两个或多个状态信息报告而完成。第一状态报告可以包含具有NTP时间戳NTP_x的RTP时间戳RTP_x,以及第二状态报告可以包含具有NTP时间戳NTP_y的RTP时间戳RTP_y,其中,NTP_y涉及比NTP_x晚些的适时点。基于这种信息,可以确定频率(或者时钟频率)=(RTP_y-RTP_x) / (NTP_y_NTP_x)。所报告的媒体数据包到达时间可以包含一些差错,因为例如网络抖动。通过使用多余两个的状态信息报告可以消除或至少减少这些差错。如果计算的值接近某固定时钟频率,其被经常使用(例如,8000Hz,44100Hz和90000Hz),那么MSAS可以假定使用这些已知值中的一个。一旦MSAS已经确定了时钟频率速率? rate,那么可以计算用于BSC的延迟设置指令。分别考虑与UEl和UE2相关的下面示例状态信息报告值,其中,使用90000Hz的时钟频率-在NTP 时间 01 23 :45. 678 (NTP_UE1), UEl 报告 RTP 时间戳 2070000 (RTP_UE1_reported);-在NTP 时间 01 23 45. 678 (NTP_UE2), UE2 报告 RTP 时间戳 2250000 (RTP_UE2_reported);通过选择参考时间戳,并使用作为基础的参考时间戳随后计算其他时间戳,MSAS可以首先确定最延迟UE。例如,MSAS可以选择UEl的NTP时间戳,并计算在这个NTP时间的UE2的RTP时间戳RTP_UE2_calculated=RTP_UE2_reported+90000* (NTP_UE1_NTP_UE2)。这种计算的结果是被计算的RTP_UE2=2160000,表示UEl是最延迟的UE。换句话说,在时间NTP_UE1,UE2的RTP时间戳值大于与UEl相关的那个。因此,为了获得较好目的地同步,UE2必须延迟放出。在计算了延迟设置指令后,MSAS可以将指令发送到合适的BSC。例如,这些指令可以包含计算的RTP和NTP时间戳,以及识别待被延迟的媒体流的手段,所述手段例如UE的IP地址和在其上接收媒体的端口号,或者如同在RTP协议中使用的媒体流的SSRC标识符。因为MSC和BSC位于媒体路径中的不同点处,所以BSC不认识由UE中的MSC发送至IJMSAS的同步状态信息并且不知晓UE当前正在显示哪个媒体单元。因此,不能确定是否引进或去除延迟。为该理由,在一个实施例中,MSAS可以包含源自UE中MSC进入延迟设置指令的状态信息报告,以使基于通过MSAS确定的RTP和NTP时间戳,BSC能够计算请求的延迟。因此,用于UEl和UE2的延迟设置指令包括来自UEl的状态信息报告的值和RTP_UE2_计算值,允许UEl确定没有延迟被请求并且UE2确定应该引进一秒(2160000-2070000=90000,其精确等于I秒给定时钟频率)的延迟。一旦BSC已经接收了指令,根据指令,其可以根据流识别手段定位合适的流,并计算引进或去除的延迟数量。之后,BSC可以引进请求的延迟。通过停止发送媒体数据包一段时间或者通过改变RTP数据包和RTCP数据包中的RTP时间戳可以实现延迟。延迟设置指令可以包括来自过去的NTP或RTP时间戳。例如,BSC的延迟设置指 令的接收器应该在媒体流中引进延迟,以使给定的NTP和RTP时间戳匹配。即使指令包含数据包准备好处理的RTP时间戳,但是指令接收器应该将指令翻译成其当前被处理的时间戳。NTP和RTP时间戳还可以与永远不会到达接收器的媒体数据包相关联。在某种意义上,这种时间戳被认为是虚拟的。其是指示同步的NTP和RTP时间戳的组合。在那个NTP时间的那个RTP时间戳,MSAS通知UE去行动,好像UE将被,应该被,能够被。既然通过MSC确定并发送到MSAS的同步状态信息可以基于(或者相关于)不同的数据包处理时间(例如,数据包到达时间,数据包显示时间或者数据包解码时间),那么延迟设置指令应该-原则上-基于相同的数据包处理时间;例如,如果同步状态信息基于数据包到达时间,延迟设置指令应该也基于数据包到达时间。如果不同处理点(到达,解码,显示)之间的时间差异是恒定和已知的,那么状态报告可以基于数据包到达时间同时设置指令可以基于数据包显示时间。代替NTP和RTP时间戳,发送到BSC的延迟设置指令可以包括-在另一个实施例中-缓冲第二媒体流额外1000毫秒的用于BSC的指令。可选择地,延迟设置指令可以指示BSC增加目的地间同步缓冲器大小以使实现1000毫秒的延迟。在这些情况中,是MSAS计算请求的延迟。图5描述了根据本发明又一个实施例的内容分送系统500的至少一部分。特别地,图5描述了与参考图2描述的相类似的基于IMS的IPTV架构的一部分。所述系统包括传输功能502和与ECF/EFF (或者其一部分)共置的BSC506,其中传输功能502包括基本处理功能和基本转发功能ECF/EFF 504。MDF508传送媒体流510到作为目的地的UE512。通过TF502,经由BSC506,媒体流被传输到UE中的MSC 514。为了响应媒体流510接收,UE的MSC生成同步状态信息消息516至MSAS518,也就是同步状态信息报告。与参考图3和图4描述的系统相比,经由506,将同步状态信息消息发送到MSAS。基于所接收的同步状态信息,MSAS随后计算同步设置指令518并经由BSC将这些指令发送到UE。然而,取代将这些消息转发到UE,BSC拦截这些同步设置指令,并且不会将它们转发给UE。在这个例子中,UE, MDF和MSAS都不知道BSC扮演的角色。因为BSC在媒体流和所有同步消息的路径中,所以其可以拦截,监视和/或调整这些消息和媒体流。
图6描述了与参考图5描述的系统相关的消息流程600。特别地,图6描述了用于同步消息和从MDF传送到UE的媒体流的消息流程。在第一步602,UE发送同步状态信息报告至MSAS。这个报告具有扩展有RTCP扩展报告块的RTCP接收器报告,其中RTCP扩展报告块包含状态信息。在这个报告被转发到MSAS之前,消息被ECF/EFF拦截。通过ECF/EFF拦截消息,有两个原因。第一个原因是为了通过ECF/EFF中的BSC执行任何缓冲,BSC可以使用同步状态信息报告中的信息,例如,关于MSC中的特定媒体流数据包的数据包到达时间的定时信息。如果,BSC想知道其应该延迟媒体流多少,那么其能够以几种方式接收和/或确定这信息。在第一变体中,MSAS发送绝对指令,例如,“延迟媒体流X达y秒”的形式。BSC可以执行这些指令,而没有任何来自源自UE的同步状态报告的知识。在其他变体中,MSAS以“如果这些媒体数据包在指定时间已经到达,放出媒体流”形式发送指令。在那种情况下,如果BSC知道数据包在UE的到达时间(例如,如同包含在源自UE的同步状态报告中一样),那么BSC可以实施这些指令。通过拦截从UE发送至MSAS的同步状态信息消息,BSC知道了这 些消息中的信息,包括到达时间信息。BSC可以将这些消息临时存储,从而与包含在从MSAS发送至UE的同步设置指令中的信息结合使用这些信息。那种方式,即使用状态信息和设置指令,BSC可以确定其是否延迟媒体流和延迟多少。用于拦截通过状态信息消息的第二个原因是其允许BSC调整消息中的信息。当MSC和BSC位于媒体路径的不同点时,请求信息的调整。在MSC位于UE中的情形中,由BSC引进的媒体流中的延迟会导致到达时间信息的延迟。如果MSC和BSC—起位于一个同步客户端中,这种情形不会发生。一旦数据包已经到达,也就是,在确定媒体数据包到达时间后,会引进任何延迟。因此,因为在媒体流到达MSC之前其被延迟,所以,当与BSC和MSC被组合在一个位置的情形相比较时,同步状态信息消息会包含不同的定时信息。为了纠正其影响,BSC可以调整从UE发送到MSAS的同步状态信息消息。BSC知道其延迟媒体流多少时间数量,因此,其从在状态信息报告中报告的到达时间减去这个值。如果BSC没有执行这个行动,与在BSC没有延迟媒体流的情形中相比,或者与BSC适时在某点所延迟流相比其较少延迟媒体流的情形中相比,UE似乎接收媒体数据包晚的多。因此,当BSC引进延迟时,其可以调整状态信息消息从而反映该延迟。在拦截和调整报告中的信息后,BSC可以发送同步状态信息至MSAS (步骤604),作为响应,其可以发送同步设置指令回到UE (步骤606)。再次,通过源自状态信息的时间数量和设置指令,BSC可以拦截这些同步设置指令并延迟媒体流。BSC或者可以转发同步消息至UE,或者其可以不这样做。这通过步骤608中的虚线箭头指示。既然BSC执行设置指令,UE不请求它们延迟媒体显示。然而,除了执行设置指令,BSC还可以转发指令至UE,其可以使用这些指令中的信息从而除了媒体数据包,例如,在合适时间显示它们。图7阐释了用于报告与RTP媒体流相关的目的地间媒体同步信息的可能的RTCP XR块类型的示例。其定义基于TETF RFC 3611。RTCP XR用于将关于接收时间和RTP数据包显示时间的信息报告给例如IETF RFC 3550定义的发送器,IETFdraft-ietf-avt-rtcpssm-19定义的反馈目标或者IETF RFC 3550定义的第三方监视器。RTCP XR也可以用于交换同步媒体放出中涉及的各种元件之间的同步状态信息和同步设置指令,各种元件例如MSC,BSC和MSAS,所述同步媒体放出例如图3和图6的信息流程中所描述的一样。第一 64位形成RTCP XR的首标,如同IETF RFC 3611中定义的一样。交换目的地同步RTCP XR可以包括下述域中的一个或多个-数据包发送器SSRC识别具体RTCP数据包的发送器。-块类型(BT):8位。其识别块格式。-同步数据包发送器类型(SPST):4位。这个域识别用于这个具体扩展报告的数据包发送器的角色。其具有下面的值I. SC:数据包发送器使用这个XR来报告同步状态信息。时间戳涉及SC输入;MSAS :数据包发送器使用这个XR报告同步设置指令。时间戳涉及虚拟SC的输入,其用作连接到这个MSAS上的SC被同步的参考。
-保留位(Resrv):3 位。-数据包显示NTP时间戳标志(P):l位。位设置到1,如果数据包显示NTP时间戳包含值,设置为0,如果其是空。如果这个标志被设置成0,那么数据包显示NTP时间戳不应该被检查。-块长度16位。这应该被设置成7,因为这个RTCP块类型具有固定长度。-负载类型(PT):7位。根据IETF RFC 3551,这个域识别媒体负载的格式。这个媒体负载与RTP时间戳时钟频率相关联。这个时钟频率为RTP时间戳计数器提供时基。-保留位(Resrv):25 位。-媒体流关联标识符32位。这个标识符用于关联被同步的媒体流。值0(所有位设置“0”)表示这个域为空。保留值2 A 32-1(所有位设置“I”)已被将来使用。如果RTCP数据包发送器是SC或MSAS (SPST=I或SPST=2),然后,媒体流关联标识符映射SyncGroupId。- SSRC :32位。媒体源的SSRC应该被设置成在XR涉及的RTP数据包的RTP首标中进位的SSRC标识符值。-数据包接收NTP时间戳64位。这个NTP时间戳是XR涉及的RTP数据包的第一八位字节的到达挂钟时间。对于SPST=2,其涉及同步组中的其他SC可以同步到的虚拟SC。-数据包接收RTP时间戳32位。这个时间戳具有XR涉及的RTP数据包的RTP首标中进位的RTP时间戳值。-数据包显示NTP时间戳32位。当包含在相关RTP数据包的第一八位字节中的数据被显示给用户时,这个时间戳反映NTP时间。其由最不重要的16位NTP秒部分和最重要的16位NTP小数秒部分构成。如果这个域是空,然后,其被设置成0,并数据包显示NTP时间戳标志设置成O。图8描述了根据本发明一个实施例的BSC800。特别地,其阐释了包括缓冲器802的BSC800,由第一 UE1804和第二 UE2806共享。UEl接收第一同步媒体流808并且UE2接收第二同步媒体流810。在这个示例中,媒体流808和810是源自引入媒体流812并涉及相同内容的相同流,除了这种情况,即与第一媒体流中的具体数据包发送到UEl的时间早于UE2。BSC进一步包括用于控制BSC中的过程的控制器814。例如,控制器可以从MSAS接收同步设置信息816,计算与同步组中不同UE相关的延迟,并传输一个或多个被延迟媒体流至UE。
因为UEl和UE2位于彼此被同步的观看会话中(也就是,它们属于相同同步组),并且与BSC和UEl之间的媒体路径相关的网络延迟大于与BSC和UE2之间的媒体路径相关的网络延迟,所以BSC引进延迟从而补偿UE和包括BSC的访问节点之间的存取路线中的延迟。因此,具体的媒体数据包,例如视频帧或者音频样本,必须被较早地发送到UEl从而使UEl和UE2能够以基本同步的方式接收媒体流,该基本同步的方式描述在图8中并在两个UE之间共享。UE观看同一内容,使用相同的BSC和/或属于一个同步组可以共享缓冲器。在另一个实施例中,BSC可以缓冲用于不同同步组的相同内容。在两种情况下,依据缓冲容量和引入至BSC的网络载荷,会更有效率地使用单个缓冲器。缓冲器可以根据先进先出(FIFO)时间表工作。从始发媒体流812接收的新数据包被添加至缓冲器802并且在缓冲器中时间最长的数据包被首先去除。通过维持包括UE标识符820和相关指针822的缓冲器列表818,多个UE可以共享缓冲器,其中,每个UE-ID识别共享BSC的UE,并且其中,指针指向被待被发送到其对应UE的下一个数据包。例如,缓冲器列表818可以包括与UEl相关的第一指针,指向缓冲器中的数据包5,并且包括与UE2相关的第二指针,指向缓冲器中的数据包8。数据包每次发送到具体UE,BSC需要维持并更新列表,特别地是其中的指针。BSC不必连续缓冲每个媒体流。例如,BSC可以仅仅缓冲媒体流达15秒并使BSC能够处理与不同UE相关的变化延迟。 图9A和图9B描述了用于目的地间同步目的的缓冲方案。这些附图可以阐释与发明相关的进一步优点,特别是涉及改进的频道变化时间效果的特殊优点。图9A描述了一种系统,其中,UE902包括同步客户端,该同步客户端包括测量功能904和缓冲功能906。在这种情况下,缓冲器功能可以被配置成作为交换目的地缓冲器和抖动缓冲器而发挥作用。UE接收第一媒体流908,该第一媒体流包含待被显示给UE 902用户的视频帧。UE 902可以是交换目的地同步会话的部分。因此,为了能够同步化,UE 902需要执行在缓冲功能中的被接收媒体的缓冲,在这种情况10中,媒体单元例如是视频帧。当缓冲器功能也用作抖动缓冲器时,那么另外数量的视频帧被缓冲,例如5个视频帧,由此在缓冲功能中缓冲了总共15个视频帧。在某点,UE的用户需要从第一媒体流908转换至第二媒体流910。在频道改变期间,UE首先需要开始缓冲来自第二流910的媒体单元。没有目的地间同步,为了处理抖动的目的,仅仅短期间被缓冲。然而,当UE中的缓冲功能为了目的地间同步也缓冲时,在开始将被缓冲的视频帧显示给用户时,需要视频帧的另外缓冲。例如,假使媒体单元涉及具有25帧每秒帧速率的视频流,那么为抖动缓冲的目的,仅有5巾贞需要被缓冲。这会导致近似200ms的延迟。这种延迟对于改变频道仍然是可接受的时间。然而,图9A中的BSC为了处理抖动和目的地间同步需要缓冲15帧。这种缓冲会产生600ms的延迟,也就是与仅处理抖动情形相比,使其延迟的三倍。频道改变时间的这种增加会降低用户体验。图9B涉及一种方案,其中MSC和BSC位于UE和媒体源之间的媒体路径上的不同点处(也就是位置)。在这种情况中,UE 912包含MSC 914和抖动缓冲器916。第一 BSC1918位于媒体源和UE之间的媒体路径某处的网络中。对于当前第一频道,BSC1918可以正被缓冲在视频帧被转发到UE 912之前,包括第一频道的第一流920被缓冲10媒体单元(例如,视频帧)。网络还包括第二 BSC 922,其缓冲包括第二频道的第二媒体流924。
当与图9A中的方案相比时,图9B中的方案提供了几个优点。首先,抖动缓冲器的大小-在这个示例中,三个媒体单元-因为在BSC和UE之间的较短媒体路径而被减小。在网络中引进抖动,因此,网络路由越长(越短),媒体流中数据包之间的延迟差异会变得更大(更小)。在图9B的示例中,第一 BSCl以有规律间隔发送媒体流926中的媒体单元(也就是,基本没有任何抖动)。较短媒体路径导致较少抖动,并且因此需要较小抖动缓冲器。使用25帧每秒的帧速率,会导致120ms的延迟,而不是图9A中描述的方案中要求的与缓冲5中贞相关的200ms的延迟。其次,频道改变时间较短,因为UE不必为目的地间同步目的缓冲。相反地,包含BSCl的网络中的节点负责目的地间同步所需的10帧缓冲。当通过第二 BSC2912已经缓冲第二媒体流时,可以立即开始媒体放出。以每秒25帧的帧速率,在频道改变期间,这可以节 省另外400ms的延迟。因此,总的频道改变延迟可以降低到120ms,由此当与图9A示例中的600ms的延迟相比时,其提供了频道改变时间的有效减少。涉及转换电视频道的一个问题是,为目的地间同步目的,确定用于新频道的缓冲器大小。最简单的方案是类似于旧频道延迟新频道,例如,相同数量的时间或者相同数量的视频帧。然而,用于确定新频道延迟的更精确方法也是可能的。在一个实施例中,BSC可以存储与不同媒体流相关的某状态信息的历史记录,并且可以利用该历史记录从而确定精确同步设置指令。例如,基于与媒体流A相关的状态信息报告,MSAS可以将设置指令发送到BSC从而延迟用于UE的流和这个同步组达到X ms。当UE转换到媒体流B时,首先BSC延迟媒体流B达到与用于媒体流A相同数量的时间。然而,如果通过MSAS接收来自UE的新状态信息报告,那么其会计算并发送新同步设置指令至BSC,现在通知BSC延迟至UE的流B达y毫秒。当已经改变的唯一事情是媒体流时,为了在这些媒体流之间转换,其他终端可以使用I和X之间的差异。如果使用USC对于UE发生足够的频道改变,BSC可以构造频道转换列表,该列表包括用于各种频道的相对延迟,可以使用该频道转换列表从而选择合适的延迟用于从一个频道到另一个频道的任何UE转换。图10描述了根据本发明另一实施例的内容传送系统1000的至少一部分。在这个实施例中,系统包括媒体源1002,该媒体源1002用于经由一个或多个网络节点将媒体流传送到多个UE。为了允许通过UE的媒体流的被同步放出,实施同步方案,其中,每个UE1004-1008包括BSC1010-1016,并且其中,MSC1018,1020位于媒体源和每个UE之间的媒体路径上某处的网络1022中。MSC从媒体源接收媒体流1024,并作为媒体流1026-1030转发该媒体流至UE。在这个示例中,媒体流1024可以被分布为组播流,其中,组播媒体流在组播跳处被分成三个媒体流1026-1030。MSClO 18,1020可以被放置在为了传送到不同UE组播流必须被分开的点处,这种点可以是网络的边缘节点,例如xDSL网络中的DSLAM,或者是电缆网络中的CMTS。如果在从MSC位置至不同UE的媒体传输之间没有大的延迟差异,那么可以非常正确地执行网络中MSC和UE中BSC的使用,其中,不同的UE接收通过该特殊MSC传输的媒体流量。如果存在大差异,例如如图I中显示,那么对于目的地间同步目的,这种情况会执行地比理想差。MSC 1018,1020可以执行媒体单元到达时间测量,并且报告作为同步状态信息1032,1034的这些被测量的到达时间信息至同步服务器(MSAS) 1036。MSAS可以从涉及媒体流的所有MSC和具有目的地间同步需求的UE收集所有同步状态信息。然后,其会计算合适的同步设置指令并将这些指令1038-1042发送到不同UE,其中每个UE包括BSC。需要注意,如果在目的地间同步中涉及的所有UE位于网络中单个MSC之后,那么这不是非常有用。如图10中描述的同步方案具有两种明显的优点。第一个优点涉及这种事实,即该方案要求用于目的地间同步目的的经过网络的较少消息。在UE包括MSC和BSC的情况中(例如,见图9A),所有UE发送它们自身的同步状态信息消息至同步服务器。在图10描述的实施例中,网络中的一个MSC代表多个UE发送一个状态信息消息,由此,极其大地减少了消息数量。所有UE仍然接收它们自身的同步设置指令,但是典型地,状态信息消息数量会大于或至少等于设置指令消息数量。UE可以规律地发送状态信息消息至MSAS,以使其跟踪在初始同步后发生的可能 的不足同步。然而,一旦在某点适时实现了目的地间同步,网络延迟相当静态,以使媒体传送保持基本同步,不需要另外的设置指令,因为BSC不需要进行延迟变化。因此,通过在网络中定位MSC减少了状态信息消息的数量,这可以提供在目的地间同步中涉及的较大部分消息的减少。与图10中同步方案相关的第二优点是,其减少了同步服务器(MSAS)执行的处理数量。MSAS会必须处理用于某目的地间同步组的所有同步状态信息消息,能够计算相关延迟设置指令。较少的状态信息消息会导致较小的复杂计算,以及因此需要较小的处理。图11显示了在另一类型同步境况中的这种发明的应用。取代为了目的地间同步目的将同步客户端分成BSC和MSC,图11描述了用于交互流同步(也就是对口型)的应用。图11阐释了媒体流分布情况,其通过来自另一源的额外媒体流而被充实。这种额外媒体流的示例可以是不同的音频流,例如,体育比赛广播中的不同解说员。这种音频流可以在不同源处生成,然后是原比赛广播,因此交互流同步必须被分别设置。在这种特殊情形中,交互流同步会遭受与目的地间同步相同的问题。例如,产生音频以响应最初的播送。这会意味着观看最初播送的人员在接收选择性的音频流之前必须缓冲视频流很多秒。此外,所述设备不可以设置用于缓冲延长时段,因为放出设备通常设置用于(抖动)缓冲仅短期时段(也就是IOOms的命令)。另一个问题涉及这种事实,即也是在这种情况中,频道改变延迟可以变得很长。这种情形会导致不可接受的频道改变延迟,即在频道改变后,在获得匹配视频定时的选择性音频流之前,必须缓冲视频几秒钟。在那种情况中,在网络中包括组合的MSC/BSC的同步客户端的使用不会提供合适的同步功能。这是由于这种事实,即通常与音频相比,视频需要较长时段的缓冲,因为例如MPEG的当前视频编码方案利用不同类型的帧,例如,I-帧,B-帧和P-帧。如果这种视频编码方案遵循双向编码方法,对于解码,某些帧依赖较早的帧,某些依赖将来的帧,以及某些依赖这两种帧。因此,对于解码某些帧,需要许多帧,因此这些帧需要在开始解码那些帧之前被缓冲。因此,为了解决这些问题,期望一种同步方案,其中,BSC和MSC位于沿着在一个或多个媒体源与UE之间的媒体路径的分离点处。图11显示了家用环境1102,其包括配备有MSC1106的UE1104,MSC1106用于报告与一个或多个媒体流相关的媒体单元到达时间信息。可以将UE连接到显示器1108和音频输出装置1110。UE接收视频流1112和分离地相关音频流1114。视频流和音频流两者都经过BSCl116,BSCl116位于在视频和音频流的媒体路径中的网络中,并且包括分别用于缓冲音频和视频流的分离的BSC缓冲器1118,1120。BSC可以从两个分离的媒体源1122,1124接收视频流和音频流,其中媒体源1122,1124位于网络中的某处。MSAS 1126可以从MSC接收状态信息报告1128,基于状态信息报告计算同步设置指令1130,其随后被发送到BSC。UE因此接收两个或多个分离的媒体流,在这种情况中,音频和视频流(可以或不用源自网络中的不同媒体源)属于彼此。为了执行交互流同步,UE可以接收如IETF RFC 3550中指定的RTCP发送器报告。这些RTCP发送器报告从媒体源发送到UE,并且包括媒体数据包被发送(或者更具体地被采样)的时间和对应的RTP媒体流的RTP时间戳之间的关系。通过匹配不同流的不同媒体数据包被发送(或者更具体地被采样)的时间,以及通过随后查找不同媒体流的对应RTP时间戳,可以获得交互流同步。为了 MSAS能够计算延迟设置指令,其需要不同流之间的相关时间。如果两种流从相同源被发送或者使用用于相关媒体数据包的相同采样时间被发送,那么普通的RTCP程序仍然应用。在那种情况下,MSAS需要包含在RTCP发送器报告中的信息从而相关联通过 MSC发送的同步状态信息中报告的时间戳。可以通过各种方式获得用于关联时间戳的这种信息,例如,通过规定RTCP发送器报告至MSAS的路线。例如,UE可以转发发送器报告至MSAS,或网络可以发送发送器报告副本至MSAS。获得这种信息的另一种方式是通过将网络中的MSAS放置在RTCP消息的信令路径中。例如,这可以通过共置MSAS和BSC获得。如果不同的媒体流不是源自相同源,或者没有使用用于相关媒体数据包的相同采样时间,那么,MSAS仍然需要关于关联的信息,该关联是与音频和视频流相关的状态信息报告中的时间戳之间的关联。在一个实施例中,可以手动提供关联信息,例如,通过某人,显示两种流至该人并且其可以手动改变延迟从而获得同步。一旦获得同步,可以报告手动引进的延迟并发送至MSAS。在另一个实施例中,媒体数据包源提供同步状态信息中时间戳之间的关联。例如,如果响应另一个第一媒体流创建第二媒体流,那么第二媒体流源可以报告第二媒体流的采样时间与第一媒体流的采样时间之间的关联(包含在通过第二媒体流源接收的RTCP发送器报告中)。在这个情况中,也可以发生其他问题。如果通过分离的UE接收音频和视频流,那么这些UE不能够执行交互流同步,因为它们不知道通过每个UE报告的媒体数据包到达时间。然而,如果BSC位于网络中,UE都可以包括MSC并报告BSC到达时间。然后,代替不同的UE,BSC执行必须的缓冲从而获得交互流同步。图12描述了媒体分布网络,其包括根据本发明一个实施例的分布式同步系统。这种分布式架构的引进可以提供一些优点。例如,在媒体分布的网络路径的各个部分上可以发生延迟差异。因此,根据延迟差异的来源,可以有利地在不同地方补偿延迟。此外,预先不知道在媒体路径下游的任何UE或网络节点是否能够提供同步功能。通过在网络中不同节点处引进同步功能,通过给定的不同网络节点的同步能力,可以获得最好的同步。此外,即使最终获得在UE上的目的地间同步,如果媒体流在某种程度上在网络中被同步,那么频道改变时间会较低。图12描述了所有都接收媒体流1210的UE1202-1208。UE连接到某网络节点上1212,1214,例如网络1216,1218的边缘节点。每个UE发送同步状态信息1220,1222至MSAS 1224,1226。这些MSAS可以计算延迟设置指令1228,1230,并且发送这些至网络节点1212,1214。这能够使UE被(局部)同步。不同的网络节点1212也可以接收同步外的媒体流1210。即使在UE上执行包括MSC和BSC功能的完整的目的地间同步,有利的是至少同步这些网络节点。假定,其中一个网络节点1212落后于某媒体流的其他网络节点I秒。没有对网络节点的同步,落后于所有其他网络节点的每一个UE必须为此缓冲I秒从而获得目的地间同步。通过缓冲关于这些网络节点1212的差异,这些UE的频道改变时间会减少那I秒。其他优点是,如果UE1202,1204中某些不能够执行目的地间同步,那么它们仍然会接收几乎全部地被同步的媒体流1210。
网络节点1212可以发送同步状态信息1232至另一 MSAS 1234,其可以计算和发送另一同步设置指令1236至包含BSC的网络节点1238。在网络节点处的缓冲早于在媒体路径中的缓冲的优点是减少了缓冲存储器的总数量不同的网络节点1212可以共享包含在网络节点1238中的缓冲器。此外,如果在媒体流的下游路径上的任何节点(网络节点或者UE)不能够执行用于目的地间媒体同步的缓冲,那么,媒体流仍然可以在某种程度上被同
止/J/ o这些不同的目的地间同步可以在不同级别上发生。在网络1212中,网络节点1212在节点1238中的网络中被内部同步,并且在网络1218中,通过使用另一个网络节点1240,网络节点1214被同步,其中,网络节点1240甚至在网络层次中处于较高位置。具有在网络层次中的较高位置,节点意味着在媒体流的路径中较早。在这个示例中,通过发送同步状态信息1242至MSAS 1244,同步核心网络节点1238。这个MSAS 1244可以计算并发送同步设置指令1246至包括BSC的网络节点1240。例如,这种网络节点1240可以是用于传送媒体流至不同网络和网络操作者的分布点。但是,边缘节点1214也从网络1218发送同步状态信息1248至MSAS 1244,由此,使用网络节点1240中的相同BSC。可以理解,可以单独使用关于任何一个实施例描述的任何特征,或者可以与描述的其他特征结合,并且还可以结合任何其他实施例的一个或多个特征使用,或者任何其他实施例的任何组合。本发明的一个实施例可以被实施为与计算机系统一起使用的程序产品。程序产品的程序定义实施例(包括在此描述的方法)的功能,并且可以被包含在各种计算机可读存储介质上。示意性的计算机可读存储介质包括,但不限于(i)非写入存储介质(例如,计算机内的只读存储装置,例如CD-ROM磁盘,其通过CD-ROM驱动器可读,闪存,ROM芯片或者任何类型的固态非易失性半导体存储器),信息被永久存储在其上;以及(ii )可写入存储介质(例如,软盘驱动器中的软盘或者硬盘驱动器或者任何类型的固态随机存取半导体存储器),信息被可改变的存储在其上。此外,本发明不限于MS,而是还可以基于软交换设计实施,由此,基本用户订购功能、IP会话管理、以及具体VoIP服务功能被全部或部分地集成在置于网络中的一个或多个可信的应用服务器中。此外,也可以预见使用其他服务供应网络的本发明的实施,例如3GPP长期演进(LTE)或3GPP服务架构演进(SAE)网络。此外,本发明不限于上述的实施例,其可以在随附权利要求的范围内变化。
权利要求
1.用于同步第一和第二媒体流的方法,经由第一和第二媒体路径通过网络中至少一个媒体源将所述第一和第二媒体流传输到一个或多个终端,所述方法包括 使用设置在所述第一和第二媒体路径中的第一位置处的测量模块,测量与所述第一和第二媒体流中的媒体包的到达时间相关的定时信息; 根据所述定时信息,在所述网络中生成用于至少一个缓冲器的缓冲指令,所述缓冲器设置在所述第一或第二媒体路径中的至少一个中的第二位置处;以及, 延迟在所述媒体路径上传输到所述一个或多个终端的一个或多个媒体包,以使媒体包到达所述一个或多个终端的时间基本同步。
2.如权利要求I所述的方法,其中,所述第一媒体路径提供在所述媒体源和第一终端之间,并且所述第二媒体路径提供在所述媒体源和第二终端之间。
3.如权利要求I或2所述的方法,其中,所述测量模块位于所述一个或多个终端处,或者位于沿着将所述一个或多个终端连接到所述网络的一条或多条存取线路的位置处;和/或其中,所述缓冲器位于所述网络中;优选地位于边界网络节点和/或存取网络节点中。
4.如权利要求1-3中任一项所述的方法,其中,所述缓冲指令通过同步服务器生成,优选地通过媒体同步应用服务器生成;以及其中,所述测量模块和所述缓冲器分别被配置成同步测量客户端和同步缓冲客户端,所述方法还包括 接收来自从所述同步测量客户端的定时信息;以及, 将缓冲指令传输至所述同步缓冲客户端。
5.如权利要求4所述的方法,其中所述缓冲指令在一个或多个同步设置指令报告中,优选在RTCP同步设置指令报告中,发送至所述同步缓冲客户端;和/或其中,所述定时信息在一个或多个同步状态信息报告中发送至所述同步服务器。
6.根据权利要求5所述的方法,其中,所述同步状态信息报告经由所述同步缓冲客户端发送至所述同步服务器。
7.如权利要求6所述的方法,其中,所述同步缓冲客户端配置成修改从终端发送至所述同步服务器的同步状态信息报告;和/或其中,所述同步缓冲客户端配置成将同步设置指令报告转发至终端。
8.如权利要求I所述的方法,其中,所述第一媒体路径提供在第一媒体源和终端之间,并且所述第二媒体路径提供在所述第一媒体源或另一第二媒体源和所述终端之间。
9.如权利要求I所述的方法,其中,所述第一测量模块位于网络节点中,优选地位于边界网络节点中和/或存取网络节点中;以及,其中所述缓冲器位于所述一个或多个终端中或位于沿着将所述一个或多个终端连接到所述网络的一条或多条存取线路的位置处。
10.如权利要求1-9中任一项所述的方法,其中,所述一个或多个终端中的至少一个配置成测量媒体流中媒体包的所述到达时间之间的变化,并根据所述到达时间测量,确定变化是否涉及源自缓冲点的延迟。
11.如权利要求1-9中任一项所述的方法,其中,所述缓冲器包括可变延迟缓冲器,所述可变延迟缓冲器配置成根据接收的来自所述网络的延迟指令延迟媒体流,所述延迟从0. 5和10秒之间选择,优选地从I秒和5秒之间选择;和/或其中,所述缓冲器在连接到所述缓冲器的两个或多个终端之间共享。
12.用于同步第一和第二媒体流的系统,所述系统包括至少一个媒体源,其经由第一和第二媒体路径将第一和第二媒体流传输到一个或多个终端; 至少一个测量模块,用于测量与通过所述至少一个测量模块接收的所述第一和第二媒体流中的媒体包相关的定时信息,所述测量模块设置在所述第一和第二媒体路径中的第一位置处; 至少一个缓冲器,其配置成根据延迟指令,延迟在媒体路径上传输到所述一个或多个终端的媒体包,所述缓冲器设置在所述第一或第二媒体路径中的至少一个中的第二位置处;以及, 同步服务器,其用于根据所述定时信息生成用于所述至少一个缓冲器的缓冲指令,以使媒体包到达所述一个或多个终端的时间基本同步。
13.一种在如权利要求12所述系统中使用的缓冲模块,优选地同步缓冲客户端,所述缓冲模块配置成根据缓冲器指令延迟在媒体路径上传输至终端的媒体;所述缓冲模块包括 可变延迟缓冲器; 接收器,其用于接收缓冲指令,所述缓冲指令为所述可变延迟提供用于延迟媒体流预定延迟时期的信息; 发送器,其用于将一个或多个延迟的媒体流传输到一个或多个终端;以及,可选地, 缓冲器列表,包括指针信息,所述指针信息允许所述缓冲模块共享在两个或多个终端之间的所述可变延迟缓冲器中的媒体包。
14.一种在如权利要求12所述的系统中使用的同步服务器,所述同步服务器包括 接收器,其用于接收与一个或多个媒体流中的媒体包的到达时间相关的定时信息; 处理器,其配置成生成缓冲指令,所述缓冲指令包括根据所述定时信息计算的延迟信息; 发送器,其用于将所述缓冲指令传输到至少一个缓冲器。
15.一种用于媒体播放的终端,所述终端配置成在如权利要求12所述的系统中使用,所述终端包括 测量模块,其用于测量与通过所述终端接收的媒体包的到达时间相关的定时信息; 发送器,其用于将定时信息传输到所述网络中的同步服务器;以及,可选地,测量单元,其用于测量媒体流中媒体包的所述到达时间之间的变化,并且根据所述测量确定变化是否涉及源自缓冲器点的延迟。
16.一种包括软件代码部分的计算机程序产品,所述软件代码部分配置成当其运行于计算机时,执行如权利要求I至11中任一项所述的方法。
全文摘要
本发明描述了一种用于同步第一和第二媒体流的方法和系统,其中,所述第一和第二媒体流通过网络中的至少一个媒体源经由第一和第二媒体路径被传输到一个或多个终端。所述方法包括使用设置在所述第一和第二媒体路径中的第一位置处的测量模块,测量与在所述第一和第二媒体流中的媒体数据包到达时间相关的定时信息;根据所述定时信息,在所述网络中生成用于至少一个缓冲器的缓冲器指令,所述缓冲器被定位在所述第一或第二媒体路径中的至少一个中的第二位置处;以及,延迟通过所述媒体路径传输到所述一个或多个终端的一个或多个媒体数据包,以使媒体数据包到达所述一个或多个终端的到达时间基本同步。
文档编号H04L29/06GK102742249SQ201180007597
公开日2012年10月17日 申请日期2011年1月27日 优先权日2010年1月27日
发明者奥尔马·阿齐兹·奈穆图, 富宾恩·亚瑟·瓦尔瑞恩, 汉斯·马登·斯多金, 马蒂斯·奥斯卡·万·狄文特 申请人:Tno荷兰应用科学研究组织, 荷兰皇家Kpn电信集团
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1