一种高效率图档格式HEIF图像加载方法及装置制造方法及图纸

技术编号:21363902 阅读:33 留言:0更新日期:2019-06-15 09:51
一种高效率图档格式HEIF图像加载方法及装置。本申请实施例公开了一种HEIF图像加载方法,该方法在检测到获取的目标图像为HEIF图像时,基于应用程序中的图像加载框架,调用HEIF图像原生解码器对目标图像进行解码操作,并调用图形处理器根据解码得到的位图数据渲染加载目标图像。图像加载框架会预先构建三级缓存区,分别为磁盘图像缓存区、未解码图像缓存区和已解码图像缓存区,在加载目标图像的过程中,将经各个阶段处理得到与目标图像相关的数据分别存储在各级缓存区,即使对其中某级缓存区进行了清理,应用程序在需要加载已加载过的HEIF图像时,仍可以从其他缓存区中获取与HEIF图像相关的数据,进而直接基于该数据进行再次加载目标图像,终端无需多次获取HEIF图像。

A High Efficiency File Format HEIF Image Loading Method and Device

A high efficiency file format HEIF image loading method and device. The embodiment of this application discloses a HEIF image loading method. When the acquired target image is detected as HEIF image, the method calls the HEIF image native decoder to decode the target image based on the image loading framework of the application program, and calls the graphics processor to render and load the target image according to the decoded bitmap data. The image loading framework pre-constructs three-level buffers, namely disk image buffer, uncoded image buffer and decoded image buffer. In the process of loading the target image, the data related to the target image are stored in different levels of buffers after processing at different stages. Even if one level of the buffer is cleaned up, the application needs to load the added buffers. When the HEIF image is loaded, the data related to the HEIF image can still be obtained from other buffers, and then the target image can be loaded directly based on the data. The terminal does not need to acquire the HEIF image many times.

【技术实现步骤摘要】
一种高效率图档格式HEIF图像加载方法及装置
本申请涉及图像处理
,尤其涉及一种高效率图档格式HEIF图像加载方法及装置。
技术介绍
高效率图档格式(HighEfficiencyImageFileFormat,HEIF)是动态图像专家组(MovingPictureExpertsGroup,MPEG)在2013年推出的一种图像格式,其可以利用更少的容量存储画质相同或更好的图像;从理论上来说,HEIF图像文件是JPEG(JointPhotographicExpertsGroup)图像文件大小的一半,但是HEIF图像文件具有与JPEG图像文件相同、甚至更好的图像质量。现阶段,AndroidP系统已推出支持HEIF图像格式的功能,即可以利用AndroidP系统的原生解码器对HEIF图像进行解码,并基于解码得到的位图渲染加载HEIF图像。相应地,当AndroidP系统上运行的应用程序需要显示HEIF图像时,其可以从网络或终端本地获取HEIF图像,将该HEIF图像存储于系统内存,然后通过AndroidP系统的原生应用程序编程接口(ApplicationProgrammingInterface,API),调用AndroidP系统的原生解码器对系统内存中存储的HEIF图像进行解码,得到该HEIF图像对应的位图数据,将该位图数据存储于系统内存中,进而调用图形处理器根据系统内存中存储的位图数据渲染显示HEIF图像。在上述HEIF图像加载方法中,无论是从网络或本地获取的HEIF图像,还是解码HEIF图像得到的位图数据,均被存储在系统内存中;由于系统内存容量有限,随着加载的HEIF图像的逐渐增多,其中剩余的可用内存将快速地减少,可能在很短的时间内,其中剩余的可用内存就无法支撑应用程序的正常运行;若要保证应用程序的正常运行,则需要清理系统内存,如此一来,对于一些已加载过的HEIF图像,应用程序仍需重新执行上述加载流程,这样将对终端处理器的性能产生大量的损耗,甚至会对终端的寿命产生影响。
技术实现思路
本申请实施例提供了一种HEIF图像加载方法及装置,能够有效地减少对终端处理器性能的耗费,延长终端的使用寿命。有鉴于此,本申请第一方面提供了一种HEIF图像加载方法,应用于终端,所述终端中安装有应用程序,所述应用程序中包括图像加载框架,所述方法包括:目标图像第一缓存步骤:所述应用程序获取目标图像,调用所述图像加载框架将所述目标图像存储于磁盘图像缓存区;所述磁盘图像缓存区设置于所述终端的磁盘中;目标图像第二缓存步骤:调用所述图像加载框架将所述目标图像存储于未解码图像缓存区;所述未解码图像缓存区设置于所述终端的内存中;图像解码步骤:判断所述目标图像是否为HEIF图像,若是,则通过所述图像加载框架,调用HEIF图像原生解码器对所述目标图像解码得到位图数据,并将所述位图数据存储于已解码图像缓存区;所述已解码图像缓存区设置于所述终端的内存中;图像加载步骤:利用图形处理器从所述已解码图像缓存区中获取所述位图数据,根据所述位图数据加载所述目标图像。可选的,所述方法还包括:当所述应用程序需要再次加载所述目标图像时,根据所述目标图像的标识,在所述已解码图像缓存区中查找所述目标图像对应的位图数据;若在所述已解码图像缓存区中查找到所述目标图像对应的位图数据,则执行所述图像加载步骤;若未在所述已解码图像缓存区中查找到所述目标图像对应的位图数据,则根据所述目标图像的标识,在所述未解码图像缓存区中查找所述目标图像;若在所述未解码图像缓存区中查找到所述目标图像,则执行依次所述图像解码步骤和所述图像加载步骤;若未在所述未解码图像缓存区中查找到所述目标图像,则根据所述目标图像的标识,在所述磁盘图像缓存区中查找所述目标图像;若在所述磁盘图像缓存区中查找到所述目标图像,则依次执行所述目标图像第二缓存步骤、所述图像解码步骤和所述图像加载步骤;若未在所述磁盘图像缓存区中查找到所述目标图像,则依次执行所述目标图像第一缓存步骤、所述目标图像第二缓存步骤、所述图像解码步骤和所述图像加载步骤。可选的,所述图像解码步骤和所述图像加载步骤属于HEIF图像处理机制;所述HEIF图像处理机制被全局配置在所述图像加载框架中。可选的,所述判断所述目标图像是否为HEIF图像,包括:根据所述目标图像的文件结构特征,判断所述目标图像的文件结构特征与HEIF图像的文件结构特征是否一致。可选的,在所述将所述位图数据存储于已解码图像缓存区之后,所述方法还包括:调用所述图像加载框架,生成所述位图数据对应的指针;所述指针用于指示所述位图数据在所述已解码图像缓存区中的存储位置;则所述利用图形处理器从所述已解码图像缓存区中获取所述位图数据,包括:将所述指针发送至所述图形处理器;利用所述图形处理器,根据所述指针从所述已解码图像缓存区中所述获取所述位图数据。可选的,所述位图数据为编辑位图数据;所述编辑位图数据是调用所述图像加载框架对所述目标图像对应的位图数据进行计算处理得到的;则所述图像加载步骤具体包括:利用所述图形处理器从所述已解码图像缓存区中获取所述编辑位图数据,根据所述编辑位图数据加载所述目标图像对应的编辑效果图像。可选的,所述编辑效果图像包括:所述目标图像对应的圆形图像、所述目标图像对应的圆角图像以及所述目标图像对应的边框图像。可选的,所述方法还包括:未完成对所述目标图像的加载时,在所述目标图像对应的加载位置显示占位图像;完成对所述目标图像的加载后,利用所述目标图像替换所述占位图像。可选的,所述方法还包括:未完成对所述目标图像的加载时,根据所述图形处理器的处理进度,相应地显示所述目标图像对应的加载进度;完成对所述目标图像的加载后,显示所述目标图像。本申请第二方面提供了一种HEIF图像加载装置,所述装置包括:获取模块,用于获取目标图像;第一缓存模块,用于调用图像加载框架将所述目标图像存储于磁盘图像缓存区;所述磁盘图像缓存区设置于所述终端的磁盘中;第二缓存模块,用于调用所述图像加载框架将所述目标图像存储于未解码图像缓存区;所述未解码图像缓存区设置于所述终端的内存中;判断模块,用于判断所述目标图像是否为HEIF图像;调用模块,用于在判断所述目标图像为HEIF图像的情况下,通过所述图像加载框架,调用HEIF图像原生解码器对所述目标图像解码得到位图数据;第三缓存模块,用于调用所述图像加载框架将所述位图数据存储于已解码图像缓存区;所述已解码图像缓存区设置于所述终端的内存中;加载模块,用于利用图形处理器从所述已解码图像缓存区中获取所述位图数据,根据所述位图数据加载所述目标图像。可选的,所述装置还包括:第一查找模块,用于当需要再次加载所述目标图像时,根据所述目标图像的标识,在所述已解码图像缓存区中查找所述目标图像对应的位图数据;若在所述已解码图像缓存区中查找到所述目标图像对应的位图数据,则调用所述加载模块;若未在所述已解码图像缓存区中查找到所述目标图像对应的位图数据,则调用第二查找模块;所述第二查找模块,用于根据所述目标图像的标识,在所述未解码图像缓存区中查找所述目标图像;若在所述未解码图像缓存区中查找到所述目标图像,则依次调用所述判断模块、所述调用模块、所述第三缓存模块和所述加载模块;若未在所述未解码图像缓本文档来自技高网
...

【技术保护点】
1.一种高效率图档格式HEIF图像加载方法,其特征在于,应用于终端,所述终端中安装有应用程序,所述应用程序中包括图像加载框架,所述方法包括:目标图像第一缓存步骤:所述应用程序获取目标图像,调用所述图像加载框架将所述目标图像存储于磁盘图像缓存区;所述磁盘图像缓存区设置于所述终端的磁盘中;目标图像第二缓存步骤:调用所述图像加载框架将所述目标图像存储于未解码图像缓存区;所述未解码图像缓存区设置于所述终端的内存中;图像解码步骤:判断所述目标图像是否为HEIF图像,若是,则通过所述图像加载框架,调用HEIF图像原生解码器对所述目标图像解码得到位图数据,并将所述位图数据存储于已解码图像缓存区;所述已解码图像缓存区设置于所述终端的内存中;图像加载步骤:利用图形处理器从所述已解码图像缓存区中获取所述位图数据,根据所述位图数据加载所述目标图像。

【技术特征摘要】
1.一种高效率图档格式HEIF图像加载方法,其特征在于,应用于终端,所述终端中安装有应用程序,所述应用程序中包括图像加载框架,所述方法包括:目标图像第一缓存步骤:所述应用程序获取目标图像,调用所述图像加载框架将所述目标图像存储于磁盘图像缓存区;所述磁盘图像缓存区设置于所述终端的磁盘中;目标图像第二缓存步骤:调用所述图像加载框架将所述目标图像存储于未解码图像缓存区;所述未解码图像缓存区设置于所述终端的内存中;图像解码步骤:判断所述目标图像是否为HEIF图像,若是,则通过所述图像加载框架,调用HEIF图像原生解码器对所述目标图像解码得到位图数据,并将所述位图数据存储于已解码图像缓存区;所述已解码图像缓存区设置于所述终端的内存中;图像加载步骤:利用图形处理器从所述已解码图像缓存区中获取所述位图数据,根据所述位图数据加载所述目标图像。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述应用程序需要再次加载所述目标图像时,根据所述目标图像的标识,在所述已解码图像缓存区中查找所述目标图像对应的位图数据;若在所述已解码图像缓存区中查找到所述目标图像对应的位图数据,则执行所述图像加载步骤;若未在所述已解码图像缓存区中查找到所述目标图像对应的位图数据,则根据所述目标图像的标识,在所述未解码图像缓存区中查找所述目标图像;若在所述未解码图像缓存区中查找到所述目标图像,则执行依次所述图像解码步骤和所述图像加载步骤;若未在所述未解码图像缓存区中查找到所述目标图像,则根据所述目标图像的标识,在所述磁盘图像缓存区中查找所述目标图像;若在所述磁盘图像缓存区中查找到所述目标图像,则依次执行所述目标图像第二缓存步骤、所述图像解码步骤和所述图像加载步骤;若未在所述磁盘图像缓存区中查找到所述目标图像,则依次执行所述目标图像第一缓存步骤、所述目标图像第二缓存步骤、所述图像解码步骤和所述图像加载步骤。3.根据权利要求1所述的方法,其特征在于,所述图像解码步骤和所述图像加载步骤属于HEIF图像处理机制;所述HEIF图像处理机制被全局配置在所述图像加载框架中。4.根据权利要求1所述的方法,其特征在于,所述判断所述目标图像是否为HEIF图像,包括:根据所述目标图像的文件结构特征,判断所述目标图像的文件结构特征与HEIF图像的文件结构特征是否一致。5.根据权利要求1所述的方法,其特征在于,在所述图像解码步骤之后,在所述图像加载步骤之前,所述方法还包括:调用所述图像加载框架,生成所述位图数据对应的指针;所述指针用于指示所述位图数据在所述已解码图像缓存区中的存储位置;则所述利用图形处理器从所述已解码图像缓存区中获取所述位图数据,包括:将所述指针发送至所述图形处理器;利用所述图形处理器,根据所述指针从所述已解码图像缓存区中所述获取所述位图数据。6.根据权利要求1所述的方法,其特征在于,所述位图数据为编辑位图数据;所述编辑位图数据是调用所述图像加载框架对所述目标图像对应的位图数据进行计算处理得到的;则所述图像加载步骤具体包括:利用所述图形处理器从所述已解码图像缓存区中获取所述编辑位图数据,根据所述编辑位图数据加载所述目标图像对应的编辑效果图像。7.根据权利要求6所述的方法,其特征在于,所述编辑效果图像包括:所述目标图像对应的圆形图像、所述目标图像对应的圆角图像以及所述目标图像对应的边框图像。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:未完成对所述目标图像的加载时,在所述目标图像对应的加载位置显示占位图像;完成对所述目标图像的加载后,利用所述目标图像替换所述占位图像。9.根据权利要求1所述的方法,其特征在于,所述方法还包括:未完成对所述目标图像的加载时,根据所述图形处理器的处理进度,相应地显示所述目标图像对应的加载进度;完成对所述目标图像的加载后,显示所述目标图像。10.一种HEIF图像加载装置,其特征在于,所述装置包括:获取模块,用于获取目标图像;第一缓存模块,用于调用图像加载框架将所述目标图像存储于磁盘图像缓存区;所述磁盘图像缓存区设置于所述终端的磁盘中;第二缓存模块,用于调用所述图像加载框架将所述目标图像存...

【专利技术属性】
技术研发人员:刘元亮
申请(专利权)人:北京城市网邻信息技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1