文件指纹处理方法及装置制造方法

文档序号:6500689阅读:147来源:国知局
文件指纹处理方法及装置制造方法
【专利摘要】本发明实施例提供一种文件指纹处理方法及装置。本发明文件指纹处理方法,包括:确定文件指纹对应的哈希地址,所述哈希地址指向一个预先分配的存储空间,所述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到;确定所述哈希地址指向的存储空间的首地址;根据所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间中加入所述文件指纹对应的文件信息,并更新所述存储空间内已添加信息的长度。本发明实施例保证了音频信息数据的完整性。同时提高了存储空间的利用率和对音频信息进行检索时的匹配成功率。
【专利说明】文件指纹处理方法及装置

【技术领域】
[0001] 本发明实施例涉及计算机技术,尤其涉及一种文件指纹处理方法及装置。

【背景技术】
[0002] 音频指纹技术是当前流行的一种音频信息检索技术。该技术通过对原始音频信号 进行时频变换后在频域提取特征信息即音频指纹,将特征信息保留下来构建特征库。当需 要进行音频检索时,对待检索音频用同样的方法提取音频指纹,然后到特征库进行匹配,当 匹配成功时就能得到待检索音频的属性信息,如音频名称、歌手名、发行年代等。
[0003] 通常,音频指纹用一个哈希矢量来表征,因此可以构建一个地址长度与哈希矢量 的位数对应的哈希表作为特征库。具体地,在音频信号中提取出音频指纹后,在音频指纹对 应的哈希地址中加入音频信号对应的信息,包括属性信息、提取的指纹对应在音频信号中 的时间片段等。当不同的音频信号提取出相同的音频指纹时,就出现了哈希地址冲突现象。 特别是基于海量音频信号建立一个比较完备的数据库时,将会出现大量的地址冲突。如果 由于地址冲突导致不能在相应的哈希地址中存储后面处理的音频信号的信息,或者将前面 存入的音频信号的信息覆盖掉,都会导致使用数据库进行音频检索时匹配成功率下降。
[0004] 现有音频检索系统在建立哈希表时根据系统限制确定均匀的哈希表深度,在处理 地址冲突时,主要的解决方法是增加哈希表的深度,即在同一个哈希地址下开辟更大的空 间存放每一个冲突的音频信号对应的信息,但这会造成哈希表的极大冗余,导致音频检索 效率低下和存储空间的浪费。


【发明内容】

[0005] 本发明实施例提供一种文件指纹处理方法及装置,用以解决现有技术中在处理海 量音频信号建立数据库时出现大量哈希地址冲突造成音频信号不能正常存储,导致音频信 号的指纹丢失的问题。
[0006] 第一方面,本发明实施例提供一种文件指纹处理方法,包括:
[0007] 确定文件指纹对应的哈希地址,所述哈希地址指向一个预先分配的存储空间,所 述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到;
[0008] 确定所述哈希地址指向的存储空间的首地址;
[0009] 根据所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空 间中加入所述文件指纹对应的文件信息,并更新所述存储空间内已添加信息的长度。
[0010] 在第一方面的第一种可能的实现方式中,还包括:
[0011] 在所有文件指纹处理完成之后,根据各哈希地址指向的存储空间内已添加信息的 长度,释放各存储空间内未使用的空间。
[0012] 根据第一方面、第一方面的第一种可能的实现方式,在第一方面的第二种可能的 实现方式中,所述确定文件指纹对应的哈希地址之前,还包括:
[0013] 根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空间 长度;
[0014] 根据各哈希地址指向的存储空间的可用空间长度,为各哈希地址分配对应的存储 空间。
[0015] 根据第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式 中,所述根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空间 长度,包括:
[0016] 根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间占所有哈希 地址指向的总存储空间的比例;
[0017] 根据以下公式确定各哈希地址指向的存储空间的可用空间长度:
[0018] LflK* Θ i |,Q为哈希地址i指向的存储空间的可用空间长度,K为所有哈希地址 指向的总存储空间的长度,Θ i为哈希地址i指向的存储空间占所有哈希地址指向的总存储 2λ 空间的比例,其中,Σθ.=1 Ν为文件指纹的比特数。 ?=0 ,
[0019] 根据第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在 第一方面的第四种可能的实现方式中,所述根据各哈希地址指向的存储空间的可用空间长 度,为各哈希地址分配对应的存储空间,包括:
[0020] 创建特征库,所述特征库包括第一空间、第二空间和第三空间;
[0021] 将各哈希地址指向的存储空间的可用空间长度保存在所述第一空间;
[0022] 根据各哈希地址指向的存储空间的可用空间长度,将所述第三空间划分为各哈希 地址指向的存储空间,确定各哈希地址指向的存储空间的首地址,并将各哈希地址指向的 存储空间的首地址保存在所述第二空间。
[0023] 根据第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式 中,所述释放各存储空间内未使用的空间之后,还包括:
[0024] 将所述第一空间中保存的所述存储空间的可用空间长度更新为所述存储空间内 已添加信息的长度。
[0025] 根据第一方面、第一方面的第一种至第五种可能的实现方式中的任意一种,在第 一方面的第六种可能的实现方式中,所述文件指纹为音频指纹,所述文件指纹对应的文件 信息包括音频信号的属性信息或所述属性信息的索引,以及所述音频信号中所述音频指纹 对应的时间片段;所述确定文件指纹对应的哈希地址之前,还包括:
[0026] 将所述音频信号分为至少一个时间片段;
[0027] 从每个时间片段中提取至少一个音频指纹。
[0028] 根据第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式 中,所述音频指纹由矢量起点的频率值、矢量终点和矢量起点之间的频率差、矢量终点和矢 量起点之间的时间差表征,所述矢量起点和矢量终点根据所述音频指纹对应的时间片段的 频谱图确定;所述统计得到的文件指纹分布特性包括:
[0029] 矢量起点的频率值较小的音频指纹多于矢量起点的频率值较大的音频指纹,矢量 终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较小的音频指纹多于 矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较大的音频指 纹。
[0030] 第二方面,本发明实施例提供一种文件指纹处理装置,包括:
[0031] 哈希地址确定模块,用于确定文件指纹对应的哈希地址,所述哈希地址指向一个 预先分配的存储空间,所述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特 性得到;
[0032] 首地址确定模块,用于确定所述哈希地址指向的存储空间的首地址;
[0033] 文件信息加入模块,用于根据所述存储空间的首地址和所述存储空间内已添加信 息的长度,在所述存储空间中加入所述文件指纹对应的文件信息,并更新所述存储空间内 已添加信息的长度。
[0034] 在第二方面的第一种可能的实现方式中,还包括:
[0035] 空间释放模块,用于在所有文件指纹处理完成之后,根据各哈希地址指向的存储 空间内已添加信息的长度,释放各存储空间内未使用的空间。
[0036] 根据第二方面、第二方面的第一种可能的实现方式,在第二方面的第二种可能的 实现方式中,还包括:
[0037] 长度确定模块,用于根据统计得到的文件指纹分布特性,确定各哈希地址指向的 存储空间的可用空间长度;
[0038] 存储空间分配模块,用于根据各哈希地址指向的存储空间的可用空间长度,为各 哈希地址分配对应的存储空间。
[0039] 根据第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式 中,长度确定模块包括:
[0040] 比例确定子单元,用于根据统计得到的文件指纹分布特性,确定各哈希地址指向 的存储空间占所有哈希地址指向的总存储空间的比例;
[0041] 长度确定子单元,用于根据以下公式确定各哈希地址指向的存储空间的可用空间 长度:
[0042]

【权利要求】
1. 一种文件指纹处理方法,其特征在于,包括: 确定文件指纹对应的哈希地址,所述哈希地址指向一个预先分配的存储空间,所述哈 希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到; 确定所述哈希地址指向的存储空间的首地址; 根据所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间中 加入所述文件指纹对应的文件信息,并更新所述存储空间内已添加信息的长度。
2. 根据权利要求1所述的方法,其特征在于,还包括: 在所有文件指纹处理完成之后,根据各哈希地址指向的存储空间内已添加信息的长 度,释放各存储空间内未使用的空间。
3. 根据权利要求1或2所述的方法,其特征在于,所述确定文件指纹对应的哈希地址之 前,还包括: 根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空间长 度; 根据各哈希地址指向的存储空间的可用空间长度,为各哈希地址分配对应的存储空 间。
4. 根据权利要求3所述的方法,其特征在于,所述根据统计得到的文件指纹分布特性, 确定各哈希地址指向的存储空间的可用空间长度,包括: 根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间占所有哈希地址 指向的总存储空间的比例; 根据以下公式确定各哈希地址指向的存储空间的可用空间长度:
为哈希地址i指向的存储空间的可用空间长度,K为所有哈希地址指向 的总存储空间的长度,Θ i为哈希地址i指向的存储空间占所有哈希地址指向的总存储空间 的比例,其中,
N为文件指纹的比特数。
5. 根据权利要求3或4所述的方法,其特征在于,所述根据各哈希地址指向的存储空间 的可用空间长度,为各哈希地址分配对应的存储空间,包括: 创建特征库,所述特征库包括第一空间、第二空间和第三空间; 将各哈希地址指向的存储空间的可用空间长度保存在所述第一空间; 根据各哈希地址指向的存储空间的可用空间长度,将所述第三空间划分为各哈希地址 指向的存储空间,确定各哈希地址指向的存储空间的首地址,并将各哈希地址指向的存储 空间的首地址保存在所述第二空间。
6. 根据权利要求5所述的方法,其特征在于,所述释放各存储空间内未使用的空间之 后,还包括: 将所述第一空间中保存的所述存储空间的可用空间长度更新为所述存储空间内已添 加信息的长度。
7. 根据权利要求1?6中任一项所述的方法,其特征在于,所述文件指纹为音频指纹, 所述文件指纹对应的文件信息包括音频信号的属性信息或所述属性信息的索引,以及所述 音频信号中所述音频指纹对应的时间片段;所述确定文件指纹对应的哈希地址之前,还包 括: 将所述音频信号分为至少一个时间片段; 从每个时间片段中提取至少一个音频指纹。
8. 根据权利要求7所述的方法,其特征在于,所述音频指纹由矢量起点的频率值、矢量 终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差表征,所述矢量起点和 矢量终点根据所述音频指纹对应的时间片段的频谱图确定;所述统计得到的文件指纹分布 特性包括: 矢量起点的频率值较小的音频指纹多于矢量起点的频率值较大的音频指纹,矢量终点 和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较小的音频指纹多于矢量 终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较大的音频指纹。
9. 一种文件指纹处理装置,其特征在于,包括: 哈希地址确定模块,用于确定文件指纹对应的哈希地址,所述哈希地址指向一个预先 分配的存储空间,所述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得 到; 首地址确定模块,用于确定所述哈希地址指向的存储空间的首地址; 文件信息加入模块,用于根据所述存储空间的首地址和所述存储空间内已添加信息的 长度,在所述存储空间中加入所述文件指纹对应的文件信息,并更新所述存储空间内已添 加信息的长度。
10. 根据权利要求9所述的装置,其特征在于,还包括: 空间释放模块,用于在所有文件指纹处理完成之后,根据各哈希地址指向的存储空间 内已添加信息的长度,释放各存储空间内未使用的空间。
11. 根据权利要求9或10所述的装置,其特征在于,还包括: 长度确定模块,用于根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储 空间的可用空间长度; 存储空间分配模块,用于根据各哈希地址指向的存储空间的可用空间长度,为各哈希 地址分配对应的存储空间。
12. 根据权利要求11所述的装置,其特征在于,长度确定模块包括: 比例确定子单元,用于根据统计得到的文件指纹分布特性,确定各哈希地址指向的存 储空间占所有哈希地址指向的总存储空间的比例; 长度确定子单元,用于根据以下公式确定各哈希地址指向的存储空间的可用空间长 度:
为哈希地址i指向的存储空间的可用空间长度,K为所有哈希地址指向 的总存储空间的长度,Θ i为哈希地址i指向的存储空间占所有哈希地址指向的总存储空间 的比例,其中,
,NS文件指纹的比特数。
13. 根据权利要求11或12所述的装置,其特征在于,存储空间分配模块包括: 特征库创建子单元,用于创建特征库,所述特征库包括第一空间、第二空间和第三空 间; 长度保存子单元,用于将各哈希地址指向的存储空间的可用空间长度保存在所述第一 空间; 首地址保存子单元,用于根据各哈希地址指向的存储空间的可用空间长度,将所述第 三空间划分为各哈希地址指向的存储空间,确定各哈希地址指向的存储空间的首地址,并 将各哈希地址指向的存储空间的首地址保存在所述第二空间。
14. 根据权利要求13所述的装置,其特征在于,还包括: 长度更新模块,用于将所述第一空间中保存的所述存储空间的可用空间长度更新为所 述存储空间内已添加信息的长度。
15. 根据权利要求9?14中任一项所述的装置,其特征在于,所述文件指纹为音频指 纹,所述文件指纹对应的文件信息包括音频信号的属性信息或所述属性信息的索引,以及 所述音频信号中所述音频指纹对应的时间片段; 还包括: 时间片段划分单元,用于在所述哈希地址确定模块确定文件指纹对应的哈希地址之 前,将所述音频信号分为至少一个时间片段; 音频指纹提取单元,用于从每个时间片段中提取至少一个音频指纹。
16. 根据权利要求15所述的装置,其特征在于,所述音频指纹由矢量起点的频率值、矢 量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差表征,所述矢量起点 和矢量终点根据所述音频指纹对应的时间片段的频谱图确定;所述统计得到的文件指纹分 布特性包括: 矢量起点的频率值较小的音频指纹多于矢量起点的频率值较大的音频指纹,矢量终点 和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较小的音频指纹多于矢量 终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较大的音频指纹。
【文档编号】G06F17/30GK104050180SQ201310079446
【公开日】2014年9月17日 申请日期:2013年3月13日 优先权日:2013年3月13日
【发明者】张德明, 张琦 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1