没有合适的资源?快使用搜索试试~ 我知道了~
首页MPEG2 TS 系统介绍
MPEG2 TS 系统介绍
5星 · 超过95%的资源 需积分: 0 94 下载量 68 浏览量
更新于2023-03-16
评论 1
收藏 1.97MB DOC 举报
MPEG2-TS(Transport Stream“传输流”;又称 MTS、TS)是一种传输和存储包含音效、图像与通信协议各种数据的标准格式,用于数字电视广播系统,如 DVB、ATSC、IPTV 等等。 本文档将MPEG2-TS介绍得非常清晰。
资源详情
资源评论
资源推荐
TS 系统解码
TS 系统解码.......................................................................................................................................1
1 TS 流的内容....................................................................................................................................2
1.1 ES.........................................................................................................................................2
1.2 PES.......................................................................................................................................2
1.3 TS.........................................................................................................................................8
2 TS 流的解码过程(只考虑本地文件,解码只涉及到系统层打包的解码,不涉及到编码的
解码)...............................................................................................................................................10
2.1 PAT 解码:........................................................................................................................10
2.2 PMT 解码...........................................................................................................................10
2.3 音视频解码........................................................................................................................11
3 TS 流解码......................................................................................................................................12
3.1 总用例图............................................................................................................................12
3.2 各解码类的 UML 图.........................................................................................................13
3.2.1 解码主类.................................................................................................................13
3.2.2 事件管理类.............................................................................................................14
3.2.3 各类包解析的关系图.............................................................................................15
3.2.4 输入输出类.............................................................................................................16
3.2.5 解析 PAT、PMT、私有数据等.............................................................................17
3.2.6 解析 TS 包..............................................................................................................18
3.2.7 解析 PES 包............................................................................................................19
3.2.8 PCR 时钟类............................................................................................................20
3.2.9 CRC 校验类............................................................................................................21
3.3 解码流程图........................................................................................................................22
3.3.1 TS 包解析流程图..................................................................................................22
3.3.2 Section 解码流程图...............................................................................................23
3.3.3 PES 解码流程图....................................................................................................24
4 TS 流合成(编码).....................................................................................................................25
4.1 各编码类的 UML 图.........................................................................................................25
4.1.1 编码主类.................................................................................................................25
4.1.2 合成各类之间的关系.............................................................................................26
4.2 编码主要流程....................................................................................................................27
4.2.1 TS 编码流程图.......................................................................................................27
4.2.2 负载(pes、section)打包过程............................................................................28
附表一:..........................................................................................................................................29
附表二:..........................................................................................................................................31
1 TS 流的内容
TS->PES->ES->NAL
1.1 ES
An elementary stream (ES) is defined by MPEG communication protocol is usually
the output of an audio or video encoder.
1.2 PES
allows an Elementary stream to be divided into packets.
图一:PES 结构图
PES 结构各字段的具体含义见附表一。
由图一可见,1 个 PES 包是由包头、ES 特有信息和包数据 3 个部分组成。由于包头和
ES 特有信息二者可合成 1 个数据头,所以可认为 1 个 PES 包是由数据头和包数据(有效载
荷)两个部分组成的。
包头由起始码前缀、数据流识别及 PES 包长信息 3 部分构成。包起始码前缀是用 23 个
连续“0”和 1 个“1”构成的,用于表示有用信息种类的数据流识别,是 1 个 8 bit 的整数。由
二者合成 1 个专用的包起始码,可用于识别数据包所属数据流(视频,音频,或其它)的
性质及序号。例如:
比特序 1 1 0 ×××××是号码为××××的 MPEG-2 音频数据流; 比特序 1 1 1 0 ××××是号码
为××××的 MPEG-2 视频数据流。
PES 包长用于包长识别,表明在此字段后的字节数。如,PES 包长识别为 2 B ,即 2×8
= 16 bit 字宽,包总长为 216-1=65535 B,分给数据头 9 B(包头 6 B + ES 特有信息 3 B ),
可变长度的包数据最大容量为 65526 B 。尽管 PES 包最大长度可达(216 -1)=65535
B(Byte),但在通常的情况下是组成 ES 的若干个 AU 中的由头部和编码数据两部分组成
的 1 个 AU 长度。1 个 AU 相当于编码的 1 幅视频图像或 1 个音频帧,参见图一右上角从 ES
到 PES 的示意图。也可以说,每个 AU 实际上是编码数据流的显示单元,即相当于解码的
1 幅视频图像或 1 个音频帧的取样。
ES 特有信息是由 PES 包头识别标志、PES 包头长信息、信息区和用于调整信息区可变
包长的填充字节 4 部分组成的 PES 包控制信息。其中,PES 包头识别标志由 12 个部分组成:
PES 加扰控制信息、PES 优先级别指示、数据适配定位指示符、有否版权指示、原版或拷
贝指示、有否显示时间标记( PTS-Presentation Time Stamp)/解码时间标记(DTS-Decode
Time Stamp)标志、PES 包头有否基本流时钟基准(ESCR-Elementary Stream Clock Reference)
信息标志、PES 包头有否基本流速率信息标志、有否数字存储媒体(DSM)特技方式信息
标志、有否附加的拷贝信息标志、PES 包头有否循环冗余校验(CRC-Cyclic Redundancy
Check)信息标志、有否 PES 扩展标志。有扩展标志,表明还存在其它信息。如,在有传
输误码时,通过数据包计数器,使接收端能以准确的数据恢复数据流,或借助计数器状态
识别出传输时是否有数据包丢失。
其中,有否 PTS/DTS 标志,是解决视音频同步显示、防止解码器输入缓存器上溢或下
溢的关键所在。因为, PTS 表明显示单元出现在系统目标解码器( STD-System Target
Decoder)的时间, DTS 表明将存取单元全部字节从 STD 的 ES 解码缓存器移走的时刻。
视频编码图像帧次序为 I1P4B2B3P7B5B6I10B8B9 的 ES,加入 PTS/DTS 后,打包成一个个
视频 PES 包。每个 PES 包都有一个包头,用于定义 PES 内的数据内容,提供定时资料。每
个 I、P、B 帧的包头都有一个 PTS 和 DTS,但 PTS 与 DTS 对 B 帧都是一样的,无须标出 B
帧的 DTS。对 I 帧和 P 帧,显示前一定要存储于视频解码器的重新排序缓存器中,经过延
迟(重新排序)后再显示,一定要分别标明 PTS 和 DTS。例如,解码器输入的图像帧次序
为 I1P4B2B3P7B5B6I10B8B9,依解码器输出的帧次序,应该 P4 比 B2、B3 在先,但显示
时 P4 一定要比 B2、B3 在后,即 P4 要在提前插入数据流中的时间标志指引下,经过缓存
器重新排序,以重建编码前视频帧次序 I1B2B3P4B5B6P7B8B9I10。显然,PTS/DTS 标志
表明对确定事件或确定信息解码的专用时标的存在,依靠专用时标解码器,可知道该确定
事件或确定信息开始解码或显示的时刻。例如,PTS/DTS 标志可用于确定编码、多路复用、
解码、重建的时间。
------------------------------------------------------------------------------------------
-----
注:节目特定信息(PSI):
由上述可知,1 个 TS 包由固定的 188B 组成,用于传送已编码视音频数据
流的有用信息占用 184B 空间。但是,还需要传输节目随带信息及解释有关 TS
特 定 结 构 的 信 息 ( 元 数 据 ) , 即 节 目 特 定 信 息 ( PSI-Program Specific
Information)。用于说明: 1 个节目是由多少个 ES 组成的;1 个节目是由哪些
个 ES 组成的;在哪些个 PID 情况下,1 个相应的解码器能找到 TS 中的各个数
据包。这对于由不同的数据流复用成 1 个合成的 TS 是 1 个决定性的条件。为了
重建原来的 ES,就要追踪从不同 ES 来的 TS 包及其 PID。因此,一些映射结构
(Mapping Mechanism),如节目源结合表( PAT)和节目源映射表(PMT)
两种映射结构,会以打包的形式存在于 TS 上,即借助于 PSI 传输一串描述了各
种 ES 的表格来实现。MPEG 认为,可用 4 个不同的表格作出区别:
● 节目源结合表(PAT-Program Association Table):在每个 TS 上都有一
个 PAT,用于定义节目源映射表。用 MPEG 指定的 PID(00)标明,通常用
PID=0 表示 。
● 条件接收表(CAT-Conditional Access Table):用于准备解密数据组用的
信息,如加密系统标识、存取权的分配、各个码序的发送等。用 MPEG 指定的
PID(01)标明,通常用 PID=1 表示。
● 节目源映射表(PMT-Program Map Table):在 TS 上,每个节目源都有
一个对应的 PMT,是借助装入 PAT 中节目号推导出来的。用于定义每个在 TS
上的节目源(Program),即将 TS 上每个节目源的 ES 及其对应的 PID 信息、
数据的性质、数据流之间关系列在一个表里。解码器要知道分配节目的 ES 的总
数,因为 MPEG 总共允许 256 个不同的描述符,其中 ISO 占用 64 个,其余由用
户使用。
● 网络信息表(NIT- Network Information Table):可传送网络数据和各种
参数,如频带、转发信号、通道宽度等。MPEG 尚未规定,仅在节目源结合表
(PAT)中保留了 1 个既定节目号“0”(Program-0)。
有了 PAT 及 PMT 这两种表,解码器就可以根据 PID 将 TS 上从不同的 ES
来的 TS 包分别出来。
节目特定信息(PSI)的结构,如图 6 所示。根据 PID 将 TS 上从不同的
ES 来的 TS 包分别出来可分两步进行:其一是从 PID=0 的 PAT 上找出带有 PMT
的那个节目源,如 Program-1,或 Program-2;其二是从所选择的 PMT 中找到组
成该节目源的各个 ES 的 PID,如从 Program-1 箭头所指的 PMT-1 中 ES-2 所对
应的 Audio-1 的 PID 为 48,或从 Program-2 箭头所指的 PMT-2 中 ES-1 所对应的
Video 的 PID 为 16 。同样, Program-1 的 MAP 的 PID 为 22,ES-1 所对应的
Video 的 PID 为 54 ;Program-2 的 PMT-2 中 ES-2 所对 应的 Audio-1 的 PID 为
81,ES-1 所对应的 Video 的 PID 为 16,MAP 的 PID 为 33;PAT 的 PID 为 0;
CAT 授权管理信息(EMM-Entitlement Management Message)的 PID 为 1。这样,
就追踪到了 TS 上从不同的 ES 来的 TS 包及其 PID,如图 6 所示的 TS 上不同 ES
的 TS 包的 PID 分别为 48、16、22、21、54、0、16、33、1。显然,解码器根
据 PID 将 TS 上从不同的 ES 来的 TS 包分别出来的过程,也可以从图 7 的 TS 双
层解复用结构图中得到解释。要注意,MPEG-2 的 TS 是经过节目复用和传输复
用两层完成的:在节目复用时加入了 PMT;在传输复用时加入 PAT。所以,在
节目解复用时,就可以得到 PMT,如图 7 中的 ES (MAP) (PMT-1)和 ES (MAP)
(PMT-2);在传输解复用时,就可以得到 PAT,如图 7 中的 PS-MAP。将图 6 与
图 7 对照,就可以知道解码器是如何追踪到 TS 上从不同的 ES 来的 TS 包及其
PID 的。
剩余32页未读,继续阅读
雷霄骅
- 粉丝: 4w+
- 资源: 141
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 2023年中国辣条食品行业创新及消费需求洞察报告.pptx
- 2023年半导体行业20强品牌.pptx
- 2023年全球电力行业评论.pptx
- 2023年全球网络安全现状-劳动力资源和网络运营的全球发展新态势.pptx
- 毕业设计-基于单片机的液体密度检测系统设计.doc
- 家用清扫机器人设计.doc
- 基于VB+数据库SQL的教师信息管理系统设计与实现 计算机专业设计范文模板参考资料.pdf
- 官塘驿林场林防火(资源监管)“空天地人”四位一体监测系统方案.doc
- 基于专利语义表征的技术预见方法及其应用.docx
- 浅谈电子商务的现状及发展趋势学习总结.doc
- 基于单片机的智能仓库温湿度控制系统 (2).pdf
- 基于SSM框架知识产权管理系统 (2).pdf
- 9年终工作总结新年计划PPT模板.pptx
- Hytera海能达CH04L01 说明书.pdf
- 数据中心运维操作标准及流程.pdf
- 报告模板 -成本分析与报告培训之三.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5