媒体指纹的搜索与存储的制作方法

文档序号:6485037阅读:222来源:国知局
专利名称:媒体指纹的搜索与存储的制作方法
技术领域
本发明涉及消费电子领域,特别涉及一种使得数字指纹的有效搜索与存储变得容易的方法与系统。
2001年5月14日由Geoffrey B.Rhoads和Kenneth L.Levy提出的美国专利申请US 2002/0032864 A1,“内容标识符触发相应响应(CONTENT IDENTIFIERS TRIGGERING CORRESPONDINGRESPONSES)”,提出多种技术并且在这里通过引用被并入,所述技术通常用于基于数据集的内容、例如音频或视频文件来创建一个或多个指纹。一个数据集的指纹通常被用于访问与该数据集有关的辅助信息,诸如数据集标题、表演艺术家、作曲家、导演等的标识。另外,数据集的指纹可以被用于验证数据集访问权限和/或评估与这种访问相关的费用。在本技术领域中,基于数据集内容的数据集标识符的其它用途是常见的。
通常使用的与诸如唱片和录像等娱乐素材相关的指纹旨在唯一地标识该唱片和录像,并且同样地,这些指纹相当长。例如,针对专业/商业唱片指纹的128字节格式十分常见。可以预期,由成千上万个这种指纹构成的数据库被用于唯一地标识商业唱片,并且需要在大型数据库中针对大的标识符的有效搜索技术。
还可以预期,消费娱乐设备中会包括用于保存指纹数据库和相应辅助信息的存储器,并且也将需要针对这种信息的有效存储技术。
进一步复杂化指纹搜索和存储的任务,可能在指纹和数据集之间不存在一一对应。一个指纹可以基于数据集的全部内容,或基于数据集的一个或多个选定段。由于指纹是基于数据集内容的,对数据集采样以获得指纹可能为相同的数据集产生不同的指纹。搜索指纹数据库以发现与当前确定的指纹的一个匹配通常需要基于数据集的交替采样对数据库搜索多次,和/或对包含同一数据集的多个指纹的数据库搜索一次。
例如,考虑一个歌曲数据库,以及一种指纹创建方案,该方案为相同的歌曲平均提供10个不同的指纹。数据库可以被构建为针对每首歌曲包含10个最常见的指纹,也可以被构建为针对每首歌曲包含1个最有可能的指纹。当采样一个至今未知的数据集以产生一个“搜索”指纹时,它可能会与数据库中的一个指纹匹配,也可能不会,要么因为这首特定的歌曲没有被包括在数据库中,要么因为这首歌曲在数据库中,但特定的搜索指纹不是该歌曲在数据库中的指纹之一。当找不到一个匹配时,典型地获得一个新的采样,并且如果产生一个新的搜索指纹,使用这个新的指纹搜索数据库进行匹配。拥有10个最常见的针对一首歌曲存储在数据库中的指纹增加快速发现一个匹配的可能性,但它也需要将搜索指纹与存储指纹比较10次之多;每首歌曲仅仅存储一个指纹减少数据库的大小以及针对每个搜索指纹的搜索时间,但是增加了不得不使用获取的不同指纹来执行多次搜索的可能性。
因为多个指纹对应于相同歌曲的可能性,所以甚至对于较小的数据库以存在对有效搜索和存储技术的需求,并且对于大型数据库特别关键。
本发明的一个目标是提供一种基于具有差异的指纹使数据库搜索变得容易的方法和系统。本发明的另一个目标是提供一种方便在有限大小存储器中有效存储指纹数据库的方法和系统。
这些目标以及其它目标通过一种考虑到关于每个指纹的一系列变种的搜索以及通过使用一种先进先出的存储策略来实现。认识到各种不同的指纹可以对应同一数据集,用断定两个指纹匹配的宽松准则来执行指纹数据库搜索以发现与目标指纹的匹配。通过匹配“相似的”、而不是“原样的”指纹,对于每个数据集就不需要存储冗余的指纹。当发现一个新的指纹时,使用“先进先出(FIFO)”策略在有限的存储空间中为存储新的条目分配空间。


图1示出根据本发明的搜索与存储系统的示例框图。
图2示出根据本发明的匹配确定过程的示例流程图。
贯穿附图,相同的参考数字指相同的单元,或基本上执行相同功能的单元。
图1示出根据本发明的一个搜索与存储系统100的示例框图。系统100包括一个比较器150,该比较器被配置成比较目标指纹和来自指纹数据库140的选定指纹。一个提取器110从媒体101中提取目标指纹,并且序列发生器120选择性地从数据库140中提供指纹用来与这个目标指纹进行比较。
根据本发明,比较器150被配置成确定目标指纹和数据库指纹之间的匹配,这种匹配基于指纹之间的差异量,而不仅仅基于是否存在差异。也就是说,比较器150被配置成断定目标指纹和数据库指纹之间的匹配,即使在它们之间存在一些差异。在一般的情况下,比较器150包括一个识别指纹之间差异的差异确定器160,以及一个基于所识别的差异来确定差异量的测量的量化器170。
在图1所示的例子实施例中,差异确定器160包括一个异或(XOR)装置,该装置识别签名的每个不同的比特,而量化器170包括一个查找表(LUT),该查找表将比特差异映射到量化测量。差异确定器160和量化器170可以被配置成实现整个指纹的比较,或它们可以被配置成顺序地实现部分指纹的比较,并且累积差异测量的累计(running sum)。例如,差异确定器160的XOR装置可以被配置成比较指纹的每个字节来生成一个差异字节,并且量化器170的查找表提供与每个差异字节对应的比特差异数量的计数。例如差异字节00000001,00000010,...,10000000中的每一个将映射到量值“1”,指示出1比特的差异。差异字节00000011,00000101,00000110,...,11000000将映射到量值“2”,指示出2比特的差异,如此类推。在这样一种实施例中,量化器170根据一个查找表为每个差异字节维护量值的一个运行和,从而提供指纹之间差异量的累积测量,在这个例子中,它是指纹之间不同比特总数的计数。
鉴于所公开的这种方法,测量或量化两个指纹之间差异量的其它方法对于本领域中的一般技术人员是显而易见的。例如,如果指纹中特定字要比指纹中其它字更加重要或更有特色,量化器170可以被配置成给量化测量赋予为每个字确定的不同权重。以类似的方式,可以允许在指纹的某些段中比在其它段中有更多的差异,等等。
比较器装置180将来自量化器170的差异的量化测量与阈值Th进行比较以确定是否检测到一个不匹配。如果差异测量超过了阈值,则断定不匹配。与常规的装置相比,本发明的阈值大于零,由此在断定不匹配的情况下允许在指纹之间存在一个或多个差异。如果比较器150被配置成顺序地比较字节或字,或指纹的其它片段,并且量化器170提供差异测量的累计,那么一旦所述累计超过最大值就可以断定不匹配。
序列发生器120被配置成控制存储控制器130,该存储控制器130从数据库140中提取每个指纹以用来与目标指纹进行比较。在这里在一般意义上使用术语“数据库”,以便包括那些使得信息检索变得容易的任何信息集合。数据库可以被存储在一个或多个存储装置中,所述存储装置可以被配置在系统100的内部或外部,或两者兼而有之。在一个简单的实施例中,序列发生器120仅仅以顺序的方式从数据140提供每个指纹,直到比较器150发现一个匹配。在一个更加复杂的实施例中,可以基于比较器150所提供的结果从数据库140中选择每个下一指纹。例如,如果指纹是以某种顺序或模式存储在数据库140中,比较器150可以被配置成提供来自数据库的上一个指纹与目标指纹之间差异的指示。在这样一种实施例中,序列发生器可以被配置成使用特定的增量范围来顺序地搜索,所述增量范围取决于所指示的差异。例如,如果观察到明显的差异,序列发生器可以使用大的增量跨度直到观察到较小的差异。
2002年12月19日由Michael Epstein和Raymond Krasinski提出的、共同未决的美国专利申请“媒体指纹的重排序搜索”、律师记录号US020591(702895),公开与常规的MSB到LSB的字节顺序相比,通过使用字节重排序在数据库中存储指纹所获得的优点,在这里通过引用并入该专利申请。如果用常规的方式或如在共同未决的申请中所教导的方式来以一种排序次序存储指纹,那么序列发生器120被配置成利用常规的排序搜索技术,诸如基于来自数据库140的先前指纹与目标指纹之间差异符号的二分搜索来实现针对目标指纹的数据库有序搜索(如指纹提取器110和序列发生器120之间虚线箭头所示)。因为比较器150允许存在差异,而仍然断定两个指纹之间匹配,所以与常规的排序搜索相比,修改由序列发生器120执行的排序搜索。如果发现了匹配,则序列发生器120终止进一步搜索,如同常规排序搜索那样。然而,如果在序列发生器120基于使用的特定排序搜索算法所选择的样本中没有发现匹配,可能需要穷举搜索数据库140以确保在数据库140中不存在一个相近差错(near-miss)指纹(即与目标指纹的差异小于阈值的指纹)。
可选地,当确定在数据库140中无法找到一个匹配时,序列发生器120被配置成经由存储控制器130将该指纹以及辅助数据存储到数据库140中。在本发明的一个优选实施例中,控制器130被配置成在数据库140满的情况下实现一种用于添加新指纹的先进先出策略。其它的用于确定移除哪些信息以为新的信息让出空间的技术对于本领域的技术人员是显而易见的,包括提示用户手动删除一个指纹来为新指纹让出空间。
图2示出根据本发明的匹配确定过程的示例流程图。在210,接收目标指纹,并且循环220-250开始。在220,从数据库选择一个指纹,而在230,该指纹与目标指纹进行比较。如上面所提到的,本发明允许,即使在两个指纹之间存在差异,也确定两个指纹之间的一个匹配。在这个实施例中,用于估算签名之间差异的量化测量是观察到的差异的数量,诸如签名之间不同的比特的个数,或签名之间不同的字的个数,等等。
如果在240,签名之间的差异数量大于阈值,则断言一个不匹配,并且在220从数据库中选择另外一个签名,除非在250确定了数据库中所有的条目都不匹配。如果在250确定所有的条目都不匹配,过程在260终止,可选地通过允许用户将与目标指纹对应的新信息存储进数据库而终止。
如果在240,签名之间的差异数量不大于阈值,则断定一个匹配,并且在270提取与匹配签名对应的辅助信息。
然而注意到,因为可以将“相近差错”识别为目标指纹的一个匹配,所以相近差错事实上可能与目标不对应。没有示出,如果所检索的信息实际上并不与目标素材相对应(图1中的101),则向用户提供将与目标指纹相对应的新信息作为添加或替换存储到数据库的选项。
前述的内容仅仅阐述本发明的原理。因而应认识到,本领域的技术人员将能够设计出不同的方案,这些方案虽然没有在这里显式地加以说明或显示,但是体现本发明的原理,因而符合本发明的精神和范围。例如,前述的阈值在这里是作为静态值呈现的。本领域普通的技术人员将能够意识到可以将“学习”技术应用到系统100以动态地修改阈值,从而改善系统的性能。例如,对于相同的素材,可以基于在签名中观察到差异来修改阈值。如果用户重复地识别出在匹配的指纹和目标之间的不对应,如前面一段中讨论的那样,则例如,系统100可以被配置成减小阈值,要么自动地,要么由用户许可或发起。以类似的方式,可以基于数据库140的大小,或数据库140内容的分类,动态地修改阈值。以类似的方式,如果指纹是分类的或有序的,则针对不同的分类或顺序可以使用不同的阈值。鉴于在这里所公布的,这些以及其它的系统配置和优化特征对于本领域中普通的技术人员是显而易见的,并且被包括在下面的权利要求书的范围中。
权利要求
1.一种用于搜索多个指纹以发现与目标指纹相对应的选定指纹的系统,包括一个比较器,所述比较器被配置成比较一个给定指纹与目标指纹,并且当确定了一个匹配时,将给定指纹识别为选定指纹,以及一个序列发生器,所述序列发生器将来自多个指纹的所述给定指纹提供给比较器,其中,比较器被配置成基于与给定指纹和目标指纹之间的差异相关的量化测量来确定匹配,使得当给定指纹和目标指纹之间存在一个或多个差异时能够确定匹配。
2.权利要求1的系统,其中所述量化测量取决于给定指纹和目标指纹之间差异的计数。
3.权利要求1的系统,其中所述比较器被配置成通过比较量化测量和一个阈值来确定匹配。
4.权利要求3的系统,其中系统还被配置成基于先前的匹配确定来动态地调整阈值。
5.权利要求1的系统,其中所述比较器包括一个差异确定器,所述差异确定器被配置成识别给定指纹和目标指纹之间的差异;和一个量化器,可操作地耦合到所述差异确定器,所述量化器被配置成基于识别的差异来确定量化测量。
6.权利要求5的系统,其中所述差异确定器包括异或功能。
7.权利要求6的系统,其中所述量化器包括一个查找表,所述查找表基于识别的差异来提供一个量值,以及所述量化器基于所述量值来确定量化测量。
8.权利要求5的系统,其中所述量化器包括一个查找表,所述查找表基于识别的差异来提供一个量值,以及所述量化器基于所述量值来确定量化测量。
9.权利要求1的系统,还包括一个存储器控制器,所述存储控制器被配置成当确定不匹配时,将目标指纹存储为多个指纹的其中之一。
10.权利要求9的系统,其中存储器控制器被配置成使用先进先出策略来将目标指纹存储在存储器中。
11.一种用于搜索多个指纹以发现与目标指纹相对应的选定指纹的系统,包括一个比较器,所述比较器被配置成比较一个给定指纹与目标指纹,并且当确定一个匹配时,将给定指纹识别为选定指纹,一个序列发生器,所述序列发生器将来自多个指纹的所述给定指纹提供给比较器,一个存储器,所述存储器被配置成包含多个指纹,和一个存储器控制器,所述存储器控制器被配置成当确定不匹配时,使用一种先进先出(FIFO)的策略来将目标指纹作为多个指纹的其中之一存储在存储器中。
12.权利要求11的系统,其中所述多个指纹以排序次序被存储在存储器中。
13.权利要求12的系统,其中所述比较器被配置成当在给定指纹和目标指纹之间差异的数量小于一个阈值时确定匹配,所述阈值大于1,由此当在给定指纹和目标指纹之间存在一个或多个差异时允许确定匹配。
14.一种用于搜索多个指纹以发现与目标指纹相对应的选定指纹的方法,包括选择性地将来自多个指纹的给定指纹与目标指纹进行比较以确定给定指纹是否是匹配指纹,其中,当给定指纹和目标指纹之间差异的数量小于一个阈值时,给定指纹被确定为匹配指纹,所述阈值大于1,从而当在给定指纹和目标指纹之间存在一个或多个差异时,允许给定指纹被确定为匹配指纹。
15.权利要求14的方法,其中给定指纹与目标指纹的比较包括识别给定指纹和目标指纹之间的差异,以及基于所识别的差异来量化差异的数量。
16.权利要求15的方法,其中识别差异包括实现给定指纹和目标指纹的异或。
17.权利要求16的方法,其中量化差异的数量包括访问一个查找表以基于所识别的差异来获得一个量值。
18.权利要求17的方法,其中量化差异的数量包括访问一个查找表以基于所识别的差异来获得一个量值。
19.权利要求14的方法,进一步包括当在多个指纹中没有发现匹配指纹时,将目标指纹存储为多个指纹的其中之一。
20.权利要求19的方法,其中存储目标指纹包括应用先进先出策略来将目标指纹存储在有限大小的存储器中。
全文摘要
认识到各种不同的指纹可以对应同一数据集,用断定两个指纹匹配的宽松准则来执行指纹数据库搜索以发现与目标指纹的匹配。通过匹配“相似的”、而不是“原样的”指纹,对于每个数据集就不需要存储冗余的指纹。当发现一个新的指纹时,使用“先进先出(FIFO)”策略在有限的存储空间中为存储新的条目分配空间。
文档编号G06F17/30GK1799049SQ200480014982
公开日2006年7月5日 申请日期2004年5月24日 优先权日2003年5月30日
发明者M·A·埃普斯泰恩, R·J·克拉辛斯基 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1