首页> 中国专利> 一种拖拽音频文件进行音频文件信息检索的方法和装置

一种拖拽音频文件进行音频文件信息检索的方法和装置

摘要

本发明公开了一种拖拽音频文件进行音频文件信息检索的方法和装置,所述方法包括:检测作用于所述音频文件的拖拽操作;根据所述拖拽操作,获取所述音频文件的音频信号;对所述音频信号进行分帧处理,生成至少一个音频分帧;利用起始点检测算法(ODF)确定所述至少一个音频分帧中的关键帧;提取所述关键帧的音频指纹;利用所述音频指纹在音频指纹数据库中进行检索,获得与所述音频指纹相对应的音频文件的信息。通过本发明,可以实现无文字输入的检索方式,并且还可以缩短检索时的信息输入时间。

著录项

  • 公开/公告号CN104077336A

    专利类型发明专利

  • 公开/公告日2014-10-01

    原文格式PDF

  • 申请/专利权人 腾讯科技(深圳)有限公司;

    申请/专利号CN201310169150.0

  • 发明设计人 陈剑锋;李深远;赵伟峰;张李伟;

    申请日2013-05-09

  • 分类号G06F17/30(20060101);G06F3/0486(20130101);

  • 代理机构11332 北京品源专利代理有限公司;

  • 代理人马晓亚

  • 地址 518044 广东省深圳市福田区振兴路赛格科技园2栋东403室

  • 入库时间 2023-12-17 01:49:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-12-28

    专利权的转移 IPC(主分类):G06F17/30 登记生效日:20161208 变更前: 变更后: 申请日:20130509

    专利申请权、专利权的转移

  • 2016-08-03

    授权

    授权

  • 2014-10-29

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20130509

    实质审查的生效

  • 2014-10-01

    公开

    公开

说明书

技术领域

本发明涉及音频处理技术,尤其涉及一种拖拽音频文件进行音频文件信息 检索的方法和装置。

背景技术

现有的音频文件(例如歌曲文件)的搜索都是通过手工输入音频文件的名 称、音频文件的词曲作者、音频文件的演绎着(例如歌手)或者音乐专辑名等 文本信息进行搜索的。然而,如果用户本地有这样的一首歌曲文件,其文件信 息已经被破坏,没有歌曲名或歌手名或专辑名,这时,按现有的搜索方法,用 户难以查看这首歌的真实信息,下载此歌曲的歌词,或者找到更高品质的相同 歌曲等。并且,即使知道这首歌曲的歌曲名、歌手名、专辑名等信息,用户手 工输入过于麻烦,容易出错,而且经常搜索出来的结果有很多,要用户自己判 别哪个搜索结果才是自己想要的,导致过多的结果筛选耗时。

发明内容

有鉴于此,本发明提供了一种拖拽音频文件进行音频文件信息检索的方法 和装置,来解决以上背景技术部分提到的技术问题。

一方面,本发明提供了一种拖拽音频文件进行音频文件信息检索的方法, 所述方法包括:

检测作用于所述音频文件的拖拽操作;

根据所述拖拽操作,获取所述音频文件的音频信号;

对所述音频信号进行分帧处理,生成至少一个音频分帧;

利用起始点检测算法(ODF)确定所述至少一个音频分帧中的关键帧;

提取所述关键帧的音频指纹;

利用所述音频指纹在音频指纹数据库中进行检索,获得与所述音频指纹相 对应的音频文件的信息。

对应地,本发明还提出了一种拖拽音频文件进行音频文件信息检索的装置, 所述装置包括:

检测模块,用于检测作用于所述音频文件的拖拽操作;

音频信号获取模块,用于根据所述拖拽操作获取所述音频文件的音频信号;

分帧处理模块,用于对所述音频信号进行分帧处理,生成至少一个音频分 帧;

关键帧确定模块,用于利用起始点检测算法(ODF)确定所述至少一个音频 分帧中的关键帧;

音频指纹提取模块,用于提取所述关键帧的音频指纹;

检索模块,用于利用所述音频指纹在音频指纹数据库中进行检索,获得与 所述音频指纹相对应的音频文件的信息。

本发明提出的拖拽音频文件进行音频文件信息检索的方法和装置具有如下 特点:首先,通过对音频文件的拖拽操作而非直接的文本输入操作,减少了用 户在检索时手工输入音频文件的文本信息可能带来的误输入,同时也有助于缩 短检索时的信息输入时间;其次,通过直接利用音频文件的经提取的音频指纹 来在音频指纹数据库中检索相应的音频文件的信息,对于文件信息已经被破坏 的音频文件而言,提供了新的无文字输入的检索方式。

附图说明

图1是根据本发明第一实施例的拖拽音频文件进行音频文件信息检索的方 法的实现流程图;

图2是时长为20秒的音频信号的谱能量特征分布示意图;

图3是根据本发明第一实施例的起始点检测算法(ODF)的实现过程的示意 图;

图4是在音频指纹数据库中存储音频文件的音频指纹的实现过程的示意图;

图5是在如图4所示的音频指纹数据库中检索音频指纹的实现过程的示意 图;

图6是根据本发明第二实施例的拖拽音频文件进行音频文件信息检索的装 置的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此 处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需 要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内 容。

在图1-3中示出了本发明的第一实施例。

图1为根据本发明第一实施例的一种拖拽音频文件进行音频文件信息检索 的方法的实现流程100,该实现流程100详述如下:

在步骤101中,检测作用于音频文件的拖拽操作。

在第一实施例中,在音频文件是存储于台式机或者膝上型计算机中的情况 下,用户可以借助于鼠标的点击和拖放来实现所述音频文件的拖拽操作;而在 音频文件是存储于带触摸屏的移动终端(例如手机、平板电脑或者导航仪)的 情况下,用户还可以借助手指或者指点笔的点击和移动来实现所述音频文件的 拖拽操作。

在本申请中,所述音频文件包括但不限于:CD格式、WAVE(*.WAV)格式、 AIFF格式、AU格式、MP3格式、MIDI格式、WMA格式、RealAudio格式、VQF格 式、OggVorbis格式、AAC格式、APE格式的声音文件以及支持音频输出的视频 文件。

在步骤102中,根据拖拽操作,获取上述音频文件的音频信号。

在第一实施例中,在检测到作用于音频文件的拖拽操作的情况下,可以判 断用户的所述拖拽操作是否满足了预设的拖拽规则,如果满足,则对所述音频 文件进行频谱解析,从而生成可以用频谱图的形式进行视觉呈现的音频信号。 以支持鼠标操作的计算机为例,上述拖拽规则可以为:在鼠标指针悬停在音频 文件上之后鼠标左键被按下;鼠标指针的移动距离大于或等于预设距离阈值, 或者对所述音频文件的拖拽时间超过预设时间阈值。其中,上述预设距离阈值 和预设时间阈值可以是缺省值,也可以根据实际应用需要由用户手动设置。

可选地,还可以通过设置拖拽操作的处理控件来对所拖拽的音频文件进行 频谱解析:例如,首先可以获取由于所述拖拽操作而移动的所述音频文件的当 前位置;接着,判断所述当前位置是否落入预设的拖拽处理控件区域;最后, 在所述判断的结果为是的情况下,对所述音频文件进行频谱解析,从而生成音 频信号。对于台式机客户端而言,所述处理控件可以是视图窗口控件,这时, 可以使用微软公司提供的MFC类库的CView类中的COleDropTarget类对象,在 处理控件(例如视图窗口)初始化时,调用COleDropTarget类成员函数 Register(),以此在系统中注册该视图窗口为拖拽操作的处理窗口。当进行拖 放操作的鼠标指针处于视图窗口范围内时,COleDropTarget类会做出反应,它 的OnDragEnter、OnDragOver、OnDropEx、OnDrop等成员函数被依次调用,这 些函数默认均是调用与其相对应的CView类成员函数OnDragEnter、OnDragOver、 OnDropEx、OnDrop等,程序员只需重载这些CView类成员函数,即可对拖拽操 作的过程及结果进行控制。对于网页形式的客户端而言,可以使用javascript 和html5的开放API进行实现对拖拽操作的处理;而对于平板电脑客户端而言, 也可以使用产商提供的API实现对拖拽操作的处理。

在步骤103中,对音频信号进行分帧处理,生成至少一个音频分帧。

在第一实施例中,可以对步骤102中获取的音频信号的完整的频谱图,以 预定时间间隔(例如15毫秒的时间间隔)随机提取其固定时间长度(例如11.6 毫秒窗长)的频谱图分段,从而得到至少一个音频分帧,其中所述音频分帧与 所述频谱图分段是一一对应的。在本实施例中,上述预定时间间隔和固定时间 长度可以是缺省值,也可以根据实际应用需要由用户手动设置。

在步骤104中,利用起始点检测算法(ODF,Onset Detection Algorithm) 确定至少一个音频分帧中的关键帧。

在实际应用中,音频信号是一种短时信号,换而言之,该信号在小时间单 位(比如20毫秒)内在频域上变化不大。随着时间的变化,音频信号的变化会 逐渐加大(这种逐渐加大的变化例如是,对于歌曲的音频信号而言,歌手的演 唱歌词的改变或又是歌曲配乐的变化等),因此,音频信号会在时间轴上呈不均 匀变化,如图2所示,图2是时长为20秒的音频信号的谱能量特征分布图。从 图2中可以看出,由于音频信号本身在时间轴上存在着这种不均衡性,可以选 取音频信号的关键帧(即音频信号中能量最集中、变化最剧烈的帧)进行音频 指纹检索,而选取音频信号关键帧的处理过程称为起始点检测算法(ODF)。

图3示出了根据本发明第一实施例的起始点检测算法(ODF)的实现过程的 示意图。如图3所示,对步骤102中获取的音频信号进行分帧处理后,利用起 始点检测算法(ODF)确定关键帧的流程可以包括:对分帧处理后得到的至少一 个音频分帧中的各音频分帧进行快速傅里叶变换(FFT,Fast Fourier  Transformation);从所述各音频分帧中提取ODF所需的ODF特征参数;最后, 根据所述ODF特征参数确定所述各音频分帧中的关键帧。确定关键帧时,具体 地,可以将所述ODF特征参数满足预设的ODF阈值条件的分帧确定为关键帧。 所述ODF阈值条件例如可以是不低于预设的ODF阈值。在本实施例中,ODF阈值 与所述ODF特征参数相对应,可以包含所述ODF特征参数的取值阈值和/或音频 分帧的时间阈值。例如,图2中能量为"1e7"的位置所在的平行于时间轴的横线 表示ODF阈值条件,图2中高于该横线的所有分帧为关键帧,具体为图2中黑 点所标记的点。

在步骤105中,提取关键帧的音频指纹。

在本步骤中,对步骤104中确定的关键帧,可以基于离散余弦变换(DCT, Discrete Cosine Transform)和最小哈希算法提取所述关键帧的音频指纹。具 体流程如下:首先,对所述关键帧进行短时的DCT,并保留部分DCT系数(例如, 在对DCT系数按照从大到小排序后,保留前N个DCT系数,在此,N为大于零的 整数且可以根据实际需要确定);之后,将所保留的DCT系数采用二进制表示; 最后,采用最小哈希算法将采用二进制表示的DCT系数转换为音频指纹。

在步骤106中,利用音频指纹在音频指纹数据库中进行检索,获得音频文 件的信息。

在第一实施例中,利用步骤105中提取的音频指纹,在音频指纹数据库(例 如哈希表)中进行检索,获得与所述音频指纹相对应的音频文件的信息。根据 本实施例,在所述音频指纹数据库中,音频指纹和所述音频指纹对应的音频文 件的信息是相关联地存储的。

在本实施例的一个优选实施方式中,上述步骤104中的从各音频分帧中提 取ODF所需的ODF特征参数,可以采用如下的一个或多个算法实现:能量算法、 差分相位算法、高频分量(HFC,High-frequency Content)算法、改进的库尔 贝克和莱伯勒散度(Modified Kullback-Leibler divergence)算法、美尔倒 谱系数(MFCC,Mel Frequency Cepstrum Coefficient)、线谱对(LSP,Linear  Spectral Pair)和加权相位差分(WPD,Weighted Phase Deviation)等。

在图4中示出了在音频指纹数据库中存储音频文件的音频指纹的过程。

在图4中,音频指纹数据库可以表现为哈希表的形式。如图4所示,在哈 希表中存储音频指纹的过程具体可以包括如下步骤:

步骤1:对给定的音频文件的完整音频信号,以预定时间间隔(例如15毫 秒的时间间隔)随机提取其固定时间长度(例如11.6毫秒窗长)的频谱图分段, 从而得到至少一个音频分帧。

步骤2:通过起始点检测算法检测所得到的各音频分帧的频谱图是否对应关 键帧,将对应关键帧的音频分帧的频谱图保留,抛弃不是对应关键帧的音频分 帧的频谱图。

步骤3:对于所保留的各音频分帧的频谱图进行处理,提取获得各音频分帧 的频谱图的音频指纹。

具体地,对于各音频分帧的频谱图进行如下处理,得到其音频指纹:对各 音频分帧的频谱图进行短时的离散余弦变换(DCT,Discrete Cosine  Transform),保留主要的DCT系数;将所保留的DCT系数采用二进制表示;采 用最小哈希算法将采用二进制表示的DCT系数转换为音频指纹。

这里,所述保留主要的DCT系数,可以是指:将所有DCT系数按大小排序 后,保留前N(N为大于零的整数)个DCT系数,例如,可以保留前20个DCT 系统。

步骤4:对于提取得到的音频指纹:用位置敏感哈希(Locality Sensitive  Hashing)方法将各音频指纹分为b块音频子指纹,并将所述b块音频子指纹分 别存储到M个哈希子表中。

如图4所示,"ABCDEFGHIJKLMNOPQRSTUVWXY"表示提取得到的一个音频指纹, "ABCDE"、"EFGHI"、……、"UVWXY"分别表示由分割一个音频指纹后得到的音频 子指纹。

如图4所示,将所述b块音频子指纹分别存储到M个哈希子表中时,将音 频子指纹"ABCDE"、"EFGHI"、……、"UVWXY"与对应的歌曲信息分别对应存储到 哈希表1、哈希表2、……、哈希表M中。其中,各哈希表中的7、12、50、92、 102、302均表示歌曲信息,例如,可以分别表示歌曲ID。

在图5中示出了在如图4所示的音频指纹数据库中检索音频指纹的过程。

如图5所示,需要进行音频文件信息检索时,在如图4所示的音频指纹数 据库中检索音频指纹的过程,具体可以包括如下步骤:

步骤1:对于根据用户的拖拽操作而获取的音频文件的音频信号,以预定时 间间隔(例如15毫秒的时间间隔)随机提取其固定时间长度(例如11.6毫秒 窗长)的频谱图分段,从而得到至少一个音频分帧。

步骤2:通过起始点检测算法检测所得到的各音频分帧的频谱图是否对应关 键帧,将对应关键帧的音频分帧的频谱图保留,抛弃不是对应关键帧的音频分 帧的频谱图。

步骤3:对于所保留的各音频分帧的频谱图进行处理,提取获得各音频分帧 的频谱图的音频指纹。

步骤4:对于所得到的各音频指纹,用位置敏感哈希方法将各音频指纹分为 m块(m为正整数)音频子指纹,得到各音频指纹的音频子指纹组,并分别从所 述M个哈希子表中,查询与所述音频子指纹组中各音频子指纹近似匹配的音频 子指纹,得到各音频子指纹组的近似匹配音频子指纹组。

在步骤4中,从M个哈希子表中查询一个音频子指纹的近似匹配音频子指 纹具体为:从M个哈希子表中查询有一个或多个维度的取值、与所述音频子指 纹的对应维度的取值相同的音频子指纹,放弃维度匹配次数小于预设的匹配阈 值v的音频子指纹,所保留的即为与所述音频子指纹近似匹配的音频子指纹。

如图5所示,"abcdefghijklmnopqrstuvwxy"表示提取得到的一个音频指纹, "abcde"、"efghi"、……、"uvwxy"分别表示由分割一个音频指纹后得到的音频 子指纹。音频文件的信息7、12、50、92、102、302所对应的音频子指纹与所 述音频子指纹的匹配次数分别为1、1、1、3、2、1。当前预设的匹配阈值v为 2,则音频文件信息92、102所对应的音频子指纹为要查询的近似匹配音频子指 纹。

其中,音频子指纹一般为一组向量,即多维数组,例如,音频子指纹为25 维的数组时,如果设置匹配阈值v为5,则两个音频子指纹之间有5维数组相同 时,则认为该两个音频子指纹之间近似匹配。

步骤5:对于所得到的各近似匹配音频子指纹组:根据所述近似匹配音频子 指纹与所述各音频子指纹的哈明距离(Hamming distance),计算出匹配误差, 根据匹配误差,查询得到精确匹配音频子指纹,得到精确匹配音频子指纹组。

对于步骤5而言,如图5所示,分别计算音频文件信息92、102所对应的 音频子指纹对应的匹配误差,如果音频文件信息92对应的匹配误差较小,则将 音频文件信息92对应的音频子指纹作为精确匹配音频子指纹。

步骤6:将与所述精确匹配音频子指纹组对应的音频文件信息(例如歌曲信 息),用动态规划算法或直线检测算法在时间轴上合并所查询到的音频文件信息 后,对所述音频文件信息进行输出,如图5所示,最终输出匹配结果92。

图6示出了本发明的第二实施例。

图6为根据本发明第二实施例的一种拖拽音频文件进行音频文件信息检索 的装置的结构示意图。如图6所示,本实施例所述的拖拽音频文件进行音频文 件信息检索的装置600包括:检测模块601,音频信号获取模块602,分帧处理 模块603,关键帧确定模块604,音频指纹提取模块605和检索模块606。其中, 检测模块601用于检测作用于所述音频文件的拖拽操作;音频信号获取模块602 用于根据所述拖拽操作获取所述音频文件的音频信号;分帧处理模块603用于 对所述音频信号获取模块602获取的音频信号进行分帧处理,生成至少一个音 频分帧;关键帧确定模块604用于利用起始点检测算法(ODF)确定所述至少一 个音频分帧中的关键帧;音频指纹提取模块605用于提取所述关键帧确定模块 604确定的关键帧的音频指纹;而检索模块606用于利用所述音频指纹在音频指 纹数据库中进行检索,获得与所述音频指纹相对应的音频文件的信息。

本发明所述的技术方案能够通过对音频文件的拖拽操作而非直接的文本输 入操作,减少了用户在检索时手工输入音频文件的文本信息可能带来的误输入, 同时也有助于缩短检索时的信息输入时间;此外,所述的技术方案通过直接利 用音频文件的经提取的音频指纹来在音频指纹数据库中检索相应的音频文件的 信息,对于文件信息已经被破坏的音频文件而言,提供了新的检索方式。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员 会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进 行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽 然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以 上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例, 而本发明的范围由所附的权利要求范围决定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号