PES分析

来源:互联网 发布:坏种 知乎 编辑:程序博客网 时间:2024/06/04 18:18

摘自:http://www.imaschina.com/html/T_M/2010-5/14/10_22_56_688.html (依马狮广电网)


根据MPEG协议标准,在完成传输层分析后,就可以进入下一层PES分析。PES分析包括查验PES图像格式包头和控制标记,检查使视频、音频同步的PTS/DTS时间标记,传输目标解码器(T-STD)缓冲器分析等。 

  由于传输流包含了大量的数据,在实际情况下,除非存在严重问题,通常大部分数据是有效的,只有一个基本码流或一个节目码流受到影响。在这样的情况下,如果进行有选择性的测试,就更为有效。这也是过滤的功能的目的。实质上,过滤功能允许分析仪的使用者在检查传输的时候有更多的选择性。它可以分析满足特定条件的那一部分数据。 

  过滤包头的条件是只分析带有特定PID的数据包。通过选择PID0就很容易检查PAT,并且通过这种方法可以读出所有其它的节目识别号。如果知道一个待检查码流的节目识别号,就可以很容易选择一个PID用来分析。 

  在实际中,能够将过滤组合起来是有用的,换句话说,不仅可以过滤含有特定PID值的包,而且可以过滤包含PES头部信息的PID值的数据包。通过这种方法组合过滤可以有针对性地显示码流中的数据。当进行故障查找时,这种过滤方法能使故障搜寻过程更为合理化。 

  PES包在理论上属于传送层功能的一部分,实际中,它由信源编码器产生,PES包中包含有码率、定时以及数据描述等由编码器设置的信息。图1显示了PES数据包的包头信息内容,数据包的开头是一个24位的开始前缀和一个数据流ID,用来识别数据包的内容是视频还是音频,通常由这两个参数来识别PES数据包的开始。与前面的传输码流分析一样,也可以对PES数据包头进行解释观察,显示字段的解释意义。此外,还可以用十六进制格式显示出PES数据包的内容,帮助分析者深入了解PES的数据结构。


图1 PES数据包头信息分析

  如果知道PCR数据是正确的,可以进行时间标记的分析。由于视频和音频的显示单元并不一致,比如音频每秒44100个取样点,每个显示单元为1152个取样,则显示单元的持续期为26.12ms;而视频的显示单元可以是25Hz的帧频,持续期为40ms。可见,视频和音频显示单元的持续期起始边界很少一致,PTS用来传递音频和视频之间的定时关系。利用时间标记、DTS、PTS可以对基本数据流进行有效的时基校正,同时还解决视频、音频之间的同步问题,保证图像和声音的正常播放次序。图2表明所选择的基本码流的时间标记显示,并在适当的位置显示了进入单元(access unit)的开始和结束时间,以及解码时间(DTS)和显示时间(PTS)。


图2 时间标记分析

  图2中下面标有“0ms”的位置开始沿水平轴方向是每个进入单元的时间,一个进入单元通常为一个视频帧,其持续时间为40ms。因此,在水平方向每隔40ms为一帧图像,第一帧进入单元初始时间设定为0ms。对于每个进入单元的解码时间(DTS)和显示时间(PTS)则沿垂直轴方向标出,也以40ms作为刻度单位,这两个时间PTS和DTS是相对于该进入单元时间的延时时间。以当前三角形光标所在的B帧进入单元为例,其进入单元时间为840ms,这个840ms是相对于第一个进入单元的时间。图2中PTS显示的绝对值为1692802个90KHz时钟,该数值除以90KHz得到时间为18808.911ms,相对于第一个进入单元的时间17968.911ms正好是840ms。B帧的DTS和PTS是同一值,所以只有PTS。光标的前一个P帧进入单元,它的解码时间(DTS)相对与第一个进入单元为800ms,显示时间DTS相对该进入单元为120ms延时。因此,相对于第一个进入单元则是920ms,即解码后延时2帧再显示。 


图3 错误事件列表显示

  与TS分析相类似,PES分析仪依据TS流的协议及一致性要求对码流文件进行分析,并将分析的结果以列表方式显示出来,图3是一个分析的事件列表显示,分别有处理信息、一般告警信息和严重错误信息。

原创粉丝点击