MPEG-2系统层协议规范:TS流包头解析

需积分: 50 48 下载量 94 浏览量 更新于2024-08-08 收藏 553KB PDF 举报
"本资源主要介绍了填充描述符在HC32F003数据手册中的应用,以及MPEG-2系统层协议规范中的TS流包头结构。" 在HC32F003数据手册中,填充描述符是用来处理数据流中的填充字节的。填充字节(stuffing_byte)是8位的字段,其具体取值可以任意设定,用于调整数据流的长度以满足特定的传输要求。IRD(Integrated Receiver Decoder,集成接收解码器)在解析数据时可以忽略这些填充字节。填充描述符包含一个8位的描述符标签(descriptor_tag)和一个8位的描述符长度(descriptor_length),后面跟着N个填充字节。这个结构允许在数据流中灵活地插入任意数量的填充字节。 转向MPEG-2系统层协议,TS(Transport Stream,传输流)包头是每个TS包的起点,其结构对于理解整个MPEG-2TS至关重要。TS流包头包括: 1. Sync_byte:这是一个固定为0X47的8位字段,作为TS包的标识符,确保数据正确对齐。 2. Transport_error_indicator:1位字段,当值为1时,表示TS包中有未纠正的错误。 3. Payload_unit_start_indicator:1位字段,指示TS包的有效载荷(payload)是否以PES包、PSI或SI开始。 4. Transport_priority:1位字段,设置为1的包具有较高的传输优先级。 5. PID:13位字段,定义了TS包有效载荷的数据类型,如PAT、CAT、PMT等。 6. Transport_scrambling_control:2位字段,控制数据是否被加密。 7. Adaptation_field_control:2位字段,决定是否存在适应域(adaptation field)以及其内容。 8. Continuity_counter:4位字段,用于跟踪连续性,确保数据包的正确顺序。 PID分配表显示了不同PID值所代表的数据类型,例如0000对应PAT,0001对应CAT,而11111111则通常用于发送无数据的空包。Transport_scrambling_control字段进一步区分了未加密和加密的传输流,它的值可以是00(未加密),01(前向错误校正),10或11(加密)。 填充描述符在数据传输中起到填充和调整作用,而TS流包头则是MPEG-2TS的基础结构,用于管理和控制数据包的传输。理解这两个概念对于处理数字视频广播(DVB)中的TS流至关重要,特别是涉及到PSI和SI(如PAT、PMT等)的解析和解码。