MPEG标准的学习总结

来源:互联网 发布:网络安全工程师好考吗 编辑:程序博客网 时间:2024/04/29 17:20
MPEG标准的学习总结  

1. 什么是数字电视中的“数字”概念?

u 该“数字”概念的作用范畴:

    数字电视中的“数字”概念是指电视信号的前期处理、传输、发射和接收过程中使用的是数字信号。而我们看到的数字电视里面的实际画面和声音仍然是模拟的,它是数字电视接收端(机顶盒)将接收到的数字信号经过D/A转换后得到的。 

2. 什么是DVB系统(Digital Video Broadcasting system)?

    DVB,“数字视频广播”(Digital Video Broadcasting)的缩写, 是一种国际承认的数字电视标准。该标准是由欧洲电信标准化组织(ETSI)、欧洲电子标准化组织(CENELEC)和欧洲广播联盟(EBU) 联合组成的“联合专家组”(Joint Technical Committee, JTC)发起的。

    我国使用的数字电视标准采用的就是DVB标准。

数字视频广播(DVB)系统的传输方式可以分为DVB-S系统(卫星广播)、 DVB-C系统(有线电视)、 DVB-T系统(地面数字视频广播),DVB系统主要完成数字电视信号的广播与传输。

3. 什么是MPEG、MPEG-2、MPEG-2 system?

    MPEG是动态图像专家组(Moving Picture Experts Group)的简称, 通常可以将MPEG理解为一种视频压缩编码技术标准。该编码压缩属于有损压缩,最大压缩比为200:1。 MPEG标准目前一共有五个:MPEG-1、MPEG-2、MPEG-4、MPEG-7及MPEG-21。DVB中采用的标准是MPEG-2标准。

    MPEG-2标准是MPEG和ISO组织设计的一个数字视频压缩规范,主要用于DVD和DVB上。其设计目标是高级工业标准的图象质量以及更高的传输率。该标准包括编号为13818-1系统部分、编号为13818-2的视频部分、编号为13818-3的音频部分及编号为13818-4的符合性测试部分。 

MPEG-2 system(编号13818-1)是MPEG-2标准的其中一部分,该部分描述了多个视频,音频和数据多种基本流(ES)合成传输流(TS)和节目流(PS)的方式。

    就通俗的理解,MPEG-2 system的主要功能是提供了将多种基本码流规范成一种单一的便于传输的码流的技术标准。

    MPEG-2 system主要的任务有: 

u 规定以包方式传输数据的协议(最终形成的TS流或者PS流是由TS包或PS包组成的);

u 为收发两端数据流同步创造条件(PCR、PTS、DTS);

u 确定将多个数据流合并和分离(即复用和解复用)的原则;

u 提供一种进行加密数据传输的可能性。

4. 什么是ES流、PES流、PS流以及TS流?

ES流(Elementary Stream)由三部分组成:

u 经MPEG-2视频编码器编码后的图像数据流;

u 经MPEG-2音频编码器编码后的声音数据流;

u 其他编码数据流。

PES流(Packetized Elementary Stream):PES流是ES流经过PES打包器处理后形成的数据流,在这个过程中完成了将ES流分组、打包、加入包头信息等操作(对ES流的第一次打包)。PES流的基本单位是PES包。

PS流(Program Stream)和TS流(Transport Stream):

u PS流和TS流是MPEG-2系统规范的两种标准码流。

u PS流用于相对无错环境下的传输与存储(如DVD中),其基本单位是PS包,长度可变。

u TS流用于相对有错环境下的传输与存储(如DVB中),其基本单位是TS包,长度固定188字节。

TS流(Transport Stream)组成:

u TS流由定长的TS包组成(188字节),而TS包是对PES包的一个重新封装(到这里,ES经过了两层的封装)。

u PES包的包头信息依然存在于TS包中。

通过前面的介绍,对MPEG-2系统主要功能有了一定的了解。如图所示,该图详细的描述了MPEG-2系统如何将最原始的数字音视频信号经过一系列的处理,最终形成DVB系统中使用的TS流的过程:

MPEG标准的学习总结 - -☆Eric_Liu☆- - Eric_Liu---博客改版中

图1 TS形成的过程

5. Packet

u TS流是基于Packet 的位流格式。

u 每个包是188字节或者204字节。

u 204字节的格式仅仅是在188字节的Packet后部加上16字节的CRC数据,其他格式是一样,一般使用较多的是188字节的包格式。

u 所有的Packet格式都是统一的,包括一个Packet header和Packet datas.其中Packet header包含了同步字节(固定是0x47)。

u Packet中的从第五个自己开始的184字节是数据部分,不满184字节的就可能插入一些无效信息用来填充,使整个Packet依然保持是188或者204字节

6. TS包结构

TS包结构分析:TS包由包头、有效载荷区组成(有些包中还包括自适应区)。

MPEG标准的学习总结 - -☆Eric_Liu☆- - Eric_Liu---博客改版中MPEG标准的学习总结 - -☆Eric_Liu☆- - Eric_Liu---博客改版中MPEG标准的学习总结 - -☆Eric_Liu☆- - Eric_Liu---博客改版中MPEG标准的学习总结 - -☆Eric_Liu☆- - Eric_Liu---博客改版中图2 TS结构

MPEG标准的学习总结 - -☆Eric_Liu☆- - Eric_Liu---博客改版中

TS分组结构实例分析:

一个分组的头:0x47 0x07 0xe5 0x12

转化成2 进制格式:01000111 00000111 11100101 00010010

u sync_byte=01000111,就是0x47,这是DVB TS 规定的同步字节,固定是0x47。

u transport_error_indicator=0,表示当前包没有发生传输错误。

u payload_unit_start_indicator=0, 表示没有携带PES或者PSI信息,具体含义请参考ISO13818-1 标准文档。

u transport_priority=0,表示当前包是低优先级。 

u PID=00111 11100101 即PID为0x07e5,类型可以查看SI标准中的PID保留字段或者是PMT携带的音视频的PID,或者ECM_PID,CAT携带的EMM_PID。

u transport_scrambling_control=00,表示节目没有加密。

u adaptation_field_control=01 即0x01,具体含义请参考ISO13818-1。

u continuity_counter=0010 即0x02,表示当前传送的相同类型的包是第3个。相同PID的Packet,是通过continuity_counter累加,这样可以检测是否丢包。

u PID 是Packet identification的简称,就是”包标志符”.DVB系统把不同的数据打包成不同的数据包,用系统唯一的一个13 bits数字标志该数据的类型.例如,PID=0x00 表示是DVB系统中的PAT 包,而PID=0x10表示是DVB系统的NIT 包.不同的节目(包括Video 和Audio)分别采用不同的PID,例如,我们在PMT 表中如果检测到PID=0x0120 的PID 是VIDEO数据,那么表示包号码是0x0120的所有包都是Video数据,其他依此类推。

PID的保留字段

MPEG标准的学习总结 - -☆Eric_Liu☆- - Eric_Liu---博客改版中

MPEG标准的学习总结 - -☆Eric_Liu☆- - Eric_Liu---博客改版中

图3 TS结构示意图

MPEG标准的学习总结 - -☆Eric_Liu☆- - Eric_Liu---博客改版中

图4 PES包结构

MPEG标准的学习总结 - -☆Eric_Liu☆- - Eric_Liu---博客改版中

图5 PES解包为ES示意图

7. 怎样实现解码端的系统时钟恢复和视音频播放同步?

MPEG-2同步及时间恢复在编码、传输和解码中占有重要的地位,它不仅直接影响视音频的解码质量,还是衡量整个传输网络优劣的重要指标。

MPEG-2规定的系统时钟频率为27MHz,传输流(TS)中的PCR,PTS/DTS等均为对该共同系统时钟的采样值。解码端捕获PCR,恢复出本地的STC,作为音视频同步控制的基准,并依据DTS、PTS时间标签来安排解码和显示时间表,使音视频分别同步于STC,以实现音视频之间的同步。标准规定在原始音频和视频流中,PTS的间隔不能超过0.7s,而出现在TS包头的PCR间隔不能超过0.1s(数字电视中是0.04秒)。

8. PSI信息由什么组成,各包含哪些内容?

PSI信息由四种类型的表(table)组成。

u 节目关联表(PAT):针对复用的每一路业务,PAT提供了各个节目号及其相应的节目映射表(PMT)的PID,同时还提供网络信息表(NIT)的PID。

u 节目映射表(PMT):PMT表存放的是节目中包含的音频、视频、其他数据的PID信息。每一个节目的所有信息必须包含在一个PMT中,但在一个PMT中可以包含多个节目的信息。PMT本身的PID由PAT表格提供。

u 条件接收表(CAT):条件接收表提供了在复用流中条件接收系统的有关信息。当有EMM时,它还包括了EMM(授权管理信息)所在的PID(CA_PID)。

u 网络信息表(NIT):提供有关物理网络的信息,比如网络ID,网络中所包含的传输流ID,所在频点等信息。NIT表本身的PID由PAT表提供。

描述符descriptor

描述符descriptor包括CA_descriptor()以及专有的descriptor。其中CA_descriptor()中CA_PID指向TS流中的EMM流。

CA_descriptor

MPEG标准的学习总结 - -☆Eric_Liu☆- - Eric_Liu---博客改版中

PSI表格信息详解(以解码端工作过程举例):

u 从TS流中解析出ID为0x00的PAT表格信息。

u 由PAT表提供的信息从TS流中解析出各个节目的PMT表格信息。

u 确定各节目中包含的视频数据、音频数据以及其他数据的PID。

u 根据PID从TS流中解析出各节目的视频、音频以及其它数据,分别存储。

u 之后再分别完成各节目的音视频同步解码与显示。

MPEG标准的学习总结 - -☆Eric_Liu☆- - Eric_Liu---博客改版中

图6 TS流过滤过程

MPEG标准的学习总结 - -☆Eric_Liu☆- - Eric_Liu---博客改版中

图7 TS解码流程图

既然要把TS作为节目源进行编辑,就需要将TS包中的数据变换为非线性编辑所能使用的元数据和视频流。它们是以码流快编作为工作母机进行生产的真正原料。 
数据变换的第一个过程是拆DVB复用包。如图7所示,DVB的解码流程中分层译出了许多数据信息,如同步字节(Sync Byte)、节目特定信息(Program Specific Information,PSI)中PAT、PMT、NIT等列表、包识别(Packet Identification,PID)、节目时钟基准(Program Clock Reference,PCR)及PTS/DTS(后详解)和业务信息(Service Information,SI)等部分。这些信息不仅与DVB PSI/SI直接相关,与MPEG-2的句法结构也直接相关,它规范地传递了再生码流中音/视频所需的MPEG-2列表数据,通过这些信息的引导,准确进 入MPEG-2系统层的进一步译码。

9. SI表格由几部分组成,都包含哪些内容?

业务信息(SI)由以下九个表构成。其中SDT表、EIT表和TDT表是必须包括的,其它表是可选的。 

u 业务描述表(SDT):描述了包含在特定TS流中的全部业务的相关信息。业务描述表包含了描述系统中业务的数据,例如业务名称、业务提供者等。

u 事件信息表(EIT):描述了包含在特定业务中的所有事件的相关信息。事件信息表包含了与事件或节目相关的数据,例如事件名称、始时间、持续时间等。不同的描述符用于不同类型的事件信息的传输,例如不同的业务类型。

u 时间和日期表(TDT):时间和日期表给出了与当前的时间和日期相关的信息。由于这些信息频繁更新,所以需要使用一个单独的表。

u BAT(Bouquet Association Table):该表提供一系列类似节目的集合,这些节目可以不在同一个传输流中。Table id = 0x4A。机顶盒利用利用该表可以很方便的进行相关节目或某一类节目的浏览和选择。目前CAM卡Loader下载的有可能用到。

u 运行状态表(RST)

u 时间偏移表(TOT) 

u 填充表(ST)

u 选择信息表(SIT)

u 间断信息表(DIT)

10. PSI/SI 表格信息在TS流中如何传输?

PSI/SI 表格信息在TS流中以段的形式进行传输(也可以理解为对这些表格信息进行了打包)。基本思想是:先将一个表格信息以段的方式进行封装,最后将段插入到TS包中。因为TS包188字节,所以一般情况下,一个section要分成好几部分存放在连续的TS包中(如果表格信息过多,需要先进行分组,再分别封装成好几个段)。
0 0
原创粉丝点击