《文件指纹处理方法及装置.pdf》由会员分享,可在线阅读,更多相关《文件指纹处理方法及装置.pdf(19页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104050180A43申请公布日20140917CN104050180A21申请号201310079446322申请日20130313G06F17/3020060171申请人华为技术有限公司地址518129广东省深圳市龙岗区坂田华为总部办公楼72发明人张德明张琦74专利代理机构北京同立钧成知识产权代理有限公司11205代理人王庆龙54发明名称文件指纹处理方法及装置57摘要本发明实施例提供一种文件指纹处理方法及装置。本发明文件指纹处理方法,包括确定文件指纹对应的哈希地址,所述哈希地址指向一个预先分配的存储空间,所述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到;。
2、确定所述哈希地址指向的存储空间的首地址;根据所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间中加入所述文件指纹对应的文件信息,并更新所述存储空间内已添加信息的长度。本发明实施例保证了音频信息数据的完整性。同时提高了存储空间的利用率和对音频信息进行检索时的匹配成功率。51INTCL权利要求书3页说明书10页附图5页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书10页附图5页10申请公布号CN104050180ACN104050180A1/3页21一种文件指纹处理方法,其特征在于,包括确定文件指纹对应的哈希地址,所述哈希地址指向一个预先分配的存储空间,所述。
3、哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到;确定所述哈希地址指向的存储空间的首地址;根据所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间中加入所述文件指纹对应的文件信息,并更新所述存储空间内已添加信息的长度。2根据权利要求1所述的方法,其特征在于,还包括在所有文件指纹处理完成之后,根据各哈希地址指向的存储空间内已添加信息的长度,释放各存储空间内未使用的空间。3根据权利要求1或2所述的方法,其特征在于,所述确定文件指纹对应的哈希地址之前,还包括根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空间长度;根据各哈希地址指向的存储空间的可用空间长。
4、度,为各哈希地址分配对应的存储空间。4根据权利要求3所述的方法,其特征在于,所述根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空间长度,包括根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间占所有哈希地址指向的总存储空间的比例;根据以下公式确定各哈希地址指向的存储空间的可用空间长度LI|KI|,LI为哈希地址I指向的存储空间的可用空间长度,K为所有哈希地址指向的总存储空间的长度,I为哈希地址I指向的存储空间占所有哈希地址指向的总存储空间的比例,其中,N为文件指纹的比特数。5根据权利要求3或4所述的方法,其特征在于,所述根据各哈希地址指向的存储空间的可用空间长度,为。
5、各哈希地址分配对应的存储空间,包括创建特征库,所述特征库包括第一空间、第二空间和第三空间;将各哈希地址指向的存储空间的可用空间长度保存在所述第一空间;根据各哈希地址指向的存储空间的可用空间长度,将所述第三空间划分为各哈希地址指向的存储空间,确定各哈希地址指向的存储空间的首地址,并将各哈希地址指向的存储空间的首地址保存在所述第二空间。6根据权利要求5所述的方法,其特征在于,所述释放各存储空间内未使用的空间之后,还包括将所述第一空间中保存的所述存储空间的可用空间长度更新为所述存储空间内已添加信息的长度。7根据权利要求16中任一项所述的方法,其特征在于,所述文件指纹为音频指纹,所述文件指纹对应的文件。
6、信息包括音频信号的属性信息或所述属性信息的索引,以及所述音频信号中所述音频指纹对应的时间片段;所述确定文件指纹对应的哈希地址之前,还包权利要求书CN104050180A2/3页3括将所述音频信号分为至少一个时间片段;从每个时间片段中提取至少一个音频指纹。8根据权利要求7所述的方法,其特征在于,所述音频指纹由矢量起点的频率值、矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差表征,所述矢量起点和矢量终点根据所述音频指纹对应的时间片段的频谱图确定;所述统计得到的文件指纹分布特性包括矢量起点的频率值较小的音频指纹多于矢量起点的频率值较大的音频指纹,矢量终点和矢量起点之间的频率差、矢量终点。
7、和矢量起点之间的时间差均较小的音频指纹多于矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较大的音频指纹。9一种文件指纹处理装置,其特征在于,包括哈希地址确定模块,用于确定文件指纹对应的哈希地址,所述哈希地址指向一个预先分配的存储空间,所述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到;首地址确定模块,用于确定所述哈希地址指向的存储空间的首地址;文件信息加入模块,用于根据所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间中加入所述文件指纹对应的文件信息,并更新所述存储空间内已添加信息的长度。10根据权利要求9所述的装置,其特征在于,还包括空间释放。
8、模块,用于在所有文件指纹处理完成之后,根据各哈希地址指向的存储空间内已添加信息的长度,释放各存储空间内未使用的空间。11根据权利要求9或10所述的装置,其特征在于,还包括长度确定模块,用于根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空间长度;存储空间分配模块,用于根据各哈希地址指向的存储空间的可用空间长度,为各哈希地址分配对应的存储空间。12根据权利要求11所述的装置,其特征在于,长度确定模块包括比例确定子单元,用于根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间占所有哈希地址指向的总存储空间的比例;长度确定子单元,用于根据以下公式确定各哈希地址指向的存储空间。
9、的可用空间长度LI|KI|,LI为哈希地址I指向的存储空间的可用空间长度,K为所有哈希地址指向的总存储空间的长度,I为哈希地址I指向的存储空间占所有哈希地址指向的总存储空间的比例,其中,N为文件指纹的比特数。13根据权利要求11或12所述的装置,其特征在于,存储空间分配模块包括特征库创建子单元,用于创建特征库,所述特征库包括第一空间、第二空间和第三空间;长度保存子单元,用于将各哈希地址指向的存储空间的可用空间长度保存在所述第一权利要求书CN104050180A3/3页4空间;首地址保存子单元,用于根据各哈希地址指向的存储空间的可用空间长度,将所述第三空间划分为各哈希地址指向的存储空间,确定各哈。
10、希地址指向的存储空间的首地址,并将各哈希地址指向的存储空间的首地址保存在所述第二空间。14根据权利要求13所述的装置,其特征在于,还包括长度更新模块,用于将所述第一空间中保存的所述存储空间的可用空间长度更新为所述存储空间内已添加信息的长度。15根据权利要求914中任一项所述的装置,其特征在于,所述文件指纹为音频指纹,所述文件指纹对应的文件信息包括音频信号的属性信息或所述属性信息的索引,以及所述音频信号中所述音频指纹对应的时间片段;还包括时间片段划分单元,用于在所述哈希地址确定模块确定文件指纹对应的哈希地址之前,将所述音频信号分为至少一个时间片段;音频指纹提取单元,用于从每个时间片段中提取至少一。
11、个音频指纹。16根据权利要求15所述的装置,其特征在于,所述音频指纹由矢量起点的频率值、矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差表征,所述矢量起点和矢量终点根据所述音频指纹对应的时间片段的频谱图确定;所述统计得到的文件指纹分布特性包括矢量起点的频率值较小的音频指纹多于矢量起点的频率值较大的音频指纹,矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较小的音频指纹多于矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较大的音频指纹。权利要求书CN104050180A1/10页5文件指纹处理方法及装置技术领域0001本发明实施例涉及计算机技术,尤其。
12、涉及一种文件指纹处理方法及装置。背景技术0002音频指纹技术是当前流行的一种音频信息检索技术。该技术通过对原始音频信号进行时频变换后在频域提取特征信息即音频指纹,将特征信息保留下来构建特征库。当需要进行音频检索时,对待检索音频用同样的方法提取音频指纹,然后到特征库进行匹配,当匹配成功时就能得到待检索音频的属性信息,如音频名称、歌手名、发行年代等。0003通常,音频指纹用一个哈希矢量来表征,因此可以构建一个地址长度与哈希矢量的位数对应的哈希表作为特征库。具体地,在音频信号中提取出音频指纹后,在音频指纹对应的哈希地址中加入音频信号对应的信息,包括属性信息、提取的指纹对应在音频信号中的时间片段等。当。
13、不同的音频信号提取出相同的音频指纹时,就出现了哈希地址冲突现象。特别是基于海量音频信号建立一个比较完备的数据库时,将会出现大量的地址冲突。如果由于地址冲突导致不能在相应的哈希地址中存储后面处理的音频信号的信息,或者将前面存入的音频信号的信息覆盖掉,都会导致使用数据库进行音频检索时匹配成功率下降。0004现有音频检索系统在建立哈希表时根据系统限制确定均匀的哈希表深度,在处理地址冲突时,主要的解决方法是增加哈希表的深度,即在同一个哈希地址下开辟更大的空间存放每一个冲突的音频信号对应的信息,但这会造成哈希表的极大冗余,导致音频检索效率低下和存储空间的浪费。发明内容0005本发明实施例提供一种文件指纹。
14、处理方法及装置,用以解决现有技术中在处理海量音频信号建立数据库时出现大量哈希地址冲突造成音频信号不能正常存储,导致音频信号的指纹丢失的问题。0006第一方面,本发明实施例提供一种文件指纹处理方法,包括0007确定文件指纹对应的哈希地址,所述哈希地址指向一个预先分配的存储空间,所述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到;0008确定所述哈希地址指向的存储空间的首地址;0009根据所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间中加入所述文件指纹对应的文件信息,并更新所述存储空间内已添加信息的长度。0010在第一方面的第一种可能的实现方式中,还包括0011。
15、在所有文件指纹处理完成之后,根据各哈希地址指向的存储空间内已添加信息的长度,释放各存储空间内未使用的空间。0012根据第一方面、第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述确定文件指纹对应的哈希地址之前,还包括0013根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空间说明书CN104050180A2/10页6长度;0014根据各哈希地址指向的存储空间的可用空间长度,为各哈希地址分配对应的存储空间。0015根据第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空。
16、间长度,包括0016根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间占所有哈希地址指向的总存储空间的比例;0017根据以下公式确定各哈希地址指向的存储空间的可用空间长度0018LI|KI|,LI为哈希地址I指向的存储空间的可用空间长度,K为所有哈希地址指向的总存储空间的长度,I为哈希地址I指向的存储空间占所有哈希地址指向的总存储空间的比例,其中,N为文件指纹的比特数。0019根据第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据各哈希地址指向的存储空间的可用空间长度,为各哈希地址分配对应的存储空间,包括0020创建特征库,所。
17、述特征库包括第一空间、第二空间和第三空间;0021将各哈希地址指向的存储空间的可用空间长度保存在所述第一空间;0022根据各哈希地址指向的存储空间的可用空间长度,将所述第三空间划分为各哈希地址指向的存储空间,确定各哈希地址指向的存储空间的首地址,并将各哈希地址指向的存储空间的首地址保存在所述第二空间。0023根据第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述释放各存储空间内未使用的空间之后,还包括0024将所述第一空间中保存的所述存储空间的可用空间长度更新为所述存储空间内已添加信息的长度。0025根据第一方面、第一方面的第一种至第五种可能的实现方式中的任意一种,在第一。
18、方面的第六种可能的实现方式中,所述文件指纹为音频指纹,所述文件指纹对应的文件信息包括音频信号的属性信息或所述属性信息的索引,以及所述音频信号中所述音频指纹对应的时间片段;所述确定文件指纹对应的哈希地址之前,还包括0026将所述音频信号分为至少一个时间片段;0027从每个时间片段中提取至少一个音频指纹。0028根据第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述音频指纹由矢量起点的频率值、矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差表征,所述矢量起点和矢量终点根据所述音频指纹对应的时间片段的频谱图确定;所述统计得到的文件指纹分布特性包括0029矢量起点的。
19、频率值较小的音频指纹多于矢量起点的频率值较大的音频指纹,矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较小的音频指纹多于矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较大的音频指纹。说明书CN104050180A3/10页70030第二方面,本发明实施例提供一种文件指纹处理装置,包括0031哈希地址确定模块,用于确定文件指纹对应的哈希地址,所述哈希地址指向一个预先分配的存储空间,所述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到;0032首地址确定模块,用于确定所述哈希地址指向的存储空间的首地址;0033文件信息加入模块,用于根据所述存储空间的。
20、首地址和所述存储空间内已添加信息的长度,在所述存储空间中加入所述文件指纹对应的文件信息,并更新所述存储空间内已添加信息的长度。0034在第二方面的第一种可能的实现方式中,还包括0035空间释放模块,用于在所有文件指纹处理完成之后,根据各哈希地址指向的存储空间内已添加信息的长度,释放各存储空间内未使用的空间。0036根据第二方面、第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,还包括0037长度确定模块,用于根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空间长度;0038存储空间分配模块,用于根据各哈希地址指向的存储空间的可用空间长度,为各哈希地址分配对应。
21、的存储空间。0039根据第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,长度确定模块包括0040比例确定子单元,用于根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间占所有哈希地址指向的总存储空间的比例;0041长度确定子单元,用于根据以下公式确定各哈希地址指向的存储空间的可用空间长度0042LI|KI|,LI为哈希地址I指向的存储空间的可用空间长度,K为所有哈希地址指向的总存储空间的长度,I为哈希地址I指向的存储空间占所有哈希地址指向的总存储空间的比例,其中,N为文件指纹的比特数。0043根据第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式,在第二。
22、方面的第四种可能的实现方式中,存储空间分配模块包括0044特征库创建子单元,用于创建特征库,所述特征库包括第一空间、第二空间和第三空间;0045长度保存子单元,用于将各哈希地址指向的存储空间的可用空间长度保存在所述第一空间;0046首地址保存子单元,用于根据各哈希地址指向的存储空间的可用空间长度,将所述第三空间划分为各哈希地址指向的存储空间,确定各哈希地址指向的存储空间的首地址,并将各哈希地址指向的存储空间的首地址保存在所述第二空间。0047根据第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,还包括0048长度更新模块,用于将所述第一空间中保存的所述存储空间的可用空间长度更。
23、新说明书CN104050180A4/10页8为所述存储空间内已添加信息的长度。0049根据第二方面、第二方面的第二种至第五种可能的实现方式中的任意一种,在第二方面的第六种可能的实现方式中,所述文件指纹为音频指纹,所述文件指纹对应的文件信息包括音频信号的属性信息或所述属性信息的索引,以及所述音频信号中所述音频指纹对应的时间片段;0050还包括0051时间片段划分单元,用于在所述哈希地址确定模块确定文件指纹对应的哈希地址之前,将所述音频信号分为至少一个时间片段;0052音频指纹提取单元,用于从每个时间片段中提取至少一个音频指纹。0053根据第二方面的第六种可能的实现方式,在第二方面的第七种可能的实。
24、现方式中,所述音频指纹由矢量起点的频率值、矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差表征,所述矢量起点和矢量终点根据所述音频指纹对应的时间片段的频谱图确定;所述统计得到的文件指纹分布特性包括0054矢量起点的频率值较小的音频指纹多于矢量起点的频率值较大的音频指纹,矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较小的音频指纹多于矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较大的音频指纹。0055本发明实施例文件指纹处理方法及装置,通过确定所述文件指纹对应的哈希地址,所述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到,并根据所。
25、述哈希地址对应的所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间内加入所述文件指纹对应的文件信息,一定程度上解决了在处理海量音频信号时,从不同的音频信号中提取到相同的文件指纹出现哈希地址冲突,从而造成后续处理的音频信号的信息不能在相应的哈希地址对应的空间中存储或者将已经存入的音频信号的音频信息冲掉的问题,保证了音频信息数据的完整性。同时提高了存储空间的利用率和对音频信息进行检索时的匹配成功率。附图说明0056为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于。
26、本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。0057图1为本发明实施例一所提供的文件指纹处理方法的流程图;0058图2为本发明实施例二所提供的文件指纹处理方法的流程图;0059图3为本发明上述各实施例所提供的文件指纹处理方法的示意图;0060图4为本发明实施例四所提供的文件指纹处理装置的结构示意图;0061图5为本发明实施例五所提供的文件指纹处理装置的结构示意图。具体实施方式0062为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例说明书CN104050180A5/10页9中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,。
27、显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。0063实施例一0064图1为本发明实施例一所提供的文件指纹处理方法的流程图。本实施例的方法适用于对海量音频信息进行有效的管理和使用的情况。该方法由配置在计算机中的文件指纹处理装置执行,该装置通常以硬件和/或软件的方式来实现。本实施例的方法包括如下步骤0065步骤110、确定文件指纹对应的哈希地址,所述哈希地址指向一个预先分配的存储空间,所述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到;0066在步骤11。
28、0中,所述文件指纹优选为音频指纹。所述音频指纹是从音频信号中提取获得的,并且可以通过一个哈希矢量来表征,在所述音频信号的频谱图中找一特定峰值点作为矢量起点,该特定峰值点的确定过程通过在频谱图中选取一个点,判断在以选取的点为中心的一定时间和频率范围的局部区域内该点的幅值是否为最大,若该点的幅值最大,则将该点作为该局部区域的峰值点,若不是最大,则重新选取一个点,重复上述过程,直至将该频谱图中的所有峰值点确定完毕,之后选取该频谱图中的一个峰值点作为矢量起点,再以矢量起点为中心的搜索范围内搜索到其他的峰值点作为矢量终点。设定F1是矢量起点的频率值,T1是矢量起点的时间值,F2是矢量终点的频率值,T2是。
29、矢量终点的时间值,则所述文件指纹的结构为F1,F,T。其中,F1、F和T分别用二进制数表示,FF2F1,TT2T1。如果用U、V和W分别表示F1、F和T的二进制位数,上述搜索范围根据V对应的矢量起点和矢量终点的最大时间差值和W对应的矢量起点和矢量终点的最大频率差值确定,则所述文件指纹可以用N个二进制位数表示并且NUVW,从而可以根据哈希矢量对应的十进制数确定所述文件指纹对应的哈希地址。0067步骤120、确定所述哈希地址指向的存储空间的首地址;0068步骤130、根据所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间中加入所述文件指纹对应的文件信息,并更新所述存储空间内已添加。
30、信息的长度。0069当所述文件指纹为音频指纹时,所述文件指纹对应的文件信息包括音频信号的属性信息或所述属性信息的索引,以及所述音频信号中所述音频指纹对应的时间片段,其中,音频信号的属性信息可以包括歌曲名、歌手名、歌曲类型、歌曲发行年代;所述存储空间内已添加信息的长度优选地通过所述哈希地址对应的一个长度统计变量来表示,并且设定其初始值为零,即用来统计所述哈希地址对应的所述存储空间内已存储的文件信息的个数,当在所述哈希地址对应的所述存储空间中加入一所述文件指纹对应的文件信息时,则对所述长度统计变量执行加一操作,以更新所述存储空间内已添加信息的长度。0070本发明实施例提供的文件指纹处理方法,通过根。
31、据文件指纹结构确定所述文件指纹对应的哈希地址,进一步的根据所述哈希地址对应的所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间内加入所述文件指纹对应的文件信息。一定程度上解决了在处理海量音频信号时,从不同的音频信号中提取到相同的文件指纹出现哈希地址冲突,从而造成后续处理的音频信号的信息不能在相应的哈希地址对应的空间中存储说明书CN104050180A6/10页10或者将已经存入的音频信号的音频信息冲掉的问题,保证了音频信息数据的完整性。同时提高了存储空间的利用率和对音频信息进行检索时的匹配成功率。0071进一步的,在本实施例中,在所有文件指纹处理完成之后,根据各哈希地址指向的。
32、存储空间内已添加信息的长度,释放各存储空间内未使用的空间。0072具体的,当将待处理的所有所述文件指纹对应的文件信息存储在所述文件指纹对应的所述存储空间中后,如果所述哈希地址指向的存储空间内已添加信息的长度小于预先分配的所述哈希地址指向的存储空间的长度,则释放所述哈希地址指向的存储空间内未使用的空间。实现了在处理完所有文件指纹后,能够自适应调整哈希表结构,提高了存储空间的利用率。0073实施例二0074图2为本发明实施例二所提供的文件指纹处理方法的流程图。本发明实施例以上述实施例为基础,参照图2,在本实施例中,步骤110之前还包括0075步骤210、根据统计得到的文件指纹分布特性,确定各哈希地。
33、址指向的存储空间的可用空间长度;0076当所述文件指纹为音频指纹时,所述统计得到的文件指纹分布特性可以通过F1、F和T的分布特性来表征,例如,矢量起点F1较小的音频指纹较多,矢量频率差F和时间差T较小的音频指纹较多。步骤210的具体执行操作为根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间占所有哈希地址指向的总存储空间的比例;根据以下公式确定各哈希地址指向的存储空间的可用空间长度0077LI|KI|,LI为哈希地址I指向的存储空间的可用空间长度,K为所有哈希地址指向的总存储空间的长度,I为哈希地址I指向的存储空间占所有哈希地址指向的总存储空间的比例,其中,N为文件指纹的比特数。00。
34、78步骤220、根据各哈希地址指向的存储空间的可用空间长度,为各哈希地址分配对应的存储空间。0079步骤220的具体执行操作为创建特征库,所述特征库包括第一空间、第二空间和第三空间;将各哈希地址指向的存储空间的可用空间长度保存在所述第一空间;根据各哈希地址指向的存储空间的可用空间长度,将所述第三空间划分为各哈希地址指向的存储空间,确定各哈希地址指向的存储空间的首地址,并将各哈希地址指向的存储空间的首地址保存在所述第二空间。在此需要说明的是第一空间、第二空间和第三空间中存放的内容是非特定的,即哈希地址指向的存储空间的可用空间长度即可以保存在所述第一空间,也可以保存在所述第二空间或者第三空间内,其。
35、他两个空间中的内容也可以存放在第一空间、第二空间或第三空间。总之,本发明并不对第一空间、第二空间和第三空间中存放的内容进行限定。0080本发明实施例提供的文件指纹处理方法,通过根据统计得到的文件指纹分布特性,以确定各哈希地址指向的存储空间的可用空间长度。并且根据各哈希地址指向的存储空间的可用空间长度,在所述第三空间中为各哈希地址分配对应的存储空间。因此避免了现有技术中建立等深度的哈希表时造成存储空间浪费和检索音频信息时效率低的问题。0081具体的,在上述实施例中,在所述释放各存储空间内未使用的空间之后,优选的地说明书CN104050180A107/10页11还可以包括将所述第一空间中保存的所述。
36、存储空间的可用空间长度更新为所述存储空间内已添加信息的长度。0082进一步的,在本发明上述实施例中,所述确定文件指纹对应的哈希地址之前的操作还可以包括将音频信号分为至少一个时间片段;从每个时间片段中提取至少一个音频指纹。所述音频指纹由矢量起点的频率值、矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差表征,所述矢量起点和矢量终点根据所述音频指纹对应的时间片段的频谱图确定;相应地,表征所述音频指纹的哈希矢量根据所述音频指纹对应时间片段的频谱图确定。0083实施例三0084为让本发明上述各实施例所提供的文件指纹处理方法更加直观,在此将本发明上述各实施例所提供的文件指纹结构进行详细介绍。。
37、首先在频谱图中找一特定峰值点作为矢量起点,在矢量起点的搜索范围内搜索到符合条件的峰值点作为矢量终点。设定F1是矢量起点的频率值,T1是矢量起点的时间值,F2是是矢量终点的频率值,T2是矢量终点的时间值,如果第P首歌的第Q个时间段内提取出一组哈希矢量起点对应的坐标为20,24,矢量终点对应的坐标为30,28,即F124,T120,F228,T230,则FF2F14,TT2T110。分别将F1、F和T用二进制数表示,在本实施例中,如果用U、V和W分别表示F1、F和T的二进制位数,设定U8,V6,W6,则对应的文件指纹表示为00011000000100001010,并且该文件指纹可以用N个二进制位数。
38、表示,NUVW20。即在哈希表中哈希地址为98570对应的空间内存储第P首歌的相关信息,如歌曲名、歌手名、类型、发行年代或者具体信息对应的索引信息等,其中,哈希表中哈希地址为98570对应的空间即在上述实施例中提及的第三空间中分配的。0085根据上述的文件指纹结构以及大量的音频信号数据训练,可以统计得到文件指纹分布特性,所述统计得到的文件指纹分布特性包括矢量起点的频率值较小的音频指纹多于矢量起点的频率值较大的音频指纹,矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较小的音频指纹多于矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较大的音频指纹。下面结合图3详细。
39、介绍根据文件指纹分布特性将总存储空间划分为第一空间、第二空间和第三空间,以及如何向第三空间中加入各文件指纹对应的文件信息。图3为本发明上述各实施例所提供的文件指纹处理方法的示意图。参照图3,将各哈希地址指向的存储空间的可用空间长度保存在所述第一空间;将各哈希地址指向的存储空间的首地址保存在所述第二空间;根据各哈希地址指向的存储空间的可用空间长度,将所述第三空间划分为各哈希地址指向的存储空间,并将各哈希地址指向的存储空间中加入所述文件指纹对应的文件信息。0086具体的,根据文件指纹分布特性将总存储空间划分为第一空间、第二空间和第三空间。LI、K、I和N代表的意义与上述实施例中的相同,在此不再赘述。
40、。其中,所述第一空间大小为2N,用于存放各哈希地址I指向的存储空间的可用空间长度LI。LI的大小可以通过公式LI|KI|计算得到,0I2N1;所述第二空间大小为2N,用于存放各哈希地址I指向的存储空间的首地址AI,AI的大小可以通过公式AIAI1LI1计算得到,0I2N1且A00。根据上述的AI,在所述第三空间中加入所述文件指纹对应的文件信息的具体过程如下设定哈希地址I对应的一个长度统计变量为CNTI,当在所述哈希地址I对应的所述存说明书CN104050180A118/10页12储空间中加入一所述文件指纹对应的文件信息时,则对所述长度统计变量CNTI执行加一操作,即更新CNTICNTI1,以更。
41、新所述存储空间内已添加信息的长度。在哈希地址I对应的空间地址为AICNTI1的空间中加入所述文件指纹对应的文件信息。当将待处理的所有所述文件指纹对应的文件信息存储在所述文件指纹对应的所述存储空间中后,如果所述哈希地址指向的存储空间内已添加信息的长度小于预先分配的所述哈希地址指向的存储空间的长度,则释放所述哈希地址指向的存储空间内未使用的空间。并将所述第一空间中保存的所述存储空间的可用空间长度LI更新为所述存储空间内已添加信息的长度CNTI。0087本发明实施例提供的文件指纹处理方法,通过根据文件指纹的分布特性确定各哈希地址指向的存储空间的可用空间长度,根据所述可用空间长度为所述各哈希地址分配对。
42、应的存储空间以存储所述文件指纹对应的文件信息。以解决在处理海量音频信号时,从不同的音频信号中提取到相同的文件指纹出现哈希地址冲突,从而造成后续处理的音频信号的信息不能在相应的哈希地址对应的空间中存储或者将已经存入的音频信号的音频信息冲掉的问题,保证了音频信息数据的完整性,提高了存储空间的利用率和对音频信息进行检索时的匹配成功率。并在存储所有文件指纹对应的文件信息后,更新所述第一空间中存储的各哈希地址指向的存储空间的可用空间长度LI为所述哈希地址I对应的一个长度统计变量CNTI,即LICNTI,实现了在处理音频信号的文件指纹时能够自适应调整哈希表空间结构。0088实施例四0089图4为本发明实施。
43、例四所提供的文件指纹处理装置的结构示意图。本实施例的装置适用于对海量音频信息进行有效的管理和使用的情况。该装置通常以硬件和/或软件的方式来实现。参照图4,该文件指纹处理装置包括如下模块哈希地址确定模块410、首地址确定模块420和文件信息加入模块430。0090其中,哈希地址确定模块410用于确定文件指纹对应的哈希地址,所述哈希地址指向一个预先分配的存储空间,所述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到;首地址确定模块420用于确定所述哈希地址指向的存储空间的首地址;文件信息加入模块430用于根据所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间中加入所述。
44、文件指纹对应的文件信息,并更新所述存储空间内已添加信息的长度。0091本发明实施例提供的文件指纹处理装置,通过哈希地址确定模块确定所述文件指纹对应的哈希地址,进一步的根据所述哈希地址对应的所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间内加入所述文件指纹对应的文件信息。一定程度上解决了在处理海量音频信号时,从不同的音频信号中提取到相同的文件指纹出现哈希地址冲突,从而造成后续处理的音频信号的信息不能在相应的哈希地址对应的空间中存储或者将已经存入的音频信号的音频信息冲掉的问题,保证了音频信息数据的完整性。同时提高了存储空间的利用率和对音频信息进行检索时的匹配成功率。0092进一。
45、步的,在本实施例中,在所有文件指纹处理完成之后,还包括空间释放模块用于根据各哈希地址指向的存储空间内已添加信息的长度,释放各存储空间内未使用的空间。0093实施例五说明书CN104050180A129/10页130094图5为本发明实施例五所提供的文件指纹处理装置的结构示意图。参照图5,在上述实施例的基础上,还包括0095长度确定模块510用于根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空间长度;存储空间分配模块520用于根据各哈希地址指向的存储空间的可用空间长度,为各哈希地址分配对应的存储空间。0096其中,长度确定模块510具体包括比例确定子单元510A用于根据统计得。
46、到的文件指纹分布特性,确定各哈希地址指向的存储空间占所有哈希地址指向的总存储空间的比例,其中,所述统计得到的文件指纹分布特性包括矢量起点的频率值较小的音频指纹多于矢量起点的频率值较大的音频指纹,矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较小的音频指纹多于矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较大的音频指纹;长度确定子单元510B用于根据以下公式确定各哈希地址指向的存储空间的可用空间长度LI|KI|,LI为哈希地址I指向的存储空间的可用空间长度,K为所有哈希地址指向的总存储空间的长度,I为哈希地址I指向的存储空间占所有哈希地址指向的总存储空间的比例。
47、,其中,N为文件指纹的比特数。0097存储空间分配模块520具体包括特征库创建子单元520A用于创建特征库,所述特征库包括第一空间、第二空间和第三空间;长度保存子单元520B用于将各哈希地址指向的存储空间的可用空间长度保存在所述第一空间;首地址保存子单元520C用于根据各哈希地址指向的存储空间的可用空间长度,将所述第三空间划分为各哈希地址指向的存储空间,确定各哈希地址指向的存储空间的首地址,并将各哈希地址指向的存储空间的首地址保存在所述第二空间。0098本发明实施例提供的文件指纹处理装置,通过根据统计得到的文件指纹分布特性,以确定各哈希地址指向的存储空间的可用空间长度。并且根据各哈希地址指向的。
48、存储空间的可用空间长度,在所述第三空间中为各哈希地址分配对应的存储空间。因此避免了现有技术中建立等深度的哈希表时造成存储空间浪费和检索音频信息时效率低的问题。0099具体的,在本发明上述实施例中,优选的还可以包括长度更新模块,用于将所述第一空间中保存的所述存储空间的可用空间长度更新为所述存储空间内已添加信息的长度。0100进一步的,在上述实施例中,若所述文件指纹为音频指纹,所述文件指纹对应的文件信息包括音频信号的属性信息或所述属性信息的索引,以及所述音频信号中所述音频指纹对应的时间片段,则还包括时间片段划分单元,用于将音频信号分为至少一个时间片段;音频指纹提取单元,用于从每个时间片段中提取至少。
49、一个音频指纹。其中,所述音频指纹由矢量起点的频率值、矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差构成。0101本发明各实施例的文件指纹处理装置可用于执行本发明任意实施例所提供的文件指纹处理方法,具备相应的功能模块和有益效果。0102本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通说明书CN104050180A1310/10页14过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。0103最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。说明书CN104050180A141/5页15图1说明书附图CN104050180A152/5页16图2说明书附图CN104050180A163/5页17图3说明书附图CN104050180A174/5页18图4说明书附图CN1040。