System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种内存处理方法及显示设备技术_技高网

一种内存处理方法及显示设备技术

技术编号:40929568 阅读:3 留言:0更新日期:2024-04-18 14:51
本申请实施例公开一种内存处理方法及显示设备,响应于媒资起播操作,从服务器获取媒资数据,并构建缓冲区,缓冲区包括至少一个内存块;对媒资数据进行解析处理,得到数据流,数据流中包括连续分布多个帧数据,帧数据为视频帧数据或音频帧数据;根据数据流,在内存块中对应生成多个用于存储帧数据的帧内存单元,一个帧内存单元映射一个帧数据,内存块单独存储数据流包括的多个帧数据的共有属性信息,帧内存单元中不存储共有属性信息。本申请利用缓冲区的大内存块连续密集地存储数据流对应的多个帧内存单元,可以降低碎片化分配小内存时产生的额外内存消耗,提升内存使用率,通过在内存块中合并数据流各帧数据的共有属性信息,进一步降低内存消耗。

【技术实现步骤摘要】

本申请涉及显示设备,尤其涉及一种内存处理方法及显示设备


技术介绍

1、显示设备中可以安装应用程序,用户可以通过某些应用观看感兴趣的媒资。某些应用可以遵从mse(media source extensions,媒体源扩展)规范,为应对网络波动,mse规范允许应用对媒资数据进行预加载,例如媒资当前播放至第1分钟,应用已提前下载了前5分钟的媒资数据,从而避免媒资播放卡顿,保证媒资播放流畅性。在媒资预加载等场景下,应用往往会消耗更多的内存,从而影响系统的运行性能。


技术实现思路

1、本申请实施例提供一种内存处理方法及显示设备,以降低显示设备在播放媒资时的内存消耗,提升内存使用效率。

2、第一方面,本申请实施例提供一种显示设备,包括:

3、通信器,用于与服务器通信连接,以向服务器下载媒资数据;

4、控制器,用于执行:

5、响应于媒资起播操作,从服务器获取媒资数据,并构建缓冲区,所述缓冲区包括至少一个内存块;

6、对所述媒资数据进行解析处理,得到数据流,所述数据流中包括连续分布多个帧数据,所述帧数据为视频帧数据或音频帧数据;

7、根据所述数据流,在所述内存块中对应生成多个用于存储所述帧数据的帧内存单元,一个帧内存单元映射一个帧数据,所述内存块单独存储所述数据流包括的多个帧数据的共有属性信息,所述帧内存单元中不存储所述共有属性信息。

8、第一方面中,基于缓冲区分配大内存块,并利用大内存块连续密集地存储数据流对应的多个帧内存单元,可以降低碎片化分配小内存方案所产生的额外内存消耗,提升内存使用率,通过在大内存块中合数据流各帧数据的共有属性信息,进一步降低内存消耗,尤其针对mse规范下的媒资预加载场景,能够合理使用和分配内存,保证媒资应用和系统的运行性能。

9、在一些实现方式中,所述控制器构建缓冲区,包括:响应于媒资起播操作,构建对应媒资的媒体源,并构建所述媒体源映射的至少一个源缓冲区;在所述源缓冲区中构建至少一个轨道缓冲区,所述轨道缓冲区用于存储单一媒体类型的数据;在所述轨道缓冲区中构建至少一个所述内存块。这样,本申请进一步提供mse规范下从源缓冲区、轨道缓冲区、内存块到帧内存单元的分布架构,可以降低碎片化分配小内存方案所产生的额外内存消耗,提升内存使用率,为内存读写和内存清理等环节构建基础架构。

10、在一些实现方式中,所述控制器还用于执行:根据所述内存块被设置的状态标识,识别所述内存块的工作状态,所述工作状态包括使用状态和未使用状态,所述使用状态包括写入状态和读出状态;如果所述内存块处于未使用状态,对所述内存块进行压缩;如果所述内存块处于使用状态,不对所述内存块进行压缩。这样,对未使用的内存块进行压缩,可以降低内存消耗,在内存块被使用时不压缩,以保证内存块可以正常执行如读写、内存清理等工作。

11、在一些实现方式中,所述控制器在所述内存块中对应生成多个用于存储所述帧数据的帧内存单元,包括:根据媒体类型和轨道id,在源缓冲区查找对应所述数据流的第一目标轨道缓冲区;在所述第一目标轨道缓冲区中查找当前处于写入状态的第一目标内存块;如果查找到所述第一目标内存块,在所述第一目标内存块生成多个所述帧内存单元;如果未查找到所述第一目标内存块,在所述第一目标轨道缓冲区创建第一新增内存块,为所述第一新增内存块设置第一子标识,并将所述第一新增内存块作为所述第一目标内存块;其中,所述第一子标识用于指示内存块处于写入状态。这样,基于上述内存处理架构,可以在执行内存写入流程时,自动定位当前可写入数据的内存块,提升数据写入内存的效率。

12、在一些实现方式中,在所述内存块中对应生成多个用于存储所述帧数据的帧内存单元之后,所述控制器还用于执行:如果所述第一目标内存块被写满,取消所述第一目标内存块的所述第一标识;如果所述第一目标内存块未处于读出状态,为所述第一目标内存块设置第一状态标识,并对所述第一目标内存块进行压缩;其中,所述第一状态标识用于指示内存块处于未使用状态;如果所述第一目标内存块处于读出状态,或者在对所述第一目标内存块进行压缩之后,在所述第一目标轨道缓冲区创建第二新增内存块,为所述第二新增内存块设置所述第一子标识,并向所述第二新增内存块接续存入所述数据流的帧数据。这样,在内存块被写满时,可以对写满的内存块进行压缩以降低内存消耗,同时创建可以接续写入数据的新增内存块,保证媒资数据正常缓存。

13、在一些实现方式中,在所述内存块中对应生成多个用于存储所述帧数据的帧内存单元之后,所述控制器还用于执行:根据媒体类型和轨道id,在源缓冲区查找对应所述数据流的第二目标轨道缓冲区;在所述第二目标轨道缓冲区中查找当前处于读出状态的第二目标内存块;控制解码器从所述第二目标内存块读取已缓存的数据流,并对所述数据流进行解码;如果所述第二目标内存块已读完,为所述第二目标内存块设置所述第一状态标识,并对所述第二目标内存块进行压缩。这样,基于上述内存处理架构,可以在执行内存读取流程时,自动定位当前可读出数据的内存块,提升从内存读取数据的效率,并且在内存块被读完时,可以对读完的内存块进行压缩以降低内存消耗。

14、在一些实现方式中,在对所述第二目标内存块进行压缩之后,所述控制器还用于执行:在所述第二目标轨道缓冲区查找位于所述第二目标内存块后一位的第三目标内存块;如果所述第三目标内存块处于未使用状态,对所述第三目标内存块进行解压;如果所述第三目标内存块处于使用状态,或者在对所述第三目标内存块解压之后,为所述第三目标内存块设置第二子标识,所述第二子标识用于指示内存块处于读出状态;控制解码器接续从所述第三目标内存块读取已缓存的所述数据流,并对所述数据流进行解码处理。这样,在一个内存块读完后,可以自动查找下一个能够使解码器接续读取数据的内存块,以保证媒资数据正常解码及播放。

15、在一些实现方式中,所述控制器还用于执行:根据待清理数据的媒体类型和轨道id,在源缓冲区查找对应待清理数据的第三目标轨道缓冲区;根据预设时间区间,从所述第三目标轨道缓冲区中查找第四目标内存块;其中,所述第四目标内存块包括q个根据所述预设时间区间确定的待清理的帧内存单元,q≤s;其中,q为第一数量,用于表征所述第四目标内存块中待清理的帧内存单元的数量;s为第二数量,用于表征所述第四目标内存块包括的帧内存单元的总数;如果所述第一数量等于所述第一数量,在所述第三目标轨道缓冲区中删除所述第四目标内存块。这样,先行确定出存在待清理数据的内存块,如果该内存块中的全部帧内存单元都待清理,则可以直接将整体的内存块从轨道缓冲区中删除,提升内存清理效率。

16、在一些实现方式中,所述控制器还用于执行:如果所述第一数量小于所述第二数量,并且所述第四目标内存块处于未使用状态,则对所述第四目标内存块进行解压,并为所述第四目标内存块设置第二状态标识,所述第二状态标识用于指示内存块处于使用状态;在所述第四目标内存块处于使用状态时,根据所述预设时间区间,重新本文档来自技高网...

【技术保护点】

1.一种显示设备,其特征在于,包括:

2.根据权利要求1所述的显示设备,其特征在于,所述控制器构建缓冲区,包括:

3.根据权利要求2所述的显示设备,其特征在于,所述控制器还用于执行:

4.根据权利要求3所述的显示设备,其特征在于,所述控制器在所述内存块中对应生成多个用于存储所述帧数据的帧内存单元,包括:

5.根据权利要求4所述的显示设备,其特征在于,在所述内存块中对应生成多个用于存储所述帧数据的帧内存单元之后,所述控制器还用于执行:

6.根据权利要求5所述的显示设备,其特征在于,在所述内存块中对应生成多个用于存储所述帧数据的帧内存单元之后,所述控制器还用于执行:

7.根据权利要求6所述的显示设备,其特征在于,在对所述第二目标内存块进行压缩之后,所述控制器还用于执行:

8.根据权利要求5所述的显示设备,其特征在于,所述控制器还用于执行:

9.根据权利要求8所述的显示设备,其特征在于,所述控制器还用于执行:

10.一种内存处理方法,其特征在于,包括:

【技术特征摘要】

1.一种显示设备,其特征在于,包括:

2.根据权利要求1所述的显示设备,其特征在于,所述控制器构建缓冲区,包括:

3.根据权利要求2所述的显示设备,其特征在于,所述控制器还用于执行:

4.根据权利要求3所述的显示设备,其特征在于,所述控制器在所述内存块中对应生成多个用于存储所述帧数据的帧内存单元,包括:

5.根据权利要求4所述的显示设备,其特征在于,在所述内存块中对应生成多个用于存储所述帧数据的帧内存单元之后,所述控制器还用于执行:...

【专利技术属性】
技术研发人员:廖院松汤雯刘剑杨圣
申请(专利权)人:VIDAA国际控股荷兰公司
类型:发明
国别省市:

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

1