[0043] 为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0044] 本发明通过对相机的存储空间进行合理分配,进而在保证相机预览功能正常使用的前提下不影响智能终端其它应用的运行。可以理解地,本发明所述相机可以为智能终端上自带相机,也可以为与智能终端连接的外置相机,只要能够实现对相机数据的存储空间进行配置即可,此处并不对相机的设置方式作过多限定,只要能够实现本发明中根据相机存储空间数据变化设定存储空间大小的方式均为本发明所要求的保护范围。
[0045] 在以下实施例中,本发明以移动终端上自带摄像头为例解释本发明方案。请参见图1,图1是本发明中一种相机存储空间控制方法的流程图。如图1所示,本发明实施例所述的一种相机存储空间控制方法包括以下步骤:
[0046] S100、监测相机存储空间中的数据变化。
[0047] 具体地,可在移动终端上设置硬件以监测相机存储空间的变化,或者设置应用程序运行在移动终端上监测相机存储空间的变化。由于移动终端上不同应用程序的存储路径不同,则基于应用程序启动时调用相机的存储路径则与应用程序的存储路径相关联,因此,相机的存储空间中数据的存储地址由与其相关联的应用程序决定,以及图片下载的存储路径决定。
[0048] S200、根据数据变化量与预设参考值的对应关系调整相机存储空间的大小。
[0049] 具体地,根据相机存储空间中交换数据时数据的变化情况可以合理调整分配给相机的存储空间大小。其中,监测数据的变化量可在相机启用时进行监测,且进行监测时可仅监测相机存储空间中与当前所调用相机的程序对应的部分以及相关联的部分,进而提高相机数据反馈效率,也节省了因监测所占用的系统资源。
[0050] 在一具体实施例中,如图2所示,步骤S100包括:
[0051] S110、监测相机存储空间中数据的变化速率。
[0052] S120、当所述变化速率高于预设速率阈值时,计算所述数据变化量。
[0053] 具体地,通过监测相机默认的存储空间中数据的变化情况,如果数据整体变化速度过高则说明该存储空间较小,则需要扩大相机的存储空间,以提高相机数据的传输效率;如果数据整体变化速度过低则说明该存储空间较大,则需要减小相机的存储空间,以保证不影响其他应用程序的运行,提高系统运行速率。
[0054] 此处进行举例说明,比如当微信调用相机拍摄视频时,则需要启动相机的预览功能,通过判断当前分配给微信以用于相机预览的存储空间中默认数据交换速率大小与当前数据交换速率大小之间的关系,即可判定当前数据交换速率是否正常,若正常则无需对相机的存储空间大小进行调节,若不正常则需要对相机的存储空间大小进行调节以保证相机预览功能的正常使用。
[0055] 可以理解地,预设速率阈值可以根据用户使用相机的习惯、历史存储容量、相机调用频率等诸多因素设定,也可以设定为固定值,而具体的设定方式可由用户自定义也可出厂设置也可进行自动设定,而具体的设置方式此处并不进行限定。
[0056] 在一具体实施例中,计算所述数据变化量包括:
[0057] 统计所述相机存储空间的容量;
[0058] 对所述容量的变化进行速率求取得到所述数据变化量。
[0059] 具体地,统计出相机存储空间的容量,并检测相机存储空间容量的变化,进而根据变化量计算变化速率。其中,相机的存储空间包含多条存储路径,通过计算所有与相机相关联的路径对应的存储空间的总容量值,然后检测每条存储路径下数据的变化情况,将有变化的存储路径占用总存储路径的比值作为数据变化量。
[0060] 在一具体实施例中,如图3所示,计算所述数据变化量还包括:
[0061] S131、以所述相机的多个存储地址划分所述相机的存储空间为多个子存储空间。
[0062] S132、从所有子存储空间中选取设定数量个子存储空间。
[0063] S133、将选取出的子存储空间中数据发生变化的占比作为所述数据变化量。
[0064] 具体地,可对相机的存储空间进行划分,以将其划分为若干个子存储空间,其中,子存储空间的数量根据移动终端中需要调用相机的应用程序数量而定。当将存储空间划分成多个子存储空间之后,则从所有子存储空间中随机挑选出若干个子存储空间,然后检测若干个子存储空间上数据的变化情况,之后将若干个子存储空间上数据变化的平均值作为数据变化量。
[0065] 以下进行举例说明,比如,移动终端默认分配给相机存储空间的存储地址为0x22000000至0x30000000,可以调用随机数生成程序在存储地址范围内生成若干个随机地址,比如生成20个随机地址,之后可以监测20个随机地址中数据的变化情况,并记录数据发生变化的地址的个数,将数据发生变化的地址个数占20的比例作为数据变化量。
[0066] 或者,又例如,移动终端默认分配给相机存储空间的存储地址为0x22000000至0x30000000,可以每间隔几个地址范围选择一个地址用于检测,即以固定间隔顺序选用存储空间中的若干个地址进行数据监测,比如选择0x22000000,0x22001000,0x22002000,
0x22003000等,之后通过监测选用的几个地址中数据的变化,并记录数据发生变化的地址的个数,之后将数据发生变化的地址的个数占用选用的地址个数的比例作为数据变化量。
[0067] 在一具体实施例中,如图4所示,步骤S200包括:
[0068] S210、当所述数据变化量大于所述预设参考值时,以设定调节梯度增加分配给所述相机的存储空间,直至所述数据变化量小于所述预设参考值。
[0069] 具体地,以预设参考值为基准,当数据变化量较大时,则需要扩大相机的存储空间,而扩大的容量则以设定调节梯度为基准进行逐次调节,直至数据变化量与预设参考值相近。当数据变化量与预设参考值相近时,则说明相机的存储空间扩大到一定程度可以实现相机的正常预览功能,避免了由于相机存储空间过小导致数据流传输速率慢致使显示图像卡顿现象。
[0070] S220、当所述数据变化量小于所述预设参考值时,以设定调节梯度减小分配给所述相机的存储空间,直至所述数据变化量大于所述预设参考值。
[0071] 具体地,以预设参考值为基准,当数据变化量较小时,则需要缩小相机的存储空间,而缩小的容量则以设定调节梯度为基准进行逐次调节,直至数据变化量与预设参考值相近。当数据变化量与预设参考值相近时,则说明相机的存储空间缩小到一定程度并不影响系统的运行以及其它应用程序的正常使用,同时也能够正常实现相机的预览功能。
[0072] 通过设置预设调节梯度对相机存储空间的大小进行合理调节,能够控制调节程度,便于尽快调节到所需存储空间大小。
[0073] 在进一步具体实施例中,步骤S210之后包括:
[0074] S211、当调整后的数据变化量小于所述预设参考值时,以一个所述设定调节梯度扩大所述相机的存储空间。
[0075] 具体地,对相机存储空间大小进行调节可能出现调节过度的情况,此时则需要进行微调,若将相机存储空间调节的较小则会影响相机的预览功能,因此,可在调节后的相机存储空间大小的基础上增加一个调节梯度,以适当扩大相机存储空间。比如,当前相机预览实际需要的存储空间为5M,当前分配给该CAMERA预览的存储空间是10M,参考值是6M,故会从10M开始以3M的增量逐次减小存储空间容量,一直减小至4M,此时则需要再往上加一个到3M的增量7M以完成最终调整。
[0076] 在进一步具体实施例中,步骤S220之后包括:
[0077] S220、当调整后的数据变化量大于所述预设参考值时,以一个所述设定调节梯度缩小所述相机的存储空间。
[0078] 具体地,对相机存储空间大小进行调节可能出现调节过度的情况,此时则需要进行微调,若将相机存储空间调节的较大则会影响其它应用程序的运行,因此,可在调节后的相机存储空间大小的基础上减小一个调节梯度,以适当缩小相机存储空间。
[0079] 比如,当前相机预览实际需要的存储空间为18M,当前分配给该相机预览的存储空间是10M,参考值是17M,故会从10M开始以3M的增量扩大存储空间,直至存储空间大小为19M,此时则需要减小一个3M的增量至16M以完成最终调整。
[0080] 进一步地,所述设定调节梯度根据所述相机存储空间占系统存储空间的占比设定。
[0081] 具体地,预设调节梯度可根据实际需求自定义设置。为贴合存储空间调节的实际需求,可将调节梯度设定为分配给相机存储空间占用系统存储空间的百分比确定,或者当前程序分配给相机的存储空间占用相机总存储空间的百分比确定。
[0082] 在一具体实施例中,如图5所示,计算所述预设参考值包括:
[0083] S10、提取所述相机的帧同步信号。
[0084] S20、拍摄所述相机的预览画面。
[0085] S30、根据所述帧同步信号的传输速率和所述预览画面的显示速率确定所述预设参考值。
[0086] 具体地,可用显示速率高于当前相机显示速率的相机对当前相机的预览画面进行拍摄,进而得到预览画面的显示速率。其中,相机的帧同步信号指的是相机中数据流的传输信号,根据帧同步信号可以得到每帧图片的传输速率,当图片的传输速率与显示速率不等同时,则造成待传输图片冗余占用多大的存储空间,也影响相机预览的流畅度。
[0087] 在进一步实施例中,如图6所示,步骤S30包括:
[0088] S31、将所述帧同步信号的传输速率和所述预览画面的显示速率进行对比。
[0089] S32、当所述传输速率大于所述显示速率时,基于所述传输速率和所述显示速率的一致性调节所述帧同步信号。
[0090] S33、将所述帧同步信号的调节值作为所述预设参考值。
[0091] 具体地,根据当前相机帧同步信号的传输速率和预览画面的显示速率即可得到当前相机的运行情况,当传输速率大于显示速率时,则说明显示比较卡顿,相机存储空间较小,则通过降低所述传输速率至预览画面的显示速率,能够缓解相机存储空间的容量。其中,帧同步信号的调节值能够反映相机自身存储空间的调节性能,将其设定为预设参考值能够方便对相机存储空间进行调节。
[0092] 可以理解地,本发明方案是在启用相机的预览功能时执行的,当对相机的存储空间进行调节之后,则可继续执行相机的预览功能,即正常从存储器中获取数据流并对数据流进行处理以呈现在智能终端的显示屏上,保证了预览图像显示的流畅度。
[0093] 进一步地,如图7所示,基于上述相机存储空间控制方法,本发明还相应提供了一种智能终端,所述智能终端包括处理器10、存储器20、显示器30及相机50。图7仅示出了智能终端的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
[0094] 所述存储器20在一些实施例中可以是所述智能终端的内部存储单元,例如智能终端的硬盘或内存。所述存储器20在另一些实施例中也可以是所述智能终端的外部存储设备,例如所述智能终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所述智能终端的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述智能终端的应用软件及各类数据,例如所述安装智能终端的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有相机50存储空间控制程序40,该相机50存储空间控制程序40可被处理器10所执行,从而实现本申请中相机50存储空间控制方法。
[0095] 所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述相机50存储空间控制方法等。
[0096] 所述显示器30在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light‑Emitting Diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述智能终端的信息以及用于显示可视化的用户界面。所述智能终端的部件10‑30通过系统总线相互通信。
[0097] 在一实施例中,当处理器10执行所述存储器20中相机50存储空间控制程序40时实现以下步骤:
[0098] 监测相机50存储空间中的数据变化;
[0099] 根据数据变化量与预设参考值的对应关系调整相机50存储空间的大小。
[0100] 进一步地,所述监测相机50存储空间中的数据变化包括:
[0101] 监测相机50存储空间中数据的变化速率;
[0102] 当所述变化速率高于预设速率阈值时,计算所述数据变化量。
[0103] 进一步地,计算所述数据变化量包括:
[0104] 以所述相机50的多个存储地址划分所述相机50的存储空间为多个子存储空间;
[0105] 从所有子存储空间中选取设定数量个子存储空间;
[0106] 将选取出的子存储空间中数据发生变化的占比作为所述数据变化量。
[0107] 进一步地,所述根据数据变化量与预设参考值的对应关系调整相机50存储空间的大小包括:
[0108] 当所述数据变化量大于所述预设参考值时,以设定调节梯度增加分配给所述相机50的存储空间,直至所述数据变化量小于所述预设参考值;
[0109] 当所述数据变化量小于所述预设参考值时,以设定调节梯度减小分配给所述相机50的存储空间,直至所述数据变化量大于所述预设参考值。
[0110] 进一步地,所述根据数据变化量与预设参考值的对应关系调整相机50存储空间的大小,之后还包括:
[0111] 当调整后的数据变化量大于所述预设参考值时,以一个所述设定调节梯度缩小所述相机50的存储空间;
[0112] 当调整后的数据变化量小于所述预设参考值时,以一个所述设定调节梯度扩大所述相机50的存储空间。
[0113] 进一步地,所述设定调节梯度根据所述相机50存储空间占系统存储空间的占比设定。
[0114] 进一步地,计算所述预设参考值包括:
[0115] 提取所述相机50的帧同步信号;
[0116] 拍摄所述相机50的预览画面;
[0117] 根据所述帧同步信号的传输速率和所述预览画面的显示速率确定所述预设参考值。
[0118] 进一步地,所述根据所述帧同步信号的传输速率和所述预览画面的显示速率确定所述预设参考值包括:
[0119] 将所述帧同步信号的传输速率和所述预览画面的显示速率进行对比;
[0120] 当所述传输速率大于所述显示速率时,基于所述传输速率和所述显示速率的一致性调节所述帧同步信号;
[0121] 将所述帧同步信号的调节值作为所述预设参考值。
[0122] 本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有相机存储空间控制程序,所述相机存储空间控制程序被处理器执行时实现如上所述的相机存储空间控制方法的步骤。
[0123] 本发明还提供一种基于上述相机存储空间控制方法的系统,所述系统包括相机、处理器和存储器,所述相机单独设置,与装置有所述处理器和存储器的智能设备通讯连接。
[0124] 其中,所述存储器中存储有相机存储空间控制程序以及相机数据,所述处理器用于执行所述相机存储空间控制程序,在执行时用于实现上述相机存储空间控制方法。
[0125] 具体地,所述智能设备用于监测相机存储空间中的数据变化;
[0126] 并根据数据变化量与预设参考值的对应关系调整相机存储空间的大小。
[0127] 进一步地,所述监测相机存储空间中的数据变化包括:
[0128] 智能设备监测相机存储空间中数据的变化速率;
[0129] 当所述变化速率高于预设速率阈值时,智能设备计算所述数据变化量。
[0130] 进一步地,计算所述数据变化量包括:
[0131] 智能设备以所述相机的多个存储地址划分所述相机的存储空间为多个子存储空间;
[0132] 从所有子存储空间中选取设定数量个子存储空间;
[0133] 将选取出的子存储空间中数据发生变化的占比作为所述数据变化量。
[0134] 进一步地,所述根据数据变化量与预设参考值的对应关系调整相机存储空间的大小包括:
[0135] 当所述数据变化量大于所述预设参考值时,智能设备以设定调节梯度增加分配给所述相机的存储空间,直至所述数据变化量小于所述预设参考值;
[0136] 当所述数据变化量小于所述预设参考值时,智能设备以设定调节梯度减小分配给所述相机的存储空间,直至所述数据变化量大于所述预设参考值。
[0137] 进一步地,所述根据数据变化量与预设参考值的对应关系调整相机存储空间的大小,之后还包括:
[0138] 当调整后的数据变化量大于所述预设参考值时,智能设备以一个所述设定调节梯度缩小所述相机的存储空间;
[0139] 当调整后的数据变化量小于所述预设参考值时,智能设备以一个所述设定调节梯度扩大所述相机的存储空间。
[0140] 进一步地,所述设定调节梯度根据所述相机存储空间占系统存储空间的占比设定。
[0141] 进一步地,计算所述预设参考值包括:
[0142] 智能设备提取所述相机的帧同步信号;
[0143] 智能设备拍摄所述相机的预览画面;
[0144] 根据所述帧同步信号的传输速率和所述预览画面的显示速率确定所述预设参考值。
[0145] 进一步地,所述根据所述帧同步信号的传输速率和所述预览画面的显示速率确定所述预设参考值包括:
[0146] 将所述帧同步信号的传输速率和所述预览画面的显示速率进行对比;
[0147] 当所述传输速率大于所述显示速率时,基于所述传输速率和所述显示速率的一致性调节所述帧同步信号;
[0148] 将所述帧同步信号的调节值作为所述预设参考值。
[0149] 本发明所提供的相机存储空间控制方法、智能终端及计算机可读存储介质,所述方法包括:监测相机存储空间中的数据变化;根据数据变化量与预设参考值的对应关系调整相机存储空间的大小。本发明通过对相机存储空间数据的变化情况进行监测,进而根据相机存储空间的数据变化进而对存储空间进行调整,根据数据的变化情况合理调整相机存储空间,实现了合理分配相机占用存储空间的大小并不占用其它程序的运行内存,并不影响其他应用的运行,同时也提高了相机数据的传输效率,保证了相机预览功能的正常使用。
[0150] 当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的计算机可读存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的计算机可读存储介质可为存储器、磁碟、光盘等。
[0151] 应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。