一种音频内容的匹配方法和系统的制作方法

文档序号:6398966阅读:197来源:国知局
专利名称:一种音频内容的匹配方法和系统的制作方法
技术领域
本发明属于音频领域,尤其涉及一种音频内容的匹配方法和系统。
背景技术
当电视或广播中播放歌曲时,人们如果遇到喜欢的歌曲,通常想知道喜欢的歌曲的名字。音频指纹就是一种获取歌曲名字的技术:获取电视或广播中播放的歌曲的信号;对所述信号进行处理;将经过处理的音频信号与数据库中存储的歌曲进行比对,最终获取电视或广播中播放的歌曲的名字。但上述技术存在以下缺点:(I)、系统中经过处理后留下的歌曲信号会越来越多,容易造成数据的冗余,这在负载传输中会造成很大的负担;(2)、只获取单个音频片段的匹配结果,容易造成匹配误差。

发明内容
本发明实施例的目的在于提供一种音频内容的匹配方法和系统,以解决现有技术因数据冗余造成的负担和匹配误差的问题。本发明实施例是这样实现的,一种音频内容的匹配方法,所述方法包括以下步骤:从待匹配音频片段中获取第一音频帧和第二音频帧,所述第一音频帧和第二音频帧为两帧连续的音频;将所述第一音频帧转换为第一组子带,将所述第二音频帧转换为第二组子带;将所述第一组子带转换为第一组子哈希表,将所述第二组子带转换为第二组子哈希表;将所述第一组子哈希表和所述第二组子哈希表分别与数据库中保存的音频片段进行比对,获取第一组候选音频和第二组候选音频;从所述第一组候选音频和所述第二组候选音频中筛选匹配结果。本发明实施例的另一目的在于提供一种音频内容的匹配系统,所述系统包括:音频帧获取单元,用于从待匹配音频片段中获取第一音频帧和第二音频帧,所述第一音频帧和第二音频帧为两帧连续的音频;子带转换单元,用于将所述音频帧获取单元获取的第一音频帧转换为第一组子带,将所述第二音频帧转换为第二组子带;子哈希表转换单元,用于将所述子带转换单元装换的第一组子带转换为第一组子哈希表,将所述第二组子带转换为第二组子哈希表;候选音频获取单元,用于将所述子哈希表转换单元装换的第一组子哈希表和第二组子哈希表分别与数据库中保存的音频片段进行比对,获取第一组候选音频和第二组候选音频;匹配结果筛选单元,用于从所述候选音频获取单元获取的第一组候选音频和第二组候选音频中筛选匹配结果。本发明实施例中,将待匹配音频片段分成子带,对子带进行小波变化后,保留能量最高的子带的系数,通过位置敏感哈希算法将所述系数转换为一组子哈希表,通过分布式存储方法保存所有的子哈希表,获取每组子哈希表的匹配结果,并将每组子哈希表的匹配结果与连续的一帧音频片段的匹配结果进行比对,获取最终的匹配结果,使得音频指纹不会冗余,通过位置敏感哈希算法获得的子哈希表得到全部保存,并通过至少两帧连续的音频片段的比对,增加了匹配的准确性。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的音频内容匹配方法的流程图;图2是本发明实施例提供的音频内容匹配系统的结构图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例中,将待匹配音频片段分成子带,对子带进行小波变化后,保留能量最高的子带的系数,通过位置敏感哈希算法将所述系数转换为一组子哈希表,通过分布式存储方法保存所有的子哈希表,获取每组子哈希表的匹配结果,并将每组子哈希表的匹配结果与连续的一帧音频片段的匹配结果进行比对,获取最终的匹配结果,使得音频指纹不会冗余,通过位置敏感哈希算法获得的子哈希表得到全部保存,并通过至少两帧连续的音频片段的比对,增加了匹配的准确性。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。实施例一如图1所示为本发明实施例提供的音频内容匹配方法的流程图,所述方法包括:在步骤SlOl中,从待匹配音频片段中获取第一音频帧和第二音频帧,所述第一音频帧和第二音频帧为两帧连续的音频。在本发明实施例中,获取电台中播放的音频片段,所述音频片段即为待匹配的音频片段,从所述音频片段中获取至少两帧连续的音频帧:第一音频帧、第二音频帧。此处需要指出的是,待匹配音频片段可以为歌曲,也可以为演说、辩论等。所述从待匹配音频片段中获取第一音频帧和第二音频帧的步骤,包括:(I)、通过分帧处理将所述待匹配的音频片段分成连续的音频帧。在本发明实施例中,将给定的待匹配音频片段按照m秒间隔、η秒窗长的进行分帧处理,即:每帧音频的长度为η秒,每两帧连续音频之间的间隔为m秒。(2)、从所述音频帧中获取第一音频帧和第二音频帧。
在本发明实施例中,从所述音频帧中获取第一音频帧和第二音频帧。需要指出的是,此处为了方便说明指获取第一音频帧和第二音频帧,但在实际计算中,为了匹配更加精确,可以获取第三音频帧、第四音频帧等更多的音频帧。在步骤S102中,将所述第一音频帧转换为第一组子带,将所述第二音频帧转换为第二组子带。在本发明实施例中,通过快速傅里叶变化将第一音频帧转换为第一组子带,将第二音频帧转换为第二组子带,使得在后续的步骤中,可以通过第一组子带和第二组子带获取音频片段的音频指纹,减少了音频指纹在系统中的冗余。在步骤S103中,将所述第一组子带转换为第一组子哈希表,将所述第二组子带转换为第二组子哈希表。在本发明实施例中,音频片段本质上是信号,对所述音频片段进行信号处理,即是对音频信号进行信号处理,通过对所述音频片段进行信号处理,即可获取所述至少两帧音频片段的音频指纹。所述将第一组子带转换为第一组子哈希表,将所述第二组子带转换为第二组子哈希表的步骤,包括:(I)、对所述第一组子带和第二组子带的能量分别进行小波变化,至少保留所述第一组子带中能量最高的两个小波变换的系数和所述第二组子带中能量最高的两个小波变换的系数,将所述第一组子带中能量最高的小波变换的系数组成第一组系数,将所述第二组子带中能量最高的小波变换的系数组成第二组系数。在本发明实施例中,第一组子带和第二组子带均至少保留两个小波变换的系数,以使在后续的步骤中,通过所述系数获取的候选音频在每组子带内进行比对。(2)、对所述第一组系数和所述第二组系数分别进行二进制变化,并通过最小哈希算法将经过二进制变化的所述第一组系数压缩为第一组子指纹,将经过二进制变化的所述第二组系数压缩为第二组子指纹。(3)、通过位置敏感哈希算法将所述第一组子指纹转换为第一组子哈希表,将所述第二组子指纹转换为第二组子哈希表,并通过分布式存储方法存储所述第一组子哈希表和所述第二组子哈希表。在本发明实施例中,通过位置敏感哈希算法将所述子指纹分成子哈希表。但是位置敏感哈希算法有一个缺点,即位置敏感哈希算法的取值范围比较窄,具体到本实施例,所述缺点表现为不能保存所有的子哈希表,因此本实施例中加入了分布式存储方法,使得所有的子哈希表都可以得到保存。在步骤S104中,将所述第一组子哈希表和所述第二组子哈希表分别与数据库中保存的音频片段进行比对,获取第一组候选音频和第二组候选音频。在本发明实施例中,将第一组子哈希表和第二组子哈希表分别与数据库中保存的音频片段进行比对,记录每个子哈希表匹配的音频片段的标识,所述标识包括但不限于:名称,在数据库中的编号等。所述获取第一组候选音频和第二组候选音频,具体为:(I)、假设第一组子哈希表包含:子哈希表1、子哈希表2。子哈希表I匹配音频片段1、音频片段2、音频片段3,子哈希表2匹配音频片段2、音频片段3、音频片段4,则第一组子哈希表的匹配结果为音频片段2和音频片段3,即第一组候选音频为音频片段2和音频片段3。
(2)、假设第二组子哈希表包含:子哈希表3和子哈希表4。子哈希表3匹配音频片段2、音频片段3、音频片段4,子哈希表4匹配音频片段3、音频片段4、音频片段5,则第二组子哈希表的匹配结果为音频片段3和音频片段4,即第二组候选音频为音频片段3和音频片段4。在步骤S105中,从所述第一组候选音频和所述第二组候选音频中筛选匹配结果。在本发明实施例中,通过第一组候选音频和第二组候选音频的比较,从其中筛选最终的匹配结果。所述从所述第一组候选音频和所述第二组候选音频中筛选匹配结果,具体为:(I)、计算所述第一组候选音频和所述第二组候选音频中相同的音频的权重;( 2 )、选择所述权重最高的音频作为匹配结果。在本发明实施例中,将第一组候选音频和第二组候选音频进行比对,如第一组子哈希表的匹配结果为:音频片段2、音频片段3,第二组子哈希表的匹配结果为:音频片段3、音频片段4,则最终的匹配结果为音频片段3。其中权重计算使用现有的计算方法,并且根据实际情况可以使用不同的计算方法,此处不对权重的计算方法进行限定。本发明实施例中,将待匹配音频片段分成子带,对子带进行小波变化后,保留能量最高的子带的系数,通过位置敏感哈希算法将所述系数转换为一组子哈希表,通过分布式存储方法保存所有的子哈希表,获取每组子哈希表的匹配结果,并将每组子哈希表的匹配结果与连续的一帧音频片段的匹配结果进行比对,获取最终的匹配结果,使得音频指纹不会冗余,通过位置敏感哈希算法获得的子哈希表得到全部保存,并通过至少两帧连续的音频片段的比对,增加了匹配的准确性。实施例二如图2所示为本发明实施例提供的音频内容匹配系统的结构图,为了便于说明,仅不出与本发明实施例相关的部分,所述系统包括:音频帧获取单元201,用于从待匹配音频片段中获取第一音频帧和第二音频帧,所述第一音频帧和第二音频帧为两帧连续的音频。在本发明实施例中,获取电台中播放的音频片段,所述音频片段即为待匹配的音频片段,音频帧获取单元201从所述音频片段中获取至少两帧连续的音频帧:第一音频帧、第二音频巾贞。所述音频巾贞获取单元201,具体包括:分帧子单元2011,用于通过分帧处理将所述待匹配的音频片段分成连续的音频帧。在本发明实施例中,分帧子单元2011将给定的待匹配音频片段按照m秒间隔、η秒窗长的进行分帧处理,即:每帧音频的长度为η秒,每两帧连续音频之间的间隔为m秒。获取子单元2012,用于从所述分帧子单元2011分成的音频帧中获取第一音频帧
和第二音频帧。在本发明实施例中,获取子单元2012从所述音频帧中获取第一音频帧和第二音频帧。需要指出的是,此处为了方便说明指获取第一音频帧和第二音频帧,但在实际计算中,为了匹配更加精确,可以获取第三音频帧、第四音频帧等更多的音频帧。在本发明的一个可选实施例中,在所述分帧子单元2011分帧之前,所述音频帧获取单元201还包括:
设置子单元2013,用于设置每帧音频片段的间隔和每帧音频片段的窗长。子带转换单元202,用于将所述音频帧获取单元201获取的第一音频帧转换为第一组子带,将所述第二音频帧转换为第二组子带。在本发明实施例中,子带转换单元202通过快速傅里叶变化将第一音频帧转换为第一组子带,将第二音频帧转换为第二组子带,使得在后续的步骤中,可以通过第一组子带和第二组子带获取音频片段的音频指纹,减少了音频指纹在系统中的冗余。子哈希表转换单元203,用于将所述子带转换单元202装换的第一组子带转换为第一组子哈希表,将所述第二组子带转换为第二组子哈希表。在本发明实施例中,音频片段本质上是信号,对所述音频片段进行信号处理,即是对音频信号进行信号处理,通过对所述音频片段进行信号处理,即可获取所述至少两帧音频片段的音频指纹。所述子哈希表转换单元203,具体包括:系数获取子单元2031,用于对所述第一组子带和第二组子带的能量分别进行小波变化,至少保留所述第一组子带中能量最高的两个小波变换的系数和所述第二组子带中能量最高的两个小波变换的系数,将所述第一组子带中能量最高的小波变换的系数组成第一组系数,将所述第二组子带中能量最高的小波变换的系数组成第二组系数。在本发明实施例中,第一组子带和第二组子带均至少保留两个小波变换的系数,以使在后续的步骤中,通过所述系数获取的候选音频在每组子带内进行比对。子指纹获取子单元2032,用于对所述系数获取子单元2031获取的第一组系数和第二组系数分别进行二进制变化,并通过最小哈希算法将经过二进制变化的所述第一组系数压缩为第一组子指纹,将经过二进制变化的所述第二组系数压缩为第二组子指纹。子哈希表转换子单元2033,用于通过位置敏感哈希算法将所述子指纹获取子单元2032获取的第一组子指纹转换为第一组子哈希表,将所述第二组子指纹转换为第二组子哈希表,并通过分布式存储方法存储所述第一组子哈希表和所述第二组子哈希表。在本发明实施例中,子哈希表转换子单元2033通过位置敏感哈希算法将所述子指纹分成子哈希表。但是位置敏感哈希算法有一个缺点,即位置敏感哈希算法的取值范围比较窄,具体到本实施例,所述缺点表现为不能保存所有的子哈希表,因此本实施例中加入了分布式存储方法,使得所有的子哈希表都可以得到保存。候选音频获取单元204,用于将所述子哈希表转换单元203装换的第一组子哈希表和第二组子哈希表分别与数据库中保存的音频片段进行比对,获取第一组候选音频和第二组候选音频。在本发明实施例中,将第一组子哈希表和第二组子哈希表分别与数据库中保存的音频片段进行比对,记录每个子哈希表匹配的音频片段的标识,所述标识包括但不限于:名称,在数据库中的编号等。获取第一组候选音频和第二组候选音频,具体为:(I)、假设第一组子哈希表包含:子哈希表1、子哈希表2。子哈希表I匹配音频片段1、音频片段2、音频片段3,子哈希表2匹配音频片段2、音频片段3、音频片段4,则第一组子哈希表的匹配结果为音频片段2和音频片段3,即第一组候选音频为音频片段2和音频片段3。(2)、假设第二组子哈希表包含:子哈希表3和子哈希表4。子哈希表3匹配音频片段2、音频片段3、音频片段4,子哈希表4匹配音频片段3、音频片段4、音频片段5,则第二组子哈希表的匹配结果为音频片段3和音频片段4,即第二组候选音频为音频片段3和音频片段4。匹配结果筛选单元205,用于从所述候选音频获取单元204获取的第一组候选音频和第二组候选音频中筛选匹配结果。在本发明实施例中,通过第一组候选音频和第二组候选音频的比较,从其中筛选最终的匹配结果。所述匹配结果筛选单元205,具体包括:权重计算子单元2051,用于计算所述第一组候选音频和所示第二组候选音频中相同的音频的权重;选择子单元2052,用于选择所述权重计算子单元2051计算的权重最高的音频作为匹配结果。在本发明实施例中,将第一组候选音频和第二组候选音频进行比对,如第一组子哈希表的匹配结果为:音频片段2、音频片段3,第二组子哈希表的匹配结果为:音频片段3、音频片段4,则最终的匹配结果为音频片段3。其中权重计算使用现有的计算方法,并且根据实际情况可以使用不同的计算方法,此处不对权重的计算方法进行限定。本发明实施例中,将待匹配音频片段分成子带,对子带进行小波变化后,保留能量最高的子带的系数,通过位置敏感哈希算法将所述系数转换为一组子哈希表,通过分布式存储方法保存所有的子哈希表,获取每组子哈希表的匹配结果,并将每组子哈希表的匹配结果与连续的一帧音频片段的匹配结果进行比对,获取最终的匹配结果,使得音频指纹不会冗余,通过位置敏感哈希算法获得的子哈希表得到全部保存,并通过至少两帧连续的音频片段的比对,增加了匹配的准确性。本领域普通技术人员可以理解为上述实施例二所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,包括R0M/RAM、磁盘、光盘等。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种音频内容的匹配方法,其特征在于,所述方法包括以下步骤: 从待匹配音频片段中获取第一音频帧和第二音频帧,所述第一音频帧和第二音频帧为两中贞连续的音频; 将所述第一音频帧转换为第一组子带,将所述第二音频帧转换为第二组子带; 将所述第一组子带转换为第一组子哈希表,将所述第二组子带转换为第二组子哈希表; 将所述第一组子哈希表和所述第二组子哈希表分别与数据库中保存的音频片段进行比对,获取第一组候选音频和第二组候选音频; 从所述第一组候选音频和所述第二组候选音频中筛选匹配结果。
2.如权利要求1所述的方法,其特征在于,所述从待匹配音频片段中获取第一音频帧和第二音频帧的步骤,包括: 通过分帧处理将所述待匹配的音频片段分成连续的音频帧; 从所述音频帧中获取第一音频帧和第二音频帧。
3.如权利要求1所述的方法,其特征在于,所述将所述第一组子带转换为第一组子哈希表,将所述第二组子带转换为第二组子哈希表的步骤,包括: 对所述第一组子带和第二组子带的能量分别进行小波变化,至少保留所述第一组子带中能量最高的两个小波变换的系数和所述第二组子带中能量最高的两个小波变换的系数,将所述第一组子带中能量最高的小波变换的系数组成第一组系数,将所述第二组子带中能量最高的小波变换的系数组 成第二组系数; 对所述第一组系数和所述第二组系数分别进行二进制变化,并通过最小哈希算法将经过二进制变化的所述第一组系数压缩为第一组子指纹,将经过二进制变化的所述第二组系数压缩为第二组子指纹; 通过位置敏感哈希算法将所述第一组子指纹转换为第一组子哈希表,将所述第二组子指纹转换为第二组子哈希表,并通过分布式存储方法存储所述第一组子哈希表和所述第二组子哈希表。
4.如权利要求2所述的方法,其特征在于,在所述对所述待匹配音频片段进行分帧处理的步骤之前,所述方法还包括: 设置每帧音频片段的间隔和每帧音频片段的窗长。
5.如权利要求1所述的方法,其特征在于,所述从所述第一组候选音频和所述第二组候选音频中筛选匹配结果,具体为: 计算所述第一组候选音频和所示第二组候选音频中相同的音频的权重; 选择所述权重最高的音频作为匹配结果。
6.一种音频内容的匹配系统,其特征在于,所述系统包括: 音频帧获取单元,用于从待匹配音频片段中获取第一音频帧和第二音频帧,所述第一音频帧和第二音频帧为两帧连续的音频; 子带转换单元,用于将所述音频帧获取单元获取的第一音频帧转换为第一组子带,将所述第二音频帧转换为第二组子带; 子哈希表转换单元,用于将所述子带转换单元装换的第一组子带转换为第一组子哈希表,将所述第二组子带转换为第二组子哈希表;候选音频获取单元,用于将所述子哈希表转换单元装换的第一组子哈希表和第二组子哈希表分别与数据库中保存的音频片段进行比对,获取第一组候选音频和第二组候选音频; 匹配结果筛选单元,用于从所述候选音频获取单元获取的第一组候选音频和第二组候选音频中筛选匹配结果。
7.如权利要求6所述的系统,其特征在于,所述音频帧获取单元具体包括: 分帧子单元,用于通过分帧处理将所述待匹配的音频片段分成连续的音频帧; 获取子单元,用于从所述分帧子单元分成的音频帧中获取第一音频帧和第二音频帧。
8.如权利要求6所述的系统,其特征在于,所述子哈希表转换单元具体包括: 系数获取子单元,用于对所述第一组子带和第二组子带的能量分别进行小波变化,至少保留所述第一组子带中能量最高的两个小波变换的系数和所述第二组子带中能量最高的两个小波变换的系数,将所述第一组子带中能量最高的小波变换的系数组成第一组系数,将所述第二组子带中能量最高的小波变换的系数组成第二组系数; 子指纹获取子单元,用于对所述系数获取子单元获取的第一组系数和第二组系数分别进行二进制变化,并通过最小哈希算法将经过二进制变化的所述第一组系数压缩为第一组子指纹,将经过二进制变化的所述第二组系数压缩为第二组子指纹; 子哈希表转换子单元,用于通过位置敏感哈希算法将所述子指纹获取子单元获取的第一组子指纹转换为第一组子哈希表,将所述第二组子指纹转换为第二组子哈希表,并通过分布式存储方法存储所述第一组子哈希表和所述第二组子哈希表。
9.如权利要求7所述的系统,其特征在于,在所述分帧子单元分帧之前,所述音频帧获取单元还包括: 设置子单元,用于设置每帧音频片段的间隔和每帧音频片段的窗长。
10.如权利要求6所述的系统,其特征在于,所述匹配结果筛选单元具体包括: 权重计算子单元,用于计算所述第一组候选音频和所示第二组候选音频中相同的音频的权重; 选择子单元,用于选择所述权重计算子单元计算的权重最高的音频作为匹配结果。
全文摘要
本发明适用于音频领域,提供了一种音频内容的匹配方法和系统,所述方法包括从待匹配音频片段中获取第一音频帧和第二音频帧,所述第一音频帧和第二音频帧为两帧连续的音频;将所述第一音频帧转换为第一组子带,将所述第二音频帧转换为第二组子带;将所述第一组子带转换为第一组子哈希表,将所述第二组子带转换为第二组子哈希表;将所述第一组子哈希表和所述第二组子哈希表分别与数据库中保存的音频片段进行比对,获取第一组候选音频和第二组候选音频;从所述第一组候选音频和所述第二组候选音频中筛选匹配结果。本发明实施例中,在音频子带小波变换后,保留能量最高的几个系数,提升了数据的压缩率,至少两帧连续的音频帧,增加了匹配的准确性。
文档编号G06F17/30GK103116629SQ201310039220
公开日2013年5月22日 申请日期2013年2月1日 优先权日2013年2月1日
发明者易立夫 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1