




已阅读5页,还剩57页未读, 继续免费阅读
TS监测系统(数字电视码流分析系统)毕业设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本本 科科 毕毕 业业 设设 计 论文 计 论文 题题 目 目 TSTS 码流监测系统码流监测系统 学学 院 院 专专 业 业 光信息科学与技术光信息科学与技术 班班 级 级 学学 号 号 2121 号号 学学 生 生 指导教师 指导教师 职称 职称 副教授副教授 时间 时间 20112011 年年 6 6 月月 摘 要 我国目前采用的 DVB 标准是欧洲各国采用的数字电视标准 基带数据格式采 用 MPEG 2 标准 即视频和音频编码以及码流的复用均符合 MPEG 2 标准 DVB 标 准对 PSI 进行扩展后统称为服务信息即 SI 这些信息以及传输流的规范性对于 正确接收数字电视节目是至关重要的 随着 DVB 运用的扩展 前端 TS 流中的 PSI SI 表信息变化也很频繁 要求机顶盒等终端设备对 PSI SI 有动态监视的功 能 以便快速的对节目信息的变化产生响应 针对以上问题 本论文介绍了数字电视传输流的形成及特点并对数字电视码 流中 PSI 信息的各表中每个字段的含义做了具体的说明 分析了数字电视码流检 测系统应具备的功能 最后介绍了 TS 码流检测系统具备的功能和系统设计的过 程 最后在 Visual C 6 0 平台上用 C 语言编写了一个检测程序 该程序初步 实现了对 PSI 信息中的 PAT PMT CAT 和 NIT 四个表的分析 运行程序打开 TS 码流文件即可使数据能够清晰 直观的查看到打开的文件中所包含的 PSI 信息 并将此信息的完整数据以十六进制的形式显示在编辑框中 关键词 机顶盒 TS 码流 PSI SI 表 数字电视原理 ABSTRACT China DVB standard currently used in European digital TV standard used in the baseline data format uses MPEG 2 standard video audio encoding and multiplexing streams are in line with MPEG 2 standard DVB standard PSI has expanded and service information that is referred to as SI The flow of information and transfer the normative for the correct reception of digital television programs is essential With the expansion of the use of DVB TS in front of PSI SI table information changes very frequently requiring set top terminal equipment on the PSI SI has the function of the dynamic monitoring Alert the user in real time so that users have a choice to take appropriate action In view of the above question this thesis brief introduction of digital TV and concrete analysis PSI information that introduced TS streaming through the design process of detecting system Finally using Visual C 6 0 development tools and C C code design a test procedure the program preliminarily realized the PAT to PSI SI PMT CAT and NIT analysis Running the program open TS streaming files that data can clear intuitive view to open files contain PSI information and this information with complete data displayed in hexadecimal editor box Key words STB Transport Stream PSI SI digital television 目 录 第一章 绪论 1 1 1 本文的研究对象 1 1 2 本文的研究背景及意义 1 第二章 数字电视系统结构及传输流的形成 2 2 1 数字电视的特点及其信号传输标准 2 2 2 数字电视广播系统的结构 3 2 3 数字电视传输流的形成 3 2 4 传输流的结构及语法描述 5 第三章 数字电视 PSI SI 信息分析 7 3 1 PSI SI 信息的作用 7 3 2 PSI 信息各表的语法描述 8 3 3 数字电视节目定位与同步播放 13 第四章 TS 流监测系统设计与实现 16 4 1 WINDOWS 程序运行机制和 GUI 程序开发 16 4 2 TS 监测系统需求分析 18 4 2 1 系统检测位置分析 18 4 2 2 监测系统功能分析 18 4 3 监测系统程序设计 19 4 3 1 软件图形界面设计 19 4 3 2 软件内部运行框架设计 21 4 3 3 PSI 信息分析函数代码设计 22 4 4 软件测试与结果分析 25 第五章 结论 29 附 录 30 附录 1 程序部分代码及实现 30 附录 2 外文资料 38 附录 3 中文译文 39 参考文献 48 致 谢 49 江西理工大学 2007 届本科生毕业设计 论文 1 第一章 绪 论 1 1 本文的研究对象 随着数字电视技术的日渐成熟 我国电视网络的数字化也正在进行中 为了 保证数字电视网络的正常运转和传输质量 必须采取相应的监测设备作为辅助 码流分析仪就是适应数字电视网络的应用需求而开发的一种码流监测和分析设 备 数字电视系统包括编解码 复用和传输等多个环节 整个过程涉及的技术指 标较多 其中的关键参数影响着数字信号质量和整个系统的稳定性 所以必须对 关键技术参数进行了解和测试 在数字电视系统中 模拟视音频信号按照 MPEG 2 标准经过抽样 量化及压缩编码形成基本码流 ES 基本码流 ES 是不分段的连续 码流 把基本码流分割成段 并加上相应的头文件打包形成打包的基本码流 PES PES 包和包之间可以是不连续的 在传输时将 PES 包再分段打成有固定长度 1 88 字节的传输码流 TS TS 流经系统复用加入 PSI SI 及加密信息形成多路节目传输 流 最后根据传输途径的不同采用对应的调制方式及上变频形成射频信号在 HFC 网中传输 在用户终端经解码恢复模拟音视频信号 在数字电视系统中 TS 码 流参数和系统传输网络参数是需要了解和测试的重点内容 1 2 本文的研究背景及意义 当前我国正处在从模拟电视系统向数字电视系统的转型期 数字电视用户数 量激增 在大中城市数字电视应用已经得到了普及在未来的几年数字电视将在中 小城市及广大农村地区得到普及 在应用逐渐广泛的数字电视系统中 监控数字 电视服务正成为一种越来越迫切的需要 然而 目前对于数字电视并没有合适的 监测仪器 因此无法及时方便地诊断出现问题的信号以及隔离需要维修的数字化 设备 通常只有当电视屏幕上的图像消失后经过逐步排查后 我们才知道数字信 号系统出了问题 几乎没有任何线索可以用来找到问题的所在或原因 码流分析 仪器在这种情况下应运而生 把码流检测系统部署在数字电视系统的各个位置实 时监测数字电视系统的运作状 当数字电视系统的任何一个部分出现问题时都能 及时的发现并隔离出现问题的数字设备最终以最快的速度恢复数字电视系统的 正常运行 这种通过监控了解数字视频广播 DVB 信号和服务的状况从而采取措 施比通过观众的反映而采取措施要主动和及时得多 传输流 TS 的测试设备可使 技术人员分析码流的内部情况 准确定位到出现问题的设备 所以码流监测系统 在决定未来数字电视服务质量和客户满意度方面将扮演重要的角色 江西理工大学 2007 届本科生毕业设计 论文 2 第二章 数字电视系统结构及传输流的形成 2 1 数字电视的特点及其信号传输标准 数字电视就是将传统的模拟电视信号经过抽样 量化和编码转换成用二进制 数表示的数字式信号然后进行各种功能的处理 传输 存储和记录 也可以用电 子计算机进行处理 监测和控制 采用数字技术不仅使各种电视设备获得比原有 模拟设备更高的技术性能 而且还具有模拟技术不能达到的新功能 相比模拟电 视数字电视具有较高的信号传输质量 不会产生噪声 易于存储 便于数字化处 理 图像清晰度高等优点 有了数字电视的技术 人们得以开发丰富多彩 眼花缭乱的音视频效果 还 可以进行软件下载 软件维护与升级和数据广播 满足多种个性化需求 可开展 交互业务 实现上网浏览 收发邮件 电视购物 远程教学 远程医疗 股票交 易和信息咨询 可维护节目制作商 网络运营商和合法用户等各方面的权益 可 管理系统中各级的权限等 随着数字电视技术的发展以及三网融合 数字电视将 有更多的发展空间 产生更多 更新的功能 派生大量全新的服务形态 数字电视按信号传输方式可以分为数字卫星电视 数字有线电视和数字地面 开路电视 我国的数字电视使用欧洲的 DVB 标准 digital video broadcast 标准 DVB 是数字视频广播 Digital Video Broadcast 的缩写 是由 DVB 项目维 护的一系列国际承认的数字电视公开标准 数字电视主要使用的标准中还有美国 的 ATSC 标准和日本的 ISDB 标准 DVB 项目是一个由 300 多个成员组成的工业组织 它是由欧洲电信标准化组 织 European Telecommunications Standards Institute ETSI 欧洲电子标 准 化 组 织European Committee for Electrotechnical Standardization CENELEC 和欧洲广播联盟 European Broadcasting Union EBU 联合组成的联 合专家组 Joint Technical Committee JTC 发起的 在我国数字卫星电视使用 DVB S 标准 数字有线电视使用 DVB C 标准 数字地面广播系统使用 DVB T 标准 DVB 中各种传输方式的主要区别在于使用的调制方式 因为不同它们应用的频率 带宽的要求不同 利用高频载波的 DVB S 使用 QPSK 调制方式 利用低频载波的 DVB C 使用 QAM 64 调制方式 而利用 VHF 及 UHF 载波的 DVB T 使用 COFDM 调制 方式 江西理工大学 2007 届本科生毕业设计 论文 3 2 2 数字电视广播系统的结构 图 2 1 数字电视广播系统原理 如图 2 1 所示数字电视系统由前端 信源部分 传输与分配网络 信道部 分 以及终端 信宿部分 组成 数字电视前端通常可划分为信源处理 信号处理和传输处理等三大部分 共 同完成电视节目和数据信号采集 模拟电视信号数字化 数字电视信号处理与节 目编辑 节目资源与质量管理 节目加扰 授权 认证和版权管理 电视节目存 储与播出的功能 前端设备主要包括 数字摄像机 数字录像机 非线性编辑器 音频编解码 器 视频编解码器 TS 流复用器 信道编解码器 调制解调器等 数字电视信号传输与分配网络主要包括卫星广播 各级光线 有线宽带网 地面无线传输等 既可单项传输活发射 也可组成双向传输与分配网络 数字电视终端可采用数字电视接收器 数字机顶盒 和显示器方式 或数字 电视接收一体机等 既可只具有收看数字电视节目的功能 也可构成交互式终端 2 3 数字电视传输流的形成 数字电视传输流的形成如图 2 2 所示 数字电视广播系统的信源部分的打包 器把压缩编码后的音频 视频数据打包成 PES 包然后和节目特定数据的码流通过 江西理工大学 2007 届本科生毕业设计 论文 4 复用器复用后行成单路串行的传输比特流 这个过程统一遵循 MPEG 2 标准 经 过复合后的传输流叫做 TS 流 图 2 2 MPEG 2 系统简化图 MPEG 2 是由 ISO IEC 推出的图像 声音压缩的国际标准 其输出图像质量 达到了广播级 广泛用于多媒体通信 数字电视 视频点播等领域 MPEG 2 的 传输流 TS 流 主要用于远程通信和广播中 在 DVB 标准的数字广播电视系统 中也是用 TS 流传送节目数据 由图 2 2 可见 视频和音频编码后输出的是视频和音频的基本码流 ES 流 ES 流是一种连续的数据流 经过打包后输出的是包基本流 PES 流 包基本流 的长度是不确定的 视频通常是一帧图像一个包 音频包长度通常为一个音频帧 打包的视频 音频基本码流再经过复用打包后可形成两种不同的码流 即节目流 PS 和传输流 TS 从打包开始便属于 MPEG 2 的系统范畴 节目流和传输流 的码率都是可变的 但节目流的速率是由系统时钟参考 SCR 定义的 而传输流的 速率则是由节目时钟参考 PCR 决定的 节目流主要用在干扰小的环境中 传输流 主要用在信道存在较大干扰容易产生误码的环境中 本文主要讨论传输流的应 视频数据 音频数据 音频 ES 视频 ES 图像编码器 音频编码器 打包器 打包器 视频 PES 声音 PES 传 输 流 复 用 节目特定数据 SPTS SPTS SPTS PSI SI 信息 多 路 复 用 MPTS MPEG 2 系统定义 DVB 系统定义 江西理工大学 2007 届本科生毕业设计 论文 5 用 PES 分组的目的是为了保证声音和视频的同步播放 如图 2 2 所示 ES 流数 据在进行传输流复用之前先要进行 PES 分组 打包 PES 包分为包头和有效负 载两部分 分组首部含有起始码 0 x000001 解码时间戳 DTS 显示时间戳 PTS 码率信息以及数据描述等信息 PES 包头部也可包含其他的可选字段 PES 包的有效负载部分则包含来自一个基本流的长度可变的连续字节串 形成的 PES 包要继续分割为 TS 包或者 PS 包 这就是图 2 2 中传输流复用的第一步 目 的是以合适的数据结构来组织压缩数据 使得压缩的音视频数据能正确的传输 TS 包 2 4 小节详细介绍 是固定的 188 字节长度 分为包头 调整字段 可选 和有效负载 可选 三个部分 包头主要包含同步字节 0 x47 PID 等信息 调整字段控制控制这些携带控制信息的字段 调整字段主要包含对解码有用的信 息 最后的有效负载中承载 PES 包的内容 在传输流复用的最后是系统层控制信息 PCR PSI 信息的插入 规定 PCR 与 PSI 具有相同的重复间隔 40ms 根据复用器输出速率恒定的机制 可用计数 器计数已生成的 TS 包个数的方法间接定时 一旦检测到时间间隔标记 则在打 包的下一视频 TS 包中插入 PCR 时间标记 同时在随后的包中放入 PSI 分段信息 从图 2 2 可以看到 只包含单节目的 TS 传输流系统属于 MPEG 2 系统 如果 单节目复用为一路TS传输流后又与其他多个TS流复用成一个多路节目的传输流 则称为DVB系统 MPEG 2系统与DVB系统的码流结构是一样的 DVB系统比MPEG 2 系统多了 SI 信息 但分析思路是一致的 2 4 传输流的结构及语法描述 TS 流是根据 ITU TRec H 222 0 ISO IEC 13818 2 和 ISO IEC 13818 3 协 议而定义的一种数据流 其目的是为了在有可能发生严重错误的情况下进行一道 或多道程序编码数据的传送和存储 这种错误表现为比特值错误或分组丢失 传 输流由一道或多道节目组成 每道节目由一个或多个原始流和一些其他流复合在 一起 包括视频流 音频流 节目特定信息流 PSI 业务信息 SI 和其他数 据包 TS 的全称则是 Transport Stream MPEG TS 主要应用于实时传送的节目 比如实时广播的电视节目 TS 即是 Transport Stream 的缩写 它是分包发送 的 每一个包长为 188 字节其中包头 4 个字节 负载 184 个字节 另外还有一种 为 204 字节的包其仅仅是在 188 字节的 Packet 后部加上 16 字节的 CRC 数据 其 他格式是一样的 包格式都是统一的 包括一个 Packet header 和 Packet datas 其中 Packet header 包含了同步字节 该字节固定是 0 x47 表示这个包的数据开 江西理工大学 2007 届本科生毕业设计 论文 6 始是正确的 该 Packet 的唯一号码 即 PID 和其他一些信息 具体信息如图 2 3 所示 图 2 3 传输流结构图 从系统层的角度来看 TS 包的结构一般有以下几种 有调整字段又有有效 负载 只有调整字段没有有效负载 只有有效负载没有调整字段 这里所说的有 效负载是指 PES 包所包含的信息 携带有系统层信息 如 PSI 和 SI 的数据包 不含有效负载 传输流包可以为空包 空包用于填充传输流 也可能在复合处理中被插入或 删除 因此并不能假定空的分组会作为有效负载数据而被传送到解码器 江西理工大学 2007 届本科生毕业设计 论文 7 第三章 数字电视 PSI SI 信息分析 3 1 PSI SI 信息的作用 数字电视业务信息由 PSI 和 SI 两部分构成 PSI 是 MPEG 2 系统规定的 它 由 PAT PMT CAT 和 NIT 四个表构成 SI 是由 DVB 系统标准所规定的 它主要 由 BAT SDT EIT RST TDT 等表构成 在 DVB 标准中 定义了一个标准的 PID 用来实现 SI PSI 这些 PID 是系统 保留的 因此 DVB 编码的时候并不会用这些 PID 做为 Video PID 或者 Audio PID 或者其他 PID 在一个简单的解复用程序中 只需要提供处理 PAT PMT 表格的程 序即可实现解复用 当然如果需要更友好的界面和实现 更复杂的功能 如 CA 则必须处理其他的 SI 表 本文仅讨论 PSI 信息 DVB 定义的 PSI 保留的 PID 如表 3 1 所示 表 3 1 MPEG 2 中 PSI 信息的 PID 分配 表名表名 PID 号号 描述描述 段号段号 节目关联表 PAT 0 x0000 将节目号与节目映射表的 PID 相关联 0 x00 节目映射表 PMT 在 PAT 表中 指定 指定组成一个或多个节目的视频码流 音 频码流 数据流所在的 TS 包的 PID 0 x02 条件接收表 CAT 0 x0001 提供一个或多个条件接收系统授权管理消 息 EMM 所在 TS 包的 PID 值 0 x03 网络信息表 NIT 0 x0010 载有物理网络参数 0 x40 传输流描述表 TSDT 0 x0002 提供传输流的一些主要参数 0 x42 PSI 指定了如何从一个携带多个节目的传送流中正确找到特定的节目 当接 收机要接收某一个指定节目时 它首先从节目关联表 PAT 表 中取得这个节目 的节目映射表的 PID 值 然后从 TS 中找出与此 PID 值相对应的节目映射表 PMT 表 从这个节目的 PMT 表中获得构成这个节目的基本码流 PES 的 PID 值 根 据这个 PID 值滤出相应的视频 音频和数据等基本码流 解码后复原为原始信号 删除含有其余 PID 的传送包 PAT 表和 PMT 表对节目音频和视频的基本流信息的推出关系如图 3 1 所示 江西理工大学 2007 届本科生毕业设计 论文 8 图 3 1 PAT 表 PMT 表和音频视频包的推出关系 节目特定信息表以分段的形式传输 每种表的分段又有不同的段号 段号的 分配也由标准所规定 PSI 信息中各表的段号分配如上表所示 每个段的长度不 超过 1024 字节 当段长超过 184 字节时便要在多个 TS 包中传输一个分段 3 2 PSI 信息各表的语法描述 1 PAT 表及其描述 节目关联表 PAT 由 PID 为 0 x0000 的 TS 包传送 PAT 包含了与多路节目 复用有关的控制信息 每个 TS 必须有一个完整有效的节目关联表 它的主要作 用是针对复用的每一路 TS 指明 TS 中包含哪些节目 节目的编号以及每套节目 对应的节目映射表 PMT 的 PID 同时还提供网络信息表 NIT 的 PID PAT 表被切分成节目关联段在 TS 流中传输 其分段的语法结构如表 3 2 所 示下 N 是一个变量 计算方法是 N section length 9 4 表 3 2 PAT 表的语法描述 program association section table id 8biTS 标志本表格的类型 应该是0 x00 section syntax indicator 1bit 段语法标志 应该是 1 PAT 表 PMT 表 1 PMT 表 2 PMT 表 N 音 频 1 包 视 频 1 包 其 他 数 据 包 音 频 2 包 视 频 2 包 其 他 数 据 包 音 频 N 包 视 频 N 包 其 他 数 据 包 江西理工大学 2007 届本科生毕业设计 论文 9 0 固定的 0 这是为了防止和 ISO13818Video 流格式中的控制字冲突而设置的 reserved 保留的2biTS 保留位一般都是 0 section length 12biTS 的段大小 单位是 Bytes transport stream id 16biTS 的当前流 ID DVB 内唯一 version number 5biTS 版本号码 标注当前节目的版本 这是个非常有用的参数 当检 测到这个字段改变时 说明 流中的节目已经变化了 程序必须重新搜索节目 current next indicator 1bit 当前还是未来使用标志符 一般情况下为 0 section number 8biTS 当前段号码 last section number 8biTS最后段号码 section number和last section number的功能 是当 PAT 内容 184字节时 PAT 表会分成多个段 sections 解复用程序必须在全部接收完 成后再进行 PAT 的分析 从 for 开始 就是描述了当前流中的频道数目 N 每一个频道对应的 PMT 表的 PID 是什么 for i 0 i N i program number reserved if program number 0 network pid else program map pid CRC 32 本段的 CRC 校验值 一般是会忽略的 PAT 表的目的是告诉接收机 这个 TS 中有多少路的节目 犹豫数字电视和 模拟电视不同 传统意义上的模拟频点 经过数字调制后 往往可以传输多路节 目 因此 需要一个指引来告诉接收机 此 TS 流中所存在的节目 这就是 PAT 循环体中的 N 值 2 PMT 表及其描述 节目映射表 PMT 在 TS 流中 PID 号由 PAT 中的信息指定 它包含了与单路 节目复用相关的控制信息 PMT 完整的描述了一路节目由哪些包来构成 这些包 包括视频 音频等 PMT 表中将给出这些信息所在 TS 流中的 PID 节目映射表给出了节目号和组成该节目的各路数据包之间的映射 节目映射 江西理工大学 2007 届本科生毕业设计 论文 10 段得语法结构和各字段的语义如表 3 3 所示 表 3 3 PMT 分段的语法描述 TS program map section table id 8biTS 的 ID 应该是0 x02 section syntax indicator 1bit 的段语法标志 应该是 1 0 固定是 0 如果不是说明数据有错 reserved 2biTS 保留位 应该是 00 section length 16biTS 段长度 从 program number 开始 到 CRC 32 包含 的字节总数 program number 16biTS 的频道号码表示当前的 PMT 关联到的频道 reserved 2biTS 保留位 应该是 00 version number 版本号码 current next indicator 当前未来标志符 一般是0 section number 当前段号码 last section number 最后段号码 含义和 PAT 中的对应字段相同 请参考 PAT 部分 reserved 3biTS 保留位 一般是 000 PCR PID 13biTS 的 PCR PID 具体请参考 ISO13818 1 解复用程序不使用该参数 reserved 4biTS 保留位 一般是 0000 program info length 节目信息长度 之后的是 N 个描述符结构 一般可以忽略掉 这个 字段就代表描述符总的长度 单位是 Bytes for i 0 i N i Descriptor 描述符 for i 0 i N i 紧接着就是频道内部包含的节目类型和对应的 PID 号码了 stream type 8biTS 流类型 标志是 Video 还是 Audio 还是其他数据 reserved 3biTS 保留位 elementary PID 13biTS 对应的数据 PID 号码 如果 stream type 是 Video 那么这 个 PID 就是 Video PID 如果 stream type 标志是 Audio 那么这 个 PID 就是 Audio PID reserved 4 biTS 保留位 ES info length 和 program info length 类似的信息长度 其后是 N2个描述符号 for i 0 i N i Descriptor 江西理工大学 2007 届本科生毕业设计 论文 11 CRC 32 32biTS 段末尾是本段的 CRC 校验值 一般忽略 PMT 表中比较重要的字段是 PCR PID 这个值是作为节目的时钟参考存在的 简单的可以理解成音频和视频同步所需要的信息在 TS 中所在的 PID 接收机可 以根据这个 PID 得到这个业务的 PCR 值 并根据这个值去同步视频流和音频流 PMT 中最重要的部分是其中的循环体 这个循环体告诉接收机这个业务中包 含了多少个基本流 依靠循环体中的 stream type 何 elementary PID 还可以 知道这些基本流的类型和它所在的 PID 接收机知晓了这些基本流的类型后 就 可以用正确的模块对比进行处理 3 CAT 表及其描述 条件接收表 CAT 由 TS 流中 PID 为 0 x0001 的 TS 包传送 它提供了在 TS 中条件接收系统的相关信息 指定 CA 系统与它们相应的授权管理信息之间的联 系 指定 EMM 所在 TS 包的 PID 以及其他相关的参数 只有授权的解码器才能 由 CAT 收到密钥 解码出相应的数据流 条件接收表 CAT 给出了一个或多个 CA 系统 它们的 EMM 流和任何与它们 相关的特定参数之间的关系 该表被切分成多个段 每段的语法结构和个字段的 语义如表 3 4 所示 表 3 4 CAT 表语法描述 CA section 条件接收字段 table id 8 biTS 标志本表格的类型 应该是0 x03 section syntax indicator 1 bit 段语法标志 应该是 1 0 固定的 0 Reserved 保留的2biTS 保留位一般都是 0 section length 12biTS 的段大小 单位是 Bytes version number 5biTS 版本号码 current next indicator 1bit 当前还是未来使用标志符 一般情况下为 0 section number 8biTS 当前段号码 last section number 8biTS 最后段号码 for i 0 i N i 从 for 开始 就是描述了当前段中包含的描述符的个数 descriptor 江西理工大学 2007 届本科生毕业设计 论文 12 CRC 32 本段的 CRC 校验值 一般是会忽略的 4 NIT 表及其描述 网络信息表 NIT 主要描述的是一个数字电视网络中与网络相关的信息 它传递了与通过一个给定的网络传输的复用流 TS 流的物流结构相关的信息 以及与网络自身特性相关的信息 在 MPEG 2 中 NIT 属于私有表 传送 NIT 的 TS 包的 PID 可在 0 x0010 0 x1FFE 之间选择 在 DVB 的 SI 中网络信息段被固定为 PID 0 x0010 这样接收 NIT 时就不必去从 PAT 中查找 NIT 段的语法描述如表 3 5 所示 表 3 5 NIT 表的语法描述 Netwok information section 网络信息段 Table id 8bit 表标识 Section syntax indicator 1bit 段序列指示 标记位 此值 1时 规定从 section 第43位开始 的5位是版本号 Reserved future use 1bit 保留将来使用字段 Reserved 2bit 保留字段 Section length 12bit 段长度 Network id 16bit 网络标识 Reserved 2bit 保留字段 Version number 5bit 表版本号 作为表更新机制 Current next indicator 1bit 当前 下一个有效指示位 标记位 表示当前表是否有效 如果该字段值为1 则当前表有效 0表示当前表无效 Section number 8bit 当前段段号 Last section number 8bit 最后段号 反映了这个子表由多少个段组成 如其值为0X01 那么表示这个子表由两个段组成 Reserved future use 4bit 保留将来使用字段 Network description length 12bit 网络描述符长度 for i 0 i N i 获取网络 descriptor 读取网络描述参数 网络名称描述符 连接描述符 reserved future use 4bit 保留将来使用字段 transport stream loop length 12bit 传输流循环长度 for i 0 i N i 获取传输流 整个系统的传输流 transport stream id 16bit 传输流标识 original network id 16bit 原始网络标识 reserved future use 4bit 保留将来使用字段 transport descriptors length 12bit 传输描述符长度 for j 0 j 7 m ctrlTree InsertItem strText PATSection strText Format s 0 x x table 2 m buffer start 1 m ctrlTree InsertItem strText PATSection strText Format s 0 x x table 3 m buffer start 3 1 m ctrlTree InsertItem strText PATSection strText Format s 0 x x table 5 m buffer start 5 m ctrlTree InsertItem strText PATSection strText Format s 0 x x table 6 m buffer start 6 m ctrlTree InsertItem strText PATSection strText Format s 0 x x table 7 m buffer start 7 m ctrlTree InsertItem strText PATSection 江西理工大学 2007 届本科生毕业设计 论文 32 分析 program 信息并将 PMT 表的信息写入 到 pmt table 中 strText Format s table 8 HTREEITEM Program m ctrlTree InsertItem strText PATSection number of program 8 m buffer start 1 此处的 numberofprogram 包含了 NIT 表的数目 for unsigned int j2 0 j 0 j number of program j if 0 x00 m buffer start 8 j 4 pid 0 x 02x d m buffer 13 j 4 8 m buffer 14 j 4 m buffer 13 j 4 8 m buffer 14 j 4 m buffer start 10 j 4 m ctrlTree InsertItem strText Program pmt table j2 programnumber m buffer start 8 j 4 8 m buffe r start 9 j 4 写入节目编号 pmt table j2 pid m buffer start 10 j 4 8 m buffer start 11 j 4 写入相应节目的 PID 号 j2 number of program j2 分析 CRC 数据 unsigned int position 8 m buffer start 1 unsigned int data m buffer position 24 m buffer position 1 16 m buffer position 2 SetWindowText NULL 清空编辑框中的信息 GetDlgItem IDC EDIT2 SetWindowText NULL 清空编辑框中的信息 4 OnAbout 函数的实现 void CTSrDlg OnAbout CAboutDlg dlgAbout1 dlgAbout1 DoModal 5 双击树形控件的响应函数 OnDblclkTree1 实现 void CTSrDlg OnDblclkTree1 NMHDR pNMHDR LRESULT pResult if PATSection m ctrlTree GeTSelectedItem 如果双击了 PAT 的段 LONG lOffset psi location PAT location openfile Seek lOffset CFile begin packet read CString edit view 0015 CString temple CString bytes number 13 0030 0045 0060 0075 0090 0105 0120 0135 0150 0165 0180 0195 0210 int lines 0 for int n 6 n m buffer 6 CString edit view2 edit view2 Format section index d r nsection data size d r n 0 m buffer 6 if CATSection m ctrlTree GeTSelectedItem 如果双击了 CAT 的段 LONG lOffset psi location CAT location openfile Seek lOffset CFile begin packet read CString edit view 0015 CString temple CString bytes number 13 0030 0045 0060 0075 0090 0105 0120 0135 0150 0165 0180 0195 0210 int lines 0 for int n 6 n m buffer 6 在编辑框一中显示信息 CString edit view2 edit view2 Format section index x r nsection data size d r n 0 m buffer 6 for unsigned int i 0 i number of program i if PMTSection i m ctrlTree GeTSelectedItem 如果双击了 PMT 的某个段 江西理工大学 2007 届本科生毕业设计 论文 35 LONG lOffset pmt table i location openfile Seek lOffset CFile begin packet read CString edit view 0015 CString temple CString bytes number 13 0030 0045 0060 0075 0090 0105 0120 0135 0150 0165 0180 0195 0210 int lines 0 for int n 6 n m buffer 6 edit view bytes number lines edit view GetDlgItem IDC EDIT2 SetWindowText edit view CString edit view2 edit view2 Format section index d r nsection data size d r n 0 m buffer 6 for int j 0 j number of NITSection j if nit section j NITSection m ctrlTree GeTSelectedItem 如果双击了NIT的段 CString edit view CString temple for int n 1 n2 edit view r n edit view 江西理工大学 2007 届本科生毕业设计 论文 36 GetDlgItem IDC EDIT2 SetWindowText edit view CString edit view2 edit view2 Format section index d r nsection data size d r n j nit section j section length GetDlgItem IDC EDIT1 SetWindowText edit view2 pResult 0 6 TSpackeTS 中各函数的实现 判断流文件的类型为 188 字节还是 204 字节 int TSpackeTS judge CFile open file unsigned char buffer 2040 memset buffer 0 sizeof buffer open file Read buffer sizeof buffer for int i 0 iRead buff TScractor header transport error indicator buff 1 7 header payload unit start indicator buff 1 6 header transport priority buff 1 5 header PID buff 1 8 buff 2 buff 1 6 header adaptation field control buff 3 4 header continuity counter buff 3 if open file GetPosition open file GetLength return 1 return 0 void TSpackeTS locate pfile CFile open file open file SeekToBegin unsigned int i 1 unsigned char buffer1 2040 do memset buffer1 0 sizeof buffer1 open file Read buffer1 sizeof buffer1 if 0 x47 buffer1 0 break else open file Seek i CFile begin 将 TS 文件指针定位到第一个有效字节 i while iGetLength sizeof buffer1 江西理工大学 2007 届本科生毕业设计 论文 38 附录 2 外文资料 见复印页见复印页 江西理工大学 2007 届本科生毕业设计 论文 39 附录 3 中文译文 英文资料来源 Keith Jack 著 Video Demystified A Handbook for the Digital Engineer Fourth Edition 第 13 章 8 1 8 2 小节 传输流 传输流是一种流定义 适用于在一个可能发生较多错误的环境中传输 例如长距 离传输和环境嘈杂的传输环境中 ARIB ATSC DVB 数字广播和 OpenCable 等 标准都使用传输流 一个传输流中包含一个或多个时间基相互独立的节目 每个节目在传输流中有自 单独的时间基 同一个传输流中不同的节目可能有不同的时间基 传输流包含一个或多个 188 字节的包 每个包的数据由 PES 数据 PSI 数据的分 段 填充字节或者私有数据组成 除了 MPEG 2 数据外 MPEG 4 微软多媒体数 据和其他的数据也会使用 MPEG 2 传输流传送 每个数据包的开始是一个包标识符 PID 该标识符能让解码器识别并决定如何 处理该数据包 如果 MPEG 数据是使用 多种渠道发送每载体 此时解码器使用 PIDs 识 别哪些包是当前频道中被监视和记录的并且提取相关的包做处理放弃其他的包 系统信息 SI 如 节目向导 频道频率等信息也被分配一个固定的 PID 值 传输流的一般格式如图 13 23 所示 注意起始代码 000001xxH 前必须插入 0 7 个 0 使起始代码对齐 江西理工大学 2007 届本科生毕业设计 论文 40 包层 包层 Packet LayerPacket Layer 每个包的数据在紧随可选的填充字段或者一个或多个数据包之后有一个包头 同步字节 同步字节 sync bitsync bit 这 8 位有固定的数值 01000111 传输错误指示 传输错误指示 Transport error indicatorTransport error in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工现场机械设备管理
- 图形图像处理数码照片处理之缔造完美肌肤21课件
- 输电线路遥控调度方案
- 消防设施日常检查与维护方案
- 一矿物质概念及特点安徽医学高等专科学校79课件
- 水电基础知识培训资料课件
- 二零二五年度安防监控安装工程一切险保险协议
- 2025版图书馆数字资源与实体图书购销一体化协议
- 二零二五年度军队房地产租赁合同续签审批文件页2
- 二零二五年度离婚案件律师全面代理协议
- 从《大学衍义补》窥探丘濬法律思想的时代映照与传承价值
- 肿瘤药物配制注意事项
- GB/T 22126-2025物流中心作业通用规范
- 2025至2030年中国光接入系统设备行业发展前景及投资战略咨询报告
- 土地 赠与协议书
- 非遗数字技术课件
- 2024-2025学年吉林省吉林十二中高一(下)期末数学试卷(含答案)
- 2025年全国招标采购专业技能大赛(央企组)复习题及答案-竞赛类
- 疾病诊断讲课
- 手术室术中无菌技术课件
- 2025年食品安全培训考试试题(含答案)
评论
0/150
提交评论