基于子带频谱质心特征的高效音频指纹检索
孙甲松 , 张菁芸 , 杨毅     
清华大学 电子工程系, 北京 100084
摘要:关键音频检测是指从音频库中检索出查询样例,是音频检索的一种重要形式。该文针对传统关键音频检测方法在效率和鲁棒性上的不足分别在预处理、指纹提取以及检索部分进行了优化。在预处理阶段采用基于子带能量比的语音端点检测算法,并在窗函数选择和子带划分方法上进行了改善;在指纹提取阶段采用种子片段选取的方法,并将指纹提取方法改进为子带频谱质心法;在检索阶段通过设定命中次数门限以提高效率。实验结果表明:该文提出的改进系统在查全率、查准率以及抗噪能力提升的同时提高了检索效率,有效地提升了检索性能。
关键词音频信息检索    子带频谱质心特征    指纹提取    端点检测    
Effective audio fingerprint retrieval based on the spectral sub-band centroid feature
SUN Jiasong, ZHANG Jingyun, YANG Yi     
Department of Electronic Engineering, Tsinghua University, Beijing 100084, China
Abstract: Key audio detection, an important form of audio retrieval, uses a query audio sample to search in an audio database but such searches are not very efficient or robust. This paper optimizes the pre-processing, fingerprint extraction and retrieval of the audio retrieval. The pre-processing uses endpoint detection based on the sub-band energy ratio with a modified window function and measurements of the sub-band divisions. The fingerprint extraction uses seed fragments and spectral sub-band centroids. The retrieval part uses a threshold for the hit counts to improve the efficiency. This system improves the precision and reduces the recall rate with good noise suppression. The retrieval efficiency and performance are effectively improved.
Key words: audio information retrieval     spectral sub-band centroids     fingerprint extraction     endpoint detection    

互联网及信息技术的飞速发展导致可获得的媒体数据以ZB (10万亿亿字节) 为单位剧增[1],如何在这些数据中有效寻找并获得目标信息成为热点问题[2]。在这一背景下,音频检索日益受到研究者的关注。音频检索主要有3种形式:关键词检测、关键说话人检测、关键音频检测[3]。其中,关键音频检测是从音频数据库中检索出与用户提交查询样例具有相似内容的音频信息并反馈给用户,其主要应用领域有:音频产品版权保护、音频信息搜索、广播新闻跟踪、实时音频监控、统计信息[4]等。

传统的关键音频检测大多基于文本标注[5],但是此方法计算量庞大且不能很好地表达音频信息的特性。基于内容的音频检索利用音频特征、语义特征[6]等检索信息,效果大大优于基于文本的方式[7]。最早的基于内容的音频检索方法基于相似音频类别[8],例如Liu等[9]尝试的多种音频分类检索方法,包括:K近邻、Gauss混合模型、人工神经网络等,但音频数据的复杂性使其无法被准确划分到有限类别。相比之下,基于索引的音频检索效率更佳。Piamsa-Nga等[10]据此提出一种基于K树的音频索引方法,建立了K树索引结构。Haitsma等[11]于2003年提出了Philips方法,根据频谱能量计算得到指纹,量化成32位二进制数,再建立线性表索引结构。实验表明该方法的准确率好、效率较高。Wang等算法[12]根据能量极大值点提取指纹并分析星状图生成Hash,提升了速度。Xu等[13]在音频检索中创新地应用了无监督发现,效率大大提高。

本文以Philips方法为基线方法,利用种子片段选取、子带频谱质心法等方法对系统进行了改进优化,使其在查全率、查准率、抗噪能力及检索效率方面得到了全面提升。

1 基于Philips法的音频检索基线系统

基于Philips法的音频检索基线系统包括预处理、子带划分、特征提取、Hash表检索等部分。

1.1 语音预处理

在对语音进行音频检索前,需要进行预加重、滤波、加窗分帧、端点检测等操作[14]。基线系统中数据采样频率为128 kHz,选取每1 024个采样点为一帧进行分帧,帧叠为31/32。此外,需要对语音加窗以减小截断效应,本系统选用Hamming窗。

端点检测用来获取语音的起始点和终止点[15]。基线系统中用短时能量和过零率作特征区分静音和语音。检测前先为短时能量和过零率确定门限,然后连续计算短时能量及过零率,调整门限,进行状态分析,判断静音段是否结束。

1.2 子带划分与子带能量计算[11]

预处理之后对每帧信号进行短时Fourier变换,按照下式划分出33个子带:

${B_i} = {\rm{exp}}[({\rm{lg}}{F_{{\rm{min}}}} + i({\rm{lg}}{F_{{\rm{max}}}} - {\rm{lg}}{F_{{\rm{min}}}})/M)].$ (1)

其中:i表示子带编号,取值为1, 2, 3,…, MM表示子带数量,此处取33;FminFmax为人耳Hass带宽的下限和上限,子带i的带宽范围为[Bi-1, Bi]。

在每个子带上计算子带能量,得到33个子带能量。

1.3 特征提取[14]

相邻帧及其相邻子带之间的能量差分值可反映音频能量的动态变化[16],如下所示:

$\begin{array}{l} E{\left( k \right)_n} = e{\left( k \right)_{n + 1}} - e{\left( k \right)_n},\\ {\rm{d}}E{\left( k \right)_n} = E{\left( {k + 1} \right)_n} - E{\left( k \right)_n},\\ \;F{\left( k \right)_n} = \left\{ {\begin{array}{*{20}{l}} {0} & {{\rm{d}}E{{\left( k \right)}_n} \le 0}\\ {1} & {{\rm{d}}E{{\left( k \right)}_n} > 0.} \end{array}} \right. \end{array}$ (2)

其中:n=0, 1, 2, …, 32,表示子带编号;k表示帧号。系统首先对相邻子带作能量差分E(k)n,再对相邻帧的差分能量求差值dE(k)n,进行阈值判断,从而得到指纹F(k)n。每一帧指纹占32 bits。

1.4 Hash索引表的构建

线性索引表大小一般为GB量级,无法适应某些系统环境。因此基线系统用参数化Hash索引表替代线性表。Hash索引表的构建[17]是通过设计Hash散列函数和冲突解决方案实现。Hash散列函数将原表项映射到Hash索引表上,给定指纹F(k)n得Hash索引值,如下所示:

$H(F{\left( k \right)_n}) = F{\left( k \right)_n}{\rm{Maxlen}} \times 100\% .{\rm{ }}$ (3)

其中:Maxlen为Hash索引表大小;H(F(k)n) 为Hash索引值,数值在0~Maxlen-1。

2 基于子带频谱质心特征的高效音频指纹检索

实验表明,基线系统查准率很高,查全率较高,效率较优,但还有提升空间,尤其是计算音频指纹的耗时。此外,基线系统的鲁棒性有待改善。为此,本文采取了下列方案改善上述不足。

1) 提高系统鲁棒性:基于子带能量比改进端点检测算法、选取种子片段;

2) 进一步提高查准率和查全率:改变窗函数选择和子带划分方法、归一化子带频谱质心法提取指纹;

3) 降低系统耗时:选取种子片段、归一化子带频谱质心法提取指纹、设定命中次数门限。

改进后的音频检索步骤如图 1所示,下文中将分节针对本图进行详细说明。

图 1 改进系统的音频检索步骤

2.1 预处理部分的改进

1) 基于子带能量比的改进端点检测算法。

浊音和噪声过零率相当,基线的简单端点检测方法会混淆浊音和噪声,漏掉某些音素[18],因此当信号信噪比不高时,效果不佳。在端点检测中加入子带能量比 (sub-band energy ratio, SBER) 特征可以改善这一情况。本系统把频谱划分成4段,按照下式计算子带能量比SBER,

${\rm{SBE}}{{\rm{R}}_i} = \int_{{L_i}}^{{U_i}} {{{\left| {X\left( \omega \right)} \right|}^2}{\rm{d}}\omega \int_0^{{\omega _0}} {{{\left| {X\left( \omega \right)} \right|}^2}{\rm{d}}\omega } } .$ (4)

其中:UiLi分别表示子带i的上限频率和下限频率,i=1, 2, 3, 4;X(w) 表示信号在频率w处的幅值。如果某帧信号的能量过零率低于门限,且4段子带的SBER近似相等,则认为是静音段。

图 2为分别采用改进前和改进后的方法获取信噪比 (signal noise ratio,SNR) 为10 dB的加噪语音的指纹和无噪语音指纹的差异位数,从图 2可知,改进后的端点检测算法使得带噪语音的指纹与无噪语音的指纹较为接近,说明改进后的端点检测算法在抗噪性能上产生明显改善。

图 2 端点检测改进前与改进后无噪语音和加噪语音的指纹差异比特数

2) 窗函数的选择。

使用Hamming窗、Blackman窗、Hanning窗的对比实验结果表明,Hanning窗检索效果最优。改进系统最终选用Hanning窗。相比于其他窗函数,Hanning窗的旁瓣衰减速度更快。

2.2 指纹提取部分的改进

1) 选取种子片段。

对比加噪语音信号 (SNR=10 dB) 与无噪信号的子带能量特征,可找到一些子带能量特征近似不变的区域。可发现,这些区域具有共同特点:位于信号能量峰值附近,如图 3所示。

图 3 子带能量特征稳定区和信号能量的关系

图 3中,*标记帧的子带能量特征在有噪情况下基本不变。观察可得,大部分*标记点都位于信号能量的峰值附近。因此本文在改进方法中寻找信号能量峰值区域,在峰值附近取种子片段进行指纹计算。种子片段在有噪情况下指纹特征基本不变,增加了音频检索的鲁棒性,并且减少了指纹计算量,提高了效率。

2) Mel划分子带方法。

基线系统中选择对数均分子带,改进系统采用Mel划分子带方法。实验表明,后者检测效果更优。Mel频率基于人耳听觉特性,Mel划分子带方法如下所示:

$\begin{array}{l} {D_{{\rm{Mel}}}} = 2.596 \times {10^3}{\rm{lg}}\left( {1 + \frac{{{F_{{\rm{max}}}}}}{{700}}} \right)M,\\ {B_i} = 700\left[ {{\rm{exp}}\left( {i\frac{{{D_{{\rm{Mel}}}}}}{{2.596 \times 10}} - 1} \right)} \right],\\ \quad \quad \quad \quad i = 1,2,3, \ldots ,33. \end{array}$ (5)

其中:Fmax表示原频段的最大频率;Fmax在Mel谱上的对应值为DMelM表示子带数量;Bi为子带划分节点,子带i的带宽范围为[Bi-1, Bi]。

3) 归一化频谱质心法提取指纹。

基线系统中,生成指纹和数据库对应指纹有时存在偏移 (时域不对齐) 现象。为了减轻该现象,需采用31/32的大帧叠,因此,快速Fourier变换次数多,指纹计算耗时大。

归一化频谱质心[19](normalized spectral subband centroids,NSSC) 易提取,且可以采用小帧叠,大大提高效率。此外,该方法不存在伪共振峰问题,错误率低。实验证明,NSSC法的检索性能优、效率高。

首先,将频谱中频率范围[0,fs/2]分为M个子带,可根据下式计算第m个频谱子带的质心,

${C_m} = \int_{{l_m}}^{{h_m}} {fP\left( f \right)} {\rm{d}}f/\int_{{l_m}}^{{h_m}} {P\left( f \right)} {\rm{d}}f.$ (6)

其中:lmhm为子带的下限频率和上限频率;P(f) 为f处的频谱能量。

然后再归一化频谱子带质心[20],使其取值不受频谱子带选择的影响,如下所示:

$N{C_m} = [{C_m} - ({h_m} + {l_m})]/2({h_m} - {l_m}).$ (7)

其中,NCm为归一化频谱子带质心。

2.3 检索部分的改进

基线系统对每个访问链表节点计算指纹误码率,索引效率低下。改进系统则不计算所有的误码率,而是保留命中结果,记录命中的音频库文件号和起始位置,并累计命中次数N。当N大于门限时,根据起始位置计算误码率,进行相似匹配。实验表明,门限取14时,检索效果较优。

3 实验结果

实验采用Digital Juice商业级影视音效素材 (http://www.digitaljuice.com/)。所有数据采样频率为128 kHz,量化精度为24位,格式为MPEG。

3.1 不同测试条件下的查全率和查准率

将与训练集语音有重合内容的语音数据库称为参考库,否则称为非参考库。本实验随机截取参考库和非参考库音频片段,组合成新音频,从而构建测试库,如图 4所示。

图 4 测试库的组成部分

为了改进方案对检索性能的影响,本文组合3种子带划分方式、3种窗函数和2种指纹提取方法,选定7组测试条件如下。

N1:Philips法、Hamming窗、均分子带;

N2:Philips法、Hamming窗、对数划分子带;

N3:Philips法、Hamming窗、Mel划分子带;

N4:Philips法、Blackman窗、Mel划分子带;

N5:Philips法、Hanning窗、Mel划分子带;

N6:NSSC法、Hanning窗、对数划分子带;

N7:NSSC法、Hanning窗、Mel划分子带。

通过将测试库中的语音音效与噪声音效进行不同程度的叠加,得到信噪比SNR为70、40和10 dB,将无噪数据和有噪数据按2:1组合成大小为515条的测试集,在7组测试条件下进行实验。查准率和查全率如图 5所示。

图 5 不同测试条件的检索性能

从查准率看,N7最好,N5次之,N1、N2较差。考察查全率,表现最好的是N5和N7。

3.2 检索系统的鲁棒性

分别用基线方法和改进后的方法针对语音和音乐测试不同SNR情况下的查全率和查准率,结果如图 6所示。

图 6 不同SNR数据在基线系统和改进系统中的检索性能

由实验结果可知,随着信噪比的下降基线系统的查准率和查全率急剧下降,而改进系统随噪声加重查准率和查全率下降得更慢,抗噪性能有了一定改善。

为了进一步验证系统鲁棒性的改善,本文对音频数据作了5种变换,形成如下所示7组测试集。

T1:未处理 (参照);

T2:动态均衡滤波;

T3:加噪处理 (SNR=10 dB);

T4:变调处理;

T5:变速处理;

T6:强制限幅处理;

T7:添加回响效果。

分别用基线方法和改进方法测试7组数据,结果如图 7所示。从查准率来看,当音频进行均衡滤波、加噪、变调、变速、添加回响等变换后,改进系统查准率比基线系统下降的幅度小很多。而进行限幅处理后,改进系统查准率下降较大,因为强制限幅会明显影响频谱质心分布。从查全率来看,改进系统对均衡滤波和加噪处理后的音频拥有很好的鲁棒性,查全率基本不变,而基线系统对变调处理后的音频具有很好的稳定性。对于其他变换音频,两者查全率的下降百分点相近。

图 7 不同变换的数据在基线系统和改进系统中检索准确率的下降程度

3.3 音频检索效率

为了验证选取种子片段、NSSC法提取指纹、设定命中次数门限等改进方案对检索效率的影响,本文选取如下4组条件进行测试。

G0:不设命中次数阈值、Philips法提取指纹、计算所有区域指纹;

G1:命中次数阈值设为14、Philips法提取指纹、计算所有区域指纹;

G2:命中次数阈值设为14、Philips法提取指纹、计算种子片段指纹;

G3:命中次数阈值设为14、NSSC法提取指纹、计算种子片段指纹。

测试集数据 (测试集大小为515条) 在上述条件下的检索时间如图 8所示。

图 8 不同测试条件下的检索时间

图 8可知,命中次数阈值的设置能减少一定检索时间,选取种子频段极大程度提高了效率,而引入NSSC法可减少超过一半的检索时间。最终检索时间由205.2 s缩至39.5 s。

3.4 整体性能

基线方法采用Philips法对加Hamming窗、对数划分子带的数据提取指纹。改进方法采取NSSC法对Hanning窗、Mel划分子带的数据提取指纹,用子带频谱能量法改进端点检测算法,并选取种子片段、设置命中次数门限以提高效率。使用2种方法对数据 (测试集大小为515条) 进行测试,整体性能结果如表 1所示。从表 1可以明显看出,改进系统检索耗时明显下降,尤其是指纹计算时间大大缩短。从准确性看,改进系统的查全率提高了4.7%,查准率与基线系统只有0.6%的差异,总体性能有所提高。

表 1 基线系统和改进系统的整体性能结果
测试条件查准率/%查全率/%指纹计算
时间/s
查询索引
时间/s
基线方法99.291.9205.10.139
改进方法99.896.639.40.417

4 结论

本文针对传统音频指纹检索Philips法的不足优化了指纹提取方法以及检索方法。在预处理部分,本文基于SBER改进了语音端点检测算法,并且改变了窗函数选择和子带划分方法;在指纹提取部分选取种子片段并将指纹提取方法改进为NSSC法;在检索部分设定命中次数门限以提高效率。实验证明,本文提出的改进系统的查全率、查准率以及抗噪能力有所提升,检索效率及检索性能明显改善。未来的研究重点将集中于索引方式,通过寻找更有效的索引方法来降低索引存储量,提高检索效率。

参考文献
[1] WANG Qiusheng, SUN Shenghe. A novel algorithm for embedding water marks into digital audio signals[J]. Acta Acustica, 2001, 26(5): 464–467.
[2] 肖熙, 王竞千. 基于网格的语音关键词检索算法改进[J]. 清华大学学报 (自然科学版), 2015, 55(5): 508–513. XIAO Xi, WANG Jingqian. Improved lattice-based speech keyword spotting algorithm[J]. J Tsinghua Univ (Sci & Technol), 2015, 55(5): 508–513. (in Chinese)
[3] 欧智坚, 罗骏, 谢达东, 等. 多功能语音/音频信息检索系统的研究与实现[C]//全国网络与信息安全技术研讨会. 北京: 中国通信学会, 2004: 106-112. OU Zhijian, LUO Jun, XIE Dadong, et al. The research and implementation of multi-function voice/audio information retrieval system[C]//National Network and Information Security Technology Conference. Beijing: CIC, 2004: 106-112.
[4] Smith G, Murase H, Kashino K. Quick audio retrieval using active search[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. Seattle, USA: IEEE, 1998: 3777-3780.
[5] Roy D, Malamud C. Speaker identification based text to audio alignment of an audio retrieval system[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. Munich, Germany: IEEE, 1997: 1099-1102.
[6] QIN Jing, LIU Xinyue, LIN Hongfei. Audio retrieval based on manifold ranking[C]//Sixth International Symposium on Parallel Architectures, Algorithms and Programming. Beijing, China: IEEE, 2014: 187-190.
[7] Foote J. An overview of audio information retrieval[J]. Multimedia Systems, 1999, 7(1): 2–11. DOI:10.1007/s005300050106
[8] Wold E, Blum T, Keislar D, et al. Content-based classification search and retrieval of audio[J]. IEEE Multimedia Magazine, 1996, 3(3): 27–36. DOI:10.1109/93.556537
[9] LIU Mingchun, WAN Chunru. A study on content based classification and retrieval of audio database[C]//IEEE Database Engineering and Applications Symposium. Grenoble, France: IEEE, 2001: 339-345.
[10] Piamsa-Nga P, Alexandridis N A, Srakaew S, et al. In-clip search algorithm for content-based audio retrieval[C]//Proceedings of the Third International Conference on Computational Intelligence and Multimedia Applications. New Delhi, India: IEEE, 1999: 263-267.
[11] Haitsma J, Kalker T. A highly robust audio fingerprinting system with an efficient search strategy[J]. Journal of New Music Research, 2003, 32(2): 211–221. DOI:10.1076/jnmr.32.2.211.16746
[12] WANG Avery, LI Chun. An industrial strength audio search algorithm[C]//Ismir 2003, International Conference on Music Information Retrieval, Baltimore. Washington, DC, USA: FEUP Edições, 2003: 7-13.
[13] XU Haotian, OU Zhijian. Scalable discovery of audio fingerprint motifs in broadcast streams with determinantal point process based motif clustering[J]. IEEE/ACM Transactions on Audio, Speech and Language Processing, 2016, 24(5): 978–989. DOI:10.1109/TASLP.2016.2537203
[14] Chaudhary P, Hamid H, Kamel N, et al. A novel approach for segment level audio retrieval using singular value decomposition[C]//5th International Conference on Intelligent and Advanced Systems. Kuala Lumpur, Malaysia: IEEE, 2014: 1-5.
[15] Dermatas E S, Fakotakis N D, Kokkinakis G K. Fast endpoint detection algorithm for isolated word recognition in office environment[C]//IEEE International Conference on Acoustic, Speech and Signal Processing. Salt Lake: IEEE, 1991: 733-736.
[16] Haitsma J, Kalker T. Speed-change resistant audio fingerprinting using auto-correlation[C]//International Conference on Acoustics, Speech and Signal Processing. Hong Kong, China: IEEE, 2003, 4: 728-731.
[17] Shen F, Shen C, Shi Q, et al. Inductive hashing on manifolds[C]//IEEE Conference on Computer Vision and Pattern Recognition. Portland, USA: IEEE, 2013: 1562-1569.
[18] ZHANG Xueyuan, HE Qianhua, LI Yanxiong, et al. An inverted index based audio retrieval method[J]. Journal of Electronics & Information Technology, 2012, 34(11): 2561–2567.
[19] Paliwalm K K. Spectral subband centroid features for speech recognition[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. Seattle, USA: IEEE, 1998: 617-620.
[20] Seo J S, Jin M, Lee S, et al. Audio fingerprinting based on normalized spectral subband centroids[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. Philadelphia, USA: IEEE, 2005, 3: 213-216.