CN103811011A - 音频弦波检测方法和装置 - Google Patents
音频弦波检测方法和装置 Download PDFInfo
- Publication number
- CN103811011A CN103811011A CN201210452082.4A CN201210452082A CN103811011A CN 103811011 A CN103811011 A CN 103811011A CN 201210452082 A CN201210452082 A CN 201210452082A CN 103811011 A CN103811011 A CN 103811011A
- Authority
- CN
- China
- Prior art keywords
- ripple
- frame
- criterion
- string
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
提供了一种新颖的音频弦波检测方法和装置。该音频弦波检测方法用于检测待编码的音频帧是否为弦波帧,并且包括:在音频帧中检测符合预定条件的信号波;如果通过预定数目的检测循环检测到了符合预定条件的信号波,则判断音频帧是弦波帧;如果通过预定数目的检测循环没有检测到符合预定条件的信号波,则判断音频帧不是弦波帧。
Description
技术领域
本发明涉及音频信号处理领域,更具体地涉及一种音频弦波检测方法和装置。
背景技术
一般来说,音频信号是指频率在20Hz~20kHz的声音信号。人们日常生活中听到的各种声音信号都是连续信号,它不仅在时间上连续,而且在幅度上也连续。这种处于连续信号状态的声音信号被称为模拟音频信号。模拟音频信号只能用磁带或胶木唱片来存储。这种存储方式有很多弊端,例如易损、占地大、成本高、难以重复利用等。更重要的是,这种存储方式难以实现声音信号的长期保存,且难以查找和共享声音信号。
随着计算机技术的发展,高速宽带计算机网络以及大容量数据存储系统给声音信号的网络化存储、查询、共享、和交流提供了可能。由于计算机只能对二进制数据进行处理,所以在使用计算机对声音信号进行处理之前必须通过包括采样、量化等处理的模数转换(A/D)过程将模拟音频信号转换为数字音频信号。
数字音频信号的质量主要取决于采样率和量化因子这两个参数。为了使用数字音频信号恢复得到尽可能逼真的声音,在通过模数转换过程获取数字音频信号的过程中,需要采用尽可能大的采样率和量化因子。然而,大采样率和量化因子会导致数字音频信号的数据量巨大,从而导致存储数字音频信号所需的存储容量以及传输数字音频信号所需的信道带宽很大。
数字音频信号的出现是为了满足对声音信号的存储、查询、共享、和交流等需求,但是数字音频信号的巨大数据量给计算机网络的存储容量和传输带宽带来了巨大压力。所以,需要对数字音频信号进行压缩编码。
目前,存在诸如MP3、音视频编码标准(AVS)、无损音频编码(FLAC)、高级音频编码(AAC)之类的多种音频压缩编码算法。在这些音频压缩编码算法中,都是以帧为单位来实现对于数字视频信号的压缩编码的。
在利用上述音频压缩编码算法对数字音频信号(下面,为了简单,将数字音频信号简称为音频信号)进行编码的过程中,在对当前待编码的音频帧进行压缩编码之前通常需要判断该音频帧是否为包括一个或多个弦波的弦波帧。这里的弦波帧可以是仅包括正弦波的弦波帧、仅包括余弦波的弦波帧、或者既包括正弦波也包括余弦波的弦波帧。如果当前待编码的音频帧为弦波帧,则在压缩编码过程中需要对该音频帧进行特殊处理,以提高编码效率。
为了快速判断音频帧是否为弦波帧,需要一种适合音频压缩编码算法的高效弦波检测方法。弦波检测被广泛应用在各行各业,也存在很多弦波检测方法,其中应用最广泛的是在频域实现的弦波检测方法。通常,在对当前待编码的音频帧进行弦波检测之前时,需要首先对音频信号进行诸如快速傅里叶变换(FFT)之类的时频变换,以将音频信号从时域变换到频域。但是,FFT变换等常见的时频变换需要巨大的计算量,如果直接将诸如FFT变换之类的时频变换应用在音频压缩编码算法中,必定会极大的增加音频压缩编码算法的运算复杂度。
发明内容
鉴于以上所述的一个或多个问题,本发明提供了一种新颖的音频弦波检测方法和装置。
根据本发明实施例的音频弦波检测方法用于检测待编码的音频帧是否为弦波帧,并且包括:在音频帧中检测符合预定条件的信号波;如果通过预定数目的检测循环检测到了符合预定条件的信号波,则判断音频帧是弦波帧;如果通过预定数目的检测循环没有检测到符合预定条件的信号波,则判断音频帧不是弦波帧。
根据本发明实施例的音频弦波检测装置用于检测待编码的音频帧是否为弦波帧,并且包括:信号波检测单元,用于在音频帧中检测符合预定条件的信号波;弦波帧判断单元,用于在信号波检测单元通过预定数目的检测循环检测到了符合预定条件的信号波的情况下判断音频帧是弦波帧,并且在信号波检测单元通过预定数目的检测循环没有检测到符合预定条件的信号波的情况下判断音频帧不是弦波帧。
通过本发明,无需复杂处理,即可迅速判断出一个音频帧是否为弦波帧,从而可以加快音频压缩编码算法的处理速度。
参照后文的说明和附图,详细公开了本发明的特定实施方式,指明了本发明的原理可以被采用的方式。应该理解,本发明的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本发明的实施方式包括许多改变、修改和等同。
针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。
附图说明
从下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明,其中:
图1示例性地示出了包括两个弦波的弦波帧在频域的表现;
图2示例性地示出了可以在任意一种频域中实现的弦波检测方法的流程图;
图3示例性地示出了对图1所示的弦波帧的进行第一次检测循环时的频谱范围分段情况;
图4示例性地示出了对图1所示的弦波帧的进行第二次检测循环时的频谱范围分段情况;
图5示例性地示出了利用图2所示的弦波检测方法会被误判为弦波帧的非弦波帧在频域的表现;
图6示例性地示出了对图5中所示的信号波k进行二次判断的频谱分段情况;
图7示例性地示出了根据本发明实施例的音频弦波检测装置的框图;
图8示例性地示出了根据本发明实施例的音频弦波检测方法的流程图;以及
图9示例性地示出了在AAC压缩编码算法中实现的音频弦波检测方法的流程图。
具体实施方式
下面将详细描述本发明各个方面的特征和示例性实施例。下面的描述涵盖了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说显而易见的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更清楚的理解。本发明绝不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了相关元素、部件和算法的任何修改、替换和改进。
为了使本领域的普通技术人员能更好地理解根据本发明实施例的音频弦波检测方法和装置,下面首先结合图1至图6,对可以在任意一种频域中实现的示例性弦波检测方法进行说明。
弦波在时域通常表现为一个或多个正弦波的叠加、一个或多个正弦波与一个或多个余弦波的叠加、或者一个或多个余弦波的叠加;在频域通常表现为能量在一处或多处的高度集中。通常,由于时频变换或者计算误差的影响,弦波在频域表现为类似三角波的尖峰脉冲。
图1示例性地示出了包括两个弦波的弦波帧在频域的表现。其中,这两个弦波可以均为正弦波,可以均为余弦波,也可以一个为正弦波一个为余弦波。如图1所示,这两个弦波的最大频谱能量值分别为E(i)和E(j)并且它们的中心频谱位置(即,最大频谱能量值E(i)和E(j)所在的频谱位置)分别为i和j。这里,频谱位置由频谱索引值表示。从图1可以看出,弦波帧的频谱能量高度集中在弦波所处的频谱位置处;在弦波帧包括的每个弦波中,弦波的中心频谱位置的频谱能量值最大,并且弦波的中心频谱位置两侧的频谱位置处的频谱能量值迅速衰减;在弦波帧的非弦波区域,频谱能量值趋近于0。
实践中,可以结合弦波帧的以上特征来判断一个信号帧是否为弦波帧。也就是说,可以根据图1所示的弦波帧的以上特征来进行弦波检测。图2示例性地示出了可以在任意一种频域中实现的弦波检测方法的流程图。下面结合图2,详细说明判断一个信号帧是否是弦波帧的处理。
这里,判断一个信号帧(为了方便说明,将该信号帧称为信号帧A)是否为弦波帧的过程可以包括以下处理:S202,找出信号帧A所在的频谱区域内的当前最大频谱能量值(为了方便说明,将该最大频谱能量值称为E(p))及其频谱位置(为了方便说明,将最大频谱能量值E(p)所在的频谱位置称为频谱位置p);S204,找出以频谱位置p为中心的一个完整信号波所在的频谱范围(为了方便说明,将以频谱位置p为中心的完整信号波称为信号波p,将信号波p所在的频谱范围称为频谱范围p);S206,从信号帧A所在的频谱区域中去除信号波p;S208,计算信号帧A所在的频谱区域内的去除信号波p以后的剩余频谱范围的平均频谱能量值avg1;S210,判断E(p)是否远大于avg1;S212,如果E(p)远大于avg1(即,E(p)和avg1相差102~104个量级或更多),则判断信号帧A为弦波帧;S214,如果E(p)不远大于avg1而仅略大于avg1(即,E(p)和avg1仅相差102个量级或更少),则在步骤S216判断已经检测出的信号波的数目是否大于预定值;如果已经检测出的信号波的数目大于预定阈值,则在步骤S218判断信号帧A不是弦波帧;如果已经检测出的信号波的数目不大于预定阈值,则处理返回到步骤S202。
这里需要注意的是,在步骤S208中计算的avg1是信号帧A所在的频谱区域中的除了在信号波p之前已经检测出的信号波所在的频谱范围、以及信号波p所在的频谱范围以外的其他频谱范围的平均频谱能量值。同时,在步骤S216中判断检测出的信号波的数目是否大于预定值的目的在于,避免在弦波帧A中无休止地检测信号波,直到遍历弦波帧A所在的频谱区域中的最后一个频谱能量峰值从而错误地将非弦波帧误判为包括很多弦波的弦波帧。另外,在通过图2所示的方法判断信号帧A是弦波帧的情况下,在弦波帧A中已经检测出的信号波就是弦波帧A中包括的弦波。
图3示例性地示出了对图1所示的弦波帧的进行第一次检测循环时的频谱范围分段情况。具体地,在对图1所示的包括两个弦波的弦波帧(为了方便说明,将该弦波帧称为弦波帧B)进行弦波检测的过程中,经过步骤S204找出的以频谱位置i为中心的一个完整弦波(为了方便说明,将以频谱位置i为中心的弦波称为弦波i)是图3中所示的由矩形1包围的部分,经过步骤S206获取的弦波帧B所在的频谱区域内的剩余频谱范围是图3中的由矩形2和矩形3所包围的频谱范围。
图4示例性地示出了对图1所示的弦波帧的进行第二次检测循环时的频谱范围分段情况。具体地,在找出弦波帧B中的弦波i之后,将在弦波帧B所在的频谱区域中找出以频谱位置j为中心的另一弦波。具体地,经过步骤S204找出的以频谱位置j为中心的一个完整弦波(为了方便说明,将以频谱位置j为中心的弦波称为弦波j)是图4中所示的由矩形4所包围的部分,经过步骤S206获取的弦波帧B所在的频谱区域内的剩余频谱范围是图4中的由矩形5和矩形6所包围的频谱范围。
接下来,将详细说明找出以任意一个频谱能量峰值所在的频谱位置为中心的完整信号波所在的频谱范围的处理。具体地,需要根据信号波的频谱能量分布特点来找出以任意一个频谱能量峰值所在频谱位置为中心的完整信号波所在的频谱范围。本领域的普通技术人员知道,离信号波的中心频谱位置(即,信号波的频谱能量峰值所在的频谱位置)越远的频谱位置处的频谱能量值应该越小。这也就意味着,在信号波的中心频谱位置两侧的频谱位置搜寻频谱能量值,一旦发现离中心频谱位置远的频谱位置处的频谱能量值大于离中心频谱位置近的频谱位置处的频谱能量值,则意味着找到了信号波的边界。
例如,对于中心频谱位置为o的信号波(为了方便说明,将该信号波称为信号波o),如果中心频谱位置o右侧的频谱位置(o+n)处的频谱能量值小于中心频谱位置o右侧的频谱位置(o+n+1)处的频谱能量值,则认为频谱位置(i+o)是信号波o的右侧边界(即,认为频谱位置(o+n)处于信号波o的频谱范围内,而频谱位置(o+n+1)处于信号波o的频谱范围外);同样地,如果中心频谱位置o左侧的频谱位置(o-n)处的频谱能量值小于中心频谱位置o左侧的频谱位置(o-n-1)处的频谱能量值,则认为频谱位置(o-n)是信号波o的左侧边界(即,认为频谱位置(o-n)处于信号波o的频谱范围内,而频谱位置(o-n-1)处于信号波o的频谱范围外)。当然,由于时频变换的计算误差等原因,大多数情况下信号波在频域并不是完全左右对称的,但是依然可以用以上方法来找出以一个频谱能量峰值所在的频谱位置为中心的一个完整的信号波。
虽然利用图2所示的方法可以很快地判断出一个信号帧是否为弦波帧,但是对于图5所示的情况,图2所示的方法会造成误判。很明显,根据图2所示的方法,图5所示的非弦波帧(为了方便说明,将该非弦波帧称为信号帧C)中的由矩形7包围的三角波(为了方便说明,将该三角波称为信号波k,将信号波k的中心频谱位置称为频谱位置k,将信号波k所在的频谱范围称为频谱范围k)会被误认为一个完整的弦波,从而造成图5所示的频谱分段情况。由于信号波k所在的频谱范围内的最大频谱能量值(即,信号波k的频谱能量峰值)E(k)远大于信号帧C所在的频谱区域内的除频谱范围k以外的剩余频谱范围的平均频谱能量值,所以信号帧C会被误判为弦波帧。为了解决这种情况,需要在图2所示的判断一个信号帧是否为弦波帧的处理中引入二次判断。例如,在利用图2中所示的步骤S210判断信号波k的频谱能量峰值E(k)远大于信号帧C所在的频谱区域内的除频谱范围k以外的剩余频谱范围的平均频谱能量值之后,不能直接判断信号帧C就是弦波帧,而需要进一步进行以下判断:判断信号波k所在的频谱区域中的最大频谱能量值E(k)是否远大于信号帧C所在的频谱区域内的除信号波k的中心频谱位置k及其左右侧的多个频谱位置以外的剩余频谱范围的平均频谱能量值avg2;如果E(k)远大于avg2,则判断信号帧C是弦波帧;如果E(k)不远大于avg2,则继续针对信号帧C执行步骤S202至S218所示的处理。
图6示例性地示出了对图5中所示的信号波k进行二次判断的频谱分段情况。如图6所示,在对信号波k进行二次判断时,需要将信号波k所在的频谱范围k中的最大频谱能量值E(k)与矩形9和10包围的频谱范围(即,信号帧C所在的频谱区域内的除矩形8包围的中心频谱位置k及其左右两侧的多个频谱位置以外的剩余频谱范围)的平均频谱能量值avg2进行比较。很明显,E(k)无法远大于avg2,所以即使通过图2所示的步骤S202~S212判断信号帧C为弦波帧,也可以通过结合图5和图6所述的二次判断对以上的判断结果进行检验,从而可以提高弦波检测的准确性。
修正离散余弦变换(MDCT)在目前的大多数感知音频压缩编码算法中被广泛采用。如果直接在MDCT频域对音频信号进行弦波检测,则无需进行专门用于检测弦波的时频变换,从而可以节省巨大的变换开销。所以,本发明试图在MDCT频域实现音频弦波检测,并提出了一种基于MDCT变换的音频弦波检测方法和装置。
考虑到音频压缩编码算法的特点,根据本发明实施例的音频弦波检测方法和装置对以上结合图1至图6描述的弦波检测方法做出了以下修改:
1)考虑到音频压缩编码算法多以比例因子带作为编码处理单元来提取音频特性并进行心理声学掩蔽分析及量化等操作,所以根据本发明实施例的音频弦波检测方法和装置使用比例因子带作为处理单元。
2)由于MDCT变换需要对时域的音频信号进行混叠加窗处理,而小幅值的非弦波帧在时域上被用正弦窗进行混叠加窗处理时很容易在频域上显示出弦波帧的特性从而造成误判,同时由于心理声学模型的特点人耳对小幅值帧往往无法分辨,所以如果当前待检测的音频帧中的最大频谱能量值小于预先确定的特定门限值,则根据本发明实施例的音频弦波检测方法和装置直接判定该音频帧为非弦波帧。
3)如果当前待检测的音频帧为弦波帧并且包含多个弦波,那么当前待检测的音频帧中的相邻弦波的频谱能量峰值必须不能相差太大。即,当前待检测的弦波帧中的相邻两个信号波的频谱能量峰值之比必须小于预定门限,这两个相邻信号波才有可能是弦波。所以,根据本发明实施例的音频弦波检测方法和装置在进行弦波检测的过程中,将会对当前待检测的音频帧中的当前信号波的频谱能量峰值与该音频帧中的前一个信号波的频谱能量峰值进行比较。
图7示例性地示出了根据本发明实施例的音频弦波检测装置的框图。图8示例性地示出了根据本发明实施例的音频弦波检测方法的流程图。下面,结合图7和图8详细说明根据本发明实施例的音频弦波检测装置和方法。为了说明方便,将待检测的音频帧称为音频帧F。
如图7所示,根据本发明实施例的音频弦波检测装置包括信号波检测单元702和弦波帧判断单元704。其中,信号波检测单元在音频帧F中检测符合预定条件的信号波。如果信号波检测单元702通过预定数目的检测循环在音频帧F中检测到了符合预定条件的信号波,则弦波帧判断单元704判断音频帧F是弦波帧;如果信号波检测单元702通过预定数目的检测循环在音频帧F中没有检测到符合预定条件的信号波,则弦波帧判断单元704判断音频帧F不是弦波帧。其中,根据本发明实施例的音频弦波检测方法可以按照频谱能量峰值从大到小的顺序,依次判断音频帧F中的信号波是否是符合预定条件的信号波。
这里,需要说明的是,根据本发明实施例的音频弦波检测方法和装置可以比例因子带为处理单元执行弦波检测,也可以频谱索引值为处理单元执行弦波检测。当然,为了加快弦波检测过程以及减少弦波检测处理所需要的处理资源,根据本发明实施例的音频弦波检测方法优选以比例因子带为处理单元执行弦波检测。
具体地,图8示出了由图7所示的音频弦波检测装置实现的音频弦波检测方法的流程图。如图8所示,根据本发明实施例的音频弦波检测方法包括:S802,判断音频帧F中的当前信号波(为了说明方便,这里将当前信号波称为当前信号波W)是否满足第一准则和第二准则;S804,如果当前信号波W不满足第一准则和第二准则中的任意一个,则判断音频帧F不是弦波帧;S806,如果当前信号波W既满足第一准则又满足第二准则,则判断当前信号波W是否满足第三准则和第四准则;S808,如果当前信号波W不满足第三准则和第四准则中的任意一个,则判断检测循环的数目是否小于预定数目;如果检测循环的数目小于预定数目,则继续在下一次检测循环中判断下一个信号波是否满足第一、第二、第三、和第四准则(即,处理返回到步骤S802,继续对音频帧F中的下一个信号波进行步骤S802至S808的处理);S810,如果当前信号波W既满足第三准则又满足第四准则,则判断当前信号波W是满足预订条件的信号波,进而判断音频帧F是弦波帧。
也就是说,在根据本发明实施例的音频弦波检测方法和装置中,在音频帧中检测符合预定条件的信号波;如果通过预定数目的检测循环检测到了符合预定条件的信号波,则判断音频帧是弦波帧;如果通过预定数目的检测循环没有检测到符合预定条件的信号波,则判断音频帧不是弦波帧。
其中,第一准则可以是当前信号波W的频谱能量峰值大于预定阈值;第二准则可以是当前信号波W的频谱能量峰值大于前一信号波与预定因子的乘积;第三准则可以是当前信号波W的频谱能量峰值大于音频帧F所在的频谱区域中的除当前信号波W所在的频谱范围、以及在当前信号波W之前检测出的信号波所在的频谱范围以外的剩余频谱范围的平均频谱能量值与第一预定乘数的乘积;第四准则可以是当前信号波W的频谱能量峰值大于音频帧F所在的频谱区域中的除当前信号波W的频谱能量峰值所在的频谱位置、以及在当前信号波W之前检测出的信号波所在的频谱范围以外的剩余频谱范围的平均频谱能量值与第二预定乘数的乘积。
另外,从结合图2所述的弦波检测过程可知,在经过多次检测循环最终确定音频帧F为弦波帧的情况下,音频帧F中包括的弦波数目等于经过的检测循环的次数。
在根据本发明实施例的音频弦波检测方法和装置中,利用第一准则和第二准可以迅速排除不是弦波帧的音频帧;并且利用第三准则和第四准则对每个信号波进行二次判断从而保证了弦波检测的正确性。同时,考虑到音频压缩编码算法是以比例因子带为基本的编码处理单元的,所以根据本发明实施例的音频弦波检测方法和装置也可以采用比例因子带为基本的弦波检测单元,以减少音频压缩编码过程中的处理单元,提高了处理速度。根据本发明实施例的音频弦波检测方法和装置由于运算简单、处理速度快、判决正确率高,适合嵌入式软件、硬件电路等各种应用场合。
下面以48KHz采样率的AAC音频压缩编码算法中的弦波检测处理为例,来详细说明根据本发明实施例的音频弦波检测方法和装置。需要说明的是,本实施例中的比例因子带及门限值是专门针对本实施例设置的,并且实际应用中需要根据实际情况进行对它们进行调节。但是,根据本发明实施例的音频弦波检测方法的处理步骤和根据本发明实施例的音频弦波检测装置的具体功能模块适用于各种实际情况。
在AAC压缩编码算法中,经过MDCT变换后共得到1024个频谱值。根据AAC音频压缩编码标准,在48KHz的情况下,这1024个频谱值共分成49个比例因子带。下表示出了比例因子带的划分情况,其中比例因子带由索引值sb索引。
表1:48KHz采样率的AAC音频压缩编码中的比例因子带划分
比例因子带索引值sb | 频谱值索引值范围 | 比例因子带长度 |
0 | 0~3 | 4 |
1 | 4~7 | 4 |
2 | 8~11 | 4 |
3 | 12~15 | 4 |
4 | 16~19 | 4 |
5 | 20~23 | 4 |
6 | 24~27 | 4 |
7 | 28~31 | 4 |
8 | 32~35 | 4 |
9 | 36~39 | 4 |
10 | 40~47 | 8 |
11 | 48~55 | 8 |
12 | 56~63 | 8 |
13 | 64~71 | 8 |
14 | 72~79 | 8 |
15 | 80~87 | 8 |
16 | 88~95 | 8 |
17 | 96~107 | 12 |
18 | 108~119 | 12 |
19 | 120~131 | 12 |
20 | 132~143 | 12 |
21 | 144~159 | 16 |
22 | 160~175 | 16 |
23 | 176~195 | 20 |
24 | 196~215 | 20 |
25 | 216~239 | 24 |
26 | 240~263 | 24 |
27 | 264~291 | 28 |
28 | 292~319 | 28 |
29 | 320~351 | 32 |
30 | 352~383 | 32 |
31 | 384~415 | 32 |
32 | 416~447 | 32 |
33 | 448~479 | 32 |
34 | 480~511 | 32 |
35 | 512~543 | 32 |
36 | 544~575 | 32 |
37 | 576~607 | 32 |
38 | 608~639 | 32 |
39 | 640~671 | 32 |
40 | 672~703 | 32 |
41 | 704~735 | 32 |
42 | 736~767 | 32 |
43 | 768~799 | 32 |
44 | 800~831 | 32 |
45 | 832~863 | 32 |
46 | 864~895 | 32 |
47 | 896~927 | 32 |
48 | 928~1023 | 96 |
可以看到,低频部分的每个比例因子带长度为4,而高频部分的最后一个比例因子带长度达到了96。在这种情况下,仅有49个比例因子带,也即意味着弦波检测算法仅有49个处理单元,相比于直接使用频谱值的1024个处理单元,大大减少了计算复杂度。
为了找出每个比例因子带的最大频谱能量值及非弦波部分的平均频谱能量值,这里需要获取每个比例因子带的平均频谱能量值及最大频谱能量值,并将结果保存在大小为49的阵列avg_mdct[49]及max_mdct[49]中。获取每个比例因子带的平均频谱能量值及最大频谱能量值需要按照比例因子带的划分来遍历所有1024个频谱值。上述处理看似需要占用较大的计算复杂度,但在实际应用中,由于很多音频压缩编码算法本身也需要获取阵列avg_mdct[49]及max_mdct[49],所以事实上,这部分处理对音频压缩编码算法而言不会带来额外的计算开销。
如果需要确定弦波的频谱能量峰值的准确频谱索引位置,还需要计算每个比例因子带中的最大频谱能量值的位置,保存于大小为49的阵列max_pos_mdct[49]中。不过由于音频压缩编码处理往往更注重低频部分,而低频部分长度为4的比例因子带长度已能够提供足够音频压缩编码处理所需的弦波位置分辨率,所以大部分情况,无需此计算。
根据本发明的基本原理,在实现进行弦波检测处理之前,设计者需要根据不同应用场合及意图来设置最大允许的弦波检测数目MAXTONENUM。一旦发现检测到的弦波个数超过MAXTONENUM,则当前帧将被判为非弦波帧。也就是说,如果在一个音频帧中检测出的弦波的数目不小于该数目,则认为该音频帧不是弦波帧。
具体地,在本实施例中还需要以下的变量。
表2:算法描述所需其它变量
图9示例性地示出了在AAC压缩编码算法中实现的音频弦波检测方法的流程图。具体地,对于当前音频帧,实现以下弦波检测过程:
S902,初始化,将信号波数目计数器设置为0,即tonenum=0(代表一个弦波),将上一个信号波的频谱能量峰值设置为零,即maxvalpre=0(上一次没有找到信号波)。
S904,判断信号波数目计数器tonenum是否小于预定数目MAXTONENUM。如果信号波数目计数器tonenum不小于MAXTONENUM,则处理进行到步骤S906,否则处理进行到步骤S908。
S906,判断当前音频帧不是弦波帧。
S908,找出阵列max_mdct[49]中的最大值maxval,其将是当前音频帧中的当前信号波的频谱能量峰值,保存当前信号波的频谱能量峰值的频谱位置max_pos;
S910,判断maxval是否小于thr4。如果maxval小于thr4,则处理进行到步骤S906,否则处理进行到步骤S912。
S912,判断当前信号波的频谱能量峰值是否远小于当前音频帧中的前一个信号波的频谱能量峰值,即是否满足maxval<(maxvalpre*thr3)。如果maxval<(maxvalpre*thr3),则处理进行到步骤S906,否则处理进行到步骤S914。
S914,将maxval赋予maxvalpre以供下次循环使用。
S916,以max_pos为当前信号波的中心频谱位置寻找一个完整的信号波。
S918,将avg_mdct[max_pos]值设置为0,并计算avg_mdct[49]的剩余部分的平均值avg2。
S920,将阵列avg_mdct[49]及max_mdct[49]中与当前信号波对应的值设置为0,并计算阵列avg_mdct[49]中的剩余部分的平均值avg1。
S922,将阵列avg_mdct[49]及max_mdct[49]中与已经检测到的信号波对应的值全部设置为0。
S924,判断当前信号波的频谱能量峰值maxval是否远大于avg1,即是否满足maxval*thr1>avg1。如果maxval*thr1>avg1,则处理进行到步骤S926,否则处理进行到步骤S930。
S926,判断当前信号波的频谱能量峰值maxval是否远大于avg2,即是否满足maxval*thr2>avg2。如果maxval*thr2>avg2,则处理进行到步骤S928,否则处理进行到步骤S930。
S928,判断当前音频帧是弦波帧。
S930,信号波数目计数器tonenum加1,即弦波数目为(tonenum+1),然后处理返回到步骤S904。
仔细观察上述步骤不难发现,其基本原理和二次判决法相同,仅仅其处理单元变成了比例因子带,增加了前一个弦波与当前潜在弦波的频谱能量峰值比较,并且引入了thr4去除小频谱值情况。
以上已经参考本发明的具体实施例来描述了本发明,但是本领域技术人员均了解,可以对这些具体实施例进行各种修改、组合和变更,而不会脱离由所附权利要求或其等同物限定的本发明的精神和范围。
根据需要可以用硬件或软件来执行步骤。注意,在不脱离本发明范围的前提下,可向本说明书中给出的流程图添加步骤、从中去除步骤或修改其中的步骤。一般来说,流程图只是用来指示用于实现功能的基本操作的一种可能的序列。
本发明的实施例可利用编程的通用数字计算机、利用专用集成电路、可编程逻辑器件、现场可编程门阵列、光的、化学的、生物的、量子的或纳米工程的系统、组件和机构来实现。一般来说,本发明的功能可由本领域已知的任何手段来实现。可以使用分布式或联网系统、组件和电路。数据的通信或传送可以是有线的、无线的或者通过任何其他手段。
还将意识到,根据特定应用的需要,附图中示出的要素中的一个或多个可以按更分离或更集成的方式来实现,或者甚至在某些情况下被去除或被停用。实现可存储在机器可读介质中的程序或代码以允许计算机执行上述任何方法,也在本发明的精神和范围之内。
此外,附图中的任何信号箭头应当被认为仅是示例性的,而不是限制性的,除非另有具体指示。当术语被预见为使分离或组合的能力不清楚时,组件或者步骤的组合也将被认为是已经记载了。
Claims (10)
1.一种音频弦波检测方法,用于检测待编码的音频帧是否为弦波帧,其中,该方法包括:
在所述音频帧中检测符合预定条件的信号波;
如果通过预定数目的检测循环检测到了所述符合预定条件的信号波,则判断所述音频帧是弦波帧;
如果通过所述预定数目的检测循环没有检测到所述符合预定条件的信号波,则判断所述音频帧不是弦波帧。
2.根据权利要求1所述的音频弦波检测方法,其中,以比例因子带为处理单元执行弦波检测。
3.根据权利要求2所述的音频弦波检测方法,其中,按照频谱能量峰值从大到小的顺序,依次判断所述音频帧中的信号波是否是所述符合预定条件的信号波。
4.根据权利要求3所述的音频弦波检测方法,其中,
如果在所述预定数目的检测循环中的任意一次检测循环中检测到了所述符合预定条件的信号波,则判断所述音频帧是弦波帧;
如果在所述预定数目的检测循环中的任意一次检测循环中没有检测到所述符合预定条件的信号波,则进行下一次检测循环。
5.根据权利要求2所述的音频弦波检测方法,其中,在所述预定数目的检测循环中的任意一次检测循环中,对所述音频帧中待检测的当前信号波进行以下处理:
判断所述当前信号波是否满足第一准则和第二准则;
如果所述当前信号波不满足所述第一准则和所述第二准则中的任意一个,则判断所述音频帧不是弦波帧;
如果所述当前信号波既满足所述第一准则又满足所述第二准则,则判断所述当前信号波是否满足第三准则和第四准则;
如果所述当前信号波不满足所述第三准则和所述第四准则中的任意一个,则继续在下一次检测循环中判断下一个信号波是否满足所述第一、第二、第三、和第四准则;
如果所述当前信号波既满足所述第三准则又满足所述第四准则,则判断所述当前信号波是所述满足预订条件的信号波,进而判断所述音频帧是弦波帧。
6.一种音频弦波检测装置,用于检测待编码的音频帧是否为弦波帧,其中,该装置包括:
信号波检测单元,用于在所述音频帧中检测符合预定条件的信号波;
弦波帧判断单元,用于在所述信号波检测单元通过预定数目的检测循环检测到了所述符合预定条件的信号波的情况下判断所述音频帧是弦波帧,并且在所述信号波检测单元通过预定数目的检测循环没有检测到所述符合预定条件的信号波的情况下判断所述音频帧不是弦波帧。
7.根据权利要求6所述的音频弦波检测装置,其中,以比例因子带为处理单元执行弦波检测。
8.根据权利要求7所述的音频弦波检测装置,其中,所述信号波检测单元按照频谱能量峰值从大到小的顺序,依次判断所述音频帧中的信号波是否是所述符合预定条件的信号波。
9.根据权利要求8所述的音频弦波检测装置,其中,所述信号波检测单元
在通过所述预定数目的检测循环中的任意一次检测循环检测到了所述符合预定条件的信号波的情况下,判断所述音频帧是弦波帧;
在通过所述预定数目的检测循环中的任意一次检测循环没有检测到所述符合预定条件的信号波的情况下,进行下一次检测循环。
10.根据权利要求7所述的音频弦波检测装置,其中,在所述预定数目的检测循环中的任意一次检测循环中,所述信号波检测单元对所述音频帧中待检测的当前信号波进行以下处理:
判断所述当前信号波是否满足第一准则和第二准则;
如果所述当前信号波不满足所述第一准则和所述第二准则中的任意一个,则判断所述音频帧不是弦波帧;
如果所述当前信号波既满足所述第一准则又满足所述第二准则,则判断所述当前信号波是否满足第三准则和第四准则;
如果所述当前信号波不满足所述第三准则和所述第四准则中的任意一个,则继续在下一次检测循环中判断下一个信号波是否满足所述第一、第二、第三、和第四准则;
如果所述当前信号波既满足所述第三准则又满足所述第四准则,则判断所述当前信号波是所述满足预订条件的信号波,进而判断所述音频帧是弦波帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210452082.4A CN103811011B (zh) | 2012-11-02 | 2012-11-02 | 音频弦波检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210452082.4A CN103811011B (zh) | 2012-11-02 | 2012-11-02 | 音频弦波检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103811011A true CN103811011A (zh) | 2014-05-21 |
CN103811011B CN103811011B (zh) | 2017-05-17 |
Family
ID=50707684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210452082.4A Expired - Fee Related CN103811011B (zh) | 2012-11-02 | 2012-11-02 | 音频弦波检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103811011B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104347082A (zh) * | 2013-07-24 | 2015-02-11 | 富士通株式会社 | 弦波帧检测方法和设备以及音频编码方法和设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4771465A (en) * | 1986-09-11 | 1988-09-13 | American Telephone And Telegraph Company, At&T Bell Laboratories | Digital speech sinusoidal vocoder with transmission of only subset of harmonics |
CN1116022A (zh) * | 1993-10-11 | 1996-01-31 | 菲利浦电子有限公司 | 实旋不同编码法则的发送系统 |
WO2006059288A1 (en) * | 2004-12-03 | 2006-06-08 | Koninklijke Philips Electronics N.V. | Parametric audio coding comprising balanced quantization scheme |
CN1262991C (zh) * | 2000-02-29 | 2006-07-05 | 高通股份有限公司 | 跟踪准周期性信号的相位的方法和设备 |
CN101116136A (zh) * | 2005-02-10 | 2008-01-30 | 皇家飞利浦电子股份有限公司 | 声音合成 |
-
2012
- 2012-11-02 CN CN201210452082.4A patent/CN103811011B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4771465A (en) * | 1986-09-11 | 1988-09-13 | American Telephone And Telegraph Company, At&T Bell Laboratories | Digital speech sinusoidal vocoder with transmission of only subset of harmonics |
CN1116022A (zh) * | 1993-10-11 | 1996-01-31 | 菲利浦电子有限公司 | 实旋不同编码法则的发送系统 |
CN1262991C (zh) * | 2000-02-29 | 2006-07-05 | 高通股份有限公司 | 跟踪准周期性信号的相位的方法和设备 |
WO2006059288A1 (en) * | 2004-12-03 | 2006-06-08 | Koninklijke Philips Electronics N.V. | Parametric audio coding comprising balanced quantization scheme |
CN101116136A (zh) * | 2005-02-10 | 2008-01-30 | 皇家飞利浦电子股份有限公司 | 声音合成 |
Non-Patent Citations (1)
Title |
---|
周宏等: "基于正弦波的参数音频编码方法", 《通信技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104347082A (zh) * | 2013-07-24 | 2015-02-11 | 富士通株式会社 | 弦波帧检测方法和设备以及音频编码方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103811011B (zh) | 2017-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8483725B2 (en) | Method and apparatus for determining location of mobile device | |
US9390727B2 (en) | Detecting distorted audio signals based on audio fingerprinting | |
US10332542B2 (en) | Generating audio fingerprints based on audio signal complexity | |
KR100930060B1 (ko) | 신호 검출 방법, 장치 및 그 방법을 실행하는 프로그램이기록된 기록매체 | |
US11769515B2 (en) | Audio coder window sizes and time-frequency transformations | |
CN108847217A (zh) | 一种语音切分方法、装置、计算机设备及存储介质 | |
US20200312350A1 (en) | Method and apparatus for detecting sound event considering the characteristics of each sound event | |
CN103489445B (zh) | 一种识别音频中人声的方法及装置 | |
RU2668111C2 (ru) | Классификация и кодирование аудиосигналов | |
JP7317888B2 (ja) | 類似性情報決定装置、類似性情報決定方法、自己相関情報決定装置、相互相関情報決定装置およびコンピュータプログラム | |
CN102789779A (zh) | 一种语音识别系统及其识别方法 | |
US10147443B2 (en) | Matching device, judgment device, and method, program, and recording medium therefor | |
KR100930061B1 (ko) | 신호 검출 방법 및 장치 | |
US20190115044A1 (en) | Method and device for audio recognition | |
CN106782612B (zh) | 一种逆向爆音检测方法及其装置 | |
CN103811011A (zh) | 音频弦波检测方法和装置 | |
US20120215525A1 (en) | Method and apparatus for mixed dimensionality encoding and decoding | |
US20150051907A1 (en) | Vector quantizer | |
US11521629B1 (en) | Method for obtaining digital audio tampering evidence based on phase deviation detection | |
CN112397087A (zh) | 共振峰包络估计、语音处理方法及装置、存储介质、终端 | |
US11763805B2 (en) | Speaker recognition method and apparatus | |
CN114913876B (zh) | 基于多分辨率kl散度和投票机制的带噪语音端点检测方法 | |
CN110168641B (zh) | 用于确定音高信息的装置和方法 | |
CN115881091A (zh) | 音频信号的动态特征提取的方法及系统 | |
CN117558279A (zh) | 说话人分割模型的训练方法、说话人分割方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170517 Termination date: 20181102 |
|
CF01 | Termination of patent right due to non-payment of annual fee |