已修改流同步的制作方法

文档序号:7910246阅读:156来源:国知局
专利名称:已修改流同步的制作方法
技术领域
本发明涉及用于相关流的目的地间同步的方法和系统。本发明还涉及供在此类系统中使用的同步单元、同步点、到达时间信息调整模块和数据结构以及使用此类方法的计算机程序产品。
背景技术
诸如IP语音(VoIP)和网际协议电视(IPTV)的新多媒体技术开放了一整套的新多媒体服务。这些服务的一个类型使得一组群用户能够单独地观看相同TV频道并使用文本、 音频和/或视频来相互通信。这些服务的另一类型提供交互式电视体验,诸如广播电视提问,其中,在家中的观看者可以输入对广播问题的回答并参与演出。此类服务要求向该组群中的所有用户同时地传送终端的输出信号。换言之,应使组群中的对应于不同目的地的显示或播出设备(例如电视、PDA、移动设备、PC或其组合)的输出同步。在IPTV系统中,通常经由诸如头端器、边缘路由器或接入节点的网络节点通过运营商的高带宽IP网络将TV频道信号作为一个或多个分组化流传送到此类服务的订户的终端。在流的传输期间,分组经受网络中的未知延迟,诸如传输延迟、网络路由中的差和编码与解码延迟中的差。结果,在第一终端(第一目的地)处接收到的音频和视频流的分组与在另一第二终端(第二目的地)处接收到的那些之间的时间关系将受到干扰。为了将IPTV内容流式传输到终端,通常使用实时传输协议(RTP)。RTP提供序列编号和时间戳。使用RTP,可以恢复在一个流中的时间关系(流内同步)、在相同末端终端处终止的关联流之间的时间关系(流间同步)或在不同末端终端处终止的关联流之间的时间关系(组群同步或目的地间同步)。F. Boronat等人的论文“Multimedia group and inter -stream synchronization techniques : A comparative study"( Elsevier Information Systems 34 (2009)pp. 108 - 131)提供了可以在三个主要种类中再分的已知目的地间同步技术的全面概述。在“同步大师方案”(SMS)中,中央同步主机从组群中的所有终端收集定时信息, 并通过向终端分发控制分组来调整输出定时。在“主-从接收机方案”(MSRS)中,将接收机(终端)分类为主接收机和从接收机。主接收机向从接收机多播其输出定时,从接收机相应地调整其分组的输出定时。在“分布式控制方案”(DCS)中,每个终端(接收机)向组群中的所有其它终端多播所有定时信息,并将终端配置为用于计算适当的输出定时。这些方案具有在媒体流的源或接收端处发生同步的共同点。共同待决欧洲专利申请—描述了另一目的地间同步方案,其中,在沿着源与接收机之间的流路径的某处使网络节点同步。这种方法特别适合于容忍由将流目的地连接到运营商网络的接入线路的差异而产生的流传播时间方面的小差异的大规模部署和服务。大多数提及的目的地间同步技术利用关于终端处的媒体流接收的定时信息(例如 RTP时间戳、在时间上的特定时刻接收到的RTP媒体流的RTP序号或传输流中的一个或多个等效参数)。通过比较不同接收机的定时信息,可以计算适当的流调整。示例性调整可以是通过在接收机端处使用缓冲器的接收到的流的播出时间的延迟。关于这些已知同步方案的一个问题是这些方案未被设计为处理其中出于内容准备和/或内容再生目的来修改源与接收机之间的流的情况。流的修改在许多情况下可能是必要和/或有利的。例如,为了使媒体流准备好高效的递送,可以针对诸如分辨力变化的流接收机或接入线路的特定要求来调整媒体流(例如,当η从HD转换成SD或转换成较低比特率时)。在这种情况下,可以在流的路径中放置称为转换器或代码转换器的流修改单元。当与原始(未修改)输入流相比较时,已修改代码转换器输出流可以包括不同的时间戳、序号或其它定时信息。还可以针对特定的客户要求对媒体流进行定制。可能需要向主要内容流添加画外音、副标题、画中画。这通常由称为混合器的流修改单元来完成。此外,当穿过使用再生器单元的网络域时可能需要对流进行再生。所有这些内容准备和再生方案都可以改变流中的定时信息,从而使得已知的目的地间同步方案不可靠或者甚至不可能使用。因此,在现有技术中需要使得能够实现已修改与未修改流之间或两个不同已修改流之间的目的地间同步的方法和系统。

发明内容
本发明的目的是减少或消除现有技术中已知的同步方案的缺点中的至少一个,并提供一种用于至少第一流和第二流的目的地间同步的方法,其中,所述第二流可以是使用第一流作为输入流的媒体流修改单元的输出流。该方法可以包括下述步骤提供到达第一同步点的第一流中的分组的第一到达时间信息和到达第二同步点的第二流中的分组的第二到达时间信息;提供关于所述输入流与所述输出流之间的同步关系的同步相关信息;以及基于第一和第二到达时间信息以及同步相关信息来计算延迟信息。在另一实施例中,所述方法可以还包括步骤为至少第一或第二同步点提供所述延迟信息,使得所述至少第一或第二同步点能够延迟流的输出,以使得分别由第一和第二同步点输出的第一和第二流基本上同步。通过提供同步相关信息,仍可以使针对使用不同终端和或具有不同服务要求的不同的一组观看者的相关流同步。本发明因此允许异构网络中的观看者组群以同步的方式观看媒体流。本上下文中的到达时间通常是同步点接收到媒体流的特定部分的时间。在本发明的上下文中,本领域的技术人员应理解的是在这里不需要使用精确的分组到达时间。被用作到达时间信息的实际时间可以根据同步点用于确定到达时间的精确点而略微改变。这可以是例如直接在到达时、在将分组放置在抖动缓冲器中之前。但是其还可以是处理媒体分组的过程中的稍后的点,例如正好在解码过程之前或正好在转换过程之前。同步点甚至可以知道直至媒体内容的该特定部分的实际呈现为止的用于处理媒体分组所需的时间,并使用实际呈现时间作为到达时间信息。在一个实施例中,由至少第一和第二同步点来输出所述第一和第二流,并且其中, 所述同步点被连接到至少一个同步单元以便使所述同步点同步。在另一实施例中,计算延迟信息的步骤可以包括用于调整第一和/或第二到达时间信息以实现第一到达时间信息与第二到达时间信息之间的共同时间线的调整步骤。调整步骤可以基于同步相关信息的至少一部分。在一个实施例中,由到达时间信息调整模块来执行调整步骤,所述模块是同步单元的一部分,该同步单元被提供有同步相关信息。在另一实施例中,可以在同步点处执行调整步骤,其中,同步点可以包括到达时间信息调整模块。可以为此类到达时间信息调整模块提供同步相关信息的至少一部分,该同步单元被提供有已调整第二到达时间信息。在又一实施例中,可以在网络元件中执行调整步骤,其中,可以将网络元件布置为接收到达时间信息。网络元件还可以包括到达时间信息调整模块,该到达时间信息调整模块被提供有同步相关信息的至少一部分且同步单元被提供有已调整第二到达时间信息。在一个实施例中,同步点可以是终端或网络节点,优选地是接入节点。在另一变体中,流修改单元可以是转换器或混合器且同步单元可以被包括在同步点或服务器中。在另一方面,本发明可以涉及同步单元,优选地同步服务器,其用于使至少接收第一媒体流的第一同步点和接收第二媒体流的第二同步点的输出同步,其中,所述第二流可以是使用第一流作为输入流的媒体流修改单元的输出流。同步单元可以包括用于接收到达第一同步点的流中的分组的第一到达时间信息和到达第二同步点的第二流中的分组的第二到达时间信息的装置;用于提供关于所述输入流与所述输出流之间的同步关系的同步相关信息的装置;以及用于基于第一和第二到达时间信息以及同步相关信息来计算延迟信息的装置。在另一实施例中,同步单元可以包括用于为第一和第二同步点提供延迟信息的装置,所述延迟信息使得第一和第二同步点中的一个或多个可变延迟单元能够延迟接收到的流的输出时间,以使得它们基本上同步。在另一方面,本发明可以涉及一种用于至少第一和第二同步点的输出的目的地间同步的系统,其中,该系统可以包括内容递送服务器,其用于递送媒体流;流修改单元,其被配置为将输入媒体流修改成已修改输出媒体流且被配置为提供关于所述输入流与所述输出流之间的同步关系的同步相关信息;以及如上所述的至少一个同步单元。在其它方面,本发明还可以涉及用于在如上所述的系统中使用的同步点和媒体流修改单元。在另一方面,本发明还涉及用于在如上所述的系统中使用的数据结构(优选地 RTCP扩展报告数据结构),其中,所述数据结构被所述系统用于用信号发送同步状态信息, 所述同步状态信息与到达媒体同步点处的流中的分组或到达媒体流修改单元处的流中的分组或由所述修改单元传送的流中的分组相关联,并且其中,所述数据结构至少包括标识所述数据结构的发送器的标识符、至少一个时间戳、优选地RTP和/或NTP时间戳和/或媒体流相关标识符,所述数据结构允许所述同步单元使与所述系统中的媒体同步点相关联的媒体流同步。本发明还可以涉及一种计算机程序产品,其包括被配置为用于当在计算机的存储器中运行时执行如上述方法步骤中所述的方法步骤的软件代码部分。将参考附图来进一步举例说明本发明,附图示意性地示出根据本发明的实施例。 应理解的是本发明不以任何方式局限于这些特定实施例。


图1描绘异构网络拓扑结构的示例性实施例,包括多个流修改单元并能够将相关流递送到不同位置。图2描绘根据本发明的一个实施例的系统。图3描绘与根据本发明的系统相关联的流程图。图4描绘根据本发明的另一实施例的系统。图5描绘根据本发明的一个实施例的目的地间同步方案的实施方式。图6描绘根据本发明的一个实施例的示例性RTCP扩展报告。图7描绘根据本发明的另一实施例的用于使媒体流同步的RTCP消息的使用。
具体实施例方式图1描绘用于通过网络向用户设备递送内容的多媒体递送系统100的示例性实施例。 该网络具有异构拓扑结构,包括多个流修改模块且能够将相关流递送到不同位置。在本实施例中,包括分组的媒体流被递送到多个用户设备,其中,媒体流不同地适合于不同的用户设备。本申请的上下文中的分组是一条(即一个)与定时信息(例如时间戳)相关联的媒体流。此类分组的一个示例是包括一个或多个时间戳的RTP分组。另一示例是MPEG类型分组,诸如包括一个或多个呈现时间戳的传输流(TS)分组。技术人员应理解的是出于同步的目的可以使用包括定时信息的任何媒体分组格式。定时信息可以是用于传输内容的传输容器(传输协议)的一部分,是标准化或专有的。 替换地或另外,其还可以是实际内容的一部分,例如在用于对内容进行编码的编码方案中使用的定时信息。图1中的多媒体递送系统包括媒体流起点101,例如能够经由例如IP网络的一个或多个网络向不同用户设备(UE)106 - 109递送媒体流的服务器。UE或终端可以涉及播出设备或连接到一个(例如机顶盒)的设备。此类设备可以例如包括移动电话、电视机、IP电话、游戏控制台、智能计量设备等,但是其还可以是响应于同步流的任何其它自动化动作, 诸如多个计量设备响应于同步信号的自动化计量。多媒体递送系统可以包括各种网络元件,其对媒体流执行某些动作,使得流中的定时信息被修改。此类网络元件此后一般称为流修改单元。在图1的实施例中,系统包括各种流修改单元,例如第一代码转换器102、第二代码转换器103和混合器104。服务器105可以向混合器递送替换和/或附加元素流105。此服务器105例如可以递送替换音频(不同语言、导演的评注或环绕声)、替换副标题或替换视频(例如,将口头语言转换成符号语言的示意者)。由媒体服务器101递送的原始媒体流110可以是具有使用RTP/UDP/IP(RTP over UDP over IP)通过网络传输的MPEG4编码的视频点播(VoD)流。此原始媒体流110为了仅支持MPEG2编码的UE2 107被第一代码转换器102修改(即代码转换),所述第一代码转换器102将原始MPEG4编码的流代码转换成MPEG2编码的流。使用RTP/UDP/IP将代码转换媒体流112进一步传输到UE2。第二代码转换器103可以将原始媒体流110代码转换成具有与原始媒体流所使用的容器格式不同的容器格式的已修改媒体流,由此,实际编码方案不变。第二代码转换器 103可以例如使用直接通过UDP载送的MPEG传输流来通过网络将在MPEG4中编码的媒体流递送到UE3 108。此外,混合器104可以将一个或多个附加元素流添加到原始媒体流,或者可以用一个或多个替换元素流来代替原始媒体流中的一个或多个元素媒体流。由服务器 105使用RTP/UDP/IP来递送这些附加或替换元素流。混合器104随后使用基于RTP/UDP/ IP的MPEG4将混合媒体流114递送到UE4。在如图1所描绘的多媒体递送系统中,原始媒体流110可以使用包括定时信息的传输协议。在一个实施例中,可以使用RTP协议作为传输机制。RTP使用RTP时间戳,其可以被用作用于使媒体流同步的定时信息。第一代码转换器102可以将原始流110解码,并将媒体重新编码(例如从MPEG4至 MPEG2)。因此,其将使用随机RTP时间戳发送出已修改媒体流以指示其到UE2 107的传输的开始。输出媒体流的时间戳因此不同于输入媒体流,即使使用相同的传输协议(RTP/UDP/IP)。第二代码转换器103不将原始流110解码,而是使用不同的传输容器将媒体流113 发送到UE3 108。例如,使用通过UDP的MPEG传输流(TS)来将内容发送到UE3。这些MPEG TS分组可以包含所谓的呈现时间戳(PTS)形式的定时信息,用于指示应呈现分组以显示的时刻。这些PTS不同于原始媒体流110的RTP时间戳,即使输入和输出媒体流媒体之间的实际编码保持不变。混合器104可以将媒体流111中的一个或多个元素流与原始媒体流110混合。此后,其可以通过网络将混合媒体流114发送到UE4 109。随着混合器生成新的媒体流,其将使用新随机生成的RTP时间戳作为用于将此流传送到UE4的起始时间,由此,用于输入流 110和混合输出流114的编码和传输方案二者是相同的。在没有任何其它措施的情况下,UE处的播出同步是不可能的,因为网络中的内容修改单元改变流中的定时信息,使得源和UE处的时间戳彼此不相关。原因是媒体服务器101、 代码转换器102和103及混合器104中的每个都将随机时间戳选择为起始时间。对于混合器而言这存在相同的问题其从原始媒体服务器101和另一源二者接收媒体流,即,媒体服务器包含附加和替换元素流105。如上文所解释的,这些媒体流中的时间戳将是不相关的。图2举例说明包括用于使媒体流同步的第一同步点205和第二同步点208的多媒体递送系统200的示意图。同步点是针对其确定同步信息(例如到达时间信息)的流的路径中的(逻辑或物理)点。可以在被连接到网络或结合在网络中的任何物理设备中包括同步点。其可以例如涉及网络节点,诸如接入节点(例如,数字订户线路接入复用器(DSLAM)、电缆调制解调器终端系统(CMTS))、光学接入节点或边缘路由器或头端器。替换地,可以将同步点配置为连接到电视的机顶盒、个人计算机、膝上型计算机、电子书、个人数字助理或能够处理媒体流的任何其它设备。多媒体递送系统可以包含媒体流起点201,例如媒体服务器,其递送例如视频点播流或实况多播电视广播。此媒体起点201可以通过网络211向同步点传送原始第一媒体流 212。第一同步点205可以在没有任何修改的情况下接收原始媒体流212。然而,第二同步点208可以接收包括相同内容、但例如采用不同格式的流。因此,第二同步点208接收由媒体流修改单元202生成的已修改第二媒体流213,该媒体流修改单元202接收原始媒体流 212并生成已修改媒体流213。第一和第二流同步点205、208可以被配置为分别提供第一和第二媒体流212、213 之间的目的地间同步(或组群同步)。为此,媒体流同步点被连接到媒体同步单元204,例如媒体同步应用服务器(MSAS)。第一和第二流同步点205、208可以分别包括第一和第二同步客户端207、210以及第一和第二可变延迟单元,其每个分别包括例如可变延迟缓冲器206、 209。如下文更详细地解释的,第一和第二同步客户端207、210被配置为用于与MSAS 204 交换同步信息。媒体流修改单元202还可以包括与媒体流修改单元相关联的第三同步客户端SC’ 203。同步客户端207、210、203使用例如信令路径214与MSAS 204交换消息。可以通过在媒体分发中使用的相同网络211来传输这些信令消息。替换地,也可以通过其它网络来传输该消息。为了下面的解释,将信令路径214称为同步参考点。在本示例中,原始媒体流212可以例如涉及使用UDP协议通过IP网络的RTP中载送的视频流。在该情况下,原始媒体流212中的RTP分组可以包含由媒体流起点201生成的RTP时间戳和如在RTP协议中定义的同步源(SSRC)标识符。已修改流213可以包含与原始媒体流212内容相同,但被媒体流修改单元202修改。该修改可以是上文参考图1所述的修改操作,例如,原始流可以是高带宽高清晰度(HD) 流,并且已修改流可以是低带宽标准清晰度(SD)流。另一修改可以例如是与数字权限管理 (DRM)系统相关联的加密方案的应用,所述数字权限管理(DRM)系统由网络中的一个或多个流同步点支持。该修改还可以涉及重新发起。当媒体流穿过网络边界时(例如当IPTV提供商希望还将在因特网上可用的媒体流提供给其私有IPTV网络中的一个或多个时),可以提供重新发起。其它修改可以包括基于混合的修改,例如,在视频流中包括表演符号语言的人,或者在不同的媒体容器中重新发送流,例如使用MPEG传输流(TS)而不是使用RTP。已修改媒体流213中的RTP分组可以包含与原始媒体流212中的那些相比不同的 SSRC标识符和不同的RTP时间戳。根据IETF RFC 3550,SSRC标识符和RTP时间戳是RTP 分组中的32位报头字段。对于每个媒体流而言,应随机地选择RTP时间戳的起始时间。此外,SSRC是随机选择的值,意味着其是全球唯一的。在已知目的地间同步方案中,可以通过用信号将时间戳信息发送到每个流同步点来实现同步。然而,由于第一和第二流212、213 中的RTP时间戳是不同的,所以第一和第二同步点处的媒体流的直接同步是不可能的。在多媒体递送系统中,第一和第二流同步点205、208可以向MSAS 204发送所谓的同步状态信息。此同步状态信息可以包含与媒体流相关联的标识信息(例如SSRC标识符) 和定时信息(例如与分组的播出时间相关联的NTP时间戳和RTP时间戳)。RTP时间戳反映RTP数据分组中的第一八位位组的采样时刻。时间戳的初始值是随机值。RTP时间戳对采样周期进行计数,因此如果第二 RTP分组在第一 RTP分组之后160 个样本开始,则第二 RTP时间戳比第一个高160。NTP时间戳是绝对“挂钟”时间。NTP是64位计数器,其以如在IETF RFC 1305中定义的1900年1月1日开始。NTP所使用的64位时间戳由32位秒部分和32位小数秒部分组成。其表示由RTP时间戳标识的第一八位位组通过特定点(即同步点)的绝对时间。此特定点可以是包含SC的用户设备(UE)的播出点,其中,NTP时间戳表示向用户播放特定八位位组的时间。替换地,其可以是进入点,SC在该处首先接收特定的八位位组。 以类似方式,对于同步Sc’而言,此特定点可以是输出点或输入点。第一流同步点可以将以下第一同步状态信息消息发送到MSAS SSRC 标识符=12345678
RTP 时间戳=1556688423NTP 时间戳=13:42:21. 000
类似地,第二媒体流同步点可以将以下第二同步状态信息消息发送到MSAS SSRC 标识符=90ABCDEF RTP 时间戳=1684654845 NTP 时间戳=13:42:21. 000。在本示例中,来自第一和第二流同步点的信息与相同NTP播出时间 13:42:21. 000相关联。在本示例中,假设两个媒体流同步点是NTP同步的,即使用网络时间协议或某些其它手段使它们的时钟同步。如上文所解释的,虽然已修改媒体流载送相同的内容,但同步可能由于媒体流修改单元202修改已修改输出流213中的定时信息而是不可能的。为了使得能够同步,与媒体流修改单元202相关联的同步客户端SC’可以向第二媒体流同步点发送同步相关信息消息,所述同步相关信息消息关于由媒体流修改单元接收到的输入媒体流212与由媒体流修改单元传送的输出媒体流213之间的同步关系。因此,同步关系涉及第一分组中的第一定时信息和第二分组中的第二定时信息,其中,第一和第二分组包括相同的内容或其部分,并且其中,所述第二分组是由媒体流修改单元修改的流的一部分,并且其中,所述第一分组是所述修改之前的媒体流的一部分。在一个实施例中,媒体流修改单元可以将以下信息发送到MSAS 输入
SSRC 标识符=12345678 RTP 时间戳=1556688423 输出
SSRC 标识符=90ABCDEF RTP 时间戳=1684657845
此信息包含输入SSRC标识符/RTP时间戳对和输出SSRC标识符/RTP时间戳对二者。 因此,同步相关信息消息可以使用用信号发送到MSAS的SSRC和/或RTP时间戳来允许在流修改单元的输入端处接收到的一个或多个流与在流修改单元的输出端处传送的一个或多个流的相关。在一个实施例中,可以将同步相关信息在一个消息中发送到MSAS。在另一实施例中,可以在两个单独消息中将其发送。如果(一个或多个)输入流或输出流的同步参数随着时间的推移没有改变很多,使得不那么频繁地要求用信号发送与这些流相关联的同步信息,则单独消息的使用可能是有利的。下面参考图5 - 7来描述关于用信号发送同步信息的更多细节。MSAS 204接收来自两个媒体流同步点的第一和第二同步状态信息消息以及来自媒体流修改单元的包含同步关系的同步相关信息消息。此后,其使用此信息来计算用于第一和第二媒体流同步点的定时信息。此计算可以涉及两个计算步骤。第一步骤涉及将所有同步状态信息调整至单个时间线(时基)的计算。在第二步骤中,计算实际延迟信息。在以下示例中,假设两个RTP时间戳表示毫秒尺度。如果情况不是这样,则应调整计算以反映这一点。因此,在第一步骤中, 将所有同步状态信息调整至一个共同时间线,例如调整至与原始媒体流212的RTP时间戳相关联的时间线。此步骤被称为状态信息转换步骤。在13:42:21. 000,第一媒体流同步点205处于时间戳1556688423。在本示例中, 由第二媒体流同步点208提供的时间戳将被调整至与原始媒体流212相关联的时间线。在其它变体中,还有可能基于与已修改流相关联的时间线来调整同步状态信息或将两个流的时间线调整至新的(第三)时间线。第三时间线的示例可以涉及其中每个媒体流在时间戳0 处开始以使得每个流的第一随机选择时间戳要求调整至0的情况。为了调整从第二媒体同步点208接收到的同步状态信息,使用以下信息 一具有值1684654845的已修改流的同步状态信息中的RTP时间戳;以及
一与已修改流相关联的RTP时间戳值1684657845和与原始流相关联的RTP时间戳值 1556688423 相关。用于调整时间戳的计算可以涉及简单线性变换已调整时间戳=conv_ timestamp_org_stream + conv_timestamp_mod_stream — timestamp_mod_stream_ current 0因此,在13:42:21.000,可以使第二媒体流同步点208与已调整时间戳 1556688423 + 1684654845 - 1684657845 = 155668M23 相关联。这样,可以将从第二媒体流同步点208接收到的同步状态信息调整至与从第一媒体流同步点205接收到的同步状态信息相关联的时间线。此后,可以根据已知方案来执行延迟信息的计算。例如,可以基于在播放媒体流时最落后的客户端来确定延迟信息。由于在相同时钟时间13:42:21. 000报告了上述示例中的两个时间戳,所以计算可以涉及两个媒体流同步点的同步状态信息的简单减法: 1556685423 一 1556688423 = 一 3000。此结果指示第二媒体流同步点208处的媒体流比第一媒体流同步点205处的媒体流落后3秒。此时间滞后可以归因于在媒体流修改单元202 中执行的代码转换过程。如果报告的时钟时间(即NTP时间)在由MSAS接收到的不同同步状态信息消息方面不同,则在计算中应将此时钟时间差考虑在内以用于确定延迟。从上可知,其遵从已修改流落后3秒(如由来自时间戳右侧的第4位所示的那样)。在另一实施例中,可以使用已调整媒体流的时间线1684657845 ms - 1684654845ms =3000 ms。因此,为了使两个媒体流同步点处的媒体流同步,MSAS可以向第一同步点205 发送同步设置指令以使播出延迟3秒。图3描绘用于如上文参考图2所述的示例的消息流程图300中的信息的交换。在第一步骤302中,第一同步点从媒体流起点接收原始媒体流且第二同步点从媒体流修改单元的输出端接收已修改媒体流,其中,媒体流修改单元使用来自媒体流起点的原始媒体流作为其输入信号。在第二和第三步骤304、306中,第一和第二同步点中的每个分别向媒体同步应用服务器(MSAS)发送第一和第二同步状态信息消息。此后,在第四步骤308中,媒体流修改单元向MSAS发送关于输入媒体流与输出媒体流之间的同步关系的相关信息消息。MSAS可以随后在第五步骤310中计算同步设置指令并将这些指令发送到目的地,即第一和第二同步点。参考图2和3所述的非限制性示例举例说明使用一个媒体流修改单元和两个同步点的目的地间同步方案。在其它变体中,可以将此类方案与两个或更多流修改单元和/或两个或更多媒体同步点一起使用。可以将不同的协议用于通过网络来传输信令消息(例如, 同步状态信息消息、包含使不同时间戳相关的信息的消息、同步设置指令)。可以例如以使用HTTP上SOAP的XML格式(W3C推荐)、在SIP消息(IETF RFC 3沈1)中或RTCP消息中的 MIME消息主体中以XML格式或以纯文本形式来载送这些消息。在参考图2和3所述的示例中,在客户端服务器类型的模型中实现可变延迟单元和同步单元,其中,可以将同步点中的可变延迟单元的功能实现为同步客户端(SC)的一部分,并且其中,可以将同步单元实现为同步服务器(SYNCHS或媒体同步应用服务器 (MSAS))。同步客户端可以具有协议插口,其使得能够使用适当的协议将同步状态信息发送至同步服务器(同步单元)并从同步服务器接收同步设置指令。同步状态信息可以包括关于流接收的定时信息(S卩,到达第一同步点处的流中的分组的到达时间)且可以包括当前延迟设置。因此,同步状态信息可以包括关于流中的分组被同步点接收到的时间点的信息。同步设置指令可以包括关于使用例如实际计算的延迟来设置可变延迟缓冲器的指令。术语同步设置指令和延迟指令是出于本发明的目的以等效的方式使用的术语,并且可以包括某个媒体流的实际延迟时间。优选地,这些延迟指令可以包含与将媒体流延迟预定持续时间相关联的正时间值。替换地,延迟指令可以包含与加速媒体流的播出或输出相关联的负时间值。当某个同步点包含大缓冲器且允许通过使用已知措施减少缓冲时间来缩短延迟时,可能是这种情况。图4描绘被实现为如在ETSI TS 182 027版本2. 0. 0中指定的基于IMS的IPTV系统400的根据本发明的示例性内容递送系统。IPTV系统400包括IPTV媒体功能(MF)401, 其包含媒体控制功能(MCF) 402和媒体递送功能(MDF) 403。此外,该系统400包括传输功能(TF) 404、用户设备(UE) 405、IPTV服务控制功能(SCF) 406、单独应用服务器(AS) 407和核心IMS网络(核心)408。同步客户端(SC)409可以是UE 405的一部分或传输功能404的一部分。如果用户设备能够缓冲流(作为同步方法的一部分),则可以在用户设备中实现SC。 还可以在传输网络中实现SC,例如当用户设备不支持缓冲功能时。SC与至少一个可变延迟缓冲器相关联,因此当在UE中实现SC时,其还可以包括一个或多个关联的可变延迟缓冲器 410。类似地,如果SC被实现为传输功能的一部分,则包括传输功能的元件还可以包括一个或多个可变延迟缓冲器410。在标准IPTV服务控制功能406中可以包括MSAS 411的功能, 作为传输功能或媒体功能的一部分,或者替换地,其可以在独立应用服务器407上实现。媒体流修改单元(MSMU) 413可以是IPTV媒体功能401的一部分。MDF 403可以执行实际代码转换,同时MCF 402可以包含同步客户端(SC’ ) 412。图5描绘根据本发明的一个实施例的目的地间同步方案500的实施方式,其中,使用RTCP RTP控制协议(RTCP)来在媒体分发系统中的元件之间传达同步信息。该系统包括两个同步客户端SCa、SCb 502、504。建立同步客户端以用信号将与第一和第二媒体流512、 514相关联的同步状态信息发送到MSAS 508。两个同步客户端存在于接收两个不同RTP媒体流(可以具有不同的采样率)的两个用户设备(UE)(未示出)中。由SCa接收到的第一媒体流512可以是与媒体流起点(即媒体服务器)相关联的原始媒体流,并且由SCb接收到的第二媒体流514可以是已修改媒体流。将第一媒体流修改为第二媒体流的媒体流修改单元 (代码转换器)502包括特定同步客户端SC’ 510,其向MSAS报告第一和第二媒体流之间的同步关系。该系统可以使用SIP来建立UE、媒体流修改单元和媒体流起点之间的媒体会话。可以使用由SIP信令载送的会话描述协议(SDP)来描述并协商每个会话中的媒体分量。在建立期间,可以使UE (和媒体流修改单元)与SyncGroupId相关联,所述SyncGroupId标识特定UE所属的同步组群。同步组群是要求相对于一个或多个指定媒体流同步的UE组群。此类组群的示例可以是属于两个不同位置上的两个不同用户而请求以同步的方式一起观看相同点播内容 (电影)的两个UE。为了详细地描述建立同步会话,对标题为Dynamic RTCP rely的共同待决欧洲专利申请—进行参考,其被通过引用结合到本申请中。此外,UE和媒体流修改单元、特别是位于其中的同步客户端可以使用RTP控制协议(RTCP)来向与MSAS相关联的IP地址和端口号传送同步信息并在与UE相关联的RTCP接收机端口上从MSAS接收RTCP报告。在一个实施例中,同步客户端可以使用RTCP扩展报告 (RTCP XR)在其RTCP接收机报告(RTCP RR)中包括同步状态信息,并在一个或多个RTCP消息中将此信息发送到MSAS。特别地,同步客户端可以生成包括同步状态信息的特殊格式的RTCP扩展报告(RTCP XR)516、518。此信息可以采取与NTP时间戳组合的RTP时间戳的形式。RTCP XR还可以包括源的SSRC、分组接收NTP时间戳、分组接收RTP时间戳(RTP接收时间戳)以及可选地 SyncGroupId参数。此外,其可以将分组呈现NTP时间戳(NTP呈现时间戳)包括到XR中。
可以将SyncGroupId参数实现为会话描述协议(SDP)会话水平属性,例如 a=RTCP-xr: sync_group=<value>,或者例如采取根据 IETF RFC ;3550 的 SDES PRIV 项的形式。在另一实施例中,可以使用从IETF RFC 3611已知的RTCP-xr属性字段。与媒体流修改单元SC’相关联的同步客户端向MSAS报告同步相关信息。和与UE 相关联的同步客户端相比,Sc’传送与代码转换器的输入端处的一个或多个媒体流相关联的RTCP )(R和与代码转换器的输出端处的一个或多个媒体流相关联的RTCP XR。通常,同步相关信息520由两个RTCP XR、与输入流相关联的第一 RTCP XR 522和与输出流(即已修改输入流)相关联的第二 RTCP XR 5M形成。因此,同步相关信息可以包括两组时间戳(RTP1、 NTP1)和(RTP2、NTP2), 一个与输入流相关联且一个与输出流相关联。MSAS还可以向同步客户端SCa、SCb发送包括同步设置指令的RTCP XR0这些RTCP )(R可以包括源的SSRC、基准分组接收NTP时间戳和基准分组接收RTP时间戳接收时间戳。 其还可以包括基准分组呈现NTP时间戳。可以将这些RTCP )(R 二者都附加于RTCP发送器报告(SR),或者可以由UE来单独地接收。同步设置可以采取与NTP时间戳组合的RTP时间戳的形式,其中,NTP时间戳指示被例如由SyncGroupId标识为同步组群共享的时钟,并且RTP时间戳指示预期呈现时间。在一个实施例中,同步客户端可以与MSAS共定位。在该情况下,同步状态信息和同步设置指令的交换在它们所存在于的MSAS的一个或多个功能实体内部。在另一实施例中,同步可以涉及一个或多个广播流的同步。在该情况下,MSAS可以起到如在RFC 3550中更详细地描述的反馈目标的功能。在转发RTCP接收机报告之前, MSAS可以读取并去除包含同步状态信息的RTCP扩展报告。MSAS可以随后使用RTCP扩展报告将同步设置指令发送到同步客户端。在点播内容或其它单播流的同步的情况下,MSAS可以将与一个或多个UE相关联的RTCP接收机报告转发到适当的媒体功能MF。在转发RTCP接收机报告之前,MSAS可以读取并分析RTCP XR且去除包含同步状态信息的那些RTCP扩展报告。MSAS可以随后将RTCP 发送器报告转发到适当的同步客户端,使用RTCP扩展报告将同步设置指令附加于SC。MSAS 可以使用单独的RTCP XR将同步设置指令发送到同步客户端。图6描绘根据本发明的一个实施例的用于报告关于RTP媒体流的同步信息的示例性RTCP扩展报告。在根据本发明的同步方案中可以使用同步RTCP )(R中的以下字段
一分组发送器的SSRC,其标识特定RTCP分组的发送器。一块类型(BT)字段,其包括用于标识块格式的8个位。一同步分组发送器类型(SPST)字段,其包括用于标识用于此特定扩展报告的分组发送器的作用的4个位。 一分组呈现NTP时间戳标志(P),如果分组呈现NTP时间戳包含值,则可以将该分组呈现NTP时间戳标志(P)设置为1。如果此标志被设置为零,则不应检查分组呈现NTP时间戳。一有效负荷类型(PT)字段,其包括用于标识媒体有效负荷的格式的7个位。可以使媒体有效负荷与RTP时间戳时钟速率相关联,其提供用于RTP时间戳计数器的时间基线。一媒体流相关标识符(32位),其用于在使同步媒体流相关时使用。如果RTCP分组发送器是SC或MSAS(SPST = 1或SPST = 2),则媒体流相关标识符在SyncGroupId上进行映射。如果RTCP分组发送器是SC,(SPST = 3或SPST = 4),则相关输入和输出媒体流可以具有相同的媒体流相关标识符。一媒体源的SSRC (32位),其可以被设置为在)(R所涉及的RTP分组的RTP报头中载送的SSRC标识符的值。一分组接收NTP时间戳(64位),其可以表示)(R所涉及的RTP分组的第一八位位组的到达时间。一分组接收RTP时间戳(32位),其与在)(R所涉及的RTP分组的RTP报头中载送的RTP时间戳的值相关联。一分组呈现NTP时间戳(32位),其反映可以向用户呈现包含在关联RTP分组的第一八位位组中的数据时的NTP时间。其包括NTP秒部分的最低有效16位和NTP小数秒部分的最高有效16位。如果此字段为空,则可以将其设置为0且可以将分组呈现NTP时间戳标志(P)设置为0。表1举例说明与同步分组发送器类型(SPST)字段相关联的值
SPST 值分组发送器的作用细节0保留供将来使用1SC分组发送器使用此XR来报告同步状态信息。时间戳涉及SC输入。2MSAS分组发送器使用此XR来报告同步设置指令。时间戳涉及虚拟SC的输入,其充当连接到此JBAS的 SC被同步到的基准。3Sc,输入分组发送器使用此XR来报告涉及Sc’的输入媒体流的同步相关信息。时间戳涉及Sc’输入。4SC'输出分组发送器使用此XR来报告涉及Sc’的输出媒体流的同步相关信息。时间戳涉及Sc’输入。5-15保留供将来使用表1。 使用如参考图6所述的特殊格式RTCP扩展报告,可以在网络中的客户端或一个或多个UE与MSAS之间高效地用信号发送同步信息。例如,在图5中描绘的系统中,与UE相关联的同步客户端SCa、SCb 504、506和与媒体流修改单元相关联的同步客户端SC’ 510可以使用RTCP )(R来向MSAS报告同步信息(即同步状态信息或同步相关信息)。表2提供此
权利要求
1.用于至少第一流和至少第二流的目的地间同步的方法,所述第二流与使用所述第一流作为输入流的媒体流修改单元的输出流相关联,该方法包括以下步骤一提供第一流中的分组到达第一同步点的第一到达时间信息和第二流中的分组到达第二同步点的第二到达时间信息;一提供关于所述输入流与所述输出流之间的同步关系的同步相关信息;一基于第一和第二到达时间信息和同步相关信息来计算延迟信息。
2.根据权利要求1,所述方法还包括以下步骤一为至少所述第一或第二同步点提供所述延迟信息,使得至少所述第一或第二同步点能够延迟流的输出,以使得分别由第一和第二同步点输出的第一和第二流基本上是同步的。
3.根据权利要求1或2中的任一项所述的方法,其中,由至少所述第一和第二同步点来输出所述第一和第二流,并且其中所述同步点被连接到用于使所述同步点同步的至少一个同步单元。
4.根据权利要求1至3中的任一项所述的方法,其中,计算延迟信息的步骤还包括调整步骤,其用于调整第一和/或第二到达时间信息以实现第一到达时间信息与第二到达时间信息之间的共同时间线,所述调整步骤基于同步相关信息的至少一部分。
5.根据权利要求4所述的方法,其中,由到达时间信息调整模块来执行所述调整步骤, 所述模块是同步单元的一部分,所述同步单元被提供有同步相关信息的至少一部分。
6.根据权利要求4所述的方法,其中,在同步点处执行所述调整步骤,所述同步点包括到达时间信息调整模块,所述到达时间信息调整模块被提供有同步相关信息的至少一部分并且所述同步单元被提供有已调整第二到达时间信息。
7.根据权利要求4所述的方法,其中,在网络元件中执行所述调整步骤,该网络元件被配置为接收到达时间信息,该网络元件还包括到达时间信息调整模块,所述到达时间信息调整模块被提供有同步相关信息的至少一部分并且所述同步单元被提供有已调整第二到达时间信息。
8.根据权利要求1一 7中的任一项所述的方法,其中,所述同步点是终端、网络节点或接入节点。
9.根据权利要求1一 8中的任一项所述的方法,其中,所述流修改单元是用于接收并处理至少第一媒体流的媒体流处理设备,其中,所述处理修改所述第一媒体流中的定时信息, 优选地所述媒体流处理设备是转换器或混合器。
10.根据权利要求1一 9中的任一项所述的方法,其中,所述同步单元被包括在同步点或网络节点、优选地同步服务器中。
11.根据权利要求1一 10中的任一项所述的方法,其中,在一个或多个RTCP消息、优选地一个或多个RTCP扩展报告中用信号发送所述到达时间信息、所述同步相关信息和/或所述延迟信息。
12.根据权利要求11所述的方法,其中,所述RTCP消息中的至少一个至少包括标识分组的发送器的标识符、RTP时间戳、NTP时间戳、时钟速率值和/或媒体流相关标识符。
13.一种同步单元,优选地同步服务器,其用于使至少接收第一媒体流的第一同步点和接收第二媒体流的第二同步点的输出同步,所述第二流是使用第一流作为输入流的媒体流修改单元的输出流,所述同步单元包括一第一输入端,其用于接收与流中的分组相关联的第一定时信息,所述流与第一同步点和第二流中的分组到达第二同步点的第二到达时间信息相关联;一第二输入端,其用于接收关于所述输入流与所述输出流之间的同步关系的同步相关信息;以及一处理器,其用于基于第一和第二到达时间信息和同步相关信息来计算延迟信息。
14.根据权利要求13所述的同步单元,所述同步单元还包括一输出端,其用于向第一和第二同步点发送延迟信息,所述延迟信息使得第一和第二同步点中的一个或多个可变延迟单元能够延迟接收到的流的输出时间以使得它们基本上是同步的。
15.根据权利要求13或14所述的同步单元,其中,在一个或多个RTCP消息、优选地一个或多个RTCP扩展报告中用信号发送所述到达时间信息、所述同步相关信息和/或所述延迟信息。
16.一种用于至少第一和第二同步点的输出的目的地间同步的系统,该系统包括一内容递送服务器,其用于递送媒体流;一流修改单元,其被配置为将输入媒体流修改为已修改输出媒体流,并被配置为用于提供关于所述输入流与所述输出流之间的同步关系的同步相关信息;一至少一个根据权利要求η或12所述的同步单元。
17.一种用于在根据权利要求16所述的系统中使用的同步点,该同步包括一第一输入端,其用于从流修改单元接收同步相关信息;一输出端,其用于将流中的分组的到达时间信息传送到同步单元;一至少一个可变延迟单元;以及一第二输入端,其用于接收使得同步点能够延迟流的输出的用于所述至少一个可变延迟单元的延迟信息。
18.一种用于在根据权利要求16所述的系统中使用的媒体流修改单元,其特征在于所述媒体流修改单元包括提供同步相关信息的装置,所述同步相关信息与被媒体流修改单元用作输入流的第一媒体流与作为媒体流修改单元的输出流的第二流之间的同步关系相关联,所述媒体流修改单元使用第一媒体流作为输入流。
19.一种用于在根据权利要求16所述的系统中使用的网络元件,其特征在于所述网络元件包括到达时间信息调整模块,所述模块被布置成基于同步相关信息来调整由同步点接收到的已修改流中的分组的到达时间信息。
20.一种数据结构,优选地RTCP扩展报告数据结构,其用于在根据权利要求16所述的系统中使用,所述数据结构被所述系统用来用信号发送同步状态信息,所述同步状态信息与到达媒体同步点的流中的分组或到达媒体流修改单元的流中的分组或由所述修改单元传送的流中的分组相关联,所述数据结构至少包括标识所述数据结构的发送器的标识符、 至少一个时间戳、优选地RTP和/或NTP时间戳和/或媒体流相关标识符。
21.一种计算机程序产品,其包括被配置为用于当在计算机的存储器中运行时执行如权利要求1 一 12中的任一项所限定的方法步骤的软件代码部分。
全文摘要
描述了一种用于至少第一流和第二流的目的地间同步的方法和系统,其中,第二流是使用第一流作为输入流的媒体流修改单元的输出流。该方法包括以下步骤提供到达第一同步点的第一流中的分组的第一到达时间信息和到达第二同步点的第二流中的分组的第二到达时间信息;提供关于所述输入流与所述输出流之间的同步关系的同步相关信息;以及基于第一和第二到达时间信息以及同步相关信息来计算延迟信息。
文档编号H04N7/24GK102356619SQ201080012122
公开日2012年2月15日 申请日期2010年3月16日 优先权日2009年3月16日
发明者A. 瓦尔拉文 F., M. 斯托金 H., O. 范 德文特 M., A. 尼亚姆特 O. 申请人:皇家Kpn公司, 荷兰应用自然科学研究组织
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1