说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210607113.2 (22)申请日 2022.05.31 (71)申请人 睿云联 (厦门) 网络通讯技 术有限公 司 地址 361000 福建省厦门市 火炬高新区软 件园创新大厦C区3F-A 917 (72)发明人 袁观福 王居辉  (74)专利代理 机构 厦门原创专利事务所(普通 合伙) 35101 专利代理师 高巍 (51)Int.Cl. G06F 9/50(2006.01) G06F 12/02(2006.01) H04N 7/14(2006.01) (54)发明名称 一种音视频通话的内存管理方法及Linux嵌 入式音视频系统 (57)摘要 本发明公开了一种音视频通话的内存管理 方法及Linux嵌入式音视频系统, 涉及计算机技 术领域, 该内存 管理方法将页式管理 内存进行大 块内存和小块内存的划分, 大块内存直接分配, 小块内存按照每个页面作为一个节 点分配, 当内 存申请时通过移动小块尾部指针进行内存分配, 直到分配到链表 尾部或者剩余不足时, 会分配新 的存储页。 这里使用加速匹配的方式, 利用相邻 优先匹配原则将时间复杂 度减低, 将音视频会话 内的所有内存统一管理、 分配和释放, 降低了内 存泄漏风险, 减少系统调用。 权利要求书1页 说明书4页 附图2页 CN 115016936 A 2022.09.06 CN 115016936 A 1.一种音视频通 话的内存管理方法, 其特 征在于, 包括以下步骤: (1)申请内存; (2)判断申请内存 的大小是否大于第一阈值, 若否, 则执行步骤(3); 若是, 则分配大块 内存节点, 然后执 行步骤(8); (3)获取小块内存管理链 表的当前节点, 并获取头指针字节; (4)判断当前节点的剩余 内存大小是否满足申请内存的大小; 若是, 则执行步骤(8); 若 否, 执行步骤(5); (5)申请内存的失败次数加一; 然后判断失败次数是否大于或等于第二阈值; 若否, 则 执行步骤(6); 若是, 则执 行步骤(7); (6)判断当前节点是否为链表尾部; 若否, 则指向下一节点, 然后执行步骤(4); 若是, 则 执行步骤(7); (7)分配新的小块内存节点; (8)返回分配地址; (9)结束。 2.根据权利要求1所述的一种音视频通话的内存管理方法, 其特征在于, 所述步骤(1) 之前还包括: 接收第一指令后, 建立内存 池。 3.根据权利要求2所述的一种 音视频通话的内存管理方法, 其特征在于, 所述第 一指令 是: 启动音视频会话。 4.根据权利要求2或3所述的一种音视频通话的内存管理方法, 其特征在于: 所述内存 池采用页式存 储, 且所述第一阈值与页式存 储的页面大小相同。 5.根据权利要求4所述的一种音视频通话的内存管理方法, 其特征在于, 所述步骤(2) 中, 分配大块内存节点具体包括: 首先通过步骤(3)至步骤(8)所记载的方式获得小块内存 节点; 然后将获得的小块内存节点加入大块内存管理链 表; 申请大块内存; 返回分配地址 。 6.根据权利要求1所述的一种 音视频通话的内存管理方法, 其特征在于: 所述第 一阈值 取值为4K。 7.根据权利要求1所述的一种 音视频通话的内存管理方法, 其特征在于: 所述第 二阈值 取值为3。 8.根据权利要求1所述的一种音视频通话的内存管理方法, 其特征在于, 所述步骤(7) 具体是: 分配新的小块内存节点, 将其加入小块内存管理链表; 然后, 获取该新的小块内存 节点的当前节点, 将其更新 为当前节点 位置。 9.一种Linux嵌入式音视频系 统, 其特征在于: 包括内存管理模块, 该内存管理模块使 用如权利要求1至8任一所述的一种音视频通 话的内存管理方法。 10.根据权利要求9所述的一种Linux嵌入式音视频系统, 其特征在于: 包括相互连接的 组件管理模块、 网络管 理模块、 所述内存管 理模块、 高性能无锁队列模块、 音视频处理组件、 跨平台适应模块和音视频采集模块。权 利 要 求 书 1/1 页 2 CN 115016936 A 2一种音视频通话的内存管理 方法及Linux嵌入式音视频系统 技术领域 [0001]本发明涉及计算机技术领域, 更具体的讲是一种音视频通话的内存管理方法及 Linux嵌入式音视频系统。 背景技术 [0002]随着网络带宽增加和市场对于音视频产品的需求不断提升, 嵌入式终端对音视频 的需求量迅速攀升, 但是嵌入式本身由于成本各方面的要求在产品性能和内存方面大部分 无法直接使用主流的音视频框架, 存在内存池分配不合理, 频繁调用, 分配效率低, 系统调 用能力差, 泄漏风险大等问题。 因此, 需要开发一种针对音视频通话中内存调用的管理方 法。 [0003]此外, 虽然现有Linux嵌入式产品的芯片平台众多, 但是受限于芯片flash和内存 限制, 而且内存管理以及功能模块管理的策略存在不足, 目前不存在一种通用的音视频解 决方案支持各种嵌入式设备, 无法满足各种特定需求的扩展。 发明内容 [0004]本发明提供一种音视频通话的内存管理方法, 目的在于解决现有技术中存在的上 述问题。 [0005]本发明采用如下技 术方案: [0006]一种音视频通 话的内存管理方法, 包括以下步骤: [0007](1)申请内存; [0008](2)判断申请内存的大小是否大于第一阈值, 若否, 则执行步骤(3); 若是, 则分配 大块内存节点, 然后执 行步骤(8); [0009](3)获取小块内存管理链 表的当前节点, 并获取头指针字节; [0010](4)判断当前节点的剩余内存大小是否满足申请内存的大小; 若是, 则执行步骤 (8); 若否, 执 行步骤(5); [0011](5)申请内存的失败次数加一; 然后判断失败次数是否大于或等于第二阈值; 若 否, 则执行步骤(6); 若是, 则执 行步骤(7); [0012](6)判断当前节点是否为链表尾部; 若否, 则指向下一节点, 然后执行步骤(4); 若 是, 则执行步骤(7); [0013](7)分配新的小块内存节点; [0014](8)返回分配地址; [0015](9)结束。 [0016]进一步, 所述步骤(1)之前还 包括: 接收第一指令后, 建立内存 池。 [0017]更进一步, 所述第一指令是: 启动音视频会话。 [0018]进一步, 所述内存 池采用页式存 储, 且所述第一阈值与页式存 储的页面大小相同。 [0019]进一步, 所述步骤(2)中, 分配大块内存节点具体包括: 首先通过步骤(3)至步骤说 明 书 1/4 页 3 CN 115016936 A 3

.PDF文档 专利 一种音视频通话的内存管理方法及Linux嵌入式音视频系统

文档预览
中文文档 8 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共8页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种音视频通话的内存管理方法及Linux嵌入式音视频系统 第 1 页 专利 一种音视频通话的内存管理方法及Linux嵌入式音视频系统 第 2 页 专利 一种音视频通话的内存管理方法及Linux嵌入式音视频系统 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:29:57上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。