一种实时音频指纹检索库数据更新和检索方法技术

技术编号:10342635 阅读:176 留言:0更新日期:2014-08-21 15:08
本发明专利技术公开了一种实时音频指纹检索库数据更新和检索方法,实时音频指纹检索库可实时地接收多路音频指纹流,多路音频指纹流每个指纹流中均包含成对的音频指纹、母本元信息,实时音频指纹检索库采用环形队列存储数据,环形队列包括头指针、尾指针、最大容量、当前数量信息,数据从队列的头部添加,每次成功添加数据,头指针往前移,尾指针和头指针之间的数据设为当前有效数据,检索时从队尾开始获取数据,多路音频指纹流每路指纹流数据存入时均设有过期时间,通过所述的尾指针移动使过期数据失效。本发明专利技术保证音频指纹数据的实时性,所有音频指纹数据均设有有效期,具备超时音频指纹数据自动删除功能。

【技术实现步骤摘要】

本专利技术涉及音频指纹检索领域,尤其是涉及。
技术介绍
音频指纹(audio fingerprint)是根据音频信号计算出的一组哈希值,目前音频指纹技术广泛地被应用到歌曲搜索,盗版检测等领域,随着移动互联网的发展,音频指纹技术也被应用到与电视节目进行实时互动中;音频指纹检索库是用于保存母本音频指纹以及相应的原始信息的库,歌曲搜索检索库的特点是数据量大,一旦入库完成基本不会频繁更新,属于离线库,关注的是系统内存消耗和检索速度,电视节目检索库的特点是数据量相对较小,不过由于电视直播的特点,数据库需要实时更新,并且每段指纹需要有一定的生存时间,过了这个时间自动失效,属于在线库,相对于离线库,在线库除了需要关注内存和检索速度之外,还需要关注实时性,指纹超时机制,以及解决时间戳溢出问题。
技术实现思路
本专利技术是为了解决在线库音频指纹存储和检索的问题,提供一种具备实时性、指纹有效期、超时指纹删除功能的实时音频指纹检索库数据更新和检索方法。为了实现上述目的,本专利技术采用以下技术方案:,所述的实时音频指纹检索库可实时地接收多路音频指纹流,所述的多路音频指纹流每个指纹流中均包含成对的音频指纹、母本元信息,所述实时音频指纹检索库采用环形队列存储数据,所述的环形队列包括头指针、尾指针、最大容量、当前数量信息,所述的数据从队列的头部添加,每次成功添加数据,所述的头指针往前移,所述的尾指针和头指针之间的数据设为当前有效数据,检索时从队尾开始获取数据。本方案音频指纹检索库实时地接收多路音频指纹流,每个指纹流中包含成对的(key, value)数据,其中的key就是音频指纹,value包含母本元信息(例如用于标识频道名或节目内容的索引),在音频指纹库中,以hash表的方式存贮元信息数据,hash的方式可以提供接近0(1)的检索复杂度,每个key对应一个队列,存放相同hash值的音频指纹对应的元信息,因为指纹库有自动过期的特点,所以采用环形队列来存贮,队列有头指针,尾指针,最大容量,以及当前数量等信息,数据从队列的头部添加,每次成功添加数据,头指针往前移,尾指针和头指针之间是当前有效数据,检索时从队尾开始获取数据;在指纹检索库中,指纹数据的实时更新和检索是并发进行的,如果需要保证插入、读取的强一致性,需要加锁操作,这样对于实时更新的系统必然会造成检索的性能低下,由于本方案中指纹数据是从队列头部更新,尾部超时的,获取时从队尾开始获取,入库时连续在同一个队列中更新的几率较低,并且入库和检索操作都是速度很多的操作,所以在实际中入库、检索操作都不加锁,由于音频指纹流中每秒钟有大量指纹数据,所以这种处理方式不会造成明显的精度下降。作为优选,所述的多路音频指纹流每路指纹流数据存入时均设有过期时间,通过所述的尾指针移动使过期数据失效。为了实现指纹库过期失效,在音频指纹入库的时候,可先根据每路音频指纹流设置的过期时间,从队尾开始将过期的指纹删除,这里的删除并不需要真正的删除数据操作,只需要移动一下队尾指针;在离线的音频指纹库中,每个音频文件的长度是有限的,少则几分钟,多则几小时,但是在实时流式系统中理论上音频指纹流是无限长的,而表示音频指纹流中的时间信息的比特数又是有限的,所以实时音频指纹库中需要考虑时间溢出的问题,在检查超时和获取指纹的时候需要考虑由于时间位数溢出造成的时间戳跳动情况,如果不考虑这个情况,那么会造成每次时间溢出时系统的不可用;对于实时音频指纹检索库,需要考虑指纹数据的过期失效机制,以支持一些实时应用,并且保证库的容量不随着时间的增长而不断增大,性能不随着时间的增长而下降。作为优选,所述的实时音频指纹检索库在检索音频指纹的时候会判断每个获得的母本元信息数据是否在有效时间范围之内,所述实时音频指纹检索库返回在有效时间范围内的检索结果。在每次指纹数据到来的时候更新的方式,不能保证队列中的数据都是100%在有效时间范围之内的,因为如果某一路指纹流出现问题,没有及时更新的情况下,队列中的数据就不能超时,为了解决这个问题,在检索音频指纹的时候,指纹库会判断每个获得的元信息数据是否在有效时间范围之内,只返回在有效时间范围内的检索结果。因此,本专利技术具有如下有益效果:1)保证音频指纹数据的实时性;2)所有音频指纹数据均设有有效期;3)具备超时音频指纹数据自动删除功能。【具体实施方式】下面对本专利技术做进一步的描述。,实时音频指纹检索库可实时地接收多路音频指纹流,多路音频指纹流每个指纹流中均包含成对的音频指纹、母本元信息,实时音频指纹检索库采用环形队列存储数据,环形队列包括头指针、尾指针、最大容量、当前数量信息,数据从队列的头部添加,每次成功添加数据,头指针往前移,尾指针和头指针之间的数据设为当前有效数据,检索时从队尾开始获取数据,多路音频指纹流每路指纹流数据存入时均设有过期时间,通过尾指针移动使过期数据失效,实时音频指纹检索库在检索音频指纹的时候会判断每个获得的母本元信息数据是否在有效时间范围之内,实时音频指纹检索库只返回在有效时间范围内的检索结果。本文档来自技高网...

【技术保护点】
一种实时音频指纹检索库数据更新和检索方法,其特征在于,所述的实时音频指纹检索库可实时地接收多路音频指纹流,所述的多路音频指纹流每个指纹流中均包含成对的音频指纹、母本元信息,所述实时音频指纹检索库采用环形队列存储数据,所述的环形队列包括头指针、尾指针、最大容量、当前数量信息,所述的数据从队列的头部添加,每次成功添加数据,所述的头指针往前移,所述的尾指针和头指针之间的数据设为当前有效数据,检索时从队尾开始获取数据。

【技术特征摘要】
1.一种实时音频指纹检索库数据更新和检索方法,其特征在于,所述的实时音频指纹检索库可实时地接收多路音频指纹流,所述的多路音频指纹流每个指纹流中均包含成对的音频指纹、母本元信息,所述实时音频指纹检索库采用环形队列存储数据,所述的环形队列包括头指针、尾指针、最大容量、当前数量信息,所述的数据从队列的头部添加,每次成功添加数据,所述的头指针往前移,所述的尾指针和头指针之间的数据设为当前有效数据,检索时从队尾开始...

【专利技术属性】
技术研发人员:王磊邱戴飞
申请(专利权)人:杭州智屏软件有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1