CN109756622B - 一种图像缓存方法、装置、移动终端及存储介质 - Google Patents
一种图像缓存方法、装置、移动终端及存储介质 Download PDFInfo
- Publication number
- CN109756622B CN109756622B CN201811603441.5A CN201811603441A CN109756622B CN 109756622 B CN109756622 B CN 109756622B CN 201811603441 A CN201811603441 A CN 201811603441A CN 109756622 B CN109756622 B CN 109756622B
- Authority
- CN
- China
- Prior art keywords
- cached
- images
- image
- mobile terminal
- calculating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Editing Of Facsimile Originals (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Image Processing (AREA)
Abstract
本发明提供了一种图像缓存方法、装置、移动终端及存储介质。所述方法包括:获取所述移动终端缓存图像的第一数目;获取贴纸所需的待缓存图像的第二数目;在所述第一数目小于所述第二数目的情况下,从待缓存图像中以指定间隔获取并缓存小于或等于所述第一数目的待缓存图像。本发明根据移动终端的内存大小确定最大可用内存,并在此限制下,可以减少对移动终端存储空间的占用,而且,能够在实现清晰、高帧率的贴纸效果的同时,解决无法实现贴纸效果的问题。
Description
技术领域
本发明涉及终端设备技术领域,特别是涉及一种图像缓存方法、装置、移动终端及存储介质。
背景技术
贴纸是移动终端(如手机等)视频类应用程序中的一项重要功能,为最终的视频增添了趣味性。
目前,贴纸通常由若干张图像组成,按序循环合成到视频中,以实现动画的效果。假如贴纸数量较少,可以全部加载到移动终端内存中,能够避免重复读取移动终端的外存文件,也可以减少对压缩图片的解压缩计算。
然而,在实现清晰、高帧率的贴纸效果时,需要将图片序列全部同时加载到移动终端内存中,会占用大量的存储空间,例如,贴纸由640x640的图像序列组成,并以30fps播放3秒,此时以位图形式存储在内存中需占用 30*3*640*640*4/1024=144000KB,近144MB存储空间。并且,对于内存不足的移动终端,可能导致无法实现贴纸效果。
发明内容
本发明实施例所要解决的技术问题是提供一种图像缓存方法、装置、移动终端及存储介质,以解决现有技术中实现清晰、高帧率的贴纸效果时,加载图像序列中的全部图像时比较占用存储空间,并且对于内存不足的移动终端可能导致无法实现贴纸效果的技术问题。
为了解决上述问题,本发明实施例是这样实现的:
第一方面,本发明实施例提供了一种图像缓存方法,包括:获取所述移动终端缓存图像的第一数目;获取贴纸所需的待缓存图像的第二数目;在所述第一数目小于所述第二数目的情况下,从待缓存图像中以指定间隔获取并缓存小于或等于所述第一数目的待缓存图像。
优选地,在所述获取所述移动终端缓存图像的第一数目之前,还包括:获取所述待缓存图像中的分辨率;依据所述分辨率,确定所述待缓存图像所占用的内存容量;所述获取所述移动终端缓存图像的第一数目,包括:依据所述移动终端的剩余内存容量,确定所述移动终端的最大缓存容量;依据所述最大缓存容量和所述内存容量,计算得到所述第一数目。
优选地,所述获取贴纸所需的待缓存图像的第二数目,包括:获取所述移动终端的播放帧率;依据所述播放帧率和预置贴纸设计帧率,计算得到所述第二数目。
优选地,所述从待缓存图像中以指定间隔获取并缓存小于或等于所述第一数目的待缓存图像,包括:依据所述第一数目和所述第二数目,计算得到图像选取间隔;依据所述图像选取间隔从所述待缓存图像中选取并缓存小于或等于所述第一数目的待缓存图像。
优选地,所述依据所述第一数目和所述第二数目,计算得到图像选取间隔,包括:计算所述第一数目与所述第二数目之间的比值;获取所述比值的最小整数值,并将所述最小整数值作为所述图像选取间隔。
优选地,在所述获取贴纸所需的待缓存图像的第二数目之后,还包括:在所述第一数目大于等于所述第二数目的情况下,缓存所述第二数目的待缓存图像。
优选地,在所述从待缓存图像中以指定间隔获取并缓存小于或等于所述第一数目的待缓存图像之后,还包括:获取加载所述待缓存图像所需的目标时间;依据所述目标时间,按照各所述待缓存图像的播放顺序,计算得到各所述待缓存图像的预加载时间;针对各所述待缓存图像,依次依据与所述待缓存图像对应的所述预加载时间,预加载所述待缓存图像。
第二方面,本发明实施例提供了一种图像缓存装置,包括:第一数目获取模块,用于获取所述移动终端缓存图像的第一数目;第二数目获取模块,用于获取贴纸所需的待缓存图像的第二数目;图像获取缓存模块,用于在所述第一数目小于所述第二数目的情况下,从待缓存图像中以指定间隔获取并缓存小于或等于所述第一数目的待缓存图像。
优选地,还包括:分辨率获取模块,用于获取所述待缓存图像中的分辨率;内存容量确定模块,用于依据所述分辨率,确定所述待缓存图像所占用的内存容量;所述第一数目获取模块包括:最大缓存确定子模块,用于依据所述移动终端的剩余内存容量,确定所述移动终端的最大缓存容量;第一数目计算子模块,用于依据所述最大缓存容量和所述内存容量,计算得到所述第一数目。
优选地,所述第二数目获取模块包括:播放帧率获取子模块,用于获取所述移动终端的播放帧率;第二数目计算子模块,用于依据所述播放帧率和预置贴纸设计帧率,计算得到所述第二数目。
优选地,所述图像获取缓存模块包括:选取间隔计算子模块,用于依据所述第一数目和所述第二数目,计算得到图像选取间隔;图像选取缓存子模块,用于依据所述图像选取间隔从所述待缓存图像中选取并缓存小于或等于所述第一数目的待缓存图像。
优选地,所述选取间隔计算子模块包括:比值计算子模块,用于计算所述第一数目与所述第二数目之间的比值;选取间隔获取子模块,用于获取所述比值的最小整数值,并将所述最小整数值作为所述图像选取间隔。
优选地,还包括:第二数目图像缓存模块,用于在所述第一数目大于等于所述第二数目的情况下,缓存所述第二数目的待缓存图像。
优选地,还包括:目标时间获取模块,用于获取加载所述待缓存图像所需的目标时间;预加载时间计算模块,用于依据所述目标时间,按照各所述待缓存图像的播放顺序,计算得到各所述待缓存图像的预加载时间;图像预加载模块,用于针对各所述待缓存图像,依次依据与所述待缓存图像对应的所述预加载时间,预加载所述待缓存图像。
第三方面,本发明实施例提供了一种移动终端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一项所述的图像缓存方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的图像缓存方法。
与现有技术相比,本发明实施例包括以下优点:
本发明实施例中,通过获取移动终端缓存图像的第一数目,并获取贴纸所需的待缓存图像的第二数目,在第一数目小于第二数目的情况下,从待缓存图像中以指定间隔获取并缓存小于或等于第一数目的待缓存图像,从而实现贴纸效果。本发明实施例根据移动终端的内存大小确定最大可用内存,并在此限制下,可以减少对移动终端存储空间的占用,而且,能够在实现清晰、高帧率的贴纸效果的同时,解决无法实现贴纸效果的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
图1是本发明实施例提供的一种图像缓存方法的步骤流程图;
图2是本发明实施例提供的一种图像缓存方法的步骤流程图;
图3是本发明实施例提供的一种图像缓存装置的结构示意图;
图4是本发明实施例提供的一种图像缓存装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明实施例提供的一种图像缓存方法的步骤流程图,该图像缓存方法可以应用于移动终端,具体可以包括如下步骤:
步骤101:获取所述移动终端缓存图像的第一数目。
在本发明实施例中,移动终端可以为手机、PDA(Personal Digital Assistant,个人数字助理)、平板电脑等移动电子设备。
本发明实施例可以应用于在实现贴纸动画效果时,缓存多张待缓存图像的场景中。
第一数目是指待缓存图像中,移动终端所能缓存的待缓存图像的最大数目。
在获取第一数目时,可以结合移动终端的剩余内存容量,及待缓存图像所占用的内存容量,从而计算得到第一数目,具体地,以下述优选实施例进行详细描述。
在本发明实施例的一种优选实施例中,在上述步骤101之前,还可以包括:
步骤A1:获取所述待缓存图像的分辨率。
在本发明实施例中,分辨率是指待缓存图像的分辨率,图像分辨率是指图像中的信息量,是每英寸图像内有多少个像素点。
在实现贴纸功能时,通常所需的多张待缓存图像中各待缓存图像的分辨率是相同的,例如,均为640*640等等,即各张待缓存图像所占用的内存大小是相同的,因而,仅需获取一张待缓存图像序列的分辨率即可。
在获取待缓存图像的分辨率之后,执行步骤A2。
步骤A2:依据所述分辨率,确定所述待缓存图像所占用的内存容量。
内存容量是指每张待缓存图像所占用的内存大小。
在获取待缓存图像的分辨率之后,可以根据待缓存图像的分辨率,计算出待缓存图像所占用的内存大小。
在具体实现中,可以将待缓存图像转换位图的形式,从而根据待缓存图像的分辨率,计算出待缓存图像所占用的内存大小。
在计算得到待缓存图像所占用的内存容量之后,可以在下述步骤中结合移动终端的最大缓存容量计算得到第一数目。
上述步骤101可以包括:
子步骤B1:依据所述移动终端的剩余内存容量,确定所述移动终端的最大缓存容量;
子步骤B2:依据所述最大缓存容量和所述内存容量,计算得到所述第一数目。
在本发明实施例中,剩余内存容量是指移动终端剩余的真实内存,例如,手机的总内存容量为16G,在使用了6G内存后,手机的剩余内存容量则为 10G。
最大缓存容量是指移动终端用于缓存图像的最大内存容量。
最大缓存容量可以小于移动终端的剩余内存容量,也可以等于移动终端的剩余内存容量,本发明实施例对此不加以限制。
在通常情况下,在设置移动终端的最大缓存容量时,可以设置最大缓存容量小于移动终端的剩余内存容量,以达到避免移动终端内存不足,而导致的贴纸所需的待缓存图像无法全部完成缓存的问题。
可以理解地,在获取移动终端的剩余内存容量之后,本领域技术人员可以根据经验确定移动终端的最大缓存容量,而对于具体地确定方式,本发明实施例不加以限制。
在确定移动终端的最大缓存容量之后,可以按照待缓存图像所占用的内存获取移动终端的第一数目,例如,移动终端的最大缓存容量为10G,待缓存图像所占用的内存为1G,则移动终端的缓存图像的数目为10张。
而对于第一数目的方式可以参照下述公式(1)计算得到:
P=floor(M/C) (1)
上述公式(1)中,P为第一数目,M为最大缓存容量,C为内存容量。
也即计算出移动终端的最大缓存容量与待缓存图像所占用的内存容量的比值,然后对比值向下取整之后得到的结果,例如,在计算得到的比值为 6.89时,向下取整则得到的结果P值为6。
可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。
当然,在实际应用中,本领域技术人员还可以采用其它方式计算缓存数目,本发明实施例对此不加以限制。
在获取终端缓存图像的第一数目之后,执行步骤102。
步骤102:获取贴纸所需的待缓存图像的第二数目。
第二数目是指设计贴纸功能所需的待缓存图像的数目。
在本发明中,可以依据移动终端的播放帧率和实现贴纸功能时预先设置的预置贴纸设计帧率,获取第二数目,具体地,以下述优选实施例进行详细描述。
在本发明实施例的一种优选实施例中,上述步骤102可以包括:
子步骤C1:获取所述移动终端的播放帧率;
子步骤C2:依据所述播放帧率和预置贴纸设计帧率,计算得到所述第二数目。
在本发明实施例中,帧率(Frame rate)是用于测量显示帧数的量度,测量单位为每秒显示帧数(Frames per Second,FPS)或“赫兹Hz”。
播放帧率是指移动终端的每秒播放的图像的帧数,如15fps表示每秒播放15帧图像。
预置贴纸设计帧率是指预先设置的贴纸功能所对应的帧率,如30fps表示设计贴纸功能时,每秒播放30帧图像。
在设置贴纸功能时,可以预先选取待缓存图像,并设计了预置贴纸设计帧率,根据待缓存图像、播放帧率和预置贴纸设计帧率就可以计算出贴纸所需的第二数目,例如,贴纸所需的待缓存图像的数目为3000张,预置贴纸设计帧率为30fps,预置的播放时间需要100s,移动终端的播放帧率为15fps,在播放时间为100s的情况下,则第二数目为1500张。
可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。
在获取贴纸所需的待缓存图像的第二数目之后,执行步骤103。
步骤103:在所述第一数目小于所述第二数目的情况下,从待缓存图像中以指定间隔获取并缓存小于或等于所述第一数目的待缓存图像。
在获取第二数目和第一数目之后,可以比较第二数目和第一数目的大小,在第一数目小于第二数目的情况下,即贴纸所需的第二数目大于第一数目的情况下,则从待缓存图像中以指定间隔获取小于等于第一数目的待缓存图像,并缓存获取的待缓存图像,例如,第一数目为50,第二数目为60,则从待缓存图像中获取50张待缓存图像,或获取少于50张的待缓存图像等。
当然,在进行待缓存图像选取时,可以从待缓存图像中选取靠前的小于或等于第一数目的待缓存图像,也可以选取靠后的小于或等于第一数目的待缓存图像,也可以间隔选取小于或等于第一数目的待缓存图像,本发明实施例对此不加以限制。
可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。
在本发明中,还可以预先获取图像选取间隔,并以图像选取间隔获取小于或等于第一数目的待缓存图像,具体地,以下述优选实施例进行详细描述。
在本发明实施例的一种优选实施例中,上述步骤103可以包括:
子步骤D1:依据所述第一数目和所述第二数目,计算得到图像选取间隔;
子步骤D2:依据所述图像选取间隔从所述待缓存图像中选取并缓存小于或等于所述第一数目的待缓存图像。
在本发明实施例中,图像选取间隔是指从多张待缓存图像中每隔多少张待缓存图像选取一张待缓存图像作为后续的缓存的图像。
在获取第一数目和第二数目之后,可以依据第一数目和第二数目计算得到图像选取间隔,进而依据图像选取间隔从待缓存图像选取并缓存小于或等于第一数目的待缓存图像。
具体地,可以计算第一数目与第二数目之间的比值,然后获取比值的最小整数值,并将该最小整数值作为图像选取间隔,如下述公式(2)所示:
d=ceil(n/p) (2)
上述公式(2)中,n为第二数目,p为第一数目,d为图像选取间隔。
ceil表示用于返回大于或者等于指定表达式的最小整数,本发明是在得到第二数目和移动终端的第一数目之后,计算第二数目和第一数目的比值,将获取的大于或等于该比值的最小整数值作为图像选取间隔,例如,第二数目为1000,第一数目为600,则二者的比值为1.666,则获取的图像选取间隔为2,也即大于等于1.666的最小整数。
在获取图像选取间隔之后,可以依据图像选取间隔从待缓存图像中选取小于或等于第一数目的待缓存图像,例如,第二数目为1000,第一数目为 600,图像选取间隔为2,第二数目的待缓存图像组成的序列为: I={I1,I2,...,I1000},则从中选取的小于或等于第一数目的待缓存图像为I1、I3、…,通过上述选取方式从中选取的图像数量为500张。而为了达到更好的贴纸效果,可以对待缓存图像序列中后100多张的选取时,不再采用图像选取间隔的选取方式,直接凑够600张即可,当然,也可以对待缓存图像序列中的前 100多张的选取时,不再采用图像选取间隔的选取方式,直接凑够600张。
可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。
在获取到小于或等于第一数目的待缓存图像之后,可以对选取的待缓存图像进行缓存,以应用于后续贴纸的场景中。
本发明实施例通过采用间隔缓存的机制,可以充分利用移动终端的存储空间,能够在实现清晰、高帧率的贴纸效果的同时,解决了无法实现贴纸效果的问题。
本发明实施例提供的图像缓存方法,通过获取移动终端缓存图像的第一数目,并获取贴纸所需的待缓存图像的第二数目,在第一数目小于第二数目的情况下,从待缓存图像中以指定间隔获取并缓存小于或等于第一数目的待缓存图像,从而实现贴纸效果。本发明实施例根据移动终端的内存大小确定最大可用内存,并在此限制下,可以减少对移动终端存储空间的占用,而且,能够在实现清晰、高帧率的贴纸效果的同时,解决无法实现贴纸效果的问题。
参照图2,示出了本发明实施例提供的一种图像缓存方法的步骤流程图,该图像缓存方法可以应用于移动终端,具体可以包括如下步骤:
步骤201:获取所述移动终端缓存图像的第一数目。
在本发明实施例中,移动终端可以为手机、PDA(Personal Digital Assistant,个人数字助理)、平板电脑等移动电子设备。
本发明实施例可以应用于在实现贴纸动画效果时,缓存多张待缓存图像的场景中。
第一数目是指待缓存图像中,移动终端所能缓存的待缓存图像的最大数目。
在获取第一数目时,可以结合移动终端的剩余内存容量,及待缓存图像所占用的内存容量,从而计算得到第一数目。
具体地,首先,可以获取待缓存图像的分辨率,分辨率是指待缓存图像的分辨率,图像分辨率是指图像中的信息量,是每英寸图像内有多少个像素点。在实现贴纸功能时,通常所需的多张待缓存图像中各待缓存图像的分辨率是相同的,例如,均为640*640等等,即各张待缓存图像所占用的内存大小是相同的,因而,仅需获取一张待缓存图像序列的分辨率即可。
然后,根据分辨率确定待缓存图像所占用的内存容量。内存容量是指每张待缓存图像所占用的内存大小。
在获取待缓存图像的分辨率之后,可以根据待缓存图像的分辨率,计算出待缓存图像所占用的内存大小。
在具体实现中,可以将待缓存图像转换位图的形式,从而根据待缓存图像的分辨率,计算出待缓存图像所占用的内存大小。
在计算得到待缓存图像所占用的内存容量之后,可以结合移动终端的最大缓存容量计算得到第一数目。
最大缓存容量是指移动终端用于缓存图像的最大内存容量。
最大缓存容量可以小于移动终端的剩余内存容量,也可以等于移动终端的剩余内存容量,本发明实施例对此不加以限制。
在通常情况下,在设置移动终端的最大缓存容量时,可以设置最大缓存容量小于移动终端的剩余内存容量,以达到避免移动终端内存不足,而导致的贴纸所需的待缓存图像无法全部完成缓存的问题。
可以理解地,在获取移动终端的剩余内存容量之后,本领域技术人员可以根据经验确定移动终端的最大缓存容量,而对于具体地确定方式,本发明实施例不加以限制。
在确定移动终端的最大缓存容量之后,可以按照待缓存图像所占用的内存获取移动终端的第一数目,例如,移动终端的最大缓存容量为10G,待缓存图像所占用的内存为1G,则移动终端的缓存图像的数目为10张。
而对于第一数目的方式可以参照下述公式(3)计算得到:
P=floor(M/C) (3)
上述公式(3)中,P为第一数目,M为最大缓存容量,C为内存容量。
也即计算出移动终端的最大缓存容量与待缓存图像所占用的内存容量的比值,然后对比值向下取整之后得到的结果,例如,在计算得到的比值为 6.89时,向下取整则得到的结果P值为6。
可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。
在获取终端缓存图像的第一数目之后,执行步骤202。
步骤202:获取贴纸所需的待缓存图像的第二数目。
在本发明中,可以依据移动终端的播放帧率和实现贴纸功能时预先设置的预置贴纸设计帧率,获取第二数目,具体地,以下述优选实施例进行详细描述。
在本发明实施例的一种优选实施例中,上述步骤202可以包括:
子步骤S1:获取所述移动终端的播放帧率;
子步骤S2:依据所述播放帧率和预置贴纸设计帧率,计算得到所述第二数目。
在本发明实施例中,帧率(Frame rate)是用于测量显示帧数的量度,测量单位为每秒显示帧数(Frames per Second,FPS)或“赫兹Hz”。
播放帧率是指移动终端的每秒播放的图像的帧数,如15fps表示每秒播放15帧图像。
预置贴纸设计帧率是指预先设置的贴纸功能所对应的帧率,如30fps表示设计贴纸功能时,每秒播放30帧图像。
在设置贴纸功能时,可以预先选取待缓存图像,并设计了预置贴纸设计帧率,根据待缓存图像、播放帧率和预置贴纸设计帧率就可以计算出贴纸所需的第二数目,例如,贴纸所需的待缓存图像的数目为3000张,预置贴纸设计帧率为30fps,预置的播放时间需要100s,移动终端的播放帧率为15fps,在播放时间为100s的情况下,则第二数目为1500张。
可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。
在获取贴纸所需的待缓存图像的第二数目之后,执行步骤203,或执行步骤204。
步骤203:在所述第一数目小于所述第二数目的情况下,从待缓存图像中以指定间隔获取并缓存小于或等于所述第一数目的待缓存图像。
在获取第二数目和第一数目之后,可以比较第二数目和第一数目的大小,在第一数目小于第二数目的情况下,即贴纸所需的第二数目大于第一数目的情况下,则从待缓存图像中以指定间隔获取小于等于第一数目的待缓存图像,并缓存获取的待缓存图像,例如,第一数目为50,第二数目为60,则从待缓存图像中获取50张待缓存图像,或获取少于50张的待缓存图像等。
当然,在进行待缓存图像选取时,可以从待缓存图像中选取靠前的小于或等于第一数目的待缓存图像,也可以选取靠后的小于或等于第一数目的待缓存图像,也可以间隔选取小于或等于第一数目的待缓存图像,本发明实施例对此不加以限制。
可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。
在本发明中,还可以预先获取图像选取间隔,并以图像选取间隔获取小于或等于第一数目的待缓存图像,具体地,以下述优选实施例进行详细描述。
在本发明实施例的一种优选实施例中,上述步骤203可以包括:
子步骤M1:依据所述第一数目和所述第二数目,计算得到图像选取间隔;
子步骤M2:依据所述图像选取间隔从所述待缓存图像中选取并缓存小于或等于所述第一数目的待缓存图像。
在本发明实施例中,图像选取间隔是指从多张待缓存图像中每隔多少张待缓存图像选取一张待缓存图像作为后续的缓存的图像。
在获取第一数目和第二数目之后,可以依据第一数目和第二数目计算得到图像选取间隔,进而依据图像选取间隔从待缓存图像选取并缓存小于或等于第一数目的待缓存图像。
具体地,可以计算第一数目与第二数目之间的比值,然后获取比值的最小整数值,并将该最小整数值作为图像选取间隔,如下述公式(4)所示:
d=ceil(n/p) (4)
上述公式(4)中,n为第二数目,p为第一数目,d为图像选取间隔。
ceil表示用于返回大于或者等于指定表达式的最小整数,本发明是在得到第二数目和移动终端的第一数目之后,计算第二数目和第一数目的比值,将获取的大于或等于该比值的最小整数值作为图像选取间隔,例如,第二数目为1000,第一数目为600,则二者的比值为1.666,则获取的图像选取间隔为2,也即大于等于1.666的最小整数。
在获取图像选取间隔之后,可以依据图像选取间隔从待缓存图像中选取小于或等于第一数目的待缓存图像,例如,第二数目为1000,第一数目为 600,图像选取间隔为2,第二数目的待缓存图像组成的序列为: I={I1,I2,...,I1000},则从中选取的小于或等于第一数目的待缓存图像为I1、I3、…,通过上述选取方式从中选取的图像数量为500张。而为了达到更好的贴纸效果,可以对待缓存图像序列中后100多张的选取时,不再采用图像选取间隔的选取方式,直接凑够600张即可,当然,也可以对待缓存图像序列中的前 100多张的选取时,不再采用图像选取间隔的选取方式,直接凑够600张。
可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。
在获取到小于或等于第一数目的待缓存图像之后,可以对选取的待缓存图像进行缓存,以应用于后续贴纸的场景中。
步骤204:在所述第一数目大于等于所述第二数目的情况下,缓存所述第二数目的待缓存图像。
在第一数目大于等于第二数目的情况下,表示实现贴纸功能的待缓存图像的数目未超过移动终端所能容许缓存的最大数目,可以直接将贴纸所需的第二数目的待缓存图像直接进行缓存,以实现后续的贴纸功能。
步骤205:获取加载所述待缓存图像所需的目标时间。
在本发明实施例中,目标时间是指加载单张待缓存图像所需的时间。
在缓存贴纸所需的目标缓存数目的待缓存图像之后,可以计算加载单张待缓存图像所需的时间,可以理解地,由于各张待缓存图像是以位图的形式加载的,且各张待缓存图像的大小和分辨率均相同,因此,在加载时,可以认为加载每张待缓存图像的时间是相同的。
在播放目标缓存数目的待缓存图像时,即在实现贴纸效果,对各待缓存图像依序播放时,可以获取加载单张待缓存图像所需的目标时间。
在获取加载单张待缓存图像所需的目标时间之后,执行步骤206。
步骤206:依据所述目标时间,按照各所述待缓存图像的播放顺序,计算得到各所述待缓存图像的预加载时间。
在获取加载各张待缓存图像的目标时间之后,可以按照各张待缓存图像的播放顺序,计算各待缓存图像的预加载时间,例如,待缓存图像的播放顺序依次为图像1、图像2、图像3、…、图像n,n为大于等于1的正整数,目标时间为1s,在需要播放图像1时,则可以直接加载图像1,即图像1的预加载时间为0s,在播放图像1的同时,对后续的图像分别进行预加载,图像2的预加载时间也为0s,即在播放图像1的同时,开始预加载图像2,图像3的预加载时间为1s,也即在1s后记载图像2的同时,预加载图像3,依次类推…,也即图像4的预加载时间为2s,图像5的预加载时间为3s…图像 n的预加载时间为(n-2)s。
可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。
在依据目标时间,按照各待缓存图像的播放顺序,计算得到各待缓存图像的预加载时间之后,执行步骤207。
步骤207:针对各所述待缓存图像,依次依据与所述待缓存图像对应的所述预加载时间,预加载所述待缓存图像。
在本发明实施例中,在计算出各待缓存图像的预加载时间之后,可以触发多线程预加载各张待缓存图像,通过对各张待缓存图像执行预加载,从而可以减少合成时的图片加载等待时间,提高了贴纸播放效率。
本发明实施例提供的图像缓存方法,通过获取移动终端缓存图像的第一数目,并获取贴纸所需的待缓存图像的第二数目,在第一数目小于第二数目的情况下,从待缓存图像中以指定间隔获取并缓存小于或等于第一数目的待缓存图像,从而实现贴纸效果。本发明实施例根据移动终端的内存大小确定最大可用内存,并在此限制下,可以减少对移动终端存储空间的占用,而且,能够在实现清晰、高帧率的贴纸效果的同时,解决无法实现贴纸效果的问题。并且,通过预加载各待缓存图像,从而减少了合成时图片加载的等待时间。
参照图3,示出了本发明实施例提供的一种图像缓存装置的结构示意图,该图像缓存装置可以应用于移动终端,具体可以包括:
第一数目获取模块310,用于获取所述移动终端缓存图像的第一数目;第二数目获取模块320,用于获取贴纸所需的待缓存图像的第二数目;图像获取缓存模块330,用于在所述第一数目小于所述第二数目的情况下,从待缓存图像中以指定间隔获取并缓存小于或等于所述第一数目的待缓存图像。
优选地,还包括:分辨率获取模块,用于获取所述待缓存图像中的分辨率;内存容量确定模块,用于依据所述分辨率,确定所述待缓存图像所占用的内存容量;所述第一数目获取模块310包括:最大缓存确定子模块,用于依据所述移动终端的剩余内存容量,确定所述移动终端的最大缓存容量;第一数目计算子模块,用于依据所述最大缓存容量和所述内存容量,计算得到所述第一数目。
优选地,所述第二数目获取模块320包括:播放帧率获取子模块,用于获取所述移动终端的播放帧率;第二数目计算子模块,用于依据所述播放帧率和预置贴纸设计帧率,计算得到所述第二数目。
优选地,所述图像获取缓存模块330包括:选取间隔计算子模块,用于依据所述第一数目和所述第二数目,计算得到图像选取间隔;图像选取缓存子模块,用于依据所述图像选取间隔从所述待缓存图像中选取并缓存小于或等于所述第一数目的待缓存图像。
优选地,所述选取间隔计算子模块包括:比值计算子模块,用于计算所述第一数目与所述第二数目之间的比值;选取间隔获取子模块,用于获取所述比值的最小整数值,并将所述最小整数值作为所述图像选取间隔。
本发明实施例提供的图像缓存装置,通过获取移动终端缓存图像的第一数目,并获取贴纸所需的待缓存图像的第二数目,在第一数目小于第二数目的情况下,从待缓存图像中以指定间隔获取并缓存小于或等于第一数目的待缓存图像,从而实现贴纸效果。本发明实施例根据移动终端的内存大小确定最大可用内存,并在此限制下,可以减少对移动终端存储空间的占用,而且,能够在实现清晰、高帧率的贴纸效果的同时,解决无法实现贴纸效果的问题。
参照图4,示出了本发明实施例提供的一种图像缓存装置的结构示意图,该图像缓存装置可以应用于移动终端,具体可以包括:
第一数目获取模块410,用于获取所述移动终端缓存图像的第一数目;第二数目获取模块420,用于获取贴纸所需的待缓存图像的第二数目;图像获取缓存模块430,用于在所述第一数目小于所述第二数目的情况下,从待缓存图像中以指定间隔获取并缓存小于或等于所述第一数目的待缓存图像;第二数目图像缓存模块440,用于在所述第一数目大于等于所述第二数目的情况下,缓存所述第二数目的待缓存图像;目标时间获取模块450,用于获取加载所述待缓存图像所需的目标时间;预加载时间计算模块460,用于依据所述目标时间,按照各所述待缓存图像的播放顺序,计算得到各所述待缓存图像的预加载时间;图像预加载模块470,用于针对各所述待缓存图像,依次依据与所述待缓存图像对应的所述预加载时间,预加载所述待缓存图像。
本发明实施例提供的图像缓存装置,通过获取移动终端缓存图像的第一数目,并获取贴纸所需的待缓存图像的第二数目,在第一数目小于第二数目的情况下,从待缓存图像中以指定间隔获取并缓存小于或等于第一数目的待缓存图像,从而实现贴纸效果。本发明实施例根据移动终端的内存大小确定最大可用内存,并在此限制下,可以减少对移动终端存储空间的占用,而且,能够在实现清晰、高帧率的贴纸效果的同时,解决无法实现贴纸效果的问题。并且,通过预加载各待缓存图像,从而减少了合成时图片加载的等待时间。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可选的,本发明还提供一种移动终端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述图像缓存方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
可选的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的图像缓存方法的步骤。其中,所述的计算机可读存储介质,如只读存储器 (Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例中,通过获取移动终端缓存图像的第一数目,并获取贴纸所需的待缓存图像的第二数目,在第一数目小于第二数目的情况下,从待缓存图像中以指定间隔获取并缓存小于或等于第一数目的待缓存图像,从而实现贴纸效果。本发明实施例根据移动终端的内存大小确定最大可用内存,并在此限制下,可以减少对移动终端存储空间的占用,而且,能够在实现清晰、高帧率的贴纸效果的同时,解决无法实现贴纸效果的问题。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种图像缓存方法、一种图像缓存装置、一种移动终端和一种计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (16)
1.一种图像缓存方法,应用于移动终端,其特征在于,包括:
获取所述移动终端缓存图像的第一数目;
获取贴纸所需的待缓存图像的第二数目;
在所述第一数目小于所述第二数目的情况下,从待缓存图像中以指定间隔获取并缓存小于或等于所述第一数目的待缓存图像;
其中,所述第一数目由待缓存图像所占用的内存容量和移动终端的剩余内存容量经过计算得到;所述第二数目由移动终端的播放帧率和预置贴纸设计帧率经过计算得到。
2.根据权利要求1所述的方法,其特征在于,在所述获取所述移动终端缓存图像的第一数目之前,还包括:
获取所述待缓存图像中的分辨率;
依据所述分辨率,确定所述待缓存图像所占用的内存容量;
所述获取所述移动终端缓存图像的第一数目,包括:
依据所述移动终端的剩余内存容量,确定所述移动终端的最大缓存容量;
依据所述最大缓存容量和所述内存容量,计算得到所述第一数目。
3.根据权利要求1所述的方法,其特征在于,所述获取贴纸所需的待缓存图像的第二数目,包括:
获取所述移动终端的播放帧率;
依据所述播放帧率和预置贴纸设计帧率,计算得到所述第二数目。
4.根据权利要求1所述的方法,其特征在于,所述从待缓存图像中以指定间隔获取并缓存小于或等于所述第一数目的待缓存图像,包括:
依据所述第一数目和所述第二数目,计算得到图像选取间隔;
依据所述图像选取间隔从所述待缓存图像中选取并缓存小于或等于所述第一数目的待缓存图像。
5.根据权利要求4所述的方法,其特征在于,所述依据所述第一数目和所述第二数目,计算得到图像选取间隔,包括:
计算所述第一数目与所述第二数目之间的比值;
获取所述比值的最小整数值,并将所述最小整数值作为所述图像选取间隔。
6.根据权利要求1所述的方法,其特征在于,在所述获取贴纸所需的待缓存图像的第二数目之后,还包括:
在所述第一数目大于等于所述第二数目的情况下,缓存所述第二数目的待缓存图像。
7.根据权利要求1所述的方法,其特征在于,在所述从待缓存图像中以指定间隔获取并缓存小于或等于所述第一数目的待缓存图像之后,还包括:
获取加载所述待缓存图像所需的目标时间;
依据所述目标时间,按照各所述待缓存图像的播放顺序,计算得到各所述待缓存图像的预加载时间;
针对各所述待缓存图像,依次依据与所述待缓存图像对应的所述预加载时间,预加载所述待缓存图像。
8.一种图像缓存装置,应用于移动终端,其特征在于,包括:
第一数目获取模块,用于获取所述移动终端缓存图像的第一数目;
第二数目获取模块,用于获取贴纸所需的待缓存图像的第二数目;
图像获取缓存模块,用于在所述第一数目小于所述第二数目的情况下,从待缓存图像中以指定间隔获取并缓存小于或等于所述第一数目的待缓存图像;
其中,所述第一数目由待缓存图像所占用的内存容量和移动终端的剩余内存容量经过计算得到;所述第二数目由移动终端的播放帧率和预置贴纸设计帧率经过计算得到。
9.根据权利要求8所述的装置,其特征在于,还包括:
分辨率获取模块,用于获取所述待缓存图像中的分辨率;
内存容量确定模块,用于依据所述分辨率,确定所述待缓存图像所占用的内存容量;
所述第一数目获取模块包括:
最大缓存确定子模块,用于依据所述移动终端的剩余内存容量,确定所述移动终端的最大缓存容量;
第一数目计算子模块,用于依据所述最大缓存容量和所述内存容量,计算得到所述第一数目。
10.根据权利要求8所述的装置,其特征在于,所述第二数目获取模块包括:
播放帧率获取子模块,用于获取所述移动终端的播放帧率;
第二数目计算子模块,用于依据所述播放帧率和预置贴纸设计帧率,计算得到所述第二数目。
11.根据权利要求8所述的装置,其特征在于,所述图像获取缓存模块包括:
选取间隔计算子模块,用于依据所述第一数目和所述第二数目,计算得到图像选取间隔;
图像选取缓存子模块,用于依据所述图像选取间隔从所述待缓存图像中选取并缓存小于或等于所述第一数目的待缓存图像。
12.根据权利要求11所述的装置,其特征在于,所述选取间隔计算子模块包括:
比值计算子模块,用于计算所述第一数目与所述第二数目之间的比值;
选取间隔获取子模块,用于获取所述比值的最小整数值,并将所述最小整数值作为所述图像选取间隔。
13.根据权利要求8所述的装置,其特征在于,还包括:
第二数目图像缓存模块,用于在所述第一数目大于等于所述第二数目的情况下,缓存所述第二数目的待缓存图像。
14.根据权利要求8所述的装置,其特征在于,还包括:
目标时间获取模块,用于获取加载所述待缓存图像所需的目标时间;
预加载时间计算模块,用于依据所述目标时间,按照各所述待缓存图像的播放顺序,计算得到各所述待缓存图像的预加载时间;
图像预加载模块,用于针对各所述待缓存图像,依次依据与所述待缓存图像对应的所述预加载时间,预加载所述待缓存图像。
15.一种移动终端,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的图像缓存方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的图像缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811603441.5A CN109756622B (zh) | 2018-12-26 | 2018-12-26 | 一种图像缓存方法、装置、移动终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811603441.5A CN109756622B (zh) | 2018-12-26 | 2018-12-26 | 一种图像缓存方法、装置、移动终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109756622A CN109756622A (zh) | 2019-05-14 |
CN109756622B true CN109756622B (zh) | 2021-03-26 |
Family
ID=66403171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811603441.5A Active CN109756622B (zh) | 2018-12-26 | 2018-12-26 | 一种图像缓存方法、装置、移动终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109756622B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112017261B (zh) * | 2019-05-30 | 2024-06-18 | 北京字节跳动网络技术有限公司 | 贴纸生成方法、装置、电子设备及计算机可读存储介质 |
CN110647378A (zh) * | 2019-09-30 | 2020-01-03 | 北京金山安全软件有限公司 | 动态图像的加载方法、装置和电子设备 |
CN111711841B (zh) * | 2020-07-27 | 2022-09-09 | 广州酷狗计算机科技有限公司 | 图像帧播放方法、装置、终端及存储介质 |
CN113254211B (zh) * | 2021-06-01 | 2023-04-07 | 广州小鹏汽车科技有限公司 | 缓存分配方法、装置、电子设备及存储介质 |
CN113438537A (zh) * | 2021-06-24 | 2021-09-24 | 广州欢网科技有限责任公司 | 终端屏保加载方法、装置及终端设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794567A (zh) * | 2010-02-10 | 2010-08-04 | 中兴通讯股份有限公司 | 图片加载的方法及终端 |
CN106791480A (zh) * | 2016-11-30 | 2017-05-31 | 努比亚技术有限公司 | 一种终端和缩略视频创建方法 |
CN108377399A (zh) * | 2018-03-07 | 2018-08-07 | 广州图普网络科技有限公司 | 实时视频流转码方法、装置及计算机可读存储介质 |
CN108540819A (zh) * | 2018-04-12 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 直播数据处理方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9076043B2 (en) * | 2012-08-03 | 2015-07-07 | Kodak Alaris Inc. | Video summarization using group sparsity analysis |
-
2018
- 2018-12-26 CN CN201811603441.5A patent/CN109756622B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794567A (zh) * | 2010-02-10 | 2010-08-04 | 中兴通讯股份有限公司 | 图片加载的方法及终端 |
CN106791480A (zh) * | 2016-11-30 | 2017-05-31 | 努比亚技术有限公司 | 一种终端和缩略视频创建方法 |
CN108377399A (zh) * | 2018-03-07 | 2018-08-07 | 广州图普网络科技有限公司 | 实时视频流转码方法、装置及计算机可读存储介质 |
CN108540819A (zh) * | 2018-04-12 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 直播数据处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109756622A (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109756622B (zh) | 一种图像缓存方法、装置、移动终端及存储介质 | |
US20160227092A1 (en) | Image capturing apparatus and method of controlling the same | |
US20160321833A1 (en) | Method and apparatus for generating moving photograph based on moving effect | |
CN109996009B (zh) | 图像处理方法、装置、存储介质及电子设备 | |
KR20110129342A (ko) | 촬상 장치 | |
CN105338259B (zh) | 一种合成视频的方法及装置 | |
CN107147851B (zh) | 照片处理方法、装置、计算机可读存储介质及电子设备 | |
US20140369611A1 (en) | Image processing apparatus and control method thereof | |
JP2011029701A5 (zh) | ||
CN109068165B (zh) | 一种动态图显示方法及装置 | |
CN101263419A (zh) | 相机的触发音 | |
WO2021077141A2 (en) | Highlight moment detection for slow-motion videos | |
JP6230386B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
KR20100035381A (ko) | 영상 처리 방법 및 장치, 이를 이용한 디지털 촬영 장치 | |
JP6021594B2 (ja) | 撮像装置及びプログラム | |
CN114598893A (zh) | 文字的视频实现方法及系统、电子设备、存储介质 | |
JP2015061236A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP5811076B2 (ja) | 動画記録装置、動画記録方法及びプログラム | |
JP5381279B2 (ja) | 撮影装置 | |
US10313625B2 (en) | Method, apparatus, and storage medium for video file processing | |
JPH06149987A (ja) | データ取り込み制御装置 | |
US20200314336A1 (en) | Imaging apparatus and recording control method | |
US20200267338A1 (en) | Image capturing apparatus, image processing apparatus, control method, image processing method, and storage medium | |
JP6569188B2 (ja) | 撮像装置 | |
JP4969371B2 (ja) | 撮像装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |