ts码流结构分析
- 格式:ppt
- 大小:1.59 MB
- 文档页数:46
TR101-290三级错误、PSI/SI、PCR分析描述DVB系统测量标准之一TR 101-290定义的三个优先级,是码流监测的一项主要内容。
通过这三个优先级的监测,可以检验被监测的码流是否符合MPEG-2和DVB标准。
这三个优先级都包含许多不同的参数。
一、TR 101-290的第一优先级1、同步错误(TS Sync Loss)同步错误是衡量传输流质量的最重要的指标。
传输流失去同步,表明传输过程中有一部分数据丢失,将直接影响画面显示的质量。
严重的同步丢失现象则表明传输中断,同步字节出现错误。
2、同步字节错误(Sync Byte Error)同步字节错误和同步错误的区别在于传输数据包长为188字节或204字节,但同步字头的标准值为0×47,当出现同步字节错误时,同步字头的值为其他数值,表明在传输过程中部分数据出现错误,可能导致接收时出现马赛克,严重时导致解码器和DISPLAY软件解不出信号。
3、包识别丢失(PID Mssing)检测数据流中各套电视节目的图像/声音数据是否正确。
PID丢失,将导致DISPLAY软件无法正确解码这套节目。
4、节目相关表(PAT)PAT在DVB标准中用于指示当前节目及其在数据流中的位置。
PA T丢失,将导致解码器无法搜索到相应的节目包,使得接收端收不到图像。
如果PA T超时,则解码器工作时间延长。
5、节目对照表(PMT)PMT在DVB标准中用于指示该套节目视/音频数据在传输流中的位置。
某一套节目的PMT丢失,将导致解码器找不到该套节目视/音频数据,使得接收端收不到图像或声音。
PMT 传输超时,DISPLAY软件无法显示这套节目。
6、连续计数错误(Cont Count Error)对于每一套节目的视/音频数据包而言,连续计数错误是一个很重要的指标。
传输流包头连续计数不正确,表明当前传输流有丢包、错包、包重叠等现象,将导致解码器或DISPLAY 软件不能正确解码,图像出现马赛克等现象。
TS系统解码TS系统解码 (1)1 TS流的内容 (2)1.1 ES (2)1.2 PES (2)1.3 TS (4)2 TS流的解码过程(只考虑本地文件,解码只涉及到系统层打包的解码,不涉及到编码的解码) (5)2.1 PAT解码: (5)2.2 PMT解码 (6)2.3 音视频解码 (6)3 TS流解码 (7)3.1 总用例图 (7)3.2 各解码类的UML图 (8)3.2.1 解码主类 (8)3.2.2 事件管理类 (9)3.2.3 各类包解析的关系图 (10)3.2.4 输入输出类 (11)3.2.5 解析PA T、PMT、私有数据等 (12)3.2.6 解析TS 包 (13)3.2.7 解析PES包 (14)3.2.8 PCR时钟类 (15)3.2.9 CRC校验类 (15)3.3 解码流程图 (16)3.3.1 TS包解析流程图 (16)3.3.2 Section解码流程图 (17)3.3.3 PES解码流程图 (18)4 TS流合成(编码) (19)4.1 各编码类的UML图 (19)4.1.1 编码主类 (19)4.1.2 合成各类之间的关系 (20)4.2 编码主要流程 (21)4.2.1 TS编码流程图 (21)4.2.2 负载(pes、section)打包过程 (22)附表一: (23)附表二: (25)1TS流的内容TS->PES->ES->NAL1.1 ESAn elementary stream (ES) is defined by MPEG communication protocol is usually the output of an audio or video encoder.1.2 PESallows an Elementary stream to be divided into packets.图一:PES结构图PES结构各字段的具体含义见附表一。
【精品博文】TS流(1)——TS流概述1, TS流的作用最近在进行一项h264编解码的工作,h264的码流编出来后自然就涉及到码流的传输了,这时候就需要利用到TS流(Transport Stream)了。
如下图,视频/音频数据就是246编码器或者MPEG2编码器编码出来的原始码流,成为ES流(Elementary Stream)。
ES流经过分组器被打包成PES流(Packetized Elementary Stream)。
而后PES流有两种打包方式,一种是打包成PS流(Program Stream),主要用于存储,如DVD;另一种是打包成TS流,主要用于传输,如广播电视。
两者的主要差别在于PS流是不固定长度,其对数据的完整性要求很高。
而TS流是固定长度的,其最大的优势在于有很强的抵抗传输误码的能力,且从TS流的任一片段开始都可以独立解码。
这里我们只讨论TS流。
2, TS流基本信息前面提到,TS流在广播电视传输中有着广泛应用,那我们就先来了解下广播电视的接收原理,进行了解TS的基本信息。
如下图,假设我要看CCTV5,而其频道号为1。
机顶盒在接收到遥控器的指示后,会进行如下操作:(1) 搜索PID=0x0000的TS包,这种类型的包称为PAT。
所谓PID即Packet ID,类似一张身份证,标示TS包的类型。
从PAT中可以获取到频道号为1的PMT的PID为0x001f。
(2) 机顶盒开始搜索PID=0x001f的TS包——CCTV5的PMT。
从PMT中又可以获取到2个重要信息:CCTV5的视频包的PID为0x0021,音频包为0x0028。
(3) 接着机顶盒抓取这2种PID的TS包,从中提取出PES。
再从PES中提取出ES,送入相应的解码器。
最后播放出来就形成了我们看到的精彩纷呈的电视节目。
由上面的描述,我们可以知道,TS流中关键包有PAT,PMT,PES。
除此之外,还需要PCR来进行时钟同步。
PTS,DTS信息来控制解码以及播放顺序。
ts码流结构分析TS(Transport Stream)是一种常用的音视频码流传输格式,用于在数字广播系统和互联网传输中对音视频数据进行分组和传输。
TS码流结构分析指的是对TS码流的组成部分进行分析,了解各部分的作用和关系。
以下是对TS码流结构的详细分析。
TS码流由多个188字节的包(Packet)组成,每个包都包含了一部分音视频数据。
一个TS包由4个字节的同步字节(Sync Byte)开头,用于标识包的开始。
接下来的4位为传输误码纠正(Error Correction)信息,用于保证传输数据的完整性和准确性。
再接下来的1位为负荷优先级(Payload Unit Start Indicator),用于标识包中是否包含了新的数据单元。
然后是13位的PID(Packet Identifier),用于标识包中所包含的数据单元的类型。
接下来的2位为传输加密(Transport Scrambling Control),用于指定包中数据的加密方式。
再接下来的2位为控制报文(Adaptation Field Control),用于指定包中的控制信息是否存在。
最后的184字节为有效数据(Payload),用于传输音视频数据。
每个TS包中的PID用于标识包中所包含的数据单元的类型,常见的PID值有0x0000(PAT:Program Association Table)、0x0001(CAT:Conditional Access Table)、0x0010(NIT:Network Information Table)、0x0011(SDT:Service Description Table)等。
PAT表包含了整个TS流的所有节目以及对应的PMT(Program Map Table)的PID值。
CAT表用于传递整个TS流中的加密和访问控制信息。
NIT表用于传递整个TS流中的网络信息,包括网络ID和传输参数。
SDT表用于传递整个TS流中的节目信息,包括节目名称和节目号码。
ts码流结构分析与监测TR101-290三级错误、PSI/SI、PCR分析描述DVB系统测量标准之一TR 101-290定义的三个优先级,是码流监测的一项主要内容。
通过这三个优先级的监测,可以检验被监测的码流是否符合MPEG-2和DVB标准。
这三个优先级都包含许多不同的参数。
一、TR 101-290的第一优先级1、同步错误(TS Sync Loss)同步错误是衡量传输流质量的最重要的指标。
传输流失去同步,表明传输过程中有一部分数据丢失,将直接影响画面显示的质量。
严重的同步丢失现象则表明传输中断,同步字节出现错误。
2、同步字节错误(Sync Byte Error)同步字节错误和同步错误的区别在于传输数据包长为188字节或204字节,但同步字头的标准值为0×47,当出现同步字节错误时,同步字头的值为其他数值,表明在传输过程中部分数据出现错误,可能导致接收时出现马赛克,严重时导致解码器和DISPLAY软件解不出信号。
3、包识别丢失(PID Mssing)检测数据流中各套电视节目的图像/声音数据是否正确。
PID丢失,将导致DISPLAY软件无法正确解码这套节目。
4、节目相关表(PAT)PAT在DVB标准中用于指示当前节目及其在数据流中的位置。
PA T丢失,将导致解码器无法搜索到相应的节目包,使得接收端收不到图像。
如果PA T超时,则解码器工作时间延长。
5、节目对照表(PMT)PMT在DVB标准中用于指示该套节目视/音频数据在传输流中的位置。
某一套节目的PMT丢失,将导致解码器找不到该套节目视/音频数据,使得接收端收不到图像或声音。
PMT 传输超时,DISPLAY软件无法显示这套节目。
6、连续计数错误(Cont Count Error)对于每一套节目的视/音频数据包而言,连续计数错误是一个很重要的指标。
传输流包头连续计数不正确,表明当前传输流有丢包、错包、包重叠等现象,将导致解码器或DISPLAY 软件不能正确解码,图像出现马赛克等现象。
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为空分组保留。
1)ES- Elementary Streams (原始流),对视频、音频信号及其他数据进行编码压缩后的数据流称为原始流。
原始流包括访问单元,比如视频原始流的访问单元就是一副图像的编码数据。
(2) PES- Packetized Elementary Streams (分组的原始流),原始流形成的分组称为PES分组,是用来传递原始流的一种数据结构(3)节目是节目元素的集合。
节目元素可能是原始流,这些原始流有共同的时间基点,用来做同步显示。
(4)传输流和节目流TS-Transport Stream 翻译为“传输流”PS-Program Stream 翻译为“节目流”PS用来传输和保存一道节目的编码数据或其他数据。
PS的组成单位是PES分组。
TS用来传输和保存多道节目的编码数据或其他数据,TS的组成单位是节目。
PS适用于不容易发生错误的环境,以及涉及到软件处理的应用,典型应用如DVD光盘的文件存储TS适用于容易发生错误的环境,典型应用就是数字电视信号的传输。
TS和PS是可以互相转换的,比如从TS中抽取一道节目的内容并产生有效的PS是可能。
(5)传输流分组和PES分组原始流分成很多PES分组,保持串行顺序,一个PES分组只包含一个原始流的编码数据。
PES分组长度很大,最大可为64K字节。
PES分组分为“分组首部(header)”和“有效负载(payload)”。
“有效负载”指跟随在首部字节之后的字节。
首部的前4个字节构成分组的起始码,标识了该分组所属原始流的类型和ID号。
TS分组也就是传输流数据形成的数据包。
每个TS分组长度为188字节,包括“分组首部”和“有效负载,前4个字节是分组首部,包含了这个分组的一些信息。
有些情况下需要更多的信息时,需在后面添加“调整字段(adaption field)”。
两者之间的关系:PES分组是插入到TS分组中的,每个PES分组首部的第一字节就是TS分组有效负载的第一字节。