mpeg-ts(二)

MPEG2的三类帧
I帧:是帧内编码帧,其编码不依赖BP两帧,同时他是BP帧编解码的参考图像
P帧:前向预测编码图像,像素的预测值取为前面与其相邻的I帧或P帧中对应像素的值,即采用帧间运动补偿前值预测。
B帧:双向预测编码图像,像素的预测值取为前后与其距离最近的I帧或P帧相应像素的加权平均,即采用帧间运动补偿前后平均,需要指出,B帧不能作为其他B帧或P帧的编码参考图像。

编码顺序:
传输流中编码图像的顺序按照IPB的顺序

显示顺序:
在解码输出端重建图像的顺序,按照IBP的顺序。

一个视频图像,是由图像组(Grop)组成的。每个图像组由一个I帧和3个P帧8个B帧组成的。
图像的显示顺序为:1I,2B,3B,4B, 5B,6B,7P,8B,9B,10P,11B,12B,13I
图像的编码顺序为:1I,4P, 2B,3B, 7P,5B,6B,10P,8B,9B,13I,11B,12B

PES包的结构:
PES包是可变长的,通常可以达到64KB长度。PES中最重要的是DTS和PTS。有了PTS和DTS,解码器就可以从编码器传送的IPB帧中重建视频流。

PES包结构:

MPEG-2传送流系统层

为了实现解码同步,在PES中插入PTS和DTS以及相关的系列标志符。

由图可以看出,TS由4B的包头,可变长度的调整头和负载构成。包头由同步字节,1b传送数据包差错指示,1b净荷单元起始指示,1b传送优先权,13b的包标识符PID,2b传送加扰控制,2b调整字段控制和4b连续计数器组成。

净荷起始指示表示打包的原始流PES数据包字头或包含与节目有关的PES信息的起始端,是否出现在该TS包的净荷中。

调整字段控制表示在在包头后面是否有调整端和或净荷。

连续计数器中的数值对于具有相同PID值的净荷而言,从0-15连续循环,用来在解码端检测是否有丢失的TS包。

除了各节目的各个传送流外,还应有节目专用信息PSI,PSI数据由固定字长的整体字头和可变字长的节目清单表PAT或单节目映射表PMT以及4b的CRC组成。

MPEG-2传送流包语法结构

TS包中负载传送的信息主要有4种类型:

1.视频和音频的PES包以及辅助数据。

2.描述单路节目的节目映射表(PMT)与描述多路节目复用信息的节目关联表(PAT)以及对CA系统所要求的条件访问表(CAT)。

3.各种业务信息表。

4.DVB数据广播信息,包括数据管道,异步数据报,同步,被同步数据流,多协议封装,循环数据,循环对象。

MPEG-TS包头语法结构:

·sync_byte:1B 值为0x47。

·payload_unit_start_indicator:1b长度。

当TS包带有PES包数据时,payload_unit_start_indicator值为1时,表示TS包的负载以PES包的第一个字节开始,值为0,表示TS包开始的不是PES包。

当TS包带有PSI数据时,payload_unit_start_indicator值为1时,表示TS包带有PSI部分的第一个字节,即第一个字节带有指针pointer_field;置为0,表示TS包不带有一个PSI部分的第一个字节,即在有效净荷中没有指针的pointer_field.

空包payload_unit_start_indicator应置为0.

·PID:13b。表示净荷的数据类型。PID=0x0000,表示净荷的数据位节目关联表。

PID取值分配:

MPEG-2 TS包调整字段:
在ts中,为了传送打包后的长度不足188B的不完整TS,或者为了在系统层插入节目时钟参考PCR字段,需要在TS包中插入可变长字节的调整字段。

调整字段是一个可边长的域,它是由存在于TS包头中的调整字段控

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章