基于交叉熵的音频指纹快速搜索方法

文档序号:6584977阅读:202来源:国知局
专利名称:基于交叉熵的音频指纹快速搜索方法
技术领域
本发明涉及一种基于交叉熵的音频指纹快速搜索方法,可以实现合理的跳跃式比 对,达到从大量音频数据中进行高效准确的搜索的目的。
背景技术
音频指纹是指音频自身的基于内容的低维表示(一段音频被表示成一个低维特 征矢量),不同内容的音频有不同的指纹。音频指纹技术有着广泛的应用背景,包括基于内 容的音频辨识和检索,版权管理等领域。现阶段已经存在很多不同的算法。这些算法主要在以下几点有区别1.音频特征的选取,如音频短时频谱的均值、方差、谱中心、基音等。2.指纹模型的构造,如矢量量化码本,高斯混合模型等。3.音频指纹对比所用的距离算法,如欧氏距离,马氏距离等4.检索算法,如线性比对,最近邻比对等。优秀的音频指纹搜索方法应该能够在音频信号由于压缩、传输等造成一定的失真 之后,仍然能够进行正确比对,并且满足计算的时间复杂度要求。发明目的本发明提出了种对失真有更好稳健性,对距离度量具有更广的适应性的基于交叉 熵的音频指纹快速搜索方法。本发明的特征在于是在计算机中依次按以下步骤实现的步骤(1)计算机初始化设置共分量高斯混合模型生成模块,基于共分量高斯混合模型的音频指纹提取 模块,广义动态时序比对模块,其中所述共分量高斯混合模型生成模块,使用事先采集好的约100个小时的音频数 据,进行最大似然参数估计,创建一个共分量高斯混合模型;所述音频指纹提取模块,基于所述共分量高斯混合模型提取音频指纹,并且用交 叉熵衡量音频指纹间距离;所述广义动态时序比对模块,以滑动窗方式将用户指定音频段与输入音频流进行 指纹比较,判断音频流中是否包含有指定音频段。步骤(2)按以下步骤创建一个共分量高斯混合模型步骤(2. 1)事先采集好约100个小时的音频数据。经过短时傅立叶分析,以10毫 秒为一帧提取一个倒谱特征矢量。步骤(2. 2)利用步骤(2. 1)得到的倒谱特征矢量集,进行最大似然参数估计,创建 一个共分量高斯混合模型。该模型包含M个高斯分布作为其分量,以及M个权重系数,M的 取值为512 {(0产),yi(u),E 产)}1 = 1, ..., 其中ii严,E,表示第i个高斯分量的均值矢量和协方差矩阵,表示第i个高斯分量的权重系数,i = 1,…,M,上标u标识此共分量高斯混合模型。步骤(3)按以下步骤对用户指定音频段进行预处理步骤(3. 1)向计算机输入用户指定音频段c,时间长度为几秒,经过短时傅立叶 分析,以10毫秒为一帧提取一个倒谱特征矢量。这样,音频段c用一个倒谱特征矢最序列 {x^ln.!, .^来表示,w表示音频段C的帧数,n = 1,…,W表示音频段C的各帧的序号, 上标C标识此音频段C。步骤(3. 2)按下式计算共分量高斯混合模型的第i个高斯分量在音频段c的第n 帧的权重系数%,:),11 = 1,-,ff 其中i = l,M, j = 1,…,M为共分量高斯混合模型的高斯分量的编号, Ni(x| !!严,乙严)表示均值矢量为^产),协方差矩阵为E产)的高斯分布概率密度函数。按下式计算第i个高斯分量在音频段c中各帧的权重系数的算术平均值,用。严 表不 计算得到的各个高斯分量的权重系数的算术平均值组成一个矢量{>严} i = !,..., , 将该矢量作为音频段c的低维表示_音频指纹。步骤(4)以滑动窗方式将用户指定音频段c与被测试音频流s进行指纹比较步骤(4. 1)在设定的小时数内,向计算机输入被测试音频流s,经过短时傅立叶分 析,以10毫秒为一帧提取一个倒谱特征矢量。这样,被测试音频流s用一个倒谱特征矢量 序列Ixt^tM,…^来表示,T为被测试音频流s的帧数,t = 1,…,T表示音频流s的各 帧的序号,上标s标识此音频流s。步骤(4. 2)按下式计算共分量高斯混合模型的第i个高斯分量在音频流s的第t
帧的权重系数1,…,T: 二 j 其中i = l,M, j = 1,…,M为共分最高斯混合模型的高斯分量的编号。 Ni(x| !!严,乙严)表示均值矢量为^产),协方差矩阵为E产)的高斯分布概率密度函数。步骤(4.3)设置1 = 1。步骤(4. 4)如果1+W-1 > T,则退出。步骤(4.5)将音频流s从第1帧开始的长度为W的一个窗内的音频段lxt(s)}t = !,以下称音频段S(1),与音频段C进行指纹距离计算。首先,按下式计算得到音频段sa)的指纹 即第i个高斯分量在音频段sQ)中各帧的权重系数的算术平均值作为音频段的音频指纹的第i维。然后,按下式计算出音频段sa)的指纹1>严1)}1 = 1,...,8(与音频段(3的指纹1>产、 ...,M之间交叉熵距离 如果da(l) ( 6,则判断音频流s从第1帧开始包含了音频段C,其中e为一个 预设检测阈值,取0. 01。接着令1 = 1+1,回到步骤(4. 4)继续搜索音频流s的剩下部分是 否还包含有音频段c。如果(^(1) > 0,则按下式计算出一个跳跃步长 其中A为一个预设偏移量,取0.001或0.005,」表示向下取整。接着令1 = 1+ t L_skip,回到步骤(4. 4)继续搜索音频流s的剩下部分是否还包含有音频段c。本发明的特征点在于1 建立共分量高斯混合模型(CCGMM,Common Component Gaussian MixturoModel)来描述音频指纹,并且选用交叉熵衡量音频指纹间的距离。交叉熵距离度量 具有更好的对低速率音频压缩、回响干扰、D/A和A/D转换等失真的更好的稳健性。2.提出广义动态时序比对技术,不仅适用于传统的L1距离,而且适用于交叉熵距 离,以及其他任意距离函数为凸函数的距离度量。测试表明,本发明使用偏移量为0.005的交叉熵距离相对线性逐帧计算可以减 少93. 47%的距离计算次数,并且在多种失真下,本发明的错误率相对使用L1距离降低了 31. 7%。


图1 基于交叉熵的音频指纹搜索方法的原理图。图2 基于交叉熵的音频指纹搜索方法的程序流程图。
具体实施例方式本发明具体包括三个模块,共分量高斯混合模型生成模块,基于共分量高斯混合 模型的音频指纹提取模块,广义动态时序比对模块。各模块的具体说明如下。共分量高斯混合模型生成模块首先,事先采集好约100个小时的音频数据。经过短时傅产叶分析,以10毫秒为 一帧提取一个倒谱特征矢量。然后,利用上述得到的倒谱特征矢量集,进行最大似然参数估计,创建一个共分量 高斯混合模型。该模型包含M个高斯分布作为其分量,以及M个权重系数,M的取值为512
其中i;严,E严表示第i个高斯分量的均值矢量和协方差矩阵,《产)表示第i 个高斯分量的权重系数,i = 1,…,M。上标u标识此共分量高斯混合模型。音频指纹提取模块现有技术常常是通过简单的矢量量化得到特征矢量或是直方图作为音频指纹。本 发明使用基于共分量高斯混合模型计算出的音频段的各帧的权重系数的算术平均值作为 音频段的指纹。在指纹搜索系统中,有两处地方需要调用音频指纹提取模块。用户指定音频段的指纹提取对于用户指定音频段c,时间长度为几秒,经过短时傅立叶分析,以10毫秒为一帧 提取一个倒谱特征矢量。这样,音频段c用一个倒谱特征矢量序列{、(’彳^^来表示,评 表示音频段c的帧数,n = 1,…,W表示音频段c的各帧的序号。上标c标识此音频段c。按下式计算共分量高斯混合模型的第i个高斯分量在音频段c的第n帧的权重系 数《in(c),n = 1,…,W:; 其中i = l,M, j = 1,…,M为共分量高斯混合模型的高斯分量的编号。 N“x u严,E严表示均值矢量为u产),协方差矩阵为E产)的高斯分布概率密度函数。按下式计算第i个高斯分量在音频段c中各帧的权重系数的算术平均值,用 表不(2)计算得到的各个高斯分量的权重系数的算术平均值组成一个矢量{>严} i = !,..., , 将该矢量作为音频段c的低维表示_音频指纹。被测试音频流的指纹提取在设定的小时数内,向计算机输入被测试音频流s,经过短时傅立叶分析,以10毫 秒为一帧提取一个倒谱特征矢量。这样,被测试音频流s用一个倒谱特征矢量序列{xt(s)}t
..^来表示,T为被测试音频流s的帧数,t = l,…,T表示音频流s的各帧的序号。上 标S标识此音频流So按下式计算共分量高斯混合模型的第i个高斯分量在音频流s的第t帧的权重系 数 ,)“=1,...,T:
_ 我(々wr) 其中i = l,…,M,j = l,…,M为共分量高斯混合模型的高斯分量的编号。 队⑴!!严,乙严)表示均值矢量为^产),协方差矩阵为E产)的高斯分布概率密度函数。在指纹搜索中,我们需要将音频流s从第1帧开始的长度为W的一个窗内的音频 段{^(’^^..^(以下称音频段^1))与音频段c进行指纹距离计算。为此,按下式计算 得到音频段sa)的指纹
即第i个高斯分量在音频段sQ)中各帧的权重系数的算术平均值作为音频段 的音频指纹的第i维。广义动态时序比对模块音频指纹比对是指,以滑动窗方式将用户指定的音频段c与被测试音频流s进行 指纹比较,滑动窗长度设为音频段c的长度。如果发现音频流s的某处位置的片段与音频 段c之间指纹距离小于预设的检测阈值,则判断在音频流s发现了音频段c。注意到由于应用在音频流上的滑动窗会逐步随时间推移向后滑动(以帧作为时 间单位),因此在连续的窗之间会体现出一种连续性。动态时序比对技术就是利用了这种 连续性,通过计算出以时间步长为参量的距离度量的下界,跳过不需要的距离计算直至这 个下界小于检测阈值为止,从而大大提高检索效率。在原始的时序动态检索中,距离度量局 限为L1距离。本发明将其扩展为任意距离函数为凸函数的距离度量,提出广义动态时序比 对,具体步骤如下如上所述,对用户指定音频段c进行处理,得到一个倒谱特征矢量序列{xnW}n = i, ...,w,其中W表示音频段c的帧数,n = l,…,W表示音频段c的各帧的序号。上标c标识 是音频段c的特征。对n = 1,…,W,i = l,…,M,按公式(1)计算出第i个高斯分量在 音频段c的第n帧的权重系数《tnfc)。按公式(2)计算得到音频段c的音频指纹,即维数为 M 的矢量 1>严}1 = 1,...,M。如上所述,对被测试音频流进行处理,得到一个倒谱特征矢量序列{x^hM, ...,T, 其中T为被测试音频流s的帧数,t = 1,…,T表示音频流s的各帧的序号。上标s标识 是音频流s的特征。对t = l,…,T,i = l,…,M,按公式(3)计算出第i个高斯分量在 音频流s的第t帧的权重系数设置1 = 1。如果1+W-1 > T,则退出。将音频流s从第1帧开始的长度为W的一个窗内的音频段Ix/ltM, ...,1+W1 (以下 称音频段S(1))与音频段c进行指纹距离计算。首先,按下式计算得到音频段sa)的指纹
(5)即第i个高斯分量在音频段sQ)中各帧的权重系数的算术平均值作为音频段 的音频指纹的第i维。然后,按下式计算出音频段sG)的指纹1>严1)}1 = 1,..., 与音频段(的指纹1>
M之间交叉熵距离
(6)其中利用第i维计算的交叉熵距离记为
我们有
(8) 如果da(l) ( 6,则判断音频流s从第1帧开始包含了音频段C,其中e为一个 预设检测阈值(通常可取0. 01)。接着令1 = 1+1,回到步骤(5. 3. 4)继续搜索音频流s的 剩下部分是否还包含有音频段c。如果(^(1) > 0,则按下式计算出一个跳跃步长 其中
.示将dKu(l)视为o,’1)的函数,对o,’1)求偏导
1表示向下取整。接着令1 = 1+ T
KL-skip
(10)
,回到步骤(5. 3. 4)继续搜索音频流s的
剩下部分是否还包含有音频段c。可以证明,按照(9)式计算出的跳跃步长可以保证不漏过任何距离小于阈值e的 比对,从而通过避免不必要的计算的方法加快了检索速度。、^^越大,检索效率越高。讨论1.上述的广义动态时序比对技术可以应用在任意满足下式的距离度量 且屯(1)为co^’1)的凸函数的情形,这包括但不限于公式(7)定义的交叉熵距离, 以及下面公式(12)给出L1距离。
其中利用第i维计算的L1距离记为
12)
(13) 2.采用交叉熵距离时跳跃步长的公式(9) (10)在实际计算时需做一些调整。注 意到如果某个高斯分量的权重o,’1)接近0,(10)式的分母会变得很大从而使得跳跃步长 经常小于1。为了解决这个问题,权重系数会被加上一个正的偏移量A (通常可取0. 001或 0.005),采用下面的交叉熵距离计算公式。这时广义动态时序比对技术依旧适用。
3.由于使用共分量高斯混合模型,在进行音频指纹提取时只需要估计各高斯分量的权重系数,因此成功避免了有可能因为数据不足而导致的错误估计问题,这对于持续时 间仅有2至3秒的短音频段的精确指纹提取有重要意义。同时,使用共分量高斯混合模型 之后大大简化了两个高斯混合模型之间KL距离的计算,才有可能进行下一步的动态时序 比对。测试结果首先使用事先采集好约100个小时的音频数据(来自CCTV,V0A等),进行最大似 然参数估计,创建一个共分最高斯混合模型。作为被测试音频流,我们录制了 10小时V0A广播新闻,从中提取了 1000段长度为 3秒的音频段作为用户指定音频段。我们对被测试音频流做了三种不同的失真处理1)低质量 VBR mp3 压缩处理(40_50Kbps);2)使用CoolEdit叠加房间回声效果;3)使用低质量扬声器重放并用低质量麦克风重新录制。搜索任务就是在10小时的失真处理之后的音频流中搜索用户指定音频段。表格1 列出了实验结果。其中CPU时间表示在10小时的音频流中找到3秒的音频段所需的平均 时间(使用1. 4GHz奔腾4处理器进行实验)。测试表明,使用偏移量为0.005的交叉熵距离相对线性逐帧计算可以减少 93. 47%的距离计算次数,并且在多种失真下,其错误率相对使用L1距离降低了 31. 7%。
表1测试结果
权利要求
基于交叉熵的音频指纹快速搜索方法,其特征在于,是在计算机中依次按以下步骤实现的步骤(1)计算机初始化设置共分量高斯混合模型生成模块,基于共分量高斯混合模型的音频指纹提取模块,广义动态时序比对模块,其中所述共分量高斯混合模型生成模块,使用事先采集好的约100个小时的音频数据,进行最大似然参数估计,创建一个共分量高斯混合模型;所述音频指纹提取模块,基于所述共分量高斯混合模型提取音频指纹,并且用交叉熵衡量音频指纹间距离;所述广义动态时序比对模块,以滑动窗方式将用户指定音频段与输入音频流进行指纹比较,判断音频流中是否包含有指定音频段。步骤(2)按以下步骤创建一个共分量高斯混合模型步骤(2.1)事先采集好约100个小时的音频数据。经过短时傅立叶分析,以10毫秒为一帧提取一个倒谱特征矢量。步骤(2.2)利用步骤(2.1)得到的倒谱特征矢量集,进行最大似然参数估计,创建一个共分量高斯混合模型。该模型包含M个高斯分布作为其分量,以及M个权重系数,M的取值为512{ωi(u),μi(u),∑i(u)}i=1,...,M其中μi(u),∑i(u)表示第i个高斯分量的均值矢量和协方差矩阵,ωi(u)表示第i个高斯分量的权重系数,i=1,…,M,上标u标识此共分量高斯混合模型。步骤(3)按以下步骤对用户指定音频段进行预处理步骤(3.1)向计算机输入用户指定音频段c,时间长度为几秒,经过短时傅立叶分析,以10毫秒为一帧提取一个倒谱特征矢量。这样,音频段c用一个倒谱特征矢量序列{xn(c)}n=1,...,W来表示,W表示音频段c的帧数,n=1,…,W表示音频段c的各帧的序号,上标c标识此音频段c。步骤(3.2)按下式计算共分量高斯混合模型的第i个高斯分量在音频段c的第n帧的权重系数ωi,n(c),n=1,…,W <mrow><msubsup> <mi>&omega;</mi> <mrow><mi>i</mi><mo>,</mo><mi>n</mi> </mrow> <mrow><mo>(</mo><mi>c</mi><mo>)</mo> </mrow></msubsup><mo>=</mo><mfrac> <mrow><msubsup> <mi>&omega;</mi> <mi>i</mi> <mrow><mo>(</mo><mi>u</mi><mo>)</mo> </mrow></msubsup><msub> <mi>N</mi> <mi>i</mi></msub><mrow> <mo>(</mo> <msubsup><mi>x</mi><mi>n</mi><mrow> <mo>(</mo> <mi>c</mi> <mo>)</mo></mrow> </msubsup> <mo>|</mo> <msubsup><mi>&mu;</mi><mi>i</mi><mrow> <mo>(</mo> <mi>u</mi> <mo>)</mo></mrow> </msubsup> <mo>,</mo> <msubsup><mi>&Sigma;</mi><mi>i</mi><mrow> <mo>(</mo> <mi>u</mi> <mo>)</mo></mrow> </msubsup> <mo>)</mo></mrow> </mrow> <mrow><munderover> <mi>&Sigma;</mi> <mrow><mi>j</mi><mo>=</mo><mn>1</mn> </mrow> <mi>M</mi></munderover><msubsup> <mi>&omega;</mi> <mi>j</mi> <mrow><mo>(</mo><mi>u</mi><mo>)</mo> </mrow></msubsup><msub> <mi>N</mi> <mi>j</mi></msub><mrow> <mo>(</mo> <msubsup><mi>x</mi><mi>n</mi><mrow> <mo>(</mo> <mi>c</mi> <mo>)</mo></mrow> </msubsup> <mo>|</mo> <msubsup><mi>&mu;</mi><mi>j</mi><mrow> <mo>(</mo> <mi>u</mi> <mo>)</mo></mrow> </msubsup> <mo>,</mo> <msubsup><mi>&Sigma;</mi><mi>j</mi><mrow> <mo>(</mo> <mi>u</mi> <mo>)</mo></mrow> </msubsup> <mo>)</mo></mrow> </mrow></mfrac> </mrow>其中i=1,…,M,j=1,…,M为共分量高斯混合模型的高斯分量的编号,Ni(x|μi(u),∑i(u))表示均值矢量为μi(u),协方差矩阵为∑i(u)的高斯分布概率密度函数。按下式计算第i个高斯分量在音频段c中各帧的权重系数的算术平均值,用ωi(c)表示 <mrow><msubsup> <mi>&omega;</mi> <mi>i</mi> <mrow><mo>(</mo><mi>c</mi><mo>)</mo> </mrow></msubsup><mo>=</mo><mfrac> <mn>1</mn> <mi>W</mi></mfrac><munderover> <mi>&Sigma;</mi> <mrow><mi>n</mi><mo>=</mo><mn>1</mn> </mrow> <mi>W</mi></munderover><msubsup> <mi>&omega;</mi> <mrow><mi>i</mi><mo>,</mo><mi>n</mi> </mrow> <mrow><mo>(</mo><mi>c</mi><mo>)</mo> </mrow></msubsup><mo>,</mo> </mrow>计算得到的各个高斯分量的权重系数的算术平均值组成一个矢量{ωt(c)}i=1,...,M,将该矢量作为音频段c的低维表示一音频指纹。步骤(4)以滑动窗方式将用户指定音频段c与被测试音频流s进行指纹比较步骤(4.1)在设定的小时数内,向计算机输入被测试音频流s,经过短时傅立叶分析,以10毫秒为一帧提取一个倒谱特征矢量。这样,被测试音频流s用一个倒谱特征矢量序列{xt(s)}t=1,...,T来表示,T为被测试音频流s的帧数,t=1,…,T表示音频流s的各帧的序号,上标s标识此音频流s。步骤(4.2)按下式计算共分量高斯混合模型的第i个高斯分量在音频流s的第t帧的权重系数ωi,t(s),t=1,…,T <mrow><msubsup> <mi>&omega;</mi> <mrow><mi>i</mi><mo>,</mo><mi>t</mi> </mrow> <mrow><mo>(</mo><mi>s</mi><mo>)</mo> </mrow></msubsup><mo>=</mo><mfrac> <mrow><msubsup> <mi>&omega;</mi> <mi>i</mi> <mrow><mo>(</mo><mi>u</mi><mo>)</mo> </mrow></msubsup><msub> <mi>N</mi> <mi>i</mi></msub><mrow> <mo>(</mo> <msubsup><mi>x</mi><mi>t</mi><mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo></mrow> </msubsup> <mo>|</mo> <msubsup><mi>&mu;</mi><mi>i</mi><mrow> <mo>(</mo> <mi>u</mi> <mo>)</mo></mrow> </msubsup> <mo>,</mo> <msubsup><mi>&Sigma;</mi><mi>i</mi><mrow> <mo>(</mo> <mi>u</mi> <mo>)</mo></mrow> </msubsup> <mo>)</mo></mrow> </mrow> <mrow><munderover> <mi>&Sigma;</mi> <mrow><mi>j</mi><mo>=</mo><mn>1</mn> </mrow> <mi>M</mi></munderover><msubsup> <mi>&omega;</mi> <mi>j</mi> <mrow><mo>(</mo><mi>u</mi><mo>)</mo> </mrow></msubsup><msub> <mi>N</mi> <mi>j</mi></msub><mrow> <mo>(</mo> <msubsup><mi>x</mi><mi>t</mi><mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo></mrow> </msubsup> <mo>|</mo> <msubsup><mi>&mu;</mi><mi>j</mi><mrow> <mo>(</mo> <mi>u</mi> <mo>)</mo></mrow> </msubsup> <mo>,</mo> <msubsup><mi>&Sigma;</mi><mi>j</mi><mrow> <mo>(</mo> <mi>u</mi> <mo>)</mo></mrow> </msubsup> <mo>)</mo></mrow> </mrow></mfrac> </mrow>其中i=1,…,M,j=1,…,M为共分量高斯混合模型的高斯分量的编号。Ni(x|μi(u),∑i(u))表示均值矢量为μi(u),协方差矩阵为∑i(u)的高斯分布概率密度函数。步骤(4.3)设置l=1。步骤(4.4)如果l+W-1>T,则退出。步骤(4.5)将音频流s从第l帧开始的长度为W的一个窗内的音频段{xt(s)}t=l,...,l+W-1,以下称音频段s(l),与音频段c进行指纹距离计算。首先,按下式计算得到音频段s(l)的指纹 <mrow><msubsup> <mi>&omega;</mi> <mi>i</mi> <mrow><mo>(</mo><mi>s</mi><mo>,</mo><mi>l</mi><mo>)</mo> </mrow></msubsup><mo>=</mo><mfrac> <mn>1</mn> <mi>W</mi></mfrac><munderover> <mi>&Sigma;</mi> <mrow><mi>t</mi><mo>=</mo><mi>l</mi> </mrow> <mrow><mi>l</mi><mo>+</mo><mi>W</mi><mo>-</mo><mn>1</mn> </mrow></munderover><msubsup> <mi>&omega;</mi> <mrow><mi>i</mi><mo>,</mo><mi>t</mi> </mrow> <mrow><mo>(</mo><mi>s</mi><mo>)</mo> </mrow></msubsup><mo>,</mo> </mrow>即第i个高斯分量在音频段s(l)中各帧的权重系数的算术平均值作为音频段s(l)的音频指纹的第i维。然后,按下式计算出音频段s(l)的指纹{ωi(s,l)}i=1,...,M与音频段c的指纹{ωi(c)}i=1,...,M之间交叉熵距离 <mrow><msub> <mi>d</mi> <mi>KL</mi></msub><mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo></mrow><mo>=</mo><munderover> <mi>&Sigma;</mi> <mrow><mi>i</mi><mo>=</mo><mn>1</mn> </mrow> <mi>M</mi></munderover><mrow> <mo>(</mo> <msubsup><mi>&omega;</mi><mi>i</mi><mrow> <mi>s</mi> <mo>,</mo> <mi>l</mi></mrow> </msubsup> <mo>-</mo> <msubsup><mi>&omega;</mi><mi>i</mi><mrow> <mo>(</mo> <mi>c</mi> <mo>)</mo></mrow> </msubsup> <mo>)</mo></mrow><mi>log</mi><mfrac> <msubsup><mi>&omega;</mi><mi>i</mi><mrow> <mo>(</mo> <mi>s</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo></mrow> </msubsup> <msubsup><mi>&omega;</mi><mi>i</mi><mrow> <mo>(</mo> <mi>c</mi> <mo>)</mo></mrow> </msubsup></mfrac> </mrow>如果dKL(l)≤θ,则判断音频流s从第l帧开始包含了音频段c,其中θ为一个预设检测阈值,取0.01。接着令l=l+1,回到步骤(4.4)继续搜索音频流s的剩下部分是否还包含有音频段c。如果dKL(l)>θ,则按下式计算出一个跳跃步长其中Δ为一个预设偏移量,取0.001或0.005,表示向下取整。接着令l=l+τKL-skip,回到步骤(4.4)继续搜索音频流s的剩下部分是否还包含有音频段c。F2009102413667C00034.tif,F2009102413667C00041.tif
全文摘要
基于交叉熵的音频指纹快速搜索方法,属于音频指纹搜索技术领域,其特征在于,利用共分量高斯混合模型来描述音频指纹,并且用交叉熵来衡量音频指纹间的距离,然后用广义动态时序比对方法,以滑动窗方式将用户指定音频段与输入音频流进行指纹比较,判断该音频流中是否包含有指定音频段。本发明具有能大大地减少距离计算次数,而且还能适应于多种音频失真情况,错误率相对于使用L1距离降低了三分之一的优点,已完成软件实现并在仿真实验中予以测试。
文档编号G06F17/30GK101853262SQ20091024136
公开日2010年10月6日 申请日期2009年12月7日 优先权日2009年12月7日
发明者林晖, 欧智坚 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1