MPEG-2 学习笔记

这篇博客详细介绍了MPEG-2规范中的传输流和节目流,包括ES、PES、TS和PS等概念,以及PAT、PMT、CAT和NIT等关键表格的作用和数据结构。博主通过学习和理解,阐述了如何从TS分组中解码获取原始流数据,并探讨了搜台过程涉及的技术。同时,还分享了一个用于分析TS流数据的小工具。
摘要由CSDN通过智能技术生成

MPEG-2 学习笔记

 

最近有点时间,看了一部分 MPEG-2 的规范,看后想总结点东西,算是做了点作业,另外希望能和大家讨论讨论,请大家指点。

中文版很多概念翻译得很模糊,不易理解,但总体来说还算是不错,适合像我这种入门级别的看,不过建议和英文版对照看,对一些概念能比较准确的理解。整个规范包括三部分:系统,视频编码,音频编码。对应的标准号分别为 ISO/IEC 13818-1 ISO/IEC 13818-2 ISO/IEC 13818-3 ,在规范中经常可以看到这几个字符串。

第一部分“系统”和我们现在的工作关系较紧密,我也主要学习了第一部分。后面两部分主要是讲解编码过程,编码部分看了实在让人犯晕,先偷一下懒吧,把第一部分搞清楚了再看去啃难啃的骨头吧。

下面进入正题了。

 

一、概念

规范中讲述的概念很多,容易让人糊涂,所以先把一些概念理清,弄清楚它们之间的关系,再看后面的就可提高很多的效率。

(1)ES- Elementary Streams ( 原始流 ) ,对视频、音频信号及其他数据进行编码压缩后

的数据流称为原始流。原始流包括访问单元,比如视频原始流的访问单元就是一副图像的编

码数据。

(2) PES- Packetized Elementary Streams ( 分组的原始流 ) ,原始流形成的分组称为 PES 分组,是用来传递原始流的一种数据结构

(3) 节目是节目元素的集合。节目元素可能是原始流,这些原始流有共同的时间基点,用来做同步显示。

(4) 传输流和节目流

TS-Transport Stream 翻译为 传输流

PS-Program Stream  翻译为 节目流

PS 用来传输和保存一道节目的编码数据或其他数据。 PS 的组成单位是 PES 分组。

TS 用来传输和保存多道节目的编码数据或其他数据, TS 的组成单位是节目。

PS 适用于不容易发生错误的环境,以及涉及到软件处理的应用,典型应用如 DVD 光盘的文件存储

TS 适用于容易发生错误的环境,典型应用就是数字电视信号的传输。

TS PS 是可以互相转换的,比如从 TS 中抽取一道节目的内容并产生有效的 PS 是可能。

  (5) 传输流分组和 PES 分组

原始流分成很多 PES 分组,保持串行顺序,一个 PES 分组只包含一个原始流的编码数据。 PES 分组长度很大,最大可为 64K 字节。

PES 分组分为 分组首部 (header)” 有效负载 (payload)” 有效负载 指跟随在首部字节之后的字节。首部的前 4 个字节构成分组的起始码,标识了该分组所属原始流的类型和 ID 号。

 

TS 分组也就是传输流数据形成的数据包。每个 TS 分组长度为 188 字节,包括 分组首部 有效负载,前 4 个字节是分组首部,包含了这个分组的一些信息。有些情况下需要更多的信息时,需在后面添加 调整字段 (adaption field)”

 

 

 


两者之间的关系:

    PES 分组是插入到 TS 分组中的,每个 PES 分组首部的第一字节就是 TS 分组有效负载的第一字节。一个 PID 值的 TS 分组只带有来自一个原始流的数据。

PMT (Program Map Table ) 节目映射表

PMT 所在分组的 PID PAT 指定,所以要先解出 PAT ,再解 PMT

PMT 中包含了属于同一节目的视频、音频和数据原始流的 PID

找到了 PMT ,解多路复用器就可找到一道节目对应的每个原始流的 PID ,再根据原始流

PID ,去获取原始流。如下图: PID1 PID2 分别对应某道节目的视频原始流和音频原始流

PID

 

l        PAT (Program Association  Table ) 节目关联表

l        PAT 所在分组的 PID=0

      PAT 中列出了传输流中存在的节目流

l   

l        PAT 指定了传输流中每个节目对应 PMT 所在分组的 PID

l        PAT 的第一条数据指定了 NIT 所在分组的 PID ,其他数据指定了 PMT 所在分组的 PID ,如下图所示:

 

 

 

l  CAT (Conditional Access Table ) 条件访问表

l  CAT 所在分组的 PID=1

l  CAT 中列出了条件控制信息 (ECM) 和条件管理信息 (EMM) 所在分组的 PID

l  CAT 用于节目的加密和解密

 

l  NIT( Network Information Table) 网络信息表

l  NIT 所在分组的 PID PAT 指定

l  <

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值