MPEG-2 TS_PS同步原理

合集下载

Mpeg-2的同步及时间恢复

Mpeg-2的同步及时间恢复

Mpeg-2 的同步及时间恢复 蔡新国 广州市广播电视网络有限公司 (广东广州 510010)摘要: 摘要:Mpeg-2 同步及时间恢复在编码、传输和解码中占有重要的地位,它不仅 直接影响视音频的解码质量,还是衡量整个传输网络优劣的重要指标。

本文将从 原理上介绍 Mpeg-2 同步及时间恢复方法,并给出 PCR 测量的几个项目。

关键字: 关键字:STC,PCR,DTS,PTS一、引言Mpeg-2 用于视音频同步以及系统时钟恢复的时间标签分别在 ES,PES 和 TS 这 3 个层次中。

在 ES 层,与同步有关的主要是视频缓冲验证 VBV(Video Buffe r Verifier),用以防止解码器的缓冲器出现上溢或者下溢;在 PES 层,主要是 在 PES 头信息里出现的显示时间标签 PTS(Presentation Time Stamp)和解码 时间标签 DTS(Decoding Time Stamp);在 TS 层中,TS 头信息包含了节目时钟 参考 PCR(Program Clock Reference),用于恢复出与编码端一致的系统时序 时钟 STC(System Time Clock)。

通常的视频压缩算法都采用了可变长编码,编码生成的视频码流是可变码率的。

为了能够在实际的固定码率信道或者可变码率信道上传输, 需要引入缓冲区缓存 视频码流数据。

因此,视频编码算法必须提供一个有效的缓冲区管理策略,确保 缓冲区不会发生上溢和下溢。

编码器通过码率控制算法,调整生成的视频码流满 足既定的缓冲区管理策略;同时在码率控制算法中使用自适应量化方法,确保压 缩视频的质量。

缓冲区管理策略通常都是建立在一个假想的解码器模型上,该解码器模型直 接和编码器的输出相连接, 缓冲区管理策略通过控制编码视频数据流移入和移出 解码器缓冲区的时间以保证解码器模型的数据缓冲区不上溢也不下溢。

在 Mpeg 标准中,该解码器模型称为 VBV。

MPEG2+TS基本概念和数据结构

MPEG2+TS基本概念和数据结构
transport_error_indicator 传输错误标志位,一般传输错误的话就不会处理这个包了
payload_unit_start_indicator 这个位功能有点复杂,字面意思是有效负载的开始标志,根据后面有效负载的内容不同功能也不同,后面用到的时候再说。
transport_priority 传输优先级位,1表示高优先级,传输机制可能用到,解码好像用不着。
section_syntax_indicator // 1
'0' // 1
reserved // 2
section_length // 12
if(adaptation_field_control=='10' || adaptation_field_control=='11'){
adaptation_field()
}
if(adaptation_field_control=='01' || adaptation_field_control=='11') {
(5)传输流分组和PES分组原始流分成很多PES分组,保持串行顺序,一个PES分组只包含一个原始流的编码数据。PES分组长度很大,最大可为64K字节。PES分组分为"分组首部(header)"和"有效负载(payload)"。"有效负载"指跟随在首部字节之后的字节。首部的前4个字节构成分组的起始码,标识了该分组所属原始流的类型和ID号。TS分组也就是传输流数据形成的数据包。每个TS分组长度为188字节,包括"分组首部"和"有效负载,前4个字节是分组首部,包含了这个分组的一些信息。有些情况下需要更多的信息时,需在后面添加"调整字段(adaption field)"。两者之间的关系:PES分组是插入到TS分组中的,每个PES分组首部的第一字节就是TS分组有效负载的第一字节。一个PID值的TS分组只带有来自一个原始流的数据。

ps流与ts流

ps流与ts流

??举例说,一个TS流包括100个包,其中PSI信息包占20个,PES数据包80个,此TS流中只有一套节目流,不含有私有流,所以从这80个PES包中?的负载连接在一起,就是2个PES流(视频,音频),如果每个PES包的负载长度为100字节,则这两个PES流一共长度为8000个字节.假设其中视频?的PES流长度为6000字节.则视频的6000字节的PES流,是由PES包组成的.PES包没有固定的长度,而是由包头部的数据给出.而PS也是类似?TS流分解的方式,逆向的由PES包封装差异,导致了它们对传输误码具有不同的抵抗能力,因而应用的环境也有所不同。TS码流由于采用了固定长度的包结构,当传输误?码破坏了某一TS包的同步信息时,接收机可在固定的位置检测它后面包中的同步信息,从而恢复同步,避免了信息丢失。而PS包由于长度是变化的,一旦某一?PS包的同步信息丢失,接收机无法确定下一包的同步位置,?就会造成失步,导致严重的信息丢失。因此,在信道环境较为恶劣,传输误码较高时,一般采用TS码流;而在信道环境较好,传输误码较低时,一般采用PS码流?如DVD等等。?由于TS码流具有较强的抵抗传输误码的能力,因此目前在传输媒体中进行传输的MPEG-2码流基本上都采用了TS码流。????
简单说就是ps流(主要用在DVD上)如是中间丢了一断码流,后面的都没法播了;而TS流(DVB-T,DMB-TH等)如果断了码流,后面的随时可以再开始解码怎么看都行。?DVB-T,DVB-H,DMB-TH?主要指的是调制解调(信道编码和解码)方式为COFDM,信源编解码采用的都是MPEG-2,TS流。?目前地面波数字电视标准中只有日本的ISDB?采用MPEG-4(H.264)编解码。?清晰度方面,DVB-T,DMB-TH标准都可以达到高清标准,DVB-H主要面向手持设备,接收终端的解析度有限。

视频知识基础:什么是TS、PS流

视频知识基础:什么是TS、PS流

视频知识基础:什么是TS、PS流?在MPEG-2系统中,信息复合/分离的过程称为系统复接/分接,由视频,音频的ES流和辅助数据复接生成的用于实际传输的标准信息流称为MPEG-2传送流(TS:TransportStream)。

据传输媒体的质量不同,MPEG-2中定义了两种复合信息流:传送流(TS)和节目流(PS:ProgramStream)TS流与PS流的区别在于TS流的包结构是固定长度的,而PS流的包结构是可变长度的。

PS包与TS包在结构上的这种差异,导致了它们对传输误码具有不同的抵抗能力,因而应用的环境也有所不同。

TS码流由于采用了固定长度的包结构,当传输误码破坏了某一TS 包的同步信息时,接收机可在固定的位置检测它后面包中的同步信息,从而恢复同步,避免了信息丢失。

而PS包由于长度是变化的,一旦某一PS包的同步信息丢失,接收机无法确定下一包的同步位置,就会造成失步,导致严重的信息丢失。

因此,在信道环境较为恶劣,传输误码较高时,一般采用TS码流;而在信道环境较好,传输误码较低时,一般采用PS 码流如DVD等等。

由于TS码流具有较强的抵抗传输误码的能力,因此目前在传输媒体中进行传输的MPEG-2码流基本上都采用了TS码流。

TS/PES是MPEG定义的标准格式,无论是MPEG1还是MPEG2都给出了包含比特流句法在内的定义,我们所说的TS/PS都是在这里定义的。

因此谈到TS/PS时仍然离不了MPEG,虽然A VS及IP的数据也可以封装在TS中,因为MPEG中给TS/PES的定义中允许封装其他数据。

虽然也许可以不经改变的将不同编码格式的码流经由TS/PS传送,但这事实上这是对MPEG的利用或扩充。

通常情况下,封装不同类型数据的时候我们需要在TS/PES添加标准的(如果有的话)或自定义的描述,并且在有些情况下原则上必须使用MPEG已经定义的特殊描述,TS/PES并非总是透明的。

简单说就是ps流(主要用在DVD上)如是中间丢了一断码流,后面的都没法播了;而TS流(DVB-T,DMB-TH等)如果断了码流,后面的随时可以再开始解码怎么看都行。

MPEG2时间标签定义及同步机制

MPEG2时间标签定义及同步机制

4时间标签定义及同步机制编码器中有单一的共同系统时钟(其频率惟27 MHz),此时钟用来产生指示音频和视频的正确显示和解码时序的时间标签,同时可用来指示在抽样间隙中系统时钟本身的瞬时值。

指示音频和视频显示时间的时间标签称为显示时间标签(PTS),指示音频和视频的解码时间标签称为解码时间标签(DTS),指示系统时钟本身的瞬时值的时间标签称为节目参考时钟标签(PCR/SCR)。

解码器通过VBV Delay来确定解码起始,用解码时间标签(DTS)和显示时间标签(PTS)来确定解码和显示次序,用PCR/SCR来获得系统时钟的同步。

解码器中的系统时钟和同步就是依*这些时间标签来进行恢复和修正。

PCR/SCR,PTS,DTS具体编码方式如下:PCR/SCR的插入必须在PCR/SCR字段的最后离开复用器的那一时刻,同时把27 MHz系统时钟的采样瞬时值作为PCR/SCR字段插入到相应的PCR/SCR域。

PCR/SCR为42 bits的计数值,其中33 bits 为PCR Base/SCR Base,是以27 MHz时钟经300分频后的时钟为单位的计数值;9 bits的PCR Ext/SCR Ext,则是以27 MHz时钟为单位的计数值。

t(i)表示第i 个包含PCR/SCR字段的最后一位的字节最后离开复用器的时间。

PCR具体编码方式如下(SCR的编码方式和PCR雷同):PCR Base( i )=\[系统时钟频率× t(i) DIV300\]%2 33PCR Ext( i )=\[系统时钟频率× t(i) \]%300PCR( i )=PCR Base( i )×300+PCR Ext( i )PTS域为33 bits,编码成为3个独立的字段,表示此分组中第一个访问单元在系统目标解码器中的预定显示时间,其具体的编码方式如下:PTS( k )=\[系统时间频率× tp(k) DIV300\]%2 33式中: tp(k) ——显示单垣p(k) 的显示时间;p(k) ——相应于此分组数据的第一个访问单元的显示单元。

PS文件和TS流文件-MPEG2格式-区别

PS文件和TS流文件-MPEG2格式-区别

DVD节目中的MPEG2格式,是MPEG2-PS,全称是Pr ogr am Stream,TS的全称则是Tr ansport Str eam。

MPEG2-PS 主要应用于存储的具有固定时长的节目,如DVD电影,而MPEG-TS则主要应用于实时传送的节目,比如实时广播的电视节目。

这两种格式的主要区别是什么呢?你将DVD上的VOB文件的前面一截剪掉(或者干脆就是数据损坏),那么就会导致整个文件无法解码,而电视节目是你任何时候打开电视机都能解码(收看)的,所以,MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。

随着从HDTV录制的高清节目在网上的流传,烧友们现在对TS这个名词大概已经不陌生了,但随之而来就是如何播放、如何添加字幕等等的一系列问题,本文将重点介绍一下这方面的应用操作。

先来简要介绍一下什么是MPEG2-TS吧。

MPEG2格式大家都通过对DVD的接触而多多少少了解了一些,DVD 节目中的MPEG2格式,确切地说是MPEG2-PS,全称是Program Stream,而TS的全称则是T ransport 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文件,否则一些"以貌取人"的播放器可能会拒绝提供服务。

节目流、传输流(PS、TS)

节目流、传输流(PS、TS)

节目流、传输流(PS、TS)
2011-09-30 | 新闻来源:电科网
节目流(Program Stream)简称PS。

传输流(Transport Stream)简称TS。

节目流(PS)与传输流(TS)是数字视频系统中的两类数据码流,由MPEG-2系统层定义,H.264采用与MPEG-2相同的系统层,因而也采用PS/TS两类码流。

在多媒体信息与通信系统中,通常视音频数据经信源编码之后,须与辅助数据一起进行节目复用,形成基本码流(ES, Elementary Stream)。

基本码流(ES)经打包处理后形成打包的基本码流(PES, Packetized Elementary Stream)。

随后代表不同视音频信号的PES被送入传输复用器进行系统复用,它们在PS复用器中被组合成节目流(PS),或在TS复用器中被组合成传输流(TS),如图15所示。

图15 节目流(PS)与传输流(TS)
节目流(PS)由打包的基本码流(PES)组合而成,即一组视频、音频和数据基本分量,它们具有共同的相对时间关系,其分组长度可变,且相对较长,一般用于传输、存储及本地播放等误码相对较少的环境;传输流(TS)是节目流(PS)或基本码流(ES)的集合,它们可以以非特定关系复接到一起,其分组长度为188字节,通常用于网络传输等误码相对较多的环境。

MPEG-2 TS码流分析

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流中送给广大用户。

MPEG-2TS码流编辑的原理及其应用

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码流编辑在多个领域中得到广泛应用。

MPEGPS和TS格式介绍

MPEGPS和TS格式介绍

传输效率比较
传输效率
ts格式具有更高的传输效率,能够在有限带 宽下传输更高质量的视频流。相比之下, mpegps格式的传输效率较低,需要更多的 带宽才能传输相同质量的视频流。
传输方式
ts格式适用于实时流媒体传输,如电视广播 和在线视频平台。由于其高效的传输方式, ts格式在流媒体领域得到了广泛应用。 mpegps格式适用于存储媒体文件,如DVD 和蓝光光盘,不太适合实时流媒体传输。
兼容性比较
兼容性
mpegps格式具有较好的兼容性,被广泛应 用于各种多媒体设备和软件中。ts格式在一 些特定领域也有广泛应用,如高清电视广播 和视频编辑。
应用场景
mpegps格式适用于各种存储和播放媒体文 件的场景,如家庭影音娱乐、教学和培训等 。ts格式适用于高清电视广播、在线流媒体
服务和视频编辑等领域。
03
mpegps与ts格式比较
压缩效率比较
压缩效率
mpegps格式通常具有较高的压缩效率,能够在较低的比特率下实现较好的视频质量。 相比之下,ts格式的压缩效率相对较低,需要更高的比特率才能达到类似的视频质量。
压缩算法
mpegps格式采用MPEG压缩算法,而ts格式采用基于打包传输的MPEG-2传输层压缩 算法。由于mpegps的压缩算法更为先进,因此在压缩效率方面具有优势。
mpegps的特点
总结词
MPEG PS具有较高的压缩效率、灵活的节目组织方式和良好的兼容性。
详细描述
MPEG PS采用了MPEG-2编码技术,具有较高的压缩效率,能够有效地减小音视频数据的体积,便于存储和传输。 同时,MPEG PS支持灵活的节目组织方式,可以将多个节目、音频和字幕流封装在一个文件中,方便管理和播 放。此外,MPEG PS具有良好的兼容性,被广泛应用于数字电视、DVD、卫星广播等领域。

PTS PCR DTS 详解

PTS PCR DTS 详解

PTS PCR DTS 详解MPEG-2 TS/PS同步原理2010-08-11 19:47一、引言MPEG-2系统用于视音频同步以及系统时钟恢复的时间标签分别在ES,PES和TS这3个层次中。

在ES层,与同步有关的主要是视频缓冲验证VBV(Video Buffer Verifier),用以防止解码器的缓冲器出现上溢或者下溢;在PES层,主要是在PES头信息里出现的显示时间标签PTS(Presentation Time Stamp)和解码时间标签DTS(Decoding Time Stamp);在TS层中,TS头信息包含了节目时钟参考PCR(Program Clock Reference),用于恢复出与编码端一致的系统时序时钟STC(System Time Clock)。

在节目流PS包头中加入SCR,它的作用与PCR域相似。

标准规定在原始音频和视频流中,PTS的间隔不能超过0.7s,而出现在TS包头的PCR 间隔不能超过0.1s。

我们知道,MPEG-2对视频的压缩产生I帧、P帧、B帧。

把帧顺序I1帧-P4帧-B2帧-B3帧-P7帧-B5帧-B6帧的编码ES,通过打包并在每个帧中插入PTS/DTS标志,变成PES。

在插入PTS/DTS标志时,由于在B帧PTS和DTS是相等的,所以无须在B帧多插入DTS(参见图1)。

而对于I帧和P帧,由于经过复用后数据包的顺序会发生变化,显示前一定要存储于视频解码器的从新排序缓存器中,经过从新排序后再显示,所以一定要同时插入PTS和DTS 作为从新排序的依据。

二、同步机制编码器中有一个系统时钟STC(其频率是27MHz),此时钟用来产生指示音视频的正确显示和解码的时间标签,同时可用来指示在采样过程中系统时钟本身的瞬时值。

指示音视频显示时间的时间标签称为显示时间标签(PTS),指示音视频的解码时间标签称为解码时间标签(DTS),指示系统时钟本身的瞬时值的时间标签称为节目参考时钟标签(PCR)。

MPEG-2的PS流于TS流之间的区别

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)。

浅谈MPEG2传输流的结构和分析

浅谈MPEG2传输流的结构和分析

MPEG-2传输流的码流分析0 引言目前,我国数字电视的信道传输的三种主要传输方式都有了统一明确的国家标准。

其主要差别是信道编码、调制方法,但视频和音频信源处理和系统层复用都是以MPEG-2为基础的编码方案。

MPEG-2标准自制定以来,已经成为数字电视领域中系统层的普遍标准。

能够熟悉MPEG-2传输流码流语法结构,并运用分析工具对系统进行常规的检测分析,为快速确认系统故障,从而排除故障保证系统正常运行,对于广大工程技术人员十分必要。

本文介绍MPEG-2传输流的语法结构及复用,及ETR290标准规定的传输码流3级错误检测参数,同时结合码流分析软件对MPEG-2传输流的语法结构作一离线分析。

1.MPEG-2传输流的形成及复用:MPEG-2标准定义了一个节目中的各部分(如视频、音频和控制数据等)的格式,它也定义了各部分如何形成传输码流,即TS流,这一过程称为复用。

MPEG-2规定了两种复用形式,即MPEG-2节目流(PS)和MPEG传输流(TS)。

V ideo ESAudio ES图1 MPEG-2 系统层编码复用示意图如图1 所示:原始的视音频数据流经编码器编码输出压缩后的基本码流ES,它含有解码器所必需的、用于恢复原始视音频的信息。

基本码流ES分解打包成PES数据包,每个PES包在复用的过程中被分成固定长度的传输流包(TS Packet)。

传输流被设计用于在有噪声发生的存储或传输的环境中,如在DVB广播的传输链路中。

2 MPEG -2 传输流的语法结构:在进行MPEG-2传输流的码流分析之前,我们有必要了解MPEG-2标准中规定的传输流的语法结构。

2.1 MPEG-2传输流的包结构每个传输流中包含一系列固定长度为188 Bytes的传输流包(简称为TS包),每个TS包由4 Bytes长的包头和其后的184 Bytes 的载荷组成,如图2所示。

在4 Bytes包头中含有以下重要信息:以固定值0x47开始的8bit字段的同步头,其后是几个重要的标志,如“传输错误指示”、“有效负载起始标志”、“传送优先指示”、“PID(Packet identif i er)”、“调整字段控制”等。

MPEG-2压缩编码技术原理应用MPEG是运动图像专家组Moving

MPEG-2压缩编码技术原理应用MPEG是运动图像专家组Moving

MPEG-2压缩编码技术原理应用MPEG是运动图像专家组(Moving Picture Experts Group)的简称,其实质上的名称为国际标准化组织(ISO)和国际电工委员会(IEC)联合技术委员会(JTC)1的第29 分委员会的第11工作组,即ISO/IEC JTC1/SC29/WG11,成立于1988年。

其任务是制定世界通用的视音频编码标准。

因为,广播电视数字化所产生的海量数据对存储容量、传输带宽、处理能力及频谱资源利用率提出了不切合实际的要求,使数字化难以实现。

为此,该专家组基于帧内图像相邻像素间及相邻行间的空间相关性和相邻帧间运动图像的时间相关性,采用压缩编码技术,将那些对人眼视觉图像和人耳听觉声音不太重要的东西及冗余成分抛弃,从而缩减了存储、传输和处理的数据量,提高了频谱资源利用率,制定了如表1所示的一系列MPEG标准,使数字化正在变为现实。

其中,MPEG-2是一组用于视音频压缩编码及其数据流格式的国际标准。

它定义了编解码技术及数据流的传输协议;制定了MPEG-2解码器之间的共同标准(MPEG-2编码器之间尚无共同标准)。

本文以MPEG-2的系统、MPEG-2的编码、及MPEG-2的应用为题,讨论MPEG-2压缩编码技术。

一、MPEG-2的系统1.系统的定义MPEG-2系统是将视频、音频及其它数据基本流组合成一个或多个适宜于存储或传输的数据流的规范,如图1所示。

由图1可见,符合ITU-R. 601标准的、帧次序为I1B2B3P4B5B6P7B8B9I10数字视频数据和符合AES/EBU标准的数字音频数据分别通过图像编码和声音编码之后,生成次序为I1P4B2B3 P7B5B6I10 B8B9视频基本流(ES)和音频ES。

在视频ES中还要加入一个时间基准,即加入从视频信号中取出的27MHz时钟。

然后,再分别通过各自的数据包形成器,将相应的ES打包成打包基本流(PES)包,并由PES包构成PES。

ps流与ts流

ps流与ts流

ps流与ts流ps流与ts流在MPEG-2系统中,信息复合/分离的过程称为系统复接/分接,由视频,音频的ES流和辅助数据复接生成的用于实际传输的标准信息流称为MPEG-2传送流(TS:TransportStream)。

据传输媒体的质量不同,MPEG-2中定义了两种复合信息流:传送流(TS)和节目流(PS:ProgramStream)TS流与PS流的区别在于TS流的包结构是固定长度的,而PS流的包结构是可变长度的。

PS包与TS包在结构上的这种差异,导致了它们对传输误码具有不同的抵抗能力,因而应用的环境也有所不同。

TS码流由于采用了固定长度的包结构,当传输误码破坏了某一TS包的同步信息时,接收机可在固定的位置检测它后面包中的同步信息,从而恢复同步,避免了信息丢失。

而PS包由于长度是变化的,一旦某一PS包的同步信息丢失,接收机无法确定下一包的同步位置,就会造成失步,导致严重的信息丢失。

因此,在信道环境较为恶劣,传输误码较高时,一般采用TS码流;而在信道环境较好,传输误码较低时,一般采用PS码流如DVD等等。

由于TS码流具有较强的抵抗传输误码的能力,因此目前在传输媒体中进行传输的MPEG-2码流基本上都采用了TS码流。

简单说就是ps流(主要用在DVD上)如是中间丢了一断码流,后面的都没法播了;而TS流(DVB-T,DMB-TH 等)如果断了码流,后面的随时可以再开始解码怎么看都行。

DVB-T,DVB-H,DMB-TH 主要指的是调制解调(信道编码和解码)方式为COFDM,信源编解码采用的都是MPEG-2,TS流。

目前地面波数字电视标准中只有日本的ISDB 采用MPEG-4(H.264)编解码。

清晰度方面,DVB-T,DMB-TH标准都可以达到高清标准,DVB-H主要面向手持设备,接收终端的解析度有限。

ps码流:dvd等本地文件ts码流:rtp网络传输等====================================================pes,ts,psts流是由很多不同种类的包所组成的,这些数据包都是188个字节大小,这188个字节包含两部分,包头和负载,包头包括同步信息,包信息等等,而负载则是传输的数据,而这些负载则可以组成PES流或者私有流等等数据流.举例说,一个TS流包括100个包,其中PSI信息包占20个,PES数据包80个,此TS流中只有一套节目流,不含有私有流,所以从这80个PES包中的负载连接在一起,就是2个PES流(视频,音频),如果每个PES 包的负载长度为100字节,则这两个PES流一共长度为8000个字节.假设其中视频的PES流长度为6000字节.则视频的6000字节的PES流,是由PES包组成的.PES包没有固定的长度,而是由包头部的数据给出.而PS也是类似TS流分解的方式,逆向的由PES包封装成包,其中要添加PACKET_HEAD,SYSTEM_HEAD等信息.所以上次所做的程序,并不是TS->PS的转换,而是从一个复杂的TS流中,过滤去一套节目,构造出一个简单的TS流的过程.mpeg-ts,mpeg-ps的转换mpeg2文件都是以数据包传递的,同样都是188个字节为一个包,但是作为传输流和节目流,包的组织结构还是不太一样的,作为传输流来说,其包含的包的种类比较多(其实不是包的种类,而是包含不同用途的数据的种类比较多),比如有PID为0x0000的PAT,EIT,TDT,TOT,还有PMT,等等不同的表或包.而节目流所包含的就比较少,只要包含PAT,PMT,以及包含音频,视频的PES包就可以了.所以在TS,PS的转换中,TS->PS的转换比较简单,只要去掉相对没有作用的包,在修改一下PAT,PMT表就可以了.例如现在我所做的DVB-T的MPEG2存储,就是先得到MPEG2压缩的数据包(完整的包,包含同步等等所有信息,共188个字节),其中包含音频,视频两种数据包(两者以PID不同,相区分).那么作为PS流存储时,就要虚构出新的PAT,PMT表假如到PS流中,其中PAT,PMT中需要修改的就是PMT中指向音频,视频流的PID值必须是要存储的音频,视频数据包的PID.这样就完成了TS->PS的转换.简言之:先对TS进行过滤,保留要存储的节目所对应的音频,视频流,删除所有其他的包.然后虚构一个新的PAT,PMT表,其中音频,视频流的指针必须指向存储的音,视频流的PID.这样就完成了转换.问题:1.音频,视频同步问题,这两个包应该以什么样的比例交叉传输呢?也就是多少个视频包中间发送一个音频包呢?如果这个比例控制不好,那么就容易造成音,视频不同步.2.对于我们所虚构的PAT,PMT表应该以什么样的频率发送呢?也就是说发送多少PES包后,发送一次PSI包呢?这个问题似乎影响不大.好象还没有出现播放时的问题.3.我现在所采用的这种做法,虽然解决了存储,然后播放的问题,但是似乎并没有实现TS->PS的转换,实现的是对TS流的过滤,即是把一个含有多套节目的TS流,转换成一个只含有一套节目的TS流,不知道这样说对不对?4.还有一个主要问题就是对于TS流中传输PES信息的包来说,其负载信息中的数据,如何组成PES流的呢?应该是通过包头部分的控制信息来明确的,还的好好看看文档.。

MPEG-2TS码流编辑的原理与应用

MPEG-2TS码流编辑的原理与应用

MPEG-2 TS 码流编辑的原理与应用在当今数字媒体不断发展、新媒体业务不断涌现的前提下,实践证明襁褓中的新媒体只有两种经营方略可供选择:或是购买并集成整套节目,或是低成本深加工新节目,再不可能去按照传统生产模式去自采自编。

低成本的节目生产制作与发布,不仅成为数字媒体经营的主要手段,也成为传统媒体“改革工作流程”的重要举措,进而促成了对新型工作母机和简捷快速流程的迫切需求。

在辽宁新媒体多业务综合服务平台上,先于国际和国内应用了MPEG-2传输流快速剪辑编辑系统(以下简称码流快编)。

这项由辽宁电视台与深圳奥维迅公司在2003年10月联合开发的新技术,为数字媒体低成本节目的制作、推广和运营提供了高效生产工作母机。

尽管担负此项目源代码开发的奥维迅公司出现了经营问题,在技术推广的中间环节发生梗塞,但并不能说明此项技术走到了尽头。

回顾3年的应用实践及研发成果,需要的不是扬弃,而是演进的升级,否则就是对可调控资源的莫大浪费。

特别是针对第二代信源编解码国标AVS-P2的更新换代,很可能成为多业务内容整合的新一代产品的突破口。

一工作原理1. 功能目标码流快编的应用目标是,通过对开放视频的采集,将DVB-S或C的传输流(Transport Stream,TS)节目作为信源,直接进行剪辑处理,再经过人工创意后,整合为新主题内容的新节目,以便直接进入频道集成或编辑频道节目播出,快速实现数据层的内容整合,不仅简捷了采集制作的工作流程,而且为丰富媒体内容资产开辟了一条捷径。

因为码流快编的工作流程无需先以解码后的视频记录于磁带,再以磁带上载编辑机,经编辑后再下载成为磁带,再编码复用成为新内容的新节目。

即便数字化完成以后,视频数据流仍不能用于经复用的数字传输,还需编码、转码、打包等传输格式化以后,才能在数字信道上传输。

而采用码流快编以后,不仅避免了解码后再采样编码所形成的视频损耗,还避免了在1∶1时间的上下载中所造成的效率损耗。

MPEG-2 系统的传输流复用方式

MPEG-2 系统的传输流复用方式

MPEG-2 系统的传输流复用方式MPEG-2标准可分为三部分:视频、音频和系统。

上面所述的MPEG-2视频、音频编码是针对每一路电视信号的图像和伴频进行的。

视频编码和音频编码部分输出的是视频或音频基本码流(称为ES流)。

ES流再经过打包后输出的是包基本流( 称为 PES) 。

包基本流的包长度可变的,视频通常是一帧(即一幅图像)一个包;音频包长度通常为一个音频帧,不超过64KB 。

打包的视频、音频基本码流再经过复用打包,可形成两种不同的码流,即节目流(PS:Program Stream)和传送流(TS:Transport Stream)。

从打包开始便属于MPEG-2系统的范围。

节目流和传送流的码率都是可变的,但节目流的速率是由系统时钟参考(称为 SCR)定义的;而传送流的速率则是由节目时钟参考(称为PCR)定义的。

由于节目流(PS)一般适用于误码比较小的演播室、家庭环境和存储媒介(如DVD光盘)等场合使用。

但在数字卫星电视信号的传输信道中存在较大的干扰,容易产生较大的误码,故需要采用传送流(S)进行传送。

2.5.1 MPEG-2传送流结构MPEG-2传送流结构是为系统复用和传输所定义的,属于系统传输层结构中的一种。

通过与MPEG-2系统时序模型的建立、节目特殊信息(PSI)及服务信息(SI)共同作用来实现在恶劣的信道环境中灵活可靠的复用、传输与解复用。

MPEG-2系统部分给出了多路音频、视频的复用和同步标准。

系统传输层的结构可以用图2-35来描述。

其中,ES流是经过压缩编码的音视频码流,PES流是打包后的音视频编码流,而信道中传输的码流有两类——适用于DVB-S系统这种有可能发生严重错误(如比特值错误或分组丢失)的应用环境的码流是TS。

它是若干188B长度的TS包的串联,发生传输误码时它可以从固定长度的包结构中方便地找出同步字,恢复同步;而PS是不定长度的,一旦失去同步,就会失去整帧数据,故只适用于相对无误差的环境。

数字电视中的编解码器同步机制

数字电视中的编解码器同步机制

数字电视中的编解码器同步机制1、MPEG-2码流结构在数字电视系统中,模拟视音频信号按照MPEG-2的标准,经过抽样、量化及压缩编码形成基本码流ES,基本码流ES是不分段的连续码流。

把基本码流分割成段,并加上相应的头文件打包形成的打包基本码流PES(如图1所示),PES包和包之间可以是不连续的。

在传输时将PES包再分段打成有固定长度 188B的传送码流TS或可变长度的节目流包(PS包)。

PES只是PS转换为TS或TS转换为PS的中间步骤或桥梁,时MPEG-2数据流互换的逻辑结构。

TS和PS这两种码流分别适应于不同的场合应用,节目流PS适合在相对出错较少的环境下使用,其长度是变化的,而传送流TS能够把多个节目在基于一个或多个时间标识的基础上构成一个流,传送流适合于出错较多的场合下使用。

用数据包传输的优点是:网络中信息可占用不同的连接线路和简单暂存。

通过数据包交织把多个数据流复用成一个新的数据流。

便于解码器按照相应顺序对数据包进行灵活的整理,从而,为数据流同步和复用奠定了基础。

MPEG-2的结构可分为压缩层和系统层,其中ES属于压缩层,PES和TS/PS属于系统层。

在PES层,主要是在PES包头信息中加入PTS(显示时间标签)和DTS(解码时间标签)用于视频、音频同步。

而在TS流中,TS包头加入了PCR(节目时钟参考),用于解码器的系统时钟恢复。

在节目流PS包头中加入SCR,它的作用与PCR域相似。

ES是编码视频数据流或音频数据流,每个ES都由若干个存取单元(AU)组成,每个视频AU或音频AU都是由头部和编码数据两部分组成,1个AU相当于编码的1幅视频图像或1个音频帧,也可以说,每个AU实际上是编码数据流的显示单元,即相当于解码的1幅视频图像或1个音频帧的取样。

我们知道,MPEG-2对视频的压缩产生I帧、P帧、B帧。

把帧顺序I1帧-P4帧-B2帧-B3帧-P7帧-B5帧-B6帧的编码ES,通过打包并在每个帧中插入PTS/DTS标志,变成PES。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MPEG-2 TS/PS同步原理2010-08-11 19:47
一、引言
MPEG-2系统用于视音频同步以及系统时钟恢复的时间标签分别在ES,PES和TS这3个层次中。

在ES层,与同步有关的主要是视频缓冲验证VBV(Video Buffer Verifier),用以防止解码器的缓冲器出现上溢或者下溢;在PES层,主要是在PES头信息里出现的显示时间标签PTS(Presentation Time Stamp)和解码时间标签DTS(Decoding Time Stamp);在TS层中,TS头信息包含了节目时钟参考PCR(Program Clock Reference),用于恢复出与编码端一致的系统时序时钟STC(System Time Clock)。

在节目流PS包头中加入SCR,它的作用与PCR域相似。

标准规定在原始音频和视频流中,PTS的间隔不能超过0.7s,而出现在TS包头的PCR 间隔不能超过0.1s。

我们知道,MPEG-2对视频的压缩产生I帧、P帧、B帧。

把帧顺序I1帧-P4帧-B2帧-B3帧-P7帧-B5帧-B6帧的编码ES,通过打包并在每个帧中插入PTS/DTS标志,变成PES。

在插入PTS/DTS标志时,由于在B帧PTS和DTS是相等的,所以无须在B帧多插入DTS(参见图1)。

而对于I帧和P帧,由于经过复用后数据包的顺序会发生变化,显示前一定要存储于视频解码器的从新排序缓存器中,经过从新排序后再显示,所以一定要同时插入PTS和DTS 作为从新排序的依据。

二、同步机制
编码器中有一个系统时钟STC(其频率是27MHz),此时钟用来产生指示音视频的正确显示和解码的时间标签,同时可用来指示在采样过程中系统时钟本身的瞬时值。

指示音视频显示时间的时间标签称为显示时间标签(PTS),指示音视频的解码时间标签称为解码时间标签(DTS),指示系统时钟本身的瞬时值的时间标签称为节目参考时钟标签(PCR)。

解码器通过VBV_delay(视频流延时值,在解码时利用视频流缓冲区把视频流缓存到相应的vbv_delay时间后,再启动解码器解码、显示、实现音视频的同步。

vbv_delay存在于视频ES 的头部,长度为16bit)的数值来确定解码的开始,用解码时间标签(DTS)和显示时间标签(PTS)来确定解码和显示的次序,用PCR来获得系统时钟的同步。

解码器中的系统时钟及其同步就是依靠这些时间标签来进行恢复和修正的。

PCR的插入必须在PCR字段的最后离开复用器的那一时刻,同时把27MHz系统时钟的采样瞬时值作为PCR字段插入到相应的PCR域。

是放在TS包头的自适应区中传送。

27 MHz 时钟经波形整理后分两路,一路是由27MHz脉冲直接触发计数器生成扩展域PCR_ext,长度为9bits。

另一路经一个300分频器后的90 kHz脉冲送入一个33位计数器生成90KHZ基值,列入PCR_base(基值域),长度33bits,用于和PTS/DTS比较,产生解码和显示所需要的同步信号。

这两部分被置入PCR域,共同组成了42位的PCR。

PTS域为33bits,它也是一个33b的计数值,也是对系统时钟的300分频的时钟的计数值。

被编码成为3个独立的字段,表示此分组中第一个访问单元在系统目标解码器中的预定显示时间。

DTS域也为33bits,编码成为3个独立的字段,表示此分组中第一个访问单元在系统目标解码器中的预定解码时间。

DTS就视频来说,因为视频编码的时候用到了双向预测,一个图像单元被解出,并非马上就被显示,可能在存储器中留一段时间,作为其余图像单元的解码参考,在被参考完毕后,才被显示。

针对视频的显示,Mpeg还提出了一个视频PTS。

针对音频和视频的同步显示,又提出了一个音频PTS。

由于声音没有用到双向预测,它的解码次序就是它的显示次序,故对它只提出PTS的概念。

解码器在解码时,首先利用PCR重建和编码器同步的27 MHz系统时钟,恢复27 MHz 系统时钟后,再利用PES流中的DTS,PTS进行音频与视频间的同步,同时利用VBV_Delay 设置解码器的缓冲时长,后启动初始解码。

下图是利用PCR恢复STC的原理图。

图2 用PCR恢复本地STC时钟
PCR-Base的作用是在解码器切换节目时,提供对解码器PCR计数器的初始值,以让该PCR值与PTS、DTS最大可能地达到相同的时间起点。

PCR-ext的作用是通过解码器端的锁相环电路修正解码器的系统时钟,使其达到和编码器一致的27MHz。

在PCR域的33 bits中的90 kHz部分(即PCR-Base域)用于与PTS和DTS作比较,当二者相同时,相应的单元被显示或者解码。

但按照MPEG-2标准的规定,PTS/DTS位于PES包的包头中,而解复用器所解出的PES包头的字节不被送入到任何基本流解码器的输入缓冲区,仅用于控制各解码器工作。

每当解复用器解到一个PTS/DTS时,PTS/DTS就作为其后送入各个基本流解码器的输入缓冲器中的数据的显示/解码时间,但此时送入信道缓冲器中的基本流并不一定立即被解码,因此基本流解码器必须记录当前这个PTS/DTS及所对应的码流位置,以利于后面的解码和显示同步。

针对以上分析,我们采用如下方法来达到解码与显示的同步:在每一个基本流解码器中建立一个33 bits的PTS/DTS先入先出存储器(FIFO),用以存放PTS/DTS值,同时在解复用器中加入一个检测电路,每当码流开始新的一帧图像时,则产生一个信号,用来通知基本流解码器,并将该帧图像的PTS/DTS写入到FIFO中。

每当解码器解到一帧图像时,就从FIFO 中读出相应的PTS/DTS,此PTS/DTS与STC进行比较,当两者相等时,当前图像就开始显示/解码。

在MPEG-2标准中,并非每一个PES包或每一帧图像均有PTS和DTS,一般PS流中每两个PTS之间的间隔是0.7 s,而TS流中每两个PTS之间的间隔是0.1 s,所以在没有PTS和DTS 的一帧图像出现时,我们可以在前一PTS/DTS的基础上加一增量得到对应该帧图像的PTS/DTS,并将计算出来的新的PTS/DTS插入到存放PTS/DTS的FIFO中去,即:PTSn=PTSn -1+ΔPTS(n为第n帧图像)。

解码器同步算法总结如下:
(1)解码器从输入码流的包头中解出时间信息PCR送入到系统时间时钟恢复电路;系统时间时钟恢复电路在接收到每一个新的PCR时,进行本地系统时间时钟恢复和锁相。

(2)解复用器后,从PES包头中解出显示时间标签PTS和解码时间标签DTS,并送入到基本流解码器中。

(3)基本流解码器在接收到新的PTS/DTS后,存入对应的FIFO(先进先处存储器)中进行管理;对于没有PTS/DTS的显示单元,需要对其时间标签进行插值,并送入到FIFO中管理。

(4)每一显示单元开始解码前,用其对应的DTS与STC进行比较,当STC与DTS相等时开始解码;
(5)每一显示单元开始显示前,用其对应的PTS与STC进行比较,当STC与PTS相等时开始显示。

三、失同步处理
27 MHz系统时钟经过300分频后,得到本地的33 bits PCR_Base,该时钟与寄存器中当前图像的PTS/DTS进行比较,系统软件根据比较结果做出相应的处理:
(1)若当前的PTS/DTS比PCR计数器的值小于半帧以上,即PTS_Base≤-ΔPTS/2,此时说
明系统解码过慢,解码器处于失步状态,应根据该帧的结构做出相应的同步调整;
(2)若当前的PTS/DTS比PCR计数器的值在半帧时间以内,我们认为此时系统解码正常,立即显示/解码当前帧;
(3)若当前的PTS/DTS大于PCR计数器的值,则此时解码器稍快,在这种情况下,只需等到PCR与PTS/DTS相等时,就可显示/解码。

相关文档
最新文档