一种传送流解复用的方法和装置的制造方法_3

文档序号:8530682阅读:来源:国知局
按照顺序建立为第一码流提取指令列表,并将第一码流提取指令列表和其中全部指令存储在指令存储缓存区中,其中,第一码流提取指令列表中的指令唯一对应一个ES分组数据。
[0052]GDMA直接根据指令存储缓存区中的第一码流提取指令列表中的第一个指令,从TS包缓存区的离散的第一 ES传送包中,提取出该指令对应的第一个ES分组数据,当前指令为存储指令,GDMA将该第一个ES分组数据存储在DRAM的基本码流缓存区中,依次类推,GDMA依次根据第一码流提取指令列表中的指令,将离散的全部的第一 ES分组数据从第一ES传送包中搬移至连续的基本码流缓存区中。由此GDMA根据CPU的指示将TS包缓存区中的离散的第一 ES分组数据搬移至连续空间,以形成连续的第一 ES,供解码器或上层应用使用。
[0053]上述过程是对一路信道的TS流的解复用过程,其中,以对PAT、PMT表项和ES的解析为例描述,在此,第一 TS流解复用装置解析其他表项时,其TS流解复用过程与上述的PSI表项解析过程类似;当第一 TS流解复用装置解析其他基本码流时,其TS流解复用过程与上述的ES解析过程类似。
[0054]本发明实施例一提供的一种传送流解复用的方法,通过硬件的TS1、TS流包头解析器、PID过滤器、解密器,从当前信道的TS流中获取包含所需数据信息的至少一个特定TS包,并存储在TS包缓存区中,CPU从TS包缓存区中执行对表项的解析,以及CPU执行对ES的解析,以从一路TS流中解析出连续的PSI和ES。与现有技术相比,本发明通过软件、硬件协同工作的方式,将PS1、ES的解析过程从硬件中划分出来,交由CPU处理,相应减少了硬件部分的工作量,保证了 CPU处理的灵活性,又不会占用CPU过多的工作量,加快了 CPU处理效率,使得第一传送流解复用装置能够更加合理配置软硬件的资源。本发明还兼容不同TS流环境,并使用GDMA替代了现有技术中的专用DMA,节省了资源空间,提升了该装置稳定性。
[0055]实施例二
[0056]本发明的技术方案适用于基于软硬件结合的方式对实时传送流进行解复用,并且进行音视频实时录制、点播回放等情况。该传送流解复用方法可以由第二传送流解复用装置来执行,该装置可以采用软件和硬件协同工作的方式实现,配置在机顶盒中执行。如图4所示,为本发明实施例二中提供的第二传送流解复用装置的示意图。
[0057]本发明提供的一种传送流解复用的方法,具体包括以下步骤:
[0058]步骤210、将标准化处理后的统一形式的传送流进行解析以获得所有传送包,从所有传送包中获取包含所需数据信息的至少一个特定传送包,并存储在传送包缓存区中;
[0059]步骤220、解析该传送包缓存区中的特定传送包,从该特定传送包中读取数据信息的参数,其中,该参数中至少包含数据信息的索引参数,根据该索引参数设置处理特定传送包的指令;
[0060]步骤230、根据指令,对特定传送包进行指令所需的处理。
[0061 ] 本实施例中以所需数据信息为最常见的ES为例,对TS流进行解复用过程的描述。
[0062]如上所述,已知该装置具有至少两个TSI,分别设置为第一 TSI和第二 TSI。当第一 TSI接收第一路TS流并经过标准化处理后,该路TS流转换为统一形式的第一 TS流并传输至TS流路由器。当第二 TSI接收第二路TS流并经过标准化处理后,该路TS流转换为统一形式的第二 TS流并传输至TS流路由器。在此两个TSI预先设定的TS流接收形式可设置为不同或相同形式。
[0063]TS流路由器至少接收第一 TS流、第二 TS流,因此,该装置连接了相应的两个TS流包头解析器、两个解密器和一个PID过滤器,每一路TS流对应相应的TS流包头解析器、解密器,CPU在该PID过滤器中预先设置了第一 TS流的PATl标识和第二 TS流的PAT2标识。两路TS流的硬件解析过程完全类似,在此以第一 TS流解析的过程为例描述。
[0064]将标准化处理后的统一形式的第一 TS流传输至第一 TS流包头解析器进行解析,该TS流包头解析器对第一 TS流进行包头解析以获得第一 TS流的所有TS包。PID过滤器根据PATl标识,从所有TS包中过滤识别出包含第一 TS流的PATl表项的至少一个特定传送包。相应的解密器对加密的特定传送包进行解密等处理。第一 TS流包头解析器通过相应的DMA将从第一 TS流中获取的包含PATl表项的至少一个特定传送包传输至传送包缓存区的第一缓存区,则第一缓存区中的特定传送包为PATl表项传送包。相应的,第二缓存区中的TS包为第二 TS流中包含PAT2的至少一个TS包,称之为PAT2表项传送包。此外,第一TS流包头解析器将第一 TS流中的其他标识TS包直接丢弃,第二 TS流包头解析器将第二TS流中的其他标识TS包直接丢弃。
[0065]当第二传送流解复用装置的其中一个TSI失效或故障时,TS流路由器能关闭该故障TSI,通过减少处理该路TS流的方式保证装置继续正常运行。当第二传送流解复用装置的其中一个TS流包头解析器或解密器等硬件解析器失效或故障时,TS流路由器能阻断该硬件解析器的输入,通过减少处理该路TS流的方式保证该装置继续正常运行。当第二传送流解复用装置减少处理一路TS流时,虽然对实现不同TS流的音视频实时录制、点播回放功能产生影响,但是并不影响该装置对当前播放码流的处理,因此具有至少两个TSI的传送流解复用装置的可靠性高。
[0066]CPU对TS包缓存区中第一缓存区的PATl表项TS包进行解析,其解析过程和对第二缓存区的PAT2表项TS包解析过程相对独立但基本过程类似,因此在本实施例中,以CPU对第一缓存区的PATl表项TS包的解析过程为例描述。
[0067]已知当前第一缓存区中存储了第一 TS流的PATl表项传送包,PATl表项传送包中为至少一个包含PATl信息的TS包,CPU解析该PATl表项传送包,并从中读取所需的PATl的索引参数,根据该索引参数,CPU设置校验该PATl信息的指令,将依次设置的校验PATl信息的指令建立为PATl表项校验指令列表,并存储在指令存储缓存区中。
[0068]GDMA依次根据PATl表项校验指令列表中的指令,从第一缓存区的PATl表项传送包中查找出与该指令对应的PATl信息。随后,CRC校验器对该PATl信息进行CRC校验,即计算该PATl信息的校验码,并判断该计算所得校验码与该PATl信息的预设校验码是否一致。CRC校验器判断完成之后,通过GDMA向CPU返回CRC校验结果。
[0069]若CRC校验器的校验结果为不一致,则CPU直接丢弃当前该错误PATl信息所对应的一个传送包,返回并重新从第一 TS流中获取新的PATl表项传送包,CPU读取新的PATl表项传送包中PATl信息的索引参数,依次设置指令以建立新的PATl表项校验指令列表。GDMA根据CPU的新的指令,从第一缓存区中的新存储的PATl表项传送包中提取出与指令对应的新的PATl信息。CRC校验器再次对新的PATl信息进行CRC校验,判断校验结果是否为一致,直至CRC校验器校验结果为一致前,CPU将重复获取新的PATl表项传送包的动作。
[0070]若CRC校验器返回的校验结果为校验码一致时,CPU对该正确的PATl信息所对应的TS包进行解析,以从该PATl表项传送包中获取第一 TS流的PMTl的PID等相关数据信息。CRC校验能够保证获取的码流数据传输的正确性和完整性。
[0071]当CRC校验完成,CPU解析正确的PATl信息对应的PATl表项TS包后,CPU还从具有正确PATl信息的PATl表项传送包中读取所需PATl信息的多种参数,根据该多种参数中的索引参数设置提取PATl表项的指令,并建立PATl表项提取指令列表,存储在指令存储缓存区中,GDMA依次根据PATl表项提取指令列表中的指令,从PATl表项传送包中提取出与各指令对应的PATl信息,并存储在表项缓存区中,由此存储在表项缓存区中的连续的PATl表项可供上层应用。
[0072]CPU根据获取的第一 TS流的PMTl的PID,设置PID过滤器中第一 TS流的所需特定标识为PMTl的PID,则将标准化处理后的统一形式的传送流进行解析。具体为,第一 TS流包头解析器、PID过滤器、解密器对当前接收的第一 TS流进行包头解析、PID过滤、加密的特定标识传送包解密,根据PID过滤器中的PMTl的PID,第一 TS流包头解析器将第一 TS流中具有PMTl的PID的特定标识传送包提取出,通过相应的DMA存储在第一缓存区中,设置该第一缓存区中包含PMTl的TS包为PMTl表项传送包。
[0073]CPU对PMTl表项传送包进行解析,以从中读取所需的PMTl的索引参数,根据该索引参数,CPU设置校验PMTl分段数据的指令,并将依次设置的所有指令建立为PMTl表项校验指令列表,并将该指令列表和其中指令存储在指令存储缓存区。
[0074]GDMA依次根据PMTl表项校验指令列表中的PMTl分段数据的校验指令,从PMTl表项传送包中查找出与指令对应的一个PMTl分段数据。CRC校验器对该查找出的PMTl分段数据进行CRC校验,CRC校验器计算该PMTl分段数据的校验码,并判断该PMTl分段数据的计算所得校验码与预设校验码是否一致,并将其校验结果通过GDMA反馈至CPU。
[0075]对于任意一个PMTl分段数据,CPU接收相应的校验结果,若CRC校验器判定PMTl分段数据中的预设校验码与其计算所得校验码不一致时,则CPU丢弃该PMTl分段数据所对应的TS包,返回并从第一 TS流中重新获取新的PMTl表项传送包。CPU重新设置指令和建立指令列表,GDMA根据CPU的指令从新的PMTl表项传送包中提取该PMTl分段数据,CRC校验器对该新的PMTl分段数据进行校验,直至CRC校验器反馈的校验结果为一致前,CPU将重复获取新的PMTl表项传送包的动作。直至CPU接收的校验结果为校验码一致时,CPU对正确的PMTl分段数据所对应的传送包进行解析,以从中获取第一 TS流的基本码流(ESl)的
...
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1