廊坊网站推广,网站建设上海,服务器吗放几个网站,项目资源整合网应该说真正了解TS#xff0c;还是看了朋友推荐的《数字电视业务信息及其编码》一书之后#xff0c;MPEG2 TS和数字电视是紧密不可分割的#xff0c;值得总结一下其中的一些关系。
ISO/IEC#xff0d;13818#xff0d;1#xff1a;系统部分#xff1b; ISO/IEC#xff…应该说真正了解TS还是看了朋友推荐的《数字电视业务信息及其编码》一书之后MPEG2 TS和数字电视是紧密不可分割的值得总结一下其中的一些关系。
ISO/IEC138181系统部分 ISO/IEC138182视频 ISO/IEC138183音频 ISO/IEC138184一致性测试 ISO/IEC138185软件部分 ISO/IEC138186数字存储媒体命令与控制 ISO/IEC138187高级音频编码 ISO/IEC138188系统解码实时接口
MPEG2系统任务包括 1. 规定以包传输数据的协议 2. 规定收发两端数据流同步的协议 3. 提供多个数据流的复用和解复用协议 4. 提供数据流加密的协议。以包形式存储和传送数据流是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)。在编码的时候PTSDTS和SCR都是由STC(system time clock)生成的在解码时STC会再生并通过锁相环路PLLphase lock loop用本地SCR相位与输入的瞬时SCR相位锁相比较以确定解码过程是否同步若不同步则用这个瞬时SCR调整27MHz的本地时钟频率。最 后PTSDTS和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包的自适应区来传送定时信息。于是被选中的TS包的自适应区可用于测定包信息的控制bit和重要的控制信息。自适应区无须伴随每个包都发送发送多少主要由选中的TS包的传输专用时标参数决定。标志中的随机存取指示符和接点标志在节目变动时为随机进入I帧压缩的数据流提供随机进入点也为插入当地节目提供方便。自适应区中的填充数据是由于PES包长不可能正好转为TS包的整数倍最后的TS包保留一小部分有用容量通过填充字节加以填补这样可以防止缓存器下溢保持总码率恒定不变。 前面3节总结了MPEG2 TS的基本格式其中包括PESPS和TS以及相关字段的介绍。那么作为一种传输流TS将内容进行打包/复用让其媒体内容变成TS传输并最终在解码端解码。简单来看TS是一个传输层的协议栈它可以承载各种内容的传输比如MPEGWMVH264甚至是IP那么其中的传输规范是如何定义的呢这个即是PSI节目特定信息要做的事情。 PSI由四张表构成PATPMTCAT和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是支持多路复用的所以它可用来传输经复用后的多层节目。在复用过程中要注意的是解码过程中所需要面对的时间参考和同步问题因为解复用是需要各种信息同步进行的所以在复用过程中就需要插入相关的时间信息PTSDTSPCR。
在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信息将媒体内容进行显示处理。
其过程可参见下图