一种ts流节目内多数据重同步的系统及方法

文档序号:9567477阅读:388来源:国知局
一种ts流节目内多数据重同步的系统及方法
【技术领域】
[0001]本发明涉及数字电视领域,提出了一种TS流节目内多数据重同步的系统及方法,应用于广电前端设备产品中。
【背景技术】
[0002]随着视听内容的日益丰富,人们对于视听需求的个性化也越来越突出,这对于数字电视运营商提出了更高要求,如何将同一节目的不同音视频和数据进行特殊处理后再进行复用,这其中一个关键的问题就是重同步,以保证音视频同步和subtitle、teletext等私有数据同步。现有数字电视领域中存在对TS流节目某些数据进行处理后难于同步的问题,还未出现解决节目内多数据重同步的有效办法。

【发明内容】

[0003]本发明提供了 TS流节目内多数据重同步的系统及方法,解决了对TS流节目多路数据进行处理后重同步的技术问题。
[0004]为达到上述目的,本发明所采取的技术方案为:
[0005]本发明一方面提供一种TS流节目内多数据重同步的系统,包括码流接收处理模块、节目内多路数据重同步处理模块、复用模块和码流发送处理模块;
[0006]码流接收处理模块,用于接收处理外部输入的TS流;
[0007]节目内多路数据重同步处理模块,用于将TS流节目内多路数据的PTS或DTS同
[K
少;
[0008]复用模块,用于将同步后的TS流与其他TS流进行复用;
[0009]码流发送处理模块,用于输出复用后的TS流。
[0010]进一步地,所述节目内多路数据重同步处理模块包括旧PCR计数模块、TS流缓存模块、DDR读写控制缓存模块、DDR缓存输出控制模块、PCR替换模块、新PCR计数模块、PTS与DTS替换模块;
[0011]旧PCR计数模块,用于计算输入的TS流的PCR计数值LPCR,并将PCR计数值LPCR作为旧PCR计数值输出到PCR替换模块、PTS与DTS替换模块、TS流缓存模块、DDR缓存输出控制模块;
[0012]TS流缓存模块,用于转换输入的TS流的位宽,并将输入的旧PCR计数值的自定义包头信息添加到原TS包头;
[0013]DD R读写控制缓存模块,用于进行缓存所述TS流的读写控制;
[0014]DDR缓存输出控制模块,用于从DDR读写控制缓存模块读出第一个存放的TS包的自定义包头信息的旧PCR计数值,加上延迟时间,与此时的新PCR计数值进行比较,如果在同步误差范围内,将该TS包从DDR读写控制缓存模块读取后输出;
[0015]PCR替换模块,用于将输入的旧PCR计数值减去延迟时间,得到新PCR计数值,替换到当前PCR信息字段;
[0016]新PCR计数模块,用于计算输入的TS流的PCR计数值LPCR,并将PCR计数值LPCR作为新PCR计数值输出到PTS与DTS替换模块;
[0017]PTS与DTS替换模块,用于从TS流中提取PTS和DTS字段信息,保存为旧PTS值和旧DTS值,将输入的旧PCR计数值与新PCR计数值相减,得到PCR差值,再将PCR差值与输入的延迟时间相减得到延迟差值,该延迟差值为节目内多路数据之间的PTS或DTS之差,将该延迟差值与当前TS包的PTS或DTS信息字段做累加,得到新PTS值和新DTS值,将新PTS值和新DTS值替换到当前TS流的PTS和DTS字段。
[0018]更进一步地,所述码流接收处理模块,用于接收外部输入的TS流,将TS流转换成标准TS流格式,并将时钟域转换到本地27兆时钟,将处理后的TS流输出到PCR替换模块和新PCR计数模块。
[0019]本发明另一方面提供一种TS流节目内多数据重同步的方法,包括:
[0020]码流接收处理步骤:接收处理外部输入的TS流;
[0021]节目内多路数据重同步处理步骤:将TS流节目内多路数据的PTS或DTS同步;
[0022]复用步骤:将同步后的TS流与其他TS流进行复用;
[0023]码流发送处理步骤:输出复用后的TS流。
[0024]进一步地,所述节目内多路数据重同步处理步骤包括:
[0025]旧PCR计数步骤:计算输入的TS流的PCR计数值LPCR,并将PCR计数值LPCR作为旧PCR计数值输出;
[0026]TS流缓存步骤:转换输入的TS流的位宽,并将输入的旧PCR计数值的自定义包头信息添加到原TS包头;
[0027]DD R读写控制缓存步骤:进行缓存所述TS流的读写控制;
[0028]DDR缓存输出控制步骤:读出第一个存放的TS包的自定义包头信息的旧PCR计数值,加上延迟时间,与此时的新PCR计数值进行比较,如果在同步误差范围内,将该TS包读取后输出;
[0029]PCR替换步骤:将输入的旧PCR计数值减去延迟时间,得到新PCR计数值,替换到当前PCR信息字段;
[0030]新PCR计数步骤:计算输入的TS流的PCR计数值LPCR,并将PCR计数值LPCR作为新PCR计数值输出;
[0031]PTS与DTS替换步骤:从TS流中提取PTS和DTS字段信息,保存为旧PTS值和旧DTS值,将输入的旧PCR计数值与新PCR计数值相减,得到PCR差值,再将PCR差值与输入的延迟时间相减得到延迟差值,该延迟差值为节目内多路数据之间的PTS或DTS之差,将该延迟差值与当前TS包的PTS或DTS信息字段做累加,得到新PTS值和新DTS值,将新PTS值和新DTS值替换到当前TS流的PTS和DTS字段。
[0032]更进一步地,在PCR替换步骤和新PCR计数步骤之前,还包括:
[0033]码流接收处理步骤:接收外部输入的TS流,将TS流转换成标准TS流格式,并将时钟域转换到本地27兆时钟,将处理后的TS流输出。
[0034]更进一步地,所述旧PCR计数步骤和新PCR计数步骤中:计算输入的TS流的PCR计数值LPCR,具体为:
[0035]输入TS流,当TS包脉冲来时,识别TS包结构,提取TS包信息;
[0036]判断是否包含自适应字段;
[0037]根据自适应字段中的PCR_FLAG标识提取PCR字段信息,并更新到IPCR ;
[0038]TS包脉冲无效时,由本地27兆时钟进行计数,并在IPCR基础上进行累加,形成本地PCR计数值LPCR。
[0039]更进一步地,所述PTS与DTS替换步骤中:从TS流中提取PTS和DTS字段信息,具体为:
[0040]输入TS流,当TS包脉冲来时,识别TS包结构,提取TS包信息;
[0041]判断是否包含自适应字段;
[0042]根据自适应字段中的PTS_DTS_FLAG标识分别提取PTS和DTS字段信息。
[0043]本发明的有益效果是:
[0044]相较于常规广电前端设备采用转码芯片进行节目内多路数据流的同步相比,本发明提供的TS流节目内多数据重同步的系统及方法能够对更多数量的节目、更多路节目内数据进行重同步处理,提高了处理的带宽,降低了系统的复杂性和成本,提高了系统的稳定性。
【附图说明】
[0045]图1是本发明实施例TS流节目内多数据重同步的系统的总体结构示意图;
[0046]图2是本发明实施例TS流节目内多数据重同步的系统的具体结构示意图;
[0047]图3是本发明实施例中的TS码流结构示意图;
[0048]图4是本发明实施例中PES包结构示意图;
[0049]图5是本发明实施例TS流节目内多数据重同步的方法的流程示意图;
[0050]图6是本发明实施例中计算PCR计数值LPCR的流程示意图;
[0051]图7是本发明实施例中提取PTS和DTS的具体流程示意图。
【具体实施方式】
[0052]下面结合附图具体阐明本发明的实施方式,附图仅供参考和说明使用,不构成对本发明专利保护范围的限制。
[0053]本发明实施例涉及的节目多数据重同步的关键术语有:节目参考时钟(PCR:Program Clock Reference),是编码端时钟计数器的采样值,用于在解码端恢复出同步时钟;显示时间标签(PTS Presentat1n Time Stamp),表示含有PTS的这一巾贞数据的显示时间;解码时间标签(DTS:Decoding Time Stamp),指示系统目标解码器中解码存取单元时间。
[0054]如图1所示,本发明的实施例一方面提供一种TS流节目内多数据重同步的系统,包括码流接收处理模块1、节目内多路数据重同步处理模块2、复用模块3和码流发送处理丰旲块4 ;
[0055]码流接收处理模块1,用于接收处理外部输入的TS流;
[0056]节目内多路数据重同步处理模块2,用于将TS流节目内多路数据的PTS或DTS同
[K
少;
[0057]复用模块3,用于将同步后的TS流与其他TS流进行复用;
[0058]码流发送处理模块4,用于输出复用后的TS流。
[0059]如图2所示,在本发明的实施例中,所述节目内多路数据重同步处理模块2包括旧PCR计数模块01d_LPCR_calculate、TS流缓存模块TS_in_buffer、DDR读写控制缓存模块DDR_wr_rd_ctrl> DDR 缓存输出控制模块 Output_buf_ctrl、PCR 替换模块 PCR_replace、新PCR 计数模块 New_LPCR_calculate、PTS 与 DTS 替换模块 PTS_DTS_r^lace ;
[0060]旧PCR计数模块01d_LPCR_calculate,用于计算输入的TS流的PCR计数值LPCR,并将PCR计数值LPCR作为旧PCR计数值01d_PCR_value输出到PCR替换模块PCR_replace、PTS与DTS替换模块PTS_DTS_aplace、TS流缓存模块TS_in_buffer、DDR缓存输出控制模块 Output_buf_ctrl ;
[0061]TS流缓存模块TS_in_buffer,用于转换输入的TS流的位宽,并将输入的旧PCR计数值01d_PCR_value的自定义包头信息添加到原TS包头;在本实施例中,模块输入8bit位宽TS流,经过位宽转换到32bit位宽TS流,并将输入的旧PCR计数值01d_PCR_value的高30bit构成4个字节的自定义包头添加到原TS包头,长度为192字节;如图3、4所示,分别为TS码流结构和PES包结构。
[0062]DD R读写控制缓存模块DDR_wr_rd_ctrl,用于进行缓存所述TS流的读写控制;
[0063]由于做同步的延迟时间delay_time可以支持较大范围,故此期间的数据量较大,需要一块较大空间的片上缓存存放TS流,DDR芯片颗粒满足这个要求;
[0064]DDR缓存输出控制模块Output_buf_ctrl,用于从DDR读写控制缓存模块读出第一个存放的TS包的自定义包头信息的旧PCR计数值01d_PCR_value,加上延迟时间delay_time,与此时的新PCR计数值New_PCR_value进行比较,如果在同步误差范围内,将该TS包从DDR读写控制缓存模块DDR_wr_rd_ctrl读取后输出,传输到下一级复用模块3,与其他TS流进彳丁复用;
[0065]PCR替换模块PCR_Mplace,用于将输入的旧PCR计数值01d_PCR_value减去延迟时间delay_time,得到新PCR计数值,替换到当前PCR信息字段;在本实施例中,模块接收TS流,根据协议对TS包结构进行解析,提取TS包信息,判断是否包含自适应字段,再根据自适应字段中的PCR_FLAG标识判断TS包是否包含PCR信息,从而确定PCR信息位置;
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1