首页 / 专利库 / 电脑编程 / 原始图像文件 / 移动终端及视频制作方法

移动终端及视频制作方法

阅读:509发布:2020-05-08

专利汇可以提供移动终端及视频制作方法专利检索,专利查询,专利分析的服务。并且本 发明 是关于一种移动终端及视频制作方法,涉及互联网技术领域,用以解决 现有技术 中存在进行人脸视频制作时人脸在图片中的 位置 不同容易导致制作出来的视频观赏性差的问题,本发明方法包括: 存储器 ,用于存储原始图片以及视频文件;处理器,用于将原始图片转换为纹理图片;根据原始图片中人脸的区域信息,确定纹理图片中包含人脸的图像数据;根据移动终端的显示屏的尺寸,确定人脸在显示屏的中心位置处的位置信息;将位置信息和包含人脸的图像数据绘制到 编码器 中生成视频文件。由于本发明 实施例 将图片中的人脸的区域的图像数据以及人脸在显示屏的中心位置处的位置信息绘制到编码器中,可以将图片以人脸居中的方式制作视频,提高了视频的观赏性。,下面是移动终端及视频制作方法专利的具体信息内容。

1.一种移动终端,其特征在于,包括:处理器和存储器
所述存储器,用于存储原始图片以及视频文件;
所述处理器,用于将原始图片转换为纹理图片;
根据所述原始图片中人脸的区域信息,确定所述纹理图片中包含人脸的图像数据;
根据移动终端的显示屏的尺寸,确定人脸在所述显示屏的中心位置处的位置信息;
将所述位置信息和所述包含人脸的图像数据绘制到编码器中生成视频文件。
2.根据权利要求1所述的移动终端,其特征在于,所述处理器具体用于:
根据预设的视频动画效果,调整所述纹理图片中包含人脸的图像数据;
将所述位置信息和调整后的图像数据绘制到编码器中生成视频文件。
3.根据权利要求2所述的移动终端,其特征在于,所述处理器具体用于:
所述图像数据包括:图像尺寸;
根据预设的视频动画效果,确定所述纹理图片对应的动画效果;
根据形成所述纹理图片对应的动画效果所需的图片数量,复制所述纹理图片中包含人脸的图像数据,得到多个图像数据;
根据所述纹理图片对应的动画效果,确定形成所述纹理图片对应的动画效果所需的每一张图片的尺寸信息;
根据所述每一张图片的尺寸信息,调整多个图像数据中的图像尺寸。
4.根据权利要求1所述的移动终端,其特征在于,所述处理器具体用于:
识别原始图片的人脸的位置,并根据所述原始图片的人脸的位置得到人脸框;
若原始图片中包括一个人脸框,则根据人脸框的边与原始图片对应的边的最短距离,确定原始图片中的人脸的区域信息;或
若原始图片中包括多个人脸框,则根据最大的人脸框的边与原始图片对应的边的最短距离,确定原始图片中的人脸的区域信息。
5.根据权利要求1~4任一项所述的移动终端,其特征在于,所述处理器具体用于:
根据所述原始图片中人脸的区域信息,通过OpenGL三维图像处理库确定所述纹理图片中包含人脸的图像数据;
将所述位置信息和所述包含人脸的图像数据绘制到编码器中的虚拟显示屏上,以使编码器将虚拟显示屏上的图像数据写入到视频文件。
6.一种视频制作方法,其特征在于,应用于移动终端中,包括:
将原始图片转换为纹理图片;
根据所述原始图片中人脸的区域信息,确定所述纹理图片中包含人脸的图像数据;
根据移动终端的显示屏的尺寸,确定人脸在所述显示屏的中心位置处的位置信息;
将所述位置信息和所述包含人脸的图像数据绘制到编码器中生成视频文件。
7.根据权利要求6所述的视频制作方法,其特征在于,所述将所述位置信息和所述包含人脸的图像数据绘制到编码器中生成视频文件之前,所述方法还包括:
根据预设的视频动画效果,调整所述纹理图片中包含人脸的图像数据;
所述将所述位置信息和所述包含人脸的图像数据绘制到编码器中生成视频文件,包括:
将所述位置信息和调整后的图像数据绘制到编码器中生成视频文件。
8.根据权利要求7所述的视频制作方法,其特征在于,所述图像数据包括:图像尺寸;
所述根据预设的视频动画效果,调整所述纹理图片中包含人脸的图像数据,包括:
根据预设的视频动画效果,确定所述纹理图片对应的动画效果;
根据形成所述纹理图片对应的动画效果所需的图片数量,复制所述纹理图片中包含人脸的图像数据,得到多个图像数据;
根据所述纹理图片对应的动画效果,确定形成所述纹理图片对应的动画效果所需的每一张图片的尺寸信息;
根据所述每一张图片的尺寸信息,调整多个图像数据中的图像尺寸。
9.根据权利要求6所述的视频制作方法,其特征在于,所述原始图片中的人脸的区域信息的获取方法,包括:
识别原始图片的人脸的位置,并根据所述原始图片的人脸的位置得到人脸框;
若原始图片中包括一个人脸框,则根据人脸框的边与原始图片对应的边的最短距离,确定原始图片中的人脸的区域信息;或
若原始图片中包括多个人脸框,则根据最大的人脸框的边与原始图片对应的边的最短距离,确定原始图片中的人脸的区域信息。
10.根据权利要求6~9任一所述的视频制作方法,其特征在于,所述根据所述原始图片中人脸的区域信息,确定所述纹理图片中包含人脸的图像数据,包括:
根据所述原始图片中人脸的区域信息,通过OpenGL三维图像处理库确定所述纹理图片中包含人脸的图像数据;
所述将所述位置信息和所述包含人脸的图像数据绘制到编码器中生成视频文件,包括:
将所述位置信息和所述包含人脸的图像数据绘制到编码器中的虚拟显示屏上,以使编码器将虚拟显示屏上的图像数据写入到视频文件。

说明书全文

移动终端及视频制作方法

技术领域

[0001] 本发明涉及互联网技术领域,尤其涉及一种移动终端及视频制作方法。

背景技术

[0002] 随着智能化的发展,在移动终端中存储的图片中人脸区域可以制作成视频,供用户观赏。目前,制作视频的流程为,从存储区域中获取图片数据,然后采用视频编码器将图片数据进行编码,生成视频图像。
[0003] 通常情况下,采用移动终端中的图片制作视频时,以人物为主要观赏对象。然而,在制作视频的原始图片中,有一些图片中的人物在图片中所在的位置比较偏。例如,图片中的人物在图片中的左下,图片中的人物在图片中的右下角,图片中的人物在图片中的左上角等等。当这些图片制作成视频时,导致视频的观赏性差。

发明内容

[0004] 本发明提供一种移动终端及视频制作方法,用以解决现有技术中存在进行人脸视频制作时人脸在图片中的位置不同容易导致制作出来的视频观赏性差的问题。
[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] 根据所述原始图片中人脸的区域信息,通过OpenGL三维图像处理库确定所述纹理图片中包含人脸的图像数据;
[0031] 将所述位置信息和所述包含人脸的图像数据绘制到编码器中的虚拟显示屏上,以使编码器将虚拟显示屏上的图像数据写入到视频文件。
[0032] 上述移动终端,通过编码器中的虚拟显示屏与OpenGL三维图像处理库配合使用,具体将调整后的图像数据直接绘制到编码器中的虚拟显示屏上,即绘制在编码器中的表面,然后编码器将表面上的图像数据写入到视频文件,避免了将调整后的图像数据进行存储而导致内存溢出的情况,提高了图片处理性能。
[0033] 第二方面,本发明实施例提供的一种视频制作方法,应用于移动终端中,包括:
[0034] 将原始图片转换为纹理图片;
[0035] 根据所述原始图片中人脸的区域信息,确定所述纹理图片中包含人脸的图像数据;
[0036] 根据移动终端的显示屏的尺寸,确定人脸在所述显示屏的中心位置处的位置信息;
[0037] 将所述位置信息和所述包含人脸的图像数据绘制到编码器中生成视频文件。
[0038] 在一种可能的实现方式中,将所述位置信息和所述包含人脸的图像数据绘制到编码器中生成视频文件之前,所述方法还包括:
[0039] 根据预设的视频动画效果,调整所述纹理图片中包含人脸的图像数据;
[0040] 所述将所述位置信息和所述包含人脸的图像数据绘制到编码器中生成视频文件,包括:
[0041] 将所述位置信息和调整后的图像数据绘制到编码器中生成视频文件。
[0042] 在一种可能的实现方式中,所述图像数据包括:图像尺寸;
[0043] 所述根据预设的视频动画效果,调整所述纹理图片中包含人脸的图像数据,包括:
[0044] 根据预设的视频动画效果,确定所述纹理图片对应的动画效果;
[0045] 根据形成所述纹理图片对应的动画效果所需的图片数量,复制所述纹理图片中包含人脸的图像数据,得到多个图像数据;
[0046] 根据所述纹理图片对应的动画效果,确定形成所述纹理图片对应的动画效果所需的每一张图片的尺寸信息;
[0047] 根据所述每一张图片的尺寸信息,调整多个图像数据中的图像尺寸。
[0048] 在一种可能的实现方式中,所述原始图片中的人脸的区域信息的获取方法,包括:
[0049] 识别原始图片的人脸的位置,并根据所述原始图片的人脸的位置得到人脸框;
[0050] 若原始图片中包括一个人脸框,则根据人脸框的边与原始图片对应的边的最短距离,确定原始图片中的人脸的区域信息;或
[0051] 若原始图片中包括多个人脸框,则根据最大的人脸框的边与原始图片对应的边的最短距离,确定原始图片中的人脸的区域信息。
[0052] 在一种可能的实现方式中,所述根据所述原始图片中人脸的区域信息,确定所述纹理图片中包含人脸的图像数据,包括:
[0053] 根据所述原始图片中人脸的区域信息,通过OpenGL三维图像处理库确定所述纹理图片中包含人脸的图像数据;
[0054] 所述将所述位置信息和所述包含人脸的图像数据绘制到编码器中生成视频文件,包括:
[0055] 将所述位置信息和所述包含人脸的图像数据绘制到编码器中的虚拟显示屏上,以使编码器将虚拟显示屏上的图像数据写入到视频文件。
[0056] 第三方面,本申请还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理单元执行时实现第二方面所述视频制作方法的步骤。
[0057] 另外,第二方面至第三方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
[0058] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。附图说明
[0059] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理,并不构成对本发明的不当限定。
[0060] 图1是本发明实施例提供的一种移动终端的结构示意图;
[0061] 图2是本发明实施例提供的一种移动终端的软件架构的示意图;
[0062] 图3是本发明实施例提供的一种视频制作方法的流程图
[0063] 图4是本发明实施例提供的一种原始图片中人脸的区域中点O和点P的位置信息为区域信息的示意图;
[0064] 图5是本发明实施例提供的一种人脸居中显示在显示屏的示意图;
[0065] 图6是本发明实施例提供的一种用户在移动终端的图片进行视频制作的操作示意图;
[0066] 图7是本发明实施例提供的一种由原始视频为男人、女人以及小丑制作出来的视频的示意图;
[0067] 图8是本发明实施例提供的一种人脸的区域的示意图;
[0068] 图9是本发明实施例提供的在直角坐标系中原始图片、人脸的位置以及人脸的区域信息的示意图;
[0069] 图10是本发明实施例提供的一种视频制作的整体方法的流程示意图;
[0070] 图11是本发明实施例提供的另一种移动终端的结构示意图。

具体实施方式

[0071] 下面将结合附图对本申请实施例中的技术方案进行清除、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
[0072] 以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0073] 图1示出了移动终端100的结构示意图。
[0074] 下面以移动终端100为例对实施例进行具体说明。应该理解的是,图1所示移动终端100仅是一个范例,并且移动终端100可以具有比图1中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
[0075] 图1中示例性示出了根据示例性实施例中移动终端100的硬件配置框图。如图1所示,移动终端100包括:射频(radio frequency,RF)电路110、存储器120、显示单元130、摄像头140、传感器150、音频电路160、无线保真(Wireless Fidelity,Wi-Fi)模170、处理器180、蓝牙模块181、以及电源190等部件。
[0076] RF电路110可用于在收发信息或通话过程中信号的接收和发送,可以接收基站的下行数据后交给处理器180处理;可以将上行数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器收发信机耦合器低噪声放大器、双工器等器件。
[0077] 存储器120可用于存储软件程序及数据。处理器180通过运行存储在存储器120的软件程序或数据,从而执行移动终端100的各种功能以及数据处理。存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器120存储有使得移动终端100能运行的操作系统。本申请中存储器120可以存储操作系统及各种应用程序,还可以存储执行本申请实施例所述方法的代码。
[0078] 显示单元130可用于接收输入的数字或字符信息,产生与移动终端100的用户设置以及功能控制有关的信号输入,具体地,显示单元130可以包括设置在移动终端100正面触摸屏131,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
[0079] 显示单元130还可用于显示由用户输入的信息或提供给用户的信息以及终端100的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元130可以包括设置在移动终端100正面的显示屏132。其中,显示屏132可以采用液晶显示器、发光二极管等形式来配置。显示单元130可以用于显示本申请中所述的各种图形用户界面
[0080] 其中,触摸屏131可以覆盖在显示屏132之上,也可以将触摸屏131与显示屏132集成而实现移动终端100的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元130可以显示应用程序以及对应的操作步骤。
[0081] 摄像头140可用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器180转换成数字图像信号。
[0082] 移动终端100还可以包括至少一种传感器150,比如加速度传感器151、距离传感器152、指纹传感器153、温度传感器154。移动终端100还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
[0083] 音频电路160、扬声器161、麦克162可提供用户与移动终端100之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出。移动终端100还可配置音量按钮,用于调节声音信号的音量。另一方面,麦克风162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出至RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。本申请中麦克风162可以获取用户的语音。
[0084] Wi-Fi属于短距离无线传输技术,移动终端100可以通过Wi-Fi模块170帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。
[0085] 处理器180是移动终端100的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器120内的软件程序,以及调用存储在存储器120内的数据,执行移动终端100的各种功能和处理数据。在一些实施例中,处理器180可包括一个或多个处理单元;处理器180还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器180中。本申请中处理器180可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例所述的处理方法。另外,处理器180与显示单元130耦接。
[0086] 蓝牙模块181,用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,移动终端100可以通过蓝牙模块181与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
[0087] 移动终端100还包括给各个部件供电的电源190(比如电池)。电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电以及功耗等功能。移动终端100还可配置有电源按钮,用于终端的开机和关机,以及屏等功能。
[0088] 图2是本发明实施例的移动终端100的软件结构框图。
[0089] 分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
[0090] 应用程序层可以包括一系列应用程序包。
[0091] 如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
[0092] 应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
[0093] 如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
[0094] 窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
[0095] 内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
[0096] 视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
[0097] 电话管理器用于提供移动终端100的通信功能。例如通话状态的管理(包括接通,挂断等)。
[0098] 资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
[0099] 通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,移动终端振动,指示灯闪烁等。
[0100] Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
[0101] 核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
[0102] 应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
[0103] 系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
[0104] 表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
[0105] 媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
[0106] 三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
[0107] 2D图形引擎是2D绘图的绘图引擎。
[0108] 内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
[0109] 下面结合捕获拍照场景,示例性说明移动终端100软件以及硬件的工作流程。
[0110] 当触摸屏131接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头140捕获静态图像或视频。
[0111] 本申请实施例中的移动终端100可以为手机、平板电脑、可穿戴设备、笔记本电脑以及电视等。
[0112] 本发明实施例提供的移动终端,采用OpenGL三维图像处理库,即调用OpenGL三维图像处理库中的功能,达到将原始图片中的包含人脸的区域直接绘制到编码器上,使得编码器在获取到包括人脸的区域的图像数据后直接编码生成视频文件,由于上述制作视频的过程中,不必消耗I/O操作将包含人脸的区域形成图片存储在存储器中,从而提高了处理速度,同时由于不用存储包含人脸的区域形成的图片,也能够避免因制作视频过程中的中间耗材而造成内存溢出的情况。
[0113] 以下通过附图详细介绍在上述移动终端中执行的视频制作方法。
[0114] 结合图3所示,该视频制作方法,包括:
[0115] S300:将原始图片转换为纹理图片。
[0116] 可以被OpenGL三维图像处理库处理的数据类型,为纹理图片(Texture)。将原始图片转换为纹理图片的方式包括多种,以下分别介绍三个方式:
[0117] 方式一:首先获取原始图片的句柄,其中句柄为一种特殊的指针,当应用需要引用终端中存储器所管理的对象时,采用句柄进行引用。其次,根据原始图片的句柄得到位图信息,最后根据位图信息中的RGB(RGB  color  mode,RGB色彩模式)值,通过gluBuild2DMipmaps函数建立纹理,即得到纹理图片。gluBuild2DMipmaps函数为建立纹理时所采用的函数,该函数需要的参数为加载纹理的维度,例如2D平面图、颜色分量的组成,为RGB值、位图的尺寸信息等等信息。
[0118] 方式二:首先采用OpenGL三维图像处理库获取位图信息,采用auxRGBImageRec、以及auxDIBImageLoad函数获取位图信息,然后通过gluBuild2DMipmaps函数建立纹理。其中,auxRGBImageRec函数和auxDIBImageLoad函数均为OpenGL三维图像处理库中的函数。
[0119] 方式三:首先读取原始图片的文件结构,包括文件头、信息头和数据,根据读取原始图片的文件结构,通过glTexImage2D建立纹理(Texture)。
[0120] S301:根据原始图片中人脸的区域信息,确定纹理图片中包含人脸的图像数据。
[0121] 其中,原始图片中人脸的区域信息采用以下方式表示:原始图片中人脸的区域的左上角和右下角在图片中的位置信息。结合图4所示,C1为原始图片中人脸的区域,人脸的区域边界处的左上角那个点O在图片中的位置信息,人脸的区域边界处的右下角那个点P在图片中的位置信息。点O和点P的位置信息为该原始图片中人脸的区域C1的区域信息。
[0122] 在得到上述的原始图片中人脸的区域的左上角和右下角在图片中的位置信息后,对照出纹理图片中包含人脸的区域,得到的该区域的图像数据为纹理图片中包含人脸的图像数据。
[0123] S302:根据移动终端的显示屏的尺寸,确定人脸在显示屏的中心位置处的位置信息。
[0124] 详细来说,移动终端的显示屏的尺寸可以为移动终端的显示屏屏幕对角线的长度,取对角线的中点为显示屏的中心位置,然后将人脸设置在对角线的中点这个位置上,该中点的位置为人脸的中心在显示屏中的位置信息,可以将人脸的中心在显示屏中的位置信息作为确定出的人脸在显示屏的中心位置处的位置信息。
[0125] 结合图5所示,显示屏的对角线的中点为Q1,以该中点Q1所在的位置为人脸的中心Q2在显示屏的位置。例如,如果该人脸对应的图片为正方向,则该正方形的中心为中点Q2,如果该人脸对应的图片为长方形,则该长方形对角线的中心为中心Q2。
[0126] S303:将位置信息和包含人脸的图像数据绘制到编码器中生成视频文件。
[0127] 上述方案,在原始图片中的人脸部分的图像数据,以及人脸在移动终端的显示屏的中心位置处的位置信息直接绘制到编码器中制作成视频,这样形成的视频中的图片均为人脸部分,且图片均在显示屏的中心位置,提高了视频的观赏性。
[0128] 移动终端将存储器中3张包括男人、女人、小丑的图片时,男人的人脸部分在图片中左上角,女人的人脸部分在图片中右上角,小丑的人脸部分在图片中左上角,如果直接采用该三张图片制作成视频,用户观看该视频时,注意会在左上角、右上角、左上角这样变化,观赏性比较差。当采用本发明的方式时,将男人的人脸部分在图片中左上角,女人的人脸部分在图片中右上角,小丑的人脸部分显示在显示屏的中心位置制作成视频,用户观看该视频时,注意力一直在中心位置,观赏性比较好。
[0129] 其中,本发明实施例提出的原始图片可以为采用移动终端中的相机拍摄的图片,也可以为从互联网或者应用程序上下载的图片,还可以为截图时截到的图片。
[0130] 在实际应用中,采用上述各种方式得到的图片均存储在存储器中,对此,在执行本发明的方法时,可以按照时间顺序,依次通过每一个原始图片存储的路径获取存储在存储器中每一个原始图片。然后将获取到的每一个原始图片一一进行以下步骤,获取当前原始图片中人脸的区域信息,将当前原始图片转换为Texture,根据当前原始图片中人脸的区域信息,确定Texture中包含人脸的图像数据,并根据预设的视频动画效果,调整Texture中包含人脸的图像数据,将调整后的图像数据绘制到编码器中。即,第一个图像数据绘制到编码器中,编码器进行编码,第二个图像数据绘制到编码器中,编码器进行编码,直到所有的原始图片均处理完,则完成了该视频文件。
[0131] 其中,触发制作视频的操作可以为用户点击指定按钮,移动终端在检测到指定按钮被点击后,开始进行视频制作。
[0132] 其中,对于制作视频的原始图片不仅仅可以为上述提到的移动终端中所有的图片,也可以为用户在移动终端中选定的图片。对此,本发明不作具体限制。
[0133] 例如,结合图6所示,用户点击图片应用中的指定按钮时,移动终端将存储器中3张包括男人、女人、小丑的图片制作成以男人的人脸部分、女人的人脸部分、小丑的人脸部分为显示基准的mp4的视频文件,并在生成视频文件,当用户点击该视频文件后则可以进行播放。
[0134] 为了提高视频的可观赏性,本发明实施例还包括:
[0135] 根据预设的视频动画效果,调整纹理图片中包含人脸的图像数据,并将位置信息和调整后的图像数据绘制到编码器中生成视频文件。
[0136] 视频动画效果是指由上述提到的原始图片制作的视频时采用的动画效果,这样可以根据整个视频的动画效果,调整纹理图片中包含人脸的图像数据。
[0137] 其中,图像数据包括图像尺寸。
[0138] 在实际应用中,如果制作视频对应的多个原始图片提取出来的包括人脸的图像数据的图像尺寸大小不一时,提取出来的包括人脸的图像数据的图像尺寸比较小,例如,该张图像中包括多张人脸时,或者该张图像照的主要是风景时,提取出来的包括人脸的图像数据的图像尺寸比较大,例如,该张图像为大头照,那么预设的视频动画效果为尺寸相同。
[0139] 在上述情况下,本发明实施例具体的执行过程为:根据预设的视频动画效果,确定形成预设的视频动画效果的图像的尺寸大小,然后根据该尺寸大小,调整当前纹理图片中包含人脸的图像数据的图像尺寸。如果当前纹理图片中包含人脸的图像数据的图像尺寸比较小,则扩大当前纹理图片中包含人脸的图像数据的图像尺寸;如果当前纹理图片中包含人脸的图像数据的图像尺寸比较大,则缩小当前纹理图片中包含人脸的图像数据的图像尺寸。
[0140] 在实际应用中,如果预设的视频动画效果是由多个动画效果组成的,每一张纹理图片均有自己的动画效果,其中,动画效果例如,使图片逐渐缩小逐渐或放大。
[0141] 针对该种情况,本发明实施例具体的执行过程为:根据预设的视频动画效果,确定纹理图片对应的动画效果;根据形成纹理图片对应的动画效果所需的图片数量,复制纹理图片中包含人脸的图像数据,得到多个图像数据;根据纹理图片对应的动画效果,调整多个图像数据。
[0142] 当纹理图片对应的动画效果为使图片逐渐放大或逐渐缩小时,则本发明提供的移动终端可以根据纹理图片对应的动画效果,调整多个图像数据的方式为调整图像数据的图像尺寸。
[0143] 具体来说,根据纹理图片对应的动画效果,确定形成纹理图片对应的动画效果所需的每一张图片的尺寸信息;
[0144] 根据每一张图片的尺寸信息,调整多个图像数据中的图像尺寸。
[0145] 结合图7所示,当由本发明提供的原始图片制作视频时的第(n+1)到第(n+3)时,均为以同一女人的人脸,该女人的人脸对应的动画效果为“使图片逐渐放大”,则根据形成“使图片逐渐放大”所需的图片数量为3个,复制纹理图片中包含人脸的图像数据,得到3个图像数据。然后确定这3个图像的尺寸信息,将3个图像数据的尺寸调整为对应的3个尺寸信息。从而可以形成“使图片逐渐放大”的动画。
[0146] 为了提高用户的观赏性,视频中的图片不仅仅是展现单独人脸,还可以包括人脸以外的其他区域,本发明中将包括人脸以及人脸以外的其他区域称为人脸的区域信息。同时,在制作视频的原始图片中,可能包括一个人脸或者包括多个人脸,而在制作视频时一张原始图片仅采用一个人脸进行展示。
[0147] 基于上述的情况,本发明实施例提供的原始图片中的人脸的区域信息的获取方法为,首先确定人脸的位置,然后根据该人脸的位置确定人脸的区域信息,其中,人脸的位置与人脸的区域信息并不同,人脸的位置为单独的人脸的位置,人脸的区域信息为包含人脸与除了人脸之外的其他区域的区域信息。结合图8所示,C2为该原始图片的人脸位置,以斜线表示的区域,C3为除了人脸之外的其他区域。C2和C3称为人脸的区域。
[0148] 具体包括:
[0149] 识别原始图片的人脸的位置,并根据原始图片的人脸的位置得到人脸框。
[0150] 若原始图片中包括一个人脸框,则根据人脸框的边与原始图片对应的边的最短距离,确定原始图片中的人脸的区域信息;或
[0151] 若原始图片中包括多个人脸框,则根据最大的人脸框的边与原始图片对应的边的最短距离,确定原始图片中的人脸的区域信息。
[0152] 其中,可以通过以下方式获取原始图片中人脸的区域信息:
[0153] 将原始图片输入人脸定位模型中,得到原始图片中人脸的位置。
[0154] 通过以下训练的方式训练人脸定位模型。
[0155] 获取训练集,训练集包括:原始图片以及标定人脸的位置,在输入一种原始图片时,人脸定位模型从原始图片中定位人脸的特征位置,其中人脸的特征为眼睛、鼻子、嘴巴、胡子等特征,并定位这些人脸的特征位置,得到人脸的位置,并将该人脸的位置与标定人脸的位置一起输入到损失函数中,调整人脸定位模型,直到将该人脸的位置与标定人脸的位置输入到损失函数中得到的值小于一定值时,即将该人脸的位置与标定人脸的位置相似时,则训练完成人脸定位模型。
[0156] 其中,根据人脸框的边与原始图片对应的边的最短距离,确定原始图片中的人脸的区域信息的方法为:
[0157] 上述介绍的人脸的位置的记录方法为人脸的左上角和右下角的坐标信息,然后,根据该左上角和右下角的坐标信息,确定出人脸框,根据人脸框的边与原始图片对应的边的最短距离,确定原始图片中的人脸的区域的框,则该框的四个顶点中左上顶点和右下顶点的位置信息为区域信息。
[0158] 结合图9所示,在直角坐标系下,原始图片的四个顶点分别左上角的点为A(x1,y1)、左下角的点C(x1,y2)、右上角的点D(x2,y1)、右下角的点B(x2,y2)。人脸的位置为左上角的点a(x3,y3)、右下角的点b(x4,y4),则人脸的位置对应的人脸框的四个钉点分别为左上角的点a(x3,y3)、左下角的点c(x3,y4)、右上角的点d(x4,y3)、右下角的点b(x4,y4)。
[0159] 首先计算人脸框的边与原始图片对应的边的四个距离,第一距离s1=y1-y3,第二距离s2=x3-x1,第三距离s3=y4-y2,第四距离s2=x2-x4,则第一距离s1最短,则以第一距离s1为增加长度,即人脸框的每个边均增加第一距离s1,形成由四个顶点e、f、g、h组成的人脸的区域,如图8所示的虚线组成的框。
[0160] 其中,人脸的区域的顶点e的横坐标为x3-s1,即x3-y1+y3,顶点e的纵坐标为y1。
[0161] 人脸的区域的顶点f的横坐标与顶点e的横坐标相同,为x3-y1+y3,顶点e的纵坐标为y1-2s1-(y3-y4),即y1-2(y1-y3)-(y3-y4)=(y3+y4)-y1。
[0162] 人脸的区域的顶点g的横坐标,为x4+s1,即x4+y1-y3,顶点g的纵坐标与顶点f的纵坐标相同为(y3+y4)-y1。
[0163] 人脸的区域的顶点h的横坐标与顶点g的横坐标相同,为x4+y1-y3,顶点h的纵坐标与顶点e的纵坐标相同为y1。
[0164] 图9中的原始图片中的人脸的区域信息为顶点e的横坐标(x3-y1+y3),顶点e的纵坐标y1,顶点g的横坐标(x4+y1-y3),顶点e的纵坐标((y3+y4)-y1)。
[0165] 其中,相比于原始图片已经存储在固定的存储区域内,原始图片中人脸的区域信息为后确定出来的,所以将区域信息存储在与对应的原始图片不同区域中,为了能够在执行视频制作方式中更加方便的引用存储在不同区域中的区域信息以及对应的原始图片,则将两者建立键值对,将区域信息以及对应的原始图片作为键值对中的“键”与“值”,并将键值对中的键以及值的物理存储地址所组成的引索表进行存储。当需要提取区域信息以及对应的原始图片时,可以通过键值对获取区域信息以及对应的原始图片的物理存储地址,并通过区域信息以及对应的原始图片的物理存储地址,获取区域信息以及对应的原始图片的数据进行视频制作处理。
[0166] 一般来说,在移动终端中裁剪出来的位图,将位图存储在移动终端中的存储器中,用户可以查看存储器中存储的位图,在制作视频时,根据存储的路径获取到位图制作成视频,这样用户不仅可以在移动终端中查看这些位图,还可以观看由该位图制作的视频。
[0167] 然而,将裁剪的位图存储在移动终端中的存储器的过程,需要移动终端的CPU(central processing unit,中央处理器)进行I/O操作,而I/O操作是一种很耗时的操作,同时,由于位图的图像数据属于占用内存比较大的数据,所以将该裁剪的位图存储在移动终端中的存储器,容易导致内存溢出。
[0168] 基于此,本发明将根据原始图片中人脸的区域信息,通过OpenGL三维图像处理库确定纹理图片中包含人脸的图像数据。最后将位置信息和包含人脸的图像数据绘制到编码器中的虚拟显示屏上,以使编码器将虚拟显示屏上的图像数据写入到视频文件。其中,该虚拟显示屏为surface,将调整后的图像数据直接会绘制到编码器的surface上,即编码器获取到了图像数据,然后进行编码写入到视频文件中。
[0169] 上述方案中,将在存储器中的原始图片转换到Texture,然后根据原始图片中人脸的区域信息,确定Texture中包含人脸的图像数据,然后根据预设的视频动画效果,调整Texture中包含人脸的图像数据,将调整后的Texture中包含人脸的图像数据绘制到编码器的surface,编码器的surface获取到了图像数据,编码器进行编码写入到视频文件中。可以看出,本发明并没有将确定出来的包含人脸的图像数据生成位图,也利用I/O操作将位图存储成可见的图片,所以,本发明能够提高处理能力,同时也没有包含人脸的图像数据占用内存空间,降低了视频制作过程中容易发生内存溢出的情况。
[0170] 以下结合附图10所示为一种视频制作的整体流程图。结合图10所示,该方法包括:
[0171] S1000:从制作视频的多个原始图片中提取一张原始图片。
[0172] S1001:识别原始图片的人脸的位置,并根据原始图片的人脸的位置得到人脸框。
[0173] S1002:判断原始图片是否具有一个人脸。如果是,则执行步骤S1003,如果否,则执行步骤S1004。
[0174] S1003:根据人脸框的边与原始图片对应的边的最短距离,确定原始图片中的人脸的区域信息。
[0175] S1004:根据最大的人脸框的边与原始图片对应的边的最短距离,确定原始图片中的人脸的区域信息。
[0176] S1005:将原始图片转换为纹理图片。
[0177] S1006:根据原始图片中人脸的区域信息,通过OpenGL三维图像处理库确定纹理图片中包含人脸的图像数据。
[0178] S1007:根据移动终端的显示屏的尺寸,确定人脸在显示屏的中心位置处的位置信息。
[0179] S1008:将位置信息和图像数据绘制到编码器中的虚拟显示屏上,以使编码器将虚拟显示屏上的图像数据写入到视频文件。
[0180] 其中,在执行S1008之前,在执行S1006之后,为了增加视频的可观赏性,可以根据预设的视频动画效果,调整纹理图片中包含人脸的图像数据。
[0181] S1009:判断制作视频的多个原始图片是否均编码到视频文件中,如果是,则结果,如果否,则执行步骤S1000。
[0182] 图11据一示例性实施例示出的一种移动终端1100该装置包括:处理器1110和存储器1120;
[0183] 所述存储器1120,用于存储原始图片以及视频文件;
[0184] 所述处理器1110,用于将原始图片转换为纹理图片;
[0185] 根据所述原始图片中人脸的区域信息,确定所述纹理图片中包含人脸的图像数据;
[0186] 根据移动终端的显示屏的尺寸,确定人脸在所述显示屏的中心位置处的位置信息;
[0187] 将所述位置信息和所述包含人脸的图像数据绘制到编码器中生成视频文件。
[0188] 可选的,所述处理器1110具体用于:
[0189] 根据预设的视频动画效果,调整所述纹理图片中包含人脸的图像数据;
[0190] 将所述位置信息和调整后的图像数据绘制到编码器中生成视频文件。
[0191] 可选的,所述处理器1110具体用于:
[0192] 所述图像数据包括:图像尺寸;
[0193] 根据预设的视频动画效果,确定所述纹理图片对应的动画效果;
[0194] 根据形成所述纹理图片对应的动画效果所需的图片数量,复制所述纹理图片中包含人脸的图像数据,得到多个图像数据;
[0195] 根据所述纹理图片对应的动画效果,确定形成所述纹理图片对应的动画效果所需的每一张图片的尺寸信息;
[0196] 根据所述每一张图片的尺寸信息,调整多个图像数据中的图像尺寸。
[0197] 可选的,所述处理器1110具体用于:
[0198] 识别原始图片的人脸的位置,并根据所述原始图片的人脸的位置得到人脸框;
[0199] 若原始图片中包括一个人脸框,则根据人脸框的边与原始图片对应的边的最短距离,确定原始图片中的人脸的区域信息;或
[0200] 若原始图片中包括多个人脸框,则根据最大的人脸框的边与原始图片对应的边的最短距离,确定原始图片中的人脸的区域信息。
[0201] 可选的,所述处理器1110具体用于:
[0202] 根据所述原始图片中人脸的区域信息,通过OpenGL三维图像处理库确定所述纹理图片中包含人脸的图像数据;
[0203] 将所述位置信息和所述包含人脸的图像数据绘制到编码器中的虚拟显示屏上,以使编码器将虚拟显示屏上的图像数据写入到视频文件。
[0204] 在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器,上述指令可由移动终端1100的处理器1110执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
[0205] 本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行实现本发明实施例上述任意一项视频制作方法。
[0206] 本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
[0207] 应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈