pat表和各个表的关系

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

专用信息(PSI)

PSI 承载于含特定PID 的数据包之中。PSI已被标准化了,而有些内容则由节目关联表(PAT)和有条件进入表(CAT)来规定。这些数据包必须周期地包含在每个传输流中。PAT的PID总是为0,而CAT的PID总是为1。这些PID 值和零数据包PID的8191值是整个MPEG系统中唯一的固定PID 值。解多路复接器必须通过进入合适的表来确定所有余下的PID。然而,在ATSC和DVB中PMT可能要求特定的PID值。从这方面( 和其它一些方面) 来看,MPEG和DVB/ATSC是不能完全互相转换的。节目关联表(PAT)数据包(PID=0)中列出了传输流中存在的节目流,PAT 指定了所有节目映像表(PMT)数据包的PID。PAT的第一条输入,即节目0,总是留给网络数据,包含了网络信息(NIT)数据包的PID。授权控制信息(ECM)

的PID 和授权管理信息(EMM)的PID列在有条件进入表(CA T)数据包(PID=1)中。图7.3 显示,属于同一节目流的视频、音频和数据基本数据流的PID都列在节目映像表(PMT) 数据包中。每个PMT 数据包有其自己的PID。一个给定网络信息表包含的内容不仅仅是承载它的传输流,还包括同一解码器所能获得的其它传输流,例如调到不同的RF频道,或将卫星接收天线对准其它不同的卫星。NIT 可能列出一些其它传输流数目,每个含有一个描述符,指定无线电频率、轨道位置等等。在MPEG中只有NIT 是强制性设定的。在DVB中还包括如DVB-SI那样的中间数据,而NIT 则被认为是DVBSI的一部分。该内容将在第八部分中讨论。在一般讨论时,我们使用PSI/SI 这个词。

当第一次接收到传输流时,解多路复接器必须在数据包报头中寻找0和1 的PID。所有PID0 数据包含有节目关联表(PAT)。所有PID1 数据包含有有条件进入表(CAT)数据。通过读取PAT,解多路复接器可以找到网络信息表(NIT)和每个节目映像表(PMT) 中的

PID 。找到了PMT,解多路复接器便可找到每个基本数据流的PID。因此,如果要解码一个特定的节目流,我们就先要参考PA T,然后只需要PMT 来寻找节目中所有的基本数据流的PID。如果节目被加密,则还需要进入CAT。由于没有PAT就无法进行介多路复接,所以搜寻速度是PAT 数据包发送频率的函数。MPEG规定PAT数据包和参考PAT 数据包的PMT 数据包之间的最大间隔为0.5秒。在DVB和ATSC中,NIT 可能存在于具有特定PID 的数据包中。

第五部分

打包基本数据流(PES)

在实际应用中,载有从压缩器中得到的视频或音频的连续基本数据流需要分割成数据包。这些数据包用含有同步时间标记的报头信息来辨别。PES 数据包能够用来创建节目流或传输流。

5.1 PES 数据包

在打包基本数据流(PES)中,无长度限制的基本数据流根据不同的应用场合分割成大小合适的数据包。数据包的大小可能是几百个千字节,但它会根据不同的应用场合而变化。每个数据包之前有一个PES数据包报头。图5.1 显示的是报头信息内容。数据包的开头是一个24位的开始码前缀和一个数据流ID,用来识别数据包的内容是视频还是音频,并进一步识别音频编码的类型。这两个参数(开始码前缀和数据流ID)组成了数据包开始码,用来识别数据包的开始。请不要将PES中的数据包和传输流中使用的小得多的数据包混淆起来,即便它们有着相同的名字。由于MPEG只定义了传输流,而没有定义编码器,所以设计者要选择建立多路复接器,进一步将基本数据流转变成传输流。在这种情况下,PES 数据包可能没法识别,但它们在逻辑上存在于传输流有效负载之中。

5.2 时间标记

在压缩之后,由于双向编码的缘故使画面未能按顺序发送。而这些画面需要不同的数据量,并因为复接和传送会造成可变的延迟。为了保持音频和视频锁定在一起,在每幅面画中定期插入了时间标记。时间标记是一个33比特数字,它是由90kHz 时钟驱动的计数器的取样。这个时钟是通过将27MHz节目时钟除以300 获得。因为呈现的次数是平均分布的,所以不必在每个呈现单元中包括时间标记。时间标记也能够由解码器插入,但无论在节目流还是传输流中,它们之间的间隔必须不能超过700ms。时间标记是指特定的进入单元属于哪一时间段。我们通过在视频或音频数据包的报头插入时间标记而获得边沿同步。当解码器收到所选择的PES数据包时,它便对每个进入单元进行解码,并缓冲寄存到RAM中。当时间行计数达到时间标记的值时,RAM便读出。该操作有两个作用。首先,每个基本数据流中都能获得有效的时基校正。其次,视频和音频基本数据流可以同步到一块儿做成节目。在使用双向编码时,一个画面可能不得不在其呈现前的一段时间被解码,所以它可以作为B 画面的数据源。举例来说,虽然画面可以按IBBP的顺序呈现,但它们会按IPBB的顺序发送。所以共有两种时间标记存在。解码时间标记(DTS)是指画面必须被解码的时间,而显示时

间(PTS)是指画面必须呈现到解码器输出上的时间。由于B 画面是同时被解码和显示的,所以只含有PTS 。当接收到IPBB 序列时,I 和P 画面必须在第一个B画面之前被解码。码器一次只能解码一幅画面,所以I 画面先被解码并储存。当P 画面被解码时,已被解码的I画面就是输出,所以后面可以接B 画面。图5.2显示,当接收到含有I画面的进入单元时,在报头会同时有DTS和PTS,这些时间标记由一个画面的时间作间隔。如果使用双向编码,后面必须跟P 画面,并且该画面也有DTS和PTS时间标记。当两个时间标记的间隔为三个画面的时间,以便容纳插入的B画面。因此,如果收到IPBB序列,那么I画面被延迟一个画面的时间,P 画面被延迟三个画面的时间,而两个B画面没有延迟,这样显示序列就变成了IBBP。很显然,如果GOP结构发生改变,在I画面和P画面之间有更多的B画面,那么在P 画面中DTS与PTS 之间的差异就会更大。在数据包的报头设置PTS/DTS 标

记是为了指明只有PTS 存在还是PTS和DTS时间标记同时存在。音频数据包可能含有多个进入单元,数据包头部含有一个PTS。由于音频数据包总是按顺序发送的,所以音频数据包中没有DTS。

第六部分

节目流

节目流是将几个PES 打包数据流组合在一起的办法,在如DVD 的录制应用场合中有明显的优点。

6.1 录制和传送

对于给定的画面质量而言,压缩视频的数据率将随着画面内容的变化而变化。可变数据率频道能够产生最佳的效果。在传送过程中,大多数的应用频道都是固定的,整个数据率通过使用填充数据(无意义数据)保持不变。在DVD中使用填充数据是对存储能力的浪费。然而,存储介质能够从物理角度上或在磁盘驱动器中满足改变数据传送率要求,放慢或提高读取速度。这种方法能够在不影响存储能力的情况下获得可变数据率频道。当介质重新播放时,速度能够被调整到使数据缓冲区保持到大约一半负荷,而不必管实际数据率可动态改变。如果解码器以增加的速率从缓冲区中读取数据,缓冲区将变为空白,驱动器系统将简单地增加进入速率来保持平衡。这种技术只是当音频和视频以相同的时钟编码时才有效,否则它们会在录制长度上滑动。为了满足这些不一致的要求,节目流和传输流被设计成可替换的。节目流在数据率可变的录制环境中的单个节目上起作用,而传输流在数据率固定的传送环境中的多个节目上起作用。在DVD播放机中不存在与信号源强制同步的问题。播放机用本机SPG ( 内部的或外部的) 来确定视频时基,并简单地从光盘上获取数据,以便在该时基上提供画面。在传送过程中,解码器需要对编码器重建时基,否则编码器会过载或下溢。因此,传输

相关文档
最新文档