一种视频处理方法及装置的制造方法

文档序号:9567518阅读:275来源:国知局
一种视频处理方法及装置的制造方法
【技术领域】
[0001]本发明涉及视频处理技术领域,尤其涉及一种视频处理方法及装置。
【背景技术】
[0002]随着网络和文化事业的发展,音视频资源极大丰富,对音视频文件的处理的需要也快速增长。
[0003]音视频文件处理的大致流程如下:首先将需处理的音视频文件解封装成为视频帧序列和音频帧序列;然后将视频帧序列和音频帧序列分别解码为RAW格式和PCM格式数据;对RAW格式和PCM格式数据进行处理;再将RAW格式和PCM格式的数据编码为所需格式的音频帧序列和视频帧序列;最后将音频帧序列和视频帧序列封装成需要的文件格式。
[0004]在解封装过程中生成画面组G0P的出入队列,待处理的帧以队列形式存储,每需要生成一个G0P时,从队列中读取出帧,并在队列中对读取出的帧清空。但是为了保证编码后的流媒体ts文件的首帧是I帧,所以两个相邻的G0P之间有几帧的重合,这样,及时清空队列就会出现问题。

【发明内容】

[0005]本发明实施例提供一种视频处理方法及装置,包括如下技术方案:
[0006]根据本发明实施例的第一方面,提供一种视频处理方法,包括:
[0007]对视频数据进行解封装得到待处理帧队列;
[0008]当从所述待处理帧队列中读取帧生成画面组文件时,比较当前读取的帧块的帧数与已读取的帧数之间的帧数和与预设帧数的大小,得到比较结果;
[0009]根据比较结果确定是否生成画面组文件以及是否从所述待处理帧队列中清除所述当前读取的帧块,其中,所述当前读取的帧块包括当前读取的关键帧和下一个关键帧之前的所有帧。
[0010]在一个实施例中,所述根据比较结果确定是否生成画面组文件以及是否从所述待处理帧队列中清除所述当前读取的帧块,包括:
[0011]当所述帧数和小于所述预设帧数时,在读取完所述当前读取的帧块后,从所述待处理帧队列中清除所述帧块,并更新所述已读取的帧数,继续读取下一个帧块。
[0012]在一个实施例中,所述根据比较结果确定是否生成画面组文件以及是否从所述待处理帧队列中清除所述当前读取的帧块,包括:
[0013]当所述帧数和大于所述预设帧数时,在读取完所述帧块后,根据所述帧块和已读取的帧生成对应的当前画面组文件,并在所述待处理帧队列中继续保存所述帧块。
[0014]在一个实施例中,所述方法还包括:
[0015]计算所述帧数和与所述预设帧数之间的第一差值;
[0016]当对所述当前画面组文件进行解码再编码时,将所述第一差值确定为所述当前画面组文件的尾部需要丢弃的帧数;
[0017]计算所述帧块中的帧数与所述当前画面组文件的尾部需要丢弃的帧数之间的第二差值;
[0018]将所述第二差值确定为所述当前画面组文件之后的画面组文件的头部需要丢弃的帧数。
[0019]在一个实施例中,所述根据比较结果确定是否生成画面组文件以及是否从所述待处理帧队列中清除所述当前读取的帧块,包括:
[0020]当所述帧数和等于所述预设帧数时,在读取完所述帧块后,根据所述帧块和已读取的帧生成对应的当前画面组文件,并在所述待处理帧队列中清除所述帧块。
[0021]根据本发明实施例的第二方面,提供一种视频处理装置,包括:
[0022]解封装模块,用于对视频数据进行解封装得到待处理帧队列;
[0023]比较模块,用于当从所述待处理帧队列中读取帧生成画面组文件时,比较当前读取的帧块的帧数与已读取的帧数之间的帧数和与预设帧数的大小,得到比较结果;
[0024]处理模块,用于根据比较结果确定是否生成画面组文件以及是否从所述待处理帧队列中清除所述当前读取的帧块,其中,所述当前读取的帧块包括当前读取的关键帧和下一个关键帧之前的所有帧。
[0025]在一个实施例中,所述处理模块包括:
[0026]第一处理子模块,用于当所述帧数和小于所述预设帧数时,在读取完所述当前读取的帧块后,从所述待处理帧队列中清除所述帧块,并更新所述已读取的帧数,继续读取下一个帧块。
[0027]在一个实施例中,所述处理模块包括:
[0028]第二处理子模块,用于当所述帧数和大于所述预设帧数时,在读取完所述帧块后,根据所述帧块和已读取的帧生成对应的当前画面组文件,并在所述待处理帧队列中继续保存所述帧块。
[0029]在一个实施例中,所述装置还包括:
[0030]第一计算模块,用于计算所述帧数和与所述预设帧数之间的第一差值;
[0031]第一确定模块,用于当对所述当前画面组文件进行解码再编码时,将所述第一差值确定为所述当前画面组文件的尾部需要丢弃的帧数;
[0032]第二计算模块,用于计算所述帧块中的帧数与所述当前画面组文件的尾部需要丢弃的帧数之间的第二差值;
[0033]第二确定模块,用于将所述第二差值确定为所述当前画面组文件之后的画面组文件的头部需要丢弃的帧数。
[0034]在一个实施例中,所述处理模块包括:
[0035]第三处理子模块,用于当所述帧数和等于所述预设帧数时,在读取完所述帧块后,根据所述帧块和已读取的帧生成对应的当前画面组文件,并在所述待处理帧队列中清除所述帧块。
[0036]本发明的实施例提供的技术方案可以包括以下有益效果:
[0037]上述技术方案,在从待处理帧队列中读取帧生成画面组文件时,比较当前读取的帧块的帧数与已读取的帧数之间的帧数和,根据帧数和预设帧数之间的大小,确定是否从待处理帧队列中清除当前读取的帧块,这样,根据实际情况判断是否对当前读取帧块进行清除,避免过早清除当前读取的帧块造成的画面组文件不完整的问题,同时避免过晚清楚当前读取的帧块造成的资源浪费的问题,达到在合适的时间及时清除待处理帧队列中的帧块的目的。
[0038]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
【附图说明】
[0039]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0040]图1是根据一示例性实施例示出的视频处理方法的流程图。
[0041]图2是根据一示例性实施例示出的一种视频处理方法的流程图。
[0042]图3是根据一示例性实施例示出的另一种视频处理方法的流程图。
[0043]图4是根据一示例性实施例示出的再一种视频处理方法的流程图。
[0044]图5是根据一示例性实施例示出的又一种视频处理方法的流程图。
[0045]图6是根据一示例性实施例示出的视频处理装置的框图。
[0046]图7是根据一示例性实施例示出的一种视频处理装置中处理模块的框图。
[0047]图8是根据一示例性实施例示出的另一种视频处理装置中处理模块的框图。
[0048]图9是根据一示例性实施例示出的另一种视频处理装置的框图。
[0049]图10是根据一示例性实施例示出的再一种视频处理装置中处理模块的框图。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1