发明名称 一种音视频解码过程中的内存管理方法
摘要 本发明公开了一种音视频解码过程中的内存管理方法,在数据通信系统的音视频解码过程中,利用解复用器将传输流分解组合构成音视频PES分组包,并从音视频PES分组包中解析出音视频基本流,然后通过解复用器将解析得到的音视频基本流写入内存区域中,再利用音视频解码器从内存区域中提取出音视频基本流进行解码,特点在于在音视频解码过程中利用数据结构标示音视频基本流在内存区域中的信息,数据通信系统的CPU通过建立数据结构、维护数据结构、使用数据结构、释放数据结构等过程统一管理音视频基本流在内存区域中的存储和读取,有效地避免了内存区域内的音视频基本流被取空或被覆盖,从而提高了内存区域的使用效率,提高了音视频解码器的解码速率。
申请公布号 CN101404764B 申请公布日期 2010.08.11
申请号 CN200810122180.5 申请日期 2008.10.30
申请人 宁波中科集成电路设计中心有限公司 发明人 黄晁;董岩;龚迪军;王鸿龙
分类号 H04N7/24(2006.01)I 主分类号 H04N7/24(2006.01)I
代理机构 宁波奥圣专利代理事务所(普通合伙) 33226 代理人 程晓明
主权项 一种音视频解码过程中的内存管理方法,在数据通信系统的音视频解码过程中,利用解复用器将传输流分解组合构成音视频PES分组包,并从音视频PES分组包中解析出音视频基本流,然后通过解复用器将解析得到的音视频基本流写入内存区域中,再利用音视频解码器从内存区域中提取出音视频基本流进行解码,其特征在于在音视频解码过程中利用数据结构标示音视频基本流在内存区域中的信息,数据通信系统的CPU通过所述的数据结构统一管理音视频基本流在内存区域中的存储和读取,所述的内存管理方法包括以下具体步骤:a.建立数据结构:将内存区域划分成多个内存块,并建立一个以内存块为节点的内存块链表,每个内存块在内存块链表中对应建立有一个数据结构;当解复用器将对音视频PES分组包进行解析时,判断CPU预先分配给解复用器的内存块的可用空间是否小于184个字节,如果小于184个字节,则解复用器向CPU申请下一个内存块,CPU满足解复用器的内存申请,并建立刚申请的内存块的空列表信息,然后解复用器将解析得到的音视频基本流先后写入预先分配的内存块和刚申请的内存块中;否则,将解析得到的音视频基本流一次性写入预先分配的内存块中;b.维护数据结构:当解复用器写刚申请的内存块时,在刚解析的音视频PES分组包的起始位置时,解复用器向CPU发出中断请求,并提供解析信息;CPU通过解复用器给予的解析信息,维护待写的内存块对应的数据结构的相应表项;c.使用数据结构:当音视频解码器解码完存储在一个内存块中的音视频基本流后,向CPU申请存储有待解码的音视频基本流的下一个内存块;如果申请的内存块中存储有被解复用器完整写满的音视频基本流,则CPU满足音视频解码器的申请;否则,音视频解码器等待申请的内存块被完整写满;当CPU满足音视频解码器的申请后,音视频解码器通过该申请的内存块对应的数据结构的相应表项控制存储在该申请的内存块中的音视频基本流的解码过程;d.释放数据结构:当音视频解码器对存储在一个内存块中的音视频基本流解码完毕,并已成功向CPU申请完整写满待解码的音视频基本流的下一个内存块时,CPU收回音视频解码器已解码完毕的内存块,并释放该已解码完毕的内存块对应的数据结构的相应表项。
地址 315040 浙江省宁波市科技园区院士路创业大厦603室