具有根据搜索负荷被均衡的指纹数据库的媒体识别系统的制作方法

文档序号:6349414阅读:117来源:国知局
专利名称:具有根据搜索负荷被均衡的指纹数据库的媒体识别系统的制作方法
技术领域
本发明一般地涉及媒体识别系统,尤其涉及对媒体识别系统用来匹配未知测试样本的参考指纹的数据库的管理。
背景技术
数字指纹识别是能够用来识别诸如音频或视频样本之类的未知数字媒体样本的处理。在示例媒体识别系统中,为可从数据文件、广播节目、流媒体或任何各种其他媒体源获得的多个已知媒体样本中的每一个生成数字指纹。每个数字指纹可包含如下数据段,所述数据段含有关于媒体的样本的特征信息,所述特征信息是从媒体样本生成的。通过引用全部结合于此的美国专利No. 7,516,074描述了用于从数据信号生成特征数字指纹的实施例。参考指纹随后被存储在数据库或储存库中,并通过将参考指纹与其相应的媒体样本和/或与媒体样本有关的元数据相关联的方式被索引。美国专利No. 7,516,074还公开了在数据库中索引参考指纹的实施例。参考指纹的数据库可用来识别未知媒体样本。为了识别未知媒体项,测试指纹从该媒体项的样本被生成。测试指纹随后被对照参考指纹的数据库来进行匹配,并且如果发现匹配,则该未知媒体样本被宣布为与匹配的参考指纹相关联的媒体样本。用于宣布有效匹配的各种精确匹配和模糊匹配算法及标准可被使用。通常根据指纹的普通特征(例如指纹向量的坐标或者指纹中包含的数据的某一其他部分)来在数据库中索引参考指纹。这种类型的索引方案允许多阶段匹配处理。例如, 基于该索引方案,测试指纹可被审查以确定与数据库中的参考指纹的一个或多个候选集合的初步匹配。然后,每个被识别的候选被与测试指纹(例如逐比特地)作比较以确定是否存在匹配。通过在计算量更大的指纹比较之前缩窄为候选列表,这种多阶段匹配处理避免了访问数据库中的每个参考指纹然后将每个参考指纹与测试指纹作比较的需要。在媒体匹配系统的某些应用中,未知媒体样本对照已知媒体样本的扩展集合而被匹配。例如,未知媒体样本可以是来自在线视频分享网站的视频剪辑,并且这些媒体样本可对照诸如广播节目之类的已知媒体样本被测试。随着已知媒体样本集合的增长,新的参考指纹被从这些样本生成并且随后被添加到参考指纹数据库。在参考指纹的数据库非常大的应用中,数据库可在多个物理和/或逻辑分区(又称为“贮存仓”(silo))上被实施。当参考数据库包含多个分区时,参考样本通常基于每个分区中包含的数据量基本均勻地被分布在这些分区上。用于存储参考指纹的具体算法可取决于该参考指纹所源自的媒体样本的源。当例如从广播节目被获得时,样本可根据从其获得这些样本的广播频道或者这些样本的任何其他元属性而被添加到分区。虽然该算法可能易于均衡每个分区中存储的数据量,但是它不会使数据库的预期使用达到最优情况。这是因为实际上,媒体样本的元属性及其受欢迎度(popularity)之间常常存在关联。例如,在示例媒体匹配系统中,与源自其他源相比,测试样本常常更经常地源自一个特定的源。由于索引系统会将用于测试样本的候选分组成分区,因此这往往会导致某些分区上的访问负荷(例如,读请求)比其他分区更多。基于媒体匹配系统进行的访问所造成的某些分区上的超负荷可能导致系统的次优性能。

发明内容
当在媒体识别系统的参考数据库中存储参考指纹时,发明的实施例对当数据库被媒体识别系统使用时的数据库上的搜索负荷进行均衡。具体地,当在数据库中存储一个或多个新的参考指纹时,发明的实施例选择数据库中的用于存储新参考指纹的一个或多个分区。所选分区是至少部分地基于媒体识别系统对分区的访问率(例如,给定时间段中对每个分区的搜索次数)来确定的。在一个实施例中,新的参考指纹将倾向于被放置在具有比其他分区相对更低的访问率的分区中。由于向分区添加参考指纹往往会增加该分区的访问率,因此向数据库的具有相对更低的访问率的分区添加新的参考指纹将易于均衡媒体识别系统对分区的搜索负荷。在一个实施例中,该系统可以创建新分区并将新分区链接到现有数据库以减轻对现有分区的搜索负荷。例如,通过将现有参考数据文件转移到新创建的分区,所有分区的搜索负荷可以变得更均衡,从而改进整体数据库访问率。在另一实施例中,该系统可以通过根据对指纹的访问率在数据库内移动现有参考指纹来重新均衡分区上的负荷。分区可以按照关于参考数据的元信息来被分组,并且对搜索负荷的均衡可以按组的级别而不是单独针对每个新参考指纹来进行。


图1是根据发明实施例的媒体指纹识别系统的示意图。图2是根据发明实施例的参考指纹的数据库的示意表示。图3是用于在图2的数据库中存储参考指纹的数据结构的示意表示。图4是根据发明实施例的在指纹匹配系统中使用的数据库的示意图示。图5A和图5B是示出根据发明实施例的由用于匹配数字指纹的应用所执行的步骤的流程图。图6是描绘了将被存储在数据结构中的参考指纹的候选集合的、图3所示的数据结构的示例。图7是根据发明实施例的用于均衡参考指纹的数据库上的搜索负荷的方法的流程图。这些附图仅出于例示目的描绘了本发明的各个实施例。本领域技术人员从以下讨论中将容易认识到,在不脱离本文描述的发明原理的情况下,可以采用本文例示的方法和结构的替代实施例。
具体实施例方式在数字指纹识别应用中,从未知音频或视频内容采样到的数字指纹被与从已知音频或视频节目获得的数字指纹的参考数据库作比较,以便识别该未知内容。识别未知内容是所希望的,因为它可以允许未知内容的元数据被修复,或者允许控制版权保护素材的分发,以及媒体识别系统的很多其他应用。
图1示出用于在数据库系统中实施数字指纹识别应用的装置。参考指纹的数据库 100和数据库服务器125被示出。数据库服务器125运行从媒体样本创建参考指纹的指纹生成算法。在一个实施例中,数据库服务器从由广播机130发送的广播节目140生成参考指纹。在另一实施例中,数据库服务器125从诸如文件分享网络或互联网站点之类的计算机网络135采样媒体内容并从所采样的媒体内容创建参考指纹。数据库服务器125将生成的参考指纹存储在数据库100上以便它们可被用于识别未知媒体样本,如本文所描述的。图2更详细地示出数据库100的一个实施例。数据库100包括存储在数据结构110 内的多个标准大小的参考指纹105。参考指纹105可包含音频或视频内容中的一部分的数字指纹。数据库100中还包括与每个参考指纹105相关的元数据115。元数据115可包括与被归为参考指纹105的数字媒体内容有关的信息,如标题、艺术家、流派、制作者和版权日期。元数据115可从广播节目140被提取或以其他方式由数据库服务器125获得。数据库100还包括能够被用来识别可能与测试指纹相匹配的候选指纹的集合的多个索引120, 如本文将更详细地描述的。索引方法被用来识别可能与测试指纹相匹配的参考指纹的候选集合。候选指纹的集合是基于它们在逻辑预定义的“存储桶”(bucket)中的出现被识别的,每个存储桶引用在与该存储桶相关联的模板所指定的某些比特位置处共享相同比特值的一组指纹。包含有其比特值与相应模板中所指定比特位置处的测试指纹相匹配的指纹的存储桶被标记。由于指纹可在许多不同的存储桶中被引用并且每个被标记的存储桶指示出被该存储桶引用的指纹是匹配物的增大的概率(increased probability),一组指纹可基于它们在最高标记的存储桶中的重现而被识别为候选指纹集合。图3更详细地示出参考指纹105被存储的数据结构110。数据结构110包括被称为分区的多个数据储存库。在一个实施例中,分区200例如由LDAP协议逻辑地定义,并且每个分区200的实际数据内容可被存储在相同或不同位置中的任何数量的物理存储介质上。 每个分区200的内容包含参考指纹105的子集。在图4所示的典型匹配应用中,未知媒体内容300被数据库服务器125采样以生成测试指纹310。未知内容300可包括从诸如允许用户生成的数据被上传的网站之类的网站采样到的数字音频或视频数据。该采样可由数据库服务器125处的软件程序或者由将测试指纹310传送到数据库服务器125的远程程序自动执行。这种软件程序可以是通常被称为“机器人”或“蜘蛛”的自动程序,所述自动程序自动地在互联网上爬行,以寻找被分享的音频或视频内容来采样。未知内容300还可包括在文件分享网络上被分享的数据。测试指纹310可以是从未知内容300的一部分获得的数字指纹。多个数字指纹可以从同一音频或视频流获得。在一个示例中,为每五秒的采样内容生成一个新的测试指纹。 测试指纹310 —旦被获得,它就可以被对照数据库100进行匹配,以确定数据库100中包含的参考指纹105是否与该测试指纹310相匹配。如果发现匹配,则匹配的参考指纹305的元数据115可以被审查以识别未知内容300并采取适当的其他步骤,例如,通知版权所有者、 在该内容中插入广告或阻止该内容。测试指纹310不需要与参考指纹105完全匹配。由于未知内容300中的噪声所造成的保真度损失或其他失真可能导致测试指纹310和相应的参考指纹105之间的差别,因此可以认为部分匹配足以用于以足够高的确定度来识别测试指纹。
图5A示出用于对照参考指纹105来匹配测试指纹310的方法的概况。在块400 所示的第一步,参考指纹的候选集合500被生成。在块405所示的第二步,测试指纹310被对照候选集合500中的每个参考指纹来进行比较以确定它们是否匹配。图5B示出图5A的识别步骤400的一个实施方式。在图5B中,索引方法被用来识别参考指纹的候选集合500。每个索引120根据参考指纹的特征来索引参考指纹。例如, 索引可将对于特定坐标具有同一值的参考指纹分成组。在块410所示的第一步,测试指纹 105被与第一索引120作比较以识别可能与该测试指纹相匹配的指纹的候选集合。如果匹配,则与索引120相关联的参考指纹被标记,如块420所示。对每个索引120重复该处理直到所有索引都已与测试指纹310作比较,以识别用于该测试指纹的所有可能的候选参考指纹。在该方法的最后,多个参考指纹105将被标记。由于参考指纹105可能与由多于一个索引120所定义的测试指纹310的被索引特征相匹配,因此参考指纹105可多次被标记为候选。所有候选参考指纹随后被分组,如块425所示。在上述步骤中,候选参考指纹在不必获得参考指纹的实际副本的情况下通过索引被识别。然而一旦候选指纹被识别,候选参考指纹的副本就被获得,所以匹配算法可以将每个被识别的候选指纹与测试指纹作比较以确定是否存在匹配。由于从参考数据库获得候选指纹的副本是读操作,因此它可包含对数据库中候选参考指纹所位于的分区的“访问”,并且因而是参考数据库的资源上的负荷。图6通过示例示出数据结构110,其中数据结构110中的参考指纹的候选集合500 已被识别出。在图6的示例中,四个分区200被示出,并且这四个分区200包含总共两百个被识别的候选指纹。如从左到右所示,第一分区200包含该候选集合的一百个参考指纹,第二分区200包含十七个参考指纹,第三分区200包含一个参考指纹,并且第四分区200包含八十二个参考指纹。为了识别候选集合500中任一参考指纹是否与测试指纹310相匹配,指纹匹配算法可在测试指纹310和候选集合500中的每个参考指纹之间执行逐比特比较。这可在图5A 所示的比较阶段405期间执行。为了进行该比较,指纹匹配系统首先从每个分区200获得候选参考指纹的副本。该读操作可在每个分区200上并行执行;然而,比较阶段的整体速度受到从最慢分区200进行读取的速度的限制,最慢分区可能是保存了最大数目的候选指纹的分区200。在本示例中,包含较多被识别候选指纹的分区将可能比包含较少被识别候选指纹的分区花费更多的时间来将指纹提供给匹配算法。由于在本示例中候选指纹的数目没有均勻地被均衡,因此比较的整体速度将是次优的。如果参考指纹的候选集合500更均勻地分布在各分区200上,比较阶段将进行地更快。这种情况下,如果候选集合中的两百个指纹更均勻地被分布,则每个分区将大约拥有候选集合中的五十个指纹,并且匹配的整体速度可能快得多。图7示出根据本发明的用于均衡数据库中的搜索负荷的计算机实现的方法的流程图。如块600所示,针对每个分区200监视访问率。访问率被确定为指纹的候选集合500 中包含的该分区上的参考指纹的平均数目,并且是在多个测试指纹310的比较过程中测得的。访问率可在若干时间段中被测量,包括但不限于,每月、每周、每天、每小时、每分钟或每秒。在监视对数据库中的分区的访问率时,数据库服务器125可如块610所示接收用于将新的参考指纹添加到数据库100的请求。该请求可以是对诸如图1所示的已知广播 140进行采样的结果。然后,如块620所示,新的参考指纹被存储在与其他分区200相比具有相对低的访问率的至少一个分区200上。通过持续将新参考指纹存储在具有较低访问率的分区上,这些分区上的访问率提高,使得它们对于大多数搜索大致保持平均,进而平均搜索速度可以提高。参考指纹还可被动态地重新分布以对分区的访问率进行负荷均衡。代替仅将新参考指纹存储在具有较低访问率的分区上,还可通过将参考指纹从具有较高访问率的分区转移到具有较低访问率的分区来周期性地重新均衡数据库。这既可持续地被执行,也可在指定的预定维护时间被执行。另外,参考指纹可被成组地存储在分区上,参考指纹的最优位置的判断以组的级别而不是单独针对每个参考指纹来进行。例如,当为特定一集的广播节目生成参考指纹时, 用于该集的所有参考指纹可被存储在具有最低访问率的分区上。仅当下一集被广播时,用于该段内容的新创建的参考指纹才随后被存储在用于该集的具有相对低的访问率的一组分区上。作为替代,指定数目或数据大小的参考指纹可被分组在一起,以对该组将被存储在数据库中什么地方进行定位。在一个实施例中,随着数据库增长,可能希望向该组分区添加分区,而不是简单地增加现有分区的大小。当分区被添加时,一种在数据库系统中实现新分区的方法将参考指纹从一个或多个现有分区转移到新分区。通过这样做,可以预计,新分区的访问率将与现有分区的平均访问率大致相等或更低。已出于例示目的给出了发明的实施例的以上描述,但它不打算成为穷尽性的或将发明限制在所公开的确切形式。相关领域技术人员可以理解,鉴于以上公开,可能存在很多修改和变化。本说明书的某些部分在对信息进行的操作的符号化表示和算法方面描述了发明的实施例。这些算法描述和表示通常被数据处理领域技术人员用于将他们的工作内容有效地传达给该领域其他技术人员。这些操作虽然是在功能上、计算上或逻辑上被描述的,但是应理解,它们可由计算机程序或等同的电子电路、微代码等来实施。另外,也已证明,在不失一般性的情况下,有时将这些操作的装置称为模块比较方便。所描述的操作和它们相关的模块可以通过软件、固件、硬件或其任意组合来体现。本文描述的任何步骤、操作或处理可通过一个或多个硬件或软件模块、单独或与其他设备结合地被执行或实施。在一个实施例中,软件模块是利用包含计算机可读介质的计算机程序产品来实施的,所述计算机可读介质包含可以由用于执行所描述的任一或全部步骤、操作或处理的计算机处理器来运行的计算机程序代码。发明的实施例还可与用于执行本文的操作的设备有关。该设备可针对所需目的来专门构造,并且/或者它可包含由计算机中存储的计算机程序选择性地激活或重新配置的通用计算设备。这种计算机程序可被存储在有形计算机可读存储介质或任何类型的适于存储电子指令并耦合到计算机系统总线的介质中。此外,说明书中所称的任何计算系统可包括单个处理器或者可以是为了增加的计算能力而采用多处理器设计的架构。发明的实施例还可与载波中包含的计算机数据信号有关,其中计算机数据信号包括本文描述的计算机程序产品或其他数据组合的任何实施例。计算机数据信号是以有形介质或载波存在的并且在载波中被调制或以其他方式编码的、有形的并且根据任何适当传输方法被传输的产品。 最后,说明书中使用的语言主要是出于可读性和指导目的而选择的,并且它不是为了描述或限制发明主题而选择的。因此,希望发明的范围不受该详细描述的限制,而由基于此而提出申请的任何权利要求限制。因此,发明的实施例的公开打算例示而非限制发明的范围,发明的范围在所附权利要求中给出。
权利要求
1.一种用于向数据库添加参考指纹以均衡媒体识别系统对数据库的搜索负荷的计算机实现的方法,所述方法包括维护包含多个分区的参考数据库,每个分区存储从已知媒体样本生成的参考指纹的集合;监视媒体识别系统对分区的访问率;接收用于在所述参考数据库中存储一个或多个新的参考指纹的请求; 至少部分地基于对分区的访问率来选择所述参考数据库的分区;以及将新的参考指纹存储在所述参考数据库的被选分区中。
2.根据权利要求1所述的方法,其中每个分区是逻辑地定义的所述参考数据库的数据储存库。
3.根据权利要求1所述的方法,其中维护所述参考数据库包括 按照参考指纹的特征来在所述数据库中索引参考指纹;以及将具有相同被索引特征的参考指纹分组在所述参考数据库的同一分区中。
4.根据权利要求1所述的方法,其中所述参考数据库还包括与所述参考数据库中的参考指纹所对应的所述已知媒体样本有关的元数据。
5.根据权利要求1所述的方法,其中所述参考数据库的特定分区的访问率包含在指定的时间段中从该分区读取参考指纹的请求的数目。
6.根据权利要求1所述的方法,其中参考指纹中的一个或多个是从已知音频样本生成的。
7.根据权利要求1所述的方法,其中参考指纹中的一个或多个是从已知视频样本生成的。
8.一种用于向数据库添加参考指纹以均衡媒体识别系统对数据库的搜索负荷的计算机程序产品,所述计算机程序产品包括含有计算机程序代码的计算机可读存储介质,所述计算机程序代码用于执行以下操作维护包含多个分区的参考数据库,每个分区存储从已知媒体样本生成的参考指纹的集合;监视媒体识别系统对分区的访问率;接收用于在所述参考数据库中存储一个或多个新的参考指纹的请求; 至少部分地基于对分区的访问率来选择所述参考数据库的分区;以及将新的参考指纹存储在所述参考数据库的被选分区中。
9.根据权利要求8所述的计算机程序产品,其中每个分区是逻辑地定义的所述参考数据库的数据储存库。
10.根据权利要求8所述的计算机程序产品,其中维护所述参考数据库包括 按照参考指纹的特征来在所述数据库中索引参考指纹;以及将具有相同被索引特征的参考指纹分组在所述参考数据库的同一分区中。
11.根据权利要求8所述的计算机程序产品,其中所述参考数据库还包括与所述参考数据库中的参考指纹所对应的所述已知媒体样本有关的元数据。
12.根据权利要求8所述的计算机程序产品,其中所述参考数据库的特定分区的访问率包含在指定的时间段中从该分区读取参考指纹的请求的数目。
13.根据权利要求8所述的计算机程序产品,其中参考指纹中的一个或多个是从已知音频样本生成的。
14.根据权利要求8所述的计算机程序产品,其中参考指纹中的一个或多个是从已知视频样本生成的。
15.一种媒体识别系统,包括包含多个分区的参考数据库,每个分区存储从已知媒体样本生成的参考指纹的集合;指纹匹配系统,所述指纹匹配系统被配置成通过将从未知媒体样本生成的测试指纹与所述参考数据库中的一个或多个参考指纹相比较来匹配该未知媒体样本;指纹生成系统,所述指纹生成系统被配置成从已知媒体样本生成新的参考指纹,并且还被配置成将新的参考指纹存储在所述参考数据库中的至少部分地基于所述指纹匹配系统对分区的访问率而选出的分区中。
16.根据权利要求15所述的系统,其中每个分区是逻辑地定义的所述参考数据库的数据储存库。
17.根据权利要求15所述的系统,其中维护所述参考数据库包括用于按照参考指纹的特征来索引参考指纹的索引,其中具有相同被索引特征的参考指纹被分组在所述参考数据库的同一分区中。
18.根据权利要求15所述的系统,其中所述参考数据库还包括与所述参考数据库中的参考指纹所对应的所述已知媒体样本有关的元数据。
19.根据权利要求15所述的系统,其中所述参考数据库的特定分区的访问率包含在指定的时间段中从该分区读取参考指纹的请求的数目。
20.根据权利要求15所述的系统,其中参考指纹中的一个或多个是从已知音频样本生成的。
21.根据权利要求15所述的系统,其中参考指纹中的一个或多个是从已知视频样本生成的。
全文摘要
媒体识别系统生成已知媒体样本的参考指纹并将参考指纹存储在参考数据库中。媒体识别系统使用参考指纹来匹配从未知媒体样本生成的指纹,以识别该未知样本。当在指纹数据库中存储新参考指纹时,数据库的分区被选择以均衡当数据库被媒体识别系统使用时的数据库上的搜索负荷。例如,被选分区可至少部分地基于媒体识别系统对分区的访问率来确定。新参考指纹将倾向于被放置在具有比其他分区相对更低的访问率的分区中,这将易于均衡媒体识别系统对分区的搜索负荷。
文档编号G06F15/16GK102483731SQ201080024642
公开日2012年5月30日 申请日期2010年5月11日 优先权日2009年6月11日
发明者亚当·卡汉, 尼古拉斯·斯特, 约书亚·斯莫曼, 罗布·约翰逊 申请人:雅虎公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1