内容标识系统的制作方法

文档序号:6763496阅读:178来源:国知局
专利名称:内容标识系统的制作方法
技术领域
本发明涉及标识特定媒体节目的内容的技术领域。
背景技术
在媒体技术领域,需要自动标识所播放的特定媒体节目。例如,为了根据公开(例如通过广播)播放歌曲的次数确定支付的版权使用费,当然需要首先确定播放该歌曲的次数。在现有技术中,更通常的情况是,根据电台播放记录计算播放次数。然而,由于这些记录是手工填写的,可能存在错误。同样,还需要记录无论是通过广播还是电视播放的各种商业广告节目以及其它节目的实际播放次数。例如,许多演员根据播放他们所出演的节目的次数接收所谓剩余报酬。还希望确定并记录播放了哪些节目,以监视对特定节目规定的最多播放次数的特定合同义务。
在现有技术中,如果媒体节目的内容具有标识嵌入其内或者与其直接相关的节目内容的附加信息,则可以标识在任何给定时间在频道上播放的媒体节目的内容。不利的是,没有附加信息的媒体节目形式不能被标识。
1987年6月30日授予Lert,Jr.等人的第4,677,466号美国专利公开了一种利用在检测到稳定条件后,从多媒体内容中提取的签名标识多媒体内容的系统。这种系统不需要对要标识的媒体节目添加附加信息。此外,Haitsma等的“Robust Audio Hashing for ContentIdentification”published at Content-based Multimedia Indexing(CBMI)conference of 2001 in Brescia,Italy以及他们设想的相应美国专利申请公开US 2002/2178410描述了一种不需要对要标识的媒体节目添加附加信息,而根据散列法的自动内容识别系统。迄今为止,这些系统在商业上都没有获得成功。

发明内容
我们认识到,如果事先对媒体节目进行适当处理,以从其内提取用于标识媒体节目的特征,然后将该特征存储到数据库中,则可以根据对媒体节目的内容的分析以非常高的精度识别媒体节目的内容,而无需附加信息。这是通过分析所播放的媒体节目的音频内容以从其内提取规定特征,然后将该特征与数据库内与被标识内容有关的特征进行比较实现的。提供数据库内其特征与所播放的媒体节目的特征最接近匹配的内容的身份,作为所播放节目的身份。
根据本发明的一个方面,可通过a)例如利用三角形滤波器过滤频域系数以减少系数的数量;b)将三角形滤波器的T个连续输出分组成我们所称的“分段”,其中T可以是固定值或变量;以及c)选择这些分段中满足规定判据的那些分段,从媒体节目的各块中的可用、传统、频域形式中提取媒体节目的特征,以存储在数据库中。在本发明的一个实施例中,规定判据是在防止分段互相太靠近的规定约束条件下,所选分段具有最大最小分段能量。请注意,最小分段能量意味着分段内具有最小值的滤波器输出。在本发明的一个实施例中,规定判据是在防止分段互相太靠近的规定约束条件下,所选分段具有最大熵。将所选分段存储到数据库中,作为特定媒体节目的特征。
根据本发明的另一个方面,三角形滤波器是对数间隔的(log-spaced)。根据本发明的又一个方面,通过归一化对数间隔三角形滤波器的输出,可以获得额外的性能改善。
可以以任何传统的方式,例如1)数字化要分析的音频信号;2)将数字化数据分割为N个采样的块;3)利用滤波器(例如汉明窗滤波器)平滑该块;4)利用快速傅里叶变换(FFT)或离散余弦变换器(DCT)将平滑的块转换为频域,来获得媒体节目的各块的频域形式。
根据本发明原理,可通过对要标识的媒体节目执行建立分段所使用的同样步骤,来标识媒体节目的内容。此后,作为搜索过程的一部分,使从要标识的媒体节目的内容建立的分段与存储到数据库内的每个媒体节目的分段顺序匹配。为了加速搜索过程,在建立数据库时,可以将数据库内每个媒体节目的特定分段标识为该媒体节目的关键分段,并且先将要标识的媒体节目的每个分段与存储在数据库内的媒体内容的关键分段进行比较。当要标识的媒体节目的分段与规定容差范围内的关键分段匹配时,将与匹配的关键分段有关的媒体节目的其它分段与要标识的媒体节目的其它分段进行比较。对所比较的每个分段产生匹配得分。根据本发明的一个方面,匹配得分可以是所存储的分段与所比较的分段之间的Mahalonobis距离的函数。数据库内与要标识的媒体具有最佳匹配得分的节目的身份用作要标识的媒体节目的身份。当发现数据库内没有媒体节目以足够的相关性与要识别的节目匹配时,还可能不能进行标识。
根据本发明的一个方面,有利的是,仅需要分析一部分媒体节目,即可识别整个媒体节目的内容。然而,为了避免因为媒体节目各部分的相似性或同一性而造成的相同媒体节目的多次标识,根据本发明的一个方面,可以执行复制最小(duplication minimization)过程。
有利的是,可以识别同一个媒体节目的不同形式。例如,可以将纯歌曲与具有话外音的相同歌曲区分开,从而将在背景中使用歌曲的商业广告节目与仅该歌曲本身区别开。此外,可以唯一识别使用同一首歌曲的各种商业广告节目。此外,可以将最初演唱一首歌曲的艺术家与后续演唱同一首歌曲的艺术家区分开。另一个例子是,可以将以第一速度记录的内容与以加速或减速所作的同一个记录区分开,并且还可以识别加速或减速的百分比。
更有利的是,即使对一个媒体节目进行所谓的“动态范围压缩”,还被称为“动态增益调节”,仍可以正确识别该媒体节目。
更加有利的是,仅从一个组合视频和音频节目(例如电视商业广告)的音频部分,就可以准确标识该组合视频和音频节目。


在附图中图1示出根据本发明原理,对媒体节目的音频内容进行分析以从其内提取规定特征,然后将该规定特征存储到与该内容识别过程有关的特征数据库内的典型处理过程的流程图;图2示出M个对数间隔的三角形滤波器(log-spaced triangularfilter)的传递函数的图解说明;图3由图3a和3b构成,它示出根据本发明原理,对媒体节目的音频内容进行分析以从其内提取规定特征,然后将该规定特征与存储在与节目的内容识别过程有关的数据库内的各种节目的特征进行比较的典型处理过程的流程图;图4示出在末尾具有附加间隙的“间隙搜索-窗口”的概念重复结构;图5示出根据本发明的一个方面,将在节目仅被播放一次时,而错误地将该同一个节目识别为已经被播放多次的机会降低到最小的典型处理过程;以及图6由图6a和6b构成,它示出根据本发明原理,将媒体节目的音频内容与存储在与节目的内容识别过程有关的数据库内的各种节目的特征进行比较的典型处理过程的流程图。
具体实施例方式
下面仅说明本发明原理。因此,显然,本技术领域内的熟练技术人员可以设想各种配置,尽管在此没有明确描述或说明这些配置,但是它们体现了本发明原理,并且包括在本发明的实质范围内。此外,在此列举的所有例子和条件语言意在从理论上清楚地说明问题,从而有助于读者理解本发明原理和本发明的(各)发明人提供的、对本技术领域具有促进作用的理论,并且不应理解为局限于这样具体列举的例子和条件。此外,在此用于说明本发明的原理、方面以及实施例及其具体例子的语句意在既包括其结构等效物,又包括其功能等效物。此外,这种等效物意在既包括当前已知的等效物,又包括未来开发的等效物,即,为执行同一种功能开发的任何单元,而不考虑其结构。
因此,例如,本技术领域内的熟练技术人员明白,这里的任何方框图均示出体现本发明原理的说明性电路系统的原理图。同样,我们还明白,任何流程图、流程示意图、状态转换图、伪码等均表示在计算机可读介质内基本上可以表示的、因此可以被计算机或处理器执行的各种处理过程,而无论是否明确示出这种计算机或处理器。
可以利用专用硬件以及能够与适当软件相关地执行软件的硬件来提供各附图所示的各种单元,包括被标记为“处理器”的任何功能模块的功能。当这些功能由处理器提供时,可以通过单个专用处理器、单个共享处理器或者通过多个其中一些被共享的单独处理器来提供这些功能。此外,不应该将明确使用术语“处理器”或“控制器”理解为是排他性地指能够执行软件的硬件,而是可以默示且没有限制地包括数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)以及非易失性存储器。还可以包括其它硬件,传统硬件和/或用户定制硬件。同样,各附图所示的任何开关仅是原理性的。通过运行程序逻辑、通过专用逻辑、通过程序控件与专用逻辑之间的交互,甚或通过手动,均可以实现它们的功能,随着根据上下文更加具体地理解本发明,实现者可以选择特定技术。
在其权利要求中,被描述为用于实现规定功能的装置的任何单元意在包括实现该功能的任何方式,例如,包括a)实现该功能的电路单元的组合,或者b)任何形式的软件,因此包括固件、微码等,与用于执行该软件从而实现该功能的电路系统组合。这种权利要求确定的本发明在于,以权利要求要求的方式,将所列举的各种装置提供的功能性组合和集合在一起的事实。因此,本申请人认为,可以提供这些功能的任何装置均与所示的装置等效。
在此,可以将软件模块,或者仅暗指软件的模块表示为流程单元或指出处理步骤和/或文字描述的性能的其它单元的任意组合。明确或默示地示出的硬件可以执行这种模块。
除非在此明确说明,附图不是按比例示出的。
在描述过程中,各不同附图中具有同样参考编号的部件表示同样的部件。
本发明是这样一种装置,其可以在进行标识过程之前,根据对内容本身所作的分析来识别媒体节目的内容,而无须将信息嵌入要播放的内容中。
图1示出根据本发明原理,对媒体节目的音频内容进行分析以从其内提取规定的特征,然后将该规定的特征与该内容的识别相关联地存储在特征的数据库内的典型处理过程的流程图。本发明的系统可以识别的每个音频内容必须在特征数据库内具有一个条目。当要将新的音频内容添加到数据库中时,处理过程进入步骤101。
此后,在步骤103,获得媒体节目音频信号的数字、时域形式,并将它存储到存储器中。在本发明的一个实施例中,将要分析的音频内容送到计算机的声卡,该声卡数字化该音频内容,并将它存储到计算机存储器中。然后,在软件的控制下,计算机可以对数字化形式的音频内容进行特征分析。作为一种选择,可以将要分析的、已经是数字形式的音频内容送到计算机,在这种情况下,可以跳过数字化过程。然而,如果分析软件希望音频内容的数字形式具有规定的格式,则必需将接收的数字音频内容转换为该格式。
一旦将数字形式的媒体节目音频信号存储到存储器内,在步骤105,将其采样分组为长度为N的块,其中N可以是例如1024。在任选步骤107,过滤所述块,以平滑该音频信号。平滑过程有利于减小进行分组可能对将块单独转换到频域带来不利影响的效果。可以采用的一种滤波器是汉明窗滤波器,但是本技术领域内的普通技术人员容易明白,可以采用其它滤波器,例如汉宁窗。
在步骤109,分别将每个块的滤波采样转换为频域系数,从而产生音频信号的第一频域表示。这可以利用例如众所周知的快速傅里叶变换(FFT)实现。本技术领域内的普通技术人员容易明白,可以采用其它技术将时域采样转换为频域系数,例如利用离散余弦变换(DCT)。此外,可以不将整个数字形式的音频节目存储到存储器内,而是在任一时刻仅需要存储与块长度对应的时间长度,从而可以对该块执行到频域的转换。
此后,在步骤111,例如,利用规定数量M个对数间隔的三角形滤波器过滤每个块的频率系数,以减少系数的数量,从而产生音频信号的第二频域表示。在其中音频内容含有音乐的应用中,可以采用对数间隔的三角形滤波器,因为古典西洋音乐音阶的音符是以对数间隔隔离开的,其中对数相加因数为1/2,即,log2f2=log2f1+1/12,其中f1是音符的频率,而f2是下一个高序音符的频率。
图2示出M个对数间隔的三角形滤波器201-1至201-M的传递函数的图解说明。如上所述,对于音乐,每个三角形滤波器的中心频率对应于音符可能是有用的。在运行过程中,每个三角形滤波器的频域内的系数乘以位于该系数的频率位置的滤波器的三角形的值,然后,对所获得的位于每个三角形滤波器的频域内的各乘积的求和。作为每个滤波器的输出提供该和。请注意,一些系数可能对一个以上的滤波器的输出起作用。此外,每个滤波器的域最好以在频率空间上紧接在它之前的滤波器的域的中心的频率开始。对每个块采用规定数量的滤波器M,在一个实施例中是30个。每个滤波器作为其输出提供从输入到它的系数获得的单个结果系数值。所有M个滤波器的输出统称为帧。将F个(例如12个)时间上连续的帧分组在一起形成被称为分段的组。在每秒11,025个采样情况下,使用每个分段12帧会产生对应于约1秒原始节目的分段。请注意,从音频质量的观点出发,每秒11,025个采样较低,但是利用在此披露的技术足以实现高精度识别,并且可以实现实时识别处理。
返回图1,根据本发明的一个方面,在任选步骤113,利用所谓“先前时间”(preceding-time)归一化方法,归一化顺序产生的每个分段,“先前时间”归一化方法是一种基于Mahalonobis距离的便于进行未来匹配操作的方法。在先前时间归一化方法中,通过下述方式对每个减小的系数(reduced coefficient)进行归一化从其减去对应于规定长度的先前音频(例如S秒)、具有多个帧的一个窗口的所有减小的系数的中值,并且将获得的差值除以针对构成先前S秒的所有帧计算的标准偏差。在数学上这可以表示为 其中μQ=1QΣi=t-Qtxi]]>以及σQ=Σi=t-Qt(xi-μQ)Q]]>x是其输出被归一化的当前三角形滤波器的输出, 是当前三角形滤波器的归一化值,μ是对应于S秒的先前音频、具有多个帧的一个窗口的所有减小的系数的中值,Q是S秒先前音频中的三角形滤波器输出的数量,t是当前时间,σ是计算的标准偏差。
然后,在步骤115,利用众所周知的“L2”归一化方法,进一步归一化每个归一化输出 其中i和j是用于指出被插入该帧内的归一化滤波器输出中的正确归一化滤波器输出的指数。临时存储这样产生的分段。
在步骤117,从临时存储的分段中选择Z个分段。在本发明的一个实施例中,选择的Z个分段是在选择的分段在它们之间至少具有用户规定的最短时间间隙的规定约束条件下,具有最大的最小分段能量的分段。请注意,最小分段能量意味着在该分段内具有最小值的滤波器输出。在另一个实施例中,规定的判据是在防止分段互相太靠近的规定约束条件下,选择的分段具有最高熵。测量熵的一种方法是利用Σi=1F-1Σj=1M(xi,j-xi+1,j)2,]]>其中xi,j是该分段内的第i个帧的第j个滤波器的输出,F是每个分段的帧数,M是滤波器的数量。
防止选择的分段互相太靠近,从而该分段最好不在音频信号的同一个时间周期内群集在一起。还存储选择的分段之间的时间间隔,从而知道每个分段在该节目内的时间位置。
使用各分段互相不太靠近的判据意味着,在时间上可能存在着在其中不能选择分段来存储在数据库中的间隙。因此,根据本发明的一个方面,在各间隙之间,仅存在着可以从中选择分段的特定且有限的时间段。每个这些有限的时间段构成通过其搜索要选择的分段的“搜索窗口”。因此,可以将媒体节目看作是“间隙搜索窗口”的重复结构,并且在末尾具有附加的间隙,如图4所示。所执行的搜索过程在搜索窗口内选择这些分段中具有最大的最小分段能量的分段。因此,两个相邻所选分段,例如分段401之间的实际时间间隔取决于选择的分段在两个相邻搜索窗口内的位置以及搜索窗口之间用户规定的最短时间间隙。
如下确定分段的数量ZZ=FLOOR(Nt-NgNw+Ng)=FLOOR(Nt-NgNs+3Ng)]]>其中Nt=媒体节目的总帧数;Ns=每段的帧数,例如12;MIN GAP SECONDS是用户选择值,该用户选择值指出以秒为单位的间隙的最短长度,当节目内容是歌曲并且每段具有约1秒的长度时,有效值为5秒。当诸如商业广告节目的节目内容较短时,例如30秒,1秒可能是MIN_GAP_SECONDS的有用值;Ng=每个最小间隙的帧数,即MIN_GAP_SECONDS乘以采样速率,并除以每帧的采样数;以及Nw=搜索窗口内的帧数,实现者可以选择该帧数为2Ng+Ns。
如果Z的计算值大于用户选择的分段的最大容许数Nm,则Z被封顶为分段的最大容许数量。然后,如下确定间隙的数量GG=Z+1。
实现者可以根据特定应用选择Nm的值。为了用于其中每个分段对应于约1秒音乐的音乐内容,例如歌曲,已经证明Nm的值为30有利。为了用于其中节目长度通常比音乐内容短得多的音频或商业广告节目的音频内容,例如,节目的整体长度只有30秒,10-15范围内的Nm的值可以用于更短的分段,例如,分段的长度可以是二分之一秒或十分之二秒。
实现者需要记住选择产生较大值的Z的参数使应用程序运行更慢和/或需要更大的计算能力,但是它可以提高精度。
在步骤119,将Z个选择的分段存储在数据库文件中。与节目名称一起存储这Z个选择分段,可以手动输入节目名称,或者利用电子方法,例如利用众所周知的基于因特网的CDDB数据库获得节目名称。
然后,处理过程进入步骤121。
图3示出根据本发明原理,用于获得要分析的媒体节目的分段以从其内提取规定特征,然后利用图6所示的处理过程,将该规定特征与存储在与节目的内容标识过程有关的数据库内的各种节目的特征进行比较的典型处理过程。图3所述的过程要么无限地连续运行下去(例如当监听广播时),要么在直到知道不存在未处理的要分析的剩余媒体节目部分之前连续运行(例如当分析特定文件的内容时)。在开始标识过程后,处理过程进入步骤301。
此后,在步骤303,获得要标识的媒体节目音频信号的数字时域形式,并将它存储到存储器。在本发明的一个实施例中,将要分析的音频内容送到计算机的声卡,该声卡数字化该音频内容,并将它存储到计算机存储器中。然后,在软件的控制下,计算机可以对数字化形式的音频内容进行特征分析。作为一种选择,可以将要分析的已经是数字形式的音频内容送到计算机,在这种情况下,可以跳过数字化过程。然而,如果分析软件希望具有规定格式的数字形式的音频内容,则必需将接收的数字音频内容转换为该格式。
一旦将数字形式的媒体节目音频信号存储到存储器内,在步骤305,将其采样分组为长度为N的块,其中N可以是例如1024。在任选步骤307,过滤该块,以平滑该音频信号。平滑过程有利于减小进行分组可能对将块单独转换到频域带来不利影响的效果。可以采用的一种滤波器是汉明窗滤波器,但是本技术领域内的普通技术人员容易明白,可以采用其它滤波器,例如汉宁窗。在步骤309,可以将每个块的滤波采样转换为频域系数,从而产生音频信号的第一频域表示。这可以利用例如众所周知的快速傅里叶变换(FFT)实现。本技术领域内的普通技术人员容易明白,可以采用其它技术将时域采样转换为频域系数,例如利用离散余弦变换(DCT)。可以不以数字形式存储整个音频节目,而是仅需要存储与块长度对应的时间长度。大多数实现者可能优先这样做。
此后,在步骤311,例如,利用规定数量M个对数间隔的三角形滤波器过滤每个块的频率系数,以减少系数的数量,从而产生音频信号的第二频域表示。所采用的滤波器的数量M应该与建立存储在数据库内的分段时使用的数量匹配。在本发明的一个实施例中,所采用的滤波器的数量是30。每个滤波器提供从输入到它的系数获得的单个结果系数值,作为其输出。如上所述,所有M个滤波器的输出被统称为帧。F个(例如12个)时间连续的帧分组在一起形成被称为分段的组。在每秒11,025个采样情况下,利用12帧产生对应于约1秒的原始节目的分段。
根据本发明的一个方面,在任选步骤313,利用“先前时间”归一化方法,归一化三角形滤波器作为输出提供的减少系数。然后,在步骤315,利用众所周知的“L2”归一化方法,分别进一步归一化每个被归一化的输出。在步骤317,将该分段存储到缓冲器,待在比较过程使用。需要存储的分段的最低数量至少是Z,因为至少Z个分段必须与要宣告匹配的数据库内的条目的Z个分段匹配。然而,可以存储附加分段,因为如上所述,数据库内的选择分段可以在它们之间具有间隙。在本发明的一个实施例中,为了识别歌曲,已经发现存储30分钟长的分段就足够了。这是因为,在匹配处理过程的某些时刻上,匹配处理过程花费的时间比分段获得处理过程花费的时间长(例如,当关键分段匹配时),因此匹配处理过程可能落在分段获得处理过程的后面,而在其它时刻上,例如当关键分段不匹配时,匹配处理过程比分段获得处理过程快。因此,最好具有足够大的缓冲器,以便匹配处理过程有机会追上。
图6由图6a和6b构成,它示出根据本发明原理,将媒体节目的音频内容与和节目的内容识别过程相关联地存储在数据库内的各种节目的特征进行比较的典型处理过程的流程图。
现在,如果已经建立了要匹配的节目的至少一个分段,并将它存储到缓冲器,则根据要匹配的节目分段与存储在数据库内的节目分段之间的欧几里德距离,利用具有验证比较过程的滑动窗口,进行匹配处理。一般的说,使存储在缓冲器内、还未与任何关键分段匹配的要匹配节目分段与数据库内的每个关键分段匹配。通过使其分段值之间的欧几里德距离在规定的范围内,与要匹配节目分段匹配的任何关键分段使其有关节目被标记,并且仅对标记的节目进行后续比较。
更具体地说,处理过程进入步骤615,在步骤615,获得要标识的媒体节目的先前未比较分段。此后,在步骤617,初始化比较过程使用的几个指数。特别是,a)i,指向数据库内的特定节目的指数被初始化为1;以及b)j,用于确定哪些分段指向要识别的节目i和媒体节目的计数器被初始化为Z,即,对应于数据库内关键分段的位置的每个节目的分段的数量。因此,在本发明的一个实施例中,为了存在匹配,必须至少处理要标识的媒体节目的Z个分段。接着,在步骤619,标记所有节目,以指出它们是进一步进行比较的候选对象。
条件转移点625进行测试,以确定要标识的媒体节目中当前指向的分段与数据库中当前指向的候选节目Pi之间的距离函数是否小于规定阈值。例如,该测试确定距离函数f(S′j-Sj(Pi))小于εj其中Sj(Pi)是数据库存储的、可能对应于要标识的媒体节目的当前候选节目Pi的第j个分段;S’j是在假定要识别的节目的j=Z分段对应于数据库内的当前候选节目Pi的关键分段时,时间上对应于存储在数据库内的当前候选节目Pi的第j个分段的要标识媒体节目的分段;以及εj是根据经验对数据库内的当前候选节目Pi的分段j计算的阈值。下面进一步说明用于确定εj的方法。
当不允许要标识的媒体节目的重放速度发生变化时,可以根据与关键分段的匹配以及存储在数据库内用于描述当前候选节目Pi的分段之间的时间间隔的定时信息,确定S`j。然而,当允许要标识的媒体节目的重放速度发生变化时,重放速度的这种变化可能导致要识别的节目上的关键分段的被标识位置不准确,并且定时信息不与要标识的媒体节目的时间精确对应。因此,为了标识要标识的媒体节目的每个相应分段,需要进一步进行搜索。为此,在初始标识位置附近确定滑动窗口,并对为窗口中每个位置计算的要标识媒体节目的分段重复进行距离计算,并且选择产生最短距离的位置作为该分段的位置。有利的是,可以如下从根据搜索每个分段的过程确定的偏移计算速度变化量speed%=-ΔExpectedLocation+Δ100]]>其中speed%是重放速度变化的百分比,负值表示减速,而正数表示加速。
Δ是实际位置与数据库中规定的期望位置之间的差值,其中Δ大于0意味着减速,因为到达要标识的媒体节目内的分段花费的时间比在对于要存储在数据库内的分段处理相应媒体节目时的时间长,而Δ小于0意味着加速,因为到达要标识的媒体节目内的分段花费的时间比在对于要存储在数据库内的分段处理相应媒体节目时的时间短;以及ExpectedLocation是数据库内规定的分段的期望位置。
在在步骤113采用“先前时间”归一化方法并且将S’j和Sj看作多维空间内的矢量的本发明实施例中,采用Mahalonobis距离有利。在本发明的其它实施例中,可以采用欧几里德距离。
如果步骤625的测试结果是否,则控制过程进入步骤629,在步骤629,清除用于指出应该考虑数据库内的候选节目进一步进行比较的标记。因此,不再考虑候选节目进一步进行比较。然后,控制过程进入步骤631。如果在步骤625的测试结果为是,则控制过程直接进入部长631。因此,用于指出应该考虑数据库内的当前候选节目进一步进行比较的标记保留置位,并且继续考虑候选节目进一步进行比较。
条件转移点631进行测试以确定是否存在任何剩余未测试的标记候选节目。如果步骤631的结果为是,表示迄今为止仍存在未测试的候选节目,则控制过程进入步骤633,在步骤633,指数i被设置为数据库内的下一个被标记的候选节目。然后,控制过程返回步骤625,继续进行处理,如上所述。如果步骤631的测试结果为否,表示先前标记的所有候选节目均已被测试,则控制过程进入条件转移点635,在条件转移点635,进行测试以确定任何候选节目是否保留被标记。如果步骤635的结果为是,则控制过程进入步骤637。如果步骤635的测试结果为否,则控制过程返回步骤615,以获得要标识的媒体节目的下一个先前未处理分段。
在步骤637,例如根据存储的当前候选节目的分段定时信息,更新(例如递减)j的值,以指向当前候选节目的要测试的下一个分段。在步骤639,重新初始化i,以指向第一剩余标记候选节目。条件转移点641进行测试,以确定是否所有分段已被测试,例如是否j=0。如果步骤641的测试结果为否,表示有要测试的附加分段,则控制过程返回步骤625。如果步骤641的测试结果为是,表示所有分段已被测试,则控制过程进入步骤643,在步骤643,确定仍被标记的每个候选节目的匹配得分(matching score)。在本发明的一个实施例中,通过计算平均距离,确定匹配得分,例如 然后,在步骤645,将该得分存储到数据库中。
此时,可以宣告要识别的节目是数据库中具有最佳匹配得分(例如最短平均距离)的候选对象,并且这样做可以产生合理结果。然后,在步骤615,继续进行处理。然而,已经发现,根据本发明的一个方面,在规定时段(例如8秒)上重复该过程;记录在该规定时段内每次迭代成功到达步骤645的每个候选对象的所有得分;以及宣告在规定时段内获得最佳匹配得分的候选对象作为要识别的节目。
此外,根据本发明的一个方面,为了将在节目仅被播放一次时,错误地将该同一个节目识别为已经被播放多次的机会降低到最小(当重复节目的主要部分,例如合唱部分时,可能碰巧发生上述情况),可以执行图5所示的附加典型处理过程。
一旦要识别的节目被识别为存储在数据库内的特定节目,即在规定时段内该节目具有足够好的匹配得分,处理过程就进入步骤501。接着,在步骤503,以变量T0方式,存储对应于存储在数据库内的节目关键分段的要标识节目分段的时间。此后,在步骤505,将从数据库内检索的、初步确定的要标识节目P0的标识存储到堆栈中。然后,在步骤507,例如,通过执行图3所示的处理过程确定下一个节目P1的标识。
条件转移点509进行测试,以确定接着标识的节目分段的时间是否比T0大规定的阈值td。基于对存储在数据库内的最长节目的长度、足够靠近以致被识别为特定媒体节目中的媒体节目的复制形式的重复之间的最长时间以及容许延迟报告该标识的时间长度的考虑,由用户设置规定阈值。在用于标识歌曲的一个应用中,发现td的值=120秒有用。将td设置为数据库中最长节目的长度应该可以改善复制标识的自由,但是这样做会使用于报告的时间最长。
如果步骤509的测试结果为是,表示经历了足够长的时间以致新识别的节目应该不是先前识别的节目的一部分,则控制过程进入步骤511,在步骤511,从堆栈弹出(pop)先前识别的节目P0的标识,然后,将它作为先前节目的标识报告。然后,处理过程进入步骤513。
如果步骤509的测试结果为否,表示未经历足够长的时间,因此新标识的节目仍是先前识别节目的一部分,则控制过程进入步骤515,在步骤515,计算P0与P1之间的重叠得分。重叠得分是P0与P1共享多长时间的指示,并确定该重叠得分重叠得分=(tend-tbegin)/(P1的结束时间-P1的开始时间)其中
tend是min(P0、P1的结束时间);以及tbegin是max(P0、p1的开始时间)。
条件转移点517进行测试以确定重叠得分是否大于规定阈值Ro。可以通过利用各种节目运行该系统,选择产生最少复制标识的Ro的值,以实验方式确定Ro的值。已经发现对歌曲产生良好性能的Ro的一个值是0.5。
如果步骤517的测试结果为否,表示不存在重叠,或者至多是较小的重叠,因此P1有可能实际上是与P0不同的媒体节目,则控制过程进入步骤511,该处理过程继续进行,如上所述。如果步骤517的测试结果为是,表示在P0与P1之间的确存在明显重叠,则控制过程进入条件转移点519,在条件转移点519,将节目P0与P1的匹配得分进行比较。更具体地说,条件转移点519进行测试以确定P1的匹配得分是否大于P0的匹配得分。如果步骤519的测试结果为否,表示P1的匹配得分小于P0的匹配得分,则控制过程进入步骤521,在步骤521,丢弃P1。然后,控制过程进入步骤513,并退出该处理过程。如果步骤519的测试结果为是,表示P1的匹配得分大于P0的匹配得分,则控制过程进入步骤523,在步骤523,从堆栈弹出P0并丢弃它,此后,在步骤525,在堆栈上上推P1代替P0。然后,控制过程进入步骤513,并退出该处理过程。
有利的是,利用本发明的处理过程,可以识别同一个媒体节目的不同形式。例如,可以将纯歌曲与具有话外音的相同歌曲区分开,从而将在背景中使用歌曲的商业广告节目与仅该歌曲本身明确区别开。此外,可以唯一识别使用同一首歌曲的各种商业广告节目。此外,可以将最初演唱一首歌曲的艺术家与后续演唱同一首歌曲的艺术家区分开。另一个例子是,可以将以第一速度记录的内容与以加速或减速所作的同一个记录区分开,并且还可以识别加速或减速的百分比。
更有利的是,即使对一个媒体节目进行所谓的“动态范围压缩”,还被称为“动态增益调节”,仍可以正确识别该媒体节目。
当发现数据库内没有媒体节目以足够的相关性与要识别的节目匹配时,还可能不能进行标识。
对于本发明的一个实施例,利用109首乡村歌曲,根据经验确定粗阈值。更具体地说,例如根据图1所示的处理过程,对这109首歌曲分别进行处理,以将其分段与其名字一起存储到数据库中。然后,将这109首歌曲作为输入送到该系统,然后,即,通过执行图3以及图6所示直到步骤643所示的方法,确定播放歌曲的分段与记录在系统内的每个歌曲的分段之间的欧几里德距离,其中将粗阈值εj设置为非常大的数,从而每个候选对象总是匹配。
一旦找到距离,就可以通过确定下面的等式为每个分段求得其粗阈值ϵj=μj(j+1)+σjj+1j+1]]>其中μj是对分段j计算的各距离的中值,而σj是对分段j计算的各距离的标准偏差。
在本发明的一个实施例中,当将109首歌曲作为输入送到该系统,以确定播放歌曲的分段与记录在系统内的每个歌曲的分段之间的欧几里德距离时,通过经由其提供要标识的实际歌曲的同一个媒体来提供该歌曲。例如,如果要识别的歌曲是通过无线电广播的歌曲,则通过无线电提供所提供的用于确定粗阈值的歌曲。
初步计算之后,仅当一些系统参数(例如FFT大小、每个分段的帧数、采样速率、三角形滤波器的数量等)发生变化时,才需重新计算粗阈值。然而,改变数据库的内容不应该要求重新计算阈值。例如,尽管起初对乡村歌曲计算了阈值,但是发现它们同样可以应用于各种其它音乐风格。
权利要求
1.一种用于识别媒体节目的内容的方法,所述方法包括步骤使用多个滤波器对所述媒体节目的各块的每个第一频域表示进行滤波,以产生所述媒体节目的每个所述块的相应第二频域表示,与所述第一频域表示相比,每个所述块的所述第二频域表示具有减少数量的频率系数;对所述块的所述第二频域表示的频率系数进行分组以形成分段;以及选择多个所述分段。
2.根据权利要求1所述的方法,其中形成一个分段的所述第二频域的频率系数的每个分组表示所述媒体节目中在时间上连续的块。
3.根据权利要求1所述的方法,其中以每次处理一个块的组的方式排列所述多个滤波器,由所述组为每块产生的所述第二频域表示的部分形成一个帧,并且其中至少两个帧被组合以形成分段。
4.根据权利要求1所述的方法,其中所述选择的分段对应于所述媒体节目中在时间上不连续的部分。
5.根据权利要求1所述的方法,其中所述多个滤波器包括至少一组三角形滤波器。
6.根据权利要求1所述的方法,其中所述多个滤波器包括至少一组对数间隔的三角形滤波器。
7.根据权利要求1所述的方法,其中所述选择步骤选择的分段是具有最大的最小分段能量的分段。
8.根据权利要求1所述的方法,其中根据规定的约束选择在所述选择步骤选择的分段,从而防止所述分段互相太靠近。
9.根据权利要求1所述的方法,其中针对在时间上对应于被间隙分离的规定搜索窗口的所述媒体节目的部分,选择在所述选择步骤中选择的分段。
10.根据权利要求1所述的方法,其中在所述选择步骤选择的所述分段是导致所选的分段在所选的分段上具有最大熵的那些分段。
11.根据权利要求1所述的方法,该方法进一步包括在执行所述分组步骤后归一化所述第二频域表示内的所述频率系数的步骤,所述归一化是逐个分段进行的。
12.根据权利要求11所述的方法,其中所述归一化步骤包括至少执行先前时间归一化。
13.根据权利要求11所述的方法,其中所述归一化步骤包括至少进行L2归一化。
14.根据权利要求1所述的方法,该方法进一步包括与所述媒体节目的标识符相关联地将所述选择的分段存储到数据库中的步骤。
15.根据权利要求14所述的方法,该方法进一步包括在所述数据库中存储指明所述选择的分段的定时的信息的步骤。
16.根据权利要求1所述的方法,其中利用下面的步骤产生所述媒体节目的各块的所述第一频域表示数字化要存储到所述数据库的所述媒体节目的音频表示;将数字化的音频表示划分为具有规定数量的采样的块;利用滤波器平滑所述块;以及将所述平滑的块转换到频域,其中由频率系数代表所述平滑的块。
17.一种用于识别媒体节目的内容的设备,该设备包括用于使用多个滤波器对所述媒体节目的一个第一频域表示进行滤波,以产生所述媒体节目的一个第二频域表示的装置,与所述第一频域表示相比,所述第二频域表示具有减少数量的频率系数;用于对所述第二频域表示的频率系数进行分组以形成分段的装置;以及用于选择多个所述分段的装置。
18.一种用于识别媒体节目的内容的方法,所述方法包括步骤使用多个滤波器对所述媒体节目的各块的每个第一频域表示进行滤波,以产生所述媒体节目的每个所述块的相应第二频域表示,与所述第一频域表示相比,每个所述块的所述第二频域表示具有减少数量的频率系数;对所述块的所述第二频域表示的频率系数进行分组以形成分段;以及在数据库内搜索基本匹配的分段,所述数据库存储器储了媒体节目的分段以及各对应的节目标识符。
19.根据权利要求18所述的方法,该方法进一步包括当在所述搜索步骤未在所述数据库内找到基本匹配的分段时,指明不能标识所述媒体节目的步骤。
20.根据权利要求18所述的方法,其中所述数据库内包括指明被标识的每个相应媒体节目的各分段的定时的信息,并且其中仅当在所述分组步骤中产生的所述分段的定时与存储在所述数据库内的所述分段的定时基本匹配时,才可在所述搜索步骤中找到匹配。
21.根据权利要求18所述的方法,其中分段之间的所述匹配基于分段之间的欧几里德距离。
22.根据权利要求18所述的方法,该方法进一步包括当在所述搜索步骤中在所述数据库内找到基本匹配的分段时,将所述媒体节目标识为由存储在所述数据库内的标识符表示的具有最佳匹配得分的媒体节目的步骤。
23.根据权利要求22所述的方法,该方法进一步包括确定所述媒体节目与在所述标识步骤标识的媒体节目之间的速度差的步骤。
24.根据权利要求22所述的方法,其中通过Pi=1zΣj=1zf(S′j-Sj(Pj))]]>确定节目Pi的所述匹配得分。
25.根据权利要求22所述的方法,该方法进一步包括步骤重复进行所述滤波、分组、搜索以及标识;以及如果存在另一个匹配,则确定所述被标识的节目是所述重复之前确定的同一个节目,还是不同的节目。
26.根据权利要求25所述的方法,其中所述确定步骤基于重叠得分。
27.根据权利要求26所述的方法,其中在所述重复之前确定的所述节目P0与所述重复期间确定的所述节目P1之间计算重叠得分,并且利用下面的等式计算重叠得分=(tend-tbegin)/(P1的结束时间-P1的开始时间)其中tend是min(P0,P1的结束时间);以及tbegin是max(P0,p1的开始时间)。
28.一种用于识别媒体节目的内容的设备,该设备包括用于使用多个滤波器对所述媒体节目的一个第一频域表示进行滤波,以产生所述媒体节目的一个第二频域表示的装置,与所述第一频域表示相比,所述第二频域表示具有减少数量的频率系数;用于对所述第二频域表示的频率系数进行分组以形成分段的装置;以及用于在数据库内搜索基本匹配的分段的装置,所述数据库存储器储有媒体节目的分段以及各对应的节目标识符。
29.根据权利要求28所述的设备,其中所述媒体节目的所述第一频域表示包括对应于所述媒体节目的相应时域部分的系数的多个块,并且所述媒体节目的所述第二频域表示包括对应于所述媒体节目的相应时域部分的系数的多个块。
全文摘要
通过分析媒体节目的音频内容,以从其提取规定的特征,并将该规定的特征与数据库内与被标识内容有关的特征进行比较,来识别媒体节目的内容。提供数据库内其特征与被播放的媒体节目的特征最接近匹配的内容的身份,作为被播放的节目的身份。通过a)例如利用三角形滤波器过滤所述系数以减少其数量;b)将三角形滤波器的一系列连续输出分组为分段;以及c)选择满足规定判据的分段,例如在防止分段互相太靠近的规定约束条件下,具有最大的最小分段能量的那些分段,来从频域形式的媒体节目中提取特征。三角形滤波器可以是对数间隔的,并且其输出可以被归一化。
文档编号G11B27/28GK1604081SQ20041005868
公开日2005年4月6日 申请日期2004年7月28日 优先权日2003年7月29日
发明者简·I.·本, 克里斯托弗·J.·伯吉斯, 迈德基德·S.·茂塞维, 克雷格·R.·诺尔 申请人:朗迅科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1