一种基于IP的传输流抖动去除方法及装置制造方法及图纸

技术编号:14919379 阅读:42 留言:0更新日期:2017-03-30 11:23
本发明专利技术公开了一种基于IP的传输流抖动去除方法,包括:接收包含多通道传输流的输入流和计算出各通道的平均读包间隔;将TS数据包和平均读包间隔按通道缓存到一级存储器;将一级存储器中相应通道上的TS数据包和平均读包间隔按通道缓存至二级存储器;产生二级存储器读请求并计算出当前TS数据包的时间戳,读取二级存储器相应通道上的TS数据包;将时间戳和在二级存储器中读取的TS数据包缓存到三级存储器并统计各通道码率;读取三级存储器Ci的数据PCR值进行校正,输出TS数据包。本发明专利技术还提供了一种基于IP的传输流抖动去除装置。本发明专利技术可以大量节省硬件资源,实现多通道、大带宽传输流的抖动去除,降低成本和提高系统运行能力。

【技术实现步骤摘要】

本专利技术涉及数据通信
,尤其涉及一种基于IP的传输流抖动去除方法及装置
技术介绍
目前,随着视听内容的日益丰富,人们对于视听需求的个性化也越来越突出,IP(InternetProtocol,网络互连协议)技术的发展使其可以提供更高的传输带宽和更方便的组网方式来满足用户和广电运营商的需求,因此TSoverIP技术在广播电视应用领域的使用越来越广泛。其中,TS(TransportStream)是MPEG-2协议所定义的一种数据传输流,其以数据包的形式存在;IP则为计算机网络相互连接而设计的协议;则TSoverIP技术是将TS数据流在以太网上传输,并遵循一定的IP协议。而在TSoverIP的应用中,难以避免会有网络抖动和其他抖动的出现,而抖动的存在会对TS传输流中PCR(ProgramClockReference,节目时钟基准)等指标造成影响所以需要在IP流接收的过程中去除各种抖动。在目前广电前端IP接收设备中,部分IP接收设备只能实现较少通道或较小带宽基于IP的传输流抖动去除处理,而有部分IP接收设备并不支持所有模式,例如VBR(VariableBitRate,动态比特率)模式的输入传输流;而其他IP接收设备则以架构复杂、成本过高的硬件资源为代价来实现较多的通道或较大带宽的传输流去抖动。因此,现有的IP接收设备未能实现有效的多通道的传输流抖动去除。
技术实现思路
本专利技术所要解决的技术问题是,提供一种基于IP的传输流抖动去除技术方案,实现有效的多通道的传输流抖动去除,节省大量硬件资源和兼容多种模式的输出传输流,降低成本。为解决以上技术问题,一方面,本专利技术实施例提供一种基于IP的传输流抖动去除方法,包括:接收包含多通道传输流的输入流,形成TS数据包;计算出各通道的平均读包间隔;将所述TS数据包和所述平均读包间隔按通道缓存到一级存储器;根据一级缓存数据读请求,将所述一级存储器中相应通道上的TS数据包按通道缓存至二级存储器;产生二级缓存数据读请求并计算当前数据包的时间戳,读取所述二级存储器相应通道上的TS数据包;将所述时间戳和在所述二级存储器中读取的TS数据包按通道缓存到各通道独立的三级存储器Ci内(其中,i=0,1,2,…,P-1,P为通道总数),并统计各通道码率;读取所述三级存储器Ci的数据,对各通道的PCR值进行校正,输出TS数据包。在一种可实现的方式中,所述计算出各通道的平均读包间隔,包括:利用输入流中当前处理通道具有选定PID的相邻两个PCR包的PCR值,计算出所述相邻两个PCR包之间的原始时间间隔和所述两个PCR包之间的所述通道TS数据包个数;将所述原始时间间隔除以所述TS数据包个数,计算获得所述通道相邻两个PCR包之间对应通道的TS数据包的平均读包间隔。优选地,所述根据一级缓存数据读请求,将所述一级存储器中相应通道上的TS数据包按通道缓存至二级存储器,包括:当所述一级存储器中一个或多个通道缓存的TS数据包数目首次到达相应通道预设值时;或者,当所述一级存储器中一个或多个通道的读取次数为非零值,且小于所述二级存储器中对应通道可缓存的最大包数时;或者,当所述二级存储器中一个或多个通道有TS数据包输出时,则:产生对所述一级存储器中的相应通道的数据读请求;并将所述一级存储器同一端口的数据读请求加入一个公共队列,逐一执行所述数据读请求。进一步地,所述产生二级缓存数据读请求并计算当前数据包的时间戳,读取所述二级存储器相应通道上的TS数据包,包括:当所述二级存储器中一个或多个通道的缓存的TS数据包数目首次达到最大可存包数;或者,当所述二级存储器中一个或多个通道已读出过数据包且当前时间距离本通道上次读包请求时间的时间间隔大于或等于当前读包间隔,则:产生对所述二级存储器中的相应通道的数据读请求,并以当前系统时间作为当前数据包的时间戳;并将所述二级存储器同一端口的数据读请求加入一个公共队列,逐一执行所述数据读请求;各个TS数据包的当前读包间隔Gi是利用所述平均读包间隔G和计算平均读包间隔产生的余数REM得到的,计算公式为:其中,参数REM_DECi,表示每个包的读包间隔得到后,以余数REM为初值的减法器的输出值,计算公式为:REM_DECi=REM,i=0REM_DECi-1,ACCUMi-1+NCO<2M,i=1,2,...N-1REM_DECi-1-1ACCUMi-1+NCO≥2M,i=1,2,...N-1;]]>参数ACCUMi表示每个包的读包间隔得到后,以0为初值的累加器输出值,计算公式为:ACCUMi={NCO,i=0ACCUMi-1+NCO,ACCUMi-1+NCO<2M,i=1,2,...N-1ACCUMi-1+NCO-2M,ACCUMi-1+NCO≥2M,i=1,2,...N-1;]]>参数NCO为所述累加器的增量,计算公式为:上述各方程式的参数G为所述平均读包间隔;N为TS数据包数目;M为N的二进制数据位宽。优选地,所述读取所述三级存储器Ci的数据,对各通道的PCR值进行校正,输出TS数据包,包括:根据各通道码率检测出各个通道TS数据包的码率模式;当所述码率模式为CBR模式时,读取TS数据包,并在所述三级缓存器读空时输出空包;当所述码率模式为VBR模式时,在所述三级缓存器有包时读取TS数据包后输出;利用所述系统时间的当前数值与PCR包的时间戳的差值,对PCR值做相应的增加。另一方面,本专利技术实施例还提供了一种基于IP的传输流抖动去除装置,包括:接收模块,一级存储器,一级缓存读请求模块,二级存储器,二级缓存读请求模块,三级存储器和输出模块;所述接收模块,用于接收包含多通道传输流的输入流,形成TS数据包和计算出各通道的平均读包间隔;并将所述TS数据包和所述平均读包间隔按通道缓存到所述一级存储器;所述一级缓存读请求模块,用于发起读取所述一级存储器中的TS数据包的一级缓存数据读请求;所述二级存储器,用于根据所述一级缓存数据读请求,将所述一级存储器中相应通道上的TS数据包按通道进行缓存;所述二级缓存读请求模块,用于发起读取所述二级存储器中的TS数据包的二级缓存数据读请求,并计算出所述数据包的时间戳;所述二级存储器,还用于根据二级缓存数据读请求,读取所述二级存储器相应通道上的TS数据包,将所述数据包和对应时本文档来自技高网...
一种基于IP的传输流抖动去除方法及装置

【技术保护点】
一种基于IP的传输流抖动去除方法,其特征在于,包括:接收包含多通道传输流的输入流,形成TS数据包;计算出各通道的平均读包间隔;将所述TS数据包和所述平均读包间隔按通道缓存到一级存储器;根据一级缓存数据读请求,将所述一级存储器中相应通道上的TS数据包按通道缓存至二级存储器;产生二级缓存数据读请求并计算当前数据包的时间戳,读取所述二级存储器相应通道上的TS数据包;将所述时间戳和在所述二级存储器中读取的TS数据包按通道缓存到各通道独立的三级存储器Ci内(其中,i=0,1,2,…,P‑1,P为通道总数),并统计各通道码率;读取所述三级存储器Ci的数据,对各通道的PCR值进行校正,输出TS数据包。

【技术特征摘要】
1.一种基于IP的传输流抖动去除方法,其特征在于,包括:
接收包含多通道传输流的输入流,形成TS数据包;
计算出各通道的平均读包间隔;
将所述TS数据包和所述平均读包间隔按通道缓存到一级存储器;
根据一级缓存数据读请求,将所述一级存储器中相应通道上的TS数据包按
通道缓存至二级存储器;
产生二级缓存数据读请求并计算当前数据包的时间戳,读取所述二级存储
器相应通道上的TS数据包;
将所述时间戳和在所述二级存储器中读取的TS数据包按通道缓存到各通
道独立的三级存储器Ci内(其中,i=0,1,2,…,P-1,P为通道总数),并统计各通
道码率;
读取所述三级存储器Ci的数据,对各通道的PCR值进行校正,输出TS数
据包。
2.如权利要求1所述基于IP的传输流抖动去除方法,其特征在于,所述计
算出各通道的平均读包间隔,包括:
利用输入流中当前处理通道具有选定PID的相邻两个PCR包的PCR值,
计算出所述相邻两个PCR包之间的原始时间间隔和所述两个PCR包之间的所
述通道的TS数据包个数;
将所述原始时间间隔除以所述TS数据包个数,计算获得所述通道相邻两个
PCR包之间对应通道的TS数据包的平均读包间隔。
3.如权利要求1所述的基于IP的传输流抖动去除方法,其特征在于,所述
根据一级缓存数据读请求,将所述一级存储器中相应通道上的TS数据包按通道
缓存至二级存储器,包括:
当所述一级存储器中一个或多个通道缓存的TS数据包数目首次到达相应

\t通道预设值时;或者,
当所述一级存储器中一个或多个通道的读取次数为非零值,且小于所述二
级存储器中对应通道可缓存的最大包数时;或者,
当所述二级存储器中一个或多个通道有TS数据包输出时,则:
产生对所述一级存储器中的相应通道的数据读请求;
并将所述一级存储器同一端口的数据读请求加入一个公共队列,逐一执行
所述数据读请求。
4.如权利要求1所述的基于IP的传输流抖动去除方法,其特征在于,所述
产生二级缓存数据读请求并计算当前数据包的时间戳,读取所述二级存储器相
应通道上的TS数据包,包括:
当所述二级存储器中一个或多个通道的缓存的TS数据包数目首次达到最
大可存包数;或者,当所述二级存储器中一个或多个通道已读出过数据包且当前
时间距离本通道上次读包请求时间的时间间隔大于或等于当前读包间隔,则:
产生对所述二级存储器中的相应通道的数据读请求,并以当前系统时间作
为所述数据包的时间戳;
并将所述二级存储器同一端口的数据读请求加入一个公共队列,逐一执行
所述数据读请求;
各个TS数据包的当前读包间隔Gi是利用所述平均读包间隔G和计算平均
读包间隔产生的余数REM得到的,计算公式为:
其中,参数REM_DECi,表示每个包的读包间隔得到后,以余数REM为初值
的减法器的输出值,计算公式为:
REM_DECi=REM,i=0REM_DECi-1,ACCUMi-1+NCO<2M,i=1,2,...N-1REM_DECi-1-1,ACCUMi-1+NCO≥2M,i=1,2,...N-1;]]>参数ACCUMi表示每个包的读包间隔得到后,以0为初值的累加器的输出

\t值,计算公式为:
ACCUMi=NCO,i=0ACCUMi-1+NCO,ACCUMi-1+NCO<2M,i=1,2,...N-1ACCUMi-1+NCO-2M,ACCUMi-1+NCO≥2M,i=1,2,...N-1;]]>参数NCO为所述累加器的增量,计算公式为:
上述各方程式的参数G为所述平均读包间隔;N为TS数据包数目;M为
N的二进制数据位宽。
5.如权利要求1~4任一项所述的基于IP的传输流抖动去除方法,其特征在
于,所述读取所述三级存储器Ci的数据,对各通道的PCR值进行校正,输出TS
数据包,包括:
根据各通道码率检测出各个通道TS数据包的码率模式;
当所述码率模式为CBR模式时,读取TS数据包,并在所述三级缓存器读
空时输出空包;
当所述码率模式为VBR模式时,在所述三级缓存器有包时读取TS数据包
后输出;
利用所述系统时间的当前数值与PCR包的时间戳的差值,对PCR值做相应
的增加。
6.一种基于IP的传输流抖动去除装置,其特征在于,包括:接收模块,一
级存储器,一级缓存读请求模块,二级存储器,二级缓存读请求模块,三级存储
器和输出模...

【专利技术属性】
技术研发人员:沈广涛
申请(专利权)人:惠州市伟乐科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1