只有i帧码流的pts,dts怎么设置

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
数字音视频码流的分割与合并技术研究.pdf 78页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:200 &&
你可能关注的文档:
··········
··········
上海交通大学工学硕士学位论文
数字音视频码流的分割及合并技术研究
随着数字音视频压缩技术的发展及各类多媒体业务的升级,音视频
码流的分割/合并技术的应用也将逐渐广泛。本文主要从素材编辑、集群
转码两类应用环境入手,分别对音视频码流的分割/合并技术进行研究。
素材编辑环境下的音视频分割/合并侧重于针对具有完整组织结构的
音视频素材实现非线性编辑“剪”和“接” 的操作。本文针对现今高清非编制
作的主流格式 P2 系列音视频素材,先后讨论了高码率 MXF 格式及低码
率 MP4 格式素材的分割、合并技术实现。对于采用帧内压缩方式的 DV 、
AVCI 两类高码率 MXF 素材文件而言,难点在于对原素材元数据的解析、
保留以及对较大素材文件实现的高效性,文中详细介绍了对此类文件元
数据解析、音视频数据定位的流程,提出了多线程的重写方案,实验并
确定了合适的重写数据块大小,有效缩短任务耗时;对于采用了帧间压
缩方式的低码率 MP4 文件,文中具体针对低延时模式及含有双向预测帧
的情况提出了基于帧变换的分割方案,达到了帧精度,与全解/分割/再次
编码的传统方案相比有以下优点:由于仅在分割点附近的相应帧做帧类
型变换,不需做全范围的解码编码,有效缩短了任务时间;避免了由全
解/分割/再次编码方案造成视频图像降质的不足。
上海交通大学工学硕士学位论文
集群环境下的音视频分割/合并侧重于提出多粒度的分割方案以及平
滑的子片段合并算法及方案,使集群转码系统能够有效的整合计算资源,
完成转码任务。本文结合集群转码系统业务流程的特点,分析了由转码
管理服务器端对音视频做物理分割方案的不足,提出了基于打点的准分
割方案,并针对常用的 MPEG-2
传送流格式具体讨论了如何对素材进行
解复用打点以及任务拆分,确定了基于 GOP 的分割策略。随后着重讨论
了如何对素材片段进行合并复用,保证音视频的重同步。最后在含有 7
个计算节点的集群转码系统环境下着重就分割粒度对转码性能的影响进
行了实验,提出了合适的素材分割粒度。
关键词:数字音视频,非线性编辑, P2, MXF,MP4, AVCI, DV, 集群
转码, MPEG-2,传送流, 分割粒度, GOP
上海交通大学工学硕士学位论文
Research on Video/Audio Splitting and Merging Technology
The splitting and merging technology for video material has been more
the development
video/audio
compression
enhancement
of various
multimedia
dissertation will focus on the algorithms and implementations of splitting and
video/audio
and cluster transcoding.
正在加载中,请稍后...匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。万方期刊网,快速职称论文发表权威机构
热门搜索:
咨询电话:010-
24小时服务电话:&
投诉监督:010-
投稿邮箱:
最新期刊更新
最新论文更新
您的位置:首页 >
> > 数字电视码流的分析转换
数字电视码流的分析转换
来源:&&时间: 09:48:37&&点击:
作者:吴潮&
  摘要:数字电视主要依托其复合信息流,即传输流TS与节目流PS予以运行,为进一步提高数字电视的整体质量与服务水平,本文以数字电视的码流转换作为主要研究内容,通过对其传输流和节目流的特点和格式进行阐述和分析,进而分别对传输流解析、显示与解码时间标签和视频帧结构信息等相关技术方法展开了深入研究,在此基础上,提出了传输流向节目流转换过程中,显示时间标签、解码时间标签等相关参数的组建算法,并实现了传输流到多个节目流的转换。
  关键词:数字电视;传输流;节目流;时间标签
  前言:相较于模拟电视,数字电视具有信号损失小和接收效果好的优点。然而,近年来,数字电视用户的爆发式增长使得运营商在提供数字电视服务过程中也出现了节目信号差、信号传输中断等相关问题,在此背景下,加强数字电视的码流分析和转换,在强化数字电视信号的基础上,增强用户体验,已成为数字电视运营商和相关研发部门需要着重开展的关键工作。
  1数字电视复合信息流概述
  当前,数字电视大都以MPEG-2的压缩方式为主,对MPEG-2标准进行分析可知,其包含的复合信息流主要有两种,分别为传输流(TS)和节目流(PS),其中,TS的包结构是188字节的固定长度,PS包结构的长度则是可变的。因TS和PS在包结构方面的差异,使得二者对于传输误码的抵抗能力也具有较大差异且对应码流的应用环节也不尽相同。其中,TS码流的包结构固定,故当传输误码对某一传输流的同步信息进行破坏时,接收机可在固定位置实现对后续传输包中同步信息的实时监测,进而恢复信号同步,较好地避免了相关信息的流失。对于TS而言,其包长度是时刻变化的,当受误码干扰导致包内同步信息丢失时,接收机则难以对下一包的同步位置进行确定,导致信息传输的失步[1]。综上,当信道处于比较恶劣的环境时,数字电视通常以TS作为传输码流,而当信道环境相对较好且具有较低的传输误码率时,可采用PS码流进行信号传输。由MEPG-2标准中的两类复合信息流包结构可知,传输流TS和节目流PS间是能够相互转换的,且在当前数字电视用户急剧增长的情况下,两种复合信息流间的转换是极为必要的。
  2传输流与节目流的码流分析
  2.1基于实际案例的TS流格式与PM表
  TS流以188字节固定长度的包为单位进行信息的传输,其数据传输流量大都在40M/s左右,基于MPEG-2编码的数字电视,表情节目的单位流量通常为4-5M/s,由此,可计算出数字电视各频点的TS流可复用节目的个数,即8个左右(实际应用中复用6套节目较多)。以上海地区730频点的TS流作为分析和转换的目标传输流,该TS流复用节目个数为6套,分别为中央1-6套,所对应的节目标识号分别为110(113)、120(123)、130(133)、140(143)、150(153)、160(160),其中,实体数字和括号内数字分别为视频PID和音频PID,数字进制标准为16进制,为获取上述PID,需要对传输流进行分析,具体如下:
  TS流格式以4字节的TS头和184节的TS数据为主,在对TS进行分析转换时,应先确定同步头,而后,再以不同的PID为依据,对各TS包采取相应的处理,图1给出了同步头的搜索算法,其中,在对TS包进行分析前,应开展TS的同步搜索,这一过程分为两个状态,分别为同步与同步丢失。通常,当连续检测到的同步字节数量为5个时,则进入同步状态,而后,在此状态中,亟需检测同步字节,若连续未检测到同步字节为3个,则判定同步丢失,需要说明的是,TS包的分析必须在同步状态下进行。TS包的分析流程如下:找出PAT即节目关联表,根据MPEG-2标准,节目关联表中包含了各PMT表的节目号和相应的PID,对于本文给定的上海地区的TS流,其相应的节目关联表的数据分别为b00,相应的节目号与PID为ee...,由此,可得六个节目号所对应的PID,具体如下:00-10,65-81,66-82,67-83,68-84,69-85,6a-86。
  对PMT表进行分析,以65号节目按照PD=81的TS流传输为例,提取数据:474081(PID为81)d00...a02a90,其中,PMT表中对各个节目的流类型与相应的PID进行了规定,其中,其中,02e110f000表示当前节目中的类型数为2,即视频流PID为2,PID=110,而e113f006则表示节目中类型数为4,即音频流PID为4。由此,对该节目的视频和音频进行分析时,只需要对PID值为110和113的TS包进行提取即可,相应的TS包逻辑关系如图2所示。由图2可知,根据PID值的不同,可从TS包中将不同节目的音视频信号予以提取,所提取的音视频信号则按照数字电视基本码流PES组成,故通过对音视频信号进行打包,便能够恢复PES,而TS向PS的转换,实际上就是将所恢复的PES码流重新根据节目流PS进行再次打包,相应地,PS的重要参数则主要包括了系统参考时钟SCR、时间标签PTS和解码时间标签DTS。
  图1同步头搜索算法
  图2TS包逻辑关系图
  2.2TS与PS参数与编码分析
  首先,对PS结构和相关参数进行分析。PS结构如下:PS包开始码为000001BA共4字节,SCR系统参考时钟、程序流速率的字节长度分别为6和3,填充数据后,若存在头部信息,则系统开始码转变为000001BB,长度不变,仍为4字节,除上述相关长度字节的组分外,PS中还包括了系统信息和PES电视基本码流。PS参数中,PTS与DTS均位于电视基本码流PES中,其作用为实现音视频的同步。经过编码产生的音视频分别形成相应的基本码流ES,但ES并非分段连续码流,PES通过将ES进行分割并加载相应的头信息,进而在传输时将PES包继续分段划分为固定长度为188字节的传输流TS或是具有可变长度的节目流PS。
  其次,对TS与PS的系统参考时钟、PTS和DTS等参数进行分析。由于TS包头中融入了PCR,即节目时钟参考,故在进行解码时,解码器则先通过PCR对与编码器同步的27MHz系统时钟进行重建,待恢复系统始终后,再借助电视基本码流中的时间标签与解码时间标签实现音视频的同步。同理将SCR引入节目流PS包头中,也能够设定解码器从磁盘读取数据信息的初始时间。通常,所设定的PTS与DTS标签长度均为33位,对应的单位为基于27MHz适中的300分频(90kHz),PCR与SCR则以基于27MHz的base(90kHz)与ext(27MHz)为单位。需要说明的是,音频的时间与解码时间标签具有高度一致性,而对于视频而言,若在编码过程中,无后向预测,则二者为一致的,若存在后向预测,则需对DTS与PTS做出相应调整,原因是,I帧的内部编码以及P帧的前向预测,均只利用到了前帧信息,但B帧双向预测中,还包括了后面的IP帧信息,故解码时,需先解出后面的IP帧,而后,再对当前IP帧进行解码,但在实际显示时,B帧则在IP帧之前显示。
  最后,对所给案例的B图编码进行分析。在结合各帧图像时间关系的基础上,以本文研究的上海地区数字电视码流中的B14为例,为提高编码的有效性,采以双项预测运动补偿法进行编码,即B图编码,将参考图选定为前一帧的113和后续的P16帧,故在进行解码时,则应对113和P16进行依次解码,但实际显示的形式则为113B14B15P16(B15不作为预测参考图)。由一个I帧以及若干BP帧为单位所形成的画面组,即GOP以上述方法进行编码时,显然第一个GOP要比其他GOP缺少两个B帧。对于完整的电视基本码流,以音视频为例,其结构为,包开始码、流ID、PES长度以及头标识的字节数分别为3、1、2、3,若结构中存在PTS和DTS,则二者的字节数均为5。在传输流转变为节目流的过程中,需要修改的也主要是时间标签和解码时间标签,除此之外,还包括转换过程中增加的PS头信息,其余信息码流则可完全复制。
  3TS转换
  为实现传输流到节目流的转换,应先从TS中获取不同节目的电视基本码流,并根据所获取的基本码流的数据,得到新的PES所对应的时间标签PTS与解码时间标签DTS,而后,再形成PS。对所给的730个频点TS中的PTS与DTS关系(二者均以90kHz为单位进行计数)进行如下计算:PTS1-DTS1=0;PTS2-DTS2=0,PTS2-PTS1=0;PTS3-DTS3=0,PTS3-PTS2=0;PTS4-DTS4=0,PTS4-PTS3=0。由此可见,TS流在PAL电视标准中,各帧的间隔时间为3600个90kHz的时钟,即40ms,故在该频点中,由PID=0&110的TS包所组成的电视基本码流包内,各PES包头的时间标签均要比其解码时间标签延迟3帧的时间,而相邻两基本码流的时间间隔则为12帧。仍然以PID=0&110的PES中的ES结构为例,对其中的TS流转换为PS流的过程进行说明:该流的帧结构为I帧BBPBBPBBPBB结构,单位GOP画面组为12帧,而整个帧图像共同组成一个电视基本码流PES。在TS流向PS流转变时,一帧图像则组成一个PES码流,而一个PES码流则构成一个节目流PS包。由此,可将初始的TS传输流的基本码流的头部进行直接复制,使其充当PS节目流中电视基本码流PES的头部,而这一PES则是画面组GOP的第一帧(I帧),而后,各个B帧和P帧则分别加载复制的PES头和节目流PS头,共同构成PS包,在电视基本码流PES长度方面,则根据直接复制的数据获取,对于时间标签PTS和解码时间标签的计算则按照以下方法进行:
  首先,在程序开始时,将TS流内新开始的PES码流予以提取,构成GOP,该画面组含有整个12帧的数据,并以帧开始标志将其划分为12个PES基本码流;其次,设置GOP开始数据为I帧,提取这一PES的时间标签(DTS)值;最后,对于I帧、B帧和P帧,所构建的PES的时间标签DTS与解码时间标签PTS值的计算方法为,DTS1=转换前GOP中PES的时间标签DTS;DTSP、B=转换后前一个电视基本码流的时间标签值+1&3600;PTSI、P=转换后PES的时间标签值+3&3600;PTSB=转换后PES的时间标签值。根据次算法算得的IBP帧的时间标签DTS与解码时间标签PTS同上述以B14为例的B图编码的视频帧结构具有较高的一致性。通过对DTS与PTS的计算方法进行分析可知,计算公式中,PTSI、P的系数3是因IBBPBB帧格式所导致的,具体来说就是,在IP之间插入了两个具有双向预测功能的B帧图像,而IBBPBB也是最为常用的TS转换中的帧格式,对于节目流PS包而言,可令系统参考时钟SCR_base=DTS-3600,SCR_ext=0,由此,则构成了完整的节目流PS包。
  结论:本文通过对数字电视复合信息流中的传输流和节目流进行简要阐述,进而以上海地区730频点的TS流作为分析和转换的目标传输流,通过对TS与PS的参数、编码进行分析,进而对TS向PS的转换方法做出了系统探究。研究结果表明,TS与PS是数字电视复合型码流的主要构成部分,二者的参数设定、编码方式和相互转换对于数字电视的信号质量具有重要影响。未来,还需进一步加强对数字电视码流及其转换的研究力度,为降低数字电视误码率和增强用户体验奠定良好基础。
  参考文献:
  [1]杨秀芝,陈建,王玉欣.基于SOPC的数字电视码流分析系统的设计[J].福州大学学报(自然版),):692-696.
数字电视码流的分析转换相关期刊:&关于TS流,这里需要提到几个概念:TS,PES,ES,DTS,PTS
了解PES,TS,ES请移步:
TS 流解码过程主要分为以下几个步骤:&
1. 获取TS中的PAT&
2. 获取TS中的PMT&
3. 根据PMT可以知道当前网络中传输的视频(音频)类型(H264),相应的PID,PCR的PID等信息。&
4. 设置demux 模块的视频Filter 为相应视频的PID和stream type等。
5. 从视频Demux Filter 后得到的TS数据包中的payload 数据就是 one piece of PES,
在TS header中有一些关于此 payload属于哪个 PES的 第多少个数据包。
& 6. 拼接好的PES包的包头会有 PTS,DTS信息,去掉PES的header就是 ES。PTS,DTS信息在&pes头部,
当PTS_DTS_flag = ‘10’时,有PTS,当是‘11’时,PTS,DTS都有
7. 直接将ES包送给decoder就可以进行解码。解码出来的数据就是一帧一帧的视频数据,这些数据至少应当与PES中的PTS关联一下,以便进行视音频同步。
8. I,B,P 帧就在ES中,通过picture_header()的picture_start_code来辨别是哪个帧。
DTS(解码时间戳)和PTS(显示时间戳)分别是解码器进行解码和显示帧时相对于SCR(系统参考)的时间戳。SCR可以理解为解码器应该开始从磁盘读取数据时的时间。
有否 PTS/DTS 标志,是解决视音频同步显示、防止解码器输入缓存器上溢或下溢的关键所在。 PTS 表明显示单元出现在系统目标解码器( STD- System Target Decoder )的时间 , DTS 表明将存取单元全部字节从 STD的 ES 解码缓存器移走的时刻。 视频编码图像帧次序为 I1,P4,B2,B3,P7,B5,B6,I10,B8,B9
的 ES ,加入 PTS/DTS后,打包成一个个视频 PES 包。每个 PES 包都有一个包头,用于定义 PES 内的数据内容,提供定时资料。每个 I 、 P、 B 帧的包头都有一个 PTS 和 DTS ,但 PTS 与 DTS 对 B 帧都是一样的,无须标出 B 帧的 DTS 。对 I 帧和 P 帧,显示前一定要存储于视频解码器的重新排序缓存器中,经过延迟(重新排序)后再显示,一定要分别标明 PTS 和 DTS 。
例如,一个解码器输入的图像帧顺序是:I1,P4,B2,B3,P7,B5,B6,I10,B8,B9.解码器输出的帧次序,P4要在B2,B3前,但显示时 P4一定要在B2,B3后。这样重建编码前视频帧次序为 I1,B2,B3,P4,B5,B6,P7,B8,B9,I10。
对于一个ES来说,比如video_sequence ,它有不止一个I,P,B帧,而P,B帧都是以I帧为参考的。B帧是前后向参考的,所以要对B帧decode,就必须先decode该B帧后面的帧(P,或I帧),这样decode时间(DTS)和显示时间就不一样(PTS).
GOP:group of pictrue 即画面组 ,一个GOP就是就是一组IBP帧
& & & &PCR:
PCR 是 TS 里面的,即 TS packet 的 adaptation_filed()里面有,当然adaptation_filed()有没有得看adaptation_field_control的值。
PCR用来指定所期望的该 ts packet 到达 decoder 的时间,他的作用于 SCR 类似。
本文已收录于以下专栏:
相关文章推荐
所谓GOP,意思是画面组,MPEG格中的帧序列,分为I、P、B三种,如排成IBBPBBPBBPBBPBBP...样式,这种连续的帧图片组合即为GOP(画面群,GROUP OF PICTURE),是MP...
最近在做项目的时候遇到了这么一个问题,就是在使用 多网卡的 Linux主机拉组播数据的时候,如果两块网卡在一个局域网中,并且拉同一个组播流,那么就会出现问题,问题的现象是 每个网卡都可以收到组播流,但...
GOP/ 码流 /码率 / 比特率 / 帧速率 / 分辨率
GOP(Group of picture)
       关键帧的周期,也就是两个IDR帧之间的距离,一个帧组的最大...
FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。而网上对这些功能的使用大多是基于命令行的。这不利于我们深入学习定制化ffmpeg,今后我将写一系列的用代码实现这些...
一、FFMPEG数据结构
      AVCodecContext:这是一个描述编解码器上下文的数据结构,包含了众多编解码器需要的参数信息。
      如果是单纯使用lib...
上次说到了XMPP协议,这个yud
应该说真正了解TS,还是看了朋友推荐的《数字电视业务信息及其编码》一书之后,MPEG2 TS和数字电视是紧密不可分割的,值得总结一下其中的一些关系。
ISO/IEC-13818-1:系统部分;
视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。
  
简单地说,I帧是关键帧,属于帧内压缩。就是和AVI的压缩是一样的。 P是向前搜索的意思...
本文记录一个基于FFmpeg的HelloWorld程序。该程序可以打印出FFmpeg类库的基本信息。使用该程序通常可以验证FFmpeg是否正确的安装配置。
Mpeg-2的同步及时间恢复--STC,PCR,DTS,PTS
摘要:Mpeg-2同步及时间恢复在编码、传输和解码中占有重要的地位,它不仅直接影响视音频的解码质量,还是衡量整个传输网络优劣的重要...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)H264码流生成快进文件关键技术概述 | easyice
对于快进/快退文件的生成,行业内一般以VLC正常播放作为鉴定标准,要使自己抽帧生成的码流在VLC播放正常,不仅仅是抽取关键帧就OK,抽帧只是第一步,总结来说,需要以下措施:
抽取关键帧
这个过程中,需要抽取完整的关键帧,在264码流中,码流层次没有帧的概念,帧由若干slice组成,如果编码器编码过程采用了分片,那么你需要将属于同一帧的slice都拿出来。一般来说,应用与广电行业的264编码器不采取分片,一个帧就是一个片。例外情况是,当码流编码为隔行视频,一个帧被编码为两个片,每个片是一个场。隔行视频中,I片后经常紧跟一个p片,他们具有相同的frame_num,这时你需要将p片也拿出来,否则i帧是不完整的。
PTS, DTS PCR 时间戳调整
最好的效果是调整到没有PCR精度错误,间隔错误,以及PTS错误,不过若做简单一些,保证PCR精度正确就可以。前提是PTS变化间隔不要过大,否则影响播放效果流畅程度。
frame_num 调整
仅当码流中关键帧为I帧时需要调整,IDR帧则不必。frame_num被解码器用于控制解码顺序,我不清楚为什么IDR帧的frame_num总为0而I帧却不是,事实是,frame_num的不连续造成vlc播放时认为过多的迟到帧,所以需要把它调整连续
对于VLC来说,经过上述调整就可以流畅播放,而其他如mplayer类会瞬间播完,因为这类播放器按fps播放,对此你需在码流中填充零动作P帧,以维持帧率恒定
没有相关文章.
(转载请注明作者和出处
,请勿用于任何商业用途)
(1 人打了分, 平均分: 5.00 )
Loading...

我要回帖

更多关于 pcr dts pts 的文章

 

随机推荐