首页 > 专利 > 华为技术有限公司 > 文件指纹处理方法及装置专利详情

文件指纹处理方法及装置   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2013-03-13
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2014-10-22
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2017-06-06
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2033-03-13
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201310079446.3 申请日 2013-03-13
公开/公告号 CN104050180B 公开/公告日 2017-06-06
授权日 2017-06-06 预估到期日 2033-03-13
申请年 2013年 公开/公告年 2017年
缴费截止日
分类号 G06F17/30 主分类号 G06F17/30
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 11
权利要求数量 12 非专利引证数量 1
引用专利数量 4 被引证专利数量 0
非专利引证 1、Jaap Haitsma et al..A Highly RobustAudio Fingerprinting System《.ISMIR》.2002,107-115. 张敏等.一种快速的特定音频指纹提取方法《.计算机工程》.2010,211-213.;
引用专利 CN102187642A、CN102232219A、US2012/0143877A1、CN101984618A 被引证专利
专利权维持 5 专利申请国编码 CN
专利事件 转让 事务标签 公开、实质审查、授权、权利转移
申请人信息
申请人 第一申请人
专利权人 华为技术有限公司 当前专利权人 重庆凯拓科技发展有限公司
发明人 张德明、张琦 第一发明人 张德明
地址 广东省深圳市龙岗区坂田华为总部办公楼 邮编 518129
申请人数量 1 发明人数量 2
申请人所在省 广东省 申请人所在市 广东省深圳市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
北京同立钧成知识产权代理有限公司 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
王庆龙
摘要
本发明实施例提供一种文件指纹处理方法及装置。本发明文件指纹处理方法,包括:确定文件指纹对应的哈希地址,所述哈希地址指向一个预先分配的存储空间,所述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到;确定所述哈希地址指向的存储空间的首地址;根据所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间中加入所述文件指纹对应的文件信息,并更新所述存储空间内已添加信息的长度。本发明实施例保证了音频信息数据的完整性。同时提高了存储空间的利用率和对音频信息进行检索时的匹配成功率。
  • 摘要附图
    文件指纹处理方法及装置
  • 说明书附图:图1
    文件指纹处理方法及装置
  • 说明书附图:图2
    文件指纹处理方法及装置
  • 说明书附图:图3
    文件指纹处理方法及装置
  • 说明书附图:图4
    文件指纹处理方法及装置
  • 说明书附图:图5
    文件指纹处理方法及装置
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2020-11-27 专利权的转移 登记生效日: 2020.11.16 专利权人由重庆凯拓科技发展有限公司变更为铜陵汇恒电子科技有限公司 地址由401120 重庆市渝北区龙溪街道红锦大道498号佳乐紫光1幢5-商业变更为244000 安徽省铜陵市大学生创业园内ZC030号
2 2017-06-06 授权
3 2014-10-22 实质审查的生效 IPC(主分类): G06F 17/30 专利申请号: 201310079446.3 申请日: 2013.03.13
4 2014-09-17 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种文件指纹处理方法,其特征在于,包括:
确定文件指纹对应的哈希地址,所述哈希地址指向一个预先分配的存储空间,所述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到;
确定所述哈希地址指向的存储空间的首地址;
根据所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间中加入所述文件指纹对应的文件信息,并更新所述存储空间内已添加信息的长度;
所述确定文件指纹对应的哈希地址之前,还包括:
根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空间长度;
根据各哈希地址指向的存储空间的可用空间长度,为各哈希地址分配对应的存储空间;
还包括:
在所有文件指纹处理完成之后,根据各哈希地址指向的存储空间内已添加信息的长度,释放各存储空间内未使用的空间。

2.根据权利要求1所述的方法,其特征在于,所述根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空间长度,包括:
根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间占所有哈希地址指向的总存储空间的比例;
根据以下公式确定各哈希地址指向的存储空间的可用空间长度:
Li=|K*θi|,Li为哈希地址i指向的存储空间的可用空间长度,K为所有哈希地址指向的总存储空间的长度,θi为哈希地址i指向的存储空间占所有哈希地址指向的总存储空间的比例,其中, N为文件指纹的比特数。

3.根据权利要求1或2所述的方法,其特征在于,所述根据各哈希地址指向的存储空间的可用空间长度,为各哈希地址分配对应的存储空间,包括:
创建特征库,所述特征库包括第一空间、第二空间和第三空间;
将各哈希地址指向的存储空间的可用空间长度保存在所述第一空间;
根据各哈希地址指向的存储空间的可用空间长度,将所述第三空间划分为各哈希地址指向的存储空间,确定各哈希地址指向的存储空间的首地址,并将各哈希地址指向的存储空间的首地址保存在所述第二空间。

4.根据权利要求3所述的方法,其特征在于,所述释放各存储空间内未使用的空间之后,还包括:
将所述第一空间中保存的所述存储空间的可用空间长度更新为所述存储空间内已添加信息的长度。

5.根据权利要求1或2所述的方法,其特征在于,所述文件指纹为音频指纹,所述文件指纹对应的文件信息包括音频信号的属性信息或所述属性信息的索引,以及所述音频信号中所述音频指纹对应的时间片段;所述确定文件指纹对应的哈希地址之前,还包括:
将所述音频信号分为至少一个时间片段;
从每个时间片段中提取至少一个音频指纹。

6.根据权利要求5所述的方法,其特征在于,所述音频指纹由矢量起点的频率值、矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差表征,所述矢量起点和矢量终点根据所述音频指纹对应的时间片段的频谱图确定;所述统计得到的文件指纹分布特性包括:
矢量起点的频率值较小的音频指纹多于矢量起点的频率值较大的音频指纹,矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较小的音频指纹多于矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较大的音频指纹。

7.一种文件指纹处理装置,其特征在于,包括:
哈希地址确定模块,用于确定文件指纹对应的哈希地址,所述哈希地址指向一个预先分配的存储空间,所述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到;
首地址确定模块,用于确定所述哈希地址指向的存储空间的首地址;
文件信息加入模块,用于根据所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间中加入所述文件指纹对应的文件信息,并更新所述存储空间内已添加信息的长度;
还包括:
长度确定模块,用于根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空间长度;
存储空间分配模块,用于根据各哈希地址指向的存储空间的可用空间长度,为各哈希地址分配对应的存储空间;
还包括:
空间释放模块,用于在所有文件指纹处理完成之后,根据各哈希地址指向的存储空间内已添加信息的长度,释放各存储空间内未使用的空间。

8.根据权利要求7所述的装置,其特征在于,长度确定模块包括:
比例确定子单元,用于根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间占所有哈希地址指向的总存储空间的比例;
长度确定子单元,用于根据以下公式确定各哈希地址指向的存储空间的可用空间长度:
Li=|K*θi|,Li为哈希地址i指向的存储空间的可用空间长度,K为所有哈希地址指向的总存储空间的长度,θi为哈希地址i指向的存储空间占所有哈希地址指向的总存储空间的比例,其中, N为文件指纹的比特数。

9.根据权利要求7或8所述的装置,其特征在于,存储空间分配模块包括:
特征库创建子单元,用于创建特征库,所述特征库包括第一空间、第二空间和第三空间;
长度保存子单元,用于将各哈希地址指向的存储空间的可用空间长度保存在所述第一空间;
首地址保存子单元,用于根据各哈希地址指向的存储空间的可用空间长度,将所述第三空间划分为各哈希地址指向的存储空间,确定各哈希地址指向的存储空间的首地址,并将各哈希地址指向的存储空间的首地址保存在所述第二空间。

10.根据权利要求9所述的装置,其特征在于,还包括:
长度更新模块,用于将所述第一空间中保存的所述存储空间的可用空间长度更新为所述存储空间内已添加信息的长度。

11.根据权利要求7或8所述的装置,其特征在于,所述文件指纹为音频指纹,所述文件指纹对应的文件信息包括音频信号的属性信息或所述属性信息的索引,以及所述音频信号中所述音频指纹对应的时间片段;
还包括:
时间片段划分单元,用于在所述哈希地址确定模块确定文件指纹对应的哈希地址之前,将所述音频信号分为至少一个时间片段;
音频指纹提取单元,用于从每个时间片段中提取至少一个音频指纹。

12.根据权利要求11所述的装置,其特征在于,所述音频指纹由矢量起点的频率值、矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差表征,所述矢量起点和矢量终点根据所述音频指纹对应的时间片段的频谱图确定;所述统计得到的文件指纹分布特性包括:
矢量起点的频率值较小的音频指纹多于矢量起点的频率值较大的音频指纹,矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较小的音频指纹多于矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较大的音频指纹。
说明书

技术领域

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

背景技术

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

发明内容

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

实施方案

[0062] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0063] 实施例一
[0064] 图1为本发明实施例一所提供的文件指纹处理方法的流程图。本实施例的方法适用于对海量音频信息进行有效的管理和使用的情况。该方法由配置在计算机中的文件指纹处理装置执行,该装置通常以硬件和/或软件的方式来实现。本实施例的方法包括如下步骤:
[0065] 步骤110、确定文件指纹对应的哈希地址,所述哈希地址指向一个预先分配的存储空间,所述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到;
[0066] 在步骤110中,所述文件指纹优选为音频指纹。所述音频指纹是从音频信号中提取获得的,并且可以通过一个哈希矢量来表征,在所述音频信号的频谱图中找一特定峰值点作为矢量起点,该特定峰值点的确定过程:通过在频谱图中选取一个点,判断在以选取的点为中心的一定时间和频率范围的局部区域内该点的幅值是否为最大,若该点的幅值最大,则将该点作为该局部区域的峰值点,若不是最大,则重新选取一个点,重复上述过程,直至将该频谱图中的所有峰值点确定完毕,之后选取该频谱图中的一个峰值点作为矢量起点,再以矢量起点为中心的搜索范围内搜索到其他的峰值点作为矢量终点。设定F1是矢量起点的频率值,T1是矢量起点的时间值,F2是矢量终点的频率值,T2是矢量终点的时间值,则所述文件指纹的结构为[F1,ΔF,ΔT]。其中,F1、ΔF和ΔT分别用二进制数表示,ΔF=F2-F1,ΔT=T2-T1。如果用U、V和W分别表示F1、ΔF和ΔT的二进制位数,上述搜索范围根据V对应的矢量起点和矢量终点的最大时间差值和W对应的矢量起点和矢量终点的最大频率差值确定,则所述文件指纹可以用N个二进制位数表示并且N=U+V+W,从而可以根据哈希矢量对应的十进制数确定所述文件指纹对应的哈希地址。
[0067] 步骤120、确定所述哈希地址指向的存储空间的首地址;
[0068] 步骤130、根据所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间中加入所述文件指纹对应的文件信息,并更新所述存储空间内已添加信息的长度。
[0069] 当所述文件指纹为音频指纹时,所述文件指纹对应的文件信息包括音频信号的属性信息或所述属性信息的索引,以及所述音频信号中所述音频指纹对应的时间片段,其中,音频信号的属性信息可以包括歌曲名、歌手名、歌曲类型、歌曲发行年代;所述存储空间内已添加信息的长度优选地通过所述哈希地址对应的一个长度统计变量来表示,并且设定其初始值为零,即用来统计所述哈希地址对应的所述存储空间内已存储的文件信息的个数,当在所述哈希地址对应的所述存储空间中加入一所述文件指纹对应的文件信息时,则对所述长度统计变量执行加一操作,以更新所述存储空间内已添加信息的长度。
[0070] 本发明实施例提供的文件指纹处理方法,通过根据文件指纹结构确定所述文件指纹对应的哈希地址,进一步的根据所述哈希地址对应的所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间内加入所述文件指纹对应的文件信息。一定程度上解决了在处理海量音频信号时,从不同的音频信号中提取到相同的文件指纹出现哈希地址冲突,从而造成后续处理的音频信号的信息不能在相应的哈希地址对应的空间中存储或者将已经存入的音频信号的音频信息冲掉的问题,保证了音频信息数据的完整性。同时提高了存储空间的利用率和对音频信息进行检索时的匹配成功率。
[0071] 进一步的,在本实施例中,在所有文件指纹处理完成之后,根据各哈希地址指向的存储空间内已添加信息的长度,释放各存储空间内未使用的空间。
[0072] 具体的,当将待处理的所有所述文件指纹对应的文件信息存储在所述文件指纹对应的所述存储空间中后,如果所述哈希地址指向的存储空间内已添加信息的长度小于预先分配的所述哈希地址指向的存储空间的长度,则释放所述哈希地址指向的存储空间内未使用的空间。实现了在处理完所有文件指纹后,能够自适应调整哈希表结构,提高了存储空间的利用率。
[0073] 实施例二
[0074] 图2为本发明实施例二所提供的文件指纹处理方法的流程图。本发明实施例以上述实施例为基础,参照图2,在本实施例中,步骤110之前还包括:
[0075] 步骤210、根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空间长度;
[0076] 当所述文件指纹为音频指纹时,所述统计得到的文件指纹分布特性可以通过F1、ΔF和ΔT的分布特性来表征,例如,矢量起点F1较小的音频指纹较多,矢量频率差ΔF和时间差ΔT较小的音频指纹较多。步骤210的具体执行操作为:根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间占所有哈希地址指向的总存储空间的比例;根据以下公式确定各哈希地址指向的存储空间的可用空间长度:
[0077] Li=|K*θi|,Li为哈希地址i指向的存储空间的可用空间长度,K为所有哈希地址指向的总存储空间的长度,θi为哈希地址i指向的存储空间占所有哈希地址指向的总存储空间的比例,其中, N为文件指纹的比特数。
[0078] 步骤220、根据各哈希地址指向的存储空间的可用空间长度,为各哈希地址分配对应的存储空间。
[0079] 步骤220的具体执行操作为:创建特征库,所述特征库包括第一空间、第二空间和第三空间;将各哈希地址指向的存储空间的可用空间长度保存在所述第一空间;根据各哈希地址指向的存储空间的可用空间长度,将所述第三空间划分为各哈希地址指向的存储空间,确定各哈希地址指向的存储空间的首地址,并将各哈希地址指向的存储空间的首地址保存在所述第二空间。在此需要说明的是:第一空间、第二空间和第三空间中存放的内容是非特定的,即哈希地址指向的存储空间的可用空间长度即可以保存在所述第一空间,也可以保存在所述第二空间或者第三空间内,其他两个空间中的内容也可以存放在第一空间、第二空间或第三空间。总之,本发明并不对第一空间、第二空间和第三空间中存放的内容进行限定。
[0080] 本发明实施例提供的文件指纹处理方法,通过根据统计得到的文件指纹分布特性,以确定各哈希地址指向的存储空间的可用空间长度。并且根据各哈希地址指向的存储空间的可用空间长度,在所述第三空间中为各哈希地址分配对应的存储空间。因此避免了现有技术中建立等深度的哈希表时造成存储空间浪费和检索音频信息时效率低的问题。
[0081] 具体的,在上述实施例中,在所述释放各存储空间内未使用的空间之后,优选的地还可以包括:将所述第一空间中保存的所述存储空间的可用空间长度更新为所述存储空间内已添加信息的长度。
[0082] 进一步的,在本发明上述实施例中,所述确定文件指纹对应的哈希地址之前的操作还可以包括:将音频信号分为至少一个时间片段;从每个时间片段中提取至少一个音频指纹。所述音频指纹由矢量起点的频率值、矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差表征,所述矢量起点和矢量终点根据所述音频指纹对应的时间片段的频谱图确定;相应地,表征所述音频指纹的哈希矢量根据所述音频指纹对应时间片段的频谱图确定。
[0083] 实施例三
[0084] 为让本发明上述各实施例所提供的文件指纹处理方法更加直观,在此将本发明上述各实施例所提供的文件指纹结构进行详细介绍。首先在频谱图中找一特定峰值点作为矢量起点,在矢量起点的搜索范围内搜索到符合条件的峰值点作为矢量终点。设定F1是矢量起点的频率值,T1是矢量起点的时间值,F2是是矢量终点的频率值,T2是矢量终点的时间值,如果第P首歌的第Q个时间段内提取出一组哈希矢量起点对应的坐标为[20,24],矢量终点对应的坐标为[30,28],即F1=24,T1=20,F2=28,T2=30,则ΔF=F2-F1=4,ΔT=T2-T1=10。分别将F1、ΔF和ΔT用二进制数表示,在本实施例中,如果用U、V和W分别表示F1、ΔF和ΔT的二进制位数,设定U=8,V=6,W=6,则对应的文件指纹表示为[00011000 000100 001010],并且该文件指纹可以用N个二进制位数表示,N=U+V+W=20。即在哈希表中哈希地址为98570对应的空间内存储第P首歌的相关信息,如歌曲名、歌手名、类型、发行年代或者具体信息对应的索引信息等,其中,哈希表中哈希地址为98570对应的空间即在上述实施例中提及的第三空间中分配的。
[0085] 根据上述的文件指纹结构以及大量的音频信号数据训练,可以统计得到文件指纹分布特性,所述统计得到的文件指纹分布特性包括:矢量起点的频率值较小的音频指纹多于矢量起点的频率值较大的音频指纹,矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较小的音频指纹多于矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较大的音频指纹。下面结合图3详细介绍根据文件指纹分布特性将总存储空间划分为第一空间、第二空间和第三空间,以及如何向第三空间中加入各文件指纹对应的文件信息。图3为本发明上述各实施例所提供的文件指纹处理方法的示意图。参照图3,将各哈希地址指向的存储空间的可用空间长度保存在所述第一空间;将各哈希地址指向的存储空间的首地址保存在所述第二空间;根据各哈希地址指向的存储空间的可用空间长度,将所述第三空间划分为各哈希地址指向的存储空间,并将各哈希地址指向的存储空间中加入所述文件指纹对应的文件信息。
[0086] 具体的,根据文件指纹分布特性将总存储空间划分为第一空间、第二空间和第三空间。Li、K、θi和N代表的意义与上述实施例中的相同,在此不再赘述。其中,所述第一空间大小为2N,用于存放各哈希地址i指向的存储空间的可用空间长度Li。Li的大小可以通过公式Li=|K*θi|计算得到,0≤i≤2N-1;所述第二空间大小为2N,用于存放各哈希地址i指向的存N储空间的首地址Ai,Ai的大小可以通过公式Ai=Ai-1+Li-1计算得到,0≤i≤2-1且A0=0。根据上述的Ai,在所述第三空间中加入所述文件指纹对应的文件信息的具体过程如下:设定哈希地址i对应的一个长度统计变量为CNTi,当在所述哈希地址i对应的所述存储空间中加入一所述文件指纹对应的文件信息时,则对所述长度统计变量CNTi执行加一操作,即更新CNTi=CNTi+1,以更新所述存储空间内已添加信息的长度。在哈希地址i对应的空间地址为Ai+CNTi-1的空间中加入所述文件指纹对应的文件信息。当将待处理的所有所述文件指纹对应的文件信息存储在所述文件指纹对应的所述存储空间中后,如果所述哈希地址指向的存储空间内已添加信息的长度小于预先分配的所述哈希地址指向的存储空间的长度,则释放所述哈希地址指向的存储空间内未使用的空间。并将所述第一空间中保存的所述存储空间的可用空间长度Li更新为所述存储空间内已添加信息的长度CNTi。
[0087] 本发明实施例提供的文件指纹处理方法,通过根据文件指纹的分布特性确定各哈希地址指向的存储空间的可用空间长度,根据所述可用空间长度为所述各哈希地址分配对应的存储空间以存储所述文件指纹对应的文件信息。以解决在处理海量音频信号时,从不同的音频信号中提取到相同的文件指纹出现哈希地址冲突,从而造成后续处理的音频信号的信息不能在相应的哈希地址对应的空间中存储或者将已经存入的音频信号的音频信息冲掉的问题,保证了音频信息数据的完整性,提高了存储空间的利用率和对音频信息进行检索时的匹配成功率。并在存储所有文件指纹对应的文件信息后,更新所述第一空间中存储的各哈希地址指向的存储空间的可用空间长度Li为所述哈希地址i对应的一个长度统计变量CNTi,即Li=CNTi,实现了在处理音频信号的文件指纹时能够自适应调整哈希表空间结构。
[0088] 实施例四
[0089] 图4为本发明实施例四所提供的文件指纹处理装置的结构示意图。本实施例的装置适用于对海量音频信息进行有效的管理和使用的情况。该装置通常以硬件和/或软件的方式来实现。参照图4,该文件指纹处理装置包括如下模块:哈希地址确定模块410、首地址确定模块420和文件信息加入模块430。
[0090] 其中,哈希地址确定模块410用于确定文件指纹对应的哈希地址,所述哈希地址指向一个预先分配的存储空间,所述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到;首地址确定模块420用于确定所述哈希地址指向的存储空间的首地址;文件信息加入模块430用于根据所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间中加入所述文件指纹对应的文件信息,并更新所述存储空间内已添加信息的长度。
[0091] 本发明实施例提供的文件指纹处理装置,通过哈希地址确定模块确定所述文件指纹对应的哈希地址,进一步的根据所述哈希地址对应的所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间内加入所述文件指纹对应的文件信息。一定程度上解决了在处理海量音频信号时,从不同的音频信号中提取到相同的文件指纹出现哈希地址冲突,从而造成后续处理的音频信号的信息不能在相应的哈希地址对应的空间中存储或者将已经存入的音频信号的音频信息冲掉的问题,保证了音频信息数据的完整性。同时提高了存储空间的利用率和对音频信息进行检索时的匹配成功率。
[0092] 进一步的,在本实施例中,在所有文件指纹处理完成之后,还包括空间释放模块用于根据各哈希地址指向的存储空间内已添加信息的长度,释放各存储空间内未使用的空间。
[0093] 实施例五
[0094] 图5为本发明实施例五所提供的文件指纹处理装置的结构示意图。参照图5,在上述实施例的基础上,还包括:
[0095] 长度确定模块510用于根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空间长度;存储空间分配模块520用于根据各哈希地址指向的存储空间的可用空间长度,为各哈希地址分配对应的存储空间。
[0096] 其中,长度确定模块510具体包括:比例确定子单元510a用于根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间占所有哈希地址指向的总存储空间的比例,其中,所述统计得到的文件指纹分布特性包括:矢量起点的频率值较小的音频指纹多于矢量起点的频率值较大的音频指纹,矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较小的音频指纹多于矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较大的音频指纹;长度确定子单元510b用于根据以下公式确定各哈希地址指向的存储空间的可用空间长度:Li=|K*θi|,Li为哈希地址i指向的存储空间的可用空间长度,K为所有哈希地址指向的总存储空间的长度,θi为哈希地址i指向的存储空间占所有哈希地址指向的总存储空间的比例,其中, N为文件指纹的比特数。
[0097] 存储空间分配模块520具体包括:特征库创建子单元520a用于创建特征库,所述特征库包括第一空间、第二空间和第三空间;长度保存子单元520b用于将各哈希地址指向的存储空间的可用空间长度保存在所述第一空间;首地址保存子单元520c用于根据各哈希地址指向的存储空间的可用空间长度,将所述第三空间划分为各哈希地址指向的存储空间,确定各哈希地址指向的存储空间的首地址,并将各哈希地址指向的存储空间的首地址保存在所述第二空间。
[0098] 本发明实施例提供的文件指纹处理装置,通过根据统计得到的文件指纹分布特性,以确定各哈希地址指向的存储空间的可用空间长度。并且根据各哈希地址指向的存储空间的可用空间长度,在所述第三空间中为各哈希地址分配对应的存储空间。因此避免了现有技术中建立等深度的哈希表时造成存储空间浪费和检索音频信息时效率低的问题。
[0099] 具体的,在本发明上述实施例中,优选的还可以包括:长度更新模块,用于将所述第一空间中保存的所述存储空间的可用空间长度更新为所述存储空间内已添加信息的长度。
[0100] 进一步的,在上述实施例中,若所述文件指纹为音频指纹,所述文件指纹对应的文件信息包括音频信号的属性信息或所述属性信息的索引,以及所述音频信号中所述音频指纹对应的时间片段,则还包括:时间片段划分单元,用于将音频信号分为至少一个时间片段;音频指纹提取单元,用于从每个时间片段中提取至少一个音频指纹。其中,所述音频指纹由矢量起点的频率值、矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差构成。
[0101] 本发明各实施例的文件指纹处理装置可用于执行本发明任意实施例所提供的文件指纹处理方法,具备相应的功能模块和有益效果。
[0102] 本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0103] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

附图说明

[0056] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0057] 图1为本发明实施例一所提供的文件指纹处理方法的流程图;
[0058] 图2为本发明实施例二所提供的文件指纹处理方法的流程图;
[0059] 图3为本发明上述各实施例所提供的文件指纹处理方法的示意图;
[0060] 图4为本发明实施例四所提供的文件指纹处理装置的结构示意图;
[0061] 图5为本发明实施例五所提供的文件指纹处理装置的结构示意图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号