CN105657480A - 一种分数倍调整ts流码率的方法及装置 - Google Patents
一种分数倍调整ts流码率的方法及装置 Download PDFInfo
- Publication number
- CN105657480A CN105657480A CN201511032886.9A CN201511032886A CN105657480A CN 105657480 A CN105657480 A CN 105657480A CN 201511032886 A CN201511032886 A CN 201511032886A CN 105657480 A CN105657480 A CN 105657480A
- Authority
- CN
- China
- Prior art keywords
- bag
- system clock
- value
- clock cycle
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronization 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流(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,在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可以通过向下取整运算获得,例如,可以通过下式计算:
其中,符号表示向下取整。
而第三个时间计数量K是根据小数个系统时钟周期数Y计算归一化小数个系统时钟周期数。具体地,可以将对应的输出码率每出一个TS包需要计时的小数个时钟周期Y进行归一化到某个整数比特所表征的数字范围(例如16比特),并使之均匀分布到整个T周期内,则Y的归一化表征量为:
K=Floor(0.Y*(2^16-1))(5)
具体地,当Y为8时,可以计算出其中,符号和“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)mod65536(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 (10)
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,则输出一个预设的TS空包。
6.一种分数倍调整TS流码率的装置,其特征在于,包括:
系统时钟计算模块,用于确定一个为待调整TS流码率与系统时钟的最小公倍数的时间周期;所述时间周期包括M个系统时钟;M为正整数;
时钟调整模块,用于根据所述系统时钟以及在所述时间周期内需要发送的TS包数量,计算出待配置码率的每一个TS包的整数个系统时钟周期和归一化的小数个系统时钟周期;
使能信号产生模块,用于根据所述系统时钟、所述整数个系统时钟周期和所述小数个系统时钟周期,平滑计算出每一个TS包的出包使能信号;
数据输出模块,用于根据所述出包使能信号输出缓存模块中的TS包或者预设的空包。
7.如权利要求6所述分数倍调整TS流码率的装置,其特征在于,所述时钟调整模块,包括:
除法器,用于将所述时间周期内的系统时钟数目与在所述时间周期内需要发送的TS包数量进行除法运算,获得商的整数部分和小数部分;
整数时钟计算模块,用于将所述除法运算获得的商的整数部分设置为所述整数个系统时钟周期;
小数时钟计算模块,用于将所述除法运算获得的商的小数部分进行归一化处理,并将归一化后的小数部分设置为所述小数个系统时钟周期。
8.如权利要求7所述分数倍调整TS流码率的装置,其特征在于,所述使能信号产生模块,包括:
平滑模块,用于将待调整TS流码率与系统时钟的最小公倍数的时间周期内每一个TS包的发包间隔小数个系统时钟周期的累积效应平均分配在X个TS包的间隔中,以获得平滑效果;所述参数X为在所述时间周期内需要发送的TS包数量。
9.如权利要求8所述分数倍调整TS流码率的装置,其特征在于,所述使能信号产生模块,还包括:
第一计数器,用于根据所述系统时钟的个数M,在0~M-1范围内进行计数,并且,当所述第一计数器计数至数值M-1时,产生一个全局同步信号;
第二计数器,用于对所述整数个系统时钟周期的值N进行计数;
第三计数器,用于对所述小数个系统时钟周期的值Y进行计数;
清零模块,用于根据所述全局同步信号,对所述第二计数器和所述第三计数器进行清零,并将用于表征所述第三计数器是否进位的标识信号进行清零;
归位模块,用于在所述第二计数器计数至所述整数个系统时钟周期的值N时,根据所述标识信号的值对所述第二计数器进行归位:当所述标识信号为零时,所述第二计数器归位为1;当所述标识信号为1时,所述第二计数器归位为0;并启动归位后的所述第二计数器继续往上计数;
求余运算模块,用于在所述第二计数器计数至所述整数个系统时钟周期的值N时,根据所述第三计数器的输出值、所述小数个系统时钟周期和系统预设值进行求余运算,并在求余运算中发生进位时,将所述标识信号的值置为1;否则,将所述标识信号的值置为0;
取整运算模块,用于对所述整数个系统时钟周期的值N的二平分值N/2进行向下取整运算,获得均分值;
信号产生器,用于在所述第二计数器计数至所述均分值时产生所述出包使能信号。
10.如权利要求6~9任一项所述分数倍调整TS流码率的装置,其特征在于,所述数据输出模块,包括:
缓存模块,用于将前一级输出的TS包存入内部的缓存空间中;
缓存数目跟踪模块,用于每当输入一个TS包至所述缓存空间后,将TS包缓存数目标识进行加一运算;所述TS包缓存数目标识为当前缓存模块中所缓存的前一级输入的TS包数目;
控制输出模块,用于接收所述出包使能信号,并根据所述TS包缓存数目标识的值,将缓存模块中的TS包或者预设的空包发送出去,包括:若所述TS包缓存数目标识的值大于0,则依照TS包存入所述缓存模块时的先后顺序,将所述缓存模块中一个TS包发送出去,并将所述TS包缓存数目标识的值进行减一运算;若所述TS包缓存数目标识的值等于0,则输出一个预设的TS空包。
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 true CN105657480A (zh) | 2016-06-08 |
CN105657480B 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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109283864A (zh) * | 2017-07-21 | 2019-01-29 | 北京智云芯科技有限公司 | 一种数据采样的时间同步、校准方法和系统 |
CN112671563A (zh) * | 2020-12-15 | 2021-04-16 | 盛科网络(苏州)有限公司 | 一种提高匀速发包周期精度的方法、装置和系统 |
CN113132766A (zh) * | 2021-03-17 | 2021-07-16 | 杭州当虹科技股份有限公司 | 一种ts封装格式的vbr发送方法 |
Citations (4)
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 | 索尼公司 | 信号处理装置、信号处理方法及程序 |
-
2015
- 2015-12-31 CN CN201511032886.9A patent/CN105657480B/zh active Active
Patent Citations (4)
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 | 索尼公司 | 信号处理装置、信号处理方法及程序 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109283864A (zh) * | 2017-07-21 | 2019-01-29 | 北京智云芯科技有限公司 | 一种数据采样的时间同步、校准方法和系统 |
CN109283864B (zh) * | 2017-07-21 | 2020-05-05 | 北京智云芯科技有限公司 | 一种数据采样的时间同步、校准方法和系统 |
CN112671563A (zh) * | 2020-12-15 | 2021-04-16 | 盛科网络(苏州)有限公司 | 一种提高匀速发包周期精度的方法、装置和系统 |
CN113132766A (zh) * | 2021-03-17 | 2021-07-16 | 杭州当虹科技股份有限公司 | 一种ts封装格式的vbr发送方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105657480B (zh) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105657480A (zh) | 一种分数倍调整ts流码率的方法及装置 | |
JPH0761055B2 (ja) | データ伝送方法 | |
US8861669B2 (en) | Stream clock recovery in high definition multimedia digital system | |
JP2008148250A (ja) | 送信装置および受信装置 | |
CN107888313A (zh) | 用于异步时钟映射的装置和方法 | |
CN105656616A (zh) | 多设备间数据同步的方法、装置、发送端及接收端 | |
CN106341127B (zh) | 一种视频时钟恢复的方法和装置 | |
JP3169335B2 (ja) | 回線接続装置 | |
US20110193970A1 (en) | Reducing Jitter in a Recovered Data Stream Clock of a Video DisplayPort Receiver | |
TWI386002B (zh) | 重建取樣頻率並據以快速鎖定訊號的方法與裝置 | |
US9729598B2 (en) | Method and a device for signalling transmission time and/or a system clock | |
US20120229180A1 (en) | Method and Device for Generating Low-Jitter Clock | |
WO2018059134A1 (zh) | 光传送网中业务时钟透传系统 | |
US20030076911A1 (en) | Receiver apparatus in stuffing synchronization system | |
CN104185035B (zh) | 一种构建多节目ts流时使各路节目码流均匀分布的方法 | |
JP5461222B2 (ja) | クライアントクロック再生装置およびクライアントクロック再生方法 | |
WO2020056927A1 (zh) | 基于状态机自适应控制的低时延gmp映射方法及系统 | |
US20180248721A1 (en) | Clock Synchronization Method, Receiver, Transmitter, and Clock Synchronization System | |
CA2928965C (en) | Method and device for transmitting data on asynchronous paths between domains with different clock frequencies | |
US8832309B2 (en) | Generating packets with low overhead or selectable sequence number generation | |
EP2950479A1 (en) | Signal processing device, signal processing method, and program | |
JP2014216706A (ja) | 送信装置、受信装置及び再生システム | |
US20140205299A1 (en) | Data frame generation circuit and data frame generation method | |
KR20020028836A (ko) | 디지털 av 신호 처리 장치 | |
RU2005108980A (ru) | Способ и устройство для уменьшения фазовых скачков при переключении источников синхронизации |
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 | ||
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. |