CN106034243A - 一种ts流输出方法及装置 - Google Patents
一种ts流输出方法及装置 Download PDFInfo
- Publication number
- CN106034243A CN106034243A CN201510119442.2A CN201510119442A CN106034243A CN 106034243 A CN106034243 A CN 106034243A CN 201510119442 A CN201510119442 A CN 201510119442A CN 106034243 A CN106034243 A CN 106034243A
- Authority
- CN
- China
- Prior art keywords
- adjustment
- stream
- memory element
- threshold value
- current system
- 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
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明实施例提供一种TS流输出方法及装置,涉及通信技术领域,实现了TS流的均匀输出;本发明提供的方案包括:根据计算当前系统时钟的相位差PE,并根据当前系统时钟的PE、X个TS流写入存储单元的速率R,获取调整信号;若调整信号为高电平,将累计的高电平个数M加1;当M等于存储单元的数据位宽的正整数倍时,从存储单元中读数据位宽位数据作为输出TS流输出。本发明用于数字电视节目传输过程中,接收机向解码器输出TS流。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种TS流输出方法及装置。
背景技术
随着计算机技术、图像压缩技术和网络通信技术的发展,数字电视技术取得了很大的进步。
参见图1,一般的数字电视节目由发送端到接收端的处理过程如下:数字电视发送端通过运动图像专家组(Moving Pictures Experts Group,简称MPEG)2标准对电视节目压缩,将压缩结果组合成188字节长度的传输(Transport Stream,简称TS)流,对压缩后的TS流进行前向纠错码(Forward Error Correction,简称FEC)编码和时间交织,然后将经上述处理的数据包调制到特定的信道上发送;当接收机端接收到经过处理的数据包时,首先对数据进行解调、时间解交织、FEC解码得到TS流,然后接收机中的TS流输出装置将TS流发送给解码器,由解码器对TS流进行MPEG2解码后获得节目原始音频视频信息。
为了应对突发传输错误以及为不同业务提供不同的保护级别,发送端对电视节目采用更长的时间交织以及可变编码调制(variable coding andmodulation,简称VCM)机制,这样,接收机接收到数据包,进行时间解交织后得到的TS流是突发的、不均匀的;若接收机采用固定的输出速率向解码器端发送TS流,将导致接收机的缓存可能会有缺乏数据或数据溢出的风险;当这些突发的不均匀的TS流发送给解码器解码时,会导致解码器端的节目时钟参考(Program Clock Reference,简称PCR)抖动,或者引起解码器的缓存出现缺乏数据或数据溢出的风险。
为了解决上述问题,目前采用的方案是:接收机端首先对TS流进行解调以及帧结构解析获得净数据量,计算出一段时长内净数据量的传输速率,将该传输速率作为接收机向解码器端发送TS流的输出速率。
因为在整个时间轴上的TS流是不均匀的,因此通过上述方法计算得出的一段时长内的净数据量的传输速率也可能是不均匀的,该输出速率与发送端的实际发送速率(均匀的)存在一定的偏差,进一步,当TS流的帧结构较为复杂,或者偏差累计时,通过上述方法计算得出的输出速率与发送端的实际发送速率的偏差更大,由于发送端发送速率是均匀的,当输出速率与发送端的发送速率存在较大偏差时,则输出速率为突发的,不均匀的,即以该输出速率传输的TS流仍为不均匀的TS流。
发明内容
本发明的实施例提供一种TS流输出方法及装置,实现了TS流的均匀输出。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种TS流输出方法,应用于TS流输出装置,所述方法包括:
计算当前系统时钟的相位差PE,所述PE是根据所述TS流输出装置中的存储单元的当前占用率P计算获取的;
根据所述当前系统时钟的PE和X个TS流写入所述存储单元的速率R,获取调整信号;其中,所述调整信号为高电平或低电平;所述X大于或等于1;
若所述调整信号为高电平,将累计的高电平个数M加1;
当所述M等于所述存储单元的数据位宽的正整数倍时,从所述存储单元中读取所述数据位宽位的数据,并且将读取的所述数据位宽位的数据作为输出TS流输出
结合第一方面,在第一方面的第一种可能的实现方式中,
所述计算当前时钟的相位差之前,所述方法还包括:
设置至少一个调整门限值,根据所述至少一个调整门限值将所述存储单元的占用率的取值范围划分为至少两个调整区域;
将所述至少两个调整区域中每个调整区域设置调整系数,所述调整系数用于指示当所述P位于所述每个调整区域时对TS流输出速率的调整幅度;
所述计算当前系统时钟的相位差包括:
根据所述P与所述至少一个调整门限值的大小关系,以及所述P所处的由所述至少一个调整门限值划分的调整区域的调整系数,计算获取所述当前系统时钟的PE。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,
所述根据所述P与至少一个调整门限值的关系,以及所述P所处的由所述至少一个调整门限值划分的调整区域的调整系数,计算获取所述当前系统时钟的PE,包括:
若所述P位于第一调整区域,则所述当前系统时钟的PE=(P-C)×X1;其中,所述第一调整区域为所述至少两个调整区域中调整系数最小的区域;所述C为预设调整基准值,所述C大于或等于划分所述第一调整区域的两个调整门限值中取值小的调整门限值,且小于或等于划分所述第一调整区域的两个调整门限值中取值大的调整门限值;所述X1为所述第一调整区域的调整系数;
若所述P位于第二调整区域,则所述当前系统时钟的PE=(P-C)×X1+(P-A)×X2;其中,所述第二调整区域为所述至少两个调整区域中除所述第一调整区域之外的任意一个调整区域;所述A为划分所述第二调整区域的两个调整门限值中接近所述C的值;所述X2为所述第二调整区域的调整系数。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,
所述根据所述当前系统时钟的PE、X个TS流写入所述存储单元的速率R,获取调整信号,包括:
根据从所述存储单元的占用率首次大于或等于预设阈值的系统时钟到所述当前系统时钟内,每一个系统时钟的相位差、所述R、第一系数K1、第二系数K2、所述当前系统时钟的前一个系统时钟的基数值B,获取所述当前系统时钟的预判值 其中,所述B小于1;所述PEi为从所述存储单元的占用率首次大于或等于预设阈值起第i个系统时钟的相位差;所述PEs为所述当前系统时钟的前一个系统时钟的相位差;所述预设阈值为预设的从所述存储单元中开始读取数据输出的所述存储单元的占用率的门限值;
根据所述J与1的关系,确定所述调整信号;若所述J大于或等于1,所述调整信号为高电平;若所述J小于1,所述调整信号为低电平。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,
所述根据从所述存储单元的占用率首次大于或等于预设阈值的系统时钟到所述当前系统时钟内,每一个系统时钟的相位差、所述R、第一系数K1、第二系数K2、所述当前系统时钟的前一个系统时钟的基数值B,获取所述当前系统时钟的预判值J之后,所述方法还包括:
获取所述当前系统时钟的基数值;其中,若所述J大于或等于1,所述当前系统时钟的基数值为所述J减去1;若所述J小于1,所述当前系统时钟的基数值为所述J。
结合第一方面或第一方面的第一种可能的实现方式至第一方面的第四种可能的实现方式中任一项,在第一方面的第五种可能的实现方式中,
在所述根据所述当前系统时钟的PE和X个TS流写入所述存储单元的速率R,获取调整信号之后,所述方法还包括:
若所述调整信号为低电平,则在当前系统时钟内不进行TS流输出。
结合第一方面或第一方面的第一种可能的实现方式至第一方面的第五种可能的实现方式中任一项,在第一方面的第六种可能的实现方式中,
在所述根据所述当前系统时钟的相位差PE、X个TS流写入所述存储单元的速率R,获取调整信号之前,所述方法还包括:
统计所述X个TS流写入所述存储单元的速率R。
结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,
所述统计所述X个TS流写入所述存储单元的速率R,包括:
统计所述X个TS流写入所述存储单元所用的时间;
将所述X个TS流的数据总量除以所述所用的时间,得到所述R;
或者,
统计所述X个TS流写入所述存储单元所用的系统时钟周期个数N;
将所述X个TS流的数据总量除以所述N,得到所述R。
结合第一方面的第一种可能的实现方式至第一方面的第七种可能的实现方式中任一项,在第一方面的第八种可能的实现方式中,
在所述从所述存储单元中读所述数据位宽位数据作为输出TS流输出之后,所述方法还包括:
将所述M置为零。
结合第一方面或第一方面的第一种可能的实现方式至第一方面的第八种可能的实现方式中的任一项,在第一方面的第九种可能的实现方式中,
在第一次执行所述根据所述当前系统时钟的相位差PE、X个TS流写入所述存储单元的速率R,获取调整信号之前,所述方法还包括:
判断所述P是否大于或等于所述预设阈值;
若所述P大于或等于所述预设阈值,执行所述根据所述当前系统时钟的相位差PE、所述R,获取调整信号。
结合第一方面的第一种可能的实现方式至第一方面的第九种可能的实现方式中的任一项,在第一方面的第十种可能的实现方式中,
在所述根据所述TS流输出装置中存储单元的占用率的当前值P,获取相位差PE之前,所述方法还包括:
接收发送端发送的TS流;
将所述接收的TS流写入所述存储单元
第二方面,提供一种TS流输出装置,所述装置包括:
存储单元,用于存储TS流;
数字锁相环单元,用于计算当前系统时钟的相位差PE,所述PE是根据所述TS流输出装置中的存储单元的当前占用率P计算获取的;
所述数字锁相环单元还用于,根据所述当前系统时钟的PE、X个TS流写入所述存储单元的速率R,获取调整信号,并向输出控制单元发送所述调整信号;其中,所述调整信号为高电平或低电平;所述X大于或等于1;
所述输出控制单元,用于若接收到所述数字锁相环单元发送的所述调整信号为高电平,将累计的高电平个数M加1;
所述输出控制单元还用于,当所述M等于所述存储单元的数据位宽的正整数倍时,向所述存取控制单元发送读数据信号;
所述存取控制单元,用于当接收到所述输出控制单元发送的读数据信号,从所述存储单元中读取所述数据位宽位的数据,并且将读取的所述数据位宽位的数据作为输出TS流输出。
结合第二方面,在第二方面的第一种可能的实现方式中,
所述数字锁相环单元具体用于:
设置至少一个调整门限值,根据所述至少一个调整门限值将所述存储单元的占用率的取值范围划分为至少两个调整区域;
将所述至少两个调整区域中每个调整区域设置调整系数,所述调整系数用于指示当所述P位于所述每个调整区域时对TS流输出速率的调整幅度;
所述数字锁相环单元包括:
相位差计算模块,用于根据所述P与所述至少一个调整门限值的大小关系,以及所述P所处的由所述至少一个调整门限值划分的调整区域的调整系数,计算获取所述当前系统时钟的PE,向调整信号获取模块发送所述PE;
所述调整信号获取模块,用于根据所述PE、所述R,获取调整信号,并向所述输出控制单元发送所述调整信号。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,
所述相位差计算模块具体用于:
若所述P位于第一调整区域,则所述当前系统时钟的PE=(P-C)×X1;其中,所述第一调整区域为至少两个调整区域中调整系数最小的区域;所述C为预设调整基准值,所述C大于或等于划分所述第一调整区域的两个调整门限值中取值小的调整门限值,且小于或等于划分所述第一调整区域的两个调整门限值中取值大的调整门限值;所述X1为所述第一调整区域的调整系数;
若所述P位于第二调整区域,则所述相位差为PE=(P-C)×X1+(P-A)×X2;其中,所述第二调整区域为所述至少两个调整区域中除所述第一调整区域之外的任意一个调整区域;所述A为划分所述第二调整区域的两个调整门限值中接近所述C的值;所述X2为所述第二调整区域的调整系数。
结合第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,
所述调整信号获取模块具体用于:
根据从所述存储单元的占用率首次大于或等于预设阈值的系统时钟到所述当前系统时钟内,每一个系统时钟的相位差、所述R、第一系数K1、第二系数K2、所述当前系统时钟的前一个系统时钟的基数值B,获取所述当前系统时钟的预判值 其中,所述B小于1;所述PEi为从所述存储单元的占用率首次大于或等于预设阈值起第i个系统时钟的相位差;所述PEs为所述当前系统时钟的前一个系统时钟的相位差;所述预设阈值为预设的从所述存储单元中开始读取数据输出的所述存储单元的占用率的门限值;
根据所述J与1的关系,确定所述调整信号;若所述J大于或等于1,所述调整信号为高电平;若所述J小于1,所述调整信号为低电平。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,
所述调整信号获取模块还用于:
获取所述当前系统时钟的基数值;其中,若所述J大于或等于1,所述当前系统时钟的基数值为所述J减去1;若所述J小于1,所述当前系统时钟的基数值为所述J。
结合第二方面或第二方面的第一种可能的实现方式至第二方面的第四种可能的实现方式中任一项,在第二方面的第五种可能的实现方式中,
所述输出控制单元还用于:
若接收到所述数字锁相环单元发送的所述调整信号为低电平,则不进行操作,等待下一个调整信号。
结合第二方面或第二方面的第一种可能的实现方式至第二方面的第五种可能的实现方式中任一项,在第二方面的第六种可能的实现方式中,
所述装置还包括:
速率统计单元,用于统计所述X个TS流写入所述存储单元的速率R,向所述调整信号获取模块发送所述R。
结合第二方面的第六种可能的实现方式,在第二方面的第七种可能的实现方式中,
所述速率统计单元具体用于:
统计所述X个TS流写入所述存储单元所用的时间;
将所述X个TS流的数据总量除以所述所用的时间,得到所述R;
或者,
统计所述X个TS流写入所述存储单元所用的系统时钟周期个数N;
将所述X个TS流的数据总量除以所述N,得到所述R。
结合第二方面或第二方面的第一种可能的实现方式至第二方面的第七种可能的实现方式中任一项,在第二方面的第八种可能的实现方式中,
所述输出控制单元还用于:
将所述M置为零。
结合第二方面或第二方面的第一种可能的实现方式至第二方面的第八种可能的实现方式中任一项,在第二方面的第九种可能的实现方式中,
所述输出控制单元还用于:
判断所述P是否大于或等于所述预设阈值;
若所述P大于或等于所述预设阈值,向所述数字锁相环单元发送第一指示信息,用于指示所述数字锁相环单元根据所述PE、所述R,获取调整信号;
若所述P大于或等于所述预设阈值,向所述存取控制单元发送第二指示信息,用于指示所述存取控制单元终止向所述输出控制单元发送所述P;
所述数字锁相环单元还用于,接收所述输出控制单元发送的所述第一指示信息,根据所述PE、所述R,获取调整信号;
所述存取控制单元还用于,接收所述输出控制单元发送的所述第二指示信息,终止向所述输出控制单元发送所述P。
结合第二方面或第二方面的第一种可能的实现方式至第二方面的第九种可能的实现方式中任一项,在第二方面的第十种可能的实现方式中,
所述存取控制单元还用于:
接收发送端发送的TS流;
将所述接收的TS流写入所述存储单元。
本发明实施例提供一种TS流输出方法及装置,根据当前系统时钟的相位差PE、X个TS流写入存储单元的速率R,获取调整信号;若调整信号为高电平,将累计的高电平个数M加1;当M等于存储单元的数据位宽的正整数倍时,从存储单元中读数据位宽位数据作为输出TS流输出。由于相位差PE是根据所述存储单元的当前占用率P与至少一个调整门限值的大小关系,以及所述P所处的由所述调整门限值划分的调整区域的调整系数计算获取,所以相位差PE从存储单元的当前占用率的角度体现了对TS流的输出速率的调整幅度,而调整信号根据相位差PE以及X个TS流写入存储单元的速率R生成,因此,调整信号是根据存储单元的当前占用率生成;这样,只有当存储单元的占用率高于预设阈值时,调整信号为高电平以增加TS流的输出速率,从而在M等于存储单元的数据位宽的正整数倍时,从存储单元中读数据位宽位数据作为输出TS流输出,可以达到保证存储单元的占用率稳定的目的;由于写入存储单元的TS流的传输速率均匀,若TS流的输出速率也均匀的话,存储单元的占用率将是稳定的,因此,由于本发明提供的方案达到了保证存储单元的占用率稳定的目的,使得输出的TS流均匀。
进一步,本发明的方案中TS流的输出参考的是存储单元的当前占用率,与TS流具体调制方式以及帧结构无关,通用性好。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数字电视节目传输的网络架构图;
图2为本发明实施例提供的一种TS流输出方法的流程示意图;
图3为本发明实施例提供的一种TS流输出装置结构示意图;
图4为本发明实施例提供的又一种TS流输出方法的流程示意图;
图5为本发明实施例提供的一种划分调整区域的示意图;
图6为本发明实施例提供的一种TS流输出装置的结构示意图;
图7为本发明实施例提供的再一种TS流输出装置的结构示意图;
图8为本发明实施例提供的一种计算的当前系统时钟的预判值J的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种TS流输出方法,应用于TS流输出装置,如图2所示,该方法可以包括:
S201、TS流输出装置计算当前系统时钟的相位差PE。
其中,所述PE是根据所述TS流输出装置中的存储单元的当前占用率P计算获取的。
优选的,相位差是根据存储单元的当前占用率P与至少一个调整门限值的大小关系,以及P所处的由调整门限值划分的调整区域的调整系数计算获取。
当相位差为正值时,则增加TS流的输出速率,且相位差越大,增加的幅度越大;当相位差为负值时,则降低TS流的输出速率,且相位差越小,降低的幅度越大。
其中,存储单元的当前占用率是指存储单元中当前存储的数据所占的存储单元总的存储空间的比例,其取值范围为0~1。
S202、TS流输出装置根据当前系统时钟的PE、X个TS流写入TS流输出装置中的存储单元的速率R,获取调整信号。
其中,调整信号为高电平或低电平。
可选的,存储单元可以为存储器。
其中,X大于或等于1。
需要说明的是,在实际应用的过程中,还可以根据其他的方法确定X的大小,本发明对此不做具体限定。
可选的,对TS流的个数X的设定可以包括以下两种情况:
情况1、X为统计写入存储单元速率的预设的TS流的个数;
具体的,X的值越大,统计得到的写入存储单元的速率R就越准确,但是系统时延越大;X的值越小,系统的时延就越小,但是统计得到的写入存储单元的速率R就越不准确。
需要说明的是,在实际应用的过程中,可以根据实际需要设定X的大小,本发明对此不做具体限定。
情况2、X为统计写入存储单元速率的预设时长内的TS流的个数;
具体的,预设时长越长,统计得到的写入存储单元的速率R就越准确,但是系统时延越大;预设时长越短,系统的时延就越小,但是统计得到的写入存储单元的速率R就越不准确;
需要说明的是,在实际应用的过程中,可以根据实际需要设定预设时长的长短,本发明对此不做具体限定。
优选的,根据当前系统时钟的PE、X个TS流写入存储单元的速率R,获取调整信号,可以包括下述步骤A和步骤B:
步骤A、根据从存储单元的占用率首次大于或等于预设阈值的系统时钟到当前系统时钟内,每一个系统时钟的相位差、R、第一系数K1、第二系数K2、当前系统时钟的前一个系统时钟的基数值B,获取当前系统时钟的预判值 中,所述B小于1;所述PEi为从所述存储单元的占用率首次大于或等于预设阈值起第i个系统时钟的相位差;所述PEs为所述当前系统时钟的前一个系统时钟的相位差;所述预设阈值为预设的从所述存储单元中开始读取数据输出的所述存储单元的占用率的门限值。
进一步的,一个系统时钟的基数值由该系统时钟的预判值与1的关系确定,若该系统时钟的预判值大于或等于1,该系统时钟的基数值为预判值减去1;若该系统时钟的预判值小于1,该系统时钟的基数值为该系统时钟的预判值。
可选的,K1=2-31、K2=2-16。
需要说明的是,在实际应用的过程中,可以根据实际需要设定K1和K2的大小,本发明对K1和K2的大小不做具体限定。
步骤B、根据所述J与1的关系,确定所述调整信号。
具体的,若所述J大于或等于1,所述调整信号为高电平;若所述J小于1,所述调整信号为低电平。
需要说明的是,上述步骤B仅描述了一种根据所述J与1的关系,生成所述调整信号的具体实现,当然,步骤B还可以有其他实现方式,此处不再赘述。
示例性的,调整信号为高电平时可以采用1表示,调整信号为低电平时可以采用0表示。
需要说明的是,上述步骤A和步骤B仅描述了一种优选的根据当前系统时钟的PE、X个TS流写入存储单元的速率R,获取调整信号的方案,在实际应用中,还可以采用其他方案获取调整信号,本发明对此不进行具体限定。
示例性的,根据当前系统时钟的PE、X个TS流写入存储单元的速率R,获取调整信号还可以包括:将PE与一预设的值(该预设的值可以根据实际需求设定)比较大小,若PE大于或等于该预设的值,则调制信号为高电平,反之则为低电平。
还需要说明的是,本发明的所有实施例中,均以调整信号为高电平时表示增加TS流的输出速率,调整信号为低电平时表示降低TS流的输出速率,在实际应用中,也可以根据实际需求确定调整信号的形式,本发明对此不进行具体限定,凡是根据调整信号调制TS流的输出速率的方案都属于本发明的保护范围。
S203、若调整信号为高电平,TS流输出装置将累计的高电平个数M加1。
可选的,可以是TS流输出装置中的计数器对M进行累加。
进一步的,若所述调整信号为低电平,则在当前系统时钟内不进行TS流输出。
S204、若M等于存储单元的数据位宽的正整数倍,TS流输出装置从存储单元中读取数据位宽位的数据,并且将读取的所述数据位宽位的数据作为输出TS流输出。
其中,存储单元的数据位宽是一个系统时钟周期内传送数据的位数。
TS流输出装置从存储单元中读一次TS流输出,可以读取得到存储单元的数据位宽位的数据。
示例性的,以存储单元为存储器为例说明;假设存储器的数据位宽16比特,TS流输出装置从该存储器中读一次数据,可以读取得到16比特数据。
需要说明的是,不同类型的存储单元的数据位宽可能不同,在实际应用的过程中,可以根据实际需要选择不同数据位宽的存储单元,本发明对此不做具体限定。
本发明实施例提供一种TS流输出方法,根据当前系统时钟的相位差PE、X个TS流写入存储单元的速率R,获取调整信号;若调整信号为高电平,将累计的高电平个数M加1;当M等于存储单元的数据位宽的正整数倍时,从存储单元中读数据位宽位数据作为输出TS流输出。由于相位差是根据所述存储单元的当前占用率P与至少一个调整门限值的大小关系,以及所述P所处的由所述调整门限值划分的调整区域的调整系数计算获取,所以相位差PE是从存储单元的当前占用率的角度体现了对TS流的输出速率的调整幅度,而调整信号根据相位差PE以及X个TS流写入存储单元的速率R生成,因此,调整信号是根据存储单元的当前占用率生成;这样,只有当存储单元的占用率高于预设阈值时,调整信号为高电平以增加TS流的输出速率,从而在M等于存储单元的数据位宽的正整数倍时,从存储单元中读数据位宽位数据作为输出TS流输出,可以达到保证存储单元的占用率稳定的目的;由于写入存储单元的TS流的传输速率均匀,若TS流的输出速率也均匀的话,存储单元的占用率将是稳定的,因此,由于本发明提供的方案达到了保证存储单元的占用率稳定的目的,使得输出的TS流均匀。
进一步的,本发明的方案中TS流的输出参考的是存储单元的当前占用率,与TS流具体调制方式以及帧结构无关,通用性好。
实施例二
本发明实施例二提供另一种TS流输出方法,应用于TS流输出装置,对图2所示的TS流输出方法进行详细描述;如图3所述,TS流输出装置可以包括速率统计模块、存取控制模块、存储单元、数字锁相环模块、输出控制模块。
如图4所示,该方法可以包括:
S401、存取控制模块接收TS流。
S402、存取控制模块将TS流写入存储单元。
可选的,存取控制模块将TS流以串行比特的形式写入存储单元。
S403、速率统计模块统计X个TS流写入存储单元的速率R,并将R发送给数字锁相环模块。
需要说明的是,存取控制模块每接收到X个TS流,速率统计模块就统计该X个TS流的传输速率,并将该X个TS流的传输速率发送给数字锁相环模块。
可选的,X可以为预设的统计写入存储单元速率的TS流的个数,也可以为预设时长内的统计写入存储单元速率的TS流的个数。
根据上述对X的设定的不同,速率统计模块统计X个TS流写入存储单元的速率R可以包括以下两种情况:
情况1、X为预设的统计写入存储单元速率的TS流的个数。
可选的,X个TS流写入存储单元的速率R可以是每秒钟写入存储单元中数据量,也可以是每系统时钟写入存储单元的数据量。
具体的,根据对X个TS流写入存储单元的速率R的定义的不同,统计X个TS流写入存储单元的速率R可以通过以下两种方式实现:
方式1、X个TS流写入存储单元的速率R是每秒钟写入存储单元中数据量。
在方式1中,可以通过下述步骤a和步骤b统计获取R:
步骤a、统计X个TS流写入存储单元所用的时间;
步骤b、将X个TS流的数据总量除以所用的时间,得到R。
示例性的,假设X为1024,假设每个TS流的大小为1504比特,则该1024个TS流的总数据量为1540096比特,该1024个TS流写入存储单元所用的时间为7333.79微秒,则该1024个TS流写入存储单元的速率R为1540096比特除以7333.79微秒,即速率R为21Mbit/s。
方式2、X个TS流写入存储单元的速率R是每系统时钟写入存储单元的数据量。
在方式2中,可以通过下述步骤a和步骤b统计获取R:
步骤a、统计X个TS流写入存储单元所用的系统时钟周期个数N;
步骤b、将X个TS流的数据总量除以N,得到R。
示例性的,假设X为1024,假设每个TS流的大小为1504比特,则该1024个TS流的总数据量为1540096比特,该1024个TS流写入存储单元所用的系统时钟周期个数N为7333790,则该1024个TS流写入存储单元的速率R为1540096/7333790,即速率R为每系统时钟0.21比特。
情况2、X为预设时长内的统计写入存储单元速率的TS流的个数。
需要说明的是,情况2和情况1类似,根据对X个TS流写入存储单元的速率R的定义的不同,统计X个TS流写入存储单元的速率R可以通过以下两种方式实现:
方式1、X个TS流写入存储单元的速率R是每秒钟写入存储单元中数据量。
在方式1中,可以通过下述步骤a和步骤b统计获取R:
步骤a、统计预设时长内的TS流的个数X;
步骤b、将X个TS流的数据总量除以预设时长,得到R。
方式2、X个TS流写入存储单元的速率R是每系统时钟写入存储单元的数据量。
在方式2中,可以通过下述步骤a和步骤b统计获取R:
步骤a、统计预设时长内的TS流的个数X;
步骤b、将X个TS流的数据总量除以预设时长内的时钟周期的个数,得到R。
S404、在预设时刻,存取控制模块将存储单元内的数据量除以存储单元的总存储空间得到存储单元的当前占用率P,并将P发送给数字锁相环模块。
其中,预设时刻可以是周期性的,也可以是预设的时间点。
需要说明的是,在实际应用的过程中,可以根据实际需要对预设时刻进行设定。
示例性的,可以根据存储单元的读数据地址所读出的数据量与存储单元的写数据地址所写入的数据量计算出存储单元内的当前数据量,然后用存储单元内的当前数据量除以存储单元的总存储空间得到存储单元的当前占用率。
需要说明的是,获取存储单元的数据量的过程可以根据实际需求选择,本发明对此不进行具体限定。
示例性的,存储单元内的数据量为446693比特,若存储单元的总存储空间为2097152比特,则存储单元的当前占用率P=446693/2097152=0.21。
S405、数字锁相环模块根据P及R,获取系统当前时钟的PE。
其中,P为S404中存取控制模块计算发送的。
可选的,数字锁相环模块可以在每一个系统时钟获取一次PE。
相位差是根据存储单元的当前占用率P与至少一个调整门限值的大小关系,以及P所处的由调整门限值划分的调整区域的调整系数计算获取。
存储单元的占用率的范围内(0~1),执行S405之前,所述方法还可以包括:
设置至少一个调整门限值,根据设置的至少一个调整门限值将存储单元的占用率的取值范围(0~1)划分为至少两个调整区域。
需要说明的是,调整门限值的具体取值,可以根据实际需求设定,本发明对此不进行具体限定。
将至少两个调整区域中每个调整区域设置调整系数,所述调整系数用于指示当P位于每个调整区域时对TS流输出速率的调整幅度。调整系数越大,对TS流的输出速率的调整幅度越大,调整系数越小,对TS流的输出速率的调整幅度越小。
可选的,每个调整区域都对应一个调整系数,不同调整区域的调整系数可以相同,也可以不相同。
具体的,从第一调整区域(第一调整区域为至少两个调整区域中调整系数最小的调整区域)开始,调整区域的位置越接近两端(0或1),调整区域对应的调整系数依次递增。
需要说明的是,在实际应用的过程中,可以根据实际需要设定至少两个调整区域中每一个调整区域的调整系数,本发明对此不做具体限定。
示例性的,如图5所示,假设通过调整门限值0.25、0.4、0.6、0.75划分得到5个调整区域,分别记为快调区1、慢调区1、中心区、慢调区2、快调区2,依次设置调整系数为4、2、1、2、4。
因此,中心区为第一调整区域,中心区的调整系数为1;从中心区开始,调整系数依次递增体现为慢调区1的调整系数为2,快调区1的调整系数为4;从中心区开始,调整系数依次递增体现为慢调区2的调整系数为2,快调区2的调整系数为4。
需要说明的是,在实际应用的过程中,可以根据实际需要设定不同调整区域的调整系数,本发明对此不做具体限定。
根据存储单元的当前占用率P所处调整区域的不同,存取控制模块根据TS流输出装置的存储单元的当前占用率P,获取相位差PE,可以包括以下两种情况:
情况1、P位于第一调整区域。
其中,第一调整区域为至少两个调整区域中调整系数最小的区域。
当P位于第一调整区域时,当前系统时钟的PE=(P-C)×X1;其中,C为预设调整基准值,C大于或等于划分第一调整区域的两个调整门限值中取值小的调整门限值,且小于或等于划分第一调整区域的两个调整门限值中取值大的调整门限值;X1为第一调整区域的调整系数。
可选的,第一调整区域可以为如图5所示的中心区域。
需要说明的是,在实际应用的过程中,可以根据实际需要设定第一调整区域,本发明对第一调整区域的设定不做具体限定。
还需要说明的是,在实际应用的过程中,可以根据实际需要设定预设调整基准值C的大小,本发明对C的大小的设定不做具体限定。
情况2、P位于第二调整区域。
其中,第二调整区域为至少两个调整区域中除第一调整区域之外的任意一个调整区域。
当P位于第一调整区域时,当前系统时钟的相位差PE=(P-C)×X1+(P-A)×X2;其中,A为划分所述第二调整区域的两个调整门限值中接近所述C的值;X2为第二调整区域的调整系数。
示例性的,假设第二调整区域为0.75~0.8,C=0.55,则A为0.75和0.8中与0.55较为接近的一个0.75。
假设第二调整区域为0.3~0.45,C=0.5,则A为0.3和0.45中与0.5较为接近的一个0.45。
需要说明的是,在实际应用的过程中,可以根据实际需要设定X2的大小,本发明对X2的大小不做具体限定。
下面以具体示例说明存储单元的当前占用率P位于不同调整区域中,相位差的计算过程。
示例性的,假设通过4个调整门限值(a1、a2、a3、a4,其中,a1<a2<a3<a4)将存储单元占用率的取值范围0到1划分成了如下5个调整区域:
调整区域1:0~a1,该调整区域的调整系数为x1;
调整区域2:a1~a2,该调整区域的调整系数为x2;
调整区域3:a2~a3,该调整区域的调整系数为x3;
调整区域4:a3~a4,该调整区域的调整系数为x4;
调整区域5:a4~1,该调整区域的调整系数为x5;
假设调整区域3为第一调整区域,且预设调整基准值为C(a2<C<a3);
则当P位于不同的调整区域时,可以通过以下公式计算相位差:
例如,假设a1=0.15、a2=0.3、a3=0.7、a4=0.85,C=0.5,再假设x1=x5=4,x2=x4=2,x3=1;
若P=0.213(大于a1=0.15,且小于a2=0.3),位于调整区域2,则相位差PE=(0.213-0.5)+(0.213-0.3)×2=-0.461;
若P=0.616(大于a2=0.3,且小于a3=0.7),位于调整区域3,则相位差PE=0.616-0.5=0.116;
若P=0.9(大于a4=0.85,且小于1),位于调整区域5,则相位差PE=(0.9-0.5)+(0.9-0.85)×4=0.6。
S406、数字锁相环模块根据当前系统时钟的相位差PE、X个TS流写入存储单元的速率R,获取调整信号,并将调整信号发送给输出控制模块。
其中,调整信号为高电平或低电平。
需要说明的是,R为数字锁相环模块接收到速率统计模块发送的最新X个TS流写入存储单元的速率,在系统运行的过程中,数字锁相环模块会接收到多个R,每当数字锁相环模块接收到新的R,可以采用新的R获取调整信号。
可选的,当数字锁相环模块接收到新的R,可以用新的R覆盖旧的R,也可以将旧的R保存,在实际应用的过程中,可以根据实际需要进行设定,本发明对此不做具体限定。
可选的,数字锁相环模块可以在每一个系统时钟获取一次调整信号,并将调整信号发送给输出控制模块。
具体的,根据PE、X个TS流写入存储单元的速率R,获取调整信号的过程,已经在S201中进行了详细描述,此处不再进行赘述。
进一步的,数字锁相环模块还可以获取当前系统时钟的基数值。
具体的,根据当前系统时钟的预判值J与1的关系,数字锁相环模块获取当前系统时钟的基数值包括:
若前系统时钟的预判值J大于或等于1,当前系统时钟的基数值为当前系统时钟的预判值J减去1。
若前系统时钟的预判值J小于1,当前系统时钟的基数值为当前系统时钟的预判值J。
示例性的,若当前系统时钟的预判值J为1.2(大于1),则当前系统时钟的基数值为J减去1(1.2-1=0.2),即当前系统时钟的基数值为0.2;若当前系统时钟的预判值J为0.3(小于1),则当前系统时钟的基数值为当前系统时钟的预判值J(0.3)。
S407、若调整信号为高电平,输出控制模块将累计的高电平个数M加1。
需要说明的是,累计的高电平个数M的初始值为0。
进一步的,若调整信号为低电平,输出控制模块不进行操作。
S408、当M等于存储单元的数据位宽的正整数倍,输出控制模块向存取控制模块发送读数据信号。
可选的,所述正整数倍可以为1倍。
示例性的,假设存储单元的数据位宽为16位,所述正整数倍为1倍,M的初始化值为0,则每当输出控制模块判断调整信号为高电平时,对M进行加1,每当M=16时,输出控制模块向存取控制模块发送读数据信号。
可选的,若所述正整数为1倍,在S408之后,执行S409和S410。
可选的,若所述正整数为大于1的倍数,在S408之后,直接执行S410。
S409、输出控制模块将M置为零。
S410、存取控制模块从存储单元中读取数据位宽位的数据,并且将读取的所述数据位宽位的数据作为输出TS流输出。
示例性的,假设存储单元的数据位宽为16位,则存取控制模块从存储器中读取16位的,并且将读取的16位数据作为输出TS流输出。
进一步可选的,在S407之前,该方法还可以包括以下步骤:
步骤A、存取控制模块将存储单元的当前占用率P发送给输出控制模块。
步骤B、输出控制模块判断存储单元的当前占用率P是否大于或等于预设阈值。
其中,预设阈值为预设的从存储单元中开始读取数据的P的门限值;
可选的,预设阈值为0.4;
需要说明的是,在实际应用的过程中,可以根据实际需要设置预设阈值,本发明对此不做具体限定。
步骤C、若P大于或等于预设阈值,执行S407。
需要说明的是,上述步骤A~步骤C是在TS流输出装置刚开始工作时,存取控制模块将存储单元的当前占用率P发送给输出控制模块,当输出控制模块判断存储单元的当前占用率P大于或等于预设阈值,则输出控制模块开始进行工作,且输出控制模块一旦开始工作,则会持续进行工作,除非TS流输出装置断电或出现故障,即上述步骤A~步骤C只在TS流输出装置开始工作时,执行一次。
本发明实施例提供一种TS流输出方法,根据当前系统时钟的相位差PE、X个TS流写入存储单元的速率R,获取调整信号;若调整信号为高电平,将累计的高电平个数M加1;当M等于存储单元的数据位宽的正整数倍时,从存储单元中读数据位宽位数据作为输出TS流输出。由于相位差是根据所述存储单元的当前占用率P与至少一个调整门限值的大小关系,以及所述P所处的由所述调整门限值划分的调整区域的调整系数计算获取,所以相位差PE是从存储单元的当前占用率的角度体现了对TS流的输出速率的调整幅度,而调整信号根据相位差PE以及X个TS流写入存储单元的速率R生成,因此,调整信号是根据存储单元的当前占用率生成;这样,只有当存储单元的占用率高于预设阈值时,调整信号为高电平以增加TS流的输出速率,从而在M等于存储单元的数据位宽的正整数倍时,从存储单元中读数据位宽位数据作为输出TS流输出,可以达到保证存储单元的占用率稳定的目的;由于写入存储单元的TS流的传输速率均匀,若TS流的输出速率也均匀的话,存储单元的占用率将是稳定的,因此,由于本发明提供的方案达到了保证存储单元的占用率稳定的目的,使得输出的TS流均匀。
进一步的,本发明的方案中TS流的输出参考的是存储单元的当前占用率,与TS流具体调制方式以及帧结构无关,通用性好。
实施例三
本发明实施例三提供一种TS流输出装置60,TS流输出装置60可以为TS流传输中接收机的部分或全部。如图6所示,TS流输出装置60可以包括:
存储单元601,用于存储TS流;
数字锁相环单元602,可以用于计算当前系统时钟的相位差PE,所述PE是根据所述TS流输出装置中的存储单元的当前占用率P计算获取的;
所述数字锁相环单元602还用于,根据当前系统时钟的PE、X个TS流写入存储单元601的速率R,获取调整信号,并向输出控制单元603发送调整信号;其中,调整信号为高电平或低电平;X大于或等于1;
输出控制单元603,可以用于若接收到数字锁相环单元602发送的调整信号为高电平,将累计的高电平个数M加1;
输出控制单元603还可以用于,当M等于存储单元601的数据位宽的正整数倍时,向存取控制单元604发送读数据信号;
存取控制单元604,可以用于当接收到输出控制单元603发送的读数据信号,从存储单元601中读取数据位宽位的数据,并且将读取的所述数据位宽位的数据作为输出TS流输出。
进一步的,所述数字锁相环单元602具体用于:设置至少一个调整门限值,根据所述至少一个调整门限值将所述存储单元的占用率的取值范围划分为至少两个调整区域;
将所述至少两个调整区域中每个所述调整区域设置调整系数,所述调整系数用于指示当所述P位于每个调整区域时对TS流输出速率的调整幅度。
进一步的,如图7所示,数字锁相环单元602可以包括:
相位差计算模块6021,可以用于根据存储单元601的当前占用率P与至少一个调整门限值的大小关系,以及所述P所处的由所述调整门限值划分的调整区域的调整系数,计算获取所述当前系统时钟的PE,向调整信号获取模块6022发送PE;
调整信号获取模块6022,可以用于根据PE、R,获取调整信号,并向输出控制单元603发送调整信号。
具体的,相位差计算模块6021具体可以用于:
若P位于第一调整区域,则当前系统时钟的PE=(P-C)×X1;其中,第一调整区域为至少两个调整区域中调整系数最小的区域;C为预设调整基准值,C大于或等于划分所述第一调整区域的两个调整门限值中取值小的调整门限值,且小于或等于划分所述第一调整区域的两个调整门限值中取值大的调整门限值;所述X1为所述第一调整区域的调整系数;
若P位于第二调整区域,则相位差为PE=(P-C)×X1+(P-A)×X2;其中,第二调整区域为至少两个调整区域中除第一调整区域之外的任意一个调整区域;所述A为划分所述第二调整区域的两个调整门限值中接近所述C的值;所述X2为所述第二调整区域的调整系数。
具体的,调整信号获取模块6022具体可以用于:
根据从存储单元601的占用率首次大于或等于预设阈值的系统时钟到当前系统时钟内,每一个系统时钟的相位差、R、第一系数K1、第二系数K2、当前系统时钟的前一个系统时钟的基数值B,获取当前系统时钟的预判值
其中,B小于1;PEi为从存储单元601的占用率首次大于或等于预设阈值起第i个系统时钟的相位差;PEs为当前系统时钟的前一个系统时钟的相位差;预设阈值为预设的从存储单元601中开始读取数据输出的存储单元601的占用率的门限值;
根据J与1的关系,确定调整信号;若J大于或等于1,调整信号为高电平;若J小于1,调整信号为低电平。
具体的,调整信号获取模块6022可以包括环路滤波器积分器、控制字、数控振荡器;如图8所示,以当前系统时钟为存储单元的占用率首次大于或等于预设阈值起在第s+1个系统时钟为例,说明计算的预判值J的过程:
步骤A、计算环路滤波器积分器的值;
环路滤波器积分器的值为第s+1个系统时钟的相位差乘以预设系数K1,假设当前系统时钟(第s+1个系统时钟)的相位差为PE,即,K1×Ph;然后累加到环路滤波器积分器在第s个系统时钟内的值;环路滤波器积分器在第s个系统时钟内的值则环路滤波器积分器的值为:
需要说明的是,在环路滤波器积分器未接收到R之前,环路滤波器积分器的值为预设的初始化值;在环路滤波器积分器接收到R之后,且在存储单元的占用率首次大于或等于预设阈值之前,环路滤波器积分器的值为R;
其中,K1为预设的系数,可选的,K1可以为2-31;
需要说明的是,在不同的系统时钟内,环路滤波器积分器可能会接收到不同的R,在计算环路滤波器积分器的值时,用的是环路滤波器积分器接收到的最新的R。
步骤B、计算控制字的值;
控制字等于第s个系统时钟的相位差乘以预设系数K2,然后加上环路滤波器积分器的值,即控制字的值为:
其中,K2为预设的系数,可选的,K2可以为2-16;
需要说明的是,在存储单元的占用率首次大于或等于预设阈值之前,控制字的值等于环路滤波器积分器的值。
步骤C:计算预判值J;
当前系统时钟(第s+1个系统时钟)的预判值J等于第s个系统时钟数控振荡器的值与控制字的值之和;假设第s个系统时钟数控振荡器的值为B,则当前系统时钟的预判值;
其中,第s个系统时钟数控振荡器的值为控制字的值为第s-1个系统时钟数控振荡器的值与第s个系统时钟控制字的值相加;若相加之和大于或等于1,则将相加之和减去1之后作为数控振荡器的值,若相加之和小于1,则将相加之和作为数控振荡器的值。
需要说明的是,上述步骤A到步骤C只是示例描述一种调整信号获取模块6022的实现方式及工作过程,并不是对调整信号获取模块6022的内容及形式的限定。
进一步的,调整信号获取模块6022还可以用于:
获取当前系统时钟的基数值;其中,若J大于或等于1,当前系统时钟的基数值为J减去1;若J小于1,当前系统时钟的基数值为J。
进一步的,所述输出控制单元603还用于:
若接收到数字锁相环单元602发送的调整信号为低电平,则不进行操作,等待下一个调整信号。
进一步的,如图7所示,TS流输出装置60还可以包括:
速率统计单元605,用于统计X个TS流写入存储单元601的速率R,向调整信号获取模块6022发送R。
具体的,速率统计单元605具体可以用于:
统计X个TS流写入存储单元601所用的时间;
将X个TS流的数据总量除以所用的时间,得到R;
或者,
统计X个TS流写入存储单元601所用的系统时钟周期个数N;
将X个TS流的数据总量除以N,得到R。
进一步的,存取控制单元604还可以用于:
在预设时刻,将存储单元601内的数据量除以存储单元601的总存储空间,得到P;
向相位差计算模块6021发送P;
向输出控制单元603发送P。
进一步的,输出控制单元603还可以用于:
将M置为零。
进一步的,输出控制单元603还可以用于:
判断所述P是否大于或等于所述预设阈值;
若所述P大于或等于所述预设阈值,向所述数字锁相环单元602发送第一指示信息,用于指示所述数字锁相环单元602根据所述PE、所述R,获取调整信号;
若所述P大于或等于所述预设阈值,向所述存取控制单元604发送第二指示信息,用于指示所述存取控制单元604终止向所述输出控制单元603发送所述P;
所述数字锁相环单元602还可以用于,接收所述输出控制单元603发送的所述第一指示信息,根据所述PE、所述R,获取调整信号;
所述存取控制单元604还可以用于,接收所述输出控制单元603发送的所述第二指示信息,终止向所述输出控制单元603发送所述P。
进一步的,存取控制单元604还可以用于:
接收发送端发送的TS流;
将接收的TS流写入存储单元601。
本发明实施例提供一种TS流输出装置60,根据当前系统时钟的相位差PE、X个TS流写入存储单元的速率R,获取调整信号;若调整信号为高电平,将累计的高电平个数M加1;当M等于存储单元的数据位宽的正整数倍时,从存储单元中读数据位宽位数据作为输出TS流输出。由于相位差是根据所述存储单元的当前占用率P与至少一个调整门限值的大小关系,以及所述P所处的由所述调整门限值划分的调整区域的调整系数计算获取,所以相位差PE是从存储单元的当前占用率的角度体现了对TS流的输出速率的调整幅度,而调整信号根据相位差PE以及X个TS流写入存储单元的速率R生成,因此,调整信号是根据存储单元的当前占用率生成;这样,只有当存储单元的占用率高于预设阈值时,调整信号为高电平以增加TS流的输出速率,从而在M等于存储单元的数据位宽的正整数倍时,从存储单元中读数据位宽位数据作为输出TS流输出,可以达到保证存储单元的占用率稳定的目的;由于写入存储单元的TS流的传输速率均匀,若TS流的输出速率也均匀的话,存储单元的占用率将是稳定的,因此,由于本发明提供的方案达到了保证存储单元的占用率稳定的目的,使得输出的TS流均匀。
进一步的,本发明的方案中TS流的输出参考的是存储单元的当前占用率,与TS流具体调制方式以及帧结构无关,通用性好。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (22)
1.一种TS流输出方法,其特征在于,应用于TS流输出装置,所述方法包括:
计算当前系统时钟的相位差PE,所述PE是根据所述TS流输出装置中的存储单元的当前占用率P计算获取的;
根据所述当前系统时钟的PE和X个TS流写入所述存储单元的速率R,获取调整信号;其中,所述调整信号为高电平或低电平;所述X大于或等于1;
若所述调整信号为高电平,将累计的高电平个数M加1;
当所述M等于所述存储单元的数据位宽的正整数倍时,从所述存储单元中读取所述数据位宽位的数据,并且将读取的所述数据位宽位的数据作为TS流输出。
2.根据权利要求1所述的方法,其特征在于,所述计算当前时钟的相位差之前,所述方法还包括:
设置至少一个调整门限值,根据所述至少一个调整门限值将所述存储单元的占用率的取值范围划分为至少两个调整区域;
将所述至少两个调整区域中每个调整区域设置调整系数,所述调整系数用于指示当所述P位于所述每个调整区域时对TS流输出速率的调整幅度;
所述计算当前系统时钟的相位差包括:
根据所述P与所述至少一个调整门限值的大小关系,以及所述P所处的由所述至少一个调整门限值划分的调整区域的调整系数,计算获取所述当前系统时钟的PE。
3.根据权利要求2所述的方法,其特征在于,所述根据所述P与至少一个调整门限值的关系,以及所述P所处的由所述至少一个调整门限值划分的调整区域的调整系数,计算获取所述当前系统时钟的PE,包括:
若所述P位于第一调整区域,则所述当前系统时钟的PE=(P-C)×X1;其中,所述第一调整区域为所述至少两个调整区域中调整系数最小的区域;所述C为预设调整基准值,所述C大于或等于划分所述第一调整区域的两个调整门限值中取值小的调整门限值,且小于或等于划分所述第一调整区域的两个调整门限值中取值大的调整门限值;所述X1为所述第一调整区域的调整系数;
若所述P位于第二调整区域,则所述当前系统时钟的PE=(P-C)×X1+(P-A)×X2;其中,所述第二调整区域为所述至少两个调整区域中除所述第一调整区域之外的任意一个调整区域;所述A为划分所述第二调整区域的两个调整门限值中接近所述C的值;所述X2为所述第二调整区域的调整系数。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述当前系统时钟的PE、X个TS流写入所述存储单元的速率R,获取调整信号,包括:
根据从所述存储单元的占用率首次大于或等于预设阈值的系统时钟到所述当前系统时钟内,每一个系统时钟的相位差、所述R、第一系数K1、第二系数K2、所述当前系统时钟的前一个系统时钟的基数值B,获取所述当前系统时钟的预判值其中,所述B小于1;所述PEi为从所述存储单元的占用率首次大于或等于预设阈值起第i个系统时钟的相位差;所述PEs为所述当前系统时钟的前一个系统时钟的相位差;所述预设阈值为预设的从所述存储单元中开始读取数据输出的所述存储单元的占用率的门限值;
根据所述J与1的关系,确定所述调整信号;若所述J大于或等于1,所述调整信号为高电平;若所述J小于1,所述调整信号为低电平。
5.根据权利要求4所述的方法,其特征在于,所述根据从所述存储单元的占用率首次大于或等于预设阈值的系统时钟到所述当前系统时钟内,每一个系统时钟的相位差、所述R、第一系数K1、第二系数K2、所述当前系统时钟的前一个系统时钟的基数值B,获取所述当前系统时钟的预判值J之后,所述方法还包括:
获取所述当前系统时钟的基数值;其中,若所述J大于或等于1,所述当前系统时钟的基数值为所述J减去1;若所述J小于1,所述当前系统时钟的基数值为所述J。
6.根据权利要求1-5任一项所述的方法,其特征在于,在所述根据所述当前系统时钟的PE和X个TS流写入所述存储单元的速率R,获取调整信号之后,所述方法还包括:
若所述调整信号为低电平,则在当前系统时钟内不进行TS流输出。
7.根据权利要求1-6任一项所述的方法,其特征在于,在所述根据所述当前系统时钟的相位差PE、X个TS流写入所述存储单元的速率R,获取调整信号之前,所述方法还包括:
统计所述X个TS流写入所述存储单元的速率R。
8.根据权利要求7所述的方法,其特征在于,所述统计所述X个TS流写入所述存储单元的速率R,包括:
统计所述X个TS流写入所述存储单元所用的时间;
将所述X个TS流的数据总量除以所述所用的时间,得到所述R;
或者,
统计所述X个TS流写入所述存储单元所用的系统时钟周期个数N;
将所述X个TS流的数据总量除以所述N,得到所述R。
9.根据权利要求1-8任一项所述的方法,其特征在于,在所述从所述存储单元中读所述数据位宽位数据作为输出TS流输出之后,所述方法还包括:
将所述M置为零。
10.根据权利要求1-9任一项所述的方法,其特征在于,在第一次执行所述根据所述当前系统时钟的相位差PE、X个TS流写入所述存储单元的速率R,获取调整信号之前,所述方法还包括:
判断所述P是否大于或等于所述预设阈值;
若所述P大于或等于所述预设阈值,执行所述根据所述当前系统时钟的相位差PE、所述R,获取调整信号。
11.根据权利要求2-10任一项所述的方法,其特征在于,在所述根据所述TS流输出装置中存储单元的占用率的当前值P,获取相位差PE之前,所述方法还包括:
接收发送端发送的TS流;
将所述接收的TS流写入所述存储单元。
12.一种TS流输出装置,其特征在于,所述装置包括:
存储单元,用于存储TS流;
数字锁相环单元,用于计算当前系统时钟的相位差PE,所述PE是根据所述TS流输出装置中的存储单元的当前占用率P计算获取的;
所述数字锁相环单元还用于,根据所述当前系统时钟的PE、X个TS流写入所述存储单元的速率R,获取调整信号,并向输出控制单元发送所述调整信号;其中,所述调整信号为高电平或低电平;所述X大于或等于1;
所述输出控制单元,用于若接收到所述数字锁相环单元发送的所述调整信号为高电平,将累计的高电平个数M加1;
所述输出控制单元还用于,当所述M等于所述存储单元的数据位宽的正整数倍时,向所述存取控制单元发送读数据信号;
所述存取控制单元,用于当接收到所述输出控制单元发送的读数据信号,从所述存储单元中读取所述数据位宽位的数据,并且将读取的所述数据位宽位的数据作为输出TS流输出。
13.根据权利要求12所述的装置,其特征在于,所述数字锁相环单元具体用于:
设置至少一个调整门限值,根据所述至少一个调整门限值将所述存储单元的占用率的取值范围划分为至少两个调整区域;
将所述至少两个调整区域中每个调整区域设置调整系数,所述调整系数用于指示当所述P位于所述每个调整区域时对TS流输出速率的调整幅度;
所述数字锁相环单元包括:
相位差计算模块,用于根据所述P与所述至少一个调整门限值的大小关系,以及所述P所处的由所述至少一个调整门限值划分的调整区域的调整系数,计算获取所述当前系统时钟的PE,向调整信号获取模块发送所述PE;
所述调整信号获取模块,用于根据所述PE、所述R,获取调整信号,并向所述输出控制单元发送所述调整信号。
14.根据权利要求13所述的装置,其特征在于,所述相位差计算模块具体用于:
若所述P位于第一调整区域,则所述当前系统时钟的PE=(P-C)×X1;其中,所述第一调整区域为至少两个调整区域中调整系数最小的区域;所述C为预设调整基准值,所述C大于或等于划分所述第一调整区域的两个调整门限值中取值小的调整门限值,且小于或等于划分所述第一调整区域的两个调整门限值中取值大的调整门限值;所述X1为所述第一调整区域的调整系数;
若所述P位于第二调整区域,则所述相位差为PE=(P-C)×X1+(P-A)×X2;其中,所述第二调整区域为所述至少两个调整区域中除所述第一调整区域之外的任意一个调整区域;所述A为划分所述第二调整区域的两个调整门限值中接近所述C的值;所述X2为所述第二调整区域的调整系数。
15.根据权利要求13或14所述的装置,其特征在于,所述调整信号获取模块具体用于:
根据从所述存储单元的占用率首次大于或等于预设阈值的系统时钟到所述当前系统时钟内,每一个系统时钟的相位差、所述R、第一系数K1、第二系数K2、所述当前系统时钟的前一个系统时钟的基数值B,获取所述当前系统时钟的预判值其中,所述B小于1;所述PEi为从所述存储单元的占用率首次大于或等于预设阈值起第i个系统时钟的相位差;所述PEs为所述当前系统时钟的前一个系统时钟的相位差;所述预设阈值为预设的从所述存储单元中开始读取数据输出的所述存储单元的占用率的门限值;
根据所述J与1的关系,确定所述调整信号;若所述J大于或等于1,所述调整信号为高电平;若所述J小于1,所述调整信号为低电平。
16.根据权利要求15所述的装置,其特征在于,所述调整信号获取模块还用于:
获取所述当前系统时钟的基数值;其中,若所述J大于或等于1,所述当前系统时钟的基数值为所述J减去1;若所述J小于1,所述当前系统时钟的基数值为所述J。
17.根据权利要求12-16任一项所述的装置,其特征在于,所述输出控制单元还用于:
若接收到所述数字锁相环单元发送的所述调整信号为低电平,则不进行操作,等待下一个调整信号。
18.根据权利要求12-17任一项所述的装置,其特征在于,所述装置还包括:
速率统计单元,用于统计所述X个TS流写入所述存储单元的速率R,向所述调整信号获取模块发送所述R。
19.根据权利要求18所述的装置,其特征在于,所述速率统计单元具体用于:
统计所述X个TS流写入所述存储单元所用的时间;
将所述X个TS流的数据总量除以所述所用的时间,得到所述R;
或者,
统计所述X个TS流写入所述存储单元所用的系统时钟周期个数N;
将所述X个TS流的数据总量除以所述N,得到所述R。
20.根据权利要求12-19任一项所述的装置,其特征在于,所述输出控制单元还用于:
将所述M置为零。
21.根据权利要求12-20任一项所述的装置,其特征在于,所述输出控制单元还用于:
判断所述P是否大于或等于所述预设阈值;
若所述P大于或等于所述预设阈值,向所述数字锁相环单元发送第一指示信息,用于指示所述数字锁相环单元根据所述PE、所述R,获取调整信号;
若所述P大于或等于所述预设阈值,向所述存取控制单元发送第二指示信息,用于指示所述存取控制单元终止向所述输出控制单元发送所述P;
所述数字锁相环单元还用于,接收所述输出控制单元发送的所述第一指示信息,根据所述PE、所述R,获取调整信号;
所述存取控制单元还用于,接收所述输出控制单元发送的所述第二指示信息,终止向所述输出控制单元发送所述P。
22.根据权利要求12-21任一项所述的装置,其特征在于,所述存取控制单元还用于:
接收发送端发送的TS流;
将所述接收的TS流写入所述存储单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510119442.2A CN106034243B (zh) | 2015-03-18 | 2015-03-18 | 一种ts流输出方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510119442.2A CN106034243B (zh) | 2015-03-18 | 2015-03-18 | 一种ts流输出方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106034243A true CN106034243A (zh) | 2016-10-19 |
CN106034243B CN106034243B (zh) | 2019-06-28 |
Family
ID=57150996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510119442.2A Active CN106034243B (zh) | 2015-03-18 | 2015-03-18 | 一种ts流输出方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106034243B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489387A (zh) * | 2003-07-22 | 2004-04-14 | 中国科学院计算技术研究所 | 一种用于数字视频广播传输网络的均匀复用方法 |
CN101031075A (zh) * | 2006-03-02 | 2007-09-05 | 华为技术有限公司 | 一种用于移动视频广播的系统和方法 |
CN101562752A (zh) * | 2009-05-25 | 2009-10-21 | 北京牡丹视源电子有限责任公司 | 生成复用传输流文件的方法及装置 |
CN101933325A (zh) * | 2008-02-04 | 2010-12-29 | Lg电子株式会社 | 发送和接收信号的装置以及发送和接收信号的方法 |
-
2015
- 2015-03-18 CN CN201510119442.2A patent/CN106034243B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489387A (zh) * | 2003-07-22 | 2004-04-14 | 中国科学院计算技术研究所 | 一种用于数字视频广播传输网络的均匀复用方法 |
CN101031075A (zh) * | 2006-03-02 | 2007-09-05 | 华为技术有限公司 | 一种用于移动视频广播的系统和方法 |
CN101933325A (zh) * | 2008-02-04 | 2010-12-29 | Lg电子株式会社 | 发送和接收信号的装置以及发送和接收信号的方法 |
US20110013718A1 (en) * | 2008-02-04 | 2011-01-20 | Woo Suk Ko | Apparatus for transmitting and receiving a signal and method of transmitting and receiving a signal |
CN101562752A (zh) * | 2009-05-25 | 2009-10-21 | 北京牡丹视源电子有限责任公司 | 生成复用传输流文件的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106034243B (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103152651B (zh) | 一种自动调节流媒体缓冲区播放门限的方法和系统 | |
CN102334341B (zh) | 用于控制媒体流的编码的系统及方法 | |
US10530826B2 (en) | Method and apparatus for providing a low latency transmission system using adjustable buffers | |
US10686704B2 (en) | Method and apparatus for providing a low latency transmission system using adaptive buffering estimation | |
US8819520B1 (en) | Method and system for forward error correction in packetized networks | |
CN1355904A (zh) | 为广播系统提供视频点播业务的系统和方法 | |
CN101282305B (zh) | 分布式系统中的带宽控制方法及业务板 | |
JP2002064473A (ja) | ワイヤレス画像データを送信するパケット・データ送信システム | |
CN103583028A (zh) | 多路径速率自适应 | |
CN104303470A (zh) | 在广播和通信系统中发送和接收分组的装置和方法 | |
CN105142002A (zh) | 音/视频直播方法、装置及控制方法、装置 | |
US20050283706A1 (en) | Method for changing a depth of an interleaver device or de-interleaver device and corresponding interleaver device and de-interleaver device | |
US20090129302A1 (en) | System and method for implementing optimized multiplexing and power saving in a broadcast network | |
CN108513701A (zh) | 数据传输方法、设备、机器可读存储介质以及系统 | |
CN105554517A (zh) | 一种视频流发送方法及装置 | |
CN101341697A (zh) | 具有mpe-fec帧存储器的装置 | |
CN105681864B (zh) | 一种基于ip的传输流抖动去除方法及装置 | |
CN101977092B (zh) | 前向纠错映射和去映射技术 | |
CN101379820B (zh) | 具有希望的比特率的dvb-h信号的作成方法和装置 | |
CN1602475A (zh) | 异步串行数据接口 | |
CN106060548B (zh) | 一种码率控制的方法和装置 | |
CN106034243A (zh) | 一种ts流输出方法及装置 | |
CN109450585B (zh) | 基于状态机自适应控制的低时延gmp映射方法及系统 | |
CN109688421B (zh) | 请求消息处理方法、装置及系统、服务器、存储介质 | |
EP2557787B1 (en) | Encoding apparatus and the method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |