一种基于感知滤波的音频实时比对方法
技术领域
本发明属于数字音频处理技术领域,涉及对两音频信号进行比较的方法,具体为一种基于感知滤波的音频实时比对方法,该方法可应用于广播音频的实时比对。
背景技术
当前,音频广播已成为最为普及的大众宣传和娱乐媒体。广播电台的节目播出及媒体资源管理等都涉及到音频比对方面的需求,即对两个音频进行比较,判断二者是否相同或相似。例如在节目监播中,需要对实际发射播出的音频信号进行在线实时接收和查询,涉及到将接听到的音频流与欲播出的原音频进行比对,从而判断整个开环播出通路是否正常;又如在广告统计管理中,也需要对每日播出记录与原广告音频进行比对查找,统计各广告实际播出的时间和次数,从而判断广告播出是否存在漏播、多播或错播等情况。
音频比对一般包括音频提取特征和特征匹配两个环节。特征提取是用代表原始信号的结构化数据来表达音频信号。常用的音频特征主要可以分为两大类:声学级特征和语义级特征。声学特征是音频信号本身的特征(如时频域特征),是其它类型音频特征的基础。常用的声学特征主要包括梅尔倒谱系数(MFCC)、基音频率、短时能量、过零率、LPC等等;语义级特征则是对音频的概念级描述,它是在声学级特征的基础上,通过模型化处理,抽取出来的更高级的感知特征,如音乐的旋律、音色和叙事感情等等。在提取特征之后,特征匹配环节则是通过计算提取的两音频特征之间的距离来判断两音频是否相同或相似。该过程相对简单,常用的特征距离有标准欧几里德距离、曼哈顿距离、汉明距离等等。
传统的音频比对方法针对普通音频的比对,一般不太适用于广播音频,其原因主要有如下两个方面:一方面,在比对容错性上,众多音频特征皆以准确描述音频为目标,追求高的内容辨识度,故音频的细微变化,均能反应在特征上。这样,如果音频受到噪声干扰,或经过一些常规音效处理,如均衡(EQ)调节,再将处理后的音频与原音频进行比较,传统比对方法往往判断两音频不相似甚至完全不同,而噪声干扰、音效处理等在广播中是很常见的。如在广播监测中,我们需要将播出原音频与接听到的音频进行比对,而接听到的音频并非如原音频一般纯净,常常含有噪声;又如为了达到更好的播出主观收听效果,在广播发射前,通常使用音频均衡器来对播出音频的频谱进行调节。这些处理,使得被处理音频相对于原音频发生了较大的变化。在这种情况下,传统的比对方法往往不能适用,因为广播音频比对需要判定播出的音频内容本身是否相同,而非听觉效果上是否一致,即某音频即使在受到一定噪声干扰、频谱调节等处理后,算法仍应该判定该音频与其原音频是相似的(或互为相似音频)。虽然文献中也出现了对音频变化不敏感的比对方法,如基于Philips音频指纹的比对方法,但这些方法中,处理前后两音频间的距离与真正完全不同的两音频间的距离相差不大,故判别上容易混淆,尤其是在强噪声干扰或音频处理的变化幅度较大时,会出现判别错误;另一方面,在比对的计算效率上,现有方法的计算复杂度相对较高,比对所需的时间相对较长,不利于实时处理。
发明内容
本发明的目的在于针对背景技术存在的问题,采用新的音频提取特征和特征匹配方法,提供一种适合广播音频的比对方法。
本发明的技术方案是:一种基于感知滤波的音频实时比对方法,包括以下步骤:
S1.滤波器组设计:设定低频段的频率范围为0~F1,采用n个带宽相同的三角带通滤波器;中频段的频率范围为F1~F2,采用一组m个带宽依次递增的三角带通滤波器;fl i,fc i,fh i分别表示第i个滤波器的上截止频率、中心频率和下截止频率,1≤i≤k,k=m+n,即k为0~F2频率范围内滤波器的总个数,
S11.低频段设计:设处于低频段的第i个滤波器的中心频率为i×F1/n,相邻滤波器的截止频率满足fc i=fl i+1,fh i=fc i+1,设置各滤波器中心频率处的滤波系数为1;
S12.中频段设计:设处于中频段的第i个滤波器的上截止频率为fl i,其中fl n+1=F1,计算第i个三角带通滤波器的中心频率fc i:
其中
A=12.46×10-6fl i-9912.78×10-4,B=186.78×10-3fl i-1269.25,计算第i个三角带通滤波器的下截止频率fh i:
fh i=fl i+12.46×10-6fc i+186.78×10-3fc i+57.04 (2)
对处于中频段的第i+1个滤波器,使其上截止频率等于第i个滤波器的中心频率,即fl i+1=fc i,且按(1)和(2)式依次计算其中心频率fc i+1和下截止频率fh i+1;当上截止频率超过F2时终止,设置各滤波器中心频率处的滤波系数为1;
S13.高频段设计:对于高于F2频段,滤波器系数设为全0;
S14.滤波系数调整:设Ci代表第i个滤波器的滤波系数矢量,对各滤波器系数矢量进行如下调整:
Ci=μi·Ci,1≤i≤k (3)
其中μi为第i个滤波器的调整系数,可通过下式计算:
S2.特征提取:对待比对的两个音频,分别进行如下操作:
S21.音频数据分帧:将音频数据按固定长度划分为各音频帧,相邻帧间有重叠;将每一帧数据排列成一列矢量,并将矢量中各元素除以列矢量中元素绝对值的最大值进行归一化,将归一化处理后的帧数据保存在数据矩阵A中;设总的音频帧数目为M,则A=[a1,a2,a3,...,aM],其中A的每一列aj表示第j帧的数据;
S22.读取音频帧:取一帧音频aj;设定初始值为0的帧计数器,每取一音频帧,帧计数器加1;
S23.计算音频帧功率谱:对音频帧aj的数据进行加窗处理,进行短时傅里叶变换,得到音频帧的频谱;对频谱幅度值求平方得到功率谱;
S24.计算音频帧特征:用步骤S1设计出的滤波器组(k个滤波器)对上步得到的功率信号进行滤波处理;对每个滤波器,将其滤波输出的信号进行求和,得到该滤波器的输出能量;将k个滤波器的输出能量数据排列成一列矢量,该矢量即为该帧信号的特征矢量,记为vj;
S25.若帧计数器的当前计数值小于M,则转至步骤S22;
S26.生成音频特征:将各音频帧的特征矢量vj排列成一矩阵V=[v1,v2,v3,...,vM],该矩阵即为当前音频信号的特征矩阵;
S3.特征匹配:
设待比对的两个音频信号的特征矩阵分别为V1和V2,将V1和V2的对应元素进行比较,若两个元素的值都大于设定的阈值Tp(10≤Tp≤100),则记两个元素的距离为0;否则,计算两个元素的值差的平方,作为其距离;对所有对应元素对的距离进行平均,将该平均值作为待比对的两个音频信号的距离,记为d;
S4.相似度判定:将待比对两个音频信号的距离d除以单位距离得到相对距离比,若该距离比小于设定的阈值Td(0.3≤Td≤0.5),则判定两个音频信号相似,否则不相似。
本发明的有益效果:本发明提供一种音频实时比对方法,该方法具有较高的比对容错性,在音频受到噪声干扰,或进行了音效处理的等情况下均能实现正确的比对;同时,该方法算法简单、处理快速,能够广泛应用于广播电台的节目监播、广告监测和管理等。
附图说明:
图1为EQ处理均衡器设置图,其中,(a)为流行风格均衡器设置、(b)为摇滚风格均衡器设置、(c)为经典风格均衡器设置。
图2为滤波器组频率响应图。
图3为特征提取过程流程图。
图4为音频比对流程图。
具体实施方式
仿真实验共选择了16个音频作为测试音频。其中前6个音频为未经处理的原广播音频,均为单声道,48k采样率,包含广告、乐曲和歌曲各两个,其具体信息如表1描述;后10个音频对歌曲1作均衡(EQ)、压缩、加噪等处理得到的音频,其音频具体信息如表2描述,EQ处理的均衡器设置如图1所示。
表1原测试音频信息
音频命名 |
内容来源 |
时长(秒) |
广告1 |
蓝光整合广告 |
16.056 |
广告2 |
宝中旅游大理广告 |
16.488 |
乐曲1 |
出埃及记 |
30.000 |
乐曲2 |
英雄的黎明 |
30.000 |
歌曲1 |
最炫民族风 |
30.000 |
歌曲2 |
小苹果 |
30.000 |
表2歌曲1处理后的各音频信息
本实施例以“歌曲1”及对其进行pop风格均衡处理后的“歌曲1-pop”这对音频为例,对其进行比对,具体步骤如下:
S1.滤波器设计:
S11.低频段设计:设定低频段的频率范围为0~1000Hz;在低频段采用8个带宽相同的三角带通滤波器;设fl i,fc i,fh i分别表示第i个滤波器的上截止频率,中心频率和下截止频率,则处于低频段第i个滤波器的中心频率为i×125,相邻滤波器的截止频率满足fc i=fl i+1,fh i=fc i+1。设置各滤波器中心频率处的滤波系数为1;低频段各滤波器的上截止频率,中心频率和下截止频率如表1所示:
表1低频段滤波器组参数
S12.中频段设计:设定中频段的频率范围为1000~2000Hz;在中频段采用一组6个带宽依次递增的三角带通滤波器;设处于中频段的第i个三角带通滤波器的上截止频率为fl i,其中,fl 9=1000Hz,计算第i个三角带通滤波器的中心频率fc i:
其中
A=12.46×10-6fl i-9912.78×10-4,B=186.78×10-3fl i-1269.25,计算第i个三角带通滤波器的下截止频率fh i:
fh i=fl i+12.46×10-6fc i+186.78×10-3fc i+57.04 (2)
对处于中频段的第i+1个滤波器,使其上截止频率等于第i个滤波器的中心频率,即fl i+1=fc i,且按(1)和(2)式依次计算其中心频率fc i+1和下截止频率fh i+1;当上截止频率超过2000Hz时终止。设置各滤波器中心频率处的滤波系数为1;中频段各滤波器的上截止频率,中心频率和下截止频率如表2所示:
表2中频段滤波器组参数
S13.高频段设计:对于高于2000Hz频段,滤波器系数设为全0;
S14.滤波系数调整:设Ci代表第i个滤波器的滤波系数矢量,0~2000Hz频率范围内滤波器组的个数k=14对各滤波器系数矢量进行如下调整:
Ci=μi·Ci,1≤i≤14 (3)
其中,μi(1≤i≤14)分别为0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.6,0.7,0.8,0.9,1;调整后的滤波器组频率响应如附图2所示;
S2.特征提取:对待比对的两个音频,分别进行如下操作:
S21.音频数据分帧:对两段音频做同样的处理,将音频数据按1152个采样点的长度等分为各音频帧,相邻帧间有半帧长度的重叠;将每一帧数据排列成一列矢量,并将矢量中各元素除以列矢量中元素绝对值的最大值进行归一化,将归一化处理后的帧数据保存在数据矩阵A中;其总帧数为2499帧,则A=[a1,a2,a3,...,a2499],其中A的每一列aj表示第j帧的数据;下面以第1000帧为例进行说明;
S23.计算音频帧功率谱:对和分别进行加窗处理,进行短时傅里叶变换,得到音频帧的频谱;对频谱幅度值求平方得到功率谱;
S25.帧计数器的当前计数值为1000小于2499,转至步骤S22;
S26.生成音频特征:将各音频帧的特征矢量vj排列成一矩阵V=[v1,v2,v3,...,v2499],该矩阵即为当前音频信号的特征矩阵;音频1和音频2的特征矩阵分别记为V1和V2;
S3.特征匹配:
将V1和V2的对应元素进行比较,设定阈值Tp=50,若两个元素的值都大于Tp,则记两个元素的距离为0;否则,计算两个元素的值差的平方,作为其距离;对所有对应元素对的距离进行平均,得到平均距离d=20509.25,将其作为两音频信号的距离;
S4.相似度判定:将两个音频信号距离d除以单位距离14333982.94,得到相对距离比0.001431,由于该距离比小于设定的阈值Td=0.4,故判定两个音频信号相似。
下面分别从比对效果和比对速度两方面来进行性能评估,将本发明方法与传统基于MFCC音频特征、基于Philips音频指纹的两种比对方法进行比较。基于MFCC音频特征的比对方法是提取MFCC特征,然后用欧式距离来进行特征匹配,基于Philips音频指纹的比对方法是提取Philips音频指纹特征,然后用汉明距离来进行特征匹配。
1.比对效果
1)不同音频间的比对
在原始的测试音频中,将歌曲1与其他5个音频进行比对,其得到的距离结果如表3所示。在本发明方法、MFCC方法和Philips方法的结果中,都以歌曲1与乐曲1的比对距离作为单位距离进行计算。
表3歌曲1与其他不同音频之间的比对距离
比对音频 |
MFCC方法 |
Philips方法 |
本发明方法 |
歌曲1与乐曲1 |
1.000000 |
1.000000 |
1.000000 |
歌曲1与乐曲2 |
1.938763 |
1.015305 |
1.308266 |
歌曲1与广告1 |
0.885661 |
0.993323 |
1.756722 |
歌曲1与广告2 |
1.146706 |
1.007327 |
2.732262 |
歌曲1与歌曲2 |
0.706841 |
1.011026 |
1.032998 |
可以看到,在不同音频间进行比对时,三种方法差别不大。本发明方法得到的距离值都大于设定的阈值Td=0.4,故正确判定测试音频对的音频均互不相似。
2)相似音频间的比对
将歌曲1分别与其经过EQ、压缩和加噪处理后的各音频进行比对,得到的距离结果如表4所示。
表4歌曲1与其相似音频之间的比对距离
比对音频 |
MFCC方法 |
Philips方法 |
本发明方法 |
歌曲1与歌曲1-pop |
0.16660 |
0.14068 |
0.001431 |
歌曲1与歌曲1-rock |
0.25647 |
0.27612 |
0.003887 |
歌曲1与歌曲1-classical |
0.22612 |
0.36417 |
0.003127 |
歌曲1与歌曲1-转32MP3 |
2.48960 |
0.13995 |
0.000047 |
歌曲1与歌曲1-转64MP3 |
0.06516 |
0.08195 |
0.000009 |
歌曲1与歌曲1转128MP3 |
0.00105 |
0.02538 |
0.000001 |
歌曲1与歌曲1-转256MP3 |
0.00002 |
0.00412 |
0.000000 |
歌曲1与歌曲1-SNR-5 |
1.13558 |
0.59127 |
0.071110 |
歌曲1与歌曲1-SNR0 |
0.92927 |
0.42379 |
0.017506 |
歌曲1与歌曲1-SNR5 |
0.70901 |
0.26895 |
0.003107 |
可以看到,在相似音频间进行比对时,即使在音频经过一定处理后,本发明方法得到的距离值都远小于设定的阈值Td=0.4,因而正确判定测试音频对的音频均互为相似音频;另外,对比表3的结果我们看到,本发明方法得到的相似音频间的距离都远小于不同音频间的距离,这意味着本发明方法对相似音频具有很高的音频识别性能。相对而言,MFCC和Philips方法得到的距离更接近于1,即不容易区分相似音频和不同音频。特别地,在对歌曲1与歌曲1-转32MP3音频的比对中,由于压缩失真较大,MFCC方法的距离已经超过1,Philips方法的距离也超过0.1,而本发明方法距离非常小;同样,在被强噪声污染的情况下,如当SNR=0(噪声强度等于信号强度)或SNR=-5(噪声强度超过信号强度)时,MFCC方法和Philips两方法都基本失效,而本发明方法仍然能比对正确。
2.比对速度
下面对本发明方案的运行速度进行评估。测试的程序均是由MATLAB编写,测试机器为Intel(R)i3处理器,主频为2.53GHz,内存为4GB。测试结果如表5所示。
表5音频比对时间(单位:秒)
比对音频 |
MFCC方法 |
Philips方法 |
本发明方法 |
歌曲1与歌曲1-pop |
22.31 |
3.14 |
2.08 |
可以看到,本发明方法的比对速度明显快于MFCC和Philips方法,耗时约为MFCC的9.32%,约为Philips的66.24%。对30秒时长的音频数据,本发明方法用2.08秒完成比对,其处理的实时速度比(音频总时间/处理时间)达14.42倍,因而程序能够对不断输入的音频流实时地进行比对;另外本次测试仿真程序采用MATLAB编写,如将程序改用C语言编写,其处理速度还能进一步提高。综上所述,本发明方法完全能够满足实时应用的需求。