[发明专利]一种防止关键帧缺失而不能seek的方法及装置有效
申请号: | 201110223980.8 | 申请日: | 2011-08-05 |
公开(公告)号: | CN102264004A | 公开(公告)日: | 2011-11-30 |
发明(设计)人: | 孙茂杰 | 申请(专利权)人: | TCL集团股份有限公司 |
主分类号: | H04N21/647 | 分类号: | H04N21/647 |
代理公司: | 深圳市君胜知识产权代理事务所 44268 | 代理人: | 王永文;杨宏 |
地址: | 516001 广东省惠州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 防止 关键 缺失 不能 seek 方法 装置 | ||
技术领域
本发明涉及媒体文件处理领域,尤其涉及的是一种防止关键帧缺失而不能seek的方法及装置。
背景技术
目前市面有很多AVI、MKV等媒体文件,在做seek(跳转)操作的时候,都是按照关键帧定位,根据关键帧所附带的文件位置信息,进行seek定位。由于编码的时候,有的音视频文件关键帧(关键帧相当于二维动画中的原画,指角色或者物体运动或变化中的关键动作所处的那一帧)比较少,造成在做seek操作的时候,不能够很好的按照一秒一秒的step (步进)进行seek,而是中间有类似几秒、甚至几十秒的浮动,seek的时候不能够准确的定位到用户想确定看的视频画面。
根据关键帧定位位置数据的原因是:在MPEG(Moving Pictures Experts Group/Motin Pictures Experts Group,动态图像专家组)编码的过程中,部分视频帧序列压缩成为I帧;部分压缩成P帧;还有部分压缩成B帧。其中, I帧是靠尽可能去除图像空间冗余信息来压缩传输数据量的帧内编码图像,做为随机访问的参考点,即为关键帧;P帧是通过充分降低图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像,由在它前面的P帧或者I帧预测而来,也叫预测帧; B帧是既考虑与源图像序列前面已编码帧、也顾及源图像序列后面已编码帧之间的时间冗余信息来压缩传输数据量的编码图像,也叫双向预测帧。
解码器解码数据的时候必须要有关键帧,如果没有关键帧,只有P、B 帧,解码器是不能解码出数据的。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种防止关键帧缺失而不能seek的方法及装置,其解决某些音视频文件播放时,不能准确seek定位到某一时间点的问题。
本发明解决技术问题所采用的技术方案如下:
一种防止关键帧缺失而不能seek的方法,其中,包括:
A、对媒体音视频文件的帧数据进行seek操作时,根据seek到的时间点获取该seek时间点的前关键帧;
B、从该前关键帧的位置开始读取文件流,并将该读取的文件流传送给解码器解码;
C、判断解码后的帧数据的时间点是否到达seek的时间点,当判断出解码后的帧数据的时间点在seek的时间点前,则将该帧数据丢弃;
D、当判断出解码后的帧数据的时间点到达seek的时间点,则将解码后的数据进行播放显示。
所述防止关键帧缺失而不能seek的方法,其中,所述步骤B具体包括:
B1、根据获取到的前关键帧,得到该前关键帧的位置信息;
B2、根据该前关键帧的位置信息,读取从此位置开始的文件流,并将该读取的文件流传送给解码器解码。
所述防止关键帧缺失而不能seek的方法,所述步骤C还包括:通过同步线程进行数据同步,当判断出解码后的帧数据的时间点在seek的时间点前,则通过同步线程将该帧数据丢弃。
所述防止关键帧缺失而不能seek的方法,所述关键帧为影响画面图象参数的帧数据,所述前关键帧为在时间轴上的位置位于seek时间点前并且最接近seek时间点的关键帧。
所述防止关键帧缺失而不能seek的方法,其特征在于,所述音视频文件为AVI文件或MKV文件。
所述防止关键帧缺失而不能seek的方法,其中,所述步骤C还包括:通过同步线程进行数据同步,当判断出解码后的帧数据的时间点在seek的时间点前,则通过同步线程将该帧数据丢弃。
所述防止关键帧缺失而不能seek的方法,其中,所述关键帧为影响画面图象参数的帧数据;所述前关键帧为在时间轴上的位置位于seek时间点前并且最接近seek时间点的关键帧。
一种防止关键帧缺失而不能seek的装置,其中,包括:
前关键帧获取模块,用于对媒体音视频文件的帧数据进行seek操作时,根据seek到的时间点获取该seek时间点的前关键帧;
读取与传送模块,用于从该前关键帧的位置开始读取文件流,并将该读取的文件流传送给解码器解码;
判断模块,用于判断解码后的帧数据的时间点是否到达seek的时间点,当判断出解码后的帧数据的时间点在seek的时间点前,则将该帧数据丢弃;
播放模块,用于当判断出解码后的帧数据的时间点到达seek的时间点,则将解码后的数据进行播放显示。
所述防止关键帧缺失而不能seek的装置,其中,所述读取与传送模块包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于TCL集团股份有限公司,未经TCL集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110223980.8/2.html,转载请声明来源钻瓜专利网。