著录项信息
| 专利名称 | 一种支持PS流媒体文件的容错方法 |
| 申请号 | CN201110061161.8 | 申请日期 | 2011-03-14 |
| 法律状态 | 权利终止 | 申报国家 | 中国 |
| 公开/公告日 | 2011-11-02 | 公开/公告号 | CN102231804A |
| 优先权 | 暂无 | 优先权号 | 暂无 |
| 主分类号 | H04N5/262 | IPC分类号 | H;0;4;N;5;/;2;6;2查看分类表>
|
| 申请人 | 新奥特(北京)视频技术有限公司 | 申请人地址 | 北京市海淀区五棵松路49号新奥特科技大厦
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
| 权利人 | 新奥特(北京)视频技术有限公司 | 当前权利人 | 新奥特(北京)视频技术有限公司 |
| 发明人 | 杨珂;夏永宏 |
| 代理机构 | 北京挺立专利事务所(普通合伙) | 代理人 | 叶树明 |
摘要
本发明公开了一种支持PS流媒体文件的容错方法,已解决不同PS流媒文件在收录、传输中的存在格式缺陷不能满足非线性编辑处理中帧精确定位的问题。所述容错方法包括:从文件头开始读取流媒体文件,确定真正有效的目标视音频数据块;之后根据确定的目标数据块,确定基本文件头信息,并预留一级索引单元项目空间;解析目标数据块,结合校正方式,建立二级索引单元项目;最后根据所述二级索引单元项目信息生成一级索引单元项目,并回填到上述一级索引单元项目空间中,通过以上容错方法可以实现PS流中补充关键帧单元基本信息进行校正操作,通过以上容错可以有效矫正PS流媒体文件在封装、传输、解码过程中存在的格式缺陷,从而保证正确编辑、播放等操作。
1.一种支持PS流媒体文件精确定位的容错方法,其特征在于,包括:
读取PS流媒体文件后,根据检索的首条记录的媒体数据信息确定目标数据块;
读取所述目标数据块的基本文件信息,并根据所述基本文件信息预留一级索引单元项目空间;
按照传输流StreamID值解析所述目标数据块,结合校正方式,建立二级索引单元项目;
根据所述二级索引单元项目信息生成一级索引单元项目,并回填到上述一级索引单元项目空间中;
所述校正方式包括:补充关键帧单元基本信息;
所述补充关键帧单元基本信息包括:
解析同一StreamID值中的视频数据块中关键帧的PTS、DTS信息;
如果存在没有PTS、DTS信息的关键帧,判断相邻B帧是否存在PTS、DTS信息;
如存在按以下计算方式生成关键帧PTS、DTS信息;
PTS值 = 之后出现的P帧前的最后一个B帧的PTS值 - 一帧持续的时间单位;
DTS值 = 之前的B帧DTS值 + 一帧持续的时间单位;
将以上生成PTS、DTS信息,回写到所述关键帧中。
2.根据权利要求1所述的容错方法,其特征在于:
所述根据检索的首条记录的媒体数据信息包括:视频数据信息、音频数据信息。
3.根据权利要求1 或2所述的容错方法,其特征在于:
根据所述基本文件信息预留一级索引单元包括:文件头基本信息、视频GOP一级索引单元、视频Payload一级索引单元、音频一级索引单元。
4.根据权利要求1或2的容错方法,其特征在于:解析目标数据块包括:
视频数据块;音频数据块;其他数据块。
5.根据权利要求1所述的容错方法,其特征在于:所述建立二级索引单元项目包括:视频GOP二级索引、Payload二级索引、音频二级索引、视频分割数据记录。
6.根据权利要求5所述的容错方法,其特征在于:所述视频分割数据记录可以通过记录首次有效视频记录得到。
7.根据权利要求5所述的容错方法,其特征在于:所述视频GOP二级索引通过对视频Payload二级索引组判断确定。
8.根据权利要求3所述的容错方法,其特征在于视频数据块可以根据所述检索的首条记录的媒体数据信息文件中StreamID值确定。
9.根据权利要求3所述的容错方法,其特征在于音频数据块可以根据所述检索的首条记录的媒体数据信息文件中StreamID值确定。
10.根据权利要求3所述的容错方法,其特征在于其他数据块可以根据所述检索的首条记录的媒体数据信息文件中StreamID值确定。
11.根据权利要求1或5所述的容错方法,其特征在于:所述根据所述二级索引单元项目信息生成一级索引单元项目,包括视频Payload索引项目、视频GOP索引项目、音频索引项目。
12.根据权利要求1所述的容错方法,其特征在于:所述根据所述二级索引单元项目信息生成一级索引单元项目,可以通过对二级索引单元项目设定阀值获得相应的一级索引单元项目。
13.根据权利要求1或5所述的容错方法,其特征在于:包括将文件尾信息写入所述基本文件头信息中。
14.一种支持PS流媒体文件精确定位的容错系统,其特征在于,包括:
流媒体加载系统,用于根据预设查询条件进行流媒体文件的检索;
提取检索的首条记录的媒体数据信息系统;
流媒体视频、音频解码系统;
容错处理系统,用于插入关键帧序号,插入视频解码单元基本信息、对帧时间标签基点进行校正的容错处理;
所述容错处理系统包括:补充关键帧单元基本信息的容错处理系统;
所述补充关键帧单元基本信息的具体步骤包括:解析同一StreamID值中的视频数据块中关键帧的PTS、DTS信息;
如果存在没有PTS、DTS信息的关键帧,判断相邻B帧是否存在PTS、DTS信息;
如存在按以下计算方式生成关键帧PTS、DTS信息;
PTS值 = 之后出现的P帧前的最后一个B帧的PTS值 - 一帧持续的时间单位;
DTS值 = 之前的B帧DTS值 + 一帧持续的时间单位;
将以上生成PTS、DTS信息,回写到所述关键帧中;
索引文件生成系统,用于将视频数据块、音频数据块所记录的数据记录到二级索引文件中,并通过预设阀值程序将二级索引文件项目写入一级索引项目中。
15.根据权利要求14中所述的容错系统,其特征在于:
所述提取检索的首条记录的媒体数据信息,包括视频、音频信息。
16.根据权利要求14中所述的容错系统,其特征在于:
所述索引文件生成系统包括:一级索引单元生成系统、二级索引单元生成系统。
17.根据权利要求16中所述的容错系统,其特征在于:
所述一级索引单元生成系统包括:文件头基本信息、视频GOP一级索引单元、视频Payload一级索引单元、音频一级索引单元。
18.根据权利要求16中所述的容错系统,其特征在于:
所述二级索引单元生成系统包括:视频GOP二级索引、Payload二级索引、音频二级索引、视频分割数据记录。
19.根据权利要求14中所述的容错系统,其特征在于:包括播放加载系统。
一种支持PS流媒体文件的容错方法\n技术领域\n[0001] 本发明涉及节目制作及非线性编辑技术领域,尤其涉及一种支持PS流媒体文件的容错方法。\n背景技术\n[0002] 随着互联网的广泛使用,利用网络传输声音与视频信号的需求也越来越多,广播电视等媒体节目,也日益需要通过互联网来发布自己的音视频节目。但是,音视频在处理和传播过程中,往往容易被打断导致不连续,造成收录或保存作为素材源的文件不完整,而且会受到保存文件载体容量的限制,制约其使用。在网络传输过程中,需要较长的传输时间来进行视频传输,造成了不佳的用户体验,对于有些用户,并不全程观看节目,而只是跳跃性的进行查看,但系统还是会耗费很大的网络资源将全部视频文件进行下载,造成了极大的资源浪费。流媒体技术的出现,在一定程度上使互联网传输音视频难的局面得到改善。传统的网络传输音视频等多媒体信息的方式是完全下载后再播放,下载常常要花数分钟甚至数小时。而采用流媒体技术,就可实现流式传输,将声音、影像或动画由服务器向用户计算机进行连续、不间断传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十几秒的启动延时即可进行观看。当声音视频等在用户的机器上播放时,文件的剩余部分还会从服务器上继续下载。\n[0003] MPEG标准作为现今被广泛使用的数字视频、音频标准,被广泛用于数字电视、实时多媒体监控处理、移动多媒体通信、交互多媒体应用、演播电视等领域。因而也广泛利用于非线性编剪辑软件及视音频后期特效处理与合成软件,制作电影、广告、片花等的图像视频处理过程中,因此经常需要调用MPEG标准视频素材进行处理,面对实时视频传输的需要,及高性能视频解码技术的发展,流媒体技术也将被用于MPEG标准文件处理过程中,MPEG标准流媒体文件传输是通过视频传送服务器把节目当成数据包发出,传送到网络上,用户通过解压设备对这些数据进行解压后,节目就会像发送前那样显示出来,流媒体的流式传输时,声音、影像或动画等时基媒体由音视频服务器向用户计算机的连续、实时传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看。\n[0004] 据传输媒体的质量不同,MPEG-2中定义了节目流(PS:ProgramStream)传输方式,其中PS流的包结构是可变长度的,因此,一旦某一PS包的同步信息丢失,接收机无法确定下一包的同步位置,就会造成失步,导致严重的信息丢失。因此,而在信道环境较好,传输误码较低时,一般采用PS码流如DVD格式媒体文件等等,但是PS流文件传输成功后,其文件的格式会比较完整,可以更好的还原媒体文件的格式。\n[0005] 但是因为非线性视频处理文件需要具有标准格式,因此实际应用过程中发现基于PS格式的媒体文件经过封装、网络传输、及解码后,直接用于非线性视频处理会存在编码错误,或影响播放的错误出现,因此就需要通过在建立视频文件索引过程中,对此类情况进行容错处理,已解决上述问题。从而保证流媒体文件在非线性编辑环境下可以正常使用。\n发明内容\n[0006] 针对现有技术中存在的缺陷和不足,本发明的目的是提供一种支持PS、流媒体文件的容错技术,以实现基于MPEG标准格式的媒体文件在非线性视频处理过程中的正确使用,包括支持PS流媒体类型,进行容错处理,提高文件的正确使用率。\n[0007] 为实现上述目的,本发明提供了一种流媒体文件的容错技术:首先,读取流媒体文件后,确定目标数据块;之后根据确定的目标数据块,确定基本文件头信息,并预留一级索引单元项目空间;解析目标数据块,通过校正方式,建立二级索引单元项目;最后根据所述二级索引单元项目信息生成一级索引单元项目,并回填到上述一级索引单元项目空间中。\n[0008] 因此通过正确建立二级索引数据结构,对原文件中存在的格式缺陷给予补正。\n[0009] 对于PS流(传输流)传输方式而言,本发明主要针对补充关键帧单元基本信息缺陷给予校正。\n[0010] 本发明实施例提供一种支持PS流媒体文件精确定位的容错系统,包括:流媒体加载系统;提取检索的首条记录的媒体数据信息系统、流媒体视频、音频解码系统;容错处理系统;索引文件生成系统;其中,所述提取检索的首条记录的媒体数据信息,包括视频、音频信息;所述索引文件生成系统包括:一级索引单元生成系统、二级索引单元生成系统,所述一级索引单元生成系统包括:文件头基本信息、视频GOP一级索引单元、视频Payload一级索引单元、音频一级索引单元,所述二级索引单元生成系统包括:视频GOP二级索引、Payload二级索引、音频二级索引、视频分割数据记录,所述容错处理系统包括:补充关键帧单元基本信息的容错处理系统,以上系统还可以包括播放加载系统。\n[0011] 本发明实施例提供一种支持PS流媒体文件精确定位的容错的播放方法:包括:加载流媒体索引文件;按照精确帧定位结果,加载流媒体文件;分解流媒体文件;加载解码器进行播放;以上还可以包括:按设定条件进行帧定位检索;所述分解流媒体文件,可分解为视频流文件、音频流文件;所述加载索引文件,可分为加载一级索引文件、加载二级索引文件;所述加载解码器,进行播放,其加载解码器解码视频流文件、音频流文件,进行视频、音频播放。\n[0012] 与现有技术相比,首先,本发明解决了MPEG标准格式的媒体文件通过媒体流方式进行传输后,提高了此类文件用于非线性视频处理过程中的可用性,其次,本发明可规范处理MPEG标准格式的媒体文件在编辑、封装过程中存在缺陷的解决方法。\n附图说明\n[0013] 为了更清楚的说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见的,下面描述中的附图仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。\n[0014] 图1:本发明实施例一中所述一种支持PS流媒体文件生成二级索文件用于实现容错的生成示意图;\n[0015] 图2:本发明实施例二中所述一种支持PS流媒体文件生成二级索文件中支持补充关键帧单元基本信息的容错方法示意图;\n[0016] 图3:本发明实施例三中所述一种支持PS流媒体文件精确定位的容错系统的示意图;\n[0017] 图4:本发明实施例四中所述一种支持PS流媒体文件精确定位的播放方法的示意图;\n[0018] 图5:本发明实施例中流媒体的播放加载示意图;\n[0019] 图6:本发明实现容错功能示意图;\n具体实施方式\n[0020] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然所描述的实施例仅是本发明的一部分实施例,不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。\n[0021] 本发明提出在MPEG标准格式的流媒体传输后,建立二级索引的过程中对影响非线性处理的数据进行容错处理,已保证正确的数据使用,下面通过实施例进行详细说明:\n[0022] 实施例一:\n[0023] 参照图1,是本发明实施例一中所述一种支持PS流媒体文件生成二级索文件用于实现容错的生成示意图;\n[0024] 具体步骤如下:\n[0025] 当通过PS流媒体传输得到一段PS流媒体数据后,系统将对该流媒体数据进行解析,主要目的是从用户定义长度的第一个有效视频数据信息、第一个有效音频数据信息;\n并同时为建立索引文件作准备,初步建立以包括:文件头、视频GOP索引、视频Payload索引、音频索引项目的一级索引文件项目,并预留相应项目空间;之后对包数据块进行解析,按照之前所解析的PID(又称StreamID)值对“视频数据块、音频数据块、其他数据块,进行划分归类,其中对视频数据块中的每帧数据进行归类,并存入视频Payload索引中,并从中检查是否为视频GOP(关键帧)数据,并将结果另存到视频GOP索引中;相应的音频数据块中的信息存放置音频索引中,当检测至一个有效视频数据块完成后,即能够分析出Sequenceheader、Picture Header等基本GOP信息,代表一个有效数据块处理完成,至此一个有效二级索引文件基本信息生成,当二级索引文件数据单元的信息达到预设大小后,将其信息回填到上述一级索引项目中,从上述分析可以看出,二级索引文件的建立是解读PS文件的关键过程,因此主要的容错处理也将在建立二级索引单元项目的同时给予判断和完成;总体容错流程请参照图8所示。\n[0026] 实施例二:\n[0027] 参照图2,是本发明实施例二中所述一种支持PS流媒体文件生成二级索文件中支持补充关键帧单元基本信息的容错方法示意图;\n[0028] 具体步骤如下:\n[0029] 首先,解析同一视频流数据块中关键帧的时间标签(PTS、DTS)信息;校验是否存在没有时间标签(PTS、DTS)的关键帧,并判断其相邻B帧是否存在PTS、DTS单元信息;如存在按以下计算方式生成关键帧PTS、DTS单元信息;\n[0030] 其中:PTS值=后一帧之前所相邻的最后一个帧的PTS值减去一帧持续的时间单元;DTS值=前一帧DTS值累加一帧持续的时间单元;(不分关键帧还是普通帧)[0031] 将以上生成对应的时间标签(PTS、DTS),并作为所述关键帧的时间标签。\n[0032] 实施例三:\n[0033] 参照图3,是本发明实施例三中所述一种支持PS流媒体文件精确定位的容错系统的示意图,具体包括:\n[0034] 流媒体加载系统;提取检索的首条记录的媒体数据信息系统;流媒体视频、音频解码系统;容错处理系统;索引文件生成系统;其各个部分的连接关系如图所示。\n[0035] 其中,在流媒体加载系统中,可以根据预设查询条件进行流媒体文件的检索;\n[0036] 在提取提取检索的首条记录的媒体数据信息系统中;采集信息包括视频、音频信息,并将其中的文件头基本信息写入一级索引文件的文件头中、并预留视频GOP一级索引单元空间、视频Payload一级索引单元空间、音频一级索引单元空间;\n[0037] 在容错处理系统中,可通过本发明中记载的方法处理,插入关键帧序号、插入视频解码单元基本信息、对帧时间标签基点进行校正的容错处理;\n[0038] 在索引文件生成系统中,将所述视频数据块、音频数据块所记录的数据记录到二级索引文件中,其中包括:视频GOP二级索引项目、Payload二级索引项目、音频二级索引项目、视频分割数据记录,并通过预设阀值程序,将二级索引文件项目写入一级索引项目中;\n[0039] 应该指出对于本领域技术人员,基于以上系统处理方法的思想,通过简单替换的方法,及简单顺序调整,应该属于本发明方案的保护范围。\n[0040] 实施例四:\n[0041] 参照图4,是本发明实施例四中所述一种支持PS流媒体文件精确定位的播放方法的示意图,具体包括:\n[0042] 加载流媒体索引文件;按照精确帧定位结果,加载流媒体文件;分解流媒体文件;\n加载解码器进行播放。\n[0043] 其中,加载流媒体索引文件为二级索引文件,在按照精确帧定位结果,加载流媒体文件步骤中,可按按设定条件进行帧定位检索,即可以是从文件起始部分检索,同时也可以从文件中部进行检索;分解流媒体文件为视频流媒体文件、音频流媒体文件、并分别加载视频解码器、音频解码器,并分别成为视频输出、及音频输出。\n[0044] 参照图5,是本发明实施例中流媒体的播放加载示意图,其中示意播出帧号的加载顺序根据不同单元,分别是从一级索引单元指向二级索引单元,并循环检查文件截取数据信息,以便对原流媒体数据单元进行正确的还原。
法律信息
- 2019-03-08
未缴年费专利权终止
IPC(主分类): H04N 5/262
专利号: ZL 201110061161.8
申请日: 2011.03.14
授权公告日: 2013.06.05
- 2013-06-05
- 2011-12-14
实质审查的生效
IPC(主分类): H04N 5/262
专利申请号: 201110061161.8
申请日: 2011.03.14
- 2011-11-02
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |