一种分数倍调整TS流码率的方法及装置制造方法及图纸

技术编号:14975269 阅读:155 留言:0更新日期:2017-04-03 02:50
本发明专利技术公开了一种分数倍调整TS流码率的方法,包括:确定一个为待调整TS流码率与系统时钟的最小公倍数的时间周期;所述时间周期包括M个系统时钟;根据系统时钟以及在时间周期内需要发送的TS包数量,计算出待配置码率的每一个TS包的整数个系统时钟周期和归一化的小数个系统时钟周期;根据系统时钟、整数个系统时钟周期和小数个系统时钟周期,平滑计算出每一个TS包的出包使能信号;根据出包使能信号输出缓存模块中的TS包或者预设的空包。本发明专利技术还提供了一种分数倍调整TS流码率的装置,实现在数字电视领域对TS流传输过程中任意码率的适配调整,工作稳定、实现简便、占用缓存资源少。

【技术实现步骤摘要】

本专利技术涉及数据通信
,尤其涉及一种分数倍调整TS流码率的方法及装置
技术介绍
电视动态图像及伴音在数字化以后通常使用TS流(TransportStream,传送数据流)的格式进行数据传输。TS流的复用、解复用、调制等过程中必不可少需要涉及到码率的调整,即,将输出码率匹配到一个预定的码率,而该预定的码率可能无法通过系统时钟整数分频控制得到,输出码率与预定的码率不严格一致,出现两者不可整除(商为分数或小数)的情况。当出现这一情况时,系统在运行一段时间后必然出现码率失配,需要重新搜索同步,由此产生的后果将严重影响到系统的后续处理。针对这一情况,现有的常用方法是使用一个较大的缓存器,当分数部分不断累积达到一个完整的TS包时再插入一个空包进行调整。这样的处理方案主要存在两个技术问题:一,实现复杂且需要使用一个容量比较大的缓存器;二,插入空包改变了各个TS包之间的间隔,容易造成PCR(ProgramClockReference,节目时钟参考)的不稳定。
技术实现思路
本专利技术所要解决的技术问题是,提供一种分数倍调整TS流码率技术方案,实现在数字电视领域对TS流传输过程中任意码率的适配调整,克服现有技术的实现复杂、占用过多缓存且不稳定的技术问题。为解决以上技术问题,一方面,本专利技术实施例提供一种分数倍调整TS流码率的方法,包括:确定一个为待调整TS流码率与系统时钟的最小公倍数的时间周期;所述时间周期包括M个系统时钟;M为正整数;根据所述系统时钟以及在所述时间周期内需要发送的TS包数量,计算出待配置码率的每一个TS包的整数个系统时钟周期和归一化的小数个系统时钟周期;根据所述系统时钟、所述整数个系统时钟周期和所述小数个系统时钟周期,平滑计算出每一个TS包的出包使能信号;根据所述出包使能信号输出缓存模块中的TS包或者预设的空包。优选地,所述根据所述系统时钟以及在所述时间周期内需要发送的TS包数量,计算出待配置码率的每一个TS包的整数个系统时钟周期和归一化的小数个系统时钟周期,包括:将所述时间周期内的系统时钟数目与在所述时间周期内需要发送的TS包数量进行除法运算,获得商的整数部分和小数部分;将所述除法运算获得的商的整数部分设置为所述整数个系统时钟周期;将所述除法运算获得的商的小数部分进行归一化处理,并将归一化后的小数部分设置为所述小数个系统时钟周期。优选地,所述根据所述系统时钟、所述整数个系统时钟周期和所述小数个系统时钟周期,平滑计算出每一个TS包的出包使能信号,包括:将待调整TS流码率与系统时钟的最小公倍数的时间周期内每一个TS包的发包间隔小数个系统时钟周期的累积效应平均分配在X个TS包的间隔中,以获得平滑效果;所述参数X为在所述时间周期内需要发送的TS包数量。进一步地,所述根据所述系统时钟、所述整数个系统时钟周期和所述小数个系统时钟周期,平滑计算出每一个TS包的出包使能信号,还包括:采用第一计数器,根据所述系统时钟的个数M,在0~M-1范围内进行计数;采用第二计数器对所述整数个系统时钟周期的值N进行计数;采用第三计数器对所述小数个系统时钟周期的值Y进行计数;并且,当第一计数器计数至数值M-1时,产生一个全局同步信号;根据所述全局同步信号,对所述第二计数器和所述第三计数器进行清零,并将用于表征所述第三计数器是否进位的标识信号进行清零;在所述第二计数器计数至所述整数个系统时钟周期的值N时,根据所述第三计数器是否进位的标识信号的值对所述第二计数器进行归位:当所述进位标识信号为零时,所述第二计数器归位为1;当所述进位标识信号为1时,所述第二计数器归位为0;并启动归位后的所述第二计数器继续往上计数;在所述第二计数器计数至所述整数个系统时钟周期的值N时,根据所述第三计数器的输出值、所述归一化小数个系统时钟周期和系统预设值进行求余运算,并在求余运算中发生进位时,将所述进位标识信号的值置为1;否则,将所述进位标识信号的值置为0;对所述整数个系统时钟周期的值N的二平分值N/2进行向下取整运算,获得均分值;在所述第二计数器计数至所述均分值时产生所述出包使能信号。优选地,所述根据所述出包使能信号输出缓存模块中的TS包或者预设的空包,包括:将前一级输出的TS包存入缓存模块内部的缓存空间中;每当输入一个TS包至所述缓存空间后,将TS包缓存数目标识进行加一运算;所述TS包缓存数目标识为当前缓存模块中所缓存的前一级输入的TS包数目;接收所述出包使能信号,并根据所述TS包缓存数目标识的值,将缓存模块中的TS包或者预设的空包发送出去,包括:若所述TS包缓存数目标识的值大于0,则依照TS包存入所述缓存模块时的先后顺序,将所述缓存模块中一个TS包发送出去,并将所述TS包缓存数目标识的值进行减一运算;若所述TS包缓存数目标识的值等于0,则输出一个预设的TS空包。另一方面,本专利技术实施例还提供了分数倍调整TS流码率的装置,包括:系统时钟计算模块,用于确定一个为待调整TS流码率与系统时钟的最小公倍数的时间周期;所述时间周期包括M个系统时钟;M为正整数;时钟调整模块,用于根据所述系统时钟以及在所述时间周期内需要发送的TS包数量,计算出待配置码率的每一个TS包的整数个系统时钟周期和归一化的小数个系统时钟周期;使能信号产生模块,用于根据所述系统时钟、所述整数个系统时钟周期和所述小数个系统时钟周期,平滑计算出每一个TS包的出包使能信号;数据输出模块,用于根据所述出包使能信号输出缓存模块中的TS包或者预设的空包。优选地,所述时钟调整模块,包括:除法器,用于将所述时间周期内的系统时钟数目与在所述时间周期内需要发送的TS包数量进行除法运算,获得商的整数部分和小数部分;整数时钟计算模块,用于将所述除法运算获得的商的整数部分设置为所述整数个系统时钟周期;小数时钟计算模块,用于将所述除法运算获得的商的小数部分进行归一化处理,并将归一化后的小数部分设置为所述小数个系统时钟周期。优选地,所述使能信号产生模块,包括:平滑模块,用于将待调整TS流码率与系统时钟的最小公倍数的时间周期内每一个TS包的发包间隔小数个系统时钟周期的累积效应平均分配在X个TS包的间隔中,以获得平滑效果;所述参数X为在所述时间周期内需要发送的TS包数量。进一步地,所述使能信号产生模块,还包括:第一计数器,用于根据所述系统时钟的个数M本文档来自技高网...

【技术保护点】
一种分数倍调整TS流码率的方法,其特征在于,包括:确定一个为待调整TS流码率与系统时钟的最小公倍数的时间周期;所述时间周期包括M个系统时钟;M为正整数;根据所述系统时钟以及在所述时间周期内需要发送的TS包数量,计算出待配置码率的每一个TS包的整数个系统时钟周期和归一化的小数个系统时钟周期;根据所述系统时钟、所述整数个系统时钟周期和所述小数个系统时钟周期,平滑计算出每一个TS包的出包使能信号;根据所述出包使能信号输出缓存模块中的TS包或者预设的空包。

【技术特征摘要】
1.一种分数倍调整TS流码率的方法,其特征在于,包括:
确定一个为待调整TS流码率与系统时钟的最小公倍数的时间周期;所述时
间周期包括M个系统时钟;M为正整数;
根据所述系统时钟以及在所述时间周期内需要发送的TS包数量,计算出待
配置码率的每一个TS包的整数个系统时钟周期和归一化的小数个系统时钟周
期;
根据所述系统时钟、所述整数个系统时钟周期和所述小数个系统时钟周期,
平滑计算出每一个TS包的出包使能信号;
根据所述出包使能信号输出缓存模块中的TS包或者预设的空包。
2.如权利要求1所述分数倍调整TS流码率的方法,其特征在于,所述根
据所述系统时钟以及在所述时间周期内需要发送的TS包数量,计算出待配置码
率的每一个TS包的整数个系统时钟周期和归一化的小数个系统时钟周期,包括:
将所述时间周期内的系统时钟数目与在所述时间周期内需要发送的TS包
数量进行除法运算,获得商的整数部分和小数部分;
将所述除法运算获得的商的整数部分设置为所述整数个系统时钟周期;
将所述除法运算获得的商的小数部分进行归一化处理,并将归一化后的小
数部分设置为所述小数个系统时钟周期。
3.如权利要求2所述分数倍调整TS流码率的方法,其特征在于,所述根
据所述系统时钟、所述整数个系统时钟周期和所述小数个系统时钟周期,平滑计
算出每一个TS包的出包使能信号,包括:
将待调整TS流码率与系统时钟的最小公倍数的时间周期内每一个TS包的
发包间隔小数个系统时钟周期的累积效应平均分配在X个TS包的间隔中,以
获得平滑效果;所述参数X为在所述时间周期内需要发送的TS包数量。
4.如权利要求3所述分数倍调整TS流码率的方法,其特征在于,所述根
据所述系统时钟、所述整数个系统时钟周期和所述小数个系统时钟周期,平滑计
算出每一个TS包的出包使能信号,还包括:
采用第一计数器,根据所述系统时钟的个数M,在0~M-1范围内进行计数;
采用第二计数器对所述整数个系统时钟周期的值N进行计数;采用第三计数器
对所述小数个系统时钟周期的值Y进行计数;并且,
当第一计数器计数至数值M-1时,产生一个全局同步信号;
根据所述全局同步信号,对所述第二计数器和所述第三计数器进行清零,并
将用于表征所述第三计数器是否进位的标识信号进行清零;
在所述第二计数器计数至所述整数个系统时钟周期的值N时,根据所述标
识信号的值对所述第二计数器进行归位:当所述标识信号为零时,所述第二计数
器归位为1;当所述标识信号为1时,所述第二计数器归位为0;并启动归位后
的所述第二计数器继续往上计数;
在所述第二计数器计数至所述整数个系统时钟周期的值N时,根据所述第
三计数器的输出值、所述小数个系统时钟周期和系统预设值进行求余运算,并在
求余运算中发生进位时,将所述标识信号的值置为1;否则,将所述标识信号的
值置为0;
对所述整数个系统时钟周期的值N的二平分值N/2进行向下取整运算,获
得均分值;
在所述第二计数器计数至所述均分值时产生所述出包使能信号。
5.如权利要求1~4任一项所述分数倍调整TS流码率的方法,其特征在于,
所述根据所述出包使能信号输出缓存模块中的TS包或者预设的空包,包括:
将前一级输出的TS包存入缓存模块内部的缓存空间中;
每当输入一个TS包至所述缓存空间后,将TS包缓存数目标识进行加一运
算;所述TS包缓存数目标识为当前缓存模块中所缓存的前一级输入的TS包数
目;
接收所述出包使能信号,并根据所述TS包缓存数目标识的值,将缓存模块
中的TS包或者预设的空包发送出去,包括:若所述TS包缓存数目标识的值大
于0,则依照TS包存入所述缓存模块时的先后顺序,将所述缓存模块中一个TS
包发送出去,并将所述TS包缓存数目标识的值进行减一运算;若所述TS包缓
存数目标识的值等于0,则输出一个预设的...

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

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

1