预览帧画面生成方法、装置及移动终端与流程

文档序号:14723756发布日期:2018-06-19 02:40阅读:180来源:国知局

本发明涉及互联网技术领域,具体而言,涉及一种预览帧画面生成方法、装置及移动终端。



背景技术:

Android应用在调用摄像头采集数据并生成图片的过程中,首先会获取Camera驱动类,然后通过Camera驱动类打开相机开始进行连续预览(时间间隔为16.67ms)。摄像头预览本质上就是抓取景象的色彩通道值,生成一个YUV格式的字节数据,YUV本质上是灰度图像,然后相机应用将YUV灰度色彩数据转为RGB彩色数据,最后相机应用将RGB转为Bitmap位图,这样就形成了相机应用里预览景象画面中的一帧。

上述是目前相机应用在进行景象拍照和生成视频时的主流做法,即每隔16.67ms生成一张图片(一帧),1s内会连续生成至少60帧。但是,该处理流程存在只是针对类似相机以及拍照视频类应用,需要连续生成帧画面的场景,而某些特殊场景无需进行连续帧画面的生成,而且连续生成帧画面无论对于CPU消耗还是内存占用都会较高。



技术实现要素:

本发明实施例的目的在于提供一种预览帧画面生成方法、装置及移动终端,用以生成非连续预览帧画面。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提供了一种预览帧画面生成方法,应用于移动终端,所述移动终端包括摄像装置,所述方法包括:获取所述摄像装置采集的第一预览帧画面;利用预先建立的延迟时间预测模型,依据所述移动终端的当前性能参数,预测所述摄像装置的延迟时间;在所述延迟时间内,获取所述摄像装置采集的第二预览帧画面,以得到非连续的预览帧画面。

第二方面,本发明实施例还提供了一种预览帧画面生成装置,应用于移动终端,所述移动终端包括摄像装置,所述预览帧画面生成装置包括第一画面获取模块、延迟时间预测模块及第二画面获取模块。其中,第一画面获取模块用于获取所述摄像装置采集的第一预览帧画面;延迟时间预测模块用于利用预先建立的延迟时间预测模型,依据所述移动终端的当前性能参数,预测所述摄像装置的延迟时间;第二画面获取模块用于在所述延迟时间内,获取所述摄像装置采集的第二预览帧画面,以得到非连续的预览帧画面。

第三方面,本发明实施例还提供了一种移动终端,所述移动终端包括摄像装置,所述移动终端还包括存储器;处理器;以及预览帧画面生成装置,所述预览帧画面生成装置存储于所述存储器中并包括一个或多个由所述处理器执行的软件功能模组。所述预览帧画面生成装置包括第一画面获取模块、延迟时间预测模块及第二画面获取模块。其中,第一画面获取模块用于获取所述摄像装置采集的第一预览帧画面;延迟时间预测模块用于利用预先建立的延迟时间预测模型,依据所述移动终端的当前性能参数,预测所述摄像装置的延迟时间;第二画面获取模块用于在所述延迟时间内,获取所述摄像装置采集的第二预览帧画面,以得到非连续的预览帧画面。

相对现有技术,本发明实施例提供的一种预览帧画面生成方法、装置及移动终端,首先,获取所述摄像装置采集的第一预览帧画面;然后,利用预先建立的延迟时间预测模型,依据移动终端的当前性能参数,预测摄像装置的延迟时间;最后,在延迟时间内,获取摄像装置采集的第二预览帧画面,以得到非连续的预览帧画面。本发明实施例在采集第一预览帧画面后,依据移动终端的当前性能参数动态预测摄像装置的延迟时间,从而实现在延迟时间内采集第二预览帧画面,实现非连续预览帧画面的生成,实用性强。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例提供的移动终端的方框示意图。

图2示出了本发明第一实施例提供的预览帧画面生成方法流程图。

图3为图2示出的步骤S102的子步骤流程图。

图4为图2示出的步骤S103的子步骤流程图。

图5示出了本发明第二实施例提供的预览帧画面生成装置的方框示意图。

图标:100-移动终端;101-存储器;102-存储控制器;103-处理器;104-外设接口;105-摄像装置;200-预览帧画面生成装置;201-第一画面获取模块;202-模型建立模块;203-延迟时间预测模块;204-第二画面获取模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

请参照图1,图1示出了本发明实施例提供的移动终端100的方框示意图。移动终端100可以是,但不限于智能手机、平板电脑、膝上型便携计算机、车载电脑、个人数字助理(personal digital assistant,PDA)、穿戴式移动终端等等。所述移动终端100安装有安卓系统,其包括预览帧画面生成装置200、存储器101、存储控制器102、处理器103、外设接口104和摄像装置105。

所述存储器101、存储控制器102、处理器103、外设接口104和摄像装置105各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述预览帧画面生成装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器101中或固化在所述移动终端100的操作系统(operating system,OS)中的软件功能模块。所述处理器103用于执行存储器101中存储的可执行模块,例如所述预览帧画面生成装置200包括的软件功能模块或计算机程序。

其中,存储器101可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器101用于存储程序,所述处理器103在接收到执行指令后,执行所述程序。

处理器103可以是一种集成电路芯片,具有信号处理能力。上述的处理器103可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、语音处理器以及视频处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器103也可以是任何常规的处理器等。

所述外设接口104用于将各种输入/输出装置耦合至处理器103以及存储器101。在一些实施例中,外设接口104、处理器103以及存储控制器102可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

摄像装置105用于采集第一预览帧画面和第二预览帧画面,在本实施例中,摄像装置105可以是,但不限于安卓摄像头。

第一实施例

请参照图2,图2示出了本发明第一实施例提供的预览帧画面生成方法流程图。预览帧画面生成方法包括以下步骤:

步骤S101,获取摄像装置采集的第一预览帧画面。

在本发明实施例中,第一预览帧画面可以是用户首次开启摄像装置105后采集到的预览帧画面,也可以是用户在摄像装置105开启期间,在摄像头延迟时间(Camera Responsing Delay,CRD)内开启摄像头预览采集到的任意一帧预览帧画面。

CRD是操作摄像装置105,例如,开启、关闭、开启预览、关闭预览、闪光灯开关等的硬件操作产生的响应延迟。CRD是摄像装置105的一个非稳定参数,CRD越小,摄像装置105硬件性能越高。目前,移动终端100的CRD的取值在1ms~16ms区间内浮动,其取值是不固定的,不同型号移动终端100的CRD存在较大差别,即使同一台移动终端100在不同时间内CRD的值也存在浮动,因此,本发明实施例采用根据移动终端100的实时性能,来预测摄像装置105的CRD取值范围,并在CRD取值范围内及时开启摄像装置105的预览,从而生成非连续预览帧画面。

在本发明实施例中,采集到第一预览帧画面之后,需要根据移动终端100的当前性能参数,例如,CPU负载值、内存占用量等,来估算摄像装置105的延迟时间,以便在该延迟时间内再次开启摄像装置105预览,以采集第二预览帧画面,因此,本发明实施例提供的预览帧画面生成方法还可以包括以下的步骤S102:

步骤S102,根据移动终端的性能参数矩阵,建立延迟时间预测模型。

在本发明实施例中,移动终端100的性能参数是影响CRD取值的因素,性能参数包括,但不限于CPU负载值、内存占用量等。性能参数矩阵可以是根据性能参数的取值区间建立的矩阵,例如,根据CPU负载值、内存占用量等的取值区间建立的矩阵。发明人经过大量的研究测试发现,影响CRD取值的移动终端100的性能参数中,CPU负载值是影响最为显著的因素,因此,可以根据移动终端100的CPU负载值,来建立延迟时间预测模型。

在本发明实施例中,利用偏最小二乘回归分析方法建立延迟时间预测模型,具体的建模方法可以是:首先,根据移动终端100的性能参数矩阵确定出延迟时间预测模型的模型因变量,并根据延迟时间矩阵确定出模型自变量;然后,对模型自变量和模型因变量分别进行标准化处理,得到对应的标准化自变量矩阵和标准化因变量矩阵;最后,根据标准化自变量矩阵和标准化因变量矩阵,计算出延迟时间预测模型的回归系数,从而建立出延迟时间预测模型,具体的延迟时间预测模型建立过程请参照子步骤S1021~S1023。

请参照图3,步骤S102可以包括以下子步骤:

子步骤S1021,确定延迟时间预测模型的模型自变量和模型因变量,其中,模型自变量为延迟时间矩阵,模型因变量为移动终端的性能参数矩阵。

在本发明实施例中,确定移动终端100的性能参数矩阵为模型因变量,也就是说,根据CPU负载值的取值区间建立模型自变量,作为一种实施方式,CPU负载值的取值区间可以由用户在摄像装置105采集预览帧画面时对移动终端100进行大量测试得到,在本实施例中,发明人经过大量的研究测试,确定出CPU负载值的取值区间为[0.10,0.99],接下来根据该CPU负载值的取值区间,建立模型因变量为:YL=[0.10,0.11,0.12,….,0.98,0.99]1×90,模型因变量YL为一个1×90的矩阵。

另外,确定延迟时间矩阵为模型自变量,也就是说,根据延迟时间的取值建立模型自变量,作为一种实施方式,延迟时间的取值可以由用户在摄像装置105采集预览帧画面时进行大量测试得到,在本实施例中,确定自变量模型为:X=[x1,x2,...,L,...,x90]90×16,自变量模型X为一个90×16的矩阵,其中,L为第一预览帧画面的主成分的标准方差矩阵,且l=[1,2,3,...,16]1×16,x1,x2,...,x90均包括16个取值,且这16个取值是在1s时间内测试到的16个CRD取值区间。

子步骤S1022,对模型自变量和模型因变量分别进行标准化处理,得到对应的标准化自变量矩阵和标准化因变量矩阵。

在本发明实施例中,确定出模型自变量X和模型因变量Y之后,对模型自变量X和模型因变量Y分别进行标准化处理,得到对应的标准化自变量矩阵E0和标准化因变量矩阵F0,标准化处理可以按照以下公式进行:

其中,i=1,2,...L...,n,n=90;j=1,2,...L...,k,k=16;xij表示模型自变量X中的第j个变量xj的第i个样本值;表示模型自变量X中第j个变量xj的均值;sj表示模型自变量X中的第j个变量xj的标准差;yi表示模型因变量Y中的第i个样本值;表示模型因变量Y的均值;sy表示模型因变量Y的标准差;表示xij标准化后的数值;表示yi标准化后的数值。

子步骤S1023,对标准化自变量矩阵和标准化因变量矩阵进行回归分析,得到延迟时间预测模型的回归系数。

在本发明实施例中,对模型自变量X和模型因变量Y分别进行标准化处理,得到对应的标准化自变量矩阵E0和标准化因变量矩阵F0之后,对据标准化自变量矩阵E0和标准化因变量矩阵F0进行回归分析,计算出延迟时间预测模型的回归系数,回归系数的计算公式为至此,便建立出了延迟时间预测模型。

需要说明的是,步骤S102中介绍的建立延迟时间预测模型的步骤,可以在采集第一视频帧画面之前进行,也就是说,建立延迟时间预测模型的过程可以和预览帧生成方法的其它步骤不是连续的,可以预先利用步骤S102中介绍的的方法建立好延迟时间预测模型并进行存储,后续直接调用即可。

步骤S103,利用预先建立的延迟时间预测模型,依据移动终端的当前性能参数,预测摄像装置的延迟时间。

在本发明实施例中,获取到摄像装置105采集到的第一视频帧画面之后,获取移动终端100的当前性能参数,本实施例中选取移动终端100的当前CPU负载值,并依据移动终端100的当前CPU负载值来预测摄像装置105的延迟时间,也就是下一次开启摄像头预览,获取第二预览帧画面的时间区间。

在本发明实施例中,摄像装置105的延迟时间的预测方法可以是:首先,利用建立好的延迟时间预测模型,对预设延迟时间进行主成分提取,得到延迟时间的初始值,预设延迟时间设置为Ro=[1,16],也就是目前操作系统为安卓系统的移动终端100的CRD取值范围;然后,计算出延迟时间的初始值之后,实时获取移动终端100的CPU负载值,也就是获取移动终端100的当前CPU负载值,并依据移动终端100的当前性能参数移动终端100的当前CPU负载值,对延迟时间的初始值进行置信分析,预测出摄像装置105的延迟时间,具体的预测过程请参照子步骤S1031~S1032。

请参照图4,步骤S103可以包括以下子步骤:

子步骤S1031,利用延迟时间预测模型,对预设延迟时间进行主成分提取,得到延迟时间的初始值。

在本发明实施例中,预设延迟时间设置为目前操作系统为安卓系统的移动终端100的CRD取值范围,即Ro=[1,16]。作为一种实施方式,利用交叉有效性算法对预设延迟时间进行主成分提取,得到延迟时间的初始值,主成分提取公式为ROrigin=pRi,i∈[1,16]。

子步骤S1032,依据移动终端的当前性能参数,对初始值进行置信分析,预测出摄像装置的延迟时间。

在本发明实施例中,计算出延迟时间的初始值之后,实时获取移动终端100的当前性能参数,也就是移动终端100的当前CPU负载值,并依据移动终端100的当前性能参数,对延迟时间的初始值进行置信分析,具体方法可以是:首先,选取置信回归因子其中,0.0975为偏最小二乘回归标准置信因子;然后,根据置信回归因子建立置信矩阵Mb,建立公式为:其中,LCPU为移动终端100的当前CPU负载值;最后,获取移动终端100的当前CPU负载值LCPU,并将LCPU输入置信矩阵Mb,计算出置信区间,也就是摄像装置105的延迟时间,计算公式为:M=Rorigin×Mb,其中,M为摄像装置105的延迟时间。

步骤S104,在延迟时间内,获取摄像装置采集的第二预览帧画面,以得到非连续的预览帧画面。

在本发明实施例中,第二预览帧画面为第一预览帧画面的后一帧画面。计算出摄像装置105的延迟时间之后,在该延迟时间内开启摄像传感器,摄像装置105会将采集的景象数据以字节数组的格式输出,然后将字节数组转为YUV格式的灰度图像,最后将YUV转为带彩色通道的RGB图像,生成第二预览帧画面,从而得到非连续的预览帧画面。

在本发明实施例中,依据移动终端100的性能参数矩阵和延迟时间矩阵,利用偏最小二成法回归分析算法建立出延迟时间预测模型;再将实时获取的移动终端100的当前CPU负载值,输入延迟时间预测模型,来计算出下一次开启摄像传感器的时间区间,并在该时间区间内开启摄像传感器,得到非连续的预览帧画面。本发明实施例基于偏最小二乘回归分析算法来动态估算摄像装置105的延迟时间,从而实现在延迟时间内及时开启图像预览,进而实现摄像装置105的非连续预览帧画面的生成,对于CPU消耗还是内存占用低,具有良好的实用性。

第二实施例

请参照图5,图5示出了本发明第二实施例提供的预览帧画面生成装置200的方框示意图。预览帧画面生成装置200包括第一画面获取模块201、模型建立模块202、延迟时间预测模块203及第二画面获取模块204。

第一画面获取模块201,用于获取摄像装置采集的第一预览帧画面。

在本发明实施例中,第一画面获取模块201可以用于执行步骤S101。

模型建立模块202,用于根据移动终端的性能参数矩阵,建立延迟时间预测模型。

在本发明实施例中,模型建立模块202可以用于执行步骤S102。

在本发明实施例中,模型建立模块202还可以用于执行步骤S102的子步骤S1021~S1023。

延迟时间预测模块203,用于利用预先建立的延迟时间预测模型,依据移动终端的当前性能参数,预测摄像装置的延迟时间。

在本发明实施例中,延迟时间预测模块203可以用于执行步骤S103。

在本发明实施例中,延迟时间预测模块203还可以用于执行步骤S103的子步骤S1031~S1032。

第二画面获取模块204,用于在延迟时间内,获取摄像装置采集的第二预览帧画面,以得到非连续的预览帧画面。

在本发明实施例中,第二画面获取模块204可以用于执行步骤S104。

综上所述,本发明实施例提供的一种预览帧画面生成方法、装置及移动终端,所述移动终端包括摄像装置,所述方法包括:获取摄像装置采集的第一预览帧画面;利用预先建立的延迟时间预测模型,依据移动终端的当前性能参数,预测摄像装置的延迟时间;在延迟时间内,获取摄像装置采集的第二预览帧画面,以得到非连续的预览帧画面。本发明实施例在采集第一预览帧画面后,依据移动终端的当前性能参数动态预测摄像装置的延迟时间,从而实现在延迟时间内采集第二预览帧画面,实现非连续预览帧画面的生成,实用性强。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

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