法律状态公告日
法律状态信息
法律状态
2014-05-14
未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20101208 终止日期:20130320 申请日:20090320
专利权的终止
2010-12-08
授权
授权
2009-10-14
实质审查的生效
实质审查的生效
2009-08-19
公开
公开
技术领域
本发明涉及一种基于互联网的多路并发网络电视视频流的传输方法。
背景技术
在目前的网络电视(IPTV)播放系统中,往往要提供几十甚至上百套数字电视节目的处理能力,因此系统面临如何合理地调度多媒体处理任务,其中多媒体处理任务包括节目信息提取、编码、协议封装和数据传输等一系列操作。传统的解决方案是:为每一套电视节目建立独立的处理任务,该任务在节目信息提取时只能选择一套特定的数字电视界面,并且在协议封装时只能选择IPv4或IPv6协议,单播或组播。
传统的解决方案符合通常的逻辑,结构简单,条理清楚。在传统的互联网环境和现有的网络电视(IPTV)解决方案中是比较适用的。例如目前用户的网络环境现对简单,用户通常使用IPv4的网络,大部分网络没有开通组播业务,用户使用IPTV业务时通常使用IP机登盒,同时只能收看一路电视节目,对节目切换时间要求也不高,因此对IPTV播放系统的传输要求相对较低。
然而随着下一代互联网技术的进一步发展和商用化,网络的带宽资源更加丰富,网络提供的服务越来越多,用户端的网络环境也越来越复杂,例如IPv4和IPv6双栈以及组播等,此外,用户也对IPTV的收视效果提供了更高的要求,例如同时收看多个电视频道,而且要求频道切换时间更短,以上这些都需要IPTV播放系统提供更加丰富的传输方式。但是如果还是按照原有的传输方式,会造成播放系统平台上任务数量或播放系统的数量过多,从而不合理地消耗大量系统资源。
此外,不管是组播还是单播方式,每一路数字电视信号都需要占用一个实时传输协议(RTP)会话,这样不仅会增加主干网络核心路由器的处理负担,同时也会增加并发接收多路电视信号的客户终端的负担。所以为了充分利用网络电视播放系统的资源,实现面向下一代互联网的网络电视信号传输要求,必须对现有的数字电视信号传输方式加以改进。
发明内容
本发明的目的是为了克服现有技术方案存在的不足,提供一种能够提高RTP会话资源利用率的方法,它可以有效减少对网络电视播放系统的资源占用和网络核心设备的处理要求,并提升网络电视终端用户的体验效果。
本发明为实现上述目的采用下面的技术方案:
一种基于互联网的多路并发网络电视视频流的传输方法,包括以下步骤:
A、在网络电视的前端视频采集系统中建立n条MPEG2帧数据队列,n为自然数,且1<n≤100;队列中的数据来源于DSP子系统的实时编码输出,每个队列对应于一套电视节目编码流;
B、根据网络电视节目信息,建立节目复用信息表,每个表项包含需要组合的节目信息和节目数量,按照RFC2250传输标准,节目数量最少为1,最大为7,并且每个表项在系统中均被分配一个唯一的编号;
C、建立发送任务池,并对数据发送任务进行分类、编号、模式和地址设置处理,所述的分类处理是按照任务须传送的电视节目内容把任务分类为节目相同和节目不相同两种;所述的编号处理是将每一项任务进行编号,此编号包含于B步骤所述的表项的编号,节目相同的任务具有相同的编号,节目不同的任务编号不同;所述的模式和地址设置是指每个发送任务需要在一个分组报文中设置的分组报文信息,这些分组报文信息包括目标地址、端口号和TTL值;
D、根据发送任务池建立发送线程,每个线程对应于一个或一组发送任务进程;
E、发送任务进程按照上述B步骤的编码依次从上述A步骤的MPEG2帧数据队列中获取数据,并按C步骤的任务模式和分组报文信息进行发送:
a)当编号对应的节目组合仅指定了一个队列,则连续取1—7次数据并封装在一个RTP报文中进行发送;
b)当编号对应的节目组合指定了多个队列,则分别从每个队列中取一次数据,然后封装在一个RTP报文中进行发送;
上述a)、b)此过程不断重复进行。
有益效果
本发明采用上述技术方案,与现有技术相比具有下面的优点:
由于每个发送任务进程都需要占用系统的计算和存储资源,因此把节目信息但传输模式不同的任务合并由一个任务进程处理可以极大的节省系统资源,另外多个电视节目可以复用一个RTP信道,还可以减少核心网络设备和网络电视终端的处理开销,并可以有效的降低频道的切换时间。
本发明改变了传统方法的单任务单模式传输单节目流的方式,采用更加灵活的节目流复用方式,实现了在一个RTP会话中任意组合节目流的方法,封装协议和传输模式更加丰富,非常适合于在下一代互联网高带宽、需求复杂的环境中进行大规模并发网络电视流的传输。采用此方法,系统可以在同等资源情况下提供更加丰富的传输手段。
附图说明
图1,是本发明的任务池的工作流程图。
图2,是本发明发送进程从任务池获取任务的工作流程图。
图3,是本发明任务进程处理任务的工作流程图。
具体实施方式
下面结合附图举例对本发明的技术方案做进一步的说明。
网络电视系统提供7路电视信号的播放服务,系统建立7个MPEG2数据帧队列,并分别把DSP系统输出的实时数字电视编码数据输出到相应的数据帧队列中,队列编号为0,1,...6;系统根据电视节目信息建立复用信息表,信息表包含了节目信息的各种组合,共计128种。
参见附图1,任务池对输入的任务进行分类、编号和模式地址设置。
分类:将任务分成节目信息相关或不相关的两类,若任务的节目信息组合相同,则被认为是相关任务,这类任务多是需要采用不同的发送模式,比如组播或单播,或协议封装不同,例如IPv4或IPv6,或者目标地址不同。
编号:任务相关的任务具有相同的编号,任务不相关的任务单独编号。这里的编号对应于节目复用信息表的编号,因此具有唯一性。
模式和地址设置:每个任务都具有不同的模式或地址信息,这些信息在协议封装过程中被用来设置相应的协议分组报文头部信息,包括目标地址、端口号和TTL值。
参照附图2,系统首先查询任务池,创建任务处理进程,如果该任务还有相关任务,则获取所有任务属性。在创建任务进程时,系统同时向任务处理进程传送任务标号和属性,并激活任务进程。
参照附图3,任务进程启动后,根据任务编号获取编号所对应的各相关任务,然后根据编号对应的节目组合信息从MPEG2数据帧队列读取编码数据,再按任务的模式和地址设置信息进行协议封装并发送。
a)、当编号对应的节目组合仅指定了一个队列,则连续取1—7次数据并封装在一个RTP报文中进行发送;b)、当编号对应的节目组合指定了多个队列,则分别从每个队列中取一次数据,然后封装在一个RTP报文中进行发送;
上述a)、b)此过程不断重复进行。
机译: 数据例如视频流,一种用于互联网的传输方法,涉及从主数据形成数据包,以使每个数据包长度形成的长度值与通过编码生成的长度值相对应,然后将数据包传输到接收器
机译: 一种在客户端级别上基于触发的基于互联网协议(ip)的多个视频流之间切换的系统和方法
机译: 基于关系路径的并发多路径传输方法