一种视频处理方法

文档序号:8434211阅读:409来源:国知局
一种视频处理方法
【技术领域】
[0001]本发明涉及多媒体技术领域,具体涉及一种视频处理方法。
【背景技术】
[0002]随着多媒体技术的不断发展,需要播放的视频越来越多。但是,当通过H264编码的视频中的P帧丢失时,在播放视频时将出现马赛克现象,影响用户体验。因此,为了避免马赛克现象在视频播放前检测视频中是否存在丢失P帧的情况非常必要。

【发明内容】

[0003]本发明实施例公开一种视频处理方法,用于避免播放视频时出现马赛克现象,以便提高用户体验。
[0004]本发明实施例公开一种视频处理方法,包括:
[0005]读取目标视频中的当前目标帧,其中,所述目标视频包括I帧和P帧;
[0006]判断所述当前目标帧是否为P帧;
[0007]当所述当前目标帧为P帧时,获取所述当前目标帧的序列;
[0008]判断所述当前目标帧的序列与预设序列是否相同;
[0009]当所述当前目标帧的序列与所述预设序列不相同时,丢弃所述当前目标帧以及所述当前目标帧和参考帧之间的所有帧,其中,所述参考帧是所述目标视频中位于所述当前目标帧之后的第一个I帧。
[0010]本发明实施例中,读取目标视频中的当前目标帧,其中,目标视频包括I帧和P帧;判断当前目标帧是否为P帧;当当前目标帧为P帧时,获取当前目标帧的序列;判断当前目标帧的序列与预设序列是否相同;当当前目标帧的序列与预设序列不相同时,丢弃当前目标帧以及当前目标帧和参考帧之间的所有帧,其中,参考帧是目标视频中位于当前目标帧之后的第一个I帧,以避免播放视频时出现马赛克现象,从而可以提高用户体验。
【附图说明】
[0011]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0012]图1是本发明实施例公开的一种视频处理方法的流程图;
[0013]图2是本发明实施例公开的另一种视频处理方法的流程图;
[0014]图3是本发明实施例公开的一种终端的结构图;
[0015]图4是本发明实施例公开的另一种终端的结构图;
[0016]图5是本发明实施例公开的又一种终端的结构图。
【具体实施方式】
[0017]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0018]本发明实施例公开一种视频处理方法及终端,用于避免播放视频时出现马赛克现象,以便提高用户体验。以下分别进行详细说明。
[0019]请参阅图1,图1是本发明实施例公开的一种视频处理方法的流程图。如图1所示,该视频处理方法可以包括以下步骤。
[0020]S101、读取目标视频中的当前目标帧,其中,目标视频包括I帧和P帧。
[0021]本实施例中,当需要检测目标视频中P帧的完整性时,先打开目标视频文件,并创建检测目标视频文件,以便将检测后的目标视频存储在检测目标视频文件中。
[0022]本实施例中,检测目标视频中P帧的完整性时,将按照播放目标视频时解码帧的顺序依次对目标视频中的帧进行检测。当需要检测目标视频中的当前目标帧时,先从目标视频文件中将当前目标帧读取至缓存。其中,目标视频包括I帧和P帧。
[0023]S102、判断当前目标帧是否为P帧。
[0024]S103、当当前目标帧为P帧时,获取当前目标帧的序列。
[0025]本实施例中,读取到当前目标帧之后,先判断当前目标帧是否为P帧,当当前目标帧为P帧时,获取当前目标帧的序列。
[0026]相应地,当当前目标帧为I帧时,将缓存中的当前目标帧存储至检测目标视频文件中。
[0027]S104、判断当前目标帧的序列与预设序列是否相同。
[0028]举例说明,假设目标视频中的一段帧串为:IPPPIPPIPP,第一个I帧的序列为0,第一个P帧的序列为I,第二个P帧的序列为2,第三个P帧的序列为3,第二个I帧的序列又为0,第四个P帧的序列为1,第五个P帧的序列为2,第三个I帧的序列又为0,第六个P帧的序列为1,第七个P帧的序列为2。当判断出第一个I帧时,将预设序列置零,将第一个I帧处理完之后,将预设序列的值加一得到预设序列的值为1,将第一个P帧处理完之后,将预设序列的值加一得到预设序列的值为2,……,当判断出第二个I帧时,又将预设序列置零,将第二个I帧处理完之后,将预设序列加一得到预设序列的值为1,……。
[0029]S105、当当前目标帧的序列与预设序列不相同时,丢弃当前目标帧以及当前目标帧和参考帧之间的所有帧,其中,参考帧是目标视频中位于当前目标帧之后的第一个I帧。
[0030]本实施例中,目标视频中的每个帧都有一个解码序列,当前目标帧的序列即当前目标帧的解码序列。因此,获取到当前目标帧的序列之后,判断当前目标帧的序列是否与预设序列相同,当当前目标帧的序列与预设序列不相同时,表明存在丢失P帧的情况。由于解码一个P帧时,需要参考目标视频中与这个P帧相邻的上一帧,以致当检测到这个P帧之前存在丢失P帧的情况时,丢失的这个帧与目标视频中位于这个帧之后的第一个I帧之间的所有P帧将无法解码,因此,丢弃当前目标帧以及当前目标帧和参考帧之间的所有帧,以避免播放目标视频时出现马赛克现象。
[0031 ] 本实施例中,丢弃当前目标帧就是将缓存中的当前目标帧不存储至检测目标视频文件中。丢弃当前目标帧和参考帧之间的所有帧时,需要依次将当前目标帧和参考帧之间的所有帧从目标视频文件读取到缓存中,但不存储至检测目标视频文件。
[0032]相应地,当当前目标帧的序列与预设序列相同时,表明当前目标帧之前没有丢失P帧,将缓存中的当前目标帧存储至检测目标视频文件中。
[0033]在图1所描述的视频处理方法中,读取目标视频中的当前目标帧,其中,目标视频包括I帧和P帧;判断当前目标帧是否为P帧;当当前目标帧为P帧时,获取当前目标帧的序列;判断当前目标帧的序列与预设序列是否相同;当当前目标帧的序列与预设序列不相同时,丢弃当前目标帧以及当前目标帧和参考帧之间的所有帧,其中,参考帧是目标视频中位于当前目标帧之后的第一个I帧,以避免播放视频时出现马赛克现象,从而可以提高用户体验。
[0034]请参阅图2,图2是本发明实施例公开的另一种视频处理方法的流程图。如图2所示,该视频处理方法可以包括以下步骤。
[0035]S201、获取目标视频所占容量。
[0036]本实施例中,当需要检测目标视频中P帧的完整性时,先打开目标视频文件,获取目标视频所占容量,并创建检测目标视频文件,以便将检测后的目标视频存储在检测目标视频文件中。
[0037]S202、读取目标视频中的当前目标帧,其中,目标视频包括I帧和P帧。
[0038]本实施例中,检测目标视频中P帧的完整性时,将按照播放目标视频时解码帧的顺序依次对目标视频中的帧进行检测。当需要检测目标视频中的当前目标帧时,先从目标视频文件中将当前目标帧读取至缓存。其中,目标视频包括I帧和P帧。
[0039]S203、判断当前目标帧是否为P帧,当当前目标帧为P帧时,执行步骤S204,当当前目标帧为I帧时,执行步骤S
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1