CN1498380A - 用于识别电子文件的方法和设备 - Google Patents

用于识别电子文件的方法和设备 Download PDF

Info

Publication number
CN1498380A
CN1498380A CNA028068750A CN02806875A CN1498380A CN 1498380 A CN1498380 A CN 1498380A CN A028068750 A CNA028068750 A CN A028068750A CN 02806875 A CN02806875 A CN 02806875A CN 1498380 A CN1498380 A CN 1498380A
Authority
CN
China
Prior art keywords
test
distribution plan
section
file
signal sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA028068750A
Other languages
English (en)
Other versions
CN1317663C (zh
Inventor
ղķ˹��E���¶�
詹姆斯·E·穆尔
�ֵ�����
布鲁斯·沃德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adeia Media LLC
Original Assignee
ANTI-EMBEZZLE Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ANTI-EMBEZZLE Ltd filed Critical ANTI-EMBEZZLE Ltd
Publication of CN1498380A publication Critical patent/CN1498380A/zh
Application granted granted Critical
Publication of CN1317663C publication Critical patent/CN1317663C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/632Query formulation
    • G06F16/634Query by example, e.g. query by humming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

本发明提供了一种用于通过测试识别电子文件的方法和设备。根据本发明,该识别处理包括读取包括主信号序列的主文件,将该主信号序列分为多段,产生代表每一主信号段的参考指示符,存储各参考指示符作为主分布图,读取包含测试信号序列的测试文件,将该测试信号序列分成多段,产生该测试信号序列的连续段的各测试指示符以形成测试分布图,连续比较主和测试信号序列的各对应段的参考指示符和测试指示符,判定该参考和测试指示符是否匹配,并且产生对应标记。

Description

用于识别电子文件的方法和设备
本发明涉及用于识别电子文件,特别是包含音频信息的电子文件,的方法和设备。本发明特别应用于通过将文件与主音频文件匹配来识别未知音频文件。
可以设想将采用本发明来在因特网上搜索特定的音频文件和音频轨道,并检查所定位的音频文件或轨道是否与其详细资料存储于数据库中的主音频轨道匹配。
众所周知,可由人重放所定位的轨道并用耳朵来识别这些轨道,从而实现在因特网上搜索特定的音频轨道并识别这些轨道。
我们也知道可在数据库中存储某一特定轨道的标题并在因特网上搜索对应的标题。将搜索中定位的标题与数据库中保持的标题作比较,如果匹配,则假设对应音频轨道也匹配。这么做的缺点在于并不比较实际音频轨道自身,所以不能核实轨道的匹配,并且不能识别无标题的轨道。结果,这种安排的精度并不能满足需要。
另一种已知处理取出特定音频轨道的内容,并在计算机或数据处理设备中对其进行产生代表该轨道的代码的算法。该代码存储于计算机的数据库中。然后可能通过定位未知轨道,使对其进行相同算法以产生识别代码,将该识别代码与数据库文件中的代码比较以确定它们是否匹配,从而实现在因特网上搜索对应音频轨道。然而,该处理不能完全解决音频文件匹配的核心问题,即包含相同音频轨道的两个文件不需要精确地包含相同的二元图(binarypattern)。例如由源自不同来源的记录、或不同时间点的开始、或包含噪声尖峰或背景噪声可导致差别。给定这些差别,并根据所采用的精确编码算法,该代码产生方法要么产生假匹配,要么就不能识别真匹配。所以该识别处理的总精度很差。
本发明旨在克服上述问题,并提出了用于可靠、精确和快速识别电子文件的方法和设备。
根据本发明的一个方面,提出了一种用于通过测试识别电子文件的方法,该方法包括下述步骤:
读取包括主信号序列的主文件,
将该主信号序列分成多段,
产生代表每一主信号段的参考指示符,
存储各参考指示符作为主分布图,
读取包含用于比较的测试信号序列的测试文件,
将该测试信号序列分成多段,
产生该测试信号序列的连续段的各测试指示符,以形成测试分布图,
连续比较主和测试信号序列的各对应段的参考和测试指示符,
判定该参考和测试指示符是否匹配,并且
产生对应标记。
根据本发明的另一方面,提出了一种用于通过测试识别电子文件的设备,该设备包括:
用于读取包括主信号序列的主文件的装置,
用于将该主信号序列分成多段的装置,
用于产生代表每一主信号段的参考指示符的装置,
用于存储各参考指示符作为主分布图的存储器,
用于读取包含用于比较的测试信号序列的测试文件的装置,
用于将该测试信号序列分成多段的装置,
用于产生该测试信号序列的连续段的各测试指示符以形成测试分布图的装置,
用于连续比较所述主和测试信号序列的各对应段的参考和测试指示符的装置,
用于判定所述参考和测试指示符是否匹配的装置,以及
用于输出对应标记的装置。
以本发明的优选形式,该主信号和测试信号都包括音频信号。例如,该主信号可代表流行歌曲或来自流行唱片的轨道,可采用本发明来检查该测试信号是否组成相同歌曲或轨道。
最好是,从数字编码音频轨道获得该主和测试信号序列。
最好是,每一指示符是代表波形的区别特征的简单值,例如其在各段中的主频率。例如,可通过判定每一段中包括的音频信号部分的过零次数或另一主频率值之一,来产生所述指示符。
有利地,通过下列步骤,可配置本发明的方法或设备以产生各文件的多个分布图:
创建从该信号序列的第一预定点开始的第一组段,以产生分布图,
将该第一预定点偏移预定量至该信号序列的新预定点,以及
创建从新预定点开始的一组新的段,以形成另一分布图。
下面结合附图通过示例,进一步说明本发明,其中:
图1至3是概括表示根据本发明的处理的流程图;
图4是表示对诸如主音频轨道的模拟波形进行的数字编码的波形图;
图5是示出了比较主波形与两个测试波形的波形图;
图6是进一步示出了比较测试波形与主波形的波形图;
图7是示出了测试波形的段以及如何实现以比较为目的段偏移的波形图;
图8是示出了根据本发明的主文件的产生的流程图;
图9是示出了根据图8的主文件的产生的子程序的流程图;
图10是示出了根据本发明比较测试文件与主文件的流程图;
图11是示出了根据本发明的形成测试分布图的步骤的流程图;
图12是示出了图11所示的形成测试文件的处理中的子程序的流程图;
图13是示出了根据本发明的优化文件匹配处理的流程图;以及
图14-16是示出了图13所示的优化文件匹配处理的子程序的流程图。
这里所述的发明应用于音频轨道的识别和匹配。例如,所述轨道可为流行歌曲、来自流行唱片的轨道、或来自古典或其它音乐记录的轨道。也可为来自语音记录或其它音频演出的轨道。
首先参考图1-3概括说明本发明。
图1示出了用于在数据库中产生主或参考文件以实现本发明所包括的步骤的流程图。首先,在步骤10,计算机操作员选择新标题和对应音频轨道以进入该计算机数据库。在步骤12操作员向计算机输入标题文本,随后计算机捕获该文本作为即将产生的主文件的名称。在步骤14,计算机接收与该标题对应的轨道并产生包括表示该轨道的轨道分布图(profile)的主文件。在步骤16将该标题和该主文件存入计算机的数据库中用于随后处理。
现在转到图2,当在图1请求搜索与键入计算机的新主轨道匹配的轨道时,计算机操作员在步骤20制定识别标题和可能搜索位置的搜索定义。在步骤22,操作员使包括标题、将搜索的一个或多个位置、和将执行搜索的可能频率的搜索信息键入计算机。在步骤24将这样的信息存入数据库用于随后使用。
图3示出了表示实际搜索的流程图。在步骤30初始化该搜索,并且该计算机访问数据库以得到在图2的步骤24存储的详细资料。在步骤32,计算机执行两步操作,首先在步骤24指定的位置搜索具有指定标题的轨道,然后建立包含其标题匹配的轨道的测试文件列表。接下来,在步骤34,计算机检查所定位的各种轨道的每一测试文件。这包括在步骤36动态形成测试轨道分布图,然后在步骤38动态比较该测试分布图和在步骤24已存储进数据库的主分布图。在步骤40标明了该比较的结果,并且如果没有发现匹配,则如步骤42所示计算机不执行任何任务。另一方面,如果发现匹配,则计算机进行到步骤44并将标记或记号输入数据库,以表示已发现匹配。
应该理解的是,尽管参考图1-3所述的步骤用到了单个主文件和单个测试文件,实际上,该数据库可存储多个主文件,并可同时检索与各不同主文件的匹配,还可根据每一主文件同时检查多个测试文件。
转到图4,将更详细说明形成主分布图和测试分布图的处理。图4表示了与对应于记录在主轨道或未知测试轨道上的音频声音的模拟波形50。实际上,通过每秒采样该波形几百次,很可能以数字编码形式记录了该模拟音频信号,而每秒采样该波形几百次已足够频繁以捕获波形中所关注的最高频率信号。在每一采样间隔,测量波形的振幅并将其编码为表示单个数字采样的正或负数。这在图4中由波形的阶梯状轮廓线52表示。通过例子,在图4中用虚线表示了某些等距离采样间隔54,并标出了对应数字。来自连续采样间隔的数字序列提供了波形的数字编码。
为了产生主文件的主分布图或测试文件的测试分布图,如图5所示,将信号序列分为典型为1/10秒的等持续时间的固定段56。参考图5,线(a)示出了主文件的模拟信号和对应分布图,线(b)和(c)示出了将要测试的两个文件的模拟信号和对应分布图。对于特定轨道的每一段56,计算机分配表示该段56中的波形的参考或测试指示符。该指示符是表示波形区别特征的简单值,例如其主频率。在该例子中,指示符基于该段56中的波形的过零次数。更具体地说,计算机检测该段56中的波形过零轴的次数,并将该过零次数设置为该段56的轨道指示符。实际上,只要两个连续数字采样具有一正一负的不同符号时,即可检测出过零点,并且该过零次数构成在一段56期间检测到这样的点的次数。图5示出了主文件每一段56的连续过零次数为:
8,6,7,5,6,8,6,6。这串数字构成了主文件的主分布图。
同样,图5示出了第一测试文件的测试分布图为:
6,8,4,5,7,4,2,3。以相同方式计算出的第二测试文件的测试分布图为:
8,6,7,5,6,8,6,6。
为了比较测试文件和主文件,计算机开始逐段形成测试分布图,即动态形成测试分布图,然后开始逐段比较测试分布图和主分布图,即又是动态。
如图5所示,线(b)所示第一测试文件的测试指示符仅在第四段58中与主文件的参考指示符匹配。实际上,计算机已基于第一少数段56的比较,而丢弃了该第一测试文件作为非匹配。转到线(c)中代表的第二测试文件,可看出对于每一段,测试指示符与参考指示符匹配。实际上,计算机并不形成表示主文件和测试音频文件的全部内容的分布图,而是只形成表示从这些文件的开始15秒持续时间的“被剪部分(clips)”的分布图。可以断定如果两个分布图对应,则存在匹配。
应该明白的是,特定测试文件可能表现为与主文件不简单匹配,因为作为文件基础的轨道在时间上不同步,使得主文件的第一段56与测试文件的第一段56从模拟波形的不同点开始。为了处理这种情况,如图6所示,配置计算机,以便通过在测试轨道的开始丢弃测试信号的初始部分,以为一个测试文件产生多个不同测试分布图。
图6示出了在与前面相同的主文件的线(a),具有测试码:8,6,7,5,6,8,6,6。图6中的线(b)、(c)和(d)代表已从其连续产生了第一、第二和第三测试分布图的单个测试文件。图7示出了产生这些随后的测试分布图的方式。
参考图7,放大示出了测试文件的单个段56和由紧靠该段起点之后的δ-s1标明的增长间隔60和由紧靠该段终点之后的δ-s2标明的增长间隔62。δ-s1代表在该段56的起点64和该段56内第一个过零点66之间发生的数字采样间隔数目。同样,δ-s2代表在该段56的终点68和下一段内第一个过零点70之间的数字采样间隔数目。应该理解的是,为了改变示出的特定段的过零次数,可将该段的起点64偏移或延迟与δ-s1或δ-s2对应的量,无论哪一个较小的。在所示例子中,δ-s1是较小的。因此,改变所示段56,实际是多个段56中的任何一个,的过零次数所需的最小偏移是该特定段的δ-s1和δ-s2中较小的一个。如果我们称此值为δ-seg,则产生该测试文件的新测试分布图的最小偏移是所有段中的最小δ-seg,即δ-min。δ-min实际上可以是小于或等于1/50000秒的偏移。
现在返回图6,接收线(b)中所示的测试信号以进行检查的计算机首先基于该测试信号的起点的段起点形成测试分布图72,其产生测试分布图:
12,7,7,4,6,8,6,8。可明显看到,该测试分布图与主文件的主分布图不对应。结果,计算机通过确定每一段的δ-s1和δ-s2并根据这两个值计算δ-seg,而形成第二测试分布图74。在扫描每一段的δ-seg并确定δ-min之后,计算机将测试信号偏移与δ-min对应的量,并产生图6的线(c)所示的新测试分布图74。该新测试分布图74为:
11,7,7,5,6,8,5,7。很明显该第二测试分布图也与该主文件的主分布图不匹配。
结果,计算机以相同的方式通过基于该测试信号判定δ-min再一次偏移,而产生另一个测试分布图76。所产生的第三测试分布图76为:
8,6,7,5,6,8,6,6。可看出该第三测试分布图76与该主文件的主分布图匹配,因此计算机产生输出,表示该测试文件与该主文件对应,并且因此从中产生该测试文件的音频轨道与从中产生该主文件的主轨道对应。
下面参考图8-12所示流程图更全面描述这些步骤。
参考图8,这示出了表示如图1的步骤14所述的从主文件产生主分布图的流程图。在步骤100,计算机初始化该处理。计算机在步骤102读取该主文件的第一段并在步骤104确定过零次数。在步骤106,计算机将步骤104确定的次数加到当前已形成的分布图上。接下来,在步骤108,计算机检查已读取的段数目是否与主分布图所要求的段总数对应。如果不,则计算机回到步骤102并读取下一段。如果是,则计算机进行到步骤110并将整个主分布图存入数据库。
图9示出了表示步骤104包含的子程序的流程图。在步骤112该子程序开始,并进行到步骤114,其中计算机将用于检测过零次数的计数器初始化为零。计算机然后在步骤116检查在紧靠其后的采样间隔中产生的数字数目,并在步骤118检查自上一个采样间隔以来的符号是否在正负之间改变。如果是,则在步骤120将计数器加1。另一方面,如果不,则计算机进行到步骤122,并检查是否已检查了来自该段中所有采样间隔的数目。如果步骤122的结果为是,则在步骤124子程序结束。另一方面,如果步骤122的结果为否,则计算机回到步骤116并检查来自下一采样间隔的数目。
图8和9所示流程图表示上面参考图4和5所述主分布图的产生。
现在转到图10,现在描述选择测试文件并产生测试分布图以与主分布图进行比较的步骤。计算机在步骤130开始处理,在步骤132从测试文件读取初始被剪部分或信号序列。在步骤134,计算机将用于检测第一段的起点的当前位移的计数器初始化为零。然后如步骤136所示,计算机继续计算该被剪部分中每一段的测试分布图和δ-s的值。
现在将描述图11示出的步骤136中包含的子程序。在步骤138子程序开始,并且计算机进行到步骤140以设置该段的起点与当前转移值匹配,现在为0。计算机继续到步骤142并判定初始段的过零次数和该段的δ-s。在步骤144,计算机将步骤142中判定的过零次数加到测试分布图存储器中,并在步骤146,计算机将步骤142中计算的δ-s加到所有δ-s值的存储器中。计算机进行到步骤148并检查是否已建立整个测试分布图。如果是,则计算机进行到步骤150,子程序结束。另一方面,如果否,则计算机进行到步骤152,并通过将当前段起点增加与该段长度对应的量而转到下一段。然后计算机转到步骤142以判定该新段的过零次数和δ-s以存储在测试分布图存储器和δ-s存储器中。
转到图12,示出了步骤142中包括的子程序,其在步骤154开始。在步骤156,计算机将对过零次数计数的计数器初始化为0,并在步骤156计算机检查来自下一采样间隔的数目。在步骤158,计算机确定自上一个采样间隔以来,是否已改变了符号。如果否,则计算机进行到步骤160,并检查是否已检查了该段中所有采样间隔。如果是,则计算机进行到步骤162,并查询过零次数当前是否为0。如果步骤162的结果为是,则如步骤164所示,计算机设置δ-s等于段内的当前采样位置。如果步骤162的结果为否,则计算机进行到步骤166,并将对过零次数计数的计数器增加1。然后计算机进行到步骤160,并检查是否已检查了该段中所有采样间隔。如果步骤160的结果为否,则计算机回到步骤156并检查来自下一采样间隔的数目。另一方面,如果步骤160的结果为是,则计算机进行到步骤168,并再次检查过零次数当前是否为0。如果步骤168的结果为否,则计算机在步骤170进行到子程序的结束。另一方面,如果步骤168的结果为是,则计算机进行到步骤172,并设置δ-s等于该段的长度加1。这表示在该段内没有过零,因此将δ-s设置为特异值。然后计算机进行到步骤170,并继续图11所示子程序中的步骤144。
现在转到图10,已计算了从测试文件获取的某一被剪部分的测试分布图和δ-s值的完全列表,计算机进行到步骤174并比较至今建立的测试分布图和主文件的主分布图。这对应于图5和6所示的步骤。在步骤176,计算机查询所述分布图是否匹配,并且如果是,则计算机在步骤178表示已发现匹配。然后计算机进行到图3所示步骤44。
另一方面,如果步骤176的结果表示测试分布图与主分布图不匹配,则计算机进行到步骤180并计算在段的起点所需的偏移以产生该被剪部分的新测试分布图。如上所述,参考图7,偏移量对应于对于所有测试段产生的δ-s的最小值。在步骤182,选择δ-min值,并将初始段的起点的当前位移增加这样的量。计算机进行到步骤184并判定这样的增加是否会导致在步骤132读取的被剪部分的剩余量不足以形成完整的测试分布图。在步骤186,计算机查询该被剪部分是否耗尽,如果是,计算机回到步骤136并继续计算从该初始段的偏移位置开始的测试分布图和δ-s列表。另一方面,如果步骤186的结果是已耗尽了该被剪部分,则计算机在步骤188断定在该被剪部分和主文件之间无匹配,并进行到图3的步骤42。
为了简化的目的,迄今的描述都基于多个假设,其中之一是测试分布图的一段的过零次数必须与主分布图中对应段的过零次数精确地相同,才认为这两段匹配。但是实际上,这种要求太严格了。它没有考虑到由例如使用不同音频编码格式或噪声所导致的主和测试文件之间的微小差别。
通过放松对过零次数一致的要求可实现该对微小差别的所需容限。可替代的是,如果其过零次数非常相近,可认为对应段匹配。然后基于下列方程式判定段匹配:
[(ZXRMF/margin_p)-margin_b]<ZXFFC<[(ZXRMF×margin_p)+margin_b]其中:
ZXRMF是主文件RMF的段的过零次数,
ZXFFC是测试文件FFC的段的过零次数,
margin_p是误差的相对裕度(margin),
margin_b是误差的绝对裕度。实际上,margin_p和margin_b的值分别为1.1和10。这允许±(10%+10)的裕度。
迄今为止作出的另一个假设是派生出测试分布图的测试轨道比派生出主分布图的主轨道早一点开始。实际上可能不是这种情况。在任一方向上,两个轨道的开始点之间可能存在几秒的差别。测试轨道在起点可能具有假材料,或相反地,可能错过主轨道的初始段。
上述算法已覆盖了测试轨道在起点包括假材料的情况。该算法简单地保持在测试文件中偏移、丢弃假材料,直至测试和主文件同步。
但是,测试轨道错过了主轨道的初始段的情况需要该算法的微小扩展。这需要扩展图8所示主分布图产生处理,以产生不仅是给定主文件的单个主分布图,而是一组这样的主分布图。每一这样的分布图从主文件捕获15秒的被剪部分。第一个在主文件的最开头处开始。下一个在主文件的1.5秒处开始。下一个在3秒处开始,依此类推,以1.5秒的增幅,直至最大15秒。这给出了一个主文件的总共11个主分布图。如图8所示,通过产生捕获主文件最初30秒的单个长分布图,并当其形成时,从该长分布图中提取合适的子序列,可形成所有这些11个分布图。
然后文件比较处理保持为图10所示,只有一处改动。不是将测试分布图只与一个主分布图比较,而是与全部11个分布图——一个“基本”分布图和全部“出发过迟(late start)”分布图比较。
该配置可满足到最长15秒的任意长度的错过的段。普通的位移机构可提供任何由于错过的段不是1.5秒的精确倍数而成为必须的精细同步。用这种扩展,当来自测试文件前30秒的任何15秒序列与来自主文件的前30秒的任何15秒序列匹配时,该算法就能发现匹配。
现在转到图13-16,现在描述基本偏移段算法的变形。该变形意欲以下列两种方式优化本发明的性能:
(1)通过连续计算该测试文件的各段的过零次数并同时比较该次数和主分布图中示出的对应次数。
(2)通过在任何可能的地方避免重新计算先前考虑过的段的过零次数。因此,一旦发现第一非匹配段,该处理在给定偏移位置停止对该测试分布图的计算,但当在下一偏移位置形成该分布图时,在任何可能的地方重新使用先前计算的值。从而被动态地比较每一测试文件与该主文件。
在图13的流程图中表示了该处理,其中步骤200代表对包含特定测试轨道的特定测试文件的选择。在步骤202,计算机将对测试轨道中所考虑的段的数目计数的计数器设置为0,并在步骤204,通过设置该段的开始和结束点并计算过零次数、δ-s1、δ-s2和δ-seg来初始化该第一段。计算机进行到步骤206,其中对该测试文件的第一段的过零次数与该主文件的第一段的过零次数作比较。如果存在匹配,则计算机进行到步骤208,并查询是否存在足够段匹配以表示该测试文件与主文件对应。由于这是第一段,所以结果为否,于是计算机进行到步骤210,将段计数器增加1并移动至下一段。在步骤212,计算机使用图14所示子程序初始化下一段,然后回到步骤206,再次检查该测试文件的下一段与主文件的对应段是否存在匹配。
如果在步骤206没有发现匹配,则计算机进行到步骤214并检查是否可偏移当前段的起始点而无需撤消(undo)先前段已确定的匹配。下面将参考图1 5说明该处理。在步骤216确定该检查的结果,如果可能有偏移,则计算机继续在步骤218进行这样的偏移,并然后回到步骤206再次检查测试文件的当前段和主文件的对应段之间是否有匹配。另一方面,如果步骤216的结果表示不撤消先前段已确定的匹配则不能作出偏移,则计算机进行到步骤220。在步骤220,计算机查询表示当前段数目的计数器是否为0。如果是,在步骤222,计算机假设在测试文件和主文件之间无匹配,并进行到优化过程的结束处。但是,如果计数器不为0,则计算机进行到步骤224,并将计数器减1,从而回到紧靠之前一段以再考虑。这样,计算机返回到步骤214,并检查是否可能偏移前一段而无需撤消其前面一段已确定的匹配。
图14是示出了组成步骤204的子程序的流程图。该子程序在步骤230开始,用一指令初始化当前考虑的段。在步骤232,计算机设置当前段的起始点以与前一段的结束点加上一个采样间隔一致。计算机进行到步骤234,其中设置当前段的结束点以对应于当前段的起始点加上该段长度。此后,在步骤236,计算机计算该段:过零次数、对应于图7所示段起始点与第一过零点之间距离的值δ-s1、对应于图7所示段结束点与第一随后过零点之间距离的值δ-s2、和δ-s1和δ-s2中较小的值δ-seg。然后计算机进行到步骤236并为该段设置已知为δ-running的值。δ-running对应于后面的段在不改变本段或任何之前段的过零次数的情况下可以偏移的最大距离。初始地,该值被计算为本段的δ-seg值和前一段的δ-running的较小值。最后,计算机进行到步骤240,并设置本段的已知为δ-used的值为0。δ-used代表特定段已从其最初起始点偏移的总量。这使计算机到达初始化特定段的子程序的结束242。
图15示出了步骤214中包括的子程序的流程图,用于测试当前考虑的段能否偏移。该子程序在步骤250开始,随后计算机进行到步骤252。在步骤252,计算机查询当前段的δ-seg加上δ-used的和是否超过前一段的δ-running值。如果是,计算机进行到步骤254,并判定不能偏移。如果否,计算机进行到步骤256,并判定能偏移。
最后转到图16,将描述用于偏移当前段的步骤218中包括的子程序。该子程序在所示步骤260开始。计算机进行到步骤262,并将该段的δ-seg值与δ-used值相加,表示该段相对于已偏移总值δ-used又偏移了δ-seg。这在步骤264实现,其中将δ-seg值加到该段的起始点和结束点。接下来,在步骤266,计算机从该段的前一δ-s1中减去δ-seg值。在步骤268,计算机检查新δ-s1现在是否等于0。如果是,意味着通过偏移已从该段的前面移走了一过零点,并且在步骤270,计算机将计数器中过零次数值减1。然后计算机进行到步骤272以计算该段的新δ-s1。随后,由于步骤268的结果为否或跟随步骤272的计算之后,计算机进行到步骤274并从该段的δ-s2值中减去δ-seg值。然后在步骤276,计算机检查δ-s2值现在是否为0。如果是,表示在该段的末尾增加了新的过零点,并且在步骤278,计算机将计数器中该段的过零次数加1。随后,在步骤280计算机计算该段的新δ-s2值。此后,由于步骤276的结果为否或在步骤280已计算了新值δ-s2,则计算机进行到步骤282。在步骤282,计算机设置δ-seg的新值为δ-s1和δ-s2的当前值中的较小者。在已发生了偏移之后,在步骤284必须重新计算该段的δ-running。在该步骤中,设置该新δ-running为(i)前一段的δ-running减去当前段的δ-used和(ii)当前段的δ-seg之中的较小者。至此完成了偏移当前段的子程序。
借助于参考图13-16所述的优化过程,有可能非常显著地增强基本文件匹配算法。特别是,大大提高了识别速度并从而大大增加了所能检查的未知文件的数目。
与用于比较音频轨道或文件的已知装置相比,本发明具有很多显著优点。
更重要的是,对于发现匹配而言,所比较的两个文件不必在其数字编码上一致。它们可以以各种方式不同,而只须包含“相同”音频轨道。例如,测试轨道可错过初始段或可在起点包含附加材料。等同地,可适应例如不同数字编码格式、噪声尖峰或背景噪声所导致的波形变化。
这些容限使本发明具有重要的应用范围,包括能在例如因特网上识别给定音频轨道的非法复制。能检测和匹配以各种不同方式捕获的拷贝,例如通过使用不同MP3转换程序、通过私卖实况音乐会的唱片、或通过无线或电视广播,这迄今为止是不可能的。
本发明的其它优点包括其速度,所以能将单个未知测试文件与数据库中存储的成百上千个主文件作比较,或监视例如无线广播或网上广播的音频来源,以识别与数据库中当前持有的主文件之间的任何一致性。
另外,本发明适于标准工业硬件。而且,对于发现一致性,不需要采用水印或其它方式来改变原始主轨道。

Claims (16)

1.一种用于通过测试识别电子文件的方法,该方法包括下述步骤:
读取包括主信号序列的主文件,
将该主信号序列分成多段,
产生代表每一主信号段的参考指示符,
存储各参考指示符作为主分布图,
读取包含测试信号序列的测试文件,
将该测试信号序列分成多段,
产生该测试信号序列的连续段的各测试指示符,以形成测试分布图,
连续比较该主和测试信号序列的各对应段的参考指示符和测试指示符,
判定所述参考指示符和测试指示符是否匹配,并且
产生对应标记。
2.根据权利要求1的方法,包括通过下述步骤为各测试文件产生多个测试分布图:
创建从该测试信号序列的第一预定点开始的第一组段,以产生第一测试分布图,
将该第一预定点偏移预定量至该测试信号序列的新预定点,以及
创建从该新预定点开始的一组新的段以形成另一测试分布图。
3.根据权利要求1或2的方法,包括通过下述步骤执行所述参考指示符和所述测试指示符的动态比较:
对于连续对应段,同时执行产生所述各测试指示符的步骤和比较所述参考和测试指示符的步骤。
4.根据权利要求2或从属于权利要求2的权利要求3的方法,包括通过下述步骤优化产生每一新测试分布图的过程:
在各参考指示符和对应的测试指示符的比较产生非匹配的每一情况下,计算相对于正在进行的基础上的该第一预定点的偏移,以及
产生所述各新测试分布图。
5.根据权利要求4的方法,其中在下述情况下,该计算包括重新使用先前产生的形成各测试分布图的初始部分的测试指示符:
a)所述测试指示符与对应的参考指示符匹配,以及
b)对于随后产生的测试指示符,相对于该相关预定点的偏移不撤消该匹配。
6.根据前述任何一个权利要求的方法,包括通过下述步骤为各主文件产生多个主分布图:
创建从该主信号序列的第一预定点开始的第一组段,以产生第一主分布图,
将该第一预定点偏移预定量至该主信号序列的新预定点,以及
创建从该新预定点开始的一组新的段以形成另一主分布图。
7.根据前述任何一个权利要求的方法,包括通过下述步骤产生每一参考指示符和/或每一测试指示符:
在对应的段中检测所述相关信号序列经过预定的基准的情况的数目。
8.根据前述任何一个权利要求的方法,其中判定所述参考和所述测试指示符是否匹配的步骤包括判定在预定容限内所述参考和所述测试指示符是否一致。
9.一种用于通过测试识别电子文件的设备,该设备包括:
用于读取包括主信号序列的主文件的装置,
用于将该主信号序列分成多段的装置,
用于产生代表每一主信号段的参考指示符的装置,
用于存储各参考指示符作为主分布图的存储器,
用于读取包含测试信号序列的测试文件的装置,
用于将该测试信号序列分成多段的装置,
用于产生该测试信号序列的连续段的各测试指示符,以形成测试分布图的装置,
用于连续比较所述主和测试信号序列的各对应段的参考和测试指示符的装置,
用于判定所述参考和测试指示符是否匹配的装置,以及
用于输出对应标记的装置。
10.根据权利要求9的设备,包括用于产生与各测试文件相关的多个测试分布图的装置,其包括:
用于产生从该测试信号序列的一个预定点开始的一组段以产生各测试分布图的装置,以及
用于将该测试信号序列的预定点偏移预定量以产生另一个测试分布图的装置。
11.根据权利要求9或10的设备,包括用于实现所述参考指示符和所述测试指示符的动态比较的装置,其包括:
配置为同时操作所述用于产生各测试指示符的装置和所述比较装置的控制装置。
12.根据权利要求10或从属于权利要求10的权利要求11的设备,包括用于优化产生每一测试分布图的过程的装置,包括:
响应来自输出装置的关于各参考指示符和对应测试指示符不匹配的指示,而计算相对于各预定点的偏移的装置。
13.根据权利要求12的设备,其中该计算装置包括:
用于在测试指示符与对应的参考指示符匹配的情况下,存储先前产生的形成各测试分布图的初始部分的测试指示符的装置;和
用于检查相对于随后产生的测试指示符的相关预定点的偏移是否将撤消匹配的装置。
14.根据权利要求9至13中任何一个的设备,包括用于产生与各主文件相关的多个主分布图的装置,包括:
用于产生从该主信号序列的一个预定点开始的一组段以产生各主分布图的装置,以及
将该主信号序列的预定点偏移预定量以产生另一个主分布图的装置。
15.根据权利要求9至14中任何一个的设备,其中产生每一参考指示符和/或每一测试指示符的装置包括:
用于在对应段中检测所述相关信号序列经过预定基准的情况的数目的装置。
16.根据权利要求9至15中任何一个的设备,其中配置所述用于判定所述参考和所述测试指示符是否匹配的装置,以判定在预定容限内参考和测试指示符之间是否存在一致性。
CNB028068750A 2001-03-21 2002-03-20 用于识别电子文件的方法和设备 Expired - Fee Related CN1317663C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0107104.2A GB0107104D0 (en) 2001-03-21 2001-03-21 Method and apparatus for identifying electronic files
GB0107104.2 2001-03-21

Publications (2)

Publication Number Publication Date
CN1498380A true CN1498380A (zh) 2004-05-19
CN1317663C CN1317663C (zh) 2007-05-23

Family

ID=9911271

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028068750A Expired - Fee Related CN1317663C (zh) 2001-03-21 2002-03-20 用于识别电子文件的方法和设备

Country Status (10)

Country Link
US (1) US20040107215A1 (zh)
EP (2) EP1370989B1 (zh)
JP (1) JP2004531754A (zh)
KR (1) KR20040007469A (zh)
CN (1) CN1317663C (zh)
AT (1) ATE442629T1 (zh)
CA (1) CA2439596C (zh)
DE (1) DE60233645D1 (zh)
GB (1) GB0107104D0 (zh)
WO (1) WO2002075595A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7715934B2 (en) 2003-09-19 2010-05-11 Macrovision Corporation Identification of input files using reference files associated with nodes of a sparse binary tree
US20050203851A1 (en) * 2003-10-25 2005-09-15 Macrovision Corporation Corruption and its deterrence in swarm downloads of protected files in a file sharing network
US20050108378A1 (en) * 2003-10-25 2005-05-19 Macrovision Corporation Instrumentation system and methods for estimation of decentralized network characteristics
US20050091167A1 (en) * 2003-10-25 2005-04-28 Macrovision Corporation Interdiction of unauthorized copying in a decentralized network
US20050114709A1 (en) * 2003-10-25 2005-05-26 Macrovision Corporation Demand based method for interdiction of unauthorized copying in a decentralized network
US20050089014A1 (en) * 2003-10-27 2005-04-28 Macrovision Corporation System and methods for communicating over the internet with geographically distributed devices of a decentralized network using transparent asymetric return paths
US7877810B2 (en) 2004-03-02 2011-01-25 Rovi Solutions Corporation System, method and client user interface for a copy protection service
US7809943B2 (en) 2005-09-27 2010-10-05 Rovi Solutions Corporation Method and system for establishing trust in a peer-to-peer network
US8086722B2 (en) 2005-12-21 2011-12-27 Rovi Solutions Corporation Techniques for measuring peer-to-peer (P2P) networks

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5437050A (en) * 1992-11-09 1995-07-25 Lamb; Robert G. Method and apparatus for recognizing broadcast information using multi-frequency magnitude detection
AU5386796A (en) * 1995-04-11 1996-10-30 Kinetech, Inc. Identifying data in a data processing system
US5983176A (en) * 1996-05-24 1999-11-09 Magnifi, Inc. Evaluation of media content in media files
US5918233A (en) 1996-05-30 1999-06-29 The Foxboro Company Methods and systems for providing electronic documentation to users of industrial process control systems
US5918223A (en) * 1996-07-22 1999-06-29 Muscle Fish Method and article of manufacture for content-based analysis, storage, retrieval, and segmentation of audio information
US5708759A (en) * 1996-11-19 1998-01-13 Kemeny; Emanuel S. Speech recognition using phoneme waveform parameters
US5925843A (en) * 1997-02-12 1999-07-20 Virtual Music Entertainment, Inc. Song identification and synchronization
US5956671A (en) * 1997-06-04 1999-09-21 International Business Machines Corporation Apparatus and methods for shift invariant speech recognition
US6553403B1 (en) * 1998-06-03 2003-04-22 International Business Machines Corporation System, method and computer program product for monitoring in a distributed computing environment
GB9918611D0 (en) * 1999-08-07 1999-10-13 Sibelius Software Ltd Music database searching
US6188010B1 (en) * 1999-10-29 2001-02-13 Sony Corporation Music search by melody input
US6678680B1 (en) * 2000-01-06 2004-01-13 Mark Woo Music search engine
US20010037314A1 (en) * 2000-03-30 2001-11-01 Ishikawa Mark M. System, method and apparatus for authenticating the distribution of data
US6732180B1 (en) * 2000-08-08 2004-05-04 The University Of Tulsa Method to inhibit the identification and retrieval of proprietary media via automated search engines utilized in association with computer compatible communications network
US20040010417A1 (en) * 2000-10-16 2004-01-15 Ariel Peled Method and apparatus for supporting electronic content distribution
KR20020030610A (ko) * 2000-10-19 2002-04-25 스톰 씨엔씨 인코포레이티드 통신상에서 불법 유통되는 디지털 음악파일에 의해 음반의판매량이 감소되는 것을 방지하는 방법
JP4162181B2 (ja) * 2000-11-27 2008-10-08 ヤマハ株式会社 番組作成再生装置及び番組作成再生方法並びに記憶媒体
US7627897B2 (en) * 2001-01-03 2009-12-01 Portauthority Technologies Inc. Method and apparatus for a reactive defense against illegal distribution of multimedia content in file sharing networks
US7350228B2 (en) * 2001-01-23 2008-03-25 Portauthority Technologies Inc. Method for securing digital content
WO2003005242A1 (en) * 2001-03-23 2003-01-16 Kent Ridge Digital Labs Method and system of representing musical information in a digital representation for use in content-based multimedia information retrieval
JP2002297490A (ja) * 2001-03-30 2002-10-11 Toshiba Corp データ配信装置およびデータ配信方法
US20020141387A1 (en) * 2001-04-03 2002-10-03 David Orshan System, method and computer program product for delivery of internet services from a central system to multiple internet service providers at guaranteed service levels
WO2002082271A1 (en) * 2001-04-05 2002-10-17 Audible Magic Corporation Copyright detection and protection system and method
US20020152262A1 (en) * 2001-04-17 2002-10-17 Jed Arkin Method and system for preventing the infringement of intellectual property rights
US20020152261A1 (en) * 2001-04-17 2002-10-17 Jed Arkin Method and system for preventing the infringement of intellectual property rights
US7065482B2 (en) * 2001-05-17 2006-06-20 International Business Machines Corporation Internet traffic analysis tool
US7793326B2 (en) * 2001-08-03 2010-09-07 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US7260215B2 (en) * 2001-09-04 2007-08-21 Portauthority Technologies Inc. Method for encryption in an un-trusted environment
US20030095660A1 (en) * 2001-10-15 2003-05-22 Overpeer, Inc. System and method for protecting digital works on a communication network
US20030093794A1 (en) * 2001-11-13 2003-05-15 Koninklijke Philips Electronics N.V. Method and system for personal information retrieval, update and presentation
US7715934B2 (en) * 2003-09-19 2010-05-11 Macrovision Corporation Identification of input files using reference files associated with nodes of a sparse binary tree
US20050108378A1 (en) * 2003-10-25 2005-05-19 Macrovision Corporation Instrumentation system and methods for estimation of decentralized network characteristics
US20050203851A1 (en) * 2003-10-25 2005-09-15 Macrovision Corporation Corruption and its deterrence in swarm downloads of protected files in a file sharing network
US20050114709A1 (en) * 2003-10-25 2005-05-26 Macrovision Corporation Demand based method for interdiction of unauthorized copying in a decentralized network
US20050091167A1 (en) * 2003-10-25 2005-04-28 Macrovision Corporation Interdiction of unauthorized copying in a decentralized network
US20050089014A1 (en) * 2003-10-27 2005-04-28 Macrovision Corporation System and methods for communicating over the internet with geographically distributed devices of a decentralized network using transparent asymetric return paths
US7877810B2 (en) * 2004-03-02 2011-01-25 Rovi Solutions Corporation System, method and client user interface for a copy protection service

Also Published As

Publication number Publication date
CA2439596A1 (en) 2002-09-26
CN1317663C (zh) 2007-05-23
JP2004531754A (ja) 2004-10-14
CA2439596C (en) 2011-09-13
US20040107215A1 (en) 2004-06-03
ATE442629T1 (de) 2009-09-15
KR20040007469A (ko) 2004-01-24
EP2098968A1 (en) 2009-09-09
EP1370989A1 (en) 2003-12-17
DE60233645D1 (de) 2009-10-22
GB0107104D0 (en) 2001-05-09
EP1370989B1 (en) 2009-09-09
WO2002075595A1 (en) 2002-09-26

Similar Documents

Publication Publication Date Title
CN102959624B (zh) 用于音频媒体识别的系统和方法
US7342167B2 (en) Apparatus and method for generating an encoded rhythmic pattern
KR100862616B1 (ko) 인덱스 정보를 이용한 오디오 핑거프린트 검색 시스템 및방법
US11461390B2 (en) Automated cover song identification
JP5150266B2 (ja) オーディオ信号において繰り返されるマテリアルの自動識別
JP5565374B2 (ja) オーディオ作品のセグメンテーションを変更するための装置
CN1317663C (zh) 用于识别电子文件的方法和设备
US8589171B2 (en) System and method for custom marking a media file for file matching
CN1957396A (zh) 分析信息信号的设备和方法
CN1604081A (zh) 内容标识系统
CN1592906A (zh) 用于在强噪声和失真下识别声音和音乐信号的系统和方法
CN101014953A (zh) 音频指纹识别系统和方法
CN1940926A (zh) 一种基于哼唱的音乐数据库高效查询方法
Marolt A Mid-level Melody-based Representation for Calculating Audio Similarity.
CN109712642B (zh) 一种精准快速的广告播出监测方法
WO2004049240A1 (en) Method and device for determining and outputting the similarity between two data strings
CN111081209B (zh) 基于模板匹配的中国民族音乐调式识别方法
Sentürk et al. An approach for linking score and audio recordings in makam music of Turkey
CN113066512A (zh) 佛教音乐识别方法、装置、设备及存储介质
CN1729508A (zh) 跟踪音调信号的方法
Kirlin A corpus-based analysis of syncopated patterns in ragtime.
AU2002249371B2 (en) Method and apparatus for identifying electronic files
EP1797507B1 (en) Apparatus and method for generating an encoded rhythmic pattern
CN117238318A (zh) 一种原曲原调歌曲的侵权监测方法
CN114676377A (zh) 一种最小外接圆的快速计算方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MACROVISION CORPORATION

Free format text: FORMER OWNER: PREVENT THEFT CO., LTD.

Effective date: 20081114

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20081114

Address after: American California

Patentee after: Macrovision Corporation

Address before: Burke County, England

Patentee before: Anti-Embezzle Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070523

Termination date: 20170320