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

文档序号:9892011阅读:663来源:国知局
一种分数倍调整ts流码率的方法及装置的制造方法
【技术领域】
[0001] 本发明设及数据通信技术领域,尤其设及一种分数倍调整TS流码率的方法及装 置。
【背景技术】
[0002] 电视动态图像及伴音在数字化W后通常使用TS流(Transpod Sheam,传送数据 流)的格式进行数据传输。TS流的复用、解复用、调制等过程中必不可少需要设及到码率的 调整,即,将输出码率匹配到一个预定的码率,而该预定的码率可能无法通过系统时钟整数 分频控制得到,输出码率与预定的码率不严格一致,出现两者不可整除(商为分数或小数) 的情况。当出现运一情况时,系统在运行一段时间后必然出现码率失配,需要重新捜索同 步,由此产生的后果将严重影响到系统的后续处理。
[0003] 针对运一情况,现有的常用方法是使用一个较大的缓存器,当分数部分不断累积 达到一个完整的TS包时再插入一个空包进行调整。运样的处理方案主要存在两个技术问 题:一,实现复杂且需要使用一个容量比较大的缓存器;二,插入空包改变了各个TS包之间 的间隔,容易造成PCR(P;rogram Clock Reference,节目时钟参考)的不稳定。

【发明内容】

[0004] 本发明所要解决的技术问题是,提供一种分数倍调整TS流码率技术方案,实现在 数字电视领域对TS流传输过程中任意码率的适配调整,克服现有技术的实现复杂、占用过 多缓存且不稳定的技术问题。
[0005] 为解决W上技术问题,一方面,本发明实施例提供一种分数倍调整TS流码率的方 法,包括:
[0006] 确定一个为待调整TS流码率与系统时钟的最小公倍数的时间周期;所述时间周期 包括Μ个系统时钟;Μ为正整数;
[0007] 根据所述系统时钟W及在所述时间周期内需要发送的TS包数量,计算出待配置码 率的每一个TS包的整数个系统时钟周期和归一化的小数个系统时钟周期;
[000引根据所述系统时钟、所述整数个系统时钟周期和所述小数个系统时钟周期,平滑 计算出每一个TS包的出包使能信号;
[0009] 根据所述出包使能信号输出缓存模块中的TS包或者预设的空包。
[0010] 优选地,所述根据所述系统时钟W及在所述时间周期内需要发送的TS包数量,计 算出待配置码率的每一个TS包的整数个系统时钟周期和归一化的小数个系统时钟周期,包 括:
[0011] 将所述时间周期内的系统时钟数目与在所述时间周期内需要发送的TS包数量进 行除法运算,获得商的整数部分和小数部分;
[0012] 将所述除法运算获得的商的整数部分设置为所述整数个系统时钟周期;
[0013] 将所述除法运算获得的商的小数部分进行归一化处理,并将归一化后的小数部分 设置为所述小数个系统时钟周期。
[0014] 优选地,所述根据所述系统时钟、所述整数个系统时钟周期和所述小数个系统时 钟周期,平滑计算出每一个TS包的出包使能信号,包括:
[0015] 将待调整TS流码率与系统时钟的最小公倍数的时间周期内每一个TS包的发包间 隔小数个系统时钟周期的累积效应平均分配在X个TS包的间隔中,W获得平滑效果;所述参 数X为在所述时间周期内需要发送的TS包数量。
[0016] 进一步地,所述根据所述系统时钟、所述整数个系统时钟周期和所述小数个系统 时钟周期,平滑计算出每一个TS包的出包使能信号,还包括:
[0017] 采用第一计数器,根据所述系统时钟的个数M,在0~M-1范围内进行计数;采用第 二计数器对所述整数个系统时钟周期的值N进行计数;采用第Ξ计数器对所述小数个系统 时钟周期的值Y进行计数;并且,
[0018] 当第一计数器计数至数值M-1时,产生一个全局同步信号;
[0019] 根据所述全局同步信号,对所述第二计数器和所述第Ξ计数器进行清零,并将用 于表征所述第Ξ计数器是否进位的标识信号进行清零;
[0020] 在所述第二计数器计数至所述整数个系统时钟周期的值N时,根据所述第Ξ计数 器是否进位的标识信号的值对所述第二计数器进行归位:当所述进位标识信号为零时,所 述第二计数器归位为1;当所述进位标识信号为1时,所述第二计数器归位为0;并启动归位 后的所述第二计数器继续往上计数;
[0021] 在所述第二计数器计数至所述整数个系统时钟周期的值N时,根据所述第Ξ计数 器的输出值、所述归一化小数个系统时钟周期和系统预设值进行求余运算,并在求余运算 中发生进位时,将所述进位标识信号的值置为1;否则,将所述进位标识信号的值置为0;
[0022] 对所述整数个系统时钟周期的值N的二平分值ΝΛ进行向下取整运算,获得均分 值;
[0023] 在所述第二计数器计数至所述均分值时产生所述出包使能信号。
[0024] 优选地,所述根据所述出包使能信号输出缓存模块中的TS包或者预设的空包,包 括:
[0025] 将前一级输出的TS包存入缓存模块内部的缓存空间中;
[0026] 每当输入一个TS包至所述缓存空间后,将TS包缓存数目标识进行加一运算;所述 TS包缓存数目标识为当前缓存模块中所缓存的前一级输入的TS包数目;
[0027] 接收所述出包使能信号,并根据所述TS包缓存数目标识的值,将缓存模块中的TS 包或者预设的空包发送出去,包括:若所述TS包缓存数目标识的值大于0,则依照TS包存入 所述缓存模块时的先后顺序,将所述缓存模块中一个TS包发送出去,并将所述TS包缓存数 目标识的值进行减一运算;若所述TS包缓存数目标识的值等于0,则输出一个预设的TS空 包。
[0028] 另一方面,本发明实施例还提供了分数倍调整TS流码率的装置,包括:
[0029] 系统时钟计算模块,用于确定一个为待调整TS流码率与系统时钟的最小公倍数的 时间周期;所述时间周期包括Μ个系统时钟;Μ为正整数;
[0030] 时钟调整模块,用于根据所述系统时钟W及在所述时间周期内需要发送的TS包数 量,计算出待配置码率的每一个TS包的整数个系统时钟周期和归一化的小数个系统时钟周 期;
[0031] 使能信号产生模块,用于根据所述系统时钟、所述整数个系统时钟周期和所述小 数个系统时钟周期,平滑计算出每一个TS包的出包使能信号;
[0032] 数据输出模块,用于根据所述出包使能信号输出缓存模块中的TS包或者预设的空 包。
[0033] 优选地,所述时钟调整模块,包括:
[0034] 除法器,用于将所述时间周期内的系统时钟数目与在所述时间周期内需要发送的 TS包数量进行除法运算,获得商的整数部分和小数部分;
[0035] 整数时钟计算模块,用于将所述除法运算获得的商的整数部分设置为所述整数个 系统时钟周期;
[0036] 小数时钟计算模块,用于将所述除法运算获得的商的小数部分进行归一化处理, 并将归一化后的小数部分设置为所述小数个系统时钟周期。
[0037] 优选地,所述使能信号产生模块,包括:
[0038] 平滑模块,用于将待调整TS流码率与系统时钟的最小公倍数的时间周期内每一个 TS包的发包间隔小数个系统时钟周期的累积效应平均分配在X个TS包的间隔中,W获得平 滑效果;所述参数X为在所述时间周期内需要发送的TS包数量。
[0039] 进一步地,所述使能信号产生模块,还包括:
[0040] 第一计数器,用于根据所述系统时钟的个数M,在0~M-1范围内进行计数,并且,当 所述第一计数器计数至数值M-1时,产生一个全局同步信号;
[0041 ]第二计数器,用于对所述整数个系统时钟周期的值N进行计数;
[0042] 第Ξ计数器,用于对所述小数个系统时钟周期的值Y进行计数;
[0043] 清零模块,用于根据所述全局同步信号,对所述第二计数器和所述第Ξ计数器进 行清零,并将用于表征所述第Ξ计数器是否进位的标识信号进行清零;
[0044] 归位模块,用于在所述第二计数器计数至所述整数个系统时钟周期的值N时,根据 所述标识信号的值对所述第二计数器进行归位:当所述进位标识信号为零时,所述第二计 数器归位为1;当所述进位标识信号为1时,所述第二计数器归位为0;并启动归位后的所述 第二计数器继续往上计数;
[0045] 求余运算模块,用于在所述第二计数器计数至所述整数个系统时钟周期的值N时, 根据所述第Ξ计数器的输出值、所述归一化小数个系统时钟周期和系统预设值进行求余运 算,并在求余运算中发生进位时,将所述进位标识信号的值置为1;否则,将所述进位标识信 号的值置为0;
[0046] 取整运算模块,用于对所述整数个系统时钟周期的值N的二平分值N/2进行向下取 整运算,获得均分值;
[0
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1