
pat表和各个表的关系.docx
9页专用信息(PSI)PSI承载于含特定PID的数据包之中oPSI已被标准化了,而有些内容则由节目关联表(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)数据包的PIDo PAT的第一条输入, 即节目0,总是留给网络数据,包含了网络信息(NIT)数据包的PID授权控制信息(ECM) 的PID和授权管理信息(EMM)的PID列在有条件进入表(CAT)数据包(PID=1 )中图7.3显 示,属于同一节目流的视频、音频和数据基本数据流的PID都列在节目映像表(PMT)数据 包中每个PMT数据包有其自己的PIDo 一个给定网络信息表包含的内容不仅仅是承载它 的传输流,还包括同一解码器所能获得的其它传输流,例如调到不同的RF频道,或将卫星 接收天线对准其它不同的卫星。
NIT可能列出一些其它传输流数目,每个含有一个描述符, 指定无线电频率、轨道位置等等在MPEG中只有NIT是强制性设定的在DVB中还包 括如DVB-SI那样的中间数据,而NIT则被认为是DVBSI的一部分该内容将在第八部分 中讨论在一般讨论时,我们使用 PSI/SI 这个词当第一次接收到传输流时,解多路复接器必须在数据包报头中寻找0和1的PIDo 所有PID0数据包含有节目关联表(PAT)所有PID1数据包含有有条件进入表(CAT)数据 通过读取PAT,解多路复接器可以找到网络信息表(NIT)和每个节目映像表(PMT)中的 PID o找到了 PMT,解多路复接器便可找到每个基本数据流的PID因此,如果要解码一 个特定的节目流,我们就先要参考PAT,然后只需要PMT来寻找节目中所有的基本数据流 的PID如果节目被加密,则还需要进入CATo由于没有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 ( 内部的或外部的) 来确定视频时基,并简单地从光盘上获取数据,以便在该时基上提供画 面在传送过程中,解码器需要对编码器重建时基,否则编码器会过载或下溢。
因此,传输 流使用节目时钟参考(PCR),而节目流则不需要节目时钟节目流介绍节目流是一个PES打包复接,载有多个用相同主时钟或系统时钟(STC)进行编码的基本数据 流该数据流可能是视频数据流和与其相关的音频数据流,或者是多频道只有音频的节目流 基本视频数据流被分成进入单元(AU),每个进入单元含有描述一幅画面的压缩数据这些 画面被识别为I、P或B,每个画面载有一个进入单元号码来指示正确的播放顺序一个视 频进入单元成为一个节目数据流包在视频中,这些包的大小会变化例如,1画面包的大 小比 B 画面包大得多数字音频进入单元通常大小相同,几个数字音频进入单元成为一个 节目流包这些包不应该与传输流包混淆起来后者要小得多且大小固定视频和音频进入 单元边界与时间轴很少相吻合但因为每个边界有其各自的时间标记结构,所以这种 第七部分传输流传输流并不仅仅是许多 PES 数据包的复接在节目流中,由于视频和音频被锁定到同一时 钟上,所以时间标记足以重建时间轴对在数据网络上进行远距离下传,我们则需要给解码 器的每个节目重新创建时钟这就要求句法中有额外的层面来提供节目时钟参考(PCR)信 号7.1 传输流的工作 传输流承载着许多不同的节目,每个节目可能使用不同的压缩系数和数据率,该数据率即使 在整个数据率保持不变的情况下也会动态改变。
这种做法叫作统计复用,它可以允许处理复 杂内容的节目从处理简单内容的节目中借用带宽每个视频PES可以有不同数量的音频, 以及与其相关的数据PES即便具有这样的灵活性,解码器仍必须能从一个节目改变到另一 个节目,并正确选择适当的音频和数据频道有些节目可以保护起来而仅供那些支付租费的 人观看因此,传输流必须包含有条件进入(CA)信息来实施这种节目保护传输流含有节 目专用信息(PSI)来处理这些任务传输层将PES数据转换成固定大小的小数据包当这些 数据包到达解码器时,定时会发生抖动时间分隔复用的使用也会引起延迟,但这个系数是 不固定的,这是因为分配到每个节目中的数据流份额是不固定的时间标记可以是一种解决 办法,但它们只是当存在稳定时钟时才有效传输流必须含有额外的数据来重建稳定的时钟 数字视频制作设备的运行,很大程度上取决于用于同步的稳定系统时钟的分配在视频制作 中,可以使用强制同步锁定,但对长距离操作而言,不同时钟的分配是不可行的在传输流 中,不同的节目可能来源于不同的地方而不必被同步起来,所以传输流必须为每个节目提 供不同的同步方式这个额外的同步方法叫作节目时钟参考(PCR),它能重建稳定的参考 时钟,并可分割创建解码器的时间行,所以每个节目中的基本数据流的时间标记就变得非常 有用。
总之,节目的一个定义就是共享同一定时参考的一套基本数据流在单个节目传输流 (SPTS)中有一个PCR频道来重建音频和视频的节目时钟oSPTS经常被用来作为音频/视频 编码器和多路复接器之间的联系7.2 数据包图7.1是传输流数据包的结构其大小是固定的188 个字节,常常被分为报头和有效负载 图7.1a显示的是4个字节的最小包头在这个头部中最重要的信息是:同步字节该字节 由解码器识别,使报头和有效负载可相互分离传输误码指示器当传输层上面的误码校正 层遇到过高而无法校正的原始数据误码(BER)时才设定该指示器它指出可能存在误码的数 据包误码校正层的详细内容请看第八部分数据包识别:PID)这个13比特编码用来识别 不同类型的数据包有关PID的内容我们以后会进一步讨论连续计数器每次发送含有 相同 PID 的新数据包时,编码器便递增这个4 比特值,它用来判断是否有数据包丢失、重 复或次序发生变化在有些情况下需要更多的包头信息如果发生这种情况,就要设置匹配 场控制比特来指出报头信息比常规的要大图7.1b显示在这种情况下额外报头长度由匹配 场长度编码来表达当包头延伸时,有效负载就变小,以保持固定的数据包长度。
7.3节目时钟参考(PCR)用于特定节目的编码器具有27MHz的节目时钟在SDI(串行数字接。
