免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2556 | 回复: 0
打印 上一主题 下一主题

数字电视节目码流中的PAT表分析 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-20 18:05 |只看该作者 |倒序浏览
数字电视节目码流中的PAT表分析(2007-01-14 21:57:54)
               
               
                       
                               
                                       
                                         
                                       
                                        分类:
数字电视技术
                               
                       
               
               
                    PAT定义了当前TS流中所有的节目,其PID恒为0x00,它是PSI信息的根节点,要查找节目必须从PAT表开始,在TS中很容易被找到。

   
在PAT中,列出描述每个节目组成的PMT的PID,也包含NIT PID。PAT section
header为8个字节,由表标识符、表格
section长度、transport_stream_id、版本号、当前/下一次指示符、分段号和最后分段号组成。其可变字长的节目表清单由各个16bit的节目号和对应的13bit的PMT
PID组成。

【语法结构】



                     
图1 PAT 表的section

表中:
Table_id:为8bit字段,该字段标识节目关联分段,对于PAT,置为0x00。

Section_syntax_indicator:1bit字段,对于PAT,置为
0x01。

Reserved:2bit保留字段,用于将来扩展,置为11。

Section_length:12bit字段,指示当前section的长度,计数值
从分段长度下一个字节开始,包括CRC校验的4个字节,开头两
位置为00,因此其大小不超过1021。

Transport_stream_id:16bit字段,当前TS流的ID,与网络中其
他TS流相区别,由运营商指定。

Reserved:2bit保留字段,用于将来扩展,置为11。

Version_number:5bit字段,指出PAT表的版本号,一旦PAT表有变
化,其版本号增1,当增至31时,恢复至0。

Current_next_indicator:1bit,置为1时,表示传送的PAT当
前有效,置为0表示PAT下一次有效。

Section_number:8bit字段,表示section的数目,从0x00开
始。

Last_section_number:8bit字段,指出最后一个section号,
即PAT表section的最大数目。

Program_number:16bit字段,指出了节目对于哪一个PMT
PID是可用的,当为0x00时,后面的PID对应于NIT。

Reserved:3bit保留字段,用于将来扩展,置为111。

Network_id:13bit字段,NIT PID。

Program_map_PID:13bit字段,对应于program_number
所指定的节目的program_map_section的PID,从上面可看出:一个program用4字节来表示(包括16bit的program_number与13bit的PID)。

CRC:用来证实数据正确性的循环冗余校验码。

【码流示例】
一个包含program_association_section的TS包如下(共
188B):


            
图2   一个包含PAT
section的TS包

按照前面的语法进行解析,结果如下:



            
图3 PAT section的解析

   由上面可知,该TS流中包含5个service,
其program
number分别为101、102、103、104、105,也给出了对应的PMT
PID,根据此PID去搜寻每个节目中对应的各类PES流的PID,从而顺利解码。另外,尽管NIT表在MPEG-2中属于可选,但为了保持与DVB的兼容,定义
program_number=0时对应的PID为NIT
PID,也就是恒为0x10。

  
本文的目的是通过对数字电视节目码流的分析,帮助理解MPEG-2标准,并描述PSI信息在数字电视上的应用。后续文章会依次从PSI/SI角度来分析数字电视码流。并给出相关实现代码。

               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/109710/showart_2182956.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP