MPEG2 TS小结
MPEG2_TS打包AAC码流

MPEG2-TS打包AAC码流:MPEG-2系统任务包括:1、规定以包传输数据的协议,2、规定收发两端数据流同步协议,3、提供多个数据流复用和解复用协议,4、提供数据流加密协议。
该系统的要点是以包形式存储与传送数据流。
MPEG-2标准主要规定了传输流(TS)和程序流(PS)两种结构。
Transport Stream (传输流),则主要应用于实时传送的节目,比如实时广播的电视节目。
Program Stream主要应用于存储的具有固定时长的节目,如DVD电影,可添加字幕等一些程序操作。
二者的区别在于,TS流的包结构是定长的,而PS流的包结构是变长的。
简单的说,你将DVD上的VOB文件的前面一截cut掉(或者干脆就是数据损坏),那么就会导致整个文件无法解码了,而电视节目是你任何时候打开电视机都能解码(收看)的,所以,MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。
TS码流由于采用了固定长度的包结构,当传输误码破坏了某一TS包的同步信息时,接收机可在固定的位置检测它后面包中的同步信息,从而恢复同步,避免了信息丢失。
因此在信道环境较为恶劣、传输误码较高时一般采用TS码流。
TS格式是一种较为先进的“封装格式”,BD蓝光原盘即采用TS封装,它在视频和音频打包时提供时间戳,保证了任何时间段(分离)的音画同步,TS封装支持几乎所有编码的高清视频和音轨编码。
本文的目的是将AAC编码出来的码流进行TS封装,具体过程是:AAC编码出来的码流属于基本流(Elementary Stream,ES);基本流加上PES头部信息打包形成打包的基本流PES,PES头部信息包含显示时间戳PTS和解码时间戳DTS;打包的基本流加上TS头部信息和系统信息后再分割成固定长度的包,就形成了传输流。
当然也可以进一步打包成RTP以便进行网络实时传输。
如下图:将ES流加上PES头部信息打包形成PES流,PES包的长度不是固定的,但是音频PES 包一般不超过64字节,视频一般一帧一个PES包,一个PES包由包起始码,包头和净荷组成,包起始码长度是固定的9个字节,PES包如下图:其中,PES Packet Length(PES包长度)表明该PES包的具体长度(尽管该值不是固定的),该长度域占两个字节,即16bit,因此该包的最大长度是65535字节,上面已经提到,用于音频码流时,该包长不超过64字节,而用于视频时一般一帧一包。
MPEG-2 TS码流监测的研究分析

应字段 控制字段 ( 字段 ) 连 续性计数 器字段 ( 字段 ) 2位 . 4位
等 信 息 。PD指 示 存 储 于 分 组 有 效 负 载 中数 据 的 类 型 。 从 P I I D 可 以 判 断 其 后 面 负 载 的 数 据 类 型 是 视 频 流 、音 频 流 、P IS S/ I 还 是 其 他 数 据 包 ; 应 字 段 控 制 字 段 表 示 当 前 包 携 带 调 整 字 适
0,
EPG
节 的 Pce 后部 加 上 1 节 的 C C数据 . akt 6字 R 其他 格式 是一 样
的 ) S流 系 统 层 由系 统 层 信 息 和 有 效 负载 构 成 。 T 。T s流 系 统 层 信 息 就 是 在 PS包 组 成 T E s流 的过 程 中 . 了 使 码 流 适 合 于 为 信道传输 和接收端恢复数据而添加 的 T s包 头 和 其 他 相 关 控 制 信息 。 如 图 1 示 .T 所 s包 头 是 T s包 的 标 识 部 分 ,以 0 4 X 7标 志 一个 T s包 的 开 始 . 4个 字 节 , 含 了 与 当 前 T 共 包 s包 相 关
Ra i n dO a dTV o i rn M nt ig o
P S包 所 包 含 的 信 息 .E E PS包 被 分 段 后 用 来 组 成 丁 S包 . 带 携
况 . 有标识 具体 C 含 A系统的 C — yt _D和用于获取授权 A S se l m
分 析 了 MP G 2的 P I 息和 D E 一 S信 VB 的 s 信 息 中 的各 种 I
表 , 而 更 清 晰 地 了解 各 个 表 的 功 能和 作 用 。还 分 析 了 从
T 0 —9 R1 12 0错 误 监 测 的 各 项 内 容 。 充 分 应 用 了模 块 化 等 设 计 思 想 , 得 各 模 块 可 以 获取 码 流 中 对 应 的 数据 , 使 实 现 对 码 流 中各 种 信 息 的 分 析 , 完成 码 流 分 析 的 功 能 。 并
mpeg1、mpeg2和mpeg4标准对比分析和总结

mpeg1、mpeg2和mpeg4标准对⽐分析和总结mpeg1、mpeg2和mpeg4标准对⽐分析和总结mpeg1、mpeg2和mpeg4标准对⽐0、参考(1).(2).(3).(4).(5).1、编解码流程详细mpeg1,mpeg2和mpeg4的编解码流程可以参考: MPEG-1标准主要采⽤基于插值的运动补偿预测+DCT+量化+VLC熵编码的技术;MPEG-2标准在MPEG-1的基础上增加了Scan过程并且码流语法中增加了多种extension,以⽀持更⾼分辨率和更多码率的编码。
MPEG-4标准主要是⾯向对象的编码以⽀持应⽤的交互性操作。
MPEG-4解码器分成了纹理解码、运动解码、形状解码、⼈脸解码等模块,MPEG-4标准中纹理解码模块,在MPEG-2标准基础上在Quant之后增加了对残差系数进⾏DC/AC预测过程,进⼀步降低编码冗余。
2、编码码流结构编码码流结构可以参考: 从三种标准的码流分层结构可以看出,MPEG-1和MPEG-2的码流结构⾮常相似,唯⼀区别是MPEG-2码流中的Sequence_header后⾯必须紧跟sequence_extension,否则就是MPEG-1的码流。
两者都具有相似的分层结构,从上到下分别包括Sequence、GOP、Picture、Slice、Macroblock和Block,每⼀层开头都包含⼀个header,后⾯紧跟相关数据,每个header的识别都是根据起始码进⾏判断的。
MPEG-4标准是⾯向对象的,因⽽分层结构也是对象相关的,从上到下分别是Visual Object Sequence(VS)、Video Object(VO)、Video Object Layer (VOL)、Group of Video Object Planes (GOV)和 Video Object Plane (VOP),每⼀层开头都包含⼀个header,后⾯紧跟相关数据,每个header的识别都是根据起始码进⾏判断的。
分析有线数字电视中的常用PSISI表

分析有线数字电视中的常用PSI/SI表1、引言在数字电视中,所有视频、音频、文字、图片等经数字化处理后都变成了数据,并按照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(包标识符)进行标识。
SI包括业务描述表(SDT)、事件信息表(EIT)、时间和日期表(TDT)、时间偏移表(TOT)、业务群关联表(BAT)和运行状态表(RST)、填充表(ST)、选择信息表(SIT)、间断信息表(DIT)等表信息。
SI中的各表在实际使用中并不都需要传送,其中NIT、SDT、EIT、TDT是必需传送的,其它表则按照需要进行选择传送。
MPEG-2 TS码流分析

MPEG-2 TS码流分析一、TS流概述ES流(Elementary Stream,基本流):数字电视各组成部分编码后所形成的直接表示基本元素内容的流,包含视频、音频或数据的连续码流。
PES流(Paketized Elementary Stream,打包基本码流):是将基本的码流ES流根据需要分成长度不等的数据包,并加上包头就形成了打包的基本码流PES流。
PS (Program Stream,节目流):将一个节目的多个组成部分按照它们之间的互相关系进行组织并加入各组成部分关系描述后的码流。
PS流是一种多路复用数字音频、视频等的封装容器,它一个或多个具有共同的时间基准的PES流合并成一个整体流,主要用于节目存储。
其包长不固定,且较长,一旦失去同步信息,接收机无法确定下一包的同步位置,会造成失步,导致严重的信息丢失。
PS流适用于误码小、信道较好的环境,如演播室、家庭环境和存储介质中。
TS流(Transport Stream,传输流):是将一个节目的多个组成部分按照它们之间的互相关系进行组织并加入各组成部分关系描述和节目组成信息,并进一步封装成传输包后的码流。
TS流是将视频、音频、PSI等数据打包成传输包进行传送。
主要用于节目传输。
TS的传输包长度固定,一般为188字节。
TS流和PS流是MPEG-2标准中规定的两种输出码流。
TS格式中,从视频流的任意一片断开始都可以独立解码,而PS格式不可以。
由于TS流具备较强的抵抗传输误码的能力,因此目前在传输媒体中进行传输的MPEG-2码流基本上都采用了TS 流的包格式。
TS流的播放:播放前将TS流文件的后缀名该为.mpg或者.mpeg,用可以直接播放MPEG-TS流的播放器(一般的播放器都可以)打开播放即可。
TS流的优点:1、动态带宽分配:由于TS的传输包长度是固定的,因此可过PID可以将规定的信道总频带在视频、音频和数据信息见进行实时的、灵活的分配。
利用这一特性,可在广播付费节目前实时地将解密钥匙插入到TS流中送给广大用户。
MPEG2-TS流文件的简介

MPEG2-TS流文件的简介引用自/question/5502243.html随着从HDTV录制的高清节目在网上的流传,烧友们现在对TS这个名词大概已经不陌生了,但随之而来就是如何播放、如何添加字幕等等的一系列问题,本文将重点介绍一下这方面的应用操作。
先来简要介绍一下什么是MPEG2-TS吧。
MPEG2格式大家都通过对DVD的接触而多多少少了解了一些,DVD节目中的MPEG2格式,确切地说是MPEG2-PS,全称是Program Stream,而TS的全称则是Transport Stream。
MPEG2-PS主要应用于存储的具有固定时长的节目,如DVD电影,而MPEG-TS则主要应用于实时传送的节目,比如实时广播的电视节目。
这两种格式的主要区别是什么呢?简单地打个比喻说,你将DVD上的VOB文件的前面一截cut 掉(或者干脆就是数据损坏),那么就会导致整个文件无法解码了,而电视节目是你任何时候打开电视机都能解码(收看)的,所以,MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。
【MPEG2-TS流文件的简单回放】有一些播放器软件可以直接播放MPEG2-TS流,比如:=> 1.WinDVD 5.x=> 2.VLC Media Player=> 3.Elecard Player等等。
播放前,先将TS流文件的后缀名改为.mpg,以便播放器可以识别它是一个MPEG文件,否则一些\"以貌取人\"的播放器可能会拒绝提供服务。
修改了后缀名后,直接用播放器打开文件播放即可。
但是需要通过VOBSub外挂字幕的朋友,可能很快就会发现,在WinDVD里无法对MPEG 文件加载字幕,这是因为WinDVD在对MPEG文件解码的时候,用了内部的解码流程,而没有按照微软的DirectShow标准去搭建解码框架,这样自然就无法触发VOBSub这些基于DirectShow标准的外挂控件了。
MPEG-2TS码流编辑的原理及其应用
MPEG-2TS码流编辑的原理及其应用1. 简介MPEG-2TS(MPEG-2 Transport Stream)是一种应用于数字视频和音频传输的标准格式。
它被广泛应用于数字电视、高清视频广播、视频录制以及流媒体等领域。
MPEG-2TS码流编辑是对MPEG-2TS码流进行剪辑、合并、分离等操作的过程。
本文将介绍MPEG-2TS码流编辑的原理及其应用。
2. MPEG-2TS码流格式MPEG-2TS码流是由一系列的同步的MPEG-2TS包组成。
每个TS包的长度为188字节,其中包括4字节的头部、184字节的有效数据以及4字节的误码检测。
TS包可以携带视频、音频、字幕、导航信息等多种类型的数据。
通过解析TS包的头部信息,可以确定包中数据的类型及其位置。
3. MPEG-2TS码流编辑原理MPEG-2TS码流编辑的原理是通过对TS包进行增删改的操作来实现对码流的编辑。
常见的编辑操作包括剪辑、合并、分离等。
3.1 剪辑剪辑是指从原始的MPEG-2TS码流中选择需要的部分进行提取。
通过解析TS包的头部信息,可以确定需要的起始和结束位置,并将这些TS包提取出来,生成一个新的MPEG-2TS码流。
剪辑操作常用于视频广播中对广告等内容的剪辑。
3.2 合并合并是指将多个MPEG-2TS码流合并成一个新的码流。
通过解析每个TS包的头部信息,可以确定TS包的顺序和对应的PID(Packet Identifier),然后将不同码流的TS包按照顺序进行合并。
合并操作常用于视频编辑软件中对多个视频文件的合并。
3.3 分离分离是指将一个MPEG-2TS码流中的不同PID所对应的TS包分离出来。
通过解析每个TS包的头部信息,可以确定TS包所属的PID,然后将同一PID的TS包提取出来,生成一个新的码流。
分离操作常用于从视频录制设备中对视频、音频等进行分离。
4. MPEG-2TS码流编辑的应用MPEG-2TS码流编辑在多个领域中得到广泛应用。
MPEG-2中TS码流包结构和功能应用
MPEG-2中TS码流包结构和功能应用【摘要】本文就有线电视数字信号TS流的形成原理和包结构的相关内容进行了论述。
【关键词】ES;MPEG-2;TS;复用/解复用技术;包结构一、概述随着有线数字电视的普及,MPEG-2系统复用技术的地位亦发凸显,根据传输媒介的质量不同,MPEG-2中定义了两种复用信息流:传输流(TS)和节目流(PS:ProgramStream)。
TS流与PS流的区别在于TS流的包结构是固定长度的,而PS流的包结构是可变长度的。
TS码流由于采用了固定长度的包结构,当传输误码破坏了某一TS包的同步信息时,接收机可在固定的位置检测它后面包中的同步信息,从而恢复同步,避免了信息丢失。
而PS包由于长度是变化的,一旦某一PS包的同步信息丢失,接收机无法确定下一包的同步位置,就会造成失步,导致严重的信息丢失。
因此,在信道环境较为恶劣,传输误码较高时(如:有线数字电视),一般采用TS码流;而在信道环境较好,传输误码较低时(如:家用DVD碟片),一般采用PS码流。
此外,采用固定长度包格式的TS码流在将多路数据进行复用时提供了许多灵活性和一些显著的优点,譬如:a、动态带宽分配;b、可分级性;c、可扩展性;d、抗干扰性;e、接收机成本低廉。
以上的这些都让我们必须对TS流有一个更深层次了解和认识,以备能够在日后更好地解决工作、学习中遇到的问题。
二、PES(PacketizedElementaryStream,打包基本流)及其包基本结构在讲TS码流包结构之前,我们先来了解一下MPEG-2复用系统结构(见图1)。
由系统图可见PES码流是图像和声音信号经编码后生成了各自的基本流(ES:ElementaryStream)成为TS码流环节中不可或缺的部分。
PES是打包的基本码流(ES流),是编码器和解码器的直接连接形式。
通常PES包的长度不固定,音频PES包一般不超过64byte,而视频一般一帧一个PES包。
同时在PES包中加有DTS和PTS数据。
MPEG-2的PS流于TS流之间的区别
PS流与TS流之间的区别############################################################################### 据传输媒体的质量不同,MPEG-2中定义了两种复合信息流:传送流(TS:TransportStream)和节目流(PS:ProgramStream)TS流与PS流的区别在于TS流的包结构是固定长度的,而PS流的包结构是可变长度的。
PS包与TS包在结构上的这种差异,导致了它们对传输误码具有不同的抵抗能力,因而应用的环境也有所不同。
TS码流由于采用了固定长度的包结构,当传输误码破坏了某一TS 包的同步信息时,接收机可在固定的位置检测它后面包中的同步信息,从而恢复同步,避免了信息丢失。
而PS包由于长度是变化的,一旦某一PS包的同步信息丢失,接收机无法确定下一包的同步位置,就会造成失步,导致严重的信息丢失。
因此,在信道环境较为恶劣,传输误码较高时,一般采用TS码流;而在信道环境较好,传输误码较低时,一般采用PS码流。
由于TS码流具有较强的抵抗传输误码的能力,因此目前在传输媒体中进行传输的MPEG-2码流基本上都采用了TS码流的包格式。
MPEG2-PS主要应用于存储的具有固定时长的节目,如DVD电影,而MPEG-TS则主要应用于实时传送的节目,比如实时广播的电视节目。
这两种格式的主要区别是什么呢?你将DVD上的VOB文件的前面一截剪掉(或者干脆就是数据损坏),那么就会导致整个文件无法解码,而电视节目是你任何时候打开电视机都能解码(收看)的,所以,MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。
############################################################################### PS 和TS流的区别在MPEG-2系统中,信息复合/分离的过程称为系统复接/分接,由视频,音频的ES流和辅助数据复接生成的用于实际传输的标准信息流称为MPEG-2传送流(TS:TransportStream)。
MPEG-2 学习笔记
MPEG-2 学习笔记(一)最近有点时间,看了一部分MPEG-2 的规范,看后想总结点东西,算是做了点作业,另外希望能和大家讨论讨论,请大家指点。
中文版很多概念翻译得很模糊,不易理解,但总体来说还算是不错,适合像我这种入门级别的看,不过建议和英文版对照看,对一些概念能比较准确的理解。
整个规范包括三部分:系统,视频编码,音频编码。
对应的标准号分别为ISO/IEC 13818-1,ISO/IEC 13818-2,ISO/IEC 13818-3,在规范中经常可以看到这几个字符串。
第一部分“系统”和我们现在的工作关系较紧密,我也主要学习了第一部分。
后面两部分主要是讲解编码过程,编码部分看了实在让人犯晕,先偷一下懒吧,把第一部分搞清楚了再看去啃难啃的骨头吧。
下面进入正题了。
一、概念规范中讲述的概念很多,容易让人糊涂,所以先把一些概念理清,弄清楚它们之间的关系,再看后面的就可提高很多的效率。
(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适用于容易发生错误的环境,典型应用就是数字电视信号的传输。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MPEG2 TS小结应该说真正了解TS,还是看了朋友推荐的《数字电视业务信息及其编码》一书之后,MPEG2 TS和数字电视是紧密不可分割的,值得总结一下其中的一些关系。
ISO/IEC-13818-1:系统部分;ISO/IEC-13818-2:视频;ISO/IEC-13818-3:音频;ISO/IEC-13818-4:一致性测试;ISO/IEC-13818-5:软件部分;ISO/IEC-13818-6:数字存储媒体命令与控制;ISO/IEC-13818-7:高级音频编码;ISO/IEC-13818-8:系统解码实时接口;MPEG2系统任务包括:1. 规定以包传输数据的协议;2. 规定收发两端数据流同步的协议;3. 提供多个数据流的复用和解复用协议;3. 提供数据流加密的协议。
以包形式存储和传送数据流是MPEG2系统之要点。
ES是直接从编码器出来的数据流,可以是编码过的视频数据流,音频数据流,或其他编码数据流的统称。
ES流经过PES打包器之后,被转换成PES包。
PES包由包头和payload组成,具体格式摘录如下:可以看到PTS/DTS是打在PES包里面的,这两个parameters是解决视音频同步显示,防止解码器输入缓存上溢或下溢的关键。
PTS表示显示单元出现在系统目标解码器(STD: system target decoder)的时间,DTS表示将存取单元全部字节从STD的ES解码缓存器移走的时刻。
每个I、P、B帧的包头都有一个PTS和DTS,但PTS与DTS 对B帧都是一样的,无须标出B帧的DTS。
对I帧和P帧,显示前一定要存储于视频解码器的重新排序缓存器中,经过延迟(重新排序)后再显示,一定要分别标明PTS和DTS。
ES首先需打包成PES流包,然后PES根据需要打包成PS或TS包进行存储或传输。
其每路ES只包含一路信源的编码数据流,所以每路PES也只包含相对应信源的数据流。
对PS流而言,每个PES包头含有PTS和DTS,流识别码,用于区别不同性质ES。
然后通过PS复用器将PES包复用成PS包。
实际上是将PES包分解为更细小的PS包。
在解码的时候,解复用器将PS分解成一个个PES包,拆包器然后将PES包拆成视频和音频的ES,最后输入至各自解码器进行解码。
一个问题是:各个ES在解码时,如何保证视音频的同步呢?除了PTS和DTS的配合工作外,还有一个重要的参数是SCR(system clock reference)。
在编码的时候,PTS,DTS和SCR都是由STC(system time clock)生成的,在解码时,STC会再生,并通过锁相环路(PLL-phase lock loop),用本地SCR相位与输入的瞬时SCR相位锁相比较,以确定解码过程是否同步,若不同步,则用这个瞬时SCR调整27MHz的本地时钟频率。
最后,PTS,DTS和SCR一起配合,解决视音频同步播放的问题。
(DTS(解码时间戳)和PTS(显示时间戳)分别是解码器进行解码和显示帧时相对于SCR(系统参考)的时间戳。
SCR可以理解为解码器应该开始从磁盘读取数据时的时间。
MPEG文件中的每一个包都有一个SCR时间戳,并且这个时间戳就是读取这个包时的系统时间.)PS格式摘录如下:PS包的长度比较长且可变,主要用于无误码环境里,因为越长的话,同步越困难,且在丢包的情况下,重组也越困难。
所以,PS适合于节目信息的编辑和本地内容应用的application。
TS流也是由一个或多个PES组合而来的,他们可以具有相同的时间基准,也可以不同。
其基本的复用思想是,对具有相同时间基准的多个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时钟提供同步资料,进行同步。
其过程是,通过PLL,用解码时本地用PCR相位与输入的瞬时PCR相位锁相比较,确定解码过程是否同步,若不同步,则用这个瞬时PCR调整时钟频率。
因为,数字图像采用了复杂而不同的压缩编码算法,造成每幅图像的数据各不相同,使直接从压缩编码图像数据的开始部分获取时钟信息成为不可能。
为此,选择了某些(而非全部)TS包的自适应区来传送PCR 定时信息。
于是,被选中的TS包的自适应区,可用于测定包信息的控制bit和重要的控制信息。
自适应区无须伴随每个包都发送,发送多少主要由选中的TS包的传输专用时标参数决定。
标志中的随机存取指示符和接点标志,在节目变动时,为随机进入I帧压缩的数据流提供随机进入点,也为插入当地节目提供方便。
自适应区中的填充数据是由于PES包长不可能正好转为TS包的整数倍,最后的TS包保留一小部分有用容量,通过填充字节加以填补,这样可以防止缓存器下溢,保持总码率恒定不变。
前面3节总结了MPEG2 TS的基本格式,其中包括PES,PS和TS,以及相关字段的介绍。
那么作为一种传输流,TS将内容进行打包/复用,让其媒体内容变成TS传输,并最终在解码端解码。
简单来看,TS是一个传输层的协议栈,它可以承载各种内容的传输,比如MPEG,WMV,H264,甚至是IP,那么其中的传输规范是如何定义的呢?这个即是PSI(节目特定信息)要做的事情。
PSI由四张表构成:PAT,PMT,CAT和NIT,这四张表分别描述了一个TS流所包括的所有ES流的传输结构。
首先的一个概念是,TS流是以包形式传播,在编解码端都需要以一定的包ID来标识TS流里承载的内容,比如,PAT表会存在于一个或多个TS包里,所以要用一个特别的包ID来表示,另外,不同的ES流也需要不同的包ID来标识。
我们有了PAT和PMT这两种表,解码器就可以根据PID,将TS上从不同ES来的TS包区分出来进行解码。
TS的解码分两步进行,其一,是从PID为0的TS包里,解析出PAT表,然后从PAT表里找到各个节目源的PID,一般此类节目源都由若干个ES流组成,并描述在PMT 表里面,然后通过节目源的PID,就可以在PMT表里检索到各个ES的PID。
其二,解码器根据PMT表里的ES流的PID,将TS流上的包进行区分,并按不同的ES流进行解码。
所以,TS是经过节目复用和传输复用两层完成的,即在节目复用时,加入了PMT,在传输复用时,加入了PAT。
同样在节目解复用时,可以得到PMT,在传输解复用时,可以得到PAT。
下图很好地概述了其思想。
TS是支持多路复用的,所以它可用来传输经复用后的多层节目。
在复用过程中,要注意的是,解码过程中所需要面对的时间参考和同步问题,因为解复用是需要各种信息同步进行的,所以在复用过程中,就需要插入相关的时间信息:PTS,DTS,PCR。
在TS形成过程中,PTS和DTS是在ES打包成PES时,根据STC的参考,将其时钟信息注入PES包中的,而之后在PES切成TS时,再将PID和PCR信息注入到TS包中,当多路TS再进行复用的时候,各路TS的PCR将会被提取出来,再进行分析,然后再根据统一的STC参考,将新的PCR生成并注入到TS中去,最后,因为原来PAT表信息不在适用,所以新的PAT表需要再生成,并附加到新的TS流中去。
经过这多层的复用之后,新的TS流即可以进入调制,传输阶段。
过程可参见下图:解码过程要面对的问题是:解复用,视音频的同步,解码缓存器无上下溢。
解复用即是将TS在同一信道里不同时序进行传输的节目分离出来;视音频同步由DTS, PTS和PCR 三者协调完成,并且PCR是重建系统时间基准的绝对时标,而DTS和PTS是解码和重现时刻的相对时标;对解码缓存器无上下溢的问题,必须借助于系统目标解码器(STD)模型来对其进行实现,基本思想如下:TS流进入解码器后,首先由换向器,按照一定的时序关系,将各种ES流分解出来(其中也包括PSI信息流)。
分解过后的ES流会进入各自的传输缓存器,通过之后,其PES流进入各自的主存储器,注意的是:PSI信息流会进入系统缓存器,最后也到达主存储器。
最后,解码器根据DTS信息,从各个主存储器分别提取媒体或系统信息,进行解码,并根据PTS信息,将媒体内容进行显示处理。
其过程可参见下图:。