复用器是数字电视前端平台的关键设备,它的主要功能是完成对输入多路传输流(Transport Stream,TS)的复用工作,它的性能稳定性直接影响前端平台的运行。而复用器对传输流中节目特殊信息(Program Spe-cial Information,PSI)的分析处理是否完整全面,则直接影响到复用器其他功能部分的运行结果是否正确。对PSI信息的检测分析是复用器设计中首要的也是最重要的部分之一。下文将对PSI信息检测问题进行深入的分析探讨。
1 TS流语法结构
传输流以TS包为单位,其中每个包的长度为188 B,这188个字节大致可以分为:包头、调整字段和有效负载三个主要部分。包头占4个字节,如图1所示。
同步字节:8 b,值为0x47,表示一个TS包的开始。传输错误指示:1b,当置为1时,表明在相关的TS包中至少有一个不可纠正的错误。有效负载起始指示:1 b,在带有PSI信息时,置1表示TS包含有PSI部分的第一个字节并带有pointer field字段,否则表示不含有PSI的第一个字节。传输优先级:1 b,置1表明相关的包比其他具有相同PID但此位没有置1的TS包有更高的优先级。PID:13 b字段,指示传输流有效负载的数据类型。传输加扰控制:2b,用来指示TS包有效负载的加扰方式。自适应字段控制:2b,用来指示本TS包首部是否跟有调整字段。连续计数器:4b,随着每一个具有相同PID的传输流包而增加,当它达到最大值后又恢复到0。
节目专用信息PSI用来描述TS流的组成结构。它包括节目关联表(Program Association Table,PAT)、节目映射表(Program Map Table,PMT)、网络信息表(Network Information Table,NIT)和条件访问表(Conditional Access Table,CAT)。PAT是PSI信息的最上层,列出了传输流中所有节目所对应的PMT的PID值,可以根据节目的PID值找到相应的PMT信息及NIT信息。节目映射表PMT提供节目号码与组成它们的原始流之间的映射关系,这种映射表是一个TS流中所有节目定义的集合。网络信息表NIT是可选的,其内容是私有的,通常包括用户选择的服务和通道频率、卫星脉冲发射机、调制特性等的映射。条件接收表CAT提供条件接收(CA)系统的相关信息,指定EMM的PID值及相关的参数。
2 PSI信息提取分析
由于PSI信息四个表结构差别不大,所以提取算法也大致相似,在此主要以PAT表为例详细介绍J"SI信息的提取流程。对TS流的分析在FPGA内部以字节为单位。PAT语法结构如图2所示。
PAT的提取流程:
(1)首先应在传输流中找到包首PID 13位全为0且有效负载起始指示位为l的TS包。
(2)然后根据自适应字段控制位判断是否含有调整字段,再结合pointer_field字段值找到table_id,从此字段开始到CRC校验字节之前,将对所有有效数据进行CRC校验。
(3)接下来是section_length字段,由此字段可以得到该PAT分段的TS包个数。