视频处理方法及装置与流程

文档序号:11961076阅读:230来源:国知局
视频处理方法及装置与流程

本发明涉及视频处理技术,尤其涉及一种视频处理方法及装置。



背景技术:

随着智能电子设备的飞速发展,视频录制功能已成为主流智能电子设备的必备功能。根据用户的使用需求,很多情况下需要在视频录制过程中给录制的视频添加一些额外信息。并在将录制的原始视频和额外信息合成为一个完整的视频文件,以供后期使用。例如:在记录汽车行驶数据时,为了方便后续观看录制视频时了解汽车在行驶过程对应的行驶时间、所在位置以及行驶速度,需要在录制的视频中添加时间、经纬度或者速度等信息,将原始的录制视频与所述录制时间信息、经纬度信息或者速度信息合成为一个视频文件。

现有技术中,对录制视频添加额外信息的方式是:获取终端硬件层录制的原始图像帧,将原始图像帧与需要添加的额外信息数据帧进行合成后进行编码,形成合成后的视频文件。

但是,由于现有技术中,是直接对终端硬件层录制的原始图像帧数据进行处理,硬件层的数据合成过程中需要计算所述额外信息数据帧添加到所述原始图像帧中的像素点位置,数据合成过程比较复杂,降低了录制的视频与额外信息进行合成时的效率。



技术实现要素:

本发明提供一种视频处理方法及装置,用于解决现有技术中将录制的视频与需要添加的额外信息进行合成时的效率较低的问题。

第一方面,本发明实施例提供一种视频处理方法,包括:

获取录制中视频的当前图像帧;

对所述当前图像帧进行封装,得到所述当前图像帧的图层数据;

根据所述当前图像帧的录制时间信息,获取所述录制时间信息对应的模板图层数据;

将所述当前图像帧的图层数据与所述模板图层数据进行叠加,得到合成图层数据;

对所述合成图层数据进行编码,得到待输出图像数据。

可选地,所述根据所述当前图像帧的录制时间信息,获取所述录制时间信息对应的模板图层数据之前,还包括:

接收用户输入的模板图层选项,其中,所述模板图层选项用于指示录制时间信息与模板图层数据的映射关系。

可选地,所述根据所述当前图像帧的录制时间信息,获取所述录制时间信息对应的模板图层数据,包括:

根据所述当前图像帧的录制时间信息、以及所述模板图层选项,绘制所述录制时间信息对应的模板图层数据。

可选地,所述将所述当前图像帧的图层数据与所述模板图层数据进行叠加,包括:

将所述当前图像帧的图层数据与所述模板图层数据进行时间同步,得到同步后的所述当前图像帧的图层数据与所述模板图层数据;

将所述同步后的所述当前图像帧的图层数据与所述模板图层数据进行叠加。

可选地,所述将所述当前图像帧的图层数据与所述模板图层数据进行叠加,包括:

创建虚拟显示器;

在所述虚拟显示器内将所述当前图像帧的图层数据与所述模板图层数据进行叠加。

第二方面,本发明实施例提供一种视频处理装置,包括:

获取模块,用于获取录制中视频的当前图像帧;

封装模块,用于对所述当前图像帧进行封装,得到所述当前图像帧的图层数据;

所述获取模块,还用于根据所述当前图像帧的录制时间信息,获取所述录制时间信息对应的模板图层数据;

数据处理模块,用于将所述当前图像帧的图层数据与所述模板图层数据进行叠加,得到合成图层数据;

编码模块,用于对所述合成图层数据进行编码,得到待输出图像数据。

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

接收模块,用于在所述获取模块根据所述当前图像帧的录制时间信息,获取所述录制时间信息对应的模板图层数据之前,接收用户输入的模板图层选项,其中,所述模板图层选项用于指示录制时间信息与模板图层数据映射关系。

可选地,所述获取模块,具体用于:

根据所述当前图像帧的录制时间信息、以及所述模板图层选项,绘制所述录制时间信息对应的模板图层数据。

可选地,所述数据处理模块,具体用于:

将所述当前图像帧的图层数据与所述模板图层数据进行时间同步,得到同步后的所述当前图像帧的图层数据与所述模板图层数据;

将所述同步后的所述当前图像帧的图层数据与所述模板图层数据进行叠加。

可选地,所述数据处理模块,具体用于:

创建虚拟显示器;

在所述虚拟显示器内将所述当前图像帧的图层数据与所述模板图层数据进行叠加。

本发明实施例提供的视频处理方法即装置,通过将获取到的视频图像帧封装为图层数据,并与应用程序通过调用所述电子设备系统的标准接口绘制得到的模板图层数据进行叠加,可以提高录制中视频数据与额外添加的模板图层数据的合成效率,并且,由于直接通过调用电子设备系统的标准接口绘制所述模板图层数据,所述模板图层数据的类型可以根据需求定制,能够满足视频合成的多样化需求。

附图说明

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

图1为本发明实施例视频处理方法的流程示意图;

图2为本发明实施例视频处理方法的另一种流程示意图;

图3为本发明实施例绘制模板图层数据的过程示意图;

图4为本发明实施例视频处理装置的结构示意图。

具体实施方式

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

现有技术中通过获取硬件层的原始视频图像帧与添加的额外信息的数据帧进行合成的过程中,需要计算额外信息的数据帧添加到所述原始视频图像帧的像素点位置,过程复杂,视频数据合成效率较低;并且,由于现有技术是通过在硬件层实施视频数据与额外信息的合成,而只有特定的某些类型的额外信息才能实现在硬件层与所述原始视频图像帧进行合成,例如用于显示录制时间信息的数字数据。因此,所述原始视频图像帧能够添加的额外信息的类型比较单一,难以满足视频合成的多样化需求。

针对现有技术的上述问题,本发明实施例提供一种视频处理方法及装置,用以提供一种提高视频录制过程中对原始视频图像帧与额外信息数据帧进行合成时的合成效率。

下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。

图1为本发明实施例视频处理方法的流程示意图。图2为本发明实施例视频处理方法的另一种流程示意图。本实施例的执行主体可以是具有摄像功能的电子设备,例如照相机、摄像机、智能手机、行车记录仪等。本发明实施例涉及的是具有摄像功能的电子设备在录制视频的过程中对录制的原始视频数据及额外信息数据进行叠加的过程。如图1及图2所示,本发明实施例提供的视频处理方法,可以包括:

S101:获取录制中视频的当前图像帧;

具体地,当用户通过所述具有摄像功能的电子设备录制视频时,通过所述电子设备的视频数据采集模块获取录制的视频的当前图像帧。所述图像帧为所述电子设备的摄像元件直接输出的颜色编码YUV(其中“Y”表示明亮度,即灰阶值,“U”和“V”表示色度)帧。获取所述图像帧的方式为本领域的技术人员所熟知的,在此不再赘述。

S102:对所述当前图像帧进行封装,得到所述当前图像帧的图层数据;

具体地,将获取到的所述当前图像帧进行封装,将所述图像帧封装为所述电子设备的显示元件(例如显卡)可以识别的数据形式,得到所述当前图像帧的图层数据。

S103:根据所述当前图像帧的录制时间信息,获取所述录制时间信息对应的模板图层数据。

具体地,所述模板图层数据是由所述电子设备上的模板绘制模块调用所述电子设备系统的标准绘图接口绘制得到的。所述电子设备系统可以为安卓系统。针对不同应用的视频录制合成需求,需要添加的模板图层数据不同,需要调用的标准绘图接口也不同。具体需要调用的标准绘图接口可以根据用户的使用需求进行选择。例如:用户可以选择通过应用程序“美拍”实现视频录制,并在视频录制过程中添加预设模板。则所述模板图层数据即可调用所述预设模板对应的标准绘图接口,绘制与所述预设模板对应的所述模板图层数据。

所述根据所述当前图像帧的录制时间信息,获取所述录制时间信息对应的模板图层数据之前,还包括:

接收用户输入的模板图层选项,其中,所述模板图层选项用于指示录制时间信息与模板图层数据的映射关系。

具体地,用户可以提前对所述模板图层选项进行设置。例如,可以设置所述模板图层选项为“5s-花”,表示当所述电子设备录制到第5秒钟时,需要在所述当前图像帧的图层数据上添加的模板图层数据为一朵花。通过设置不同的模板图层选项,并调用对应的所述模板图层数据,即可以为所述当前图像帧的图层数据添加预期的水印效果。

所述根据所述当前图像帧的录制时间信息,获取所述录制时间信息对应的模板图层数据,包括:

根据所述当前图像帧的录制时间信息、以及所述模板图层选项,绘制所述录制时间信息对应的模板图层数据。

S104:将所述当前图像帧的图层数据与所述模板图层数据进行叠加,得到合成图层数据;

具体地,所述将所述当前图像帧的图层数据与所述模板图层数据进行叠加,包括:

将所述当前图像帧的图层数据与所述模板图层数据进行时间同步,得到同步后的所述当前图像帧的图层数据与所述模板图层数据;

将所述同步后的所述当前图像帧的图层数据与所述模板图层数据进行叠加。

具体地,所述将所述当前图像帧的图层数据与所述模板图层数据进行叠加,包括:

创建虚拟显示器;

在所述虚拟显示器内将所述当前图像帧的图层数据与所述模板图层数据进行叠加。

图3为本发明实施例绘制模板图层数据的过程示意图。

请参阅图3,具体地,在所述虚拟显示器内将所述当前图像帧的图层数据与所述模板图层数据进行叠加的实现方式如下:

首先创建一个图层,并利用窗口管理服务(windowmanagerservice)原理在所述图层上创建所述虚拟显示器,所述模板绘制模块通过调用安卓系统的标准绘图接口在所述虚拟显示器上实现应用界面UI的绘制,从而得到所述模板图层数据。所述虚拟显示器只在程序中进行虚拟创建和维护,并不显示到所述电子设备上。将获取到的所述当前图像帧的图层数据与所述模板图层数据同时显示到所述虚拟显示器上,由数据混合模块对所述当前图像帧的图层数据与所述模板图层数据进行叠加,得到所述合成图层数据。

具体地,所述将所述当前图像帧的图层数据与所述模板图层数据进行叠加,是通过以下方式实现的:

将所述当前图像帧的图层数据与所述模板图层数据进行时间同步,得到同步后的所述当前图像帧的图层数据与所述模板图层数据;

将所述同步后的所述当前图像帧的图层数据与所述模板图层数据进行叠加。

通过将所述当前图像帧的图层数据与所述模板图层数据进行时间同步,可以保证输出的所述模板图层数据在预设的录制时间与所述当前图像帧的图层数据进行叠加,得到预期的叠加效果。

在此需要说明的是,摄像元件输出的所述录制中视频的前图像帧的帧率通常小于等于30帧/秒,由于所述电子设备通过所述系统标准接口绘制的所述模板图层数据的输出速率大于所述摄影元件录制的所述当前图像帧的图层数据的输出速率,为了保证数据输出的同步性,保证得到预期的视频数据叠加效果,可以设置所述摄像元件输出一帧数据后,再调用所述系统的标准接口绘制所述模板图层数据。

另外,由于摄像元件输出的所述录制中视频的前图像帧的帧率小于等于30帧/秒,对所述当前图像帧的图层数据和所述模板图层数据进行叠加的时间需要设置为小于等于330毫秒,以避免后续输入的数据积压,导致无法按时提供用于编码的所述合成图层数据。

S105:对所述合成图层数据进行编码,得到待输出图像数据。

完成对所述当前图像帧的图层数据和所述模板图层数据的叠加过程后,将所述合成图层数据传送给所述电子设备的编码器,所述编码器对所述合成图层数据进行编码后得到所述待输出图像数据。

具体地,所述方法还包括,获取音频数据采集模块采集到的音频数据,并通过所述编码器对所述音频数据进行编码,得到待输出音频数据。

通过多媒体混合接口将所述待输出图像数据与所述待输出音频数据进行混合封装,输出最终的视频文件。

需要说明的是,所述音频数据采集模块采集音频数据时,可以与所述视频数据采集模块同时启动,也可以根据所述摄像元件的帧率,晚一帧时间启动。

本发明实施例提供的视频处理方法,通过获取录制中视频的当前图像帧,对所述当前图像帧进行封装,得到所述当前图像帧的图层数据,根据所述当前图像帧的录制时间信息,获取所述录制时间信息对应的模板图层数据,将所述当前图像帧的图层数据与所述模板图层数据进行叠加,得到合成图层数据,对所述合成图层数据进行编码,得到待输出图像数据。采用本发明实施例提供的视频处理方法,通过将获取到的视频图像帧封装为图层数据,并与应用程序通过调用所述电子设备系统的标准接口绘制得到的模板图层数据进行叠加,可以提高录制中视频数据与额外添加的模板图层数据的合成效率,并且,由于直接通过调用电子设备系统的标准接口绘制所述模板图层数据,所述模板图层数据的类型可以根据需求定制,能够满足视频合成的多样化需求。

实施例二

图4为本发明实施例视频处理装置的结构示意图。

请参阅图4,本发明实施例还提供一种视频处理装置,包括:

获取模块410,用于获取录制中视频的当前图像帧;

封装模块420,用于对所述当前图像帧进行封装,得到所述当前图像帧的图层数据;

所述获取模块410,还用于根据所述当前图像帧的录制时间信息,获取所述录制时间信息对应的模板图层数据;

数据处理模块430,用于将所述当前图像帧的图层数据与所述模板图层数据进行叠加,得到待输出图像帧。

编码模块440,用于对所述合成图层数据进行编码,得到待输出图像数据。

在上述实施例的基础上,进一步地,所述装置还包括:

接收模块450,用于在所述获取模块根据所述当前图像帧的录制时间信息,获取所述录制时间信息对应的模板图层数据之前,接收用户输入的模板图层选项,其中,所述模板图层选项用于指示录制时间信息与模板图层数据映射关系。

在上述实施例的基础上,进一步地,所述获取模块410,具体用于:

根据所述当前图像帧的录制时间信息、以及所述模板图层选项,绘制所述录制时间信息对应的模板图层数据。

在上述实施例的基础上,进一步地,所述数据处理模块430,具体用于:

将所述当前图像帧的图层数据与所述模板图层数据进行叠加,包括:

将所述当前图像帧的图层数据与所述模板图层数据进行时间同步,得到同步后的所述当前图像帧的图层数据与所述模板图层数据;

将所述同步后的所述当前图像帧的图层数据与所述模板图层数据进行叠加。

在上述实施例的基础上,进一步地,所述数据处理模块430,具体用于:

创建虚拟显示器;

在所述虚拟显示器内将所述当前图像帧的图层数据与所述模板图层数据进行叠加。

本发明实施例二提供的图像处理装置,用于执行实施例一提供的图像处理方法,其具体实现原理及技术效果与方法实施例类似,在此不再赘述。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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