MPEG2 TS 原理与测量_第1页
MPEG2 TS 原理与测量_第2页
MPEG2 TS 原理与测量_第3页
MPEG2 TS 原理与测量_第4页
MPEG2 TS 原理与测量_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MPEG-2 TS 原理与测量视频与流媒体技术讲座(1)终端多媒体部 李晏2011-8-12背景oMPEG: 动态图像专家组(Moving Picture Experts Group),1988年成立,致力于开发视频音频的压缩编码技术oMPEG-2MPEG工作组于1994年发布的视频和音频压缩国际标准。MPEG-2通常用来为广播信号提供视频和音频编码。oMPEG-2 TS (Transport Stream) 为传输和复用音视频数据而定义的一种流数据格式,与MPEG-PS相对(ISO/IEC 13818-1 ) 背景oMPEG-2 标准文档集ISO/IEC 13818-1:系统-描述视频和音频

2、的同步和多路技术 ISO/IEC 13818-2:视频-视频压缩 ISO/IEC 13818-3:音频-音频压缩。 ISO/IEC 13818-4:测试规范 ISO/IEC 13818-5:仿真软件 ISO/IEC 13818-6:媒体数字存储(DSM-CC)扩展 ISO/IEC 13818-7:高级音频编码技术(AAC) ISO/IEC 13818-9:实时接口扩展 ISO/IEC 13818-10:DSM-CC规范 ISO/IEC 13818-11: IPMP on MPEG-2 systems 1MPEG媒媒体流概述体流概述2MPEG-2 TS原理与原理与协议实现协议实现3媒体质量指媒体

3、质量指标标名词解释名词解释oES: 压缩后的视音频信号称作压缩后的视音频信号称作ES(elementary stream)ES(elementary stream)流流oPES: 压缩后所有压缩后所有ESES流被打成不同长度的包,叫做流被打成不同长度的包,叫做PES(packetized elementary streams)PES(packetized elementary streams)。oAU: ES流中可以独立解析的数据单元被称为访问单元流中可以独立解析的数据单元被称为访问单元(access unit)ESPESTSMPEG-2 TS 与ATM网络MPEG-2 TS与数字有线电视MP

4、EG-2 TS与IP网络模型IP UDPTCPRTPRTSPMPEG-TS PESES应用层传输层网络层TCP/IP模型媒体流协议层次1MPEG媒媒体流概述体流概述2MPEG-2 TS原理与原理与协议实现协议实现3媒体质量指媒体质量指标标名词解释oSTC: 一个以一个以27MHz运行的时间计数器(运行的时间计数器(system time clock)oPCR:编码端在固定时刻将最新的编码端在固定时刻将最新的STCSTC计数器值复制到计数器值复制到TSTS流中,流中,作为解码端的时间准绳作为解码端的时间准绳(program clock reference)oDTS:解码时间戳,以解码时间戳,以P

5、CR为标准为标准(decoding time stamps)oPTS: 播放时间戳,以播放时间戳,以PCR为标准为标准(presentation time stamps)名词解释2oPSI:描述描述TS流的瞬时结构的表集合流的瞬时结构的表集合(program specific information)oPID:标识标识TS子流的一个唯一数字子流的一个唯一数字(packet identifier)oPAT:节目联合表节目联合表(program association table),用来检索和定位,用来检索和定位TS流流中的节目,中的节目,PAT表的表的PID值永远为值永远为0 x0000oPMT

6、节目映射表节目映射表(program map tables),对特定节目检索子流),对特定节目检索子流oCAT条件接受表条件接受表(conditional access table),用于需要认证的环境,用于需要认证的环境,CAT表的表的PID值永远为值永远为0 x0001PES协议格式oPES头格式(头格式(6Byte):):1. 同步字节:同步字节:3Byte,固定为,固定为00 00 012. 起始码标志:起始码标志:1个个Byte,说明负载类型(,说明负载类型(如视频、音频如视频、音频)3.包长度包长度:2Byte,表示负载的长度,表示负载的长度。PES headerOptionalP

7、ES header6 Byte HeaderMax.64kbyte payloadmax.64 kbyte 63 byte start code prefix 00 00 01Stream IDPES packetlengthPES协议格式o可选可选PES头:头:nPES头的可选扩展,根据当前传送头的可选扩展,根据当前传送ES流的要求设置。流的要求设置。n由由12个比特的个比特的11个标志来控制可选个标志来控制可选PES头中包含哪些字段,头中包含哪些字段,其中有其中有PTS和和DTS,这对视这对视/音频同步非常重要。音频同步非常重要。n最后可能有填充字节。最后可能有填充字节。PES heade

8、rOptionalPES header6 Byte HeaderMax.64kbyte payloadmax.64 kbyte 6PES Scramblingcontrol11 flagsPES headerData lengthOptional FieldsDepending on flagsStuffing Bytes ,FF“10PES协议格式o可选PES域 oPTSoDTSo基本流时钟基准(Elementary Stream Clock Reference,ESCR)o基本流速率信息(ES rate)o数字存储媒体(Digital Storage Media,DSM)信息BitPES

9、headerOptionalPES heaer6 Byte HeaderMax.64kbyte payloadmax.64 kbyte 6PTSDTSESCRESrateDSM TrickmodeA d d i t i o n a l Copy InfoPreviousPES CRCPESextension333342228816PES的几点说明o每个每个PES包最大包最大64k Bytes,对于极少数负载超过,对于极少数负载超过64k的的PES报文,报文,PES头中的长度头中的长度字段字段被赋值为被赋值为0。oPES封装本身并未规定如何对封装本身并未规定如何对ES流的数据进行分割,但是流的数

10、据进行分割,但是由于其包头扩展域中的由于其包头扩展域中的PTS/DTS字段对于单独一帧才有意字段对于单独一帧才有意义,因此经常将一个完整的视义,因此经常将一个完整的视/音频帧封装在一个音频帧封装在一个PES包中。包中。o一个一个PES流的内容具有单一性,流的内容具有单一性,PES协议本身不关心多个协议本身不关心多个流之间的同步。流之间的同步。oPES是是MPEG数据流的基本封装协议,不管本地播放格式数据流的基本封装协议,不管本地播放格式(PS)还是实时传输流格式()还是实时传输流格式(TS)其负载内容都为)其负载内容都为PES流流MPEG-2 TS协议的作用o实现可靠的远程传输 PES包长度过

11、大,不利于在传输信道上发送、校验、纠错o实现多路流的复用 PES流不支持复用,难以实现音视频同步播放、多画面播放等功能o实现传输和播放的实时性 PES流不支持播放端与发送端的时间同步,远程播放时也无法做到 在流中任意一点开始播放。TS流的传输特性o报文长度短(188Bytes 或 204 Bytes)o适应多种底层传输协议和传输信道o为了解码方便,打包TS时PES头一般在TS负载的开头PES headerPES headerPacketized elementary systemTransport streamPayloadunit startindicator=14 byteTS heade

12、r184 bytepayloadPayloadUnit startIndicator=1TS流的复用特性o支持一路节目的多流复用支持一路节目的多流复用o被复用的多个流用被复用的多个流用PID值进行区分值进行区分Pid=0 x000033Video pesAUDIO PESPacketized elementary systemTransport streamPid = 0 x000032Pid = 0 x000032Pid = 0 x000032Video PESAudio PESVAVVTS流的复用特性o支持多路节目的合成复用支持多路节目的合成复用o复用的节目通过节目编号(复用的节目通过节目

13、编号(program ID)进行标识,该信息在)进行标识,该信息在PAT表中传送表中传送EncoderVideo 1EncoderEncoderVideo 2Video 3Audio 1Audio 2Audio 3Program 1Program 2Program 3MPEG-2 MultiplexerTS流的实时特性oTS流通过每隔一定的时间(一般为流通过每隔一定的时间(一般为40ms)发送)发送PCR来实来实现远程时间同步现远程时间同步o一个节目有且仅有一个一个节目有且仅有一个PID所代表的所代表的TS子流中含有子流中含有PCR同同步信息,该步信息,该PID在在PMT表中给出表中给出o视频

14、音频帧播放与否的依据为该帧视频音频帧播放与否的依据为该帧PTS = last_pcr + tv_offseto视频音频帧解码与否的依据为该帧视频音频帧解码与否的依据为该帧DTS = last_pcr + tv_offseto若某帧中无若某帧中无PTS/DTS,则收到该帧后立刻解码播放,则收到该帧后立刻解码播放oPCR的精度为的精度为27MHz,PTS/DTS的精度为的精度为90KHzoTS流的复用结构信息被定期封装在流的复用结构信息被定期封装在PAT/PMT等表中传送等表中传送(一般小于(一般小于500ms)TS协议格式oTS头固定长度头固定长度188字节,字节,4字节头和字节头和184字节字

15、节负载,协议头如下负载,协议头如下:o1Byte同步字节,固定为同步字节,固定为0 x47o1bit 传输错误标识(解调器在收取数据后根据校验结果置位)传输错误标识(解调器在收取数据后根据校验结果置位)o2bit控制(控制(1bit有效载荷标识,有效载荷标识,1bit传输优先标识)传输优先标识)o13bit的的PID(packet identifier)o4bit控制位(控制位(2bit传输加扰标识和传输加扰标识和2bit自适应控制)自适应控制)1.4bit连续计数器(连续计数器(0-15循环编号)循环编号)184 byte payload188 bytes4 byte TS header13

16、 bit packet identifier=PID1bit transport error indicator1 byte sync byte = 47 hexTS协议格式o若自适应控制为真,则在TS头之后有自适应头:1. 1 Byte自适应区长 2. 1 Byte自适应区内容标识(每一个bit位代表一种自适应区内容字段类型,其中最重要的为PCR flag)TS的误码保护oTS包的包的188字节后可能加上字节后可能加上16或或20字节的保护码字节的保护码o一般采用的误码保护是一般采用的误码保护是ReedSolomon纠错码纠错码o误码保护是特殊的校验和纠错能力在误码保护是特殊的校验和纠错能力

17、在8-10个码元个码元4 byteheader184 bytepayload16 or 20 byte RS FEC204 or 208 byte188 byteTS流的解析o5个0 x47后同步完成o解析PAT表得到节目 列表和每个节目对应 PMT的PID号o解析PMT表得到每个 节目对应的子流集合o如传输加扰标识为真 等待CAT表以认证身份o连续三个间隔40ms以内的PCR能建立节目同步MPEG-2 TS流 PAT表n每个每个TS流一个,每隔流一个,每隔500ms重新发送。重新发送。n描述描述TS流中有多少个节目,每个节目用流中有多少个节目,每个节目用program ID标识。标识。n包含

18、该表的包含该表的TS包的包的PID为为0,便于识别。,便于识别。nPAT的的payload中传送特殊中传送特殊PID的列表,每个的列表,每个PID对应一个对应一个节目的节目的PMT表。表。n在没有收到在没有收到PID=0 x00的的PAT表之前,表之前,TS解码器不做任何解码器不做任何事事PID1PID2PID3PID4.Payload of TS packetTSheaderPID=0 x00Pointer to PMT1Pointer to PMT2Pointer to PMT3Pointer toPMT4MPEG-2 TS流 PMT表n每个节目一个,每每个节目一个,每500ms重新发送一

19、次重新发送一次nPMT的的PID由由PAT传送。传送。n例如要接收节目例如要接收节目3时,先从时,先从PAT的的payload中的所有中的所有PID列列表中选出节目表中选出节目3的的PID为为1FF3hex,然后查找包头中,然后查找包头中PID= 1FF3hex的的TS包,就是节目包,就是节目3的的PMT。nPMT包含该节目中所有包含该节目中所有ES流(视频、音频或数据)的流(视频、音频或数据)的PID。PID1PID2PID from PATTSheaderPayload of TS packetPointer to video ESPointer to audio ESPMT=Progra

20、m map tablePMT=Program map table1 PID entry per elementary stream1 PID entry per elementary streamMPEG-2 TS CAT表oCAT表在表在TS流需要认证或解密时出现流需要认证或解密时出现o若加扰控制为真,则在收到若加扰控制为真,则在收到CAT表之前解码器不做任何事表之前解码器不做任何事oCAT表的表的PID固定,为固定,为0 x01oCAT提供了提供了TS流其他数据包的流其他数据包的PID,该数据包传送了解扰所需信息:,该数据包传送了解扰所需信息:1.ECM(entitlement contr

21、ol message)用于传送加扰码用于传送加扰码2.EMM(entitlement management message)用于用户管理用于用户管理CAT(PID=1)PIDPIDECMEntitlement control messagesEMM Entitlement Management messagesKey codesAllocation rightsMPEG-2 TS NIT表oNIT描述信道的所有物理参数,包括下列信息:描述信道的所有物理参数,包括下列信息:n传输路径(卫星、电缆、地面)传输路径(卫星、电缆、地面)n接收频率接收频率n调制类型调制类型n误码保护误码保护n传输参数传

22、输参数o机顶盒在扫描或变换信道时,可以存储一个物理信道的所有参数,机顶盒在扫描或变换信道时,可以存储一个物理信道的所有参数,便于以后很快跳回该信道。便于以后很快跳回该信道。o信道中也可以传送相邻或其他信道的传输参数,使得信道转换灵信道中也可以传送相邻或其他信道的传输参数,使得信道转换灵活快捷。活快捷。o如果如果NIT中的传输参数与实际不符,会对许多接收设备,如机顶中的传输参数与实际不符,会对许多接收设备,如机顶盒,产生不可预知的影响。盒,产生不可预知的影响。oNIT表的表的PID为为0 x0010TS流解析的补充o一个节目可能有多个视频和音频流,解码器必须选择一个节目可能有多个视频和音频流,解

23、码器必须选择2个个PID,一个视频流的,一个视频流的PID(100hex),一个音频流),一个音频流的的PID(200hex)。)。o此后解码器只收集这些此后解码器只收集这些TS包,重新组成包,重新组成PES包,这些包,这些PES包再送到视频或音频解码器。包再送到视频或音频解码器。o传输过程中传输过程中TS流的结构也可能发生改变。流的结构也可能发生改变。接收终端接收终端必必须连续检测须连续检测TS流瞬时结构,读出流瞬时结构,读出PAT和和PMT,做自适,做自适应调整(应调整(PAT和和PMT内容中都有各自的内容中都有各自的version字段,字段,该字段发生改变表示该字段发生改变表示TS复用结

24、构发生了变更)。复用结构发生了变更)。TS流解析的补充o音视频解析流程视音频视音频PID获得获得ES流解扰流解扰码流解复用码流解复用视音频视音频PES包重新生成包重新生成视音频解码器视音频解码器服务信息表(SI)o服务信息表主要由下面这些表类型构成MPEG-2 TS各表PID汇总TablePIDTable IDPAT0 x00000 x00PMT0 x00200 x1FFE0 x02CAT0 x00010 x01NIT0 x00100 x40,0 x41BAT0 x00110 x4ASDT0 x00110 x420 x46EIT0 x00120 x4E0 x6FRST0 x00130 x71T

25、DT0 x00140 x70TOT0 x00140 x73ST0 x00100 x00140 x721MPEG媒媒体流概述体流概述2MPEG-2 TS原理与原理与协议实现协议实现3媒体质量指媒体质量指标标MPEG-2 TS的质量指标oMDI指标指标(IneoQuest /Cisco RFC4445)nMDI-df(延时因子)nMDI-MLR(MDI丢包率)nMLT-15(过去15分钟MLR统计)nMLT-24(过去24小时MLR统计)oTR101290指标指标(ENSI)o其他其他n媒体流码率n媒体流复用PID解析nTS包丢包率nTS包乱序率nTS包重传率MDI指标 MDI-dfo媒体延迟因子

26、mdi-df,代表网络抖动和码流速率对TS流质量的影响。o单位为秒或者毫秒o直观解释为需要缓存多少时间的数据,才能平滑网络抖动以及带宽波动对媒体数据的影响o算法周期一般为1秒。o计算公式: VB(i,pre) = sum (Sj) - MR * Ti; where j=1.i-1 VB(i,post) = VB(i,pre) + SiMDI-DF = VB(max) - VB(min)/ MR MDI指标 MDI-MLRo媒体丢包因子MDI-MLR,代表网络丢包和乱序情况对媒体的质量影响o单位为TS包/秒o统计周期一般为1秒o计算方法为累计一秒内TS包的乱序个数和丢包个数。oMLT-15 为1

27、5分钟MLR值的总和oMLT-24 为24小时MLR值的总和TR101290指标介绍oTR101290是ENSI组织发表的标准,主要用于解决TS层传输中的同步数据、多路复用以及实时处理性能的问题。o该标准共分三级,每一级有6个参数o该标准在模拟信道分频传输媒体流时比较有意义 TR101290level1编号提示符前提条件对机顶盒解码的影响1.1TS_sync_l当出现两个或两个以上连续错误的同步字节时会造成相当严重的影响,很可能无法正常解码和显示节目1.2Sysn_byte_同步字节不为0 x47会造成相当严重的影响,很可能无正常解码和显示节目1.3PAT_errorPAT表出现间隔大于0.5

28、s;一个PID 0 x0000中不包含table_id 0 x00(即PAT)如果PAT间隔大于0.5S,那么会造成用户搜索频道和节目的时间变长;如果PAT的PID错误,则机顶盒能够调谐上但无法搜索到节目1.3anote1PAT_error2PID 0 x0000中的table_id 0 x00出现间隔大于0.5s;PID 0 x0000的table_id 0 x0000不存在;PID 0 x0000 的scrambing_control_ filed 非0 x001.4Comtinuty_count_error数据包顺序错误;一个包出现两次或者数据包丢失如果错误发生在PSI/SI表或者EMM

29、等辅助信息上,那么可能显示不会出现任何问题。但如果错误发生在视频音频的PID上,那么通常会给相关节目的显示和声音播放造成问题1.5PMT_errorPMT(即table_id 0 x02)出现间隔大于0.5s;PMT(即table_id=0 x02)中scrambling_ control_field 非0 x00 如果是间隔大于0.5S,那么会造成用户搜索频道和节目的时间变长。如果table_id不为2,可能会造成某些机顶盒搜索不到节目1.5anote2PMT_error2在PAT指向的每个program_map_PID中,table_id 0 x02(即PMT)出现间隔超过0.5s;在PA

30、T指向的每个program_map_PID中,PMT(即table_id=0 x02)的scrambling_ control_field 非0 x00 TR 101154(note 3)1.6PID_error在用户设定的周期内PID没有出现可能是该播发的一路PID停了,那么那一路PID对应的服务或视频音频内容就无法显示。也可能是PSI/SI中制定了一个无关的PID,这时对机顶盒没什么影响TR101290level2编号编号提示符提示符前提条件前提条件2.1Transport_error TS头中的transport_error_indicator 为12.2CRC_error CAT, P

31、AT, PMT, NIT, EIT,BAT, SDT或TOT 表校验错误2.3PCR_error(Note) 无特殊标识中,PCR的不连续性间隔超过100ms;两个连续的PCR时间间隔超过40ms2.3a PCR_repetition_error两个连续的PCR时间间隔超过40ms2.3bPCR_discontinutiy_indicator_error当标识discontinuty_indicator未设置时,两个连续的PCR值PCRi+1-PCRi超过100ms,2.4PCR_accuracy_error PCR的精度选择不再500ns内2.5PTS_error PTS重复周期超过700m

32、s2.6CAT_error 包的transport_scrambing_control 非0 x00,但table_id=0 x01(即CAT)不存在;PID 0 x0001中发现CAT的table_id非0 x01NOTE:PCR_error(2.3)从逻辑及功能上讲,是更具体错误PCR_repetition_error(2.3a)和PCR_discontinuty_indicator(2.3b)的集合。对新的实现建议采用2.3a和2.3b指标,而非旧的指标2.3TR101290level3编号提示符前提条件3.1NIT_error(note2) PID 0 x0010的NIT或ST的tab

33、le_id 非0 x40、0 x41或0 x72;PID 0 x0010中table_id为0 x40 或0 x41(即NIT)的出现间隔超过10s3.1a NIT_actual_error PID 0 x0010中的table_id非0 x40、0 x41及0 x72(即非NIT、ST);PID 0 x0010中的NIT_actual的table_id 非0 x40超过10s;PID 0 x0010的两个连续的NIT_actual (即table_id为0 x40)在25ms或25ms以下出现3.1bNIT_other_error PID 0 x0010中,连续出现相同的section_nu

34、mber和table_id 为0 x41(即NIT_other)的间隔超过10s3.2SI_repitiion_errorSI表的重复率超过特定的范围3.3Buffer_errorTB_buffering_error :传输缓冲溢出(TBn);Tbsys_buffering_error:系统信息的传输缓冲溢出(TBsys);MB_buffering_error:复用缓冲区溢出(MBn)若使用了vbv_delay方法,则是复用缓冲区下溢(Mbn);EB_buffering_error:原始流缓冲溢出(EBn)若使用了leak方法,则是原始流缓冲下溢(EB-n),尽管low_delay_flag和

35、DSM_trick_mode_flag设为0,否则(vbv_delay方式)仍是原始流缓冲下溢(EBn);B_buffering_error:主缓冲溢出或下溢(Bn);Bsys_buffering_error:PSI输入缓冲溢出(B-sys);3.4非指定PID错误: PID(不含PAT、CAT、CAT_PIDs、PMT_PIDs、NIT_PID、SDT_PID、TDT_PID、EIT_PID、RST_PID 、reserved_for_future_usd PID及用户定义的作为私有的数据流的PIDs)在0.5s内不指向PMT表 (note1)Unreferenced_PIDTR101290level33.5SDT_error(note 3)PID 0 x0011中table_id 0 x42(即SDT ,actual TS)出现间隔大于2s;PID 0 x0011中table_id发现了未知值(0 x42 0 x46 0 x4A 0 x72除外) 3.5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论