一种视频播放速度调整方法及装置与流程

文档序号:15521858发布日期:2018-09-25 19:40阅读:241来源:国知局

本发明涉及视频处理技术领域,特别涉及一种视频播放速度调整方法及装置。



背景技术:

近年来,随着电子设备的发展以及网络带宽的提升,使得视频播放的门槛大大降低,用户能够随时随地的在电子设备上播放视频,在观看视频的过程中,用户可能会改变视频的播放速度,那么这就需要对视频播放速度进行调整。

目前,对视频播放速度进行调整一般是通过调整时钟触发器的触发频率来实现的;例如,通过提高触发频率来增加在相同时间段内显示的视频帧数量,进而达到快放的效果;通过降低触发频率来减少在相同时间段内显示的视频帧数量,进而达到慢放的效果。由于上述方式对视频播放速度进行调整是针对用户改变后的播放速度完成的,而用户对视频播放速度进行改变时,在不同时刻对该视频播放速度的改变程度可能不同,因此,通过调整时钟触发器的触发频率来实现对视频播放速度的调整,会使调整后的视频在同等时间段内显示的视频帧数量不同,而同等时间段内显示的视频帧数量不同会造成显示效果有所差异,导致播放速度调整后视频的显示质量较差,用户体验比较差。



技术实现要素:

本发明实施例的目的在于提供一种视频播放速度调整方法及装置,以提高播放速度调整后视频的显示质量,进而提升用户体验。

为达到上述目的,本发明实施例公开了一种视频播放速度调整方法,该方法包括:

当检测到对目标视频的播放速度调整指令时,确定所述速度调整指令所对应的目标播放速度;

确定所述目标视频的初始帧率,并将所述初始帧率和所述目标播放速度的乘积作为所述目标视频的目标参数;

按照与目标大小关系对应的预设帧数调整规则,对所述目标视频进行处理,其中,所述目标大小关系为所述目标参数与预设目标帧率的大小关系;

按照所述预设目标帧率,对处理后的目标视频所包含的视频帧进行时间戳调整,以使得调整后的目标视频按照所述预设目标帧率进行播放。

可选地,所述按照与目标大小关系对应的预设帧数调整规则,对所述目标视频进行处理的步骤,包括:

当所述目标参数小于预设目标帧率时,按照所述预设帧数调整规则,增加所述目标视频中视频帧的数量;

当所述目标参数大于预设目标帧率时,按照所述预设帧数调整规则,减少所述目标视频中视频帧的数量;

当所述目标参数等于预设目标帧率时,保持所述目标视频中视频帧的数量不变。

可选地,所述按照所述预设帧数调整规则,增加所述目标视频中视频帧的数量的步骤,包括:

计算每秒的加帧数量,其中,所述加帧数量等于预设目标帧率与所述目标参数的差值;

根据所述目标参数和所述加帧数量,计算加帧处理单元;

基于所述加帧处理单元,将所述目标视频划分为至少一个视频帧组;

基于所述加帧数量和所述加帧处理单元,从所述至少一个视频帧组中确定目标视频帧;

在所确定出的每一目标视频帧后增加过渡视频帧,所述过渡视频帧为基于该目标视频帧生成的视频帧。

可选地,所述根据所述目标参数和所述加帧数量,计算加帧处理单元的步骤,包括:

计算t1*pm和t1*△p1的最大公约数d1;其中,所述t1为能够使所述t1*pm和所述t1*△p1同时为整数的最小自然数,所述pm为所述目标参数,所述△p1为所述加帧数量;

将t1*pm/d1确定为加帧处理单元。

可选地,所述基于所述加帧数量和所述加帧处理单元,从所述至少一个视频帧组中确定目标视频帧的步骤,包括:

针对所述至少一个视频帧组中的每一视频帧组,按照如下方式确定所述视频帧组中的目标视频帧:

判断第一待加帧数量是否小于等于所述加帧处理单元,所述第一待加帧数量为t1*△p1/d1;

当判断结果为是时,从所述视频帧组中确定当前第一待加帧数量个视频帧作为目标视频帧;

当判断结果为否时,将所述视频帧组包含的视频帧均确定为第一目标视频帧,并将当前第一待加帧数量与所述加帧处理单元的差值确定为新的第一待加帧数量,判断当前第一待加帧数量是否小于等于所述加帧处理单元,如果是,从所述视频帧组中确定出当前第一待加帧数量个视频帧作为第二目标视频帧,将所确定出的所有第一目标视频帧和所述第二目标视频帧确定为目标视频帧,如果否,返回执行将视频帧组包含的视频帧均确定为第一目标视频帧的步骤。

可选地,所述根据所述目标参数和所述加帧数量,计算加帧处理单元的步骤,包括:

计算pm和△p1的最大公约数d2,其中,所述pm为所述目标参数,所述△p1为所述加帧数量;

将t2*pm/d2确定为加帧处理单元,其中,所述t2为能够使所述t2*pm/d2和所述t2*△p1/d2同时为整数的最小自然数。

可选地,所述基于所述加帧数量和所述加帧处理单元,从所述至少一个视频帧组中确定目标视频帧的步骤,包括:

针对所述至少一个视频帧组中的每一视频帧组,按照如下方式确定所述视频帧组中的目标视频帧:

判断第二待加帧数量是否小于等于所述加帧处理单元,所述第二待加帧数量为t2*△p1/d2;

当判断结果为是时,从所述视频帧组中确定当前第二待加帧数量个视频帧作为目标视频帧;

当判断结果为否时,将所述视频帧组包含的视频帧均确定为第三目标视频帧,并将当前第二待加帧数量与所述加帧处理单元的差值确定为新的第二待加帧数量,判断当前第二待加帧数量是否小于等于所述加帧处理单元,如果是,从所述视频帧组中确定出当前第二待加帧数量的视频帧作为第四目标视频帧,将所确定出的所有第三目标视频帧和所述第四目标视频帧确定为目标视频帧,如果否,返回执行将视频帧组包含的视频帧均确定为第三目标视频帧的步骤。

可选地,所述按照所述预设帧数调整规则,减少所述目标视频中视频帧的数量的步骤,包括:

计算每秒的减帧数量,其中,所述减帧数量等于所述目标参数与预设目标帧率的差值;

根据所述目标参数和所述减帧数量,计算减帧处理单元

基于所述减帧处理单元,将所述目标视频划分为至少一个视频帧组;

基于所述减帧数量和所述减帧处理单元,从所述至少一个视频帧组中确定目标视频帧;

删除所述目标视频帧。

可选地,所述根据所述目标参数和所述减帧数量,计算减帧处理单元的步骤,包括:

计算t3*pm和t3*△p2的最大公约数d3,其中,所述t3为能够使所述t3*pm和所述t3*△p2同时为整数的最小自然数,所述pm为所述目标参数,所述△p2为所述减帧数量;

将t3*pm/d3确定为减帧处理单元。

可选地,所述基于所述加帧数量和所述加帧处理单元,从所述至少一个视频帧组中确定目标视频帧的步骤,包括:

针对所述至少一个视频帧组中的每一视频帧组,按照如下方式确定所述视频帧组中的目标视频帧:

从所述视频帧组中确定t3*△p2/d3个视频帧作为目标视频帧。

可选地,所述根据所述目标参数和所述减帧数量,计算减帧处理单元的步骤,包括:

计算pm和△p2的最大公约数d4,其中,所述pm为所述目标参数,所述△p2为所述减帧数量;

将t4*pm/d4确定为减帧处理单元,其中,所述t4为能够使所述t4*pm/d2和所述t4*△p2/d4同时为整数的最小自然数。

可选地,所述基于所述加帧数量和所述加帧处理单元,从所述至少一个视频帧组中确定目标视频帧的步骤,包括:

从所述视频帧组中确定t4*△p2/d4个视频帧作为目标视频帧。

可选地,所述方法还包括:

对完成时间戳调整后的目标视频进行编码,得到目标调整视频;

存储和/或输出所述目标调整视频。

为达到上述目的,本发明实施例还公开了一种视频播放速度调整装置,所述装置包括:

第一确定模块,用于当检测到对目标视频的播放速度调整指令时,确定所述速度调整指令所对应的目标播放速度;

第二确定模块,用于确定所述目标视频的初始帧率,并将所述初始帧率和所述目标播放速度的乘积作为所述目标视频的目标参数;

第一处理模块,用于按照与目标大小关系对应的预设帧数调整规则,对所述目标视频进行处理,其中,所述目标大小关系为所述目标参数与预设目标帧率的大小关系;

调整模块,用于按照所述预设目标帧率,对处理后的目标视频所包含的视频帧进行时间戳调整,以使得调整后的目标视频按照所述预设目标帧率进行播放。

可选地,所述第一处理模块,包括:

第一处理子模块,用于当所述目标参数小于预设目标帧率时,按照所述预设帧数调整规则,增加所述目标视频中视频帧的数量;

第二处理子模块,用于当所述目标参数大于预设目标帧率时,按照所述预设帧数调整规则,减少所述目标视频中视频帧的数量;

第三处理子模块,用于当所述目标参数等于预设目标帧率时,保持所述目标视频中视频帧的数量不变。

可选地,所述第一处理子模块,包括:

第一计算单元,用于计算每秒的加帧数量,其中,所述加帧数量等于预设目标帧率与所述目标参数的差值;

第二计算单元,用于根据所述目标参数和所述加帧数量,计算加帧处理单元;

第一划分单元,用于基于所述加帧处理单元,将所述目标视频划分为至少一个视频帧组;

第一确定单元,用于基于所述加帧数量和所述加帧处理单元,从所述至少一个视频帧组中确定目标视频帧;

加帧单元,在所确定出的每一目标视频帧后增加过渡视频帧,所述过渡视频帧为基于该目标视频帧生成的视频帧。

可选地,所述第二计算单元,具体用于:

计算t1*pm和t1*△p1的最大公约数d1;其中,所述t1为能够使所述t1*pm和所述t1*△p1同时为整数的最小自然数,所述pm为所述目标参数,所述△p1为所述加帧数量;

将t1*pm/d1确定为加帧处理单元。

可选地,所述第一确定单元,具体用于:

针对所述至少一个视频帧组中的每一视频帧组,按照如下方式确定所述视频帧组中的目标视频帧:

判断第一待加帧数量是否小于等于所述加帧处理单元,所述第一待加帧数量为t1*△p1/d1;

当判断结果为是时,从所述视频帧组中确定当前第一待加帧数量个视频帧作为目标视频帧;

当判断结果为否时,将所述视频帧组包含的视频帧均确定为第一目标视频帧,并将当前第一待加帧数量与所述加帧处理单元的差值确定为新的第一待加帧数量,判断当前第一待加帧数量是否小于等于所述加帧处理单元,如果是,从所述视频帧组中确定出当前第一待加帧数量个视频帧作为第二目标视频帧,将所确定出的所有第一目标视频帧和所述第二目标视频帧确定为目标视频帧,如果否,返回执行将视频帧组包含的视频帧均确定为第一目标视频帧的步骤。

可选地,所述第二计算单元,具体用于:

计算pm和△p1的最大公约数d2,其中,所述pm为所述目标参数,所述△p1为所述加帧数量;

将t2*pm/d2确定为加帧处理单元,其中,所述t2为能够使所述t2*pm/d2和所述t2*△p1/d2同时为整数的最小自然数。

可选地,所述第一确定单元,具体用于:

针对所述至少一个视频帧组中的每一视频帧组,按照如下方式确定所述视频帧组中的目标视频帧:

判断第二待加帧数量是否小于等于所述加帧处理单元,所述第二待加帧数量为t2*△p1/d2;

当判断结果为是时,从所述视频帧组中确定当前第二待加帧数量个视频帧作为目标视频帧;

当判断结果为否时,将所述视频帧组包含的视频帧均确定为第三目标视频帧,并将当前第二待加帧数量与所述加帧处理单元的差值确定为新的第二待加帧数量,判断当前第二待加帧数量是否小于等于所述加帧处理单元,如果是,从所述视频帧组中确定出当前第二待加帧数量的视频帧作为第四目标视频帧,将所确定出的所有第三目标视频帧和所述第四目标视频帧确定为目标视频帧,如果否,返回执行将视频帧组包含的视频帧均确定为第三目标视频帧的步骤。

可选地,所述第二处理子模块,包括:

第三计算单元,用于计算每秒的减帧数量,其中,所述减帧数量等于所述目标参数与预设目标帧率的差值;

第四计算单元,用于根据所述目标参数和所述减帧数量,计算减帧处理单元;

第二划分单元,用于基于所述减帧处理单元,将所述目标视频划分为至少一个视频帧组;

第二确定单元,用于基于所述减帧数量和所述减帧处理单元,从所述至少一个视频帧组中确定目标视频帧;

减帧单元,删除所述目标视频帧。

可选地,所述第四计算单元,具体用于:

计算t3*pm和t3*△p2的最大公约数d3,其中,所述t3为能够使所述t3*pm和所述t3*△p2同时为整数的最小自然数,所述pm为所述目标参数,所述△p2为所述减帧数量;

将t3*pm/d3确定为减帧处理单元。

可选地,所述第二确定单元,具体用于:

针对所述至少一个视频帧组中的每一视频帧组,按照如下方式确定所述视频帧组中的目标视频帧:

从所述视频帧组中确定t3*△p2/d3个视频帧作为目标视频帧。

可选地,所述第四计算单元,具体用于:

计算所述pm和所述△p2的最大公约数d4,其中,所述pm为所述目标参数,所述△p2为所述减帧数量;

将t4*pm/d4确定为减帧处理单元,其中,所述t4为能够使所述t4*pm/d2和所述t4*△p2/d4同时为整数的最小自然数。

可选地,所述第二确定子模块,具体用于:

从所述视频帧组中确定t4*△p2/d4个视频帧作为目标视频帧。

可选地,所述装置还包括:

编码模块,用于对完成时间戳调整后的目标视频进行编码,得到目标调整视频;

第二处理模块,用于存储和/或输出所述目标调整视频。

综上可见,本发明实施例提供的方案中,当检测到对目标视频的播放速度调整指令时,确定该指令对应的目标播放速度;再确定目标视频的初始帧率,并将初始帧率和目标播放速度的乘积作为目标视频的目标参数;按照与目标大小关系对应的预设帧数调整规则,对目标视频进行处理;按照预设目标帧率,对处理后的目标视频所包含的视频帧进行时间戳调整,以使得调整后的目标视频按照预设目标帧率进行播放。应用本发明实施例提供的方案对目标视频的播放速度进行调整,能够使调整后的目标视频按照预设目标帧率进行播放,不会出现同等时间段内显示的视频帧数量不同的现象,提高了播放速度调整后视频的显示质量,进而提升用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种视频播放速度调整方法的流程示意图;

图2为本发明实施例提供的另一种视频播放速度调整方法的流程示意图;

图3为本发明实施例提供的一种视频播放速度调整装置的结构示意图;

图4为本发明实施例提供的另一种视频播放速度调整装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面通过具体实施例,对本发明进行详细的说明。

为了解决上述技术问题,本发明实施例提供了一种视频播放速度调整方法及装置。

下面首先对本发明实施例所提供的一种视频播放速度调整方法进行介绍。

需要说明的是,本发明实施例所提供的视频播放速度调整方法应用于电子设备中,该电子设备可以为智能手机、平板电脑、台式终端等能够播放视频的设备。并且,实现本发明实施例所提供的一种视频播放速度调整方法的功能的软件可以为专门的视频播放客户端,也可以为现有视频播放客户端中的插件等,这都是合理的。

图1为本发明实施例提供的一种视频播放速度调整方法的流程示意图,该方法包括步骤:

s101:当检测到对目标视频的播放速度调整指令时,确定所述速度调整指令所对应的目标播放速度。

本领域技术人员能够理解的是,对于一个视频来说,一般会按照某一播放速度进行播放,且默认情况下视频的播放速度是正常的,通常认为默认的播放速度为1。但是,在视频播放过程中或播放之前,用户可以对该视频的播放速度进行设置,即将视频的播放速度调整为默认的播放速度以外的其他速度,这样,通过对播放速度进行调整,能够实现对视频的快放或慢放效果。例如:将播放速度调整为2.0,达到快放视频的目的,而将播放速度调整为0.8,达到慢放视频的目的。在本发明实施例提供的方案中,称上述播放速度被调整的视频为目标视频,针对目标视频,用户可以为其设置一个播放速度,在本发明实施例中,用户设置播放速度即认为是对目标视频的播放速度进行调整指令,用户设置的播放速度就是目标播放速度,可以用v表示。可以理解的是,在本发明实施例提供的方案中,如果目标视频是按照默认的播放速度被打开并播放时,认为此时用户设置的播放速度为1,即v=1。

示例性的,假设目标视频为:《大话西游之大圣娶亲》,在播放目标视频至某一精彩片段时,用户希望该部分内容能够慢放,以便能够看的更仔细。可选地,为了防止播放速度调整的幅度不至于过大,可以为播放速度设定一个范围并按照一定的步长进行调节,例如播放速度的范围可以为(0,2.0],默认的播放速度为1,播放速度调整的步长可以设置为0.1,假设此时用户设置的播放速度即目标速度v=0.9。通过上述过程,能够确定此时目标视频对应的目标播放速度v=0.9,即慢放为0.9倍。

s102:确定所述目标视频的初始帧率,并将所述初始帧率和所述目标播放速度的乘积作为所述目标视频的目标参数。

为了更加清楚的对本发明实施例进行说明,首先介绍一下帧率的概念,帧率(framerate)是用于反映单位时间内显示视频帧的数量,一般情况下以秒为单位进行表示,即每秒显示视频帧的数量(framespersecond,简称fps),每个视频在编码时就已经设置了帧率,本发明实施例中称该帧率为初始帧率,可以用pi表示,例如,《大话西游之大圣娶亲》对应的帧率为15,即初始帧率pi=15。

假设上述用户设置的播放速度即目标速度v=0.9的话,那么,初始帧率pi和目标播放速度v的乘积=15*0.9=13.5,我们称初始帧率和目标播放速度的乘积为目标参数,可以用pm表示,也就是目标参数pm=pi*v。

s103:按照与目标大小关系对应的预设帧数调整规则,对所述目标视频进行处理,其中,所述目标大小关系为所述目标参数与预设目标帧率的大小关系。

一般来说,帧率高可以得到更流畅、更逼真的播放效果,但帧率越高,对图形处理器的处理能力要求也就越高,然而帧率较高时,并不能明显地感觉到流畅度的提升。综合播放效果以及对图形处理器的处理能力要求两种因素,在播放目标视频帧时,通常会有比较理想的帧率,例如,30帧/秒是人们能够接受的比较理想的帧率之一,因此,为了使播放速度调整后的目标视频能够达到比较理想的帧率,可以预先设置一个比较理想的帧率,本发明实施例中,称上述预先设置的比较理想的帧率为预设目标帧率,用pd表示,可以但不限定设置pd=30。

基于上述的预设目标帧率pd,可以将上述针对《大话西游之大圣娶亲》的初始帧率pi和目标播放速度v的乘积,即目标参数pm与该预设目标帧率pd进行比较,得到pm和pd之间的大小关系,该大小关系可称为目标大小关系,根据目标大小关系对应的预设帧数调整规则,对所述目标视频进行处理。上述所说的预设帧数调整规则为基于目标参数以及预设目标帧率pd设定的规则。

例如,上述按照与目标大小关系对应的预设帧数调整规则,对所述目标视频进行处理的步骤,可以包括:

当所述目标参数小于预设目标帧率时,按照所述预设帧数调整规则,增加所述目标视频中视频帧的数量;

当所述目标参数大于预设目标帧率时,按照所述预设帧数调整规则,减少所述目标视频中视频帧的数量;

当所述目标参数等于预设目标帧率时,保持所述目标视频中视频帧的数量不变。

可以理解的是,当上述针对《大话西游之大圣娶亲》的初始帧率pi和目标播放速度v的乘积,即目标参数pm小于预设目标帧率pd时,说明此时每秒所播出视频帧的数量少于目标帧率对应的数量,因此,为了避免同等时间段内显示的视频帧数量不同的问题,需要通过在每秒内增加视频帧的数量来进行调整,即可以按照所述预设帧数调整规则,增加《大话西游之大圣娶亲》中视频帧的数量。

当目标参数pm大于预设目标帧率pd,则说明此时每秒所播出视频帧的数量大于目标帧率对应的数量,因此,为了避免同等时间段内显示的视频帧数量不同的问题,需要通过在每秒内减少视频帧的数量来进行调整,即可以按照所述预设帧数调整规则,减少《大话西游之大圣娶亲》中视频帧的数量。

当目标参数pm等于预设目标帧率pd,则说明此时每秒所播出视频帧的数量等于目标帧率对应的数量,因此,不需要对《大话西游之大圣娶亲》中视频帧的数量进行增加或减少,仅需保持《大话西游之大圣娶亲》中视频帧数量不变即可。

由上可知,当目标参数pm等于预设目标帧率pd,仅需保持《大话西游之大圣娶亲》中视频帧数量不变即可,由于该种情况比较简单,同时为了使说明书尽量简洁,以下仅对目标参数pm小于预设目标帧率pd、以及目标参数pm小于预设目标帧率pd这两种情况进行详细的介绍。

第一种情况:当所述目标参数小于预设目标帧率时,按照所述预设帧数调整规则,增加所述目标视频中视频帧的数量的步骤,可以包括步骤a1-a5(图中未示出),具体如下:

a1:计算每秒的加帧数量,其中,所述加帧数量等于预设目标帧率与所述目标参数的差值;

a2:根据所述目标参数和所述加帧数量,计算加帧处理单元;

在本发明实施例提供的方案中,根据所述目标参数和所述加帧数量,计算加帧处理单元,可以但不限于通过如下两种方式获得;下面分别对每一种方式进行介绍:

方式一:根据所述目标参数和所述加帧数量,计算加帧处理单元的步骤,可以包括:

计算t1*pm和t1*△p1的最大公约数d1;其中,所述t1为能够使所述t1*pm和所述t1*△p1同时为整数的最小自然数,所述pm为所述目标参数,所述△p1为所述加帧数量;

将t1*pm/d1确定为加帧处理单元。

示例性的,假设目标帧率pd=30,《大话西游之大圣娶亲》对应的初始帧率pi=15,目标播放速度v=0.9,则《大话西游之大圣娶亲》对应的目标参数pm=15*0.9=13.5,显然13.5<30,即目标参数pm<目标帧率pd,那么可以计算出每秒的加帧数量△p1=pd-pm=30-13.5=16.5;按照该方式一计算加帧处理单元的过程具体为:计算t1*pm和t1*△p1的最大公约数d1,其中,t1为能够使pm和△p1同时为整数的最小自然数,由上可知,pm=13.5、△p1=16.5,而能够使pm和△p1同时为整数的最小自然数t1=2,那么,t1*pm=2*13.5=27和t1*△p1=2*16.5=33,计算27和33的最大公约数d1,不难得到二者的最大公约数d1=3,最后将t1*pm/d1确定为加帧处理单元,即得到的加帧处理单元=2*13.5/3=9。

方式二:根据所述目标参数和所述加帧数量,计算加帧处理单元的步骤,可以包括:

计算pm和△p1的最大公约数d2,其中,所述pm为所述目标参数,所述△p1为所述加帧数量;

将t2*pm/d2确定为加帧处理单元,其中,所述t2为能够使所述t2*pm/d2和所述t2*△p1/d2同时为整数的最小自然数。

在本发明实施例提供的方案中,计算pm和△p1的最大公约数d2可以包括以下两种情形,一种情形是:pm和△p1均为整数,此时pm和△p1的最大公约数d2就是现有的最大公约数的概念;另一种情形是:pm和△p1不均为整数,即pm和△p1中至少有一个为小数,此时pm和△p1的最大公约数d2可以为小数,例如,pm=0.9、△p1=1.2,那么0.9和1.2的最大公约数为0.3,还例如,pm=1.5、△p1=2,那么1.5和2的最大公约数为0.5。

示例性的,假设目标帧率pd=30、初始帧率pi和目标播放速度v的乘积pm=13.5,则pm<pd,因此计算出每秒的加帧数量△p1=pd-pm=30-13.5=16.5,按照该方式二计算加帧处理单元的过程具体为:计算pm和△p1的最大公约数d2,由上可知,pm=13.5,△p1=16.5,那么,13.5和16.5的最大公约数为d2=1.5,因此,pm/d2=9,△p1/d2=11,由于pm/d2和△p1/d2已经均为整数了,因此,t2=1。最后将t2*pm/d2确定为加帧处理单元,即得到的加帧处理单元=1*13.5/1.5=9。

a3:基于所述加帧处理单元,将所述目标视频划分为至少一个视频帧组;

可以根据上述获得的加帧处理单元来对《大话西游之大圣娶亲》中包含的视频帧进行划分,以加帧处理单元=9为例进行说明,具体的划分过程如下,可以从《大话西游之大圣娶亲》中的第1帧开始,每9个视频帧划分为一个视频帧组,如视频帧组1为视频帧1-9、视频帧组2为视频帧10-18、以此类推,如果最后剩余的视频帧数量小于9个的话,则把剩余的所有视频帧作为一个视频帧组,如《大话西游之大圣娶亲》中包含有60000个视频帧的话,那么最后将剩余4个视频帧,不够9个,此时,将最后剩余的4个视频帧作为一个视频帧组。可选地,除了上述的方式,还可以将最后剩余的4个视频帧舍弃,这也是合理的。可见,通过上述对目标视频进行划分之后,能够得到至少一个视频帧组。

值得强调的是,上述提及的目标视频、目标视频所包含的视频帧数量、加帧处理单元的大小、目标帧率pd的大小,仅为本发明实施例提供的一种具体示例,本发明实施例并不对目标视频、目标视频所包含的视频帧数量、加帧处理单元的大小、目标帧率pd的大小做明确限定。

a4:基于所述加帧数量和所述加帧处理单元,从所述至少一个视频帧组中确定目标视频帧;

针对上述两种不同的方式,基于所述加帧数量和所述加帧处理单元,从所述至少一个视频帧组中确定目标视频帧,也有以下两种具体实现方式,具体的:

针对上述步骤a2中的方式一,基于所述加帧数量和所述加帧处理单元,从所述至少一个视频帧组中确定目标视频帧的步骤,可以包括:

针对所述至少一个视频帧组中的每一视频帧组,按照如下方式确定所述视频帧组中的目标视频帧:

判断第一待加帧数量是否小于等于所述加帧处理单元,所述第一待加帧数量为t1*△p1/d1;

当判断结果为是时,从所述视频帧组中确定当前第一待加帧数量个视频帧作为目标视频帧;

当判断结果为否时,将所述视频帧组包含的视频帧均确定为第一目标视频帧,并将当前第一待加帧数量与所述加帧处理单元的差值确定为新的第一待加帧数量,判断当前第一待加帧数量是否小于等于所述加帧处理单元,如果当前第一待加帧数量小于等于所述加帧处理单元,从所述视频帧组中确定出当前第一待加帧数量个视频帧作为第二目标视频帧,将所确定出的所有第一目标视频帧和所述第二目标视频帧确定为目标视频帧,如果当前第一待加帧数量大于所述加帧处理单元,返回执行将视频帧组包含的视频帧均确定为第一目标视频帧的步骤。

由于视频帧组之间在形式上是对等的,从每个视频帧组中确定目标视频帧的过程相同,因此,以下仅以多个视频帧组中的任意一个视频帧组为例进行说明。

示例1:通过前述过程,可以得到加帧处理单元=9、t1*△p1=33、t1*pm和t1*△p1的最大公约数d1=3,此时将t1*△p1/d1作为第一待加帧数量(可用h表示),那么h=33/3=11,也就是说要从该视频帧组200中确定出11个视频帧作为目标视频帧,在以下的实施例中,加帧处理单元可以用g表示。

由上述可见,h>g,则需要将该视频帧组200包含的9个视频帧全部确定为第一目标视频帧,此时已经确定出9个第一目标视频帧即9个目标视频帧,也就是说还需要确定出h-g=11-9=2个目标视频帧,h-g作为新的第一待加帧数量(可用h1表示),即h1=2,此时,h1<g,此时,需要再从视频帧组200中确定出h1个视频帧作为第二目标视频帧,即从9个视频帧中确定出2个视频帧作为第二目标视频帧,从9个视频帧中确定出2个视频帧的方式有多种,例如可以采取随机抽奖的方式从9个中确定出2个,还可以预先设定选取出于视频帧组中某两个固定位置的视频帧,如预先设定的固定位置是第1个和最后一个,或者第1个和中间5个,或者第5个和最后一个,以上都是合理的。

但为了尽可能的使从视频帧组中确定出的目标视频帧均匀分布,进而保证对目标视频的播放速度进行调整的精确度,在本发明实施例提供的一种具体实现方式中,可以按照一定的步长从视频帧组中确定出第二目标视频帧,就本具体实施例而言,由于需要从视频帧组200中确定出2个视频帧作为第二目标视频帧,因此,可设置步长为g/h1,由于步长一般为整数,所以可以对g/h1进行取整,为了保证能够获得足够数量的目标视频帧,可采用下取整方式,如因此,可以设置步长为那么,如果从视频帧组200中确定的第1个视频帧是视频帧组200中第1个的话,则可确定出第2个视频帧为视频帧组200中的第5(=1+4)个视频帧,那么可从视频帧组200中的第1个和第5个视频帧确定为第二目标视频帧。这样,可得到第一目标视频帧9个,第二目标视频帧2个,即视频帧组200中的第1个和第5个视频帧分别做2次目标视频帧、而视频帧组200中其他的视频帧均做1次目标视频帧,共得到11个目标视频帧。

在本发明实施例中,第一目标视频帧和第二目标视频帧中的“第一”和“第二”仅为了区分确定目标视频帧的过程不同,并不是对目标视频帧的形式进行区分,各目标视频帧在形式上是对等的。

示例2:加帧处理单元g依然为9、t1*△p1=12、t1*pm和t1*△p1的最大公约数d1=3,此时将t1*△p1/d1作为第一待加帧数量(可用h表示),那么h=12/3=4,也就是说要从该视频帧组200的9个视频帧中确定出4个视频帧作为目标视频帧。

通过判断可知,h<g,那么需要从视频帧组200的9个视频帧中确定出4个视频帧作为目标视频帧,同样也可以按照一定的步长进行选择,步长可以为:对g/h1进行下取整,即因此,可以设置步长为假设此时从视频帧组200中确定第1个视频帧作为第1个目标视频帧,那么可以确定余下的目标视频帧2-4为别为视频帧组200中的第3(=1+2)、5(=3+2)、7(=5+2)个视频帧,通过上述可以确定出4个目标视频帧,当然,上述的第1个目标视频帧如果是视频帧组中的第2个视频帧的话,那么余下的目标视频帧2-4则分别为视频帧组200中的第4(=2+2)、6(=4+2)、8(=6+2)个视频帧。

示例3:加帧处理单元g依然为9、t1*△p1=60、t1*pm和t1*△p1的最大公约数d1=3,此时将t1*△p1/d1作为第一待加帧数量(可用h表示),那么h=60/3=20,也就是说要从该视频帧组200的9个视频帧中确定出20个视频帧作为目标视频帧。

可见,h>g,因此需要将该视频帧组200包含的9个视频帧全部确定为第一目标视频帧,此时已经确定出9个第一目标视频帧,也就是说还需要确定出h-g=20-9=11个目标视频帧,将h-g作为新的第一待加帧数量(可用h1表示),即h1=11,此时,判断当前第一待加帧数量是否小于等于加帧处理单元,即再判断新的第一待加帧数量h1是否小于等于加帧处理单元g,比较可知,h1>g,因此,返回执行将视频帧组包含的视频帧均确定为第一目标视频帧的步骤,即需要将该视频帧组200包含的9个视频帧全部确定为第一目标视频帧,可以又确定出9个第一目标视频帧,此时,共确定出9+9=18个第一目标视频帧;而当前第一加帧数量h1与加帧处理单元g的差值为确定为h1-g=11-9=2,将h1-g作为新的第一待加帧数量(此时可用h2表示),h2=h1-g=11-9=2,也就是说此时还需要从该视频帧组200包含的9个视频帧中再确定出2个视频帧作为第二目标视频帧,至此,共确定出18个第一目标视频帧和2个第二目标视频帧,第一目标视频帧和第二目标视频帧均为目标视频帧,因此上述确定出共20个目标视频帧。

针对上述步骤a2中的方式二,上述基于所述加帧数量和所述加帧处理单元,从所述至少一个视频帧组中确定目标视频帧的步骤,可以包括:

针对所述至少一个视频帧组中的每一视频帧组,按照如下方式确定所述视频帧组中的目标视频帧:

判断第二待加帧数量是否小于等于所述加帧处理单元,所述第二待加帧数量为t2*△p1/d2;

当判断结果为是时,从所述视频帧组中确定当前第二待加帧数量个视频帧作为目标视频帧;

当判断结果为否时,将所述视频帧组包含的视频帧均确定为第三目标视频帧,并将当前第二待加帧数量与所述加帧处理单元的差值确定为新的第二待加帧数量,判断当前第二待加帧数量是否小于等于所述加帧处理单元,如果当前第二待加帧数量小于等于所述加帧处理单元,从所述视频帧组中确定出当前第二待加帧数量的视频帧作为第四目标视频帧,将所确定出的所有第三目标视频帧和所述第四目标视频帧确定为目标视频帧,如果当前第二待加帧数量大于所述加帧处理单元,返回执行将视频帧组包含的视频帧均确定为第三目标视频帧的步骤。

由于该过程类似于针对上述步骤a2中方式一对应的步骤,区别仅在于待加帧数量的表示上,因此,本发明实施例不再对该部分内容进行赘述,相似之处请参见前述对应部分。

除上述两种方式外,基于加帧数量和加帧处理单元,从至少一个视频帧组中确定目标视频帧,还可以通过从每一视频帧组中随机的确定出加帧数量个视频帧,例如,加帧处理单元为6、加帧数量为3,此时可以从包含6个视频帧的视频帧组中随机的选择3个视频帧作为目标视频帧。

本领域技术人员能够理解的是,视频在进行编解码时均会有关键帧,关键帧可以不参考其他视频帧进行编解码,具有较多的内容信息,因此,在加帧处理单元远大于加帧数量时,可以从视频帧组的多个关键帧中选择出加帧数量个视频帧作为目标视频帧。

当然,上述仅为本发明实施例提供的对目标视频帧确定的众多方式的一些举例,对于本发明实施例而言,并不对确定目标视频帧的具体方式做进一步限定。

a5:在所确定出的每一目标视频帧后增加过渡视频帧,所述过渡视频帧为基于该目标视频帧生成的视频帧。

在确定目标视频帧之后,可以根据确定出的目标视频帧生成对应的过渡视频帧,具体的,可以直接将目标视频帧复制作为过渡视频帧;也可以将该目标视频帧作为基准,与该目标视频帧对应的下一视频帧从像素值角度做平均、加权等,合成一个新的视频帧作为过渡视频帧,本发明实施例并不对基于目标视频帧生成过渡视频帧的过程做任何形式的限定。

在生成过渡视频帧之后,将生成的过渡视频帧增加到该目标视频帧之后,完整对目标视频的视频帧的数量的调整。

第二种情况:当所述目标参数大于预设目标帧率时,所述按照所述预设帧数调整规则,减少所述目标视频中视频帧的数量的步骤,可以包括步骤b1-b5(图中未示出),具体如下:

b1:计算每秒的减帧数量,其中,所述减帧数量等于所述目标参数与预设目标帧率的差值;

b2:根据所述目标参数和所述减帧数量,计算减帧处理单元;

在本发明实施例提供的方案中,根据所述目标参数和所述减帧数量,计算减帧处理单元,可以通过如下两种方式获得;下面分别对每一种方式进行介绍:

方式一:根据所述目标参数和所述减帧数量,计算减帧处理单元的步骤,可以包括:

计算t3*pm和t3*△p2的最大公约数d3,其中,所述t3为能够使所述t3*pm和所述t3*△p2同时为整数的最小自然数,所述pm为所述目标参数,所述△p2为所述减帧数量;

将t3*pm/d3确定为减帧处理单元。

该过程与前述第一种情况的步骤a2中的方式一求解加帧处理单元的过程相同,示例性的,假设目标帧率pd=30,《大话西游之大圣娶亲》对应的初始帧率pi=25,目标播放速度v=1.9,那么《大话西游之大圣娶亲》对应的目标参数pm=25*1.9=47.5,显然47.5>30,那么可以计算出每秒的减帧数量△p2=pm-pd=47.5-30=17.5;按照该方式一计算减帧处理单元,具体为:计算t3*pm和t3*△p2的最大公约数d3,其中,t3为能够使pm和△p2同时为整数的最小自然数,由上可知,pm=47.5、△p2=17.5,而能够使pm和△p1同时为整数的最小自然数t3=2,那么,t3*pm=2*47.5=95和t3*△p2=2*17.5=35,计算95和35的最大公约数d3,不难得到二者的最大公约数d3=5,最后将t3*pm/d3确定为减帧处理单元,即得到的减帧处理单元=2*47.5/5=19。

方式二:根据所述目标参数和所述减帧数量,计算减帧处理单元的步骤,可以包括:

计算pm和△p2的最大公约数d4,其中,所述pm为所述目标参数,所述△p2为所述减帧数量;

将t4*pm/d4确定为减帧处理单元,其中,所述t4为能够使所述t4*pm/d2和所述t4*△p2/d4同时为整数的最小自然数。

在本发明实施例提供的方案中,计算pm和△p2的最大公约数d4可以包括以下两种情形,一种情形是:pm和△p2均为整数,此时pm和△p2的最大公约数d4就是现有的最大公约数的概念;另一种情形是:pm和△p2不均为整数,即pm和△p2中至少有一个为小数,此时pm和△p2的最大公约数d2可以为小数,例如,pm=0.9、△p2=1.2,那么0.9和1.2的最大公约数为0.3,还例如,pm=7.5、△p2=5,那么7.5和5的最大公约数为2.5。

示例性的,假设目标帧率pd=30、初始帧率pi和目标播放速度v的乘积pm=47.5,则pm>pd,因此计算出每秒的减帧数量△p2=pm-pd=47.5-30=17.5,按照该方式二计算减帧处理单元具体为:计算pm和△p2的最大公约数d4,由上可知,pm=47.5,△p2=17.5,那么,47.5和17.5的最大公约数为2.5,因此,pm/d4=19,△p2/d4=7,由于pm/d4和△p2/d4已经均为整数了,因此,t4=1。最后将t4*pm/d4确定为减帧处理单元,即得到的减帧处理单元=1*47.5/2.5=19。

b3:基于所述减帧处理单元,将所述目标视频划分为至少一个视频帧组;

上述可确定减帧处理单元的大小为19,那么可以将视频《大话西游之大圣娶亲》中包含的60000个视频帧,按照每19个视频帧划分为一个视频帧组,该过程完全类似于前述第一种情况中a3中划分视频帧组的过程,因此,该处就不再赘述。

b4:基于所述减帧数量和所述减帧处理单元,从所述至少一个视频帧组中确定目标视频帧;

针对上述两种不同的方式,基于所述减帧数量和所述减帧处理单元,从所述至少一个视频帧组中确定目标视频帧,也有以下两种具体实现方式,具体的:

针对上述步骤b2中的方式一,所述基于所述减帧数量和所述减帧处理单元,从所述至少一个视频帧组中确定目标视频帧的步骤,可以包括:

针对所述至少一个视频帧组中的每一视频帧组,按照如下方式确定所述视频帧组中的目标视频帧:

从所述视频帧组中确定t3*△p2/d3个视频帧作为目标视频帧。

由于视频帧组之间在形式上是对等的,从每个视频帧组中确定目标视频帧的过程相同,因此,以下仅以多个视频帧组中的任意一个视频帧组为例进行说明。

示例4:减帧处理单元=19,t3*△p2=35、t3*pm和t3*△p2的最大公约数d3=5,此时将t3*△p2/d3作为第一待减帧数量(可用k表示),那么k=35/5=7,也就是说要从该视频帧组200的19个视频帧中确定出7个视频帧作为目标视频帧,在以下的实施例中,减帧处理单元可以用f表示。

从包含19个视频帧的视频帧组中确定出7个视频帧可以有多种方式,为了尽可能的使从视频帧组中确定出的目标视频帧能够均匀分布,通常可以按照某一步长从视频帧组中确定出目标视频帧,就本具体实施例而言,由于需要从视频帧组200中确定出7个视频帧作为目标视频帧,因此,可设置步长为f/k,由于步长一般为整数,所以可以对f/k进行取整,为了保证能够获得足够数量的目标视频帧,可采用下取整方式,如因此,可以设置步长为那么,如果从视频帧组200中确定的第1个视频帧是视频帧组200中第1个的话,则可确目标视频2-7分别为视频帧组200中的第3(=1+2)、5(=3+2)、7(=5+2)、9(=7+2)、11(=9+2)、13(=11+2)个视频帧,综上可从视频帧组200中的第1、3、5、7、9、11、13个视频帧确定为目标视频帧。

针对上述步骤b2中的方式二,所述基于所述减帧数量和所述减帧处理单元,从所述至少一个视频帧组中确定目标视频帧的步骤,可以包括:

从所述视频帧组中确定t4*△p2/d4个视频帧作为目标视频帧。

由于该过程类似于针对上述步骤b2中方式一对应的步骤,区别仅在于待减帧数量的表示上,因此,本发明实施例不再对该部分内容进行赘述。

b5:删除所述目标视频帧。

在上述步骤b4确定出目标视频帧之后,将所确定出的目标视频帧删除,完成对目标视频的视频帧的数量进行调整。

值得一提的是,对于上述的步骤b4来说,除上述针对方式一和方式二的两种确定目标视频帧的方式外,上述按照第二预设确定规则,从所述目标视频的至少一个视频帧组中确定目标视频帧的步骤,可以包括:

针对所述至少一个视频帧组中的每一视频帧组,从该视频帧组中确定f-t3*△p2/d3或f-t4*△p2/d4个视频帧作为目标视频帧。

基于该过程,在确定出目标视频帧之后,将确定出的目标视频帧重新组成新的视频帧组,即新的视频帧组中包含有f-t3*△p2/d3或f-t4*△p2/d4个视频帧,与从包含f个视频帧的视频帧组中删除或t4*△p2/d4个视频帧后,形成的视频帧组所包含的视频帧的数量相同,因此不再需要步骤b5删除所述目标视频帧的过程。

示例5:减帧处理单元=19,t3*△p2=35、t3*pm和t3*△p2的最大公约数d3=5,此时,需要从该视频帧组200的19个视频帧中确定出f-t3*△p2/d3=19-7=12个视频帧作为目标视频帧,从19个视频帧中确定出12个的方式有多种,与上述过程无异,此处不再进行详细说明。通常为了获得分布更为均匀的目标视频帧,可以按照某一步长从视频帧组中进行确定,就本具体实施例而言,由于需要从视频帧组200的19个视频帧中确定出12个视频帧作为目标视频帧,因此可以设置步长为19/12,由于步长一般为整数,所以对19/12进行取整,这里可采用上取整方式,即可以从视频帧组200的19个视频帧中的第1、3(=1+2)、5、7、9、11、13、15、17、19个视频帧作为目标视频帧,共10个,由于需要确定出12个视频帧作为目标视频帧,因此还需要从视频帧组200的剩余的视频帧中确定出2个,此时,视频帧组200中还剩余9个视频帧,(将这9个视频帧认为是剩余视频帧组200’),剩余视频帧组200’中的9个视频帧分别是视频帧组200中的第2、4、6、8、10、12、14、16、18个视频帧,也就是说从剩余视频帧组200’包含的9个视频帧中确定出2个作为目标视频帧,与前述方法类似的,可以按照一定的步长从9个视频帧中确定出2个,可以对9/2进行上取整,即此时可以从剩余视频帧组200’中确定出第1、6(=1+5)个视频帧作为目标视频帧,或者是第2、7(=2+5)个视频帧作为目标视频帧等等,假设从剩余视频帧组200’中确定出的是第1、6个视频帧作为目标视频帧,也就是原视频帧组200中的第2、12个视频帧作为目标视频帧,至此一共得到了12(=10+2)个目标视频帧,分别为视频帧组200中的第1、2、3、5、7、9、11、12、13、15、17、19个视频帧,共12个目标视频帧。

在确定出上述的12个目标视频帧之后,将这12个目标视频帧重新组成新的视频帧组,按照上述方式能够将所有的包含19个视频帧的视频帧组,均调整为包含12个视频帧的新的视频帧组,也可以理解为从每个视频帧组中删除7个视频帧的效果;所有新的视频帧组将组成新的视频即为对目标视频的视频帧的数量进行调整后的目标视频。

s104:按照所述预设目标帧率,对处理后的目标视频所包含的视频帧进行时间戳调整,以使得调整后的目标视频按照所述预设目标帧率进行播放。

不难理解的是,通过上述对目标视频的视频帧的数量进行调整后,目标视频所包含的视频帧的数量可能会发生变化,以视频帧的数量减少为例进行说明,假设视频《大话西游之大圣娶亲》中包含有60000个视频帧,其对应的初始帧率pi=25,目标播放速度v=1.9,按照减帧处理单元=19进行处理,60000个视频帧组被划分为3157个视频帧组之后还剩余17个视频帧,将剩余的17个视频帧组舍弃,通过上述的计算过程,可将这3157个视频帧组中的每一个视频帧组调整为包含12个视频帧的新的视频帧组,那么,调整后的目标视频共包含有3157*12=37884个视频帧,由于调整前的目标视频的初始帧率pi=25,而为了使得调整后的《大话西游之大圣娶亲》按照固定的帧率(目标帧率pd=30)进行播放,因此,需要重新对这37884个视频帧进行重新时间戳调整。

对于某一视频而言,在不同时刻对于视频播放速度的改变程度不同时,按照本发明实施例所提供的方法处理后,将会得到这样的处理结果:同等时间段内显示的视频帧数量会相同,从而达到提高显示质量的目的。

综上可见,本发明实施例提供的方案中,当检测到对目标视频的播放速度调整指令时,确定该指令对应的目标播放速度;再确定目标视频的初始帧率,并将初始帧率和目标播放速度的乘积作为目标视频的目标参数;按照与目标大小关系对应的预设帧数调整规则,对目标视频进行处理;按照预设目标帧率,对处理后的目标视频所包含的视频帧进行时间戳调整,以使得调整后的目标视频按照预设目标帧率进行播放。应用本发明实施例提供的方案对目标视频的播放速度进行调整,能够使调整后的目标视频按照预设目标帧率进行播放,不会出现同等时间段内显示的视频帧数量不同的现象,提高了播放速度调整后视频的显示质量,进而提升用户体验。

图2为本发明实施例提供的另一种视频播放速度调整方法的流程示意图,除包括图1实施例提供的步骤s101-104外,该方法还包括步骤:

s105:对完成时间戳调整后的目标视频进行编码,得到目标调整视频;

由于上述对目标视频的视频帧的数量进行调整是针对目标播放速度来具体实现的,因此调整后的目标视频是按照目标播放速度进行播放的,如果直接退出播放的话,用户在下一次打开该目标视频时依然是按照未进行调整前的播放速度进行播放,如果想达到上一次同样的目标播放速度,则需要用户再一次输入相应的目标播放速度,需要重新对该目标视频进行调整,这样打开该目标视频的速度变慢,用户需要等待较长的时间。

考虑到上述的问题,本发明实施例提供的一种可选方案中,可以对上述完成时间戳调整后的目标视频进行编码,得到目标调整视频。这里的编码指的是视频编码,所谓视频编码就是指通过特定的压缩技术,将视频帧进行压缩并进行封装,得到目标调整视频;在进行视频编码时可以将当前设置的视频播放速度v信息一同写入目标调整视频中,已使得后续再播放该目标调整视频时提醒用户当前的视频的播放速度v。例如,可以但不限于采用h.264、hevc(highefficiencyvideocoding)等编码标准对上述完成时间戳调整后的目标视频进行编码。

s106:存储和/或输出所述目标调整视频。

为了方便资源的共享与管理,可以将上述得到的目标调整视频存储至本地,或者直接输出给其他的视频播放器或视频播放设备,或者存储至本地后在输出给其他的视频播放器或视频播放设备。

综上可见,应用图2提供的实施例,能够对进行播放速度调整后的目标视频进行重新编码,进一步的保存或输出,这样能够保证下次用户在打开该调整后的目标视频时,不需要再对该目标视频进行调整,直接打到上次调整后的效果,极大的方便了用户,进而提升了用户体验。

相应于上述方法实施例,本发明实施例还提供了一种视频播放速度调整装置。

图3为本发明实施例提供的一种视频播放速度调整装置的结构示意图,如图3所示,该装置包括:第一确定模块201、第二确定模块202、第一处理模块203和调整模块204。

第一确定模块201,用于当检测到对目标视频的播放速度调整指令时,确定所述速度调整指令所对应的目标播放速度;

第二确定模块202,用于确定所述目标视频的初始帧率,并将所述初始帧率和所述目标播放速度的乘积作为所述目标视频的目标参数;

第一处理模块203,用于按照与目标大小关系对应的预设帧数调整规则,对所述目标视频进行处理,其中,所述目标大小关系为所述目标参数与预设目标帧率的大小关系;

调整模块204,用于按照所述预设目标帧率,对处理后的目标视频所包含的视频帧进行时间戳调整,以使得调整后的目标视频按照所述预设目标帧率进行播放。

综上可见,本发明实施例提供的方案中,当检测到对目标视频的播放速度调整指令时,确定该指令对应的目标播放速度;再确定目标视频的初始帧率,并将初始帧率和目标播放速度的乘积作为目标视频的目标参数;按照与目标大小关系对应的预设帧数调整规则,对目标视频进行处理;按照预设目标帧率,对处理后的目标视频所包含的视频帧进行时间戳调整,以使得调整后的目标视频按照预设目标帧率进行播放。应用本发明实施例提供的方案对目标视频的播放速度进行调整,能够使调整后的目标视频按照预设目标帧率进行播放,不会出现同等时间段内显示的视频帧数量不同的现象,提高了播放速度调整后视频的显示质量,进而提升用户体验。

可选地,上述的第一处理模块203,可以包括:

第一处理子模块,用于当所述目标参数小于预设目标帧率时,按照所述预设帧数调整规则,增加所述目标视频中视频帧的数量;

第二处理子模块,用于当所述目标参数大于预设目标帧率时,按照所述预设帧数调整规则,减少所述目标视频中视频帧的数量;

第三处理子模块,用于当所述目标参数等于预设目标帧率时,保持所述目标视频中视频帧的数量不变。

一方面,上述的第一处理子模块,可以包括:第一计算单元、第二计算单元、第一划分单元、第一确定单元和加帧单元(图中未示出);具体的,

第一计算单元,用于计算每秒的加帧数量,其中,所述加帧数量等于预设目标帧率与所述目标参数的差值;

第二计算单元,用于根据所述目标参数和所述加帧数量,计算加帧处理单元;

第一划分单元,用于基于所述加帧处理单元,将所述目标视频划分为至少一个视频帧组;

第一确定单元,用于基于所述加帧数量和所述加帧处理单元,从所述至少一个视频帧组中确定目标视频帧;

加帧单元,在所确定出的每一目标视频帧后增加过渡视频帧,所述过渡视频帧为基于该目标视频帧生成的视频帧。

其中,在第一种具体实现方式中,上述的第二计算单元,可以具体用于:

计算t1*pm和t1*△p1的最大公约数d1,其中,所述t1为能够使所述t1*pm和所述t1*△p1同时为整数的最小自然数,所述pm为所述目标参数,所述△p1为所述加帧数量;

将t1*pm/d1确定为加帧处理单元。

基于该第二计算单元的第一种具体实现方式,相应的,上述的第一确定单元,可以具体用于:

针对所述至少一个视频帧组中的每一视频帧组,按照如下方式确定所述视频帧组中的目标视频帧:

判断第一待加帧数量是否小于等于所述加帧处理单元,所述第一待加帧数量为t1*△p1/d1;

当判断结果为是时,从所述视频帧组中确定当前第一待加帧数量个视频帧作为目标视频帧;

当判断结果为否时,将所述视频帧组包含的视频帧均确定为第一目标视频帧,并将当前第一待加帧数量与所述加帧处理单元的差值确定为新的第一待加帧数量,判断当前第一待加帧数量是否小于等于所述加帧处理单元,如果是,从所述视频帧组中确定出当前第一待加帧数量个视频帧作为第二目标视频帧,将所确定出的所有第一目标视频帧和所述第二目标视频帧确定为目标视频帧,如果否,返回执行将视频帧组包含的视频帧均确定为第一目标视频帧的步骤。

其中,在第二种具体实现方式中,上述的第二计算单元,可以具体用于:

计算pm和△p1的最大公约数d2,其中,所述pm为所述目标参数,所述△p1为所述加帧数量;

将t2*pm/d2确定为加帧处理单元,其中,所述t2为能够使所述t2*pm/d2和所述t2*△p1/d2同时为整数的最小自然数。

基于该第二计算单元的第二种具体实现方式,相应的,上述的第一确定单元,可以具体用于:

针对所述至少一个视频帧组中的每一视频帧组,按照如下方式确定所述视频帧组中的目标视频帧:

判断第二待加帧数量是否小于等于所述加帧处理单元,所述第二待加帧数量为t2*△p1/d2;

当判断结果为是时,从所述视频帧组中确定当前第二待加帧数量个视频帧作为目标视频帧;

当判断结果为否时,将所述视频帧组包含的视频帧均确定为第三目标视频帧,并将当前第二待加帧数量与所述加帧处理单元的差值确定为新的第二待加帧数量,判断当前第二待加帧数量是否小于等于所述加帧处理单元,如果是,从所述视频帧组中确定出当前第二待加帧数量的视频帧作为第四目标视频帧,将所确定出的所有第三目标视频帧和所述第四目标视频帧确定为目标视频帧,如果否,返回执行将视频帧组包含的视频帧均确定为第三目标视频帧的步骤。

另一方面,上述的第二处理子模块,可以包括:第三计算单元、第四计算单元、第二划分单元、第二确定单元和减帧单元(图中未示出);具体的,

第三计算单元,用于计算每秒的减帧数量,其中,所述减帧数量等于所述目标参数与预设目标帧率的差值;

第四计算单元,用于根据所述目标参数和所述减帧数量,计算减帧处理单元;

第二划分单元,用于基于所述减帧处理单元,将所述目标视频划分为至少一个视频帧组;

第二确定单元,用于基于所述减帧数量和所述减帧处理单元,从所述至少一个视频帧组中确定目标视频帧;

减帧单元,删除所述目标视频帧。

具体的,在第一种具体实现方式中,所述第四计算单元,可以具体用于:

计算t3*pm和t3*△p2的最大公约数d3,其中,所述t3为能够使所述t3*pm和所述t3*△p2同时为整数的最小自然数,所述pm为所述目标参数,所述△p2为所述减帧数量;

将t3*pm/d3确定为减帧处理单元。

基于所述第四计算单元的第一种具体实现方式,相应的,所述第二确定单元,可以具体用于:

针对所述至少一个视频帧组中的每一视频帧组,按照如下方式确定所述视频帧组中的目标视频帧:

从所述视频帧组中确定t3*△p2/d3个视频帧作为目标视频帧。

其中,在第二种具体实现方式中,所述第四计算单元,可以具体用于:

计算pm和△p2的最大公约数d4,其中,所述pm为所述目标参数,所述△p2为所述减帧数量;

将t4*pm/d4确定为减帧处理单元,其中,所述t4为能够使所述t4*pm/d2和所述t4*△p2/d4同时为整数的最小自然数。

基于所述第四计算单元的第二种具体实现方式,相应的,所述第二确定单元,可以具体用于:

从所述视频帧组中确定t4*△p2/d4个视频帧作为目标视频帧。

图4为本发明实施例提供的另一种视频播放速度调整装置的结构示意图,除包括上述图3提供的第一确定模块201、第二确定模块202、第一处理模块203和调整模块204外,该发明实施例提供的装置还包括:编码模块205和第二处理模块206。

编码模块205,用于对完成时间戳调整后的目标视频进行编码,得到目标调整视频;

第二处理模块206,用于存储和/或输出所述目标调整视频。

综上可见,应用图4提供的实施例,能够对进行播放速度调整后的目标视频进行重新编码,进一步的保存或输出,这样能够保证下次用户在打开该调整后的目标视频时,不需要再对该目标视频进行调整,直接打到上次调整后的效果,极大的方便了用户,进而提升了用户体验。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:rom/ram、磁碟、光盘等。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1