音频指纹检索方法及装置的制作方法

文档序号:6437105阅读:300来源:国知局
专利名称:音频指纹检索方法及装置的制作方法
技术领域
本发明涉及音频处理技术,尤其涉及一种音频指纹检索方法及装置。
背景技术
音频指纹(fingerprint)是根据音频信号计算出的一组独特标识(如,符号或数)。音频指纹检索可以是指:用户输入一个音频片段,将该音频片段的音频信号计算所得的音频指纹提交到网络服务器,网络服务器根据所述音频指纹从索引库内获取所述音频片段所在音频文件(如,歌曲)的原始信息,如歌曲的名称、歌曲的歌手名称等信息。该音频指纹检索技术可实现录音后搜索歌曲名、mp3的自动命名和歌词自动匹配、音视频排重等有价值的应用,尤其在无线互联网上将会有更大的产品价值。目前,现有的音频指纹检索主要包括以下的两种方法:第一种方法,将给定音频文件的音频信号以一定时间间隔进行均匀分帧,并得到所述音频信号对应的一组32bit的整数,即得到所述音频信号的音频指纹,并将所述音频信号的音频指纹、以及所述音频信号所对应的音频文件信息对应存储到一个哈希(hash)表中。需要检索音频片段所对应音频文件的相关信息时,首先对所述音频片段的音频信号进行均匀分帧,并得到该音频信号对应的一组32bit整数,即得到音频指纹,再基于该音频指纹从所述hash表中查询相匹配的音频文件信息,并对查询到的音频文件信息进行筛选,最终得到所述音频片段所对应音频文件的信息。第二种方法:对一些音频文件的音频信号以一定时间间隔随机提取其11.6*w毫秒窗长的频谱图。对每一帧的频谱图,计算频谱图的小波变换、保留小波变换所得到的、能量最高的top-t个小波系数、用二进制表示所保留下来的小波系数、用最小哈希(min-hash)将二进制变换后的小波系数变换成一组音频指纹,用位置敏感哈希(LocalitySensitive Hashing)方法将所述音频指纹分成b块(bin),并将所述b块音频指纹、与所对应的音频文件信息对应存储到N个哈希表中,其中,b为不小于I的整数,N为不小于I的整数。需要检索用户输入的音频片段所对应音频文件的相关信息时,首先得到所述音频片段的音频信号对应的音频指纹,再从所述N个哈希表中找到与所述音频指纹近似匹配的音频文件信息,对找到的音频文件信息进行筛选后,用动态规划算法在时间轴上合并筛选后的音频文件信息,最后得到与用户所输入音频片段相对应的音频文件信息。上述两种方法的共同之处是在存储时都进行了均匀的分帧处理。而分帧的时间间隔与存储的空间大小直接相关。例如,分别以5晕秒和500晕秒为时间间隔,前后存储空间相差100倍,原因是前者的片段数是后者的100倍。如果将音频指纹检索应用于在线搜索,耗费的存储空间便会是内存。一般来说,搜索引擎收录的音频文件数量巨大,如果应用上述的两种方法,音频指纹检索将会消耗过大的内存和过多的查找时间,检索效率低。如果将分帧的时间间隔定得比较长,时间间隔会相应增加,检索时能够取得的原始音频文件的音频片段会较长,相应的,也就需要用户输入更长的音频片段才能够进行检索,如此,在音频片段查询时准确率就会降低,检索中的匹配处理过程中也会消耗比较长的时间,而且还不利于用户的操作、影响用户体验。

发明内容
有鉴于此,本发明的主要目的在于提供一种音频指纹检索方法及装置,能够在保证音频指纹检索准确率的前提下,解决现有音频指纹检索方法消耗过大内存和过多时间、以及检索效率低的问题。为达到上述目的,本发明的技术方案是这样实现的:本发明提供了一种音频指纹检索方法,所述方法包括:对音频片段的音频信号进行分帧处理;通过起始点检测算法(ODF)确定所述分帧处理所得到的各分帧中的关键帧;得到所述关键帧的音频指纹,并根据所得到的音频指纹进行检索,得到对应所述音频片段的音频文件信息。在上述方案中,所述通过起始点检测算法确定所述音频信号各分帧中的关键帧,包括:对所述分帧处理后得到的各分帧进行快速傅氏变换(FFT),并提取所述各分帧的ODF特征参数,根据所述ODF特征参数确定所述各分帧中的关键帧。 在上述方案中,所述根据所述ODF特征参数确定所述各分帧中的关键帧,具体为:将所述ODF特征参数满足预设ODF阈值条件的分帧确定为关键帧。在上述方案中,所述提取所述各分帧的ODF特征参数,通过如下的任意一种或多种算法实现:能量算法、差分相位算法、高频分量算法、改进的库尔贝克和莱伯勒散度算法、美尔倒谱系数、线谱对和加权相位差分。在上述方案中,所述得到所述关键帧的音频指纹,具体为:基于离散余弦变换(DCT)和最小哈希算法得到所述关键帧的音频指纹。在上述方案中,所述基于DCT和最小哈希算法得到所述关键帧的音频指纹,包括:对所述关键帧进行短时的DCT,并保留部分DCT系数;将所保留的DCT系数采用二进制表示;采用最小哈希算法将采用二进制表示的DCT系数转换为音频指纹。本发明还提供了一种音频指纹存储方法,所述方法包括:对音频文件的音频信号进行分帧处理;通过ODF确定所述音频信号各分帧中的关键帧;得到所述关键帧的音频指纹;将所述音频指纹与所述音频文件的信息对应保存。本发明还提供了一种音频指纹检索装置,所述装置包括:分帧处理单元、确定单元和检索单元,其中:分帧处理单元,用于对音频片段的音频信号进行分帧处理;确定单元,用于通过ODF确定所述分帧处理单元所得到的各分帧中的关键帧;检索单元,用于得到所述确定单元所确定的关键帧的音频指纹,并根据所得到的音频指纹进行检索,得到对应所述音频片段的音频文件信息。在上述方案中,所述确定单元,具体用于:对所述分帧处理处理单元得到的各分帧进行FFT,并提取所述各分帧的ODF特征参数,根据所述ODF特征参数确定所述各分帧中的关键中贞。在上述方案中,所述检索单元,还用于基于DCT和最小哈希算法得到所述关键帧的音频指纹。本发明还提供了一种音频指纹存储装置,所述装置包括:分帧处理单元、确定单元、存储单元,其中,分帧处理单元,用于对音频文件的音频信号进行分帧处理;确定单元,用于通过ODF确定所述分帧处理单元所得到各分帧中的关键帧;存储单元,用于得到所述确定单元所确定关键帧的音频指纹,并将所述音频指纹与所述音频文件的信息对应保存。本发明通过ODF确定音频信号的分帧中的关键帧,基于该关键帧进行音频指纹存储、以及音频指纹检索,如此,只需要基于音频信号的关键帧进行音频指纹检索,在存储时也只需基于音频信号的关键帧的音频指纹进行,从而大大减少音频检索所消耗的内存,并且音频检索时的耗时也会大大减少,在保证音频指纹检索准确率的前提下,提高了检索效率。此外,本发明通过DCT得到音频指纹,能够针对音频信号在时间轴上的特点进行音频指纹计算,如此,大幅度提升音频指纹的抗噪性,且无需增加音频指纹的存储空间。


图1为本发明音频指纹检索方法的实现流程图;图2为10秒音频信号的谱能量特征分布图;图3为本发明ODF的实现过程示意图;图4为本发明实施例一中音频指纹存储过程的实现示意图;图5为本发明实施例一中音频指纹检索过程的实现示意图。
具体实施例方式本发明实施例在根据音频片段的音频信号,查询相应的音频文件信息时,对所述音频片段的音频信号进行分帧后,基于起始点检测算法确定关键帧,提取关键帧的音频指纹;根据所述关键帧的音频指纹,查询到与所输入音频片段相关的音频文件信息,如此,只需要基于音频信号的关键帧进行音频指纹检索,在存储时也只需基于音频信号的关键帧的音频指纹进行,从而大大减少音频检索所消耗的内存,并且音频检索时的耗时也会大大减少,在保证音频指纹检索准确率的前提下,提高了检索效率。本发明的一种音频指纹检索方法,参照图1所示,主要可以包括如下步骤:步骤101:对音频片段的音频信号进行分帧;具体地,可以以ts秒/N(N为正整数)的时间间隔对音频信号进行分帧处理,这里,t可以根据实际应用需要预先设置。经过分帧处理后得到的分帧可以是分帧频谱图。步骤102:通过起始点检测算法(ODF, onset detection function)确定所述音频信号各分帧中的关键帧;步骤103:得到所述关键帧的音频指纹,并根据所得到的音频指纹进行检索,得到对应所述音频片段的音频文件信息。相应的,本发明还提供了一种音频指纹存储方法,所述方法包括:对音频文件的音频信号进行分帧处理;通过ODF确定所述音频信号各分帧中的关键帧;得到所述关键帧的音频指纹;将所述音频指纹与所述音频文件的信息对应保存。实际应用中,音频信号是一种短时信号,通俗的说就是在小时间单位(比如20毫秒)内信号在频域上变化不大。随着时间的变化,音频信号的变化会逐渐加大,例如对于歌曲的音频信号,歌手的演唱歌词的改变或又是歌曲配乐的变化等,因此,音频信号会在时间轴上呈不均匀变化,如图2所示,由于音频信号本身在时间轴上存在着这种不均衡性,可以选取音频信号的关键帧,即音频信号中能量最集中变化最剧烈的帧进行音频指纹检索,选取音频信号关键帧的处理过程称为ODF。具体地,如图3所示,对输入的音频信号进行分帧处理后,ODF的具体实现流程可以包括:对分帧处理后得到的分帧进行快速傅氏变换(FFT,Fast FourierTransformation),并从所述各分巾贞中提取ODF所需的ODF特征参数,根据所述ODF特征参数确定所述各分帧中的关键帧。具体地,可以将所述ODF特征参数满足预设的ODF阈值条件的分帧确定为关键帧。这里,所述ODF阈值条件具体可以是不低于预设的ODF阈值,也可以根据实际应用的需要进行设置;0DF阈值与所述ODF特征参数相对应,可以包含所述ODF特征参数的取值阈值和/或分帧的时间阈值。例如,图2中能量为"le7"的位置所在平行于时间轴的横线表示ODF阈值条件,图2中高于该横线的所有分帧为关键帧,具体为图2中黑点所标记的点。这里,从所述各分帧中提取ODF所需的ODF特征参数,可以采用如下的任意一个或多个算法实现:能量算法、差分相位算法、高频分量(HFC, High-frequency Content)算法、改进的库尔贝克和莱伯勒散度(Modified Kullback-Leibler divergence)算法、美尔倒谱系数(MFCC, Mel Frequency Cepstrum Coefficient)、线谱对(LSP, Linear SpectralPair)和加权相位差分(WPD, Weighted Phase Deviation)等。基于上述ODF特征参数的ODF能保证一定的准确率,且计算量相对较小,能满足实时检测应用的需求。其中,得到所述关键帧的音频指纹可以为:基于离散余弦变换(DCT,DiscreteCosine Transform)和最小哈希算法得到所述关键巾贞的音频指纹。具体地,对所述关键帧进行短时的DCT,并保留部分DCT系数,将所保留的DCT系数采用二进制表示,采用最小哈希算法将采用二进制表示的DCT系数转换为音频指纹。例如,在对DCT系数按照从大到小排序后,保留前N个DCT系数,这里的N可以根据实际需要确定,N为大于零的整数。相应的,本发明还提供了一种音频指纹检索装置,所述装置包括:分帧处理单元、确定单元和检索单元,其中:分帧处理单元,用于对音频片段的音频信号进行分帧处理;确定单元,用于通过ODF确定所述分帧处理单元所得到各分帧中的关键帧;检索单元,用于得到所述确定单元所确定关键帧的音频指纹,并根据所得到的音频指纹进行检索,得到对应所述音频片段的音频文件信息。其中,所述确定单元,具体可以用于:对所述分帧处理处理单元得到的各分帧进行FFT,并提取所述各分帧的ODF特征参数,根据所述ODF特征参数确定所述各分帧中的关键帧。其中,所述检索单元,还用于基于DCT和最小哈希算法得到所述关键帧的音频指纹。本发明还提供了一种音频指纹存储装置,所述装置包括:存储单元和上述的分帧处理单元和确定单元,其中,存储单元,用于得到所述确定单元所确定关键帧的音频指纹,并将所述音频指纹与所述音频文件的信息对应保存。这里,所述分帧处理单元,具体用于对给定音频文件的音频信号进行分帧处理。所述存储单元,也可以用于基于DCT和最小哈希算法得到所述关键帧的音频指纹。
实施例一本实施例中,以歌曲为例,对音频指纹的检索过程做详细说明。具体地,首先将歌曲的音频指纹和歌曲信息对应存储到哈希表中,需要进行音频指纹检索时,用户输入音频片段,基于该音频片段的音频信号得到音频指纹,再根据该音频指纹从所述哈希表中查询对应的歌曲信息,得到包含所述音频片段的歌曲信息。如图4所示,将一整首歌曲的音频指纹和歌曲信息进行存储的过程,具体可以包括如下步骤:步骤1:对给定的整首歌曲的音频信号,平均以d/N毫秒时间随机提取其11.6*w毫秒窗长的频谱图,得到分帧频谱图;步骤2:通过起始点检测算法检测各分帧频谱图是否对应关键帧,将对应关键帧的分帧频谱图保留,抛弃不是对应关键帧的分帧频谱图;步骤3:对于所保留的各分帧频谱图进行处理,得到各分帧频谱图的音频指纹;具体地,对于分帧频谱图进行如下处理,得到其音频指纹:对分帧频谱图进行短时的离散余弦变换(DCT, Discrete Cosine Transform),保留主要的DCT系数;将所保留的DCT系数采用二进制表示;采用最小哈希算法将采用二进制表示的DCT系数转换为音频指纹。这里,所述保留主要的DCT系数,为:将所有DCT系数按大小排序后,保留前N (N为大于O的整数)个DCT系数,例如,可以保留前20个DCT系统。步骤4:对于提取到的音频指纹:用位置敏感哈希方法将各音频指纹分为b块音频子指纹,并将所述b块音频子指纹分别存储到M个哈希子表中。如图4所示的“ ABCDEFGHIJKLMNOPQRSTUVWXY ”表示提取得到的一个音频指纹,“AB⑶E”、“EFGHI”........“UVWXY”分别表示由分割一个音频指纹后得到的音频子指纹。如图4所示,将所述b块音频子指纹分别存储到M个哈希子表中时,将音频子指
纹“AB⑶E ”、“EFGHI ”、......、“UVffXY”与对应的歌曲信息分别对应存储到哈希表1、哈希表
2、......、哈希表M中。其中,各哈希表中的7、12、50、92、102、302均表示歌曲信息,例如,
可以分别表示歌曲的ID。如图5所示,需要进行音频检索时,根据用户输入的音频片段进行音频检索的过程,具体可以包括如下步骤:步骤1:对用户所输入音频片段的音频信号,平均以d/N毫秒时间随机提取其
11.6*w毫秒窗长的频谱图,得到分帧频谱图;步骤2:通过起始点检测算法检测所得到的各分帧频谱图是否对应关键帧,将对应关键帧的分帧频谱图保留,抛弃不是对应关键帧的分帧频谱图;步骤3:对于所保留的各分帧频谱图进行处理,得到各分帧频谱图的音频指纹;具体地,对于分帧频谱图进行如下处理,得到其音频指纹:对分帧频谱图进行短时的离散余弦变换(DCT, Discrete Cosine Transform),保留主要的DCT系数;将所保留的DCT系数采用二进制表示;采用最小哈希算法将采用二进制表示的DCT系数转换为音频指纹。步骤4:对于所得到的各音频指纹,用位置敏感哈希方法将各音频指纹分为m块(m为正整数)音频子指纹,得到各音频指纹的音频子指纹组,并分别从所述M个哈希子表中,查询与所述音频子指纹组中各音频子指纹近似匹配的音频子指纹,得到各音频子指纹组的近似匹配音频子指纹组;这里,从M个哈希子表中查询与一个音频子指纹的近似匹配音频子指纹具体为:从M个哈希字表中查询有一个或多个维度的取值、与所述音频子指纹的对应维度的取值相同的音频子指纹,放弃维度匹配次数小于预设的匹配阈值V的音频子指纹,所保留的即为与所述音频子指纹近似匹配的音频子指纹。如图5所示,“abcdefghi jklmnopqrstuvwxy”表示提取得到的一个音频指纹,
“abcde”、“efghi”、......、“uvwxy”分别表示由分割一个音频指纹后得到的音频子指纹。
音频文件的信息7、12、50、92、102、302所对应的音频子指纹与所述音频子指纹的匹配次数分别为1、1、1、3、2、1。当前预设的匹配阈值V为2,则音频文件信息92、102所对应的音频子指纹为要查询的近似匹配音频子指纹。其中,音频子指纹一般为一组向量,即多维数组,例如,音频子指纹为25维的数组时,如果设置匹配阈值V为5,则两个音频子指纹之间有5维数组相同时,则认为该两个音频子指纹之间近似匹配。步骤5:对于所得到的各近似匹配音频子指纹组:根据所述近似匹配音频子指纹与所述各音频子指纹的哈明距离(Hamming distance),计算出匹配误差,根据匹配误差,查询得到精确匹配音频子指纹,得到精确匹配音频子指纹组;如图5所示,分别计算音频文件信息92、102所对应的音频子指纹对应的匹配误差,如果音频文件信息92对应的匹配误差较小,则将音频文件信息92对应的音频子指纹作为精确匹配音频子指纹。步骤6:将与所述精确匹配音频子指纹组对应的歌曲信息,用动态规划算法或直线检测算法在时间轴上合并所查询到的歌曲信息后,得到包含有用户所输入音频片段的歌曲信息并输出,如图5所示的92。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种音频指纹检索方法,其特征在于,所述方法包括: 对音频片段的音频信号进行分帧处理; 通过起始点检测算法(ODF)确定所述分帧处理所得到的各分帧中的关键帧; 得到所述关键帧的音频指纹,并根据所得到的音频指纹进行检索,得到对应所述音频片段的音频文件信息。
2.根据权利要求1所述音频指纹检索方法,其特征在于,所述通过起始点检测算法确定所述音频信号各分帧中的关键帧,包括: 对所述分帧处理后得到的各分帧进行快速傅氏变换(FFT),并提取所述各分帧的ODF特征参数,根据所述ODF特征参数确定所述各分帧中的关键帧。
3.根据权利要求2所述音频指纹检索方法,其特征在于,所述根据所述ODF特征参数确定所述各分帧中的关键帧,具体为: 将所述ODF特征参数满足预设ODF阈值条件的分帧确定为关键帧。
4.根据权利要求2或3所述音频指纹检索方法,其特征在于,所述提取所述各分帧的ODF特征参数,通过如下的任意一种或多种算法实现: 能量算法、差分相位算法、高频分量算法、改进的库尔贝克和莱伯勒散度算法、美尔倒谱系数、线谱对和加权相位差分。
5.根据权利要求1所述音频指纹检索方法,其特征在于,所述得到所述关键帧的音频指纹,具体为: 基于离散余弦变换(DCT)和最小哈希算法得到所述关键帧的音频指纹。
6.根据权利要求5所述音频指纹检索方法,其特征在于,所述基于DCT和最小哈希算法得到所述关键巾贞的音频指纹,包括: 对所述关键帧进行短时的DCT,并保留部分DCT系数; 将所保留的DCT系数采用二进制表示; 采用最小哈希算法将采用二进制表示的DCT系数转换为音频指纹。
7.一种音频指纹存储方法,其特征在于,所述方法包括: 对音频文件的音频信号进行分帧处理; 通过ODF确定所述音频信号各分帧中的关键帧; 得到所述关键巾贞的首频指纹; 将所述音频指纹与所述音频文件的信息对应保存。
8.一种音频指纹检索装置,其特征在于,所述装置包括:分帧处理单元、确定单元和检索单元,其中: 分帧处理单元,用于对音频片段的音频信号进行分帧处理; 确定单元,用于通过ODF确定所述分帧处理单元所得到的各分帧中的关键帧; 检索单元,用于得到所述确定单元所确定的关键帧的音频指纹,并根据所得到的音频指纹进行检索,得到对应所述音频片段的音频文件信息。
9.根据权利要求8所述音频指纹检索装置,其特征在于,所述确定单元,具体用于: 对所述分帧处理处理单元得到的各分帧进行FFT,并提取所述各分帧的ODF特征参数,根据所述ODF特征参数确定所述各分帧中的关键帧。
10.根据权利要求8所述音频指纹检索装置,其特征在于,所述检索单元,还用于基于DCT和最小哈希算法得到所述关键帧的音频指纹。
11.一种音频指纹存储装置,其特征在于,所述装置包括:分帧处理单元、确定单元、存储单元,其中, 分帧处理单元,用于对音频文件的音频信号进行分帧处理; 确定单元,用于通过ODF确定所述分帧处理单元所得到各分帧中的关键帧; 存储单元,用于得到所述确定单元所确定关键帧的音频指纹,并将所述音频指纹与所述音频文件的信息对应保存 。
全文摘要
本发明公开了一种音频指纹检索方法及装置,所述方法包括对音频片段的音频信号进行分帧处理;通过起始点检测算法(ODF)确定所述分帧处理所得到各分帧中的关键帧;得到所述关键帧的音频指纹,并根据所得到的音频指纹进行检索,得到对应所述音频片段的音频文件信息。相应的,本发明还公开了一种音频指纹存储方法及装置,能够大大减少音频检索所消耗的内存,并且音频检索耗时也会大大减少,在保证音频指纹检索准确率的前提下,提高了检索效率。
文档编号G06F17/30GK103093761SQ20111034009
公开日2013年5月8日 申请日期2011年11月1日 优先权日2011年11月1日
发明者易立夫, 张远涛 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1