视频播放方法、装置及电子设备

文档序号:1878498 发布日期:2021-11-23 浏览:25次 >En<

阅读说明:本技术 视频播放方法、装置及电子设备 (Video playing method and device and electronic equipment ) 是由 谢锦洋 于 2021-07-15 设计创作,主要内容包括:本申请公开了一种视频播放方法、装置及电子设备,属于通信技术领域。该方法包括:获取目标视频的视频帧数据和视频帧中目标对象的位移数据;在该位移数据指示该目标视频的第一视频帧和第二视频帧中目标对象的位移大于或等于预设值的情况下,解码该视频帧数据得到该第一视频帧和该第二视频帧,并按照预设规则插入第三视频帧;播放该第一视频帧、该第二视频帧和该第三视频帧。(The application discloses a video playing method and device and electronic equipment, and belongs to the technical field of communication. The method comprises the following steps: acquiring video frame data of a target video and displacement data of a target object in the video frame; under the condition that the displacement data indicate that the displacement of the target object in the first video frame and the second video frame of the target video is larger than or equal to a preset value, decoding the video frame data to obtain the first video frame and the second video frame, and inserting a third video frame according to a preset rule; and playing the first video frame, the second video frame and the third video frame.)

视频播放方法、装置及电子设备

技术领域

本申请属于通信技术领域,具体涉及一种视频播放方法、装置及电子设备。

背景技术

随着通信技术的发展,视频播放已成为电子设备的重要功能。

通常,由电子设备的中央处理器(central processing unit,CPU)处理视频。具体地,在用户选择待播放视频之后,CPU会根据用户操作获取待播放视频,再解码待播放视频得到视频帧,然后将视频帧发送至独显芯片,从而可以显示视频帧。

然而,由于待播放视频是由多个视频帧组成的,因此若CPU重复上述操作,则会导致CPU功耗较大,从而降低了设备系统性能。

发明内容

本申请实施例的目的是提供一种视频播放方法、装置及电子设备,能够解决由CPU处理视频会降低设备系统性能的问题。

第一方面,本申请实施例提供了一种视频播放方法。该方法包括:获取目标视频的视频帧数据和视频帧中目标对象的位移数据;在该位移数据指示该目标视频的第一视频帧和第二视频帧中目标对象的位移大于或等于预设值的情况下,解码该视频帧数据得到该第一视频帧和该第二视频帧,并按照预设规则插入第三视频帧;播放该第一视频帧、该第二视频帧和该第三视频帧。

第二方面,本申请实施例提供了一种视频播放装置。该装置包括:获取模块、第一处理模块、第二处理模块和播放模块。获取模块,用于获取目标视频的视频帧数据和视频帧中目标对象的位移数据;第一处理模块,用于在该位移数据指示该目标视频的第一视频帧和第二视频帧中目标对象的位移大于或等于预设值的情况下,解码该视频帧数据得到该第一视频帧和该第二视频帧;第二处理模块,用于按照预设规则插入第三视频帧;播放模块,用于播放该第一视频帧、该第二视频帧和该第三视频帧。

第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如第一方面提供的方法的步骤。

第四方面,本申请实施例提供了一种可读存储介质,可读存储介质上存储程序或指令,程序或指令被处理器执行时实现如第一方面提供的方法的步骤。

第五方面,本申请实施例提供了一种芯片,芯片包括处理器和通信接口,通信接口和所述处理器耦合,处理器用于运行程序或指令,实现如第一方面提供的方法。

在本申请实施例中,可以先获取目标视频的视频帧数据和视频帧中目标对象的位移数据;再在该位移数据指示该目标视频的第一视频帧和第二视频帧中目标对象的位移大于或等于预设值的情况下,解码该视频帧数据得到该第一视频帧和该第二视频帧,并按照预设规则插入第三视频帧;然后播放该第一视频帧、该第二视频帧和该第三视频帧。通过该方案,当目标视频的第一视频帧和第二视频帧中目标对象的位移较大时,由于仅需解码该第一视频帧和该第二视频帧,而无需解码目标对象的位移较小的视频帧,因此可以暂时将CPU从处理视频的任务中释放,降低了CPU功耗,提升了设备系统性能;另外,通过插入第三视频帧,可以弥补不解码目标对象的位移较小的视频帧造成的损失,从而保证了视频的播放质量。

附图说明

图1是本申请实施例提供的一种电子设备的架构示意图;

图2为本申请实施例提供的一种视频播放方法的流程图之一;

图3为本申请实施例提供的两个视频帧中的目标对象的示意图;

图4为本申请实施例提供的一种视频播放方法的流程图之二;

图5为本申请实施例提供的插帧操作的示意图之一;

图6为本申请实施例提供的插帧操作的示意图之二;

图7为本申请实施例提供的视频播放装置的结构示意图;

图8为本申请实施例提供的电子设备的硬件示意图之一;

图9为本申请实施例提供的电子设备的硬件示意图之二。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。

需要说明的是,本申请实施例中的标识用于指示信息的文字、符号、图像等,可以以控件或者其他容器作为显示信息的载体,包括但不限于文字标识、符号标识、图像标识。

本申请实施例提供一种视频播放方法、装置及电子设备,可以先获取目标视频的视频帧数据和视频帧中目标对象的位移数据;再在该位移数据指示该目标视频的第一视频帧和第二视频帧中目标对象的位移大于或等于预设值的情况下,解码该视频帧数据得到该第一视频帧和该第二视频帧,并按照预设规则插入第三视频帧;然后播放该第一视频帧、该第二视频帧和该第三视频帧。通过该方案,当目标视频的第一视频帧和第二视频帧中目标对象的位移较大时,由于仅需解码该第一视频帧和该第二视频帧,而无需解码目标对象的位移较小的视频帧,因此可以暂时将CPU从处理视频的任务中释放,降低了CPU功耗,提升了设备系统性能;另外,通过插入第三视频帧,可以弥补不解码目标对象的位移较小的视频帧造成的损失,从而保证了视频的播放质量。

下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的视频播放方法、装置及电子设备进行详细地说明。

如图1所示,为本申请实施例提供的一种电子设备的架构示意图。该电子设备包括CPU、独显芯片和显示屏等。

本申请实施例中,CPU不但具备录制视频、播放视频、视频聊天、蓝牙配对、通话、闹钟等传统功能,还可以用于获取视频帧数据和位移数据、解码视频帧数据、以及将位移数据和解码后得到的视频帧发送至独显芯片。

独显芯片包括位置控制器、缩放控制器、图帧处理器和显存等。其中,位置控制器可以用于控制图像的位置;缩放控制器可以用于控制图像的缩放;图帧处理器可以用于进行插帧动作;显存也叫做帧缓存,可以用于存储显卡芯片处理过或者即将提取的渲染数据。

如图2所示,本申请实施例提供一种视频播放方法。该视频播放方法可以包括下述的步骤201至步骤203。下面以该视频播放方法执行主体为如图1所示的电子设备为例进行说明。

步骤201、电子设备获取目标视频的视频帧数据和视频帧中目标对象的位移数据。

本申请实施例中,视频帧数据为对目标视频的视频帧压缩后得到的数据。位移数据为对目标视频的视频帧中的目标对象进行分析后得到的数据,该位移数据可以用于指示目标对象在视频帧中的位置矢量,例如在视频帧中的位置、在相邻视频帧之间移动相对位移等。

可选地,上述视频帧数据和位移数据可以为两组独立的数据,并打包成一组数据;或者,上述位移数据可以为编码后包含在视频帧数据中的数据。可以根据实际使用需求确定,本申请实施例不作限定。

可选地,上述目标视频可以为电子设备拍摄的视频,也可以为电子设备接收其他设备分享的视频,还可以为电子设备从服务器下载的视频等。

示例性的,以目标视频为手机拍摄的视频为例。在用户触发手机拍摄目标视频之后,手机可以开始录制目标视频,并分析录制的每个视频帧中运动对象的位置矢量(也称运动矢量),然后将得到的位移数据记录到视频帧数据中。如此,在用户想要观看目标视频时,手机可以响应于用户输入,根据视频帧数据和位移数据,播放目标视频。具体播放方式可以参照下述实施例中的描述,此处不予赘述。

可选地,上述目标对象可以为运动物体的图像,该运动物体可以为奔跑马匹、飞腾的小鸟、坠落的树叶、挥动的手臂、流动的泉水、闪烁的霓虹灯等任意可以运动的物体。可以理解的是,当电子设备拍摄视频时,若某物体发生移动,则该物体在视频帧中的相对位置也会发生变化,即,视频帧目标对象的位置矢量发生变化。

可选地,由于目标对象在视频帧中是通过颜色表示的,因此目标对象的位移数据可以为视频帧的颜色数据。

进一步地,上述视频帧的颜色数据可以为视频帧中像素点的像素值。

示例性的,如图3所示,1个圆圈代表1个像素点,第一视频帧和第二视频帧的图像宽度和图像高度均为10个像素点。第一视频帧的区域011的四个顶点的坐标分别是(2,2)、(4,2)、(2,4)、(4,4),且区域011的像素点的像素值均为a1;第二视频帧的区域012的四个顶点的坐标分别是(5,6)、(7,6)、(5,8)、(7,8),且区域012的像素点的像素值也均为a1。假设第一视频帧的区域011为目标对象,由于第一视频帧的区域011和第二视频帧的区域012的区域大小相同,且第一视频帧的区域011和第二视频帧的区域012包含的像素点的像素值相同,因此可以确定与第一视频帧相比,在第二视频帧中目标对象移动至区域012,即目标对象从区域011运动至区域012。

需要说明的是,上述图3是以区域011和区域012的所有像素点的像素值均为a1为例说明的,其并不对本申请实施例形成限定。可以理解,区域011和区域012中的各个像素点的像素值可以各不相同,但区域011和区域012对应的像素点的像素值需相同,例如区域011的像素点(2,2)和区域012的像素点(5,6)的像素值需相同。

步骤202、在该位移数据指示该目标视频的第一视频帧和第二视频帧中目标对象的位移大于或等于预设值的情况下,电子设备解码该视频帧数据得到该第一视频帧和该第二视频帧,并按照预设规则插入第三视频帧。

本申请实施例中,在执行主体为如图1所示的电子设备的情况下,上述步骤202具体可以通过下述的(1)至(4)实现。

(1)CPU根据位移数据,确定第一视频帧和第二视频帧中目标对象的位移大于或等于预设值。

(2)CPU解码视频帧数据得到该第一视频帧和该第二视频帧。

(3)CPU向独显芯片发送该第一视频帧、该第二视频帧、该第一视频帧和该第二视频帧中目标对象的位移。

(4)独显芯片根据该第一视频帧、该第二视频帧、该第一视频帧和该第二视频帧中目标对象的位移,获取第三视频帧。

示例性的,仍以上述图3为例。假设预设值为3个像素点。由于目标对象在横轴移动了3个像素点,在纵轴移动了4个像素点,那么目标对象的运动矢量为5个像素点。因此,CPU可以确定第一视频帧和第二视频帧中目标对象的位移大于预设值,那么可以认为目标对象发生较大位移。若第一视频帧和第二视频帧中目标对象的位移小于3个像素点,则认为目标对象没有发生位移。

可以理解的是,一方面,在确定第一视频帧和第二视频帧中目标对象的位移大于预设值的情况下,由于CPU仅需解码该第一视频帧和该第二视频帧,而无需解码目标对象的位移较小的视频帧,从而暂时将CPU从处理视频的任务中释放,进而CPU可以处理通话、闹钟等其他任务。另一方面,在独显芯片接收到CPU发动的该第一视频帧、该第二视频帧、该第一视频帧和该第二视频帧中目标对象的位移后,独显芯片可以进行插帧处理,以得到第三视频帧,从而可以弥补不解码目标对象的位移较小的视频帧造成的损失,从而保证了视频的播放质量。

需要说明的是,对于独显芯片获取第三视频帧的具体实施方式,可以参照下述实施例提供的两种视频插帧方式,此处不予赘述。

步骤203、电子设备播放该第一视频帧、该第二视频帧和该第三视频帧。

可选地,上述第一视频帧和第二视频帧可以分别为一个视频帧,第三视频帧可以一个视频帧或多个视频帧。

可选地,第一视频帧和第二视频帧可以为相邻的视频帧,也可以为不相邻的视频帧。具体地,若第一视频帧和第二视频帧为相邻的视频帧,则电子设备可以采用在第一视频帧和第二视频帧之后插入视频帧的插帧方式,以替代第二视频帧之后的视频帧;若第一视频帧和第二视频帧为不相邻的视频帧,例如第一视频帧和第二视频帧之间还有第四视频帧,则采用在第一视频帧和第二视频帧之间插入视频帧的插帧方式,以替代第四视频帧。需要说明的是,当采用的插帧方式不同时,视频帧的播放顺序也不相同,具体可以参照下述实施例中的描述,此处不予赘述。

本申请实施例提供一种视频播放方法,当目标视频的第一视频帧和第二视频帧中目标对象的位移较大时,由于仅需解码该第一视频帧和该第二视频帧,而无需解码目标对象的位移较小的视频帧,因此可以暂时将CPU从处理视频的任务中释放,降低了CPU功耗,提升了设备系统性能;另外,通过插入第三视频帧,可以弥补不解码目标对象的位移较小的视频帧造成的损失,从而保证了视频的播放质量。

可选地,上述目标视频可以包括M组视频帧数据,每组视频帧数据为N个视频帧的数据。具体地,每组视频帧数据为对N个视频帧压缩后得到的数据。其中,M为正整数,N为大于或等于2的整数。结合图2,如图4所示,上述步骤202可以通过下述的步骤202a和步骤202b实现,在上述步骤203之后还可以包括下述步骤204和步骤205。

步骤202a、在位移数据指示第i组视频帧数据的第一视频帧和第二视频帧中目标对象的位移大于或等于预设值的情况下,电子设备解码第i组视频帧数据得到该第一视频帧和该第二视频帧。

本申请实施例中,i为小于或等于M的正整数,i依次取值1、2……M。

步骤202b、电子设备按照预设规则插入第三视频帧。

步骤204、在位移数据指示第i+1组视频帧数据的第五视频帧和第六视频帧中目标对象的位移大于或等于预设值的情况下,解码该第i+1组视频帧数据得到该第五视频帧和该第六视频帧,并按照预设规则插入第七视频帧。

步骤205、电子设备播放该第五视频帧、该第六视频帧和该第七视频帧。

对于步骤204和步骤205具体实施方式,可以参照步骤202和步骤203,此处不予赘述。

下面以目标视频包括10组视频帧数据,且每组视频帧数据为对5帧视频压缩后得到的数据为例,对本申请提供的视频播放方法进行示例性说明。

当用户想要观看目标视频时,视频缓存区域中存储有第1组视频帧数据的5帧数据,CPU对这5帧数据进行检测。若检测到第1组视频帧数据的第2帧数据、第3帧数据、第4帧数据分别与第1帧数据中目标对象的位移小于预设值,且第5帧数据与第1帧数据中目标对象的位移大于或等于预设值,则CPU仅需解码第1帧数据与第5帧数据,得到第1视频帧和第5视频帧,并将第1视频帧、第5视频帧、第1视频帧和第5视频帧中目标对象的位移发送至独显芯片。然后,独显芯片可以根据第1视频帧、第5视频帧,将第1视频帧和第5视频帧中目标对象的位移,按照一定算法和位移比例进行插帧处理,在第1视频帧和第5视频帧之间插入第2视频帧、第3视频帧、第4视频帧。如此,显示屏可以依次显示第1视频帧、第2视频帧、第3视频帧、第4视频帧、第5视频帧。

在显示屏播放完成第1组视频帧数据的第5视频帧之后,可以通知CPU已完成视频插帧和播放任务。CPU可以继续处理视频缓存区域中存储的第2组视频帧数据的5帧数据。例如,若CPU检测到第2组视频帧数据的第2帧数据与第1帧数据中目标对象的位移大于或等于预设值,则CPU无需检测、解码第3帧数据、第4帧数据和第5帧数据,仅需解码第1帧数据与第1帧数据,得到第1视频帧和第2视频帧,并将第1视频帧、第2视频帧、第1视频帧和第2视频帧中目标对象的位移发送至独显芯片。然后,独显芯片可以根据第1视频帧、第2视频帧,将第1视频帧和第2视频帧中目标对象的位移,按照一定算法和位移比例进行插帧处理,在第1视频帧和第2视频帧之后插入第3视频帧、第4视频帧、第5视频帧。如此,显示屏可以依次显示第1视频帧、第2视频帧、第3视频帧、第4视频帧、第5视频帧。

在显示屏播放完成第2组视频帧数据的第5视频帧之后,可以通知CPU已完成视频插帧和播放任务。如此,CPU可以按照上述方式,继续对剩余的8组视频帧数据进行处理,直至所有帧播放结束。

本申请实施例提供的视频播放方法,应用于对视频分组处理的场景中,通过将目标视频划分为多组视频帧数据,可以使得CPU分批依次对视频帧进行解压等处理操作,并在对每组视频帧数据处理之后,暂时将CPU从处理视频的任务中释放,以处理通话、短信、邮件、蓝牙等其他常规任务,从而可以进一步提高设备性能。

可选地,本申请实施例提供了两种视频插帧方式:

第1种视频插帧方式

第一视频帧和第二视频帧为相邻的视频帧,此时采用在第一视频帧和第二视频帧之后插入视频帧的插帧方式。上述步骤202可以通过下述步骤A1和步骤A2实现。相应的,上述步骤203可以通过下述步骤A3实现。

步骤A1、在位移数据指示目标视频的第一视频帧和第二视频帧中目标对象的位移大于或等于预设值的情况下,电子设备解码视频帧数据得到该第一视频帧和该第二视频帧。

步骤A2、电子设备根据该第一视频帧和该第二视频帧中目标对象的位移,在该第二视频帧后插入第三视频帧。

可选地,第三视频帧和第二视频帧中目标对象的位移大于或等于预设值。可以理解,由于目标视频的第一视频帧和第二视频帧中目标对象的位移大于或等于预设值,因此在第二视频帧之后的视频帧中目标对象发生较大位移的可能性较大,将第三视频帧和第二视频帧中目标对象的位移设置为大于或等于预设值,可以更为准确地预测在第二视频帧之后的视频帧中目标对象的运动趋势。

步骤A3、电子设备依次播放第一视频帧、第二视频帧和第三视频帧。

一种可选的实现方式为,在电子设备解码视频帧数据得到第一视频帧和该第二视频帧后,立即播放第一视频帧和该第二视频帧;在播放该第一视频帧和该第二视频帧的过程中,根据该第一视频帧和该第二视频帧中目标对象的位移,在该第二视频帧后插入第三视频帧,从而在播放完成该第二视频帧后,播放第三视频帧。

另一种可选的实现方式为,在电子设备解码视频帧数据得到第一视频帧和该第二视频帧后,根据第一视频帧和第二视频帧中目标对象的位移,在该第二视频帧后插入第三视频帧。然后再播放第一视频帧、第二视频帧和第三视频帧。

示例性的,仍以目标视频包括10组视频帧数据,且每组视频帧数据为对5帧视频压缩后得到的数据为例。假设预设值为3个像素点。如图5所示,CPU可以检测视频缓存区域中存储的第1组视频帧数据的5帧数据。若CPU检测到第1组视频帧数据的第2帧数据与第1帧数据中目标对象的位移为5个像素点,则CPU无需检测、解码其他帧数据,仅需解码第1帧数据与第2帧数据,得到第1视频帧和第2视频帧,并将第1视频帧、第2视频帧、第1视频帧和第2视频帧中目标对象的位移发送至独显芯片,以通知独显芯片进行视频播放和插帧处理。如此,CPU可以释放视频播放任务去处理通话、短信、邮件、蓝牙等其他事情。

在独显芯片接收到第1视频帧、第2视频帧之后,可以直接显示第1视频帧和第2视频帧。同时,独显芯片可以根据第1视频帧、第2视频帧,将第1视频帧和第2视频帧中目标对象的位移,按照一定算法和位移比例进行插帧处理,例如,将第2视频帧中的目标对象继续位移5个像素点得到第3视频帧,再将第3视频帧中的目标对象继续位移5个像素点得到第4视频帧,再将第4视频帧中的目标对象继续位移5个像素点得到第5视频帧。如此,在第2视频帧播放完成后,显示屏可以继续播放第3视频帧、第4视频帧、第5视频帧。

本申请实施例提供的视频播放方法,应用于检测到前两帧视频帧中目标对象发生较大位移的场景中,根据这两帧视频帧中目标对象的位移,可以预估在这两帧之后目标对象的位移趋势,因此可以在相邻的视频帧之后插入视频帧,从而使得CPU无需解码两帧视频帧后的视频帧,暂时将CPU从处理视频的任务中释放,以处理通话、短信、邮件、蓝牙等其他常规任务。

第2种视频插帧方式

第一视频帧和第二视频帧为不相邻的视频帧,此时采用在第一视频帧和第二视频帧之间插入视频帧的插帧方式。上述步骤202可以通过下述步骤B1和步骤B2实现。相应的,上述步骤203可以通过下述步骤B3实现。

步骤B1、在位移数据指示目标视频的第一视频帧和第二视频帧中目标对象的位移大于或等于预设值,且第一视频帧和第四视频帧中目标对象的位移小于预设值的情况下,电子设备解码视频帧数据得到该第一视频帧和该第二视频帧。

步骤B2、电子设备根据该第一视频帧和该第二视频帧中目标对象的位移,在该第一视频帧和该第二视频帧之间插入第三视频帧。

可选地,第一视频帧和第三视频帧中目标对象的位移小于预设值。可以理解的是,由于第一视频帧和第四视频帧中目标对象的位移小于预设值,因此,第三视频帧作为第四视频帧的替代帧,若满足第三视频帧和第一视频帧中目标对象的位移小于预设值,则使得第四视频帧中目标对象的位置矢量更准确。

步骤B3、电子设备依次播放第一视频帧、第三视频帧和第二视频帧。

一种可选的实现方式为,在电子设备解码视频帧数据得到第一视频帧和第二视频帧后,立即播放该第一视频帧;在播放该第一视频帧的过程中,根据该第一视频帧和该第二视频帧中目标对象的位移,在该第一视频帧和该第二视频帧之间插入第三视频帧,从而在播放完成该第一视频帧后,播放第三视频帧。之后再播放第二视频帧。

另一种可选的实现方式为,在电子设备解码视频帧数据得到第一视频帧和该第二视频帧后,根据第一视频帧和第二视频帧中目标对象的位移,在该第一视频帧和该第二视频帧之间插入第三视频帧,然后依次播放第一视频帧、第三视频帧和第二视频帧。

示例性的,仍以目标视频包括10组视频帧数据,且每组视频帧数据为对5帧视频压缩后得到的数据为例。假设预设值为4个像素点。如图6所示,CPU可以检测视频缓存区域中存储的第1组视频帧数据的5帧数据。若CPU检测到第1组视频帧数据的第1帧数据与第2帧数据、第3帧数据、第4帧数据中目标对象位移均小于4个像素点,第1帧数据与第5帧数据中目标对象的位移为4个像素点,则CPU无需解码第2帧数据、第3帧数据、第4帧数据,仅需解码第1帧数据与第5帧数据,得到第1视频帧和第5视频帧,并将第1视频帧、第5视频帧、第1视频帧和第5视频帧中目标对象的位移发送至独显芯片,以通知独显芯片进行视频播放和插帧处理。如此,CPU可以释放视频播放任务去处理通话、短信、邮件、蓝牙等其他事情。

在独显芯片接收到第1视频帧、第5视频帧之后,可以直接显示第1视频帧。同时,独显芯片可以根据第1视频帧、第5视频帧,将第1视频帧和第5视频帧中目标对象的位移,按照一定算法和位移比例进行插帧处理,例如,在第1视频帧的基础上,将第1视频帧中的目标对象继续位移1个像素点得到第2视频帧,再将第2视频帧中的目标对象继续位移1个像素点得到第3视频帧,再将第3视频帧中的目标对象继续位移1个像素点得到第4视频帧。如此,在第1视频帧播放完成后,显示屏可以继续依次播放第2视频帧、第3视频帧、第4视频帧、第5视频帧。

本申请实施例提供的视频播放方法,应用于检测到间隔的视频帧中目标对象发生较大位移的场景中,根据这两帧视频帧中目标对象的位移,可以预估在这两帧之间目标对象的位移趋势,因此可以在两个视频帧之间插入视频帧,从而使得CPU无需解码两帧视频帧之间的视频帧,暂时将CPU从处理视频的任务中释放,以处理通话、短信、邮件、蓝牙等其他常规任务。

需要说明的是,本申请实施例提供的视频播放方法,执行主体可以为视频播放装置,或者该视频播放装置中的用于执行视频播放方法的控制模块。本申请实施例中以视频播放装置执行视频播放方法为例,说明本申请实施例提供的视频播放装置。

如图7所示,本申请实施例提供一种视频播放装置700。该视频播放装置700包括获取模块701、第一处理模块702、第二处理模块703和播放模块704。

获取模块701,可以用于获取目标视频的视频帧数据和视频帧中目标对象的位移数据。第一处理模块702,可以用于在该位移数据指示该目标视频的第一视频帧和第二视频帧中目标对象的位移大于或等于预设值的情况下,解码该视频帧数据得到该第一视频帧和该第二视频帧。第二处理模块703,可以用于按照预设规则插入第三视频帧。播放模块704,可以用于播放该第一视频帧、该第二视频帧和该第三视频帧。

可选地,第一视频帧和第二视频帧为相邻的视频帧。第二处理模块703,具体可以用于根据第一视频帧和第二视频帧中目标对象的位移,在第二视频帧后插入第三视频帧。播放模块704,具体可以用于依次播放该第一视频帧、该第二视频帧和该第三视频帧。

可选地,第一视频帧和第二视频帧之间还有第四视频帧。第一处理模块702,具体可以用于在位移数据指示第一视频帧和第二视频帧中目标对象的位移大于或等于预设值,且第一视频帧和第四视频帧中目标对象的位移小于预设值的情况下,解码视频帧数据得到该第一视频帧和该第二视频帧。第二处理模块703,具体可以用于根据该第一视频帧和该第二视频帧中目标对象的位移,在该第一视频帧和该第二视频帧之间插入第三视频帧。播放模块704,具体可以用于依次播放该第一视频帧、该第三视频帧和该第二视频帧。

可选地,第一处理模块702,具体可以用于根据位移数据,确定第一视频帧和第二视频帧中目标对象的位移大于或等于预设值;并解码视频帧数据得到该第一视频帧和该第二视频帧;以及向第二处理模块703发送该第一视频帧、该第二视频帧、该第一视频帧和该第二视频帧中目标对象的位移。第二处理模块703,具体可以用于根据该第一视频帧、该第二视频帧、该第一视频帧和该第二视频帧中目标对象的位移,获取第三视频帧。

可选地,目标视频包括M组视频帧数据,每组视频帧数据为N个视频帧的数据,M为正整数,N为大于或等于2的整数。第一处理模块702,具体可以用于在位移数据指示第i组视频帧数据的第一视频帧和第二视频帧中目标对象的位移大于或等于预设值的情况下,解码该第i组视频帧数据得到该第一视频帧和该第二视频帧,i为小于或等于M的正整数。

第一处理模块702,还可以用于在播放第一视频帧、第二视频帧和第三视频帧之后,在位移数据指示第i+1组视频帧数据的第五视频帧和第六视频帧中目标对象的位移大于或等于预设值的情况下,解码该第i+1组视频帧数据得到该第五视频帧和该第六视频帧。

第二处理模块703,还可以用于按照预设规则插入第七视频帧。

播放模块704,还可以用于播放第五视频帧、第六视频帧和第七视频帧。

本申请实施例提供一种视频播放装置,当目标视频的第一视频帧和第二视频帧中目标对象的位移较大时,由于该装置仅需解码该第一视频帧和该第二视频帧,而无需解码目标对象的位移较小的视频帧,因此可以暂时将CPU从处理视频的任务中释放,降低了CPU功耗,提升了设备系统性能;另外,通过插入第三视频帧,可以弥补不解码目标对象的位移较小的视频帧造成的损失,从而保证了视频的播放质量。

本申请实施例中的视频播放装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(NetworkAttached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。

本申请实施例中的视频播放装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。

本申请实施例提供的视频播放装置能够实现图1至图6的方法实施例实现的各个过程,为避免重复,这里不再赘述。

可选地,如图8所示,本申请实施例还提供一种电子设备800,包括处理器801,存储器802,存储在存储器802上并可在处理器801上运行的程序或指令,该程序或指令被处理器801执行时实现上述视频播放方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

需要说明的是,本申请实施例中的电子设备包括上述移动电子设备和非移动电子设备。

图9为实现本申请实施例的一种电子设备的硬件结构示意图。

该电子设备100包括但不限于:射频单元101、网络模块102、音频输出单元103、输入单元104、传感器105、显示单元106、用户输入单元107、接口单元108、存储器109、以及处理器110等部件。

本领域技术人员可以理解,电子设备100还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器110逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图9中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。

其中,处理器110,可以用于获取目标视频的视频帧数据和视频帧中目标对象的位移数据,并在该位移数据指示该目标视频的第一视频帧和第二视频帧中目标对象的位移大于或等于预设值的情况下,解码该视频帧数据得到该第一视频帧和该第二视频帧。

独显芯片1061,可以用于按照预设规则插入第三视频帧。

显示面板1062,可以用于播放第一视频帧、第二视频帧和第三视频帧。

可选地,第一视频帧和第二视频帧为相邻的视频帧。独显芯片1061,具体可以用于根据第一视频帧和第二视频帧中目标对象的位移,在第二视频帧后插入第三视频帧。显示面板1062,具体可以用于依次播放该第一视频帧、该第二视频帧和该第三视频帧。

可选地,第一视频帧和第二视频帧之间还有第四视频帧。处理器110,具体可以用于在位移数据指示第一视频帧和第二视频帧中目标对象的位移大于或等于预设值,且第一视频帧和第四视频帧中目标对象的位移小于预设值的情况下,解码视频帧数据得到该第一视频帧和该第二视频帧。独显芯片1061,具体可以用于根据该第一视频帧和该第二视频帧中目标对象的位移,在该第一视频帧和该第二视频帧之间插入第三视频帧。显示面板1062,具体可以用于依次播放该第一视频帧、该第三视频帧和该第二视频帧。

可选地,处理器110,具体可以用于根据位移数据,确定第一视频帧和第二视频帧中目标对象的位移大于或等于预设值;并解码视频帧数据得到该第一视频帧和该第二视频帧;以及向独显芯片1061发送该第一视频帧、该第二视频帧、该第一视频帧和该第二视频帧中目标对象的位移。独显芯片1061,具体可以用于根据该第一视频帧、该第二视频帧、该第一视频帧和该第二视频帧中目标对象的位移,获取第三视频帧。

可选地,目标视频包括M组视频帧数据,每组视频帧数据为N个视频帧的数据,M为正整数,N为大于或等于2的整数。处理器110,具体可以用于在位移数据指示第i组视频帧数据的第一视频帧和第二视频帧中目标对象的位移大于或等于预设值的情况下,解码该第i组视频帧数据得到该第一视频帧和该第二视频帧,i为小于或等于M的正整数。

处理器110,还可以用于在播放第一视频帧、第二视频帧和第三视频帧之后,在位移数据指示第i+1组视频帧数据的第五视频帧和第六视频帧中目标对象的位移大于或等于预设值的情况下,解码该第i+1组视频帧数据得到该第五视频帧和该第六视频帧。

独显芯片1061,还可以用于按照预设规则插入第七视频帧。

显示面板1062,还可以用于播放第五视频帧、第六视频帧和第七视频帧。

本申请实施例提供一种电子设备,当目标视频的第一视频帧和第二视频帧中目标对象的位移较大时,由于该设备仅需解码该第一视频帧和该第二视频帧,而无需解码目标对象的位移较小的视频帧,因此可以暂时将CPU从处理视频的任务中释放,降低了CPU功耗,提升了设备系统性能;另外,通过插入第三视频帧,可以弥补不解码目标对象的位移较小的视频帧造成的损失,从而保证了视频的播放质量。

应理解的是,本申请实施例中,输入单元104可以包括图形处理器(graphicsprocessing unit,GPU)1041和麦克风1042,图形处理器1041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元106可包括独显芯片1061和显示面板1062,可以采用液晶显示器、有机发光二极管等形式来配置显示面板1062。用户输入单元107包括触控面板1071以及其他输入设备1072。触控面板1071,也称为触摸屏。触控面板1071可包括触摸检测装置和触摸控制器两个部分。其他输入设备1072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器109可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器110可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。

本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述视频播放方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等。

本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述视频播放方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种数据传输方法、装置、设备及介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类