pat表和各个表的关系
MPEG-2传输流及PSI信息的解析

MPEG-2传输流及其PSI信息的解析在数字电视业务中,为了节约带宽资源,常常将不同的节目复用到一个信道上,并且,为了在容易发生错误的信道上进行可靠的传输,复用后的数据流称为传输流;终端在收到其中的某套节目时,必须从码流中对该节目进行提取,即在解码端必须对传输流进行解复用。
如果在传输流中不包含引导信息,由于传输流存在多套节目,数字电视终端设备将无法正确找到需要解码的信息,从而不能正确解码。
针对这一问题,MPEG2专门定义了节目专用信息PSI(Program Specific Information),它的作用是自动设置和引导终端设备进行解码。
这就需要在前端向传输流TS(Transport Stream)中进行PSI信息的复用,并用特定的包标识符(PID)进行标识。
本文就传输流TS的组成及其PSI信息进行了解析,重点对PSI信息的组成及功能进行了说明,并对终端如何利用PSI信息进行自动解码进行了阐述。
一、MPEG2传输流结构在MPEG2 中,系统编码有两种方法:程序流和传输流,其分别适用于不同的应用环境。
程序流是针对错误相对较少的环境内设计的,适用于像交互式多媒体一些涉及软件处理系统信息的应用,程序流分组是可变的而且相对较长。
MPEG2的传输流是相对于程序流而言,其主要是针对那些容易发生错误的环境而设计的,如在容易在丢失或高噪音的媒体中存储和传送,为便于处理和信道编码,传输流的分组长度一般是固定的,为188字节。
其结构如下图1所示。
图1 传输流结构如图1所示,在MPEG2的传输流中,可以包含多个节目,而每个节目又是由多个基本码流(如视频、音频、数据等)组成,基本码流、PSI信息及其他控制数据都被打成固定长度的包分组,这些数据流分组的区分都是通过PID (packet ID)来区分的。
传输流的实例可如图2表示。
TS流实例图2 传输流实例图中,PAT,PMT,NIT,CAT为PSI信息,下面将进行说明,而VIDEO,AUDIO则为视、音频传输流,ECM(Entitlement Control Message)、EMM (Entitlement Management Massage)为授权信息,用于对视音频数据的解扰。
什么是TS

什么是TS(transport stream)传输流标准?MPEG组织于1994年推出MPEG-2压缩标准,以实现视/音频服务与应用互操作的可能性,MPEG-2标准是针对标准数字电视和高清晰度电视在各种应用下的压缩方案和系统层的详细规定。
对应于不同的应用,符合MPEG-2标准的码流又分为传送流和程序流,本文主要讲解了传送流有关的部分数据结构,从实际应用的传送流码流中截取了部分码流做了说明,并给出了部分解析传送流码流的实例程序。
在MPEG-II标准中,为了将一个或更多的音频、视频或其他的基本数据流合成单个或多个数据流,以适应于存储和传送,必须对其重新进行打包编码,在码流中还需插入各种时间标记、系统控制等信息,最后送到信道编码与调制器。
这样可以形成两种数据流——传送流(TS)和程序流(PS),分别适用于不同的应用,图1给出了单路节目的视音频数据流的复用框图。
传送流(Transport Stream)简称TS流,它是根据ITU-T Rec.H.222.0|ISO/IEC 13818-2 和ISO/IEC 13818-3协议而定义的一种数据流,其目的是为了在有可能发生严重错误的情况下进行一道或多道程序编码数据的传送和存储。
这种错误表现为比特值错误或分组丢失。
传送流由一道或多道节目组成,每道节目由一个或多个原始流和一些其他流复合在一起,包括视频流、音频流、节目特殊信息流(PSI)和其他数据包。
其中PSI表有4种类型:节目关联表(PAT)、节目映射表(PMT)、网络信息表和条件访问表。
传送流应用比较广泛,如视音频资料的保存、电视节目的非线性编辑系统及其网络等。
在开发机顶盒以及视频设备时有时需要对码流的编码知识有比较清楚地了解,这样才能在遇到问题时做出全面的分析。
TS流结构分析如图2所示,TS包的长度是固定的,为188字节。
包括同步字节(sync_byte)0x47和数据包识别号PID等。
PID为13位字段,指示存储于分组有效负载中数据的类型,PID值0x0000为程序关联表保留,而0x0001为条件访问表保留,0x1FFF为空分组保留。
TS_表结构

摘要:这篇文章结合DVB-C的有线数字电视某个TS流中的PSI/SI信息表,具体分析了MPEG-2的PSI信息和DVB的SI信息中的各种表,从而更清晰地了解各个表的功能和作用。
<br />要害词:数字电视;TS流;P ...摘要:这篇文章结合DVB-C的有线数字电视某个TS流中的PSI/SI信息表,具体分析了MPEG-2的PSI信息和DVB的SI信息中的各种表,从而更清晰地了解各个表的功能和作用。
在数字电视中,所有视频、音频、文字、图片等经数字化处理后都变成了数据,并按照MPEG-2的标准打包,形成固定长度(188个字节)的传送包,然后将这些数据包进行复用,形成传送码流(TS)。
通常由多个节目及业务复用组成的1个TS(TransportStream传输流)流对应1个8MHz带宽的频道。
数字电视机顶盒中为了找到需要的码流,辨认不同的业务信息,在TS流中必须加入一些引导信息,为此,在MPEG-2中,专门定义了PSI(ProgramSpecificInformation)信息,其作用是从1个携带多个节目的某1个TS流中正确找到特别指定的节目。
在MPEG-2标准中定义的PSI表,是对纯一TS流的描述。
因为体系通常存在多个TS流,为了引导数字电视用户能在TS流中迅速地找出自己需要的业务,DVB对MPEG-2的PSI进行了扩充,在PSI四个表的基础上再增长了九个表,形成SI(ServiceInformation)。
SI是对整个体系所有TS流的描述,在符合MPEG-2(13818-1)的TS传输流中插入DVB标准定义的业务信息(ServiceInformation,SI),使机顶盒(Set-Top-Box)的综合接收解码器(IRD)可以从TS流中提掏出节目供给商播出节目的列表和播出参数,以直观的形式预示给数字电视用户,要得用户可以方便地接收、选择数字电视节目。
PSI表包孕节目联系关系表(PAT)、条件接收表(CAT)、节目映射表(PMT)和收集信息表(NIT)组成,这些表在复用时通过复用器插入到TS流中,并用特别指定的PID(包标识符)进行标识。
TS流结构分析(PAT和PMT)

TS流也是由一个或多个PES组合而来的,他们可以具有相同的时间基准,也可以不同。
其基本的复用思想是,对具有相同时间基准[color="#000000"]的多个PES现进行节目复用,然后再对相互有独立时间基准的各个PS进行传输复用,最终产生出TS。
TS包由包头和包数据2部分组成,其中包头还可以包括扩展的自适用区。
包头长度占4bytes,自使用区和包数据共占184bytes,整个TS包长度相当于4个ATM包长。
TS包的包头由如下图摘录所示的同步字节、传输误码指示符、有效载荷单元起始指示符、传输优先、包识别(PID-Packet Identification)、传输加扰控制、自适应区控制和连续计数器8个部分组成。
其中,可用同步字节位串的自动相关特性,检测数据流中的包限制,建立包同步;传输误码指示符,是指有不能消除误码时,采用误码校正解码器可表示1bit 的误码,但无法校正;有效载荷单元起始指示符,表示该数据包是否存在确定的起始信息;传输优先,是给TS包分配优先权;PID值是由用户确定的,解码器根据PID将TS上从不同ES来的TS包区别出来,以重建原来的ES;传输加扰控制,可指示数据包内容是否加扰,但包头和自适应区永远不加扰;自适应区控制,用2 bit表示有否自适应区,即(01)表示有有用信息无自适应区,(10)表示无有用信息有自适应区,(11)表示有有用信息有自适应区,(00)无定义;连续计数器可对PID包传送顺序计数,据计数器读数,接收端可判断是否有包丢失及包传送顺序错误。
显然,包头对TS包具有同步、识别、检错及加密功能。
TS包自适应区由自适应区长、各种标志指示符、与插入标志有关的信息和填充数据4部分组成。
其中标志部分由间断指示符、随机存取指示符、ES优化指示符、PCR标志、接点标志、传输专用数据标志、原始PCR标志、自适应区扩展标志8个部分组成。
重要的是标志部分的PCR字段,可给编解码器的27MHz时钟提供同步资料,进行同步。
简述表与表之间的关系、表与表之间的连接方式以及特点

简述表与表之间的关系、表与表之间的连接方式以及特点表与表之间的关系是指不同表之间的数据关系,通过对这些不同表的数据关系的建立,可以方便地进行数据查询和分析。
在关系型数据库中,表与表之间的关系可以分为三种类型:一对一关系、一对多关系和多对多关系。
一对一关系:一对一关系是指两个表之间的数据关系是一对一的情况。
在该关系中,一个表的每一条记录只能与另一个表的一条记录相对应。
这种关系在数据库设计中较少出现,一般是因为业务需求或数据模型设计的需要才会出现。
常见的一对一关系的实例有:员工表和身份证表之间的关系,一个员工对应一个身份证;订单表和发货地址表之间的关系,一个订单对应一个发货地址。
一对多关系:一对多关系是指两个表之间的数据关系是一对多的情况。
在该关系中,一个表的每一条记录可以对应另一个表的多条记录。
这种关系在数据库设计中较常见,常用于表示多对一的关系。
常见的一对多关系的实例有:部门表和员工表之间的关系,一个部门可以有多个员工;顾客表和订单表之间的关系,一个顾客可以有多个订单。
多对多关系:多对多关系是指两个表之间的数据关系是多对多的情况。
在该关系中,一个表的一条记录可以对应另一个表的多条记录,反之亦然。
这种关系在数据库设计中较复杂,需要通过中间表来实现。
常见的多对多关系的实例有:学生表和课程表之间的关系,一个学生可以选择多门课程,一门课程也可以被多个学生选择;作者表和书籍表之间的关系,一个作者可以写多本书,一本书也可以有多个作者。
表与表之间的连接方式是指通过某些方式将不同表之间的数据连接起来,以便进行数据查询和分析。
常用的连接方式有:内连接、左连接、右连接和全连接。
内连接:内连接是指两个表之间的连接操作,只返回两个表中符合连接条件的共同记录。
内连接一般用于查询两个表之间的交集部分。
内连接的语法形式为:SELECT列表FROM表1 INNER JOIN表2 ON连接条件。
左连接:左连接是指左表中的所有记录和右表中满足连接条件的记录进行连接操作,如果右表中无符合连接条件的记录,则返回NULL。
表之间关联关系

表之间关联关系表之间的关联关系是数据库设计中的重要概念之一,它描述了不同表之间的联系和依赖关系。
在一个数据库中,通常会有多个表,这些表之间通过某种方式进行连接和关联,以实现数据的有效管理和查询。
下面将介绍几种常见的表之间的关联关系。
一、一对一关系(One-to-One)一对一关系是指两个表之间的记录一一对应的关系。
在这种关系中,一个表的一条记录只能对应另一个表中的一条记录,而且这种关系是互相的。
例如,一个人和他的身份证号之间就是一对一关系。
二、一对多关系(One-to-Many)一对多关系是指一个表的一条记录对应另一个表中的多条记录。
在这种关系中,一个表的记录可以对应另一个表中的多个记录,而另一个表的记录只能对应一个表中的记录。
例如,一个学校和它的学生之间就是一对多关系。
三、多对多关系(Many-to-Many)多对多关系是指两个表之间的记录可以互相对应的关系。
在这种关系中,一个表的记录可以对应另一个表中的多个记录,而另一个表的记录也可以对应一个表中的多个记录。
为了实现多对多关系,通常需要借助一个中间表来记录两个表之间的关联关系。
例如,一个学生可以选择多门课程,而一门课程也可以被多个学生选择,这就是多对多关系。
四、外键关系(Foreign Key)外键关系是指一个表中的字段与另一个表中的字段之间建立的联系。
在这种关系中,一个表的字段引用了另一个表中的字段作为外键,从而实现了两个表之间的关联。
通过外键关系,可以实现表之间的一对一、一对多和多对多关系。
例如,一个订单表中的用户ID字段可以作为外键,引用用户表中的用户ID字段,从而实现订单表和用户表的关联。
五、自关联关系(Self-Referential)自关联关系是指一个表中的记录与同一表中的其他记录之间建立的联系。
在这种关系中,一个表的记录可以与同一表中的其他记录进行关联。
例如,一个员工表中的上级ID字段可以与员工表中的员工ID字段进行关联,从而实现员工与上级之间的关系。
pat表和各个表的关系

专用信息(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 。
DVB学习资料

一、DVB基础知识部分1、对于一个TS流中所包含的PA T表中描述了那些基本和关键信息?1)、描述了该TS流的Transport Stream ID,即流ID;2)、描述了该TS流里含有的节目的Program Number和相对应的PMT PID;3)、描述了NIT表的PID;4)、描述了版本信息,如果节目数、Transport Stream ID、Program Number或PMT PID 发生变化,则版本也要发生相应的变化,以提示接收端。
2、对于一个TS流中所包含的PMT表中描述了那些基本和关键信息?1)、对于视频节目而言描述了如下信息:①、该套节目的Program Number;②、该套节目的视频PID、音频PID和PCR PID;③、如果该套节目需要加扰,则需要描述一个或多个CA系统的System ID和相对应的ECM PID;2)、对于音频节目而言描述了如下信息:①、该套节目的Program Number;②、该套节目的音频PID和PCR PID;③、如果该套节目需要加扰,则需要描述一个或多个CA系统的System ID和相对应的ECM PID;3)、对于私有数据信息而言描述了如下信息:该数据的数据PID;该种情况可独立存在,也可以包含在1)和2)的过程中;4)、描述了版本信息,如果PMT描述的Video PID、Audio PID、PCR PID、Private PID或CA 描述子发生变化,则版本也要发生相应的变化,以提示接收端。
3、对于一个TS流中所包含的CAT表中描述了那些基本和关键信息?1)、描述了一个或几个CA系统的System ID以及相对应的EMM PID;2)、CA T的版本信息,如果授权信息发生变化,则版本要发生相应的变化,以提示接收端。
4、对于一个TS流中所包含的NIT表中描述了那些基本和关键信息?1)、描述了该TS流所在网络系统的Network ID;2)、描述了该TS流的原始Network ID、Transport Stream Id和对应的频点、符号率和QAM模式(DVB-C)、极化方式(DVB-S)的描述;3)、描述了该TS流所在网络系统得其他TS流的原始Network ID、Transport Stream Id和对应的频点、符号率和QAM模式(DVB-C)、极化方式(DVB-S)的描述;5)、描述了TS流的各节目的业务类型以及该网络系统中其他TS流中各节目的业务类型,此描述可选;6)、描述了版本信息,如果NIT描述的上述信息发生变化,则版本也要发生相应的变化,以提示接收端。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 ( 内部的或外部的) 来确定视频时基,并简单地从光盘上获取数据,以便在该时基上提供画面。
在传送过程中,解码器需要对编码器重建时基,否则编码器会过载或下溢。
因此,传输流使用节目时钟参考(PCR),而节目流则不需要节目时钟。
节目流介绍节目流是一个PES 打包复接,载有多个用相同主时钟或系统时钟(STC)进行编码的基本数据流。
该数据流可能是视频数据流和与其相关的音频数据流,或者是多频道只有音频的节目流。
基本视频数据流被分成进入单元(AU),每个进入单元含有描述一幅画面的压缩数据。
这些画面被识别为I、P 或B,每个画面载有一个进入单元号码来指示正确的播放顺序。
一个视频进入单元成为一个节目数据流包。
在视频中,这些包的大小会变化。
例如,I画面包的大小比B 画面包大得多。
数字音频进入单元通常大小相同,几个数字音频进入单元成为一个节目流包。
这些包不应该与传输流包混淆起来。
后者要小得多且大小固定。
视频和音频进入单元边界与时间轴很少相吻合。
但因为每个边界有其各自的时间标记结构,所以这种第七部分传输流传输流并不仅仅是许多PES数据包的复接。
在节目流中,由于视频和音频被锁定到同一时钟上,所以时间标记足以重建时间轴。
对在数据网络上进行远距离下传,我们则需要给解码器的每个节目重新创建时钟。
这就要求句法中有额外的层面来提供节目时钟参考(PCR)信号。
7.1 传输流的工作传输流承载着许多不同的节目,每个节目可能使用不同的压缩系数和数据率,该数据率即使在整个数据率保持不变的情况下也会动态改变。
这种做法叫作统计复用,它可以允许处理复杂内容的节目从处理简单内容的节目中借用带宽。
每个视频PES 可以有不同数量的音频,以及与其相关的数据PES。
即便具有这样的灵活性,解码器仍必须能从一个节目改变到另一个节目,并正确选择适当的音频和数据频道。
有些节目可以保护起来而仅供那些支付租费的人观看。
因此,传输流必须包含有条件进入(CA) 信息来实施这种节目保护。
传输流含有节目专用信息(PSI)来处理这些任务。
传输层将PES数据转换成固定大小的小数据包。
当这些数据包到达解码器时,定时会发生抖动。
时间分隔复用的使用也会引起延迟,但这个系数是不固定的,这是因为分配到每个节目中的数据流份额是不固定的。
时间标记可以是一种解决办法,但它们只是当存在稳定时钟时才有效。
传输流必须含有额外的数据来重建稳定的时钟。
数字视频制作设备的运行,很大程度上取决于用于同步的稳定系统时钟的分配。
在视频制作中,可以使用强制同步锁定,但对长距离操作而言,不同时钟的分配是不可行的。
在传输流中,不同的节目可能来源于不同的地方而不必被同步起来,所以传输流必须为每个节目提供不同的同步方式。
这个额外的同步方法叫作节目时钟参考(PCR),它能重建稳定的参考时钟,并可分割创建解码器的时间行,所以每个节目中的基本数据流的时间标记就变得非常有用。
总之,节目的一个定义就是共享同一定时参考的一套基本数据流。
在单个节目传输流(SPTS)中有一个PCR 频道来重建音频和视频的节目时钟。
SPTS经常被用来作为音频/ 视频编码器和多路复接器之间的联系。
7.2 数据包图7.1是传输流数据包的结构。
其大小是固定的188 个字节,常常被分为报头和有效负载。