版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PSI_SI与码流分析,2011.5.10 严 闹,目录,MPEG-2基本概念,术语: 1、MPEG:Moving Picture Experts Group 动态图像专家组 2、MPEG-2标准:针对数字视频广播、高清晰度电视等制定的4-9Mb/s运动图像及其伴音的编码标准 3、MPEG-2设计目标:实现视/音频服务与应用互操作的可能性 4、在MPEG-2中,有两种不同类型的码流输出到信道:节目码流PS、传送流TS 5、节目码流PS,适用于没有差错的媒体存储,如DVD存储 6、传送流 TS,适用于有信道噪声的传输,可在网络中进行远距离传送,PSI、SI基本概念,1、PSI:Program S
2、pecific Information 节目特定信息 PSI功能:从一个携带多个节目的某一个TS流中正确找到特定的节目 。 PSI数据信息用于对复用流中的不同节目流进行解复用和解码。 PSI中包括音视频数据的PID以及有关节目PID之间的关系。 具体涉及4个表:PAT、PMT、CAT及NIT。 在TS中,仅有PSI信息时STB并不能自动接收某个业务并提供相应的节目信息, 而是通过SI信息来为PSI作补充。 2、SI:Service Information 业务信息 SI功能:提供STB的设置信息(节目名称、节目分类、节目时间、节目来源等),有助于STB提供附加信息以便用户显示。 SI信息为ST
3、B提供了丰富多彩的功能。 具体涉及9个表:SDT、EIT、BAT、TDT、TOT及RST、ST、SIT、DIT,目录,PSI/SI数据中层次关系: 网络 - 频点 - 频道 - 原始流 Network -TS - Service - ES PSI只提供了复用码流的信息 SI提供了相关业务和时间的识别信息 一个网络可以包含多个频点, 一个频点可以包含多个频道, 一个频道下可以包含多个原始流, 不同类型的原始流标识不同的作用。,节目信息: 查看播放频道的信息界面: 1、Network ID (original_network_id) 2、TS ID (transport_stream_id) 3、
4、Service ID (Service ID) 4、ES ID (stream_id),典型的PSI/SI结构,PSI简介,MPEG-2 TS传送TS包,这些包携带两类信息:已压缩的音视频等素材(PES数据)和与之相关的符号化的表。符号化的表由对构成节目的原始流的描述组成,称为节目专用信息(Program Special Information),PSI分类,MPEG-2系统层指定的PSI包括网络信息表(NIT)节目关联表(PAT),节目映射表(PMT),条件访问表(CAT),以及与这些表关联的描述符信息。 PSI表信息对数据的组织是非常重要的 PSI表通常是以PSI分段方式来传送,该分段具有
5、可变长度,其长度一般很小。分段机制允许将一个数据表映射为多个数据段,如果数据表小于包长度,那么数据表可以放入一个段中而无需分段。,PSI分段方式, PSI各表的关 联 关 系,上图详细的表明了PAT和PMT的关系。其中,当program_number=0的时候,后面的PID值指示的是network_id。,上图是一个PMT的表示图。从图中可以了解到,PMT包括了视频、音频、PCR、私有数据、ECM的PID值。其中,PCR_PID一般情况下是和视频PID相同的。, PSI各表的关 联 关 系,上图为PSI中各表分段与TS的关系。从上图可以清晰的看出,在一个加扰的系统中,PMT携带ECM_PID,
6、CAT携带EMM_PID。, PSI各表的关 联 关 系,各表PID值对应,PAT,PAT:Program Association Table PAT定义了一个TS流中所有的节目,PAT的PID是0 x0000,他是PSI信息的根节点。要查找节目播放信息必须从PAT开始。 PAT中包含了TS中所有节目的完整列表,每个表项包括ServiceID和PMT的PID。 PAT中ServiceID为0的表项是NIT。,PAT表重要字段,段长度 section_length 版本号 version_number 段号 section_number 最后段号 last_section_number NIT表
7、的PID network_PID PMT表的PID program_map_PID,PMT,PMT:Program Map Table PMT提供了一个节目的ServiceID和用于播放的所有资源信息,如音视频PID,PCR,字幕PID等。PMT完整的描述了一路节目是由哪些PES组成,给播放提供相应的资源。 在PMT中可以加载多种描述符,用于描述更广泛的功能。如Teletext_descripto、Subtltle_descriptor、CA_descriptor等描述符。,PMT表重要字段,PCR_PID:13b长度,该字段指示TS包的PID,该包含有PCR字段,PCR值用于音频视频同步。
8、Stream_type:1B长度,该字段指定特定PID的节目元素包的类型,即定义了在TS包中PES流的类型。,PCR,数字电视系统是一个实时传输系统,为了保证收发端的正常工作,接收端与发射端的频率和相位一致,必须建立收发端的同步时钟,它就是PCR(Program Clock Peference)。 在发端利用计数器对系统进钟计数,形成PCR值,然后每隔一段时间将PCR值随数据一起传送给收端;收端有一个正在工作的本地时钟(27MHz/30MHz),其额定频率与发端时钟相等,同样也有一个计数器对它计数形成一个本地时钟参考。这时发端会将PCR从传送流中提出来,与音频帧、视频帧的编码信息插入PES包中
9、,接收端将音频帧、视频帧中的PCR值放在缓存器中,等待比较发端的音视频中的值出现,然后用比较的结果控制压控振荡器(VCXO),通过调整使收发端的频率锁相,从而避免显示与回放时间上时差太大太远出现声音在前口不动或口动声音又在后的问题,实现收发端声音和图像完全同步。 在传输流的TS、PES及ES这3个不同的码流层次中规定了不同的时间信息字段,通过这些字段的联合作用来完成接收端的实时解码和同步,依次是节目时钟参考(Program Clock Reference,PCR)、解码时间戳 (Decode Time Stamp,DTS)和显示时间戳(PresentationTime Stamp,PTS)以及
10、VBV_Delay域。PCR字段有着关键的作用,因为解码端解码时首先需要利用PCR字段完成本地系统时钟恢复,进而借助DTS和PTS使音视频的解码与播放达到同步状态。,TS包中PES流的类型,PAT与PMT的关系,CAT,CAT:Conditional Access Table CAT提供了在一个或多个CA系统及其授权管理信息,用于节目的解扰工作 若一个TS中任何原始流进行了加密处理,那么在TS中一定要插入CAT,各类型CA加密,在PMT表的描述符里有CA_descriptor的描述,根据描述段内的CA_system_ID来判断码流为何种加密:,同方:0 x4a02 和 0 x49xx 数码视讯
11、:0 x4ad2 天柏:0 x4a30 算通:0 x3000 和 0 x4abx 数字太和:0 x4aed 锋尚:0 x66,Viaccess:0 x0500 to 0 x05FF Irdeto:0 x0600 to 0 x06FF NDS:0 x0900 to 0 x09FF Conax:0 x0B00 to 0 x0BFF NagraVision:0 x1800 to 0 x18FF,CA解扰实例,问题:襄樊N5200(智能CA:数码视讯)在测试一个现场录回码流的CA解扰时,发现插入一张同方智能CA卡,加扰提示框消失,界面黑屏无提示 分析:码流中包含有多个CA_system_ID中包含有多
12、个CA,机器检测到同方CA符合但不对应,就出现了黑屏无提示框的现象。,CA假加密实例,问题:襄樊N5200搜索天威信号,出现可以正常播放节目但界面出现提示框“非本CA加密”的现象 分析:前端播发CA描述符,但非对音视频进行加密,实际就是清流,不插卡就可以播放,但由于PMT表中关于CA的描述符非当前机顶盒集成的CA描述符,会出现节目正常播放但界面抛出非本CA加密的提示框的现象,三、SI简介,除了PSI信息,还需要为用户提供有关业务和事件的识别信息。 PSI 中的PAT、CAT、PMT只提供了它所在的复用流(现行符复用流)的信息,业务信息还提供了其他复用流中的业务和事件信息。这些数据由以下九个表构
13、成: 1)业务群关联表(BAT): 业务群关联表提供了业务群相关的信息,给出了业务群的名称以及每个业务群中的业务列表。 2)业务描述表(SDT): 业务描述表包含了描述系统中业务的数据,例如业务名称、业务提供者等。 3)事件信息表(EIT): 事件信息表包含了与事件或节目相关的数据,例如事件名称、起始时间、持续时间等。 不同的描述符用于不同类型的事件信息的传输,例如不同的业务类型。,4)运行状态表(RST): 运行状态表给出了事件的状态(运行/非运行)。运行状态表更新这些信息,允许自动适时切换事件。 5)时间和日期表(TDT): 时间和日期表给出了与当前的时间和日期相关的信息。由于这些信息频繁
14、更新,所以需要使用一个单独的表。 6)时间偏移表(TOT): 时间偏移表给出了与当前的时间、日期和本地时间偏移相关的信息。使用一个单独的表。 7)填充表(ST): 填充表用于使现有的段无效,例如在一个传输系统的边界。 8)选择信息表(SIT): 选择信息表仅用于码流片段(例如,记录的一段码流)中,它包含了描述该码流片段的业务信息的概要数据。 9)间断信息表(DIT): 间断信息表仅用于码流片段(例如,记录的一段码流)中,它将插入到码流片段业务信息间断的地方。,业务信息(SI)表结构,业务信息(SI)表与MPEG-2中的PSI表,都被分成为一个或若干个段,然后插入到TS包中。 段的长度是可变的。
15、除EIT表外,每个表中的段限长为1024字节,但EIT中的段限长4096字节。每一个段由以下元素的组合唯一标识: 表标识符(table_id):表标识符标识段所属的表; 表标识符扩展(table_id_extentsion):表标识符扩展用于标识子表; 段号(section_number):段号字段用于解码器将特定子表的段以原始顺序重新组合。建议段按顺序传输,除非某些子表的段需要比其它的段更频繁地传输,例如出于随机存取的考虑; 当前后续指示符(current_next_indicator):每一段都要标以“当前”有效或“后续”有效。它使得新的SI版本可以在传输流特征发生变化之前传输,让解码器能
16、够为变化做准备。然而,一个段的下一个版本的提前传输不是必需的,但如果被传输,它将成为该段的下一个正确版本。,段到TS包的映射 段可直接映射到TS包中。段可能起始于TS包有效负载的起始处,但这并不 是必需的,因为TS包的有效负载的第一个段的起始位置是由pointer_field字 段指定的。一个TS包内决不允许存在多余一个的pointer_field字段,其余段 的起始位置均可从第一个段及其后各段的长度中计算出来,这是因为语法 规定一个传输码流的段之间不能有空隙。 在任一PID值的TS包中,一个段必须在下一个段允许开始之前结束,否 则就无法识别数据属于哪个段标题。若一个段在TS包的末尾前结束了,
17、但 又不便打开另一个段,则提供一种填充机制来填满剩余空间。该机制对包 中剩下的每个字节均填充为0 xFF。这样table_id就不允许取值为0 xFF,以 免与填充相混淆。一旦一个段的末尾出现了字节0 xFF,该TS包的剩余字节 必然都被填充为0 xFF,从而允许解码器丢弃TS包的剩余部分。填充也可用 一般的adaptation_field机制实现。,业务群关联表(BAT),1、BAT:Bouquet Association Table业务群关联表 2、BAT提供有关业务群的信息。业务群定义为一组业务的集合,并可能横跨于不同的网络上。 3、BAT数据包的PID值为0 x0011。 4、BAT表
18、中描述特定的业务群的子表的段,要具有bouqet_id字段,所有BAT段的table_id值都取为0 x4A。 5、BAT数据一般被用来做Service的分类,Service的过滤。,BAT表结构,业务群标识符 bouquet_id:16字段,用于标识业务群。 每一个子表只能属于一个节目分组,并且只有一个bouquet_id唯一标识。 如把所有节目分为付费节目和免费节目,那么就应该有两个表以及对应的两个bouquet_id。 BAT表有两个大循环,分别存放不同的描述符,如第一个循环存放bouquet_name描述符,第二个循环存放这个分组所包括的所有节目描述(service_list_desc
19、riptor)。,TDT,TDT:Time and Date Table 时间和日期表 TDT仅传送UTC时间和日期信息。 TDT表只包含一个段。传输此表的TS包的PID值为0 x0014,table_id为0 x70。 此表一般1到5秒钟发一次,用于向机顶盒传送当前时间。 UTC时间 UTC_time:40位字段,包含以UTC和MJD形式表示的当前时间和日期。此字段前16位表示MJD日期码,其余24位按4位BCD编码,表示6个数字。,业务描述表(SDT) SDT表结构,SDT表被切分成业务描述段。任何构成SDT表的段,都要由PID为0 x0011的TS包传输。 描述现行TS的SDT表的任何段
20、的table_id值应为0 x42,且具有相同的tranport_stream_id以及相同的original_network_id。 指向一个现行TS之外的其它TS的SDT表的任何段的table_id值应取0 x46。,SDT表结构(续),一个SDT表描述了一个传输流下的所有或部分Service信息 SDT表有一个大循环,其中第一个循环描述了一个Service信息,如Service_type,Sevice_Name,Service属性等等。 Service_type: 数字电视业务0 x1 音频广播业务0 x2 NVOD类节目0 x5 数据广播业务0 xc 用户定义业务0 x87,SDT表的
21、for循环,for (i=0;iN;i+) / N即TS包括多少节目 service_id reserved_future_use EIT_schedule_flag EIT_present_following_flag running_status free_CA_mode descriptors_loop_length for (j=0;jN;j+)descriptor () ,SDT表的for循环(续),在SDT表的大循环中定义了如下字段: 1、EIT时间表标志 EIT_schedule_flag 1:业务的EIT时间表信息存在于当前TS中 0:业务的EIT时间表信息不在当前TS中 2、
22、EIT当前后续标志 EIT_present_following_flag 1:业务的EIT当前后续信息存在于当前TS中 0:业务的EIT当前后续信息不在当前TS中 3、自由条件接收模式 free_CA_mode 1:表示一路或多路码流的接收由CA系统控制 0:表示业务的所有组件都未被加扰,事件信息表EIT,EIT:Event Information Table 事件信息表 EIT按时间顺序提供每一个业务所包含的事件的信息。 按照不同table_id,有四类EIT: 1、现行传输流,当前/后续事件信息=table_id=0 x4E 2、其它传输流,当前/后续事件信息=table_id=0 x4F
23、 3、现行传输流,事件时间表信息=table_id=0 x500 x5F 4、其它传输流,事件时间表信息=table_id=0 x600 x6F,EIT(续),1、现行传输流的所有EIT子表都有相同的ts_id和network_id。 2、当前/后续表(Present/Following EIT) 只包含两个事件信息: 当前正在播放的事件描述 下一个将要播放的事件描述 NVOD业务是个例外,它可能包含两个以上的事件描述。 3、事件时间表(Schedule EIT) 对所有传输流,都包含了以时间表的形式出现的事件列表。 EIT时间表是可选的,事件信息按时间顺序排列发送。 EIT表被切分成事件信息
24、段。任何构成EIT表的段,都要由PID为0 x0012的TS包传输。,EIT表结构,段长度 section_length:12位字段,表示从该字段的下一个字节开始的本段的字节长度,并包含CRC。其不能超过4093,因此整个段的最大长度为4096字节。 片段最后段号 segment_last_section_number 尾表标识符 last_table_id 事件标识符 event_id 起始时间 start_time:40位字段,包含以UTC和MJD形式表示的事件的起始时间及日期。此字段前16位表示MJD日期码,其它24位按4位BCD编码,表示6个数字。如果事件起始时间未定,则所有位都置为1
25、。如:93/10/13 12:45:00被编码为0 xc079124500,每一个EIT表只描述一个Service的事件(Event)信息。 每一个事件对应一个EIT表中的循环描述。,Schedule EIT,一个Service可以包括16个Schedule EIT子表 一个子表可以包括256个Section,即32个Segment。一个Segment最多包括8个Section。 一个Segment包含3个小时的Event信息。,时间和日期表(TDT),时间和日期表TDT 仅传送UTC时间和日期信息。TDT表只包含一个段,传输此表的TS包的PID值为0 x0014,table_id为0 x70
26、。 时间和日期段的语义: 表标识符 table_id: 段语法指示符 section_syntax_indicator:1位字段,应置“0”。 段长度 section_length:12位字段,前两位置“00”。它表示从该字段的下一个字节开始的本段的字节长度。 UTC时间 UTC_time:40位字段,包含以UTC和MJD形式表示的当前时间和日期(见附录C)。此字段前16位表示MJD日期码,其余24位按4位BCD编码,表示6个数字。 例:93/10/13 12:45:00 被编码为 “0 xc079124500”。,TOT时间偏移表,TOT:Time Offset Table时间偏移表 时间偏
27、移表TOT包含UTC时间和日期信息及当地时间偏移。该表只包含一个符合表9语法的一个段,传输此表的TS包的PID值为0 x0014,table_id为0 x73 TOT给出了与当前时间、日期和本地时间偏移相关的信息,由于这些信息更新频繁,所以需要单独使用一个表。,运行状态表(RST),运行状态表(RST)能准确而迅速地的更新一个或多个事件的时间状态。因为时间表的变化,事件的开始可能提前或滞后,所以RST表的存在是非常必要的。使用一个独立的表可以保证快速更新机制的实现。 何构成RST表的段,都要由PID为0 x0013的TS包传输,table_id值为0 x71。,填充表(ST),填充表段用于在一
28、个传输系统的边界使当前段无效,例如在一个有线系统前端。当子表中的一个段被改写(填充)时,则该子表中的所有段都需要重写,以便保持section_number字段的一致性。 DIT和SIT较少用到,此处不作过多描述。,NIT,NIT:Network Information Table 网络信息表 NIT表关联给定网络下的各TS流,传递与TS流的物理结构相关的信息,以及与网络自身特性相关的信息 original_network_id和transport_stream_id两个标识符相结合唯一确定了网络中的TS流。,NIT表分类,现行网络的NIT表:描述当前网络的信息(table_id=0 x40)
29、其他网络的NIT表:描述其他网络的信息(table_id=0 x41),NIT结构,表标识符 table_id; 段语法指示符 section_syntax_indicator(1); 段长度 section_length:12位字段,前两位固定置为00。Section_length不能超过1021,这样整个段的最大长度为1024字节; 网络标识符 network_id 版本号 version_number:5位字段。标识子表的版本号。当子表包含的信息发生变化时,version_number加1。当值增至31时,复位为0。当current_next_indicator置1时,version_n
30、umber为由table_id和network_id定义的当前使用的子表的版本号。当current_next_indicator置0时,version_number为由table_id和network_id定义的下一个使用的子表的版本号。 当前后续指示符 current_next_indicator 1:当前子表正被使用 0:所传子表尚未被使用,它是下一个将被使用的子表,NIT结构(续),段号 section_number:8位字段,给出了段号。子表中的第一个段的section_number标为00。第增加一个具有相同的table_id和bouquet_id的段,section_number就加1。 最后段号 last_section_number:8位字段,表示所属的子表的最后一个段(即段号最大的段)的段号。 网络描述符长度 network_descriptors_length:12位字段,给出了从本字段的下一个字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服务器安全配置方法详解
- 2026年乡村旅游专业合作社运营章程与利润分配制度
- 2026年老年人防诈骗守好养老钱普法宣传
- 2026年生物基材料产能扩张与区域布局
- 环境卫生整治工作方案(25篇)
- 汽车报废更新与置换更新:2026年补贴标准与申请全流程
- 2026年海绵城市监测平台建设:100 监测点实时数据采集与分析
- 2026年年度温室气体排放量2.6万吨门槛自查方法
- 2026年端侧大模型在个人电脑本地运行低延迟隐私保护优势解析
- 2026年量子科技产业链式突破开启全新产业时代投资机会研判
- 2026年春季小学湘美版(2024)二年级下册美术教学计划、教案及每课教学反思(附目录)
- 2026年部编版新教材道德与法治二年级下册全册教案(含教学计划)
- 外科学课件-运动系统慢性损伤
- 高校教学课件:旅游景区服务与管理(第三版)
- 预应力混凝土空心板梁预制与架设
- 古建筑油漆彩绘施工方案
- 畜牧兽医专业《猪生产学》电子教案
- 阳台玻璃栏杆施工方案74050完整
- 人防绝缘电阻测试记录
- 重工作业管理办法(共5页)
- 隶书《曹全碑》偏旁部首全解析
评论
0/150
提交评论