一种音频指纹匹配方法以及音频指纹匹配装置转让专利

申请号 : CN201910171672.1

文献号 : CN109829515B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 姜卫平张家斌纵瑞芳赵敏

申请人 : 北京市博汇科技股份有限公司

摘要 :

本申请提供一种音频指纹匹配方法以及音频指纹匹配装置,该方法包括:获取第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值;生成至少两个音频帧的平均谱能量峰值位置点图像;利用分类器对平均谱能量峰值位置点图像中的平均谱能量峰值位置点进行量化,并根据量化结果获取至少两个音频帧中每个音频帧的音频指纹;获取第一音频段中至少两个音频帧与第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值;在平均值小于或者等于第一预设阈值的情况下,确定第一音频段与第二音频段相匹配;在平均值大于第一预设阈值的情况下,确定第一音频段与第二音频段不匹配。每帧音频指纹的信息长度较小,需要耗费的资源较少。

权利要求 :

1.一种音频指纹匹配方法,其特征在于,包括:

获取第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值;

根据所述第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值,确定每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量;

根据每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量,确定每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带;

根据所述每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带,生成所述至少两个音频帧的平均谱能量峰值位置点图像;

利用分类器对所述平均谱能量峰值位置点图像中的平均谱能量峰值位置点进行量化,并根据量化结果获取所述至少两个音频帧中每个音频帧的音频指纹;

确定第二音频段包含的至少两个音频帧中每个音频帧的音频指纹;

根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,获取所述第一音频段中至少两个音频帧与所述第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值;

在所述平均值小于或者等于第一预设阈值的情况下,确定所述第一音频段与所述第二音频段相匹配;

在所述平均值大于所述第一预设阈值的情况下,确定所述第一音频段与所述第二音频段不匹配。

2.如权利要求1所述的方法,其特征在于,所述根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,获取所述第一音频段中至少两个音频帧与所述第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值,包括:根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,确定对齐偏移量;

根据所述对齐偏移量,获取所述第一音频段中至少两个音频帧与所述第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值。

3.如权利要求2所述的方法,其特征在于,所述根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,确定对齐偏移量,包括:确定所述第一音频段包含的至少两个音频帧与所述第二音频段包含的至少两个音频帧中具有相似指纹的音频帧对,其中,具有相似指纹的音频帧对中的两个音频帧的指纹距离小于第二预设阈值;

计算所述具有相似指纹的音频帧对中第一音频帧与第二音频帧的帧时间差,其中,所述第一音频帧属于所述第一音频段,所述第二音频帧属于所述第二音频段;

获取具有同一帧时间差的音频帧对;

在具有目标帧时间差的音频帧对的数量最多且该数量大于第三预设阈值的情况下,确定所述目标帧时间差为所述对齐偏移量。

4.如权利要求1至3中任一项所述的方法,其特征在于,所述分类器包含第一区域和第二区域,所述利用分类器对所述平均谱能量峰值位置点图像中的平均谱能量峰值位置点进行量化,并根据量化结果获取所述至少两个音频帧中每个音频帧的音频指纹,包括:确定所述平均谱能量峰值位置点图像中位于所述分类器的第一区域的平均谱能量峰值位置点的第一数量;

确定所述平均谱能量峰值位置点图像中位于所述分类器的第二区域的平均谱能量峰值位置点的第二数量;

计算所述第一数量与所述第二数量的差值;

根据所述差值获取所述至少两个音频帧中每个音频帧的音频指纹。

5.如权利要求4所述的方法,其特征在于,在所述根据所述第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值,确定每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量的步骤之前,所述方法还包括:确定所述第一音频段包含的至少两个音频帧中每个音频帧的目标频率段;

将所述目标频率段转换为所述至少两个音调频率子带,其中,所述至少两个音调频率子带中每个音调频率子带的编号与所述目标频率段中的频率具有以下对应关系:其中,I为所述至少两个音调频率子带中每个音调频率子带的编号,f为所述目标频率段中的一个频率, 为向下取整符号,[]为方括号。

6.如权利要求1至3中任一项所述的方法,其特征在于,所述至少两个音调频率子带为

30个音调频率子带。

7.一种音频指纹匹配装置,其特征在于,包括:

第一获取模块,用于获取第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值;

第一确定模块,用于根据所述第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值,确定每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量;

第二确定模块,用于根据每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量,确定每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带;

生成模块,用于根据所述每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带,生成所述至少两个音频帧的平均谱能量峰值位置点图像;

第二获取模块,用于利用分类器对所述平均谱能量峰值位置点图像中的平均谱能量峰值位置点进行量化,并根据量化结果获取所述至少两个音频帧中每个音频帧的音频指纹;

第三确定模块,用于确定第二音频段包含的至少两个音频帧中每个音频帧的音频指纹;

第三获取模块,用于根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,获取所述第一音频段中至少两个音频帧与所述第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值;

第四确定模块,用于在所述平均值小于或者等于第一预设阈值的情况下,确定所述第一音频段与所述第二音频段相匹配;

第五确定模块,用于在所述平均值大于所述第一预设阈值的情况下,确定所述第一音频段与所述第二音频段不匹配。

8.如权利要求7所述的音频指纹匹配装置,其特征在于,所述第三获取模块包括:第一确定子模块,用于根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,确定对齐偏移量;

第一获取子模块,用于根据所述对齐偏移量,获取所述第一音频段中至少两个音频帧与所述第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值。

9.如权利要求8所述的音频指纹匹配装置,其特征在于,所述第一确定子模块包括:第一确定单元,用于确定所述第一音频段包含的至少两个音频帧与所述第二音频段包含的至少两个音频帧中具有相似指纹的音频帧对,其中,具有相似指纹的音频帧对中的两个音频帧的指纹距离小于第二预设阈值;

计算单元,用于计算所述具有相似指纹的音频帧对中第一音频帧与第二音频帧的帧时间差,其中,所述第一音频帧属于所述第一音频段,所述第二音频帧属于所述第二音频段;

获取单元,用于获取具有同一帧时间差的音频帧对;

第二确定单元,用于在具有目标帧时间差的音频帧对的数量最多且该数量大于第三预设阈值的情况下,确定所述目标帧时间差为所述对齐偏移量。

10.如权利要求7至9中任一项所述的音频指纹匹配装置,其特征在于,所述分类器包含第一区域和第二区域,所述第二获取模块包括:第二确定子模块,用于确定所述平均谱能量峰值位置点图像中位于所述分类器的第一区域的平均谱能量峰值位置点的第一数量;

第三确定子模块,用于确定所述平均谱能量峰值位置点图像中位于所述分类器的第二区域的平均谱能量峰值位置点的第二数量;

计算子模块,用于计算所述第一数量与所述第二数量的差值;

第二获取子模块,用于根据所述差值获取所述至少两个音频帧中每个音频帧的音频指纹。

11.如权利要求10所述的音频指纹匹配装置,其特征在于,所述音频指纹匹配装置还包括:第六确定模块,用于确定所述第一音频段包含的至少两个音频帧中每个音频帧的目标频率段;

转换模块,用于将所述目标频率段转换为所述至少两个音调频率子带,其中,所述至少两个音调频率子带中每个音调频率子带的编号与所述目标频率段中的频率具有以下对应关系:其中,I为所述至少两个音调频率子带中每个音调频率子带的编号,f为所述目标频率段中的一个频率, 为向下取整符号,[]为方括号。

12.如权利要求7至9中任一项所述的音频指纹匹配装置,其特征在于,所述至少两个音调频率子带为30个音调频率子带。

说明书 :

一种音频指纹匹配方法以及音频指纹匹配装置

技术领域

[0001] 本申请涉及音频技术领域,尤其涉及一种音频指纹匹配方法以及音频指纹匹配装置。

背景技术

[0002] 音频指纹是代表一段音频重要声学特征的基于内容的数字签名,可用于音频比对、音频库检索或者音频内容监测等应用场景。音频指纹是基于人耳的听觉感知特征建立的,对于经过处理,例如编码压缩、滤波、均衡或者变调等导致部分失真的音频,需要有较好的鲁棒性。
[0003] 音频指纹基于的声学特征主要分为2类:物理特征和感知特征。物理特征,是直接从音频数据中提取的简单的参数表示,例如短时能量、过零率、谱峰和谱密度等;感知特征,是结合人耳听觉,从音频数据中加工提炼的参数表示,例如音高、音调、旋律和节奏等。
[0004] 现有技术中,每帧音频指纹的信息长度在100~300bit左右,导致在存储和音频指纹匹配时要耗费较大的资源。

发明内容

[0005] 本申请提供了一种音频指纹匹配方法以及音频指纹匹配装置,以解决现有技术中,每帧音频指纹的信息长度较大,导致需要耗费较多资源的问题。
[0006] 一方面,本申请提供一种音频指纹匹配方法,包括:
[0007] 获取第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值;
[0008] 根据所述第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值,确定每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量;
[0009] 根据每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量,确定每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带;
[0010] 根据所述每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带,生成所述至少两个音频帧的平均谱能量峰值位置点图像;
[0011] 利用分类器对所述平均谱能量峰值位置点图像中的平均谱能量峰值位置点进行量化,并根据量化结果获取所述至少两个音频帧中每个音频帧的音频指纹;
[0012] 确定第二音频段包含的至少两个音频帧中每个音频帧的音频指纹;
[0013] 根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,获取所述第一音频段中至少两个音频帧与所述第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值;
[0014] 在所述平均值小于或者等于第一预设阈值的情况下,确定所述第一音频段与所述第二音频段相匹配;
[0015] 在所述平均值大于所述第一预设阈值的情况下,确定所述第一音频段与所述第二音频段不匹配。
[0016] 可选的,所述根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,获取所述第一音频段中至少两个音频帧与所述第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值,包括:
[0017] 根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,确定对齐偏移量;
[0018] 根据所述对齐偏移量,获取所述第一音频段中至少两个音频帧与所述第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值。
[0019] 可选的,所述根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,确定对齐偏移量,包括:
[0020] 确定所述第一音频段包含的至少两个音频帧与所述第二音频段包含的至少两个音频帧中具有相似指纹的音频帧对,其中,具有相似指纹的音频帧对中的两个音频帧的指纹距离小于第二预设阈值;
[0021] 计算所述具有相似指纹的音频帧对中第一音频帧与第二音频帧的帧时间差,其中,所述第一音频帧属于所述第一音频段,所述第二音频帧属于所述第二音频段;
[0022] 获取具有同一帧时间差的音频帧对;
[0023] 在具有目标帧时间差的音频帧对的数量最多且该数量大于第三预设阈值的情况下,确定所述目标帧时间差为所述对齐偏移量。
[0024] 可选的,所述分类器包含第一区域和第二区域,所述利用分类器对所述平均谱能量峰值位置点图像中的平均谱能量峰值位置点进行量化,并根据量化结果获取所述至少两个音频帧中每个音频帧的音频指纹,包括:
[0025] 确定所述平均谱能量峰值位置点图像中位于所述分类器的第一区域的平均谱能量峰值位置点的第一数量;
[0026] 确定所述平均谱能量峰值位置点图像中位于所述分类器的第二区域的平均谱能量峰值位置点的第二数量;
[0027] 计算所述第一数量与所述第二数量的差值;
[0028] 根据所述差值获取所述至少两个音频帧中每个音频帧的音频指纹。
[0029] 可选的,在所述根据所述第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值,确定每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量的步骤之前,所述方法还包括:
[0030] 确定所述第一音频段包含的至少两个音频帧中每个音频帧的目标频率段;
[0031] 将所述目标频率段转换为所述至少两个音调频率子带,其中,所述至少两个音调频率子带中每个音调频率子带的编号与所述目标频率段中的频率具有以下对应关系:
[0032]
[0033] 其中,I为所述至少两个音调频率子带中每个音调频率子带的编号,f为所述目标频率段中的一个频率, 为向下取整符号,[]为方括号。
[0034] 可选的,所述至少两个音调频率子带为30个音调频率子带。
[0035] 另一方面,本申请还提供一种音频指纹匹配装置,包括:
[0036] 第一获取模块,用于获取第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值;
[0037] 第一确定模块,用于根据所述第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值,确定每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量;
[0038] 第二确定模块,用于根据每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量,确定每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带;
[0039] 生成模块,用于根据所述每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带,生成所述至少两个音频帧的平均谱能量峰值位置点图像;
[0040] 第二获取模块,用于利用分类器对所述平均谱能量峰值位置点图像中的平均谱能量峰值位置点进行量化,并根据量化结果获取所述至少两个音频帧中每个音频帧的音频指纹;
[0041] 第三确定模块,用于确定第二音频段包含的至少两个音频帧中每个音频帧的音频指纹;
[0042] 第三获取模块,用于根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,获取所述第一音频段中至少两个音频帧与所述第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值;
[0043] 第四确定模块,用于在所述平均值小于或者等于第一预设阈值的情况下,确定所述第一音频段与所述第二音频段相匹配;
[0044] 第五确定模块,用于在所述平均值大于所述第一预设阈值的情况下,确定所述第一音频段与所述第二音频段不匹配。
[0045] 可选的,所述第三获取模块包括:
[0046] 第一确定子模块,用于根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,确定对齐偏移量;
[0047] 第一获取子模块,用于根据所述对齐偏移量,获取所述第一音频段中至少两个音频帧与所述第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值。
[0048] 可选的,所述第一确定子模块包括:
[0049] 第一确定单元,用于确定所述第一音频段包含的至少两个音频帧与所述第二音频段包含的至少两个音频帧中具有相似指纹的音频帧对,其中,具有相似指纹的音频帧对中的两个音频帧的指纹距离小于第二预设阈值;
[0050] 计算单元,用于计算所述具有相似指纹的音频帧对中第一音频帧与第二音频帧的帧时间差,其中,所述第一音频帧属于所述第一音频段,所述第二音频帧属于所述第二音频段;
[0051] 获取单元,用于获取具有同一帧时间差的音频帧对;
[0052] 第二确定单元,用于在具有目标帧时间差的音频帧对的数量最多且该数量大于第三预设阈值的情况下,确定所述目标帧时间差为所述对齐偏移量。
[0053] 可选的,所述分类器包含第一区域和第二区域,所述第二获取模块包括:
[0054] 第二确定子模块,用于确定所述平均谱能量峰值位置点图像中位于所述分类器的第一区域的平均谱能量峰值位置点的第一数量;
[0055] 第三确定子模块,用于确定所述平均谱能量峰值位置点图像中位于所述分类器的第二区域的平均谱能量峰值位置点的第二数量;
[0056] 计算子模块,用于计算所述第一数量与所述第二数量的差值;
[0057] 第二获取子模块,用于根据所述差值获取所述至少两个音频帧中每个音频帧的音频指纹。
[0058] 可选的,所述音频指纹匹配装置还包括:
[0059] 第六确定模块,用于确定所述第一音频段包含的至少两个音频帧中每个音频帧的目标频率段;
[0060] 转换模块,用于将所述目标频率段转换为所述至少两个音调频率子带,其中,所述至少两个音调频率子带中每个音调频率子带的编号与所述目标频率段中的频率具有以下对应关系:
[0061]
[0062] 其中,I为所述至少两个音调频率子带中每个音调频率子带的编号,f为所述目标频率段中的一个频率, 为向下取整符号,[]为方括号。
[0063] 可选的,所述至少两个音调频率子带为30个音调频率子带。
[0064] 由以上技术方案可知,本申请提供一种音频指纹匹配方法以及音频指纹匹配装置,所述方法包括:获取第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值;根据所述第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值,确定每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量;根据每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量,确定每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带;根据所述每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带,生成所述至少两个音频帧的平均谱能量峰值位置点图像;利用分类器对所述平均谱能量峰值位置点图像中的平均谱能量峰值位置点进行量化,并根据量化结果获取所述至少两个音频帧中每个音频帧的音频指纹;确定第二音频段包含的至少两个音频帧中每个音频帧的音频指纹;根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,获取所述第一音频段中至少两个音频帧与所述第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值;在所述平均值小于或者等于第一预设阈值的情况下,确定所述第一音频段与所述第二音频段相匹配;在所述平均值大于所述第一预设阈值的情况下,确定所述第一音频段与所述第二音频段不匹配。这样,每帧音频指纹的信息长度较小,需要耗费的资源较少。

附图说明

[0065] 为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0066] 图1为本申请提供的一种音频指纹匹配方法的流程图;
[0067] 图2为本申请提供的一个音频帧的频谱幅值映射到30个音调频率子带上的示意图;
[0068] 图3为本申请提供的生成的至少两个音频帧的平均谱能量峰值位置点图像;
[0069] 图4为本申请提供的6种分类器的示意图;
[0070] 图5为本申请提供的将图4中的(B)分类器应用到平均谱能量峰值位置点图像上的示意图;
[0071] 图6为本申请提供的另一种音频指纹匹配方法的流程图;
[0072] 图7为本申请提供的相似指纹帧对按帧时间差统计直方图;
[0073] 图8为本申请提供的将第一音频段中至少两个音频帧与第二音频段中至少两个音频帧进行匹配的示意图;
[0074] 图9为本申请提供的一种音频指纹匹配装置的结构图;
[0075] 图10为本申请提供的另一种音频指纹匹配装置的结构图;
[0076] 图11为本申请提供的另一种音频指纹匹配装置的结构图;
[0077] 图12为本申请提供的另一种音频指纹匹配装置的结构图;
[0078] 图13为本申请提供的另一种音频指纹匹配装置的结构图。

具体实施方式

[0079] 下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
[0080] 参见图1,图1是本申请提供的一种音频指纹匹配方法的流程图。如图1所示,包括以下步骤:
[0081] 步骤101、获取第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值。
[0082] 在步骤101中,可以进行音频数据的时域-频域转换,可以获取第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值。
[0083] 需要说明的是,可以先对音频脉冲编码调制(Pulse Code Modulation,PCM)数据进行分帧处理。分帧参数:帧大小2048,帧重叠1024。音频PCM数据的采样率可以为11.025KHz。接下来,可以对音频帧进行汉明加窗处理。然后,可以对音频帧进行快速傅立叶变换(Fast Fourier Transform,FFT),将音频数据从时域变为频域,得到音频频谱。接下来,为防止频谱噪声影响,还可以将相邻5帧音频帧的频谱进行平滑处理。
[0084] 步骤102、根据所述第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值,确定每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量。
[0085] 在步骤102中,可以根据第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值,确定每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量。
[0086] 需要说明的是,由于人耳对频率的感知是非线性的,存在2倍频率关系的声音,具有相同的音调级。因此,可以将频率f映射为音调频率F,人耳对音调频率F的感知是线性的。其中,音调频率F与频率f的关系为F=log2f。由于人耳对110Hz~3520Hz这个频率范围的声音比较敏感,因此,可以取110Hz~3520Hz这个频率范围作为分析频段。可以将该分析频段转换为至少两个音调频率子带,例如,可以将该分析频段转换为30个音调频率子带。其中,至少两个音调频率子带中每个音调频率子带的编号与该分析频段中的频率具有以下对应关系:
[0087]
[0088] 其中,I为至少两个音调频率子带中每个音调频率子带的编号,f为该分析频段中的一个频率。即此时可以先计算 再对 取对数。接下来,可以将获得的对数结果乘以6。将获得的对数结果乘以6之后获得的结果可能是一个小数。可以对该小数向下取整,进而获得I。其中,上述公式中的 为向下取整符号,[]为方括号。
[0089] 可以将第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值映射到30个音调频率子带上,并计算每个音频帧在各个音调频率子带上的平均谱能量。计算平均谱能量的目的是均值滤波,对频谱去噪。如图2所示,为一个音频帧的频谱幅值映射到30个音调频率子带上的示意图。在图2中,频率范围为110Hz~3520Hz,且显示了30个间隔相等的音调频率子带。每个音调频率子带内均包含多个离散的点,可以对每个音调频率子带内包含的多个离散的点所对应的多个能量值取平均值,获得该音调频率子带对应的平均谱能量。
[0090] 步骤103、根据每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量,确定每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带。
[0091] 在步骤103中,可以根据每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量,确定每个音频帧的平均谱能量峰值在至少两个音调频率子带中所属的目标音调频率子带。即可以根据每个音频帧在30个音调频率子带中每个音调频率子带上的平均谱能量,确定每个音频帧的平均谱能量峰值在30个音调频率子带中所属的目标音调频率子带。
[0092] 需要说明的是,对30个音调频率子带中每个音调频率子带内包含的多个离散的点所对应的多个能量值取平均值,获得该音调频率子带对应的平均谱能量之后,30个音调频率子带中每个音调频率子带内均存在一个平均谱能量值位置点。30个音调频率子带对应的30个平均谱能量值位置点中的极大值点即为平均谱能量峰值位置点。或者,将30个音调频率子带对应的30个平均谱能量值位置点连起来即为一段波形,则该波形的波峰即为平均谱能量峰值位置点。
[0093] 步骤104、根据所述每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带,生成所述至少两个音频帧的平均谱能量峰值位置点图像。
[0094] 在步骤104中,可以根据每个音频帧的平均谱能量峰值在至少两个音调频率子带中所属的目标音调频率子带,生成至少两个音频帧的平均谱能量峰值位置点图像。即可以根据每个音频帧的平均谱能量峰值在30个音调频率子带中所属的目标音调频率子带,生成至少两个音频帧的平均谱能量峰值位置点图像。如图3所示,为生成的至少两个音频帧的平均谱能量峰值位置点图像。在图3中,横轴代表时间,纵轴代表30个音调频率子带。图3中共画出了8个音频帧的平均谱能量峰值位置点,每个音频帧上的叉形标记表示该音频帧的平均谱能量峰值位置点。
[0095] 步骤105、利用分类器对所述平均谱能量峰值位置点图像中的平均谱能量峰值位置点进行量化,并根据量化结果获取所述至少两个音频帧中每个音频帧的音频指纹。
[0096] 在步骤105中,可以利用分类器对平均谱能量峰值位置点图像中的平均谱能量峰值位置点进行量化,并根据量化结果获取至少两个音频帧中每个音频帧的音频指纹。
[0097] 分类器可以有6种,如图4所示,为6种分类器的示意图。分别为(A)分类器、(B)分类器、(C)分类器、(D)分类器、(E)分类器和(F)分类器。分类器可以包含第一区域和第二区域。在图4中,第一区域可以为分类器的空白区域,第二区域可以为分类器的阴影区域。对于某一个分类器,可以将其应用到平均谱能量峰值位置点图像上,并且可以确定平均谱能量峰值位置点图像中位于该分类器的第一区域的平均谱能量峰值位置点的第一数量,即可以确定平均谱能量峰值位置点图像中位于该分类器的空白区域的平均谱能量峰值位置点的第一数量;以及确定平均谱能量峰值位置点图像中位于该分类器的第二区域的平均谱能量峰值位置点的第二数量,即确定平均谱能量峰值位置点图像中位于该分类器的阴影区域的平均谱能量峰值位置点的第二数量。接下来,可以计算第一数量与第二数量的差值。
[0098] 得到分类器的第一区域的平均谱能量峰值位置点的第一数量与分类器的第二区域的平均谱能量峰值位置点的第二数量的差值之后,可以根据差值的正负,量化成1个比特。例如,假设差值为t,则若t<0,比特值为0;若t≥0,比特值为1。
[0099] 假设将图4中的(B)分类器应用到平均谱能量峰值位置点图像上,(B)分类器此时共覆盖平均谱能量峰值位置点图像中的4个音频帧。如图5所示,为将图4中的(B)分类器应用到平均谱能量峰值位置点图像上的示意图。此时平均谱能量峰值位置点图像中位于(B)分类器的第一区域的平均谱能量峰值位置点的第一数量为4,即平均谱能量峰值位置点图像中位于(B)分类器的空白区域的平均谱能量峰值位置点的第一数量为4;且平均谱能量峰值位置点图像中位于(B)分类器的第二区域的平均谱能量峰值位置点的第二数量为3,即平均谱能量峰值位置点图像中位于(B)分类器的阴影区域的平均谱能量峰值位置点的第二数量为3。则(B)分类器的第一区域的平均谱能量峰值位置点的第一数量与(B)分类器的第二区域的平均谱能量峰值位置点的第二数量的差值为4-3=1。由于此时t=1>0,因此,对应的比特值为1。
[0100] 对于第一音频段,可以以16个音频帧为一个音频片段。例如,对于第一音频段的第1音频帧-第16音频帧,可以使用32个不同的分类器对这16个音频帧的平均谱能量峰值位置点进行区域分类量化,获得32bit的特征值,并将该32bit的特征值作为第1音频帧的音频指纹;对于第一音频段的第2音频帧-第17音频帧,可以使用32个不同的分类器对这16个音频帧的平均谱能量峰值位置点进行区域分类量化,获得32bit的特征值,并将该32bit的特征值作为第2音频帧的音频指纹;对于第一音频段的第3音频帧-第18音频帧,可以使用32个不同的分类器对这16个音频帧的平均谱能量峰值位置点进行区域分类量化,获得32bit的特征值,并将该32bit的特征值作为第3音频帧的音频指纹,以此类推。这样,就可以获得第一音频段中至少两个音频帧中每个音频帧的音频指纹。
[0101] 需要说明的是,对于每个包含16个音频帧的音频片段,例如,第1音频帧-第16音频帧这个音频片段;第2音频帧-第17音频帧这个音频片段;第3音频帧-第18音频帧这个音频片段,所使用的32个分类器是固定不变的。即对于每个包含16个音频帧的音频片段,32个分类器中每个分类器的覆盖区域范围、每个分类器所处的位置以及32个分类器的种类都是固定不变的。
[0102] 步骤106、确定第二音频段包含的至少两个音频帧中每个音频帧的音频指纹。
[0103] 在步骤106中,可以确定第二音频段包含的至少两个音频帧中每个音频帧的音频指纹。
[0104] 步骤107、根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,获取所述第一音频段中至少两个音频帧与所述第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值。
[0105] 在步骤107中,可以根据第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,获取第一音频段中至少两个音频帧与第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值。例如,可以根据第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,确定对齐偏移量。进而可以根据对齐偏移量,获取第一音频段中至少两个音频帧与第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值。
[0106] 步骤108、在所述平均值小于或者等于第一预设阈值的情况下,确定所述第一音频段与所述第二音频段相匹配。
[0107] 在步骤108中,在上述平均值小于或者等于第一预设阈值的情况下,可以确定第一音频段与第二音频段相匹配。其中,第一预设阈值可以为10bit。
[0108] 步骤109、在所述平均值大于所述第一预设阈值的情况下,确定所述第一音频段与所述第二音频段不匹配。
[0109] 在步骤109中,在上述平均值大于第一预设阈值的情况下,可以确定第一音频段与第二音频段不匹配。
[0110] 现有技术中,每帧音频指纹的信息长度在100~300bit左右,导致在存储和音频指纹匹配时要耗费较大的资源。
[0111] 而在本申请中,每帧音频指纹的信息长度取决于分类器数量,可固定表示为32bit,在存储和音频指纹匹配时资源耗费较少。
[0112] 本申请提供的音频指纹匹配方法,获取第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值;根据所述第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值,确定每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量;根据每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量,确定每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带;根据所述每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带,生成所述至少两个音频帧的平均谱能量峰值位置点图像;利用分类器对所述平均谱能量峰值位置点图像中的平均谱能量峰值位置点进行量化,并根据量化结果获取所述至少两个音频帧中每个音频帧的音频指纹;确定第二音频段包含的至少两个音频帧中每个音频帧的音频指纹;根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,获取所述第一音频段中至少两个音频帧与所述第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值;在所述平均值小于或者等于第一预设阈值的情况下,确定所述第一音频段与所述第二音频段相匹配;在所述平均值大于所述第一预设阈值的情况下,确定所述第一音频段与所述第二音频段不匹配。这样,可以生成至少两个音频帧的平均谱能量峰值位置点图像,并利用分类器对平均谱能量峰值位置点图像中的平均谱能量峰值位置点进行量化。然后,可以根据量化结果获取至少两个音频帧中每个音频帧的音频指纹。接下来,可以根据第一音频段中至少两个音频帧与第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值确定第一音频段与第二音频段是否匹配。每帧音频指纹的信息长度较小,需要耗费的资源较少。
[0113] 参见图6,图6是本申请提供的另一种音频指纹匹配方法的流程图。如图6所示,包括以下步骤:
[0114] 步骤601、获取第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值。
[0115] 在步骤601中,可以进行音频数据的时域-频域转换,可以获取第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值。
[0116] 需要说明的是,可以先对音频PCM数据进行分帧处理。分帧参数:帧大小2048,帧重叠1024。音频PCM数据的采样率可以为11.025KHz。接下来,可以对音频帧进行汉明加窗处理。然后,可以对音频帧进行快速傅立叶变换,将音频数据从时域变为频域,得到音频频谱。接下来,为防止频谱噪声影响,还可以将相邻5帧音频帧的频谱进行平滑处理。
[0117] 可选的,在所述根据所述第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值,确定每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量的步骤之前,所述方法还包括:
[0118] 确定所述第一音频段包含的至少两个音频帧中每个音频帧的目标频率段;
[0119] 将所述目标频率段转换为所述至少两个音调频率子带,其中,所述至少两个音调频率子带中每个音调频率子带的编号与所述目标频率段中的频率具有以下对应关系:
[0120]
[0121] 其中,I为所述至少两个音调频率子带中每个音调频率子带的编号,f为所述目标频率段中的一个频率, 为向下取整符号,[]为方括号。
[0122] 需要说明的是,由于人耳对频率的感知是非线性的,存在2倍频率关系的声音,具有相同的音调级。因此,可以将频率f映射为音调频率F,人耳对音调频率F的感知是线性的。其中,音调频率F与频率f的关系为F=log2f。可以确定第一音频段包含的至少两个音频帧中每个音频帧的目标频率段。由于人耳对110Hz~3520Hz这个频率范围的声音比较敏感,因此,可以取110Hz~3520Hz这个频率范围作为分析频段,即可以确定第一音频段包含的至少两个音频帧中每个音频帧的目标频率段为110Hz~3520Hz。可以将该目标频率段转换为至少两个音调频率子带。其中,至少两个音调频率子带中每个音调频率子带的编号与该目标频率段中的频率具有以下对应关系:
[0123]
[0124] 其中,I为至少两个音调频率子带中每个音调频率子带的编号,f为该目标频率段中的一个频率。即此时可以先计算 再对 取对数。接下来,可以将获得的对数结果乘以6。将获得的对数结果乘以6之后获得的结果可能是一个小数。可以对该小数向下取整,进而获得I。 为向下取整符号,[]为方括号。
[0125] 可选的,所述至少两个音调频率子带为30个音调频率子带。
[0126] 需要说明的是,至少两个音调频率子带可以为30个音调频率子带。
[0127] 步骤602、根据所述第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值,确定每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量。
[0128] 在步骤602中,可以根据第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值,确定每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量。
[0129] 可以将第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值映射到30个音调频率子带上,并计算每个音频帧在各个音调频率子带上的平均谱能量。计算平均谱能量的目的是均值滤波,对频谱去噪。仍以图2为例,在图2中,频率范围为110Hz~3520Hz,且显示了30个间隔相等的音调频率子带。每个音调频率子带内均包含多个离散的点,可以对每个音调频率子带内包含的多个离散的点所对应的多个能量值取平均值,获得该音调频率子带对应的平均谱能量。
[0130] 步骤603、根据每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量,确定每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带。
[0131] 在步骤603中,可以根据每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量,确定每个音频帧的平均谱能量峰值在至少两个音调频率子带中所属的目标音调频率子带。即可以根据每个音频帧在30个音调频率子带中每个音调频率子带上的平均谱能量,确定每个音频帧的平均谱能量峰值在30个音调频率子带中所属的目标音调频率子带。
[0132] 需要说明的是,对30个音调频率子带中每个音调频率子带内包含的多个离散的点所对应的多个能量值取平均值,获得该音调频率子带对应的平均谱能量之后,30个音调频率子带中每个音调频率子带内均存在一个平均谱能量值位置点。30个音调频率子带对应的30个平均谱能量值位置点中的极大值点即为平均谱能量峰值位置点。或者,将30个音调频率子带对应的30个平均谱能量值位置点连起来即为一段波形,则该波形的波峰即为平均谱能量峰值位置点。
[0133] 步骤604、根据所述每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带,生成所述至少两个音频帧的平均谱能量峰值位置点图像。
[0134] 在步骤604中,可以根据每个音频帧的平均谱能量峰值在至少两个音调频率子带中所属的目标音调频率子带,生成至少两个音频帧的平均谱能量峰值位置点图像。即可以根据每个音频帧的平均谱能量峰值在30个音调频率子带中所属的目标音调频率子带,生成至少两个音频帧的平均谱能量峰值位置点图像。仍以图3为例,在图3中,横轴代表时间,纵轴代表30个音调频率子带。图3中共画出了8个音频帧的平均谱能量峰值位置点,每个音频帧上的叉形标记表示该音频帧的平均谱能量峰值位置点。
[0135] 步骤605、利用分类器对所述平均谱能量峰值位置点图像中的平均谱能量峰值位置点进行量化,并根据量化结果获取所述至少两个音频帧中每个音频帧的音频指纹。
[0136] 在步骤605中,可以利用分类器对平均谱能量峰值位置点图像中的平均谱能量峰值位置点进行量化,并根据量化结果获取至少两个音频帧中每个音频帧的音频指纹。
[0137] 可选的,所述分类器包含第一区域和第二区域,所述利用分类器对所述平均谱能量峰值位置点图像中的平均谱能量峰值位置点进行量化,并根据量化结果获取所述至少两个音频帧中每个音频帧的音频指纹,包括:
[0138] 确定所述平均谱能量峰值位置点图像中位于所述分类器的第一区域的平均谱能量峰值位置点的第一数量;
[0139] 确定所述平均谱能量峰值位置点图像中位于所述分类器的第二区域的平均谱能量峰值位置点的第二数量;
[0140] 计算所述第一数量与所述第二数量的差值;
[0141] 根据所述差值获取所述至少两个音频帧中每个音频帧的音频指纹。
[0142] 分类器可以有6种,仍以图4为例,如图4所示,为6种分类器的示意图。分别为(A)分类器、(B)分类器、(C)分类器、(D)分类器、(E)分类器和(F)分类器。分类器可以包含第一区域和第二区域。在图4中,第一区域可以为分类器的空白区域,第二区域可以为分类器的阴影区域。对于某一个分类器,可以将其应用到平均谱能量峰值位置点图像上,并且可以确定平均谱能量峰值位置点图像中位于该分类器的第一区域的平均谱能量峰值位置点的第一数量,即可以确定平均谱能量峰值位置点图像中位于该分类器的空白区域的平均谱能量峰值位置点的第一数量;以及确定平均谱能量峰值位置点图像中位于该分类器的第二区域的平均谱能量峰值位置点的第二数量,即确定平均谱能量峰值位置点图像中位于该分类器的阴影区域的平均谱能量峰值位置点的第二数量。接下来,可以计算第一数量与第二数量的差值。
[0143] 得到分类器的第一区域的平均谱能量峰值位置点的第一数量与分类器的第二区域的平均谱能量峰值位置点的第二数量的差值之后,可以根据差值的正负,量化成1个比特。例如,假设差值为t,则若t<0,比特值为0;若t≥0,比特值为1。
[0144] 假设将图4中的(B)分类器应用到平均谱能量峰值位置点图像上,(B)分类器此时共覆盖平均谱能量峰值位置点图像中的4个音频帧。如图5所示,为将图4中的(B)分类器应用到平均谱能量峰值位置点图像上的示意图。此时平均谱能量峰值位置点图像中位于(B)分类器的第一区域的平均谱能量峰值位置点的第一数量为4,即平均谱能量峰值位置点图像中位于(B)分类器的空白区域的平均谱能量峰值位置点的第一数量为4;且平均谱能量峰值位置点图像中位于(B)分类器的第二区域的平均谱能量峰值位置点的第二数量为3,即平均谱能量峰值位置点图像中位于(B)分类器的阴影区域的平均谱能量峰值位置点的第二数量为3。则(B)分类器的第一区域的平均谱能量峰值位置点的第一数量与(B)分类器的第二区域的平均谱能量峰值位置点的第二数量的差值为4-3=1。由于此时t=1>0,因此,对应的比特值为1。
[0145] 对于第一音频段,可以以16个音频帧为一个音频片段。例如,对于第一音频段的第1音频帧-第16音频帧,可以使用32个不同的分类器对这16个音频帧的平均谱能量峰值位置点进行区域分类量化,获得32bit的特征值,并将该32bit的特征值作为第1音频帧的音频指纹;对于第一音频段的第2音频帧-第17音频帧,可以使用32个不同的分类器对这16个音频帧的平均谱能量峰值位置点进行区域分类量化,获得32bit的特征值,并将该32bit的特征值作为第2音频帧的音频指纹;对于第一音频段的第3音频帧-第18音频帧,可以使用32个不同的分类器对这16个音频帧的平均谱能量峰值位置点进行区域分类量化,获得32bit的特征值,并将该32bit的特征值作为第3音频帧的音频指纹,以此类推。这样,就可以获得第一音频段中至少两个音频帧中每个音频帧的音频指纹。
[0146] 需要说明的是,对于每个包含16个音频帧的音频片段,例如,第1音频帧-第16音频帧这个音频片段;第2音频帧-第17音频帧这个音频片段;第3音频帧-第18音频帧这个音频片段,所使用的32个分类器是固定不变的。即对于每个包含16个音频帧的音频片段,32个分类器中每个分类器的覆盖区域范围、每个分类器所处的位置以及32个分类器的种类都是固定不变的。
[0147] 步骤606、确定第二音频段包含的至少两个音频帧中每个音频帧的音频指纹。
[0148] 在步骤606中,可以确定第二音频段包含的至少两个音频帧中每个音频帧的音频指纹。
[0149] 步骤607、根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,确定对齐偏移量。
[0150] 在步骤607中,可以根据第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,确定对齐偏移量。
[0151] 可选的,所述根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,确定对齐偏移量,包括:
[0152] 确定所述第一音频段包含的至少两个音频帧与所述第二音频段包含的至少两个音频帧中具有相似指纹的音频帧对,其中,具有相似指纹的音频帧对中的两个音频帧的指纹距离小于第二预设阈值;
[0153] 计算所述具有相似指纹的音频帧对中第一音频帧与第二音频帧的帧时间差,其中,所述第一音频帧属于所述第一音频段,所述第二音频帧属于所述第二音频段;
[0154] 获取具有同一帧时间差的音频帧对;
[0155] 在具有目标帧时间差的音频帧对的数量最多且该数量大于第三预设阈值的情况下,确定所述目标帧时间差为所述对齐偏移量。
[0156] 可以确定第一音频段包含的至少两个音频帧与第二音频段包含的至少两个音频帧中具有相似指纹的音频帧对。其中,具有相似指纹的音频帧对中的两个音频帧的指纹距离小于第二预设阈值。指纹距离是指两个音频帧各自具有的32bit特征值中的不同比特数,即是指两个音频帧各自具有的音频指纹之间的不同比特数,或称“误码”比特数。且在进行比较时,要将两个音频帧各自具有的32bit特征值中对应位置处的比特值进行比较。例如,假设一个音频帧的音频指纹为00000000000000001111111111111111;另一个音频帧的音频指纹为01010101010101010101010101010101。计算这两个音频帧的指纹距离时,要将对应位置处的比特值进行比较。这样,这两个音频帧的指纹距离即为16bit。相似指纹是指两个音频帧的指纹距离小于第二预设阈值,该第二预设阈值可以为10bit。
[0157] 接下来。可以计算具有相似指纹的音频帧对中第一音频帧与第二音频帧的帧时间差。其中,第一音频帧属于第一音频段,第二音频帧属于第二音频段。例如,假设第一音频段中的第1音频帧的音频指纹与第二音频段中的第3音频帧的音频指纹是相似指纹,则第一音频段中的第1音频帧与第二音频段中的第3音频帧的帧时间差为2;假设第一音频段中的第4音频帧的音频指纹与第二音频段中的第1音频帧的音频指纹是相似指纹,则第一音频段中的第4音频帧与第二音频段中的第1音频帧的帧时间差为-3。
[0158] 然后,可以获取具有同一帧时间差的音频帧对。例如,帧时间差为-3的具有相似指纹的音频帧对可能存在3对;帧时间差为-2的具有相似指纹的音频帧对可能存在5对;帧时间差为-1的具有相似指纹的音频帧对可能存在8对;帧时间差为0的具有相似指纹的音频帧对可能存在7对;帧时间差为1的具有相似指纹的音频帧对可能存在25对;帧时间差为2的具有相似指纹的音频帧对可能存在7对;帧时间差为3的具有相似指纹的音频帧对可能存在4对等等。如图7所示,为相似指纹帧对按帧时间差统计直方图。
[0159] 在具有目标帧时间差的音频帧对的数量最多且该数量大于第三预设阈值的情况下,可以确定目标帧时间差为对齐偏移量。该第三预设阈值可以为20对。例如,由于具有目标帧时间差1的音频帧对的数量最多且该数量25大于第三预设阈值20,因此,可以确定目标帧时间差1为对齐偏移量。
[0160] 步骤608、根据所述对齐偏移量,获取所述第一音频段中至少两个音频帧与所述第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值。
[0161] 在步骤608中,可以根据上述对齐偏移量,获取第一音频段中至少两个音频帧与第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值。如图8所示,为将第一音频段中至少两个音频帧与第二音频段中至少两个音频帧进行匹配的示意图。在图8中,由于对齐偏移量为1,因此,可以计算第一音频段中第2个音频帧与第二音频段中第3个音频帧的指纹距离,即可以计算第一音频段中第1音频帧与第二音频段中第1.音频帧的指纹距离;可以计算第一音频段中第3个音频帧与第二音频段中第4个音频帧的指纹距离,即可以计算第一音频段中第2音频帧与第二音频段中第2.音频帧的指纹距离;可以计算第一音频段中第5个音频帧与第二音频段中第6个音频帧的指纹距离,即可以计算第一音频段中第4音频帧与第二.音频段中第4音频帧的指纹距离等等。然后,可以获取计算出的多个指纹距离的平均值。
[0162] 需要说明的是,在获取第一音频段中至少两个音频帧与第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值时,可以仅获取32对音频帧对中每个音频帧对所包含的两个音频帧的指纹距离,即可以获得32个指纹距离。进而可以计算这32个指纹距离的平均值。无需计算第一音频段和第二音频段对应的所有音频帧对的指纹距离的平均值。
[0163] 步骤609、在所述平均值小于或者等于第一预设阈值的情况下,确定所述第一音频段与所述第二音频段相匹配。
[0164] 在步骤609中,在上述平均值小于或者等于第一预设阈值的情况下,可以确定第一音频段与第二音频段相匹配。其中,第一预设阈值可以为10bit。
[0165] 步骤6010、在所述平均值大于所述第一预设阈值的情况下,确定所述第一音频段与所述第二音频段不匹配。
[0166] 在步骤6010中,在上述平均值大于第一预设阈值的情况下,可以确定第一音频段与第二音频段不匹配。
[0167] 本申请的音频指纹匹配方法,可用于音频比对、音频库检索、音乐识别和音频内容监测等应用场景。针对音频库检索和音频内容监测等场景,在本申请的音频指纹匹配方法的基础上,可以预先生成源音频指纹样本库。在进行匹配时,可以生成目标音频指纹。然后可以用目标音频指纹在源音频指纹样本库中进行匹配搜索。
[0168] 需要说明的是,现有技术中,每帧音频指纹的信息长度在100~300bit左右,导致在存储和音频指纹匹配时要耗费较大的资源。而在本申请中,每帧音频指纹的信息长度取决于分类器数量,可固定表示为32bit,在存储和音频指纹匹配时资源耗费较少。
[0169] 且在本申请中,采用对音频频谱失真或噪声具有较好鲁棒性的“频谱峰值位置”作为特征,基于此提取的音频指纹具有识别鲁棒性优势。
[0170] 参见图9,图9是本申请提供的一种音频指纹匹配装置的结构图。如图9所示,音频指纹匹配装置900包括第一获取模块901、第一确定模块902、第二确定模块903、生成模块904、第二获取模块905、第三确定模块906、第三获取模块907、第四确定模块908和第五确定模块909,其中:
[0171] 第一获取模块901,用于获取第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值;
[0172] 第一确定模块902,用于根据所述第一音频段包含的至少两个音频帧中每个音频帧的频谱幅值,确定每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量;
[0173] 第二确定模块903,用于根据每个音频帧在至少两个音调频率子带中每个音调频率子带上的平均谱能量,确定每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带;
[0174] 生成模块904,用于根据所述每个音频帧的平均谱能量峰值在所述至少两个音调频率子带中所属的目标音调频率子带,生成所述至少两个音频帧的平均谱能量峰值位置点图像;
[0175] 第二获取模块905,用于利用分类器对所述平均谱能量峰值位置点图像中的平均谱能量峰值位置点进行量化,并根据量化结果获取所述至少两个音频帧中每个音频帧的音频指纹;
[0176] 第三确定模块906,用于确定第二音频段包含的至少两个音频帧中每个音频帧的音频指纹;
[0177] 第三获取模块907,用于根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,获取所述第一音频段中至少两个音频帧与所述第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值;
[0178] 第四确定模块908,用于在所述平均值小于或者等于第一预设阈值的情况下,确定所述第一音频段与所述第二音频段相匹配;
[0179] 第五确定模块909,用于在所述平均值大于所述第一预设阈值的情况下,确定所述第一音频段与所述第二音频段不匹配。
[0180] 可选的,如图10所示,所述第三获取模块907包括:
[0181] 第一确定子模块9071,用于根据所述第一音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间以及所述第二音频段包含的至少两个音频帧中每个音频帧的音频指纹和帧时间,确定对齐偏移量;
[0182] 第一获取子模块9072,用于根据所述对齐偏移量,获取所述第一音频段中至少两个音频帧与所述第二音频段中至少两个音频帧对应音频帧的指纹距离的平均值。
[0183] 可选的,如图11所示,所述第一确定子模块9071包括:
[0184] 第一确定单元90711,用于确定所述第一音频段包含的至少两个音频帧与所述第二音频段包含的至少两个音频帧中具有相似指纹的音频帧对,其中,具有相似指纹的音频帧对中的两个音频帧的指纹距离小于第二预设阈值;
[0185] 计算单元90712,用于计算所述具有相似指纹的音频帧对中第一音频帧与第二音频帧的帧时间差,其中,所述第一音频帧属于所述第一音频段,所述第二音频帧属于所述第二音频段;
[0186] 获取单元90713,用于获取具有同一帧时间差的音频帧对;
[0187] 第二确定单元90714,用于在具有目标帧时间差的音频帧对的数量最多且该数量大于第三预设阈值的情况下,确定所述目标帧时间差为所述对齐偏移量。
[0188] 可选的,如图12所示,所述分类器包含第一区域和第二区域,所述第二获取模块905包括:
[0189] 第二确定子模块9051,用于确定所述平均谱能量峰值位置点图像中位于所述分类器的第一区域的平均谱能量峰值位置点的第一数量;
[0190] 第三确定子模块9052,用于确定所述平均谱能量峰值位置点图像中位于所述分类器的第二区域的平均谱能量峰值位置点的第二数量;
[0191] 计算子模块9053,用于计算所述第一数量与所述第二数量的差值;
[0192] 第二获取子模块9054,用于根据所述差值获取所述至少两个音频帧中每个音频帧的音频指纹。
[0193] 可选的,如图13所示,所述音频指纹匹配装置还包括:
[0194] 第六确定模块9010,用于确定所述第一音频段包含的至少两个音频帧中每个音频帧的目标频率段;
[0195] 转换模块9011,用于将所述目标频率段转换为所述至少两个音调频率子带,其中,所述至少两个音调频率子带中每个音调频率子带的编号与所述目标频率段中的频率具有以下对应关系:
[0196]
[0197] 其中,I为所述至少两个音调频率子带中每个音调频率子带的编号,f为所述目标频率段中的一个频率, 为向下取整符号,[]为方括号。
[0198] 可选的,所述至少两个音调频率子带为30个音调频率子带。
[0199] 音频指纹匹配装置900能够实现图1和图6的方法实施例中音频指纹匹配装置实现的各个过程,为避免重复,这里不再赘述。且音频指纹匹配装置900可以实现生成至少两个音频帧的平均谱能量峰值位置点图像,并利用分类器对平均谱能量峰值位置点图像中的平均谱能量峰值位置点进行量化。然后,可以根据量化结果获取至少两个音频帧中每个音频帧的音频指纹。每帧音频指纹的信息长度较小,需要耗费的资源较少。并且可以基于两个音频段中每个音频段所包含的音频帧的音频指纹判断两个音频段是否匹配。基于频谱峰值位置,且采用分类器量化和生成音频指纹。对频谱失真或扰动,具有识别鲁棒性优势。
[0200] 本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。