一种内存管理方法技术

技术编号:39806998 阅读:8 留言:0更新日期:2023-12-22 02:41
本申请实施例提出了一种内存管理方法

【技术实现步骤摘要】
一种内存管理方法、装置、电子设备及存储介质


[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]基于每个所述第一像素块与对应的所述差异像素块,计算对应的所述第二像素块,并将计算出的所述第二像素块存入所述存储器,直至全部所述第二像素块被计算且存入完成

[0031]本申请实施例中,通过分别提供直接存入差异像素块至存储器

根据差异像素块与第一缓存图像生成第二缓存图像并存入至存储器两种策略,可以在节省内存的同时,根据用户需求选择合适的图像数据存储方案,增强使用差异像素块逐像素生成这一方案的泛用性

[0032]可选的,所述第一缓存图像与所述第二缓存图像均为视频缓存数据,所述计算作为输入的第一缓存图像对应的第一字节大小,以及作为输出的第二缓存图像对应的第二字节大小之后,所述方法还包括:
[0033]根据所述第一字节大小和所述第二字节大小,依次计算所述第一缓本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种内存管理方法,其特征在于,应用于终端侧,所述终端侧存在可读写内存,所述方法包括:计算作为输入的第一缓存图像对应的第一字节大小,以及作为输出的第二缓存图像对应的第二字节大小;根据所述第一字节大小与所述第二字节大小,计算所述第一缓存图像的第一像素块与所述第二缓存图像的第二像素块之间的第一字节最大值,所述第一像素块用于生成所述第二像素块;以所述第一字节最大值作为相邻两个所述第一像素块的存储首地址的第一间隔,并以设定基址为起点,基于所述第一间隔逐个将所述第一像素块写入所述可读写内存;以所述设定基址为起点,逐个读取并处理所述第一像素块,以及,基于每个所述第一像素块的存储首地址,逐个写入对应的所述第二像素块,直至所述第二缓存图像写入完成
。2.
根据权利要求1所述的方法,其特征在于,所述根据所述第一字节大小与所述第二字节大小,计算所述第一缓存图像的第一像素块与所述第二缓存图像的第二像素块之间的第一字节最大值包括:响应于所述第一像素块中包含第一像素,所述第二像素块中包含第二像素,根据所述第一字节大小与所述第二字节大小,计算所述第一像素所占字节与所述第二像素所占字节之间的第一最大值;将所述第一最大值确定为所述第一字节最大值;或者,响应于所述第一像素块中包含多个第一像素,所述第二像素块中包含单个第二像素,根据所述第一字节大小与所述第二字节大小,计算所述多个第一像素所占字节之和与所述单个第二像素所占字节之间的第二最大值;将所述第二最大值确定为所述第一字节最大值;或者,响应于所述第一像素块中包含单个第一像素,所述第二像素块中包含多个第二像素,根据所述第一字节大小与所述第二字节大小,计算所述单个第一像素所占字节与所述多个第二像素所占字节之和之间的第三最大值;将所述第三最大值确定为所述第一字节最大值
。3.
根据权利要求1所述的方法,其特征在于,所述计算作为输入的第一缓存图像对应的第一字节大小,以及作为输出的第二缓存图像对应的第二字节大小之后,所述方法还包括:根据所述第一字节大小与所述第二字节大小,计算所述第一像素块对应的第四字节大小,以及所述第一像素块

所述第二像素块经差分处理生成的差异像素块预计占用的第三字节大小;以所述第四字节大小与对应的所述第三字节大小之和,作为相邻两个所述第一像素块的存储首地址的第二间隔;以所述设定基址为起点,基于所述第二间隔逐个将所述第一像素块写入所述可读写内存;以所述设定基址为起点,逐个读取并处理所述第一像素块,以及,响应于对应的所述第二像素块输出,基于当前的所述第一像素块与所述第二像素块计算出对应的所述差异像素块;基于每个所述第一像素块的存储末尾地址,逐个写入对应的所述差异像素块,直至所
述差异像素块全部写入完成
。4.
根据权利要求3所述的方法,其特征在于,所述基于每个所述第一像素块的存储末尾地址,逐个写入对应的所述差异像素块,直至所述差异像素块全部写入完成之后,所述方法还包括:依次读取每个所述差异像素块;将每个所述差异像素块分别存入所述终端侧的存储器,直至全部所述差异像素块存入完成;或者,依次读取每个所述第一像素块以及对应的所述差异像素块;基于每个所述第一像素块与对应的所述差异像素块,计算对应的所述第二像素块,并将计算出的所述第二像素块存入所述存储器,直至全部所述第二像素块被计算且存入完成
。5.
根据权利要求1所述的方法,其特征在于,所述第一缓存图像与所述第二缓存图像均为视频缓存数据,所述计算作为输入的第一缓存图像对应的第一字节大小,以及作为输出的第二缓存图像对应的第二字节大小之后,所述方法还包括:根据所述第一字节大小和所述第二字节大小,依次计算所述第一缓存图像中的每个第一帧集合与对应的所述第二缓存图像中的第二帧集合之间的字节最大值,得到多个第二字节最大值,所述第一帧集合用于生成所述第二帧集合;依次根据每个所述第二字节最大值,设置对应的相邻两个所述第一帧集合的存储首地址间隔,得到多个第三间...

【专利技术属性】
技术研发人员:刘阳
申请(专利权)人:展讯通信天津有限公司
类型:发明
国别省市:

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

1