[发明专利]一种从损坏的存储设备中提取amr音频文件的方法在审
申请号: | 202210740276.8 | 申请日: | 2022-06-27 |
公开(公告)号: | CN115114090A | 公开(公告)日: | 2022-09-27 |
发明(设计)人: | 梁效宁;刘波;朱星海;杨先珉;董超 | 申请(专利权)人: | 四川效率源信息安全技术股份有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F11/10 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 641000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 损坏 存储 设备 提取 amr 音频文件 方法 | ||
1.一种从损坏的存储设备中提取amr音频文件的方法,其特征在于包括以下步骤:
S100:获取簇的字节长度,包括以下步骤:
S101:遍历N个以amr头标识为起始的簇并记录各个簇的起始地址,其中,N为不小于1的自然数;
S102:计算并记录各个簇中相邻两个簇的起始地址之差;
S103:获取步骤S102中的N-1个起始地址之差的最小值,作为簇的字节长度;
S200:获取首个簇的地址,包括以下步骤:
S201:获取首个以amr头标识为起始的簇的地址;
S202:以首个以amr头标识为起始的簇的地址作为起始地址,以簇的字节长度为偏移量,向前寻址各个簇直至寻址到首个簇的地址;
S300:对存储设备中amr数据进行分类并按分类存储至各个map数据结构,遍历各个map数据结构并提取amr音频文件,其中,amr数据包括amr头及amr帧,相应地,map数据结构包括头map储存及数据map储存,所述步骤S300包括以下步骤:
S3000:寻址首个簇的地址;
S3001:判断是否完成所有簇的提取,如果是,执行步骤S3008,否则,执行步骤S3002;
S3002:根据簇的字节长度及当前簇的地址,读取当前簇的内容;
S3003:判断当前簇是否具有amr头,如果是,执行步骤S3004,否则,执行步骤S3005;
S3004:将amr头存储在map数据结构中,记为头map储存;
采用当前簇在存储设备中的偏移地址作为关键字、采用amr头信息作为关键值,将当前关键字及当前关键值添加至头map储存中,寻址下一簇并执行步骤S3001,其中,amr头信息包括当前簇中帧头的值、末帧在当前簇中缺失的字节长度;
S3005:判断当前簇是否具有amr帧,如果是,执行步骤S3006,否则,执行步骤S3007;
S3006:将amr帧存储在map数据结构中,记为帧map储存;
采用当前簇在储存设备中的偏移地址作为关键字、采用amr帧信息作为关键值,将当前关键字及当前关键值添加至数据map储存中,寻址下一簇并执行步骤S3001,其中,amr帧信息包括帧头的值、首帧的起始地址、当前簇末帧在当前簇中缺失的字节长度及文件结尾标识的值;
S3007:寻址下一簇并执行步骤S3001;
S3008:遍历map数据结构,提取amr音频文件。
2.根据权利要求1所述的一种从损坏的存储设备中提取amr音频文件的方法,其特征在于,N为20。
3.根据权利要求1所述的一种从损坏的存储设备中提取amr音频文件的方法,其特征在于,步骤S3003中判断当前簇是否具有amr头包括以下步骤:
A:当前簇是否以amr头标识作为起始;
B:amr头标识后是否连续储存amr帧。
4.根据权利要求3所述的一种从损坏的存储设备中提取amr音频文件的方法,其特征在于,所述amr头标识为#!AMR。
5.根据权利要求1所述的一种从损坏的存储设备中提取amr音频文件的方法,其特征在于,步骤S3006中所述文件结尾标识为bIsEnd,bIsEnd的值为真,表示为文件结尾,反之亦然。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川效率源信息安全技术股份有限公司,未经四川效率源信息安全技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210740276.8/1.html,转载请声明来源钻瓜专利网。