TS流信息描述2
- 格式:doc
- 大小:35.00 KB
- 文档页数:6
分析Technology AnalysisI G I T C W 技术130DIGITCW2020.05EPG 即电子节目指南的英文缩写,在数字电视系统中,数字电视节目比模拟电视节目频带利用率高很多,传统的搜索节目用遥控器翻屏已不能适应广大用户享受快捷高质量信息服务需求,因此EPG 是数字电视广播发展的先导门户,是为用户提供的一次非常有特色的项目之一。
1 E PG 基本功能EPG 是运行在机顶盒STB (Set-Top-Box )上的一种应用程序,是用户与机顶盒进行交互的主要途径,用户通过EPG 使用机顶盒提供的各种功能选择收看自己喜欢的电视节目及各种增值业务,其具备的功能如下。
(1)节目单。
EPG 是以频道-节目名称-节目内容-节目播出时间为字段,提供一周的电视节目简介,用户可以以自己习惯的节目单方式进行浏览,可以选择一点或者一段时间正在播出的节目,或者选择喜欢的频道进行浏览,也可分类对节目信息进行浏览。
(2)当前节目播放。
用户可以从节目单中直接选择当前节目播收看。
(3)节目附加信息。
可以选择某个事件浏览其附加信息,如节目内容简介,节目在各地的收视率,播出时段等。
(4)节目分类。
有线运营对数字电视排序一般是按节目的类别排序,方便用户搜索节目,如新闻类、体育、娱乐、按专业分如棋牌、钓鱼等。
(5)预约收看。
在节目单上按频道、按节目类别预约一段时间内将要播出的节目,届时节目将自动播放。
(6)家长控制管理。
家长根据孩子的年龄可以选择一些节目进行加锁。
(7)扩展EPG 信息。
根据前端提供的信息有扩展功能。
2 表PSI/SI 的总体结构2.1 E PG 通过PSI/SI 来实现由于MPEG 所定义的PSI 的PAT 、PMT 、CAT 表所提供的信息只是对单一的TS 流的描述,接收端只能对一个TS 流传输的节目进行解码,而数字电视传输的是多个TS 流,数字电视业务多样化需要不同TS 流的相关业务信息和事件信息,因此DVB 对PSI 扩展后又增加了9个SI 表并规定了固定的PID 偏移值,例如PAT 表是PSI 表的根,它的PID 值固定为0x0000、条件接收表(CAT )的PID 偏移值是0x0001、而节目映射表(PMT )PID 偏移值是有PAT 表给出的,传输不同节目TS 流的PID 是不一样的,满足了用户从多个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为空分组保留。
摘要:这篇文章结合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(包标识符)进行标识。
1.相关概述1.1 背景介绍(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分组有效负载的第一字节。
PSI/SI简述1,MPEG-2 TS中的PSIPSI信息主要包括以下的表:PA T(Program Association Table):节目相关表,该表的PID是固定的0x0000(16进制),它的主要作用是指出该传输流ID,以及该路传输流中所对应的几路节目流的PMT 表和网络信息表的PID。
PMT(Program Map Table):节目映射表,该表的PID是由PAT提供给出的。
通过该表可以得到一路节目中包含的信息,例如,该路节目由哪些流构成和这些流的类型(视频,音频,数据),指定节目中各流对应的PID,以及该节目的PCR 所对应的PID。
NIT(Network Information Table):网络信息表,该表的PID是由PAT提供给出的。
NIT的作用主要是对多路传输流的识别,NIT提供多路传输流,物理网络及网络传输的相关的一些信息,如用于调谐的频率信息以及编码方式。
调制方式等参数方面的信息。
CA T(Conditional Access Table):条件访问表,PID -0x0001。
除了上述的几种表外,mpeg-2还提供了私有字段,用于实现对MPEG-2的扩充。
2,DVB中的SIMpeg-2的PSI中提供了不少的相关节目组成和相互关系的信息,从而使得在接收端可以正确的对多路传输流进行分解。
但是这些信息在实际使用时仍显得不够,为此在DVB中采用SI对PSI信息进行了进一步的扩展。
除了在PSI中的信息之外,DVB还定义了一些其他的一些表。
SI的主要用途有:a、根据NIT,PAT,PMT等信息可以进行自动的频道调谐;b、更方便的对节目进行选择和定位;c、实现电子节目指南EPG(Electronic Program Guide),等等。
PSI中的信息基本上都是与当前码流相关的,即它们所涉及的内容都与当前码流中的部分信息相关。
与PSI不同的是,SI的信息可以包括不在当前码流中的一些服务和事件,允许用户进行更多的选择和了解更多的其他服务信息。
ts流标准
TS流(Transport Stream)是一种在数字视频广播和存储中广泛使用的标准,用于传输和处理音视频数据。
它是MPEG-2标准中定义的一种容器格式,主要用于将音视频数据打包和传输到接收端。
TS流采用分段的方式将音视频数据进行打包,并将每个分段称为Packet。
每个Packet由一个特定长度的字节组成,其中包含了音视频数据以及相关的控制信息。
传输过程中,这些Packet按照一定的顺序依次发送,并在接收端进行解析和播放。
TS包的长度是固定的,为188字节,包括同步字节(sync_byte)0x47和数据包识别号PID等。
以上内容仅供参考,如需更多信息,建议访问信息技术论坛或咨询数字视频广播和存储领域的专业人士。
[ts码流分析] ETSI TR101 290监测的三种级别错误对于码流分析仪所提供ETSI TR101 290监测的三种级别错误,接收端将会TR101-290: DVB 系统测量标准TR101-290: DVB 系统测量标准。
TR 101-290 定义的三个优先级,是码流监测的一项主要内容。
通过这三个优先级的监测,可以检验被监测的码流是否符合MPEG-2 和DVB标准。
这三个优先级都包含许多不同的参数。
PSI/SI: 数字电视业务信息,由PSI和SI两部分构成。
PSI是MPEG-2规定的,它由PAT、PMT、CAT 和NIT 4个表构成,其中PAT、PMT表最为重要。
SI是DVB标准规定的,它由BAT、SDT、EIT、RST、TDT、TOT、ST、SIT和DIT 9个表构成,其中 BAT、SDT、EIT 和 TDT 是强制性的。
PSI/SI 由“表”和“描述符”构成。
表是PSI/SI 的基本结构,针对特定用途,PSI/SI 中规定了一系列表来实现它;表由变量和描述符组成。
描述符提供了更多的描述功能。
星座图: 星座显示是矢量示波器显示的数字等价形式,它可显示 QAM 信号的同相(I)分量和正交(Q)分量。
符号是一个特定调制系统中所传输的最小信息成分。
对于 QAM-64,一个符号代表 6 个位,在图上绘制为一个点。
BER位误码率:位误码率是发生误码的位数与传输的总位数之比。
MER:调制误差比, MER 将接收符号(代表调制图案中的一个数字值)的实际位置与其理想位置进行比较。
当信号质量降低时,接收符号距离理想位置更远,MER 测量值将会减小。
EVM:误差矢量幅度, EVM测量类似于 MER,但表达形式不同。
EVM 表达为 RMS 误差矢量幅度与最大符号幅度的百分比值。
信号缺陷增加时,EVM 将会增大,而 MER 则会减小。
EVM 是在IQ(同相与正交)星座图上检测到的载波与其理论上的准确位置之间的距离,是“误差信号矢量”与“最大信号幅度”之比,表达为 RMS 百分比值。
有线数字电视中的常用PSI/SI表摘要:本文结合DVB-C的有线数字电视某个TS流中的PSI/SI信息表,具体分析了MPEG-2的PSI信息和DVB的SI信息中的各种表,从而更清晰地了解各个表的功能和作用。
关键词:数字电视;TS流;PSI信息;SI信息;电子节目指南EPG1、引言在数字电视中,所有视频、音频、文字、图片等经数字化处理后都变成了数据,并按照MPEG-2的标准打包,形成固定长度(188个字节)的传送包,然后将这些数据包进行复用,形成传送码流(TS)。
通常由多个节目及业务复用组成的一个TS(TransportStream传输流)流对应一个8MHz带宽的频道。
数字电视机顶盒中为了找到需要的码流,识别不同的业务信息,在TS流中必须加入一些引导信息,为此,在MPEG-2中,专门定义了PSI(ProgramSpecificInformation)信息,其作用是从一个携带多个节目的某一个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(包标识符)进行标识。
transport streamMPEG组织于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为空分组保留。
从PID可以判断其后面负载的数据类型是视频流、音频流、PSI还是其他数据包。
PSI描述说明在MPEG-II中定义了节目特定信息(PSI),PSI用来描述传送流的组成结构,在MPEG-II系统中担任极其重要的角色,在多路复用中尤为重要的是PAT表和PMT表。
PAT表给出了一路MPEG-II码流中有多少套节目,以及它与PMT表PID之间的对应关系;PMT表给出了一套节目的具体组成情况与其视频、音频等PID对应关系。
PSI提供了使接收机能够自动配置的信息,用于对复用流中的不同节目流进行解复用和解码。
PSI信息由以下几种类型表组成:◆节目关联表(PAT Program Association Table)PAT表用MPEG指定的PID(00)标明,通常用PID=0表示。
它的主要作用是针对复用的每一路传输流,提供传输流中包含哪些节目、节目的编号以及对应节目的节目映射表(PMT)的位置,即PMT的TS包的包标识符(PID)的值,同时还提供网络信息表(NIT)的位置,即NIT 的TS包的包标识符(PID)的值。
◆条件接收表(CAT Conditional Access Table)CAT表用MPEG指定的PID(01)标明,通常用PID=1表示。
它提供了在复用流中条件接收系统的有关信息,指定CA系统与它们相应的授权管理信息(EMM))之间的联系,指定EMM 的PID,以及相关的参数。
◆节目映射表(PMT Program Map Table)节目映射表指明该节目包含的内容,即该节目由哪些流组成,这些流的类型(音频、视频、数据),以及组成该节目的流的位置,即对应的TS包的PID值,每路节目的节目时钟参考(PCR)字段的位置。
◆网络信息表(NIT Nerwork Information Table)网络信息表提供关于多组传输流和传输网络相关的信息,其中包含传输流描述符、通道频率、卫星发射器号码、调制特性等信息。
◆传输流描述表(TSDT Transport Stream Description Table)传输流描述表由PID为2的TS包传送,提供传输流的一些主要参数。
◆专用段(private_section)MPEG-2还定义了一种专用段用于传送用户自己定义的专用数据。
◆描述符(Descripter)除了上述的表述之外,MPEG-2还定义了许多描述符,这些描述符提供关于视频流、音频流、语言、层次、系统时钟、码率等多方面的信息,在PSI的表中可以灵活的采用这些描述符进一步为接收机提供更多的信息。
在解码时,接收机首先根据PID值找到PAT表,找出相应节目的PMT表的PID,再由该PID 找到该PMT表,再在PMT表中找到相应的码流,然后开始解码。
PSI结构和TS流的关系示例如图3所示。
PES包格式说明经过视音频压缩来的数码流称为ES流,ES流经过打包器输出PES流。
PES包是非定长的,音频PES包不超过64K字节,视频一般一帧一个PES包。
为实现解码的同步,还需插入相关的标志信息,多个打包后的数码流再经过复用器成为传送流(TS流),PES包的结构图如图4所示。
对截取的MPEG-II TS码流实例分析对截取的包含PSI信息的码流分析从MPEG-II TS流片源上截取的包含PSI信息的码流如图5所示。
搜索TS数据流从包同步字0x47开始,由于该同步头字节并不是唯一的,数据包中可能有码字也恰为其值。
因此,要准确检测同步,必须首先找到输入缓冲区中第一个0x47,然后将其指针向后推187个字节的位置再检测是否为0x47,如果是,则输出包同步信号;接着每隔187字节检测一次,如是0x47,则继续输出包同步信号,如不是,则重新开始搜索0x47。
在上段截取的包含PSI信息的码流中是一个TS文件中的起始数据截图,TS流文件中的数据Ts包头以0x47开头,在0x47后3字节是ts包头信息:0x40中的4表示此payload_unit_start_indicator 是1,表示包含TS流分组的第一个有效字节包含point_field字段,占一个字节;ID为0x00,表示此TS流包含PSI信息,在此是PA T包;0x1c中的1表示仅不含附加信息,仅含有有效载荷;C表示continuity_ counter=c。
在4字节的TS包头之后时一字节的point_field=0,然后是program_association_ section()字段的信息。
Table_id=0x00,表示在此PSI内容是program_ association_section()字段的信息内容;0xB0表示的B是同步头以及保留位,0是section_length 的一部分;section_length=0x00d(包含0x0D的前一个0);transport_ stream_ id=0x0000;0xC1包含保留位、vision_number、current_ next_indicator ,C中的11是保留位,C中的00和低4位中的前3位是vision_number部分,最低位是current_next_indicator部分。
vision_number=0x00;current_next_indicator=1,表示所发送的pat表当前有效;ection_number=0x00,last_ section_number=0x0000;program_number=0x0001;0xE0中的E的高三位是保留位,E的最低位和其后的4位0以及其后的8位都是program_map_PID字段内容,所以program_map_PID=0x032,即PMT的PID为0x32;CRC是0xbcf11595。
其后的0xff为填充字节。
在第二个TS流中,在0x47后3字节是ts包头信息:0x40中的4表示此payload_unit_start_indicator是1,表示包含TS流分组的第一个有效字节包含point_field字段,占一个字节。
ID为0x32,表示此TS流包含PSI信息PID为0x032,是pat表中的PID,说明此TS流中包含PMT表的信息。
point_field=0x00,(Ts头和point_field1字节共5字节)point_field后是0x02表示此处的pid为ts_program_ map_section()字段。
0xB0表示的B是同步头以及保留位,0是section_length的一部部分Section_length=0x02d,规定此字段的字节数,包含CRC部分;program_number=0x0001;0xC1包含保留位、vision_number、current_next_indicator,C中的11是保留位,C中的00和低4位中的前3位是vision_number部分,最低位是current_next_indicator部分;version_number=0x0,current_next_indicator=1,section_number=0x00,last_section_number=0x00;0xE0中的E的高三位是保留位,E的最低位和其后的4位0以及其后的8位都是PCR_PID字段内容,PCR_PID=0x020;其后的0xF0中的高4位是保留位,低4位和其后的8位都是program_info_length 字段内容,表示描述字段的字节数,program_info_length=0x000;stream_type=0x03表示其后的PID为ISO/IEC 11172音频数据的PID,其后的0xE0中的E的高三位是保留位,E的最低位和其后的4位0以及其后的8位都是element_PID字段内容,element_PID=0x021,表示TS流中如果包含音频部分,则此TS流的PID为0x21;其后的0xF0中的高4位是保留位,低4位和其后的8位都是ES_info_length字段内容,表示描述字段的字节数,ES_info_length=0x006,表示其后的6个字节为原始流的描述部分。
6个字节之后的stream_type=0x02,表示其后的PID为ITU-T Rec. H.262 | ISO/IEC 13818-2视频数据的PID;其后的0xE0中的E的高三位是保留位,E的最低位和其后的4位0以及其后的8位都是element_PID字段内容,element_PID=0x20,表示TS流中如果包含视频部分,则此TS流的PID为0x20, 其后的0xF0中的高4位是保留位,低4位和其后的8位都是ES_info_length字段内容,表示描述字段的字节数,ES_info_length=0x10,表示其后的16个字节为原始流的描述部分。