TS流结构详解:PAT、PMT与包头解析

4星 · 超过85%的资源 需积分: 9 88 下载量 10 浏览量 更新于2024-09-29 1 收藏 99KB DOC 举报
TS流是一种广泛应用于数字电视和多媒体传输的复用格式,它的全称为Transport Stream。TS流由许多个称为Transport Packet(TS包)的数据包组成,每个TS包包含4字节的包头和184字节的数据部分。这些TS包可以承载不同时间基准的PES(Packetized Elementary Stream)数据,通过复用技术将多个PES流合并成一个TS流,以便高效地传输和解码。 在TS包头中,关键的部分包括: 1. **同步字节**:固定为0x47,用于识别TS包的起始位置,帮助接收端对齐数据流。 2. **传输误码指示符(TEI)**:如果设置为1,表示存在无法纠正的误码;0表示无误码。 3. **有效载荷单元起始指示符(PUSI)**:标记当前TS包是否携带PES流的起始信息。 4. **传输优先级(TP)**:用于区分TS包的优先级,便于处理。 5. **包识别符(PID)**:标识TS包携带的PES流,解码器通过PID来区分不同的服务或频道。 6. **传输加扰控制**:表明数据包内容是否经过加密,包头和自适应区总是未加密。 7. **自适应区控制**:指示自适应区的存在与否及其内容类型。 8. **连续计数器(CC)**:用于检测包丢失和顺序错误,递增的计数器应连续无遗漏。 TS包的自适应区包含了多种信息,如间断指示符、随机存取指示符等,其中特别重要的是PCR(Program Clock Reference)。PCR提供了精确的时间同步信息,用于恢复和同步解码器的27MHz时钟。它通过锁相环(PLL)与解码器的本地时钟对比,确保解码过程与输入数据的时序一致,尤其在数字视频压缩编码中,由于不同图像数据量的变化,直接从压缩数据中提取时钟信息是困难的。 PMT(Program Map Table)和PAT(Program Association Table)是TS流中另外两个关键的表格。PAT用来映射节目(Program)到对应的节目网络接入点(Network PID),而PMT则详细描述了节目的构成,包括音视频流的PID和相关服务信息。 PAT中通常包含一个全局的表项,指示了PMT的位置,而PMT则为每个节目定义了一个表项,列出了节目中的各个组件(如视频、音频和字幕流)的PID。解码器通过解析PAT找到PMT,再通过PMT找到具体的音视频数据,从而实现正确解码和播放。 TS流、PAT和PMT是数字电视和多媒体传输的基础,它们协同工作,确保了多路信号的有效复用、传输和解码,为观众提供了无缝的观看体验。