CN105657480B - 一种分数倍调整ts流码率的方法及装置 - Google Patents

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

Info

Publication number
CN105657480B
CN105657480B CN201511032886.9A CN201511032886A CN105657480B CN 105657480 B CN105657480 B CN 105657480B CN 201511032886 A CN201511032886 A CN 201511032886A CN 105657480 B CN105657480 B CN 105657480B
Authority
CN
China
Prior art keywords
packet
system clock
value
counter
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201511032886.9A
Other languages
English (en)
Other versions
CN105657480A (zh
Inventor
黄化吉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WELLAV TECHNOLOGIES Ltd
Original Assignee
Huizhou Wellav Technologies Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huizhou Wellav Technologies Co ltd filed Critical Huizhou Wellav Technologies Co ltd
Priority to CN201511032886.9A priority Critical patent/CN105657480B/zh
Publication of CN105657480A publication Critical patent/CN105657480A/zh
Application granted granted Critical
Publication of CN105657480B publication Critical patent/CN105657480B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

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

Description

一种分数倍调整TS流码率的方法及装置
技术领域
本发明涉及数据通信技术领域,尤其涉及一种分数倍调整TS流码率的方法及装置。
背景技术
电视动态图像及伴音在数字化以后通常使用TS流(Transport Stream,传送数据流)的格式进行数据传输。TS流的复用、解复用、调制等过程中必不可少需要涉及到码率的调整,即,将输出码率匹配到一个预定的码率,而该预定的码率可能无法通过系统时钟整数分频控制得到,输出码率与预定的码率不严格一致,出现两者不可整除(商为分数或小数)的情况。当出现这一情况时,系统在运行一段时间后必然出现码率失配,需要重新搜索同步,由此产生的后果将严重影响到系统的后续处理。
针对这一情况,现有的常用方法是使用一个较大的缓存器,当分数部分不断累积达到一个完整的TS包时再插入一个空包进行调整。这样的处理方案主要存在两个技术问题:一,实现复杂且需要使用一个容量比较大的缓存器;二,插入空包改变了各个TS包之间的间隔,容易造成PCR(Program Clock Reference,节目时钟参考)的不稳定。
发明内容
本发明所要解决的技术问题是,提供一种分数倍调整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,在0~M-1范围内进行计数,并且,当所述第一计数器计数至数值M-1时,产生一个全局同步信号;
第二计数器,用于对所述整数个系统时钟周期的值N进行计数;
第三计数器,用于对所述小数个系统时钟周期的值Y进行计数;
清零模块,用于根据所述全局同步信号,对所述第二计数器和所述第三计数器进行清零,并将用于表征所述第三计数器是否进位的标识信号进行清零;
归位模块,用于在所述第二计数器计数至所述整数个系统时钟周期的值N时,根据所述标识信号的值对所述第二计数器进行归位:当所述进位标识信号为零时,所述第二计数器归位为1;当所述进位标识信号为1时,所述第二计数器归位为0;并启动归位后的所述第二计数器继续往上计数;
求余运算模块,用于在所述第二计数器计数至所述整数个系统时钟周期的值N时,根据所述第三计数器的输出值、所述归一化小数个系统时钟周期和系统预设值进行求余运算,并在求余运算中发生进位时,将所述进位标识信号的值置为1;否则,将所述进位标识信号的值置为0;
取整运算模块,用于对所述整数个系统时钟周期的值N的二平分值N/2进行向下取整运算,获得均分值;
信号产生器,用于在所述第二计数器计数至所述均分值时产生所述出包使能信号。
优选地,所述数据输出模块,包括:
缓存模块,用于将前一级输出的TS包存入内部的缓存空间中;
缓存数目跟踪模块,用于每当输入一个TS包至所述缓存空间后,将TS包缓存数目标识进行加一运算;所述TS包缓存数目标识为当前缓存模块中所缓存的前一级输入的TS包数目;
控制输出模块,用于接收所述出包使能信号,并根据所述TS包缓存数目标识的值,将缓存模块中的TS包或者预设的空包发送出去,包括:若所述TS包缓存数目标识的值大于0,则依照TS包存入所述缓存模块时的先后顺序,将所述缓存模块中一个TS包发送出去,并将所述TS包缓存数目标识的值进行减一运算;若所述TS包缓存数目标识的值等于0,则输出一个预设的TS空包。
本发明实施例提供的分数倍调整TS流码率技术方案,实现在数字电视领域对TS流传输过程中任意码率的适配调整,通过确定一个为待调整TS流码率与系统时钟的最小公倍数的时间周期,以及该时间周期的系统时钟数目M,通过分数倍速率平滑调整的算法获得每一个TS包的整数个系统时钟周期和归一化的小数个系统时钟周期,由此产生控制TS包输出的出包使能信号,根据所述出包使能信号输出缓存模块中的TS包或者预设的空包。本发明基于TS流输出码率与系统时钟的同步原理,实现通过分数倍速率平滑调整且不会引起码率失配重同步的技术方案,工作稳定、实现简便、占用缓存资源少。
附图说明
图1是本发明提供的分数倍调整TS流码率的方法的一个实施例的步骤流程图。
图2是本发明提供的计算每一个TS包的系统时钟周期数目的一种可实现方式的步骤流程图。
图3是本发明提供的平滑计算出每一个TS包的出包使能信号的一种实现方式的步骤流程图。
图4是本发明提供的进行数据控制输出的一种实现方式的步骤流程图。
图5是本发明提供的分数倍调整TS流码率的装置的一个实施例的结构示意图。
图6是本发明提供的分数倍调整TS流码率的装置的时钟调整模块的一种实现方式的结构示意图。
图7是本发明提供的分数倍调整TS流码率的装置的使能信号产生模块的一种实现方式的结构示意图。
图8是本发明提供的分数倍调整TS流码率的装置的数据输出模块的一种实现方式的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,均属于本发明保护的范围。
为了使本发明实施例的目的、技术方案及优点更加清楚明白,参照各个附图,以及以下系统参数进行举例说明:假设一个TS包的长度为:LEN=188字节,配置的TS流的码率R的范围为[MIN,MAX]kbps,系统时钟为108MHz。
参看图1,是本发明提供的分数倍调整TS流码率的方法的一个实施例的步骤流程图。
步骤S1:确定一个为待调整TS流码率与系统时钟的最小公倍数的时间周期T;所述时间周期T包括M个系统时钟;M为正整数;
步骤S2:根据所述系统时钟以及在所述时间周期T内需要发送的TS包数量X,计算出待配置码率的每一个TS包的整数个系统时钟周期和归一化的小数个系统时钟周期;
步骤S3:根据所述系统时钟、所述整数个系统时钟周期和所述小数个系统时钟周期,平滑计算出每一个TS包的出包使能信号EN;
步骤S4:根据所述出包使能信号EN输出缓存模块中的TS包或者预设的空包。
具体实施时,在所述步骤S1中,为了确定最小公倍数周期T,需要确定码率稳定的关系式。假设当前最小公倍数的时间周期T(单位:秒)内发送X个TS包,其平均码率应为R0(单位:kbps),存在如下关系式:
R0×103=188×8×X/T (1)
其中,参数R0和X为正整数;当令时间周期T=188×8/10^3秒,则可以简化上述关系式为:
R0=X (2)
因此,当时间周期T=188×8/10^3秒时,其即为所要求之最小公倍数时间周期。
在本实施例中,第一个时间计数量M是根据最小公倍数时间周期T求得的对应的系统时钟数目,具体地,可以设置为:M=188*8*108*10^3=162432000。同时,根据码率配置计算T周期内所需发送的TS包数目X。在本实施例中,T周期内所需发送的TS包数目X优选设置平均码率值R0,为了更好的描述,令X=R0=15000。
参看图2,是本发明提供的计算每一个TS包的系统时钟周期数目的一种可实现方式的步骤流程图。
优选地,所述步骤S2在根据最小公倍数的时间周期T计算对应的系统时钟数目时,包括:
步骤S21:将所述时间周期内的系统时钟数目M与在所述时间周期T内需要发送的TS包数量X进行除法运算,获得商的整数部分N和小数部分Y。
步骤S22:将所述除法运算获得的商的整数部分N设置为所述整数个系统时钟周期;
步骤S23:将所述除法运算获得的商的小数部分Y进行归一化处理,并将归一化后的小数部分设置为所述小数个系统时钟周期K。
具体地,假设在时间周期T的M个系统时钟内需要发送X个TS包,则平均每发送一个TS包所对应需要的系统时钟数为M/X。此时,M/X的计算结果可能为分数(小数),无法整除,可以将M/X的计算结果表示为:
M/X=N.Y (3)
其中,参数N为M/X的计算结果的整数部分;参数Y为M/X的计算结果的小数部分。
在上述关系式(3)中,第二个时间计数量N可以通过向下取整运算获得,例如,可以通过下式计算:
Figure BDA0000898183650000091
其中,符号
Figure BDA0000898183650000092
表示向下取整。
而第三个时间计数量K是根据小数个系统时钟周期数Y计算归一化小数个系统时钟周期数。具体地,可以将对应的输出码率每出一个TS包需要计时的小数个时钟周期Y进行归一化到某个整数比特所表征的数字范围(例如16比特),并使之均匀分布到整个T周期内,则Y的归一化表征量为:
K=Floor(0.Y*(2^16-1)) (5)
具体地,当Y为8时,可以计算出
Figure BDA0000898183650000101
其中,符号
Figure BDA0000898183650000102
和“Floor”均表示向下取整运算。
由此,可以获得三个重要的时间计数量进行下一步的运算。
进一步地,所述步骤S3包括:将待调整TS流码率与系统时钟的最小公倍数的时间周期T内每一个TS包的发包间隔小数个系统时钟周期的累积效应平均分配在X个TS包的间隔中,以获得平滑效果;所述参数X为在所述时间周期内需要发送的TS包数量。
参看图3,是本发明提供的平滑计算出每一个TS包的出包使能信号的一种实现方式的步骤流程图。
具体实施时,所述步骤S3可以通过以下步骤S31~S37进行实现:
步骤S31:采用第一计数器CNT1,根据所述系统时钟的个数M,在0~M-1范围内进行计数;采用第二计数器CNT2对所述整数个系统时钟周期的值N进行计数;采用第三计数器CNT3对所述小数个系统时钟周期的值Y进行计数;并且,
步骤S32:当第一计数器CNT1计数至数值M-1时,产生一个全局同步信号SYNC;
步骤S33:根据所述全局同步信号SYNC,对所述第二计数器CNT2和所述第三计数器CNT3进行清零,并将用于表征所述第三计数器CNT3是否进位的标识信号Carry进行清零;
步骤S34:在所述第二计数器CNT2计数至所述整数个系统时钟周期的值N时,根据所述标识信号Carry的值对所述第二计数器CNT2进行归位:当所述标识信号Carry为零时,所述第二计数器CNT2归位为1;当所述标识信号Carry为1时,所述第二计数器CNT2归位为0;并启动归位后的所述第二计数器CNT2继续往上计数;
步骤S35:在所述第二计数器CNT2计数至所述整数个系统时钟周期的值N时,根据所述第三计数器CNT3的输出值、所述小数个系统时钟周期和系统预设值进行求余运算,并在求余运算中发生进位时,将所述标识信号Carry的值置为1;否则,将所述标识信号Carry的值置为0;
步骤S36:对所述整数个系统时钟周期的值N的二平分值N/2进行向下取整运算,获得均分值;
步骤S37:在所述第二计数器CNT2计数至所述均分值时产生所述出包使能信号EN。
在本实施例中,由第二计数器CNT2归位值(0或1)来控制将一个时间周期T内的每一个TS包发包间隔的小数个系统周期Y的累计额效应的平均分配实现的方式,归位操作的均分性由第三计数器CNT3递增至参数K时是否进位来实现。
具体地,所述步骤S35包括:当第二计数器CNT2计数至N时,可以采用以下关系式进行求余运算:
VCNT3=(VCNT3+K)mod 65536 (6)
上式中,VCNT3是第三计数器的输出值,符号“mod”为求余运算;数值65536为系统预设值;且当第三计数器CNT3超越系统预设值65536再求余运算发生时,将进位标识信号Carry的值置为1。
在所述步骤S37中,当第二计数器CNT2计数至VCNT2=Floor(N/2)时产生TS出包使能信号EN,其中,符号“Floor”表示向下取整运算。
参看图4,是本发明提供的进行数据控制输出的一种实现方式的步骤流程图。
进一步地,如图4所示,所述步骤S4包括:
步骤S41:将前一级输出的TS包存入缓存模块内部的缓存空间中;每当接收到发送TS缓存包指示信号,按顺序将缓存中的一个TS包送出。
步骤S42:每当输入一个TS包至所述缓存空间后,将TS包缓存数目标识PNUM进行加一运算;所述TS包缓存数目标识PNUM为当前缓存模块中所缓存的前一级输入的TS包数目;
步骤S43:接收所述出包使能信号EN,并根据所述TS包缓存数目标识PNUM的值,将缓存模块中的TS包或者预设的空包发送出去,包括:若所述TS包缓存数目标识PNUM的值大于0,则执行步骤S44;若所述TS包缓存数目标识PNUM的值等于0,则步骤S45;
步骤S44:依照TS包存入所述缓存模块时的先后顺序,将所述缓存模块中一个TS包发送出去,并将所述TS包缓存数目标识PNUM的值进行减一运算;
步骤S45:输出一个预设的TS空包。
与上述实施例提供的分数倍调整TS流码率的方法相对应,本发明实施例还进一步提供了一种分数倍调整TS流码率的装置。
参看图5,是本发明提供的分数倍调整TS流码率的装置的一个实施例的结构示意图。
在本实施例中,所述的分数倍调整TS流码率的装置,包括:
系统时钟计算模块10,用于确定一个为待调整TS流码率与系统时钟的最小公倍数的时间周期;所述时间周期包括M个系统时钟;M为正整数;
时钟调整模块20,用于根据所述系统时钟以及在所述时间周期内需要发送的TS包数量,计算出待配置码率的每一个TS包的整数个系统时钟周期和归一化的小数个系统时钟周期;
使能信号产生模块30,用于根据所述系统时钟、所述整数个系统时钟周期和所述小数个系统时钟周期,平滑计算出每一个TS包的出包使能信号;
数据输出模块40,用于根据所述出包使能信号输出缓存模块中的TS包或者预设的空包。
参看图6,是本发明提供的分数倍调整TS流码率的装置的时钟调整模块的一种实现方式的结构示意图。
具体地,所述时钟调整模块20,包括:
除法器201,用于将所述时间周期内的系统时钟数目与在所述时间周期内需要发送的TS包数量进行除法运算,获得商的整数部分和小数部分;
整数时钟计算模块202,用于将所述除法运算获得的商的整数部分设置为所述整数个系统时钟周期;
小数时钟计算模块203,用于将所述除法运算获得的商的小数部分进行归一化处理,并将归一化后的小数部分设置为所述小数个系统时钟周期。
参看图7,是本发明提供的分数倍调整TS流码率的装置的使能信号产生模块的一种实现方式的结构示意图。
在本实施例中,所述使能信号产生模块30,包括:平滑模块,用于将待调整TS流码率与系统时钟的最小公倍数的时间周期内每一个TS包的发包间隔小数个系统时钟周期的累积效应平均分配在X个TS包的间隔中,以获得平滑效果;所述参数X为在所述时间周期内需要发送的TS包数量。
具体地,如图7所示,所述使能信号产生模块30,还包括:
第一计数器CNT1,用于根据所述系统时钟的个数M,在0~M-1范围内进行计数,并且,当所述第一计数器CNT1计数至数值M-1时,产生一个全局同步信号SYNC;
第二计数器CNT2,用于对所述整数个系统时钟周期的值N进行计数;
第三计数器CNT3,用于对所述小数个系统时钟周期的值Y进行计数;
清零模块301,用于根据所述全局同步信号SYNC,对所述第二计数器CNT2和所述第三计数器CNT3进行清零,并将用于表征所述第三计数器CNT3是否进位的标识信号Carry进行清零;
归位模块302,用于在所述第二计数器CNT2计数至所述整数个系统时钟周期的值N时,根据所述标识信号Carry的值对所述第二计数器CNT2进行归位:当所述标识信号Carry为零时,所述第二计数器CNT2归位为1;当所述标识信号Carry为1时,所述第二计数器CNT2归位为0;并启动归位后的所述第二计数器CNT2继续往上计数;
求余运算模块303,用于在所述第二计数器CNT2计数至所述整数个系统时钟周期的值N时,根据所述第三计数器CNT3的输出值、所述小数个系统时钟周期和系统预设值进行求余运算,并在求余运算中发生进位时,将所述标识信号Carry的值置为1;否则,将所述标识信号Carry的值置为0;
取整运算模块304,用于对所述整数个系统时钟周期的值N的二平分值N/2进行向下取整运算,获得均分值;
信号产生器305,用于在所述第二计数器CNT2计数至所述均分值时产生所述出包使能信号。
参看图8,是本发明提供的分数倍调整TS流码率的装置的数据输出模块的一种实现方式的结构示意图。
在本实施例中,所述数据输出模块40,包括:
缓存模块401,用于将前一级输出的TS包存入内部的缓存空间中;
缓存数目跟踪模块402,用于每当输入一个TS包至所述缓存空间后,将TS包缓存数目标识PNUM进行加一运算;所述TS包缓存数目标识PNUM为当前缓存模块401中所缓存的前一级输入的TS包数目;
控制输出模块403,用于接收所述出包使能信号,并根据所述TS包缓存数目标识PNUM的值,将缓存模块401中的TS包或者预设的空包发送出去,包括:若所述TS包缓存数目标识PNUM的值大于0,则依照TS包存入所述缓存模块401时的先后顺序,将所述缓存模块401中一个TS包发送出去,并将所述TS包缓存数目标识PNUM的值进行减一运算;若所述TS包缓存数目标识PNUM的值等于0,则输出一个预设的TS空包。
需要说明的是,本实施例提供的分数倍调整TS流码率的装置与前文实施例所述的分数倍调整TS流码率的方法的基本工作原理相同,在此不再赘述。
本发明实施例提供的分数倍调整TS流码率技术方案,实现在数字电视领域对TS流传输过程中任意码率的适配调整,通过确定一个为待调整TS流码率与系统时钟的最小公倍数的时间周期,以及该时间周期的系统时钟数目M,通过分数倍速率平滑调整的算法获得每一个TS包的整数个系统时钟周期和归一化的小数个系统时钟周期,由此产生控制TS包输出的出包使能信号,根据所述出包使能信号输出缓存模块中的TS包或者预设的空包。本发明基于TS流输出码率与系统时钟的同步原理,实现通过分数倍速率平滑调整且不会引起码率失配重同步的技术方案,工作稳定、实现简便、占用缓存资源少。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (8)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511032886.9A CN105657480B (zh) 2015-12-31 2015-12-31 一种分数倍调整ts流码率的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511032886.9A CN105657480B (zh) 2015-12-31 2015-12-31 一种分数倍调整ts流码率的方法及装置

Publications (2)

Publication Number Publication Date
CN105657480A CN105657480A (zh) 2016-06-08
CN105657480B true CN105657480B (zh) 2020-07-14

Family

ID=56491050

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511032886.9A Active CN105657480B (zh) 2015-12-31 2015-12-31 一种分数倍调整ts流码率的方法及装置

Country Status (1)

Country Link
CN (1) CN105657480B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109283864B (zh) * 2017-07-21 2020-05-05 北京智云芯科技有限公司 一种数据采样的时间同步、校准方法和系统
CN112671563B (zh) * 2020-12-15 2023-06-20 苏州盛科通信股份有限公司 一种提高匀速发包周期精度的方法、装置和系统
CN113132766B (zh) * 2021-03-17 2023-05-23 杭州当虹科技股份有限公司 一种ts封装格式的vbr发送方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231907A (zh) * 2011-06-27 2011-11-02 中兴通讯股份有限公司 传输系统中的时钟同步方法和装置
CN102547255A (zh) * 2012-02-29 2012-07-04 北京瀚景锦河科技有限公司 Asi信号发送的方法和装置
US8442076B1 (en) * 2009-09-30 2013-05-14 Rf Micro Devices, Inc. Precise timing control of TD-SCDMA via an asynchronous serial interface
CN104937946A (zh) * 2013-01-25 2015-09-23 索尼公司 信号处理装置、信号处理方法及程序

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8442076B1 (en) * 2009-09-30 2013-05-14 Rf Micro Devices, Inc. Precise timing control of TD-SCDMA via an asynchronous serial interface
CN102231907A (zh) * 2011-06-27 2011-11-02 中兴通讯股份有限公司 传输系统中的时钟同步方法和装置
CN102547255A (zh) * 2012-02-29 2012-07-04 北京瀚景锦河科技有限公司 Asi信号发送的方法和装置
CN104937946A (zh) * 2013-01-25 2015-09-23 索尼公司 信号处理装置、信号处理方法及程序

Also Published As

Publication number Publication date
CN105657480A (zh) 2016-06-08

Similar Documents

Publication Publication Date Title
CN105657480B (zh) 一种分数倍调整ts流码率的方法及装置
CN1496072A (zh) 自适应时钟恢复
CN105656800A (zh) 一种传输报文的方法及装置
KR20040031523A (ko) 디지털 방송 송신 시스템에서의 널 패킷 삽입 방법 및 그장치
CN104902017A (zh) 一种支持QoS的多屏同步显示的远程互动方法
CN103002354A (zh) 一种消除视频数据传输网络抖动的方法及系统
CN105656616A (zh) 多设备间数据同步的方法、装置、发送端及接收端
CN108668144B (zh) 一种数据流控方法、装置及设备
CN101431602B (zh) 信号处理设备
US20070291856A1 (en) Clock regeneration system and method for wireless media content delivery systems
CN110012324A (zh) 一种嵌入式无线视频传输的码率自适应方法及系统
TWI497950B (zh) 網路傳輸裝置及其頻寬管理方法
CN105554517A (zh) 一种视频流发送方法及装置
CN107733796B (zh) 一种择优路径计算方法及系统
CN109413371A (zh) 视频帧率计算方法及装置
CN105681864B (zh) 一种基于ip的传输流抖动去除方法及装置
CN104509121B (zh) 内容供应设备、内容供应方法、程序、终端设备和内容供应系统
CN112714081B (zh) 一种数据处理方法及其装置
CN108495177A (zh) 一种音频变速处理方法及装置
JP2009284033A (ja) 基地局装置及び方法
CN110838982A (zh) 网络流表参数的调整方法及装置
WO2020056927A1 (zh) 基于状态机自适应控制的低时延gmp映射方法及系统
JP2017139521A (ja) ストリーム配信装置、ストリーム受信装置、ストリーム配信システム、ストリーム配信方法、及びストリーム配信プログラム
WO2017070930A1 (zh) 一种时钟同步方法、接收器、发送器和系统
CN106230748A (zh) 一种数据包发送、接收方法及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 516025 No. 1, Shunchang Road, Huinan Industrial Park, Kaixin high tech Zone, Huizhou City, Guangdong Province

Patentee after: WELLAV TECHNOLOGIES Ltd.

Address before: 516006 Huitai Industrial Zone 63, Zhongkai High-tech Zone, Huizhou City, Guangdong Province

Patentee before: HUIZHOU WELLAV TECHNOLOGIES Co.,Ltd.

CP03 Change of name, title or address