CN104636474A - 构建音频指纹库及检索音频指纹的方法和设备 - Google Patents

构建音频指纹库及检索音频指纹的方法和设备 Download PDF

Info

Publication number
CN104636474A
CN104636474A CN201510079596.3A CN201510079596A CN104636474A CN 104636474 A CN104636474 A CN 104636474A CN 201510079596 A CN201510079596 A CN 201510079596A CN 104636474 A CN104636474 A CN 104636474A
Authority
CN
China
Prior art keywords
audio
frequency fingerprint
key value
server
frequency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510079596.3A
Other languages
English (en)
Inventor
王磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201510079596.3A priority Critical patent/CN104636474A/zh
Publication of CN104636474A publication Critical patent/CN104636474A/zh
Priority to DE102015015827.9A priority patent/DE102015015827A1/de
Priority to KR1020150180948A priority patent/KR20160100218A/ko
Priority to KR1020160001876A priority patent/KR20160100224A/ko
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/56Arrangements characterised by components specially adapted for monitoring, identification or recognition covered by groups H04H60/29-H04H60/54
    • H04H60/58Arrangements characterised by components specially adapted for monitoring, identification or recognition covered by groups H04H60/29-H04H60/54 of audio
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/632Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/37Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying segments of broadcast information, e.g. scenes or extracting programme ID
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H2201/00Aspects of broadcast communication
    • H04H2201/90Aspects of broadcast communication characterised by the use of signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)

Abstract

本发明公开了一种构建音频指纹库的方法,包括:提取音频指纹与音频指纹的key值;建立具有相同key值的音频指纹与所述key值的对应关系;把所述key值及其对应的音频指纹分配到服务器中;创建所述key值与所述服务器的对应关系,从而构建音频指纹库。本发明还公开了一种构建音频指纹库的设备和根据音频指纹库的音频指纹检索方法及设备。本发明将音频指纹和与音频指纹相关的key值均衡地分配到服务器中,从而可将每次查询请求中的音频指纹和与音频指纹相关的key值精确地提供到其所在的服务器进行计算,最大限度地保证了资源利用率,并且通过统计系统运行期间各个服务器的各个key值的访问频率,进行负载均衡的优化,提高系统的吞吐能力。

Description

构建音频指纹库及检索音频指纹的方法和设备
技术领域
本发明涉及信息技术领域,尤其涉及一种构建音频指纹库及检索音频指纹的方法和设备。
背景技术
音频指纹识别(俗称“听音识曲”)是一种新兴的音乐搜索技术,该技术通过分析音频文件的频谱,提取称为“音频指纹”的数字特征,并使用数字特征构建“海量音频指纹库”,部署于网络服务器上,客户端可将录制的未知音频片段发送到服务器,服务器使用相同的算法提取“音频指纹”,然后通过搜索算法在海量音频指纹库中查找相似特征,并根据找到的若干特征推测目标音频文件,将结果返回给客户端即完成了整个识别过程。
音频指纹识别是一种兼具数据密集型和计算密集型的应用:海量音频指纹库必须包含足够多的音频文件的特征,才能保证应用的识别率,该规模通常为千万级;搜索算法的计算量巨大,为了保证搜索速度,通常完全使用内存存储海量音频指纹库并进行计算。
可知,音频指纹识别对内存容量的要求很高(TB级),是目前单台服务器无法满足的。现有的解决方案通常是拆分曲库,使用大量服务器分别构建音频指纹库,同时搜索所有服务器,这种方案会造成不必要的搜索,浪费资源。因此,如何构建资源利用率最优的海量音频指纹库系统成为了业界的一个难题。
发明内容
为此,本发明提出了一种可以解决上述问题的至少一部分的新音频指纹存储及检索的方法和设备。
根据本发明的一个方面,提供了一种构建音频指纹库的方法,包括:提取音频指纹与音频指纹的key值;建立具有相同key值的音频指纹与所述key值的对应关系;把所述key值及其对应的音频指纹分配到服务器中;创建所述key值与所述服务器的对应关系,从而构建音频指纹库。
可选地,根据本发明的构建音频指纹库的方法,其中,建立具有相同key值的音频指纹与所述key值的对应关系包括:将具有相同key值的音频指纹划分为同一数组。
可选地,根据本发明的构建音频指纹库的方法,进一步包括:计算所述数组的被搜索次数;根据所述搜索次数,将所述数组分配到所述服务器中,以使的所述服务器的负载差别最小化。
可选地,根据本发明的构建音频指纹库的方法,其中,计算所述数组的被搜索次数包括:计算所述数组中key值的被搜索频率;确定所述数组中音频指纹的数量;计算所述被搜索频率与所述音频指纹的数量的乘积,以得到所述数组的被搜索次数。
可选地,根据本发明的构建音频指纹库的方法,其中,使的所述服务器的负载差别最小化包括:通过贪婪算法将所述数组分配到所述服务器中。
根据本发明的另一个方面,还提供了一种在服务器中检索音频指纹的方法,其中,所述服务器中存储有所述音频指纹及其对应的key值,所述key值与所述服务器相对应,所述方法包括:提取待检索音频指纹与所述待检索音频指纹的待检索key值;查找所述待检索key值对应的服务器;在所述服务器中,检索与待检索音频指纹相应的音频指纹。
可选地,根据本发明的在服务器中检索音频指纹的方法,进一步包括:利用检索到的音频指纹,生成音频信息。
根据本发明的另一个方面,还提供了一种构建音频指纹库的设备,包括:提取装置、分析装置、分配装置和保存装置,其中,提取装置,用于提取音频指纹与音频指纹的key值;分析装置,用于建立具有相同key值的音频指纹与所述key值的对应关系;分配装置,用于把所述key值及其对应的音频指纹分配到服务器中;保存装置,用于创建所述key值与所述服务器的对应关系,从而构建音频指纹库。
可选地,根据本发明的构建音频指纹库的设备,进一步包括:计算装置和重新分配装置,其中计算装置,用于计算所述数组的被搜索次数;重新分配装置,用于根据所述搜索次数,将所述数组分配到所述服务器中,以使的所述服务器的负载差别最小化。
根据本发明的另一个方面,还提供了一种在服务器中检索音频指纹的设备,其中,所述服务器中存储有所述音频指纹及其对应的key值,所述key值与所述服务器相对应,所述设备包括:获取装置,用于提取待检索音频指纹与所述待检索音频指纹的待检索key值;查找装置,用于查找所述待检索key值对应的服务器;匹配装置,用于在所述服务器中,检索与待检索音频指纹相应的音频指纹。
本发明所述构建音频指纹库及检索音频指纹的方法和设备将音频指纹和与音频指纹相关的key值均衡地分配到服务器中,从而可将每次查询请求中的音频指纹和与音频指纹相关的key值精确地提供到其所在的服务器进行计算,最大限度地保证了资源利用率,并且通过统计系统运行期间各个服务器的各个key值的访问频率,进行负载均衡的优化,提高系统的吞吐能力。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。其中在附图中,参考数字之后的字母标记指示多个相同的部件,当泛指这些部件时,将省略其最后的字母标记。在附图中:
图1为本发明所述构建音频指纹库的方法的流程图;
图2为本发明所述在服务器中检索音频指纹的方法的流程图;
图3为key值和与key值相关的音频指纹的分布示意图;
图4为哈希表结构示意图;
图5为key值在服务器中的分布式结构示意图;
图6为本发明所述构建音频指纹库的设备的结构示意图;
图7为本发明所述在服务器中检索音频指纹的设备的结构示意图;以及
图8为示出了可用来实践本发明的实施方式的计算设备的框图。
在附图中,使用相同或类似的标号来指代相同或类似的元素。
具体实施方式
现在将参考附图来详细描述本发明的示例性实施方式。应当理解,附图中示出和描述的实施方式仅仅是示例性的,意在阐释本发明的原理和精神,而并非限制本发明的范围。
图1示出了本发明所述构建音频指纹库的方法的流程图。可以理解,图1所示的流程图仅仅是示意性的,其中记载的步骤可以按照不同顺序执行、并行执行、省略和/或增加其他步骤。如图1所示,所述构建音频指纹库的方法包括提取音频指纹与音频指纹的key值102;建立具有相同key值的音频指纹与所述key值的对应关系104;把所述key值及其对应的音频指纹分配到服务器中106;创建所述key值与所述服务器的对应关系,从而构建音频指纹库108。
所述步骤102为提取音频指纹与音频指纹的key值,即先搜索出大量的音频,然后从大量音频中提取音频指纹,然后设定每一个音频指纹的key值。
所述步骤104为建立具有相同key值的音频指纹与所述key值的对应关系,然后建立包含每个key值与其对应音频指纹的索引列表。把具有相同key值的音频指纹归在同一key值下,从而使得音频指纹与key值有一定的对应关系,从而可以建立包含每个key值与其对应音频指纹的索引列表,通过搜索音频指纹能够得出音频指纹的key值。
所述步骤106为把所述key值及其对应的音频指纹分配到服务器中,所述步骤108为创建所述key值与所述服务器的对应关系,从而构建音频指纹库。由于key值的数量很多,需要把key值分配到服务器中,每个服务器中包含key值的数量不等。
本发明所述音频指纹存储方法中,其中,建立具有相同key值的音频指纹与所述key值的对应关系包括:将具有相同key值的音频指纹划分为同一数组。把具有相同key值的音频指纹划分为同一数组,从而使得具有相同key值的音频指纹与所述key值建立对应关系,通过音频指纹可得出key值。这个数组包括key值和音频指纹两个元素。
如图1所示,所述音频指纹存储方法进一步包括:计算所述数组的被搜索次数110;根据所述搜索次数,将所述数组分配到所述服务器中,以使的所述服务器的负载差别最小化112。
所述步骤110为计算所述数组的被搜索次数,其中,计算所述数组的被搜索次数包括:计算所述数组中key值的被搜索频率;确定所述数组中音频指纹的数量;计算所述被搜索频率与所述音频指纹的数量的乘积,以得到所述数组的被搜索次数。由于数组包括key值和音频指纹两个元素,计算计算所述数组中key值的被搜索频率和确定所述数组中音频指纹的数量,得到这两个数值,然后计算所述被搜索频率与所述音频指纹的数量的乘积,以得到所述数组的被搜索次数。
所述步骤112为根据所述搜索次数,将所述数组分配到所述服务器中,以使的所述服务器的负载差别最小化。将所述数组分配到所述服务器中的方式有多种,可以随机分配,也可以通过人为固定分配,也可以通过特定的算法进行分配。例如,可以先对每个数组所需负载进行计算并排序,然后每隔特定的间隔,将多个数组分配到同一个服务器中,由此,能够实现负载相对的均衡。
根据本发明的一个实施方式,优选地,是通过贪婪算法把将所述数组分配到所述服务器中,以使的所述服务器的负载差别最小化,换言之,使得所述服务器的负载实现均衡。贪婪算法又称贪心算法,是指在对问题求解时,总是做出在当前看来是最好的选择,也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。
下面通过具体实施例来说明用贪婪算法将所述数组分配到所述服务器中,以使的所述服务器的负载差别最小化。假设有key1、key2、key3、key4、key5和key6六个key值,其中,搜索key1值的频率为10次,搜索key2值的频率为20次,搜索key3值的频率为30次,搜索key4值的频率为40次,搜索key5值的频率为50次,搜索key6值的频率为60次;key1值上具有的音频指纹数量为10,key2值上具有的音频指纹数量为20,key3值上具有的音频指纹数量为30,key4值上具有的音频指纹数量为40,key5值上具有的音频指纹数量为50,key6值上具有的音频指纹数量为60。从而计算所述被搜索频率与所述音频指纹的数量的乘积,以得到所述数组的被搜索次数,假设key1值和与key1值相关的音频指纹为第一数组,key2值和与key2值相关的音频指纹为第二数组,key3值和与key3值相关的音频指纹为第三数组,key4值和与key4值相关的音频指纹为第四数组,key5值和与key5值相关的音频指纹为第五数组,key6值和与key6值相关的音频指纹为第六数组;得到第一数组的被搜索次数为100,第二数组的被搜索次数为400,第三数组的被搜索次数为900,第四数组的被搜索次数为1600,第五数组的被搜索次数为2500,第六数组的被搜索次数为3600。如果仅有三个服务器,通过贪婪算法把搜索次数最少的第一数组和搜索次数最多的第六数组分配在一个服务器,把搜索次数次低第二数组和搜索次数次高的第五数组分配在一个服务器,把搜索次数处于中间的第三数组和第四数组分配在一个服务器。
如果仅有两个服务器,则通过贪婪算法把第一数组、第五数组和第六数组分配在一个服务器,把第二数组、第三数组和第四数组分配在一个服务器。从而通过贪婪算法使的所述服务器的负载差别尽可能的小。虽然当前发明参考特定的示例被描述,其只是为了解释的目的而不是对本发明的限制,对实施方式的改变,增加和/或删除可以被做出而不脱离本发明的范围。例如,搜索次数在实际应用中可能处于千万至数亿次,上述的举例仅仅在于描述本发明整体构思,而对具体数量没有任何限制。
需要理解的是,尽管上面描述了具体的负载均衡的方法,但本发明并不限于具体的某种算法。任何现有的或者未来研究的任何能够实现服务器负载均衡的方法均落入本发明所要求保护的范围中。
实现负载均衡可以是静态的,也可以是动态的。静态的是指在首次确定每个数组的负载并对服务器进行均衡之后,即保持每个服务器与数组的对应关系。而动态平衡是指每隔特定时间,则对所有的数组进行重新的负载计算,并重新分配相应的服务器。动态的负载均衡将使得服务器能够长期保持较高的效率。
根据本发明所述音频指纹存储方法技术方案,具体实施方式如下:
(1)收集尽更能多的音频数据,使用音频指纹数据构建音频指纹索引库,并按照key值进行划分,存储在硬盘上,如每个key一个文件,总共有n个数组。如图3所示。
(2)假设有k台服务器node1,node2,…,nodek,每个服务器上的初始数据即音频指纹总数为numi=0,假设有n个key,keyi的数据即keyi的音频指纹数量为valueNumi,将key1,key2,…,keyk的数据数量分别放到node1,node2,…,nodek,并更新每台服务器的数据数量numi=valueNumi。然后对于keyj,j=k+1,…,n,每次选择最小的numi,将其放到nodei,并更新numi=numi+valueNumj。最后,构建一个哈希表(如图4所示),以keyi作为键值,其所在的服务器nodej作为数据值,用于根据音频指纹的key迅速找到其所在的服务器。如图5所示。
(3)初始化keyi的频率,keyfi=0,i=1,…,n。接收到搜索请求后,提取音频指纹和与音频指纹相关的key值,假设共m个数组,记作featurei,i=1,…,m。先在(2)中哈希表中找到每个featurei的key值(记作keyi)所在的服务器节点nodek,然后将featurei发送到nodek进行搜索,收到所有featurei的中间结果后,进行汇总,交给搜索算法进行最后的分析,返回最终结果,并通过keyi值被搜索次数来更新keyi的频率keyfi
(4)计算所述数组中keyi值的被搜索频率,确定所述数组中音频指纹的数量,计算所述被搜索频率与所述音频指纹的数量的乘积,以得到所述数组的被搜索次数。系统运行一个设定周期后,对于keyi值有关的数组,令totali=valueNumi*keyfi,从而计算出数组的被搜索数,然后应用贪婪算法依据totali对keyi有关的数组进行分配到所述服务器中,以使的所述服务器的负载差别最小化。
图2示出了本发明所述在服务器中检索音频指纹的方法的流程图。可以理解,图2所示的流程图仅仅是示意性的,其中记载的步骤可以按照不同顺序执行、并行执行、省略和/或增加其他步骤。如图2所示,所述在服务器中检索音频指纹的方法包括提取待检索音频指纹与所述待检索音频指纹的待检索key值202;查找所述待检索key值对应的服务器204;在所述服务器中,检索与待检索音频指纹相应的音频指纹206。所述服务器中存储有所述音频指纹及其对应的key值,所述key值与所述服务器相对应。
所述步骤202为提取待检索音频指纹与所述待检索音频指纹的待检索key值。若搜索某个音频的信息,首先获取出这个音频的待检索音频指纹和所述待检索音频指纹的待检索key值。某个音频中的待检索音频指纹及待检索音频指纹的待检索key值数量上并不是一个,通过某个音频的信息可以获取多个待检索音频指纹及与待检索音频指纹相关的待检索key值。
所述步骤204为查找所述待检索key值对应的服务器。由于所述服务器中存储有所述音频指纹及其对应的key值,通过待检索key值在服务器中找到相应的key值。在检索过程中,仅搜索与key值相关的服务器。
所述步骤206为在所述服务器中,检索与待检索音频指纹相应的音频指纹。在所述步骤204中在服务器中检索与待检索key值相应的key值,通过服务器中的key值检索与待检索音频指纹相应的音频指纹。
如图2所示,所述在服务器中检索音频指纹的方法进一步包括利用检索到的音频指纹,生成音频信息208。所述音频信息为音频的名字、作者等信息。被检索的音频包括多个待检索音频指纹和与待检索音频指纹对应的待检索key值,在服务器中搜索到相对应的音频指纹,把搜索到的音频指纹汇总经分析以后生成搜索结果,即得到音频信息。
根据本发明所述音频指纹检索方法技术方案,具体实施方式如下:
(5)需要对某个音频进行搜索的时候,在接收到搜索请求后,提取搜索音频的待检索音频指纹和与待检索音频指纹相关的待检索key值,通过待检索音频指纹和与待检索音频指纹相关的待检索key值在服务中找到对应的音频指纹与key值,假设共m个数组即有m个key值及与key值相关的音频指纹,记作featurei,i=1,…,m。
(6)在(2)中小型哈希表中找到每个featurei的key值(记作keyi)所在的服务器节点nodek,然后将featurei发送到nodek进行搜索,收到所有featurei的中间结果后,进行汇总,交给搜索算法进行最后的分析,返回最终结果,最终得到被搜索音频的音频信息。
图6为本发明所述构建音频指纹库的设备的结构示意图。如图6所示,所述构建音频指纹库的设备包括:提取装置10、分析装置11、分配装置12和保存装置13,其中,所述提取装置10用于提取音频指纹与音频指纹的key值;所述分析装置11用于建立具有相同key值的音频指纹与所述key值的对应关系;所述分配装置12用于把所述key值及其对应的音频指纹分配到服务器中;所述保存装置13用于创建所述key值与所述服务器的对应关系,从而构建音频指纹库。
本发明所述所述构建音频指纹库的设备中,进一步包括:计算装置14和重新分配装置15,其中,所述计算装置14用于计算所述数组的被搜索次数;所述重新分配装置15用于根据所述搜索次数,将所述数组分配到所述服务器中,以使的所述服务器的负载差别最小化。
图7为本发明所述在服务器中检索音频指纹的设备的结构示意图。如图7所示,所述音频指纹存储设备包括:获取装置20、查找装置21和匹配装置22,其中,所述获取装置20用于提取待检索音频指纹与所述待检索音频指纹的待检索key值;所述查找装置21用于查找所述待检索key值对应的服务器;所述匹配装置22在所述服务器中,检索与待检索音频指纹相应的音频指纹。
如图7所示,所述在服务器中检索音频指纹的设备进一步包括生成装置23,所述生成装置23用于利用检索到的音频指纹,生成音频信息。
图8示出了可以用来实践本发明实施方式的示例性计算设备的结构框图。可以理解,本公开内容中记载的客户端、代理和/或服务器可以利用图8所示的计算设备来实现。如图8所示,计算设备可以包括:CPU(中央处理单元)401、RAM(随机存取存储器)402、ROM(只读存储器)403、系统总线404、硬盘控制器405、键盘控制器406、串行接口控制器407、并行接口控制器408、显示器控制器409、硬盘410、键盘411、串行外部设备412、并行外部设备413和显示器414。在这些部件中,与系统总线404耦合的有CPU 401、RAM 402、ROM 403、硬盘控制器405、键盘控制器406、串行接口控制器407、并行接口控制器408和显示器控制器409。硬盘410与硬盘控制器405耦合,键盘411与键盘控制器406耦合,串行外部设备412与串行接口控制器407耦合,并行外部设备413与并行接口控制器408耦合,并且显示器414与显示器控制器409耦合。
本发明所述构建音频指纹库及检索音频指纹的方法和设备将音频指纹和与音频指纹相关的key值均衡地分配到服务器中,从而可将每次查询请求中的音频指纹和与音频指纹相关的key值精确地提供到其所在的服务器进行计算,最大限度地保证了资源利用率,并且通过统计系统运行期间各个服务器的各个key值的访问频率,进行负载均衡的优化,提高系统的吞吐能力。
上文已经通过示例的方式描述了本发明的若干实施方式。上述的不同块、操作以及技术的至少一部分可以被执行,通过使用硬件,处理器执行固件指令,处理器执行软件指令,或者及其任意组合。当采用执行固件以及软件指令的处理器执行时,软件或固件指令可以被存储在任意计算机可读存储中,例如磁盘,光盘或者其他存储介质,在一个RAM或者ROM或者flash存储器,处理器,硬盘,光盘,磁盘等等。同样地,软件和固件指令可以被传输到用户或者系统,通过任意已知的或者期望的传输方式包括,例如,在计算机可读盘或者其他便携式计算机存储机制或者通过通信媒介。通信媒介典型地具体话计算机可读指令,数据结构,程序模块或者在已调制数据信号中的其它数据例如载波或者其他传输机制。通过示例,并非限制,通信介质包括有线介质例如有线网络或者单线连接,以及无线媒介,例如声、无线频率,红外以及其它无线介质。从而,软件和固件指令可以被传输给用户或者系统,通过通信信道,例如电话线,DSL线,电缆电视线,光纤线缆,无线信道,因特网,等等(通过便携式存储介质提供这样的软件,其被看作是相同的或者可互换的)。软件或者固件指令可以包括及其可读指令,其当由处理器执行时,导致处理器执行不同动作。
应当注意,本发明的实施方式可以通过软件、硬件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的方法和系统并可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本实施方式的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
说明书中提及的通信网络可以包括各类网络,包括但不限于局域网(“LAN”),广域网(“WAN”),基于IP协议的网络(例如,因特网)以及端对端网络(例如,ad hoc对等网络)。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤,或是将一个步骤分解为多个步骤。虽然已经参考若干具体实施方式描述了本发明,但是应该理解,本发明并不限于所公开的具体实施方式。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。

Claims (10)

1.一种构建音频指纹库的方法,包括:
提取音频指纹与音频指纹的key值;
建立具有相同key值的音频指纹与所述key值的对应关系;
把所述key值及其对应的音频指纹分配到服务器中;
创建所述key值与所述服务器的对应关系,从而构建音频指纹库。
2.根据权利要求1所述的方法,其中,建立具有相同key值的音频指纹与所述key值的对应关系包括:
将具有相同key值的音频指纹划分为同一数组。
3.根据权利要求2所述的方法,进一步包括:
计算所述数组的被搜索次数;
根据所述搜索次数,将所述数组分配到所述服务器中,以使的所述服务器的负载差别最小化。
4.根据权利要求3所述的方法,其中,计算所述数组的被搜索次数包括:
计算所述数组中key值的被搜索频率;
确定所述数组中音频指纹的数量;
计算所述被搜索频率与所述音频指纹的数量的乘积,以得到所述数组的被搜索次数。
5.根据权利要求3所述的方法,其中,使的所述服务器的负载差别最小化包括:
通过贪婪算法将所述数组分配到所述服务器中。
6.一种在服务器中检索音频指纹的方法,其中,所述服务器中存储有所述音频指纹及其对应的key值,所述key值与所述服务器相对应,所述方法包括:
提取待检索音频指纹与所述待检索音频指纹的待检索key值;
查找所述待检索key值对应的服务器;
在所述服务器中,检索与待检索音频指纹相应的音频指纹。
7.根据权利要求6所述的方法,进一步包括:
利用检索到的音频指纹,生成音频信息。
8.一种构建音频指纹库的设备,包括:提取装置、分析装置、分配装置和保存装置,其中,
提取装置,用于提取音频指纹与音频指纹的key值;
分析装置,用于建立具有相同key值的音频指纹与所述key值的对应关系;
分配装置,用于把所述key值及其对应的音频指纹分配到服务器中;
保存装置,用于创建所述key值与所述服务器的对应关系,从而构建音频指纹库。
9.根据权利要求8所述构建音频指纹库的设备,进一步包括:计算装置和重新分配装置,其中,
计算装置,用于计算所述数组的被搜索次数;
重新分配装置,用于根据所述搜索次数,将所述数组分配到所述服务器中,以使的所述服务器的负载差别最小化。
10.一种在服务器中检索音频指纹的设备,其中,所述服务器中存储有所述音频指纹及其对应的key值,所述key值与所述服务器相对应,所述设备包括:
获取装置,用于提取待检索音频指纹与所述待检索音频指纹的待检索key值;
查找装置,用于查找所述待检索key值对应的服务器;
匹配装置,用于在所述服务器中,检索与待检索音频指纹相应的音频指纹。
CN201510079596.3A 2015-02-13 2015-02-13 构建音频指纹库及检索音频指纹的方法和设备 Pending CN104636474A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201510079596.3A CN104636474A (zh) 2015-02-13 2015-02-13 构建音频指纹库及检索音频指纹的方法和设备
DE102015015827.9A DE102015015827A1 (de) 2015-02-13 2015-12-07 Verfahren und Vorrichtung zum Aufbau einer Audio-Fingerabdruck-Datenbank und zur Suche nach einem Audio-Fingerabdruck
KR1020150180948A KR20160100218A (ko) 2015-02-13 2015-12-17 오디오 지문인식 데이터베이스를 구축하고 오디오 지문인식을 검색하기 위한 방법 및 장치
KR1020160001876A KR20160100224A (ko) 2015-02-13 2016-01-07 오디오 핑거프린트 데이터베이스 구축 및 오디오 핑거프린트 검색 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510079596.3A CN104636474A (zh) 2015-02-13 2015-02-13 构建音频指纹库及检索音频指纹的方法和设备

Publications (1)

Publication Number Publication Date
CN104636474A true CN104636474A (zh) 2015-05-20

Family

ID=53215220

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510079596.3A Pending CN104636474A (zh) 2015-02-13 2015-02-13 构建音频指纹库及检索音频指纹的方法和设备

Country Status (3)

Country Link
KR (2) KR20160100218A (zh)
CN (1) CN104636474A (zh)
DE (1) DE102015015827A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138541A (zh) * 2015-07-08 2015-12-09 腾讯科技(深圳)有限公司 音频指纹匹配查询的方法和装置
CN105184610A (zh) * 2015-09-02 2015-12-23 王磊 基于音频指纹的实时移动广告同步投放方法及设备
CN105933761A (zh) * 2016-06-24 2016-09-07 中译语通科技(北京)有限公司 一种新型视听节目广告投播方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777075A (zh) * 2010-02-05 2010-07-14 上海全土豆网络科技有限公司 并行音频指纹检索方法
US20130110521A1 (en) * 2011-11-01 2013-05-02 Qualcomm Incorporated Extraction and analysis of audio feature data
CN103324577A (zh) * 2013-06-08 2013-09-25 北京航空航天大学 基于最小化io访问冲突和文件分条的大规模分条文件分配系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777075A (zh) * 2010-02-05 2010-07-14 上海全土豆网络科技有限公司 并行音频指纹检索方法
US20130110521A1 (en) * 2011-11-01 2013-05-02 Qualcomm Incorporated Extraction and analysis of audio feature data
CN103324577A (zh) * 2013-06-08 2013-09-25 北京航空航天大学 基于最小化io访问冲突和文件分条的大规模分条文件分配系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王润涛: "海量音频指纹数据的存储与检索研究", 《万方数据》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138541A (zh) * 2015-07-08 2015-12-09 腾讯科技(深圳)有限公司 音频指纹匹配查询的方法和装置
CN105138541B (zh) * 2015-07-08 2018-02-06 广州酷狗计算机科技有限公司 音频指纹匹配查询的方法和装置
CN105184610A (zh) * 2015-09-02 2015-12-23 王磊 基于音频指纹的实时移动广告同步投放方法及设备
CN105933761A (zh) * 2016-06-24 2016-09-07 中译语通科技(北京)有限公司 一种新型视听节目广告投播方法
CN105933761B (zh) * 2016-06-24 2019-02-26 中译语通科技股份有限公司 一种新型视听节目广告投播方法

Also Published As

Publication number Publication date
DE102015015827A1 (de) 2016-08-18
KR20160100224A (ko) 2016-08-23
KR20160100218A (ko) 2016-08-23

Similar Documents

Publication Publication Date Title
US10592532B2 (en) Database sharding
US9235651B2 (en) Data retrieval apparatus, data storage method and data retrieval method
EP2988230A1 (en) Data processing method and computer system
CN105446979A (zh) 数据挖掘方法和节点
US11100073B2 (en) Method and system for data assignment in a distributed system
US20160328445A1 (en) Data Query Method and Apparatus
CN112364014B (zh) 数据查询方法、装置、服务器及存储介质
CN103077254A (zh) 网页获取方法和装置
US20200084121A1 (en) Node of a Network and a Method of Operating the Same for Resource Distribution
CN114327857A (zh) 操作数据处理方法、装置、计算机设备和存储介质
CN105447151A (zh) 访问分布式数据库的方法、数据源代理装置及应用服务器
CN112204543A (zh) 用于分布式系统的频繁模式分析
CN104636474A (zh) 构建音频指纹库及检索音频指纹的方法和设备
US9910873B2 (en) Efficient sorting of large data set with duplicate values
CN114116777A (zh) 一种数据处理方法、装置、设备及存储介质
CN112860850B (zh) 人机交互方法、装置、设备及存储介质
CN104636467A (zh) 离线音频库及相应服务器音频库的构建方法及设备
CN107871055A (zh) 一种数据分析方法和装置
CN104217032A (zh) 数据库维度的处理方法及装置
Romero et al. Bolt: Fast inference for random forests
CN113157695B (zh) 数据处理方法、装置、可读介质及电子设备
US20160092595A1 (en) Systems And Methods For Processing Graphs
US10346423B2 (en) Minimizing resource contention while loading graph structures into a distributed database
CN111143456B (zh) 基于Spark的Cassandra数据导入方法、装置、设备及介质
CN111767289A (zh) 一种基于内存数据库的数据存储方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150520

WD01 Invention patent application deemed withdrawn after publication