一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用音频数据的频谱图峰和自适应哈希进行有效音频搜索的制作方法

2022-08-28 09:38:02 来源:中国专利 TAG:


1.所公开的教导总体上涉及音频搜索引擎。更具体地,所公开的教导涉及能够可靠地搜索歌曲数据库以识别准确匹配搜索查询中包括的歌曲片段的特定歌曲的音频搜索引擎。


背景技术:

2.搜索引擎涉及程序,该程序搜索和识别数据库中与用户在查询中指定的特征对应的项。音频搜索引擎搜索数据库中的音轨数据(例如完整的歌曲或歌曲片段)。音轨数据可以包括以数字形式编码的模拟声波。音轨数据的示例包括语音记录或音乐记录(例如歌曲),其可以用扬声器渲染。
3.传统的音乐搜索引擎通常使用元数据来查找匹配的歌曲。例如,用户需要输入诸如艺术家、歌曲名称或歌词之类的词,可以用这些词搜索歌曲数据库中的匹配特征。在多个实例中,基于文本的搜索引擎既不方便又对用户不友好。因此,如果音乐搜索引擎可以在数据库中有效地搜索与音频歌曲片段匹配的歌曲,将是方便的。例如,如果可以使用麦克风捕获的歌曲片段来识别数百万首歌曲的数据库中匹配的歌曲,将是有用的。
4.目前没有计算上有效的方法来搜索大量歌曲以快速识别匹配歌曲片段的歌曲。相反,音乐曲目的数量持续增长,因此,特别是由于麦克风捕获的声音片段中的噪声以及由于使用可变长度的声音片段,传统搜索在计算上变得越来越不切实际。例如,搜索系统需要较长的歌曲片段来获得准确的结果,这是不切实际的,因为较长的歌曲片段需要更多时间来搜索数百万首歌曲的数据库。相反,搜索较短的歌曲片段会缩短搜索时间,但会导致大量误报。因此,需要快速搜索大量音轨以识别准确匹配任何长度的声音片段的音轨。


技术实现要素:

5.本文公开了与音频搜索引擎有关的设备、系统和方法。所公开的技术可以应用于各种实施例中,例如移动设备或基于云的音乐服务,以提高音频搜索的效率和精度。
6.在一个示例方法中,一种音轨检索系统可以获得音轨数据(例如,完整音轨的至少一部分),变换音轨数据以生成随其时间帧变化的表示,并检测表示的相应部分中的峰值。系统可以从表示中提取唯一标识符(例如,标识符包括峰值的组合),用自适应哈希函数对每个标识符进行哈希以产生每个标识符的哈希值并对其进行分桶,并处理(例如,存储、搜索)每个标识符的哈希值,以能够基于桶中的音轨数据的哈希值进行音轨数据检索。
7.在另一示例中,一种用歌曲片段识别歌曲的方法可以包括:将歌曲片段的查询输入用户设备,处理歌曲片段以生成歌曲片段随时间变化的频谱的表示,并从表示中提取唯一标识符。每个标识符包括频谱的峰值。该方法还可以包括将歌曲片段的标识符数据与多个歌曲的标识符数据进行比较,将歌曲片段的标识符数据与特定歌曲的标识符数据进行匹配,以及输出特定歌曲的指示作为满足查询搜索结果。
8.在另一示例中,一种音轨检索系统包括处理器和包括处理器可执行代码的存储
器,其中,处理器可执行代码在由处理器执行时,将处理器配置为实现所描述的方法。
9.在另一示例方面,一种移动设备包括处理器、包括处理器可执行代码的存储器、麦克风、扬声器和显示器。处理器可执行代码在由处理器执行时,将处理器配置为实现所描述的方法。麦克风、显示器和扬声器各自耦合到处理器并且用于捕获音轨数据,向用户显示搜索结果,以及渲染音轨数据。
10.在又一示例中,公开了一种计算机程序存储介质。计算机程序存储介质包括其上存储的代码。该代码在由处理器执行时,使处理器实现所描述的方法。
11.本文描述了所公开的实施例的这些特征和其他特征。
附图说明
12.图1描绘了示出通过将音频片段数据与大量音轨的数据库中的对应数据进行匹配来识别音轨数据的过程的框图。
13.图2是示出生成音轨数据的表示的过程的示例的流程图。
14.图3描绘了音轨数据的表示的示例。
15.图4是示出哈希数据的随机数据投影的图表的示例。
16.图5是示出自适应多重哈希(amh)的紧凑型数据投影的图表。
17.图6是示出维护音轨数据库的过程的流程图。
18.图7是示出音轨检索过程的流程图。
19.图8是示出可以在其中实现本文描述的至少一些操作的处理系统的示例的框图。
具体实施方式
20.所公开的技术可以实现在各种搜索系统中,以有效地在大量音轨的数据库中搜索特定音轨。例如,用户可以提交查询,该查询包含音轨的一部分(本文中也称为音频片段)对应的声音信号。为了执行计算效率高并提供准确的搜索结果的快速搜索操作,使用音轨数据的表示进行搜索。例如,将各种音轨从第一域变换为第二域中包括唯一标识符的表示(本文中也称为音频指纹)。包括音频片段的查询类似地被变换为第二域的表示并且包括标识符,该标识符可以与音轨进行匹配。此外,可以用自适应哈希算法处理标识符,以加速搜索与音频片段匹配的音轨。
21.在一个示例中,音轨或其一部分的表示(本文中也统称为或单独称为“音轨数据”)是具有频谱图维度的峰值模式的频谱图。峰值的组合可以用作音轨数据的标识符。可以对该表示进行自适应哈希以减小第二域中的音轨数据的标识符的大小。在一个示例中,用户设备可以捕获输入音频搜索引擎的音频片段。音频片段可以是作为歌曲的一部分的歌曲片段。音频搜索引擎可以通过创建从变换的歌曲片段中提取并与类似变换的特定歌曲的标识符匹配的唯一标识符的哈希值,来识别变换的声音片段。
22.与现有的音频搜索系统相比,所公开的技术具有多种优点,以有效地在大量音轨的数据库中搜索具有与在查询中提交的音频片段匹配的部分的特定音轨。所公开的解决方案抗噪声且抗失真、计算效率高、且可大规模扩展。例如,音频搜索引擎可以使用变换的音轨数据的唯一标识符来准确地识别音轨,并使用哈希机制来加速搜索操作。
23.唯一标识符可以包括从未识别的音频信号导出的值的组合。值的组合用于在已知
的音频信号中搜索匹配的值的组合。值的组合可以是指音轨数据的表示的指定区域中的值的组或模式。峰值的唯一组合用作可以唯一识别音轨数据的音频指纹。此外,所公开的解决方案可以使用“自适应多重哈希”过程,该过程可以将标识符压缩成更紧凑的表示,从而大大提高搜索效率。例如,即使在对大量音轨的庞大音乐数据库应用查询时,基于音频片段的搜索时间也可以在每个查询几毫秒的量级。
24.为了帮助理解,此描述将所公开的解决方案的一个示例详细描述为音乐搜索引擎,该音乐搜索引擎可以基于可以输入搜索引擎的可变长度的歌曲片段来灵活地搜索歌曲。音乐搜索引擎能够基于通过例如蜂窝电话的麦克风捕获的一小段音乐快速识别匹配的歌曲曲目。因此,音乐搜索引擎可以在存在显著的噪声和失真的情况下提供鲁棒的音乐识别。
25.然而,所公开的实施例不限于此。例如,音频搜索引擎可以处理任何声音信号以识别匹配的音轨数据或声音信号的来源(例如语音识别)。所公开的技术还可以应用于用于诸如图像、视频等的其他媒体的搜索引擎。例如,本文描述的实施例可以包括用于基于电影片段搜索电影(例如电影识别)的搜索引擎,或用于基于图像的部分搜索图像(例如图像识别)的搜索引擎。因此,尽管本公开重点在于生成音乐标识符的过程,但是所公开的技术将类似地适用于具有类似属性的任何媒体。
26.下面的描述提供了具体细节用于对这些实施例的透彻理解和有效描述。然而将理解,这些实施例可以在没有许多这些细节的情况下实践。此外,为简洁起见,可能未详细示出或描述一些众所周知的结构或功能。在下面呈现的描述中使用的术语旨在以其最广泛合理的方式进行解释,即使该术语是与本发明的某些特定实施例的具体实施方式结合使用的。
27.尽管不是必需的,但以下在计算机可执行指令的一般上下文中描述实施例,上述计算机可执行指令例如是由通用数据处理设备(例如联网服务器计算机、移动设备或个人计算机)执行的例程。可以理解,可以用其他通信、数据处理或计算机系统配置(包括互联网电器、手持设备、可穿戴计算机、各种蜂窝或移动电话、多处理器系统、基于微处理器的或可编程的消费类电子产品、机顶盒、网络pc、微型计算机、大型计算机、媒体播放器等)来实践本发明。实际上,术语“计算机”、“服务器”等在本文中通常可互换使用,并且指代任何上述设备和系统以及任何数据处理器。
28.虽然公开的实施例的方面(例如某些功能)可以排他地或主要在单个设备上执行,但一些实施例也可以在分布式环境中实践,在分布式环境中,功能或模块在通过诸如局域网(local area network,lan)、广域网(wide area network,wan)或互联网等通信网络链接的不同处理设备之间共享。在分布式计算环境中,程序模块可以位于本地内存存储设备和远程内存存储设备中。
29.本发明的方面可以存储或分布在有形计算机可读介质上,包括磁性或光学可读计算机盘、硬连线或预编程芯片(例如,eeprom半导体芯片)、纳米技术存储器、生物存储器或其他数据存储介质。在一些实施例中,本发明的方面下的计算机实施指令、数据结构、屏幕显示和其他数据可以分布在互联网或其他网络(包括无线网络)上,一段时间内的传播介质(例如电磁波、声波)上的传播信号上,或者其可以提供在任何(分组交换、电路交换或其他方案的)模拟或数字网络上。
30.总体概述
31.图1描绘了示出通过将音频片段数据与大量音轨的数据库中的对应数据进行匹配来识别音轨数据的过程的框图。如图所示,电子设备102(例如智能手机、平板电脑)耦合到可以收听环境中的声音的麦克风104。麦克风104可以接收包括各种音频片段的音频信号作为来自各种源的各种形式的输入。音频信号还可能包括不期望的背景噪声。
32.例如,电子设备102的麦克风104捕获个体106-1正在演唱的歌曲的一部分。在另一示例中,麦克风捕获扬声器106-2输出的歌曲的一部分。在另一示例中,电子设备102从网络源获得歌曲片段。例如,可以从数字歌曲文件中以数字方式提取歌曲片段。
33.搜索引擎108可以处理音频片段以从连接到搜索引擎的数据库110中存储的大量音轨中找到匹配的音轨。这样,搜索引擎108可以将音频片段识别为特定音轨的一部分。例如,用户可能很想知道收音机上正在播放或某人正在演唱的未知歌曲的标识。用户可以使用麦克风104捕获歌曲的几秒。歌曲片段经由电子设备102提交到音乐识别应用。处理歌曲片段以产生可以至少部分转换为一个或多个紧凑型哈希值的表示。将歌曲片段与大量哈希表示比较以找到匹配的歌曲。然后,音乐识别应用可以返回结果,该结果包括与歌曲片段的哈希表示匹配的哈希表示关联的歌曲。例如,搜索结果可以在电子设备102的显示器上显示为歌曲的有序列表,这些歌曲根据特定歌曲与声音片段的匹配程度排序(例如,排名高的歌曲显示在顶部)。
34.通过将音轨数据转换为具有唯一标识符的表示,实现了基于简短音频片段从大量音轨中识别匹配的音轨的计算效率高的搜索。此外,标识符可以通过自适应哈希函数处理以产生用于加速搜索操作的哈希值。例如,匹配算法可以使用包含数百万哈希值的流行歌曲的音乐数据库(例如数据库110)快速地将歌曲片段的标识符与流行歌曲的标识符匹配。将指示数据库中具有匹配标识符的概率最高的歌曲的数据返回给用户作为歌曲片段的标识。
35.创建音轨数据的表示
36.所公开的实施例包括产生音轨数据(例如完整的音轨或音频片段)的表示的过程。表示允许音轨数据的快速且准确的匹配。例如,查询可以包括由麦克风捕获的歌曲片段和背景噪声。捕获的歌曲信号从第一域变换为第二域的表示,并且包括唯一标识符,可以用唯一标识符搜索标识符数据库,以快速识别与歌曲片段匹配的特定歌曲。因此,该表示的使用有助于准确的搜索结果,同时消除了将原始音频片段与原始音轨文件进行比较的低效需求。
37.表示的示例是频谱图,频谱图是音频信号随时间变化的频谱的视觉表示。处理频谱图以检测音轨数据的峰值模式。峰值模式是唯一的,从而表示包括可用于识别音轨数据的一个或多个唯一标识符。在一些实施例中,峰值模式包括峰值的聚类或组的组合。因为峰值的唯一模式是从原始音轨数据导出的,所以可以基于该模式识别音轨数据。通常,标识符(例如,音频指纹)具有唯一的声学特征,并且可以采用诸如傅里叶变换技术、频谱估计、梅尔频率倒谱变换等多种方法中的至少一种从音轨数据中提取。
38.图2是生成音轨数据的表示的过程的示例。过程200可以由包括音频搜索引擎的计算机系统执行。在202,系统可以获得跨时间帧的音轨数据(例如音轨、音频片段)。例如,麦克风可以捕获麦克风附近的环境中的歌曲和背景噪声。特别地,用户可以在参加音乐会时
激活用户的智能手机上的麦克风来捕获歌曲片段。在另一示例中,以数字方式从原始歌曲文件中提取歌曲片段。
39.在204,通过诸如快速傅里叶变换(fast fourier transform,fft)等变换函数处理音轨数据的若干时间窗。时间窗通常跨小于音轨数据的总时间帧的时间段,但可以具有与时间帧同延的时间段。在一些实施例中,通过变换函数处理的时间窗不一定跨同一时间段。然而与较大的时间窗相比,相对较小的时间窗通常会产生有助于更准确的搜索结果的表示。音轨数据的变换产生诸如频谱图的表示,该表示包括音轨数据随时间变化的频谱的视觉表示。
40.为了在存在背景噪声和失真的情况下提供鲁棒的识别,进一步处理频谱图以识别音轨数据唯一的特征或特性。这提高了在存在噪声的情况下的表示的鲁棒性和近似线性叠加性(approximate linear superposability),近似线性叠加性是指使两个特定模型重合的能力。
41.例如,在206,系统扫描频谱图的峰值。候选峰值是频谱图中与频谱图的区域的相邻点相比具有更高能量的时频点。例如,候选峰是歌曲的频谱图轮廓中的点,在该点处,候选点与候选峰周围区域中的所有相邻点相比具有更高的能量值。
42.在208,根据密度标准将候选峰指定为频谱图峰,以确保音轨数据的时频区域具有合理均匀的覆盖。在一些实施例中,因为幅度最高的峰对噪声的失真更鲁棒,并且因此对于识别其他表示中的匹配峰更有用,所以每个时频局部中的频谱图峰是根据其幅度选择的。
43.在210,将频谱图分割成频率窗口(frequencybin)。每个窗口包括可能因唯一标识符(例如音频指纹)而异的多个峰值。每个窗口的峰的数量可能不同,但每个标识符具有相同数量的窗口。更具体地,窗口可以具有有限数量的频谱图峰,这有助于处理频谱图,因为定义标识符窗的频谱图峰可以变化。
44.在212,通过对指定时间段内的每个窗口的峰值进行计数并构建峰值的计数的直方图来生成标识符。直方图可以用作音轨数据的标识符。计算每个频率窗口的频谱图峰的数量以构建频率的n维直方图,每个维度表示特定频率处的频谱图峰的数量:
45.每个唯一标识符具有相同数量的n个窗口。然而,鉴于人类听力的最敏感极限(most sensitive limit)在大约2-5khz频率范围内,用等于或大约5k的n是可以定义频谱图峰的标识符(例如音频指纹)的频率窗口优选数量。
46.表示可以具有任意数量的唯一标识符。增加每个音轨数据的标识符的数量提高了识别匹配音轨数据的精度;然而增加标识符的数量会增加搜索匹配音轨数据的计算负担。在一些情况下,可以通过将标识符的时间段重叠来将标识符的数量增加一段时间。通过将标识符的时间窗重叠,可以从较短的音频片段提取更多的标识符,以提高搜索匹配的音轨数据的精度。
47.图3描绘了包括重叠标识符和峰的组合的音轨数据的频谱图300对应的音轨数据的表示。具体地,频谱图300中的点是频谱图峰,频谱图峰按频率窗口计数以构建用作音轨数据的标识符的直方图。
48.进行哈希以提高性能
49.所公开的实施例包括使用哈希函数来加速搜索操作以识别音轨数据的匹配表示。哈希是一种计算和存储空间高效的数据访问形式,其避免了有序和无序列表和结构化树的
非线性访问时间。通常,哈希函数将任意大小的数据映射到固定大小的值。哈希函数返回的值用于索引固定大小的表。常见的哈希方法包括数据无关法(data-independent method)(例如局部敏感哈希(locality-sensitive hashing,lsh))或数据依赖法(data-dependent method)(例如局部保持哈希(locality-preserving hashing,lph))。
50.所公开的实施例可以实现相似性保持哈希(similarity-preserving hash),其被称为自适应多重哈希(adaptive multiple hash,amh)。amh函数可以将每个标识符压缩成更少的位,同时为大规模音频搜索构建高效的索引结构。特别地,amh函数可以将相似的样本以高概率关联到一个公共桶。系统可以维护多组相似的音轨数据的多个桶。例如,每个桶可以与特定的特征关联,并且具有相同或相似特征的所有音轨都与该桶关联。因此,不同音轨的组被分组到不同的桶中,并且每组相似的音轨与同一桶关联。因此,对于哈希值,原始空间中的局部性属性很大程度上保持在哈希值的汉明空间中。
51.哈希方法可以使用随机投影来生成哈希位。例如,lsh将相似的输入项以高概率放置到相同的桶中。桶的数量远小于可能的输入项。这样,相似的输入项被放置在公共桶中。因此,该技术可以用于对数据进行聚类并执行最近邻搜索,最近邻搜索是一种被优化以在给定集合中找到最接近(或最类似)给定点的点的邻近搜索形式。因此,lsh可以降低高维数据的维数。因此,可以将高维输入项降低到低维版本,同时保持项之间的相对距离。相反,例如,随机向量与数据无关。尽管基于随机投影的lsh存在渐近理论保证,但在实践中效率不高,因为其需要具有冗长码的多个表来实现样本局部性保持目标。
52.与其他哈希方法不同,amh使用多种技术来增强哈希性能。更具体地,对于任何标识符x(例如指纹),可以使用以下哈希函数获得x的哈希位h:
53.(1)
54.这里,w是特征空间中的投影向量,t是阈值标量。对于哈希函数的每个分量,以下技术可以优化哈希性能。
55.(1)w的自适应投影
56.在真实数据集中,点在一个维度(例如y方向)上可能比另一维度更密集。在音轨数据搜索的情况下,某些特征在区分音轨方面可能比其他特征更敏感。图4是哈希数据的随机数据投影的图表的示例。随机投影和哈希具有极不平衡的哈希桶。特别地,图4示出了由h1、h2和h3函数描绘的六个哈希桶111、110、101、100、001和000。如图所示,超过80%的样本(例如空心圆)是同一桶100中的哈希值。因此,当需要对桶100中的哈希值进行大量比较时,需要显著增加某些查询的搜索时间。
57.为了解决上述问题,所公开的实施例将音轨数据变换到新的坐标系,使得数据的某个投影的最大方差位于选择的坐标上。所得的特征空间因此可以更均匀有效地划分哈希数据。更具体地,找到具有以下最大方差的元素x的线性函数w
t
x:
58.(2)
59.这可以通过各种方法(例如奇异值分解(singular value decomposition,svd))获得,其中,对应于λ1(σ的最大特征值)的最大特征向量w1是具有最大方差的投影方向。类似地,第二坐标上的第二大方差等(即)用作投影向量和基本哈希函数。
60.(2)t的平衡阈值
61.此外,对哈希位进行平衡可以提高搜索性能。因此,在第一次选择特定方向wi时将
公式(1)中的t选择为中值,使得相对于中间的t,每个位的一半是 1,另一半是-1。最后,每个n维音频标识符(例如5000维度
×
16位(整数向量)的总成本=80000位每标识符)通过选择的如下k个投影方向映射到k位:
62.(3)
63.h(x)表示经哈希的音频标识符(k维指纹)。在一个示例中,位数(k)约为64到256,比原始音频标识符小300倍以上。
64.例如,图5是示出通过所公开的amh对来自图4的数据的紧凑型数据投影的图表。特别地,图5示出了相对于图4中的数据的均匀数据投影。amh通过主成分分析(principal component analysis,pca)提取具有最大方差的方向,并将数据投影到这些维度中以进行数据哈希。由此,样本被更均匀地分桶,并且只使用了两个哈希函数(即h1和h2)。
65.(3)多重哈希表和多探针
66.如果该点被哈希到不同的桶,则可搜索内容的最近邻可能会失败。也就是说,因为最近邻在另一桶中,因此最近邻搜索失败。lsh最初可用于降低最近邻搜索失败形式的概率。首先,维护多个哈希表,使用根据以下公式制定的多重哈希表来使用不同的哈希函数对一个点进行多次哈希:
67.(4)
68.mh(x)包含一组不同的哈希映射hm(x)。对于所有这些哈希函数,一个点和其最近邻被哈希到不同的桶中的概率可以通过减少桶的数量和增加哈希表的数量来降低。此外,当搜索具有匹配的局部特征的最近邻时,每个哈希表中的多个桶在一定的汉明距离阈值内被探测,而不只是对哈希位使用线性扫描。
69.为了生成多重哈希表,应以较低概率选择密集分布的维度,而应以较高概率选择具有均匀分布的值的维度。因此,将选择维度i的概率设置为与其分布方差(例如特征值λi)成比例。
70.(5)
71.例如,可以通过以下生成随机哈希映射h1和h2:
[0072][0073][0074]
每个哈希映射中的每个哈希函数hi基于其概率(即公式(5))随机或伪随机选取。可以在同一哈希表中设置“无冗余哈希函数规则”以避免异常哈希位。
[0075]
在说明性示例中,诸如fingerprinti(表示为fi)的原始音频特征是5000维向量。所公开的amh函数可以将fi压缩成k维向量:其中k可以是64到256。为了进一步提高精度,可以使用多重哈希表:,其中,m是可以在搜索速度和精度之间权衡的参数。例如,假设m=10且k=64,则最终的经哈希的指纹fi将是640维向量。
[0076]
建立音轨数据库
[0077]
图6是示出构建音轨数据库的过程的流程图。可以执行过程600以将音轨添加到数据库。然后可以将包括在查询中的音频片段与数据库中的任何音轨(包括新添加的音轨)进行匹配。在602,音频搜索引擎获得音轨。例如,可以将歌曲上传到音频搜索引擎的数据库。
[0078]
在604,处理音轨以生成其表示,然后通过哈希机制进行处理。因此,当每个新音轨到达时,系统可以基于频谱图峰计算其标识符,然后用amh对标识符进行哈希。
[0079]
在606,将经哈希的标识符索引在数据库中。可以基于指示例如何时创建或接收音轨以进行处理的时间戳来索引标识符。在另一示例中,根据与音轨关联的另一度量或元数据来索引音轨。因此,可以跨所有歌曲的共同度量索引音轨的标识符。因此,可以离线维护索引,用于音频搜索引擎搜索音频片段。
[0080]
在608,可以处理查询的音频片段,以用其唯一标识符搜索音轨的标识符索。也就是说,一旦确定了查询的片段的标识符,则(例如基于汉明距离)执行匹配过程,在匹配过程中,将标识符中的查询哈希序列与所有参考哈希(例如所有离线索引的歌曲)进行匹配。在610,将以超过阈值的相似度与音频片段匹配的音轨声明为该查询的匹配。
[0081]
图7是示出执行对与音频片段匹配的音轨的音轨检索的过程的流程图。方法700可以由音轨数据检索系统执行。在702,系统可以获得与音轨的至少一部分(例如,歌曲曲目、歌曲片段)对应的音轨数据。例如,系统可以接收识别与歌曲片段匹配的歌曲的查询。歌曲片段可以输入电子设备的麦克风。歌曲片段可以是用户唱的歌曲或附近的扬声器输出的歌曲。输入通常包括背景噪声。在另一示例中,系统查询以识别与歌曲片段匹配的歌曲,该歌曲片段是以数字方式从歌曲曲目中提取的。
[0082]
在704,系统可以基于变换函数(例如快速傅里叶变换(fft))变换第一域中的音轨数据,以生成第二域中跨时间帧的表示。该表示可以随时间帧变化。表示的示例是频谱图。在一些实施例中,该表示是音轨数据随时间变化的频谱的视觉表示。
[0083]
在706,系统可以检测表示的相应部分中的峰值。在一些实施例中,这些部分是表示的非重叠区域。在一些实施例中,每个峰是表示的相应部分中的最大峰值。在一些实施例中,每个峰值超过表示的相应部分中的阈值。
[0084]
在708,系统从音轨数据的表示中提取一个或多个唯一标识符。标识符是音频指纹。每个标识符包括峰值的组合。在一些实施例中,峰值的组合从其他音轨中唯一地识别音轨。
[0085]
例如,对于每个标识符,系统可以将频谱图分割成n个频率窗口,每个频率窗口包括峰值。系统可以对每个窗口中的任何峰值进行计数,并基于n个频率窗口中的峰值的数量生成直方图。直方图可以用作音轨数据的标识符。音轨数据的每个标识符可以跨同一时间段并且可以具有重叠和/或非重叠部分。
[0086]
在710,系统可以用amh函数对标识符进行哈希以产生每个标识符的哈希值。此外,相似的哈希值与公共桶关联。在一些实施例中,哈希函数自适应地将多个样本哈希到公共哈希桶中。
[0087]
在712,系统可以处理音轨数据的每个标识符的哈希值,以能够基于哈希值进行音轨数据检索。例如,在714,当音轨数据是音轨时,系统可以通过在对应于音轨标识符的哈希值库中索引哈希值来处理哈希值。在另一示例中,在716,当音轨数据是音频片段时,系统可以执行步骤以识别匹配的音轨。也就是说,系统可以将音频片段的哈希值与数据库中存储的哈希值进行比较,其中数据库中存储的每个哈希值对应于音轨的标识符。该系统可以基于音频片段的哈希值与数据库中的一个或多个哈希值之间的相似度来确定距离。然后,系统可以将音频片段的至少一些哈希值与哈希桶中的一个或多个音轨的哈希值匹配。系统可以输出与音频片段匹配的一个或多个音轨的指示。
[0088]
图8是示出可以在其中实现本文描述的至少一些操作的处理系统800的示例的框
图。处理系统800表示可以运行本文描述的任何方法/算法的系统。例如,网络的任何网络接入设备(例如用户设备)组件可以包括处理系统800或是处理系统800的一部分。处理系统800可以包括一个或多个处理设备,这些处理设备可以经由一个或多个网络彼此耦合。网络可以称为通信网络或电信网络。
[0089]
在所示实施例中,处理系统800包括一个或多个处理器802、存储器804、通信设备806和一个或多个输入/输出(input/output,i/o)设备808,所有这些设备通过互连810彼此耦合。互连810可以是或包括一个或多个导电迹线、总线、点对点连接、控制器、适配器和/或其他传统连接设备。每个处理器802可以是或包括例如一个或多个通用可编程微处理器或微处理器内核、微控制器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列等,或这种设备的组合。
[0090]
处理器802控制处理系统800的整体操作。存储器804可以是或包括一个或多个物理存储设施,其可以是以下形式:随机存取存储器(random-access memory,ram)、只读存储器(read-only memory,rom)(可以是可擦除和可编程的)、闪存、微型硬盘驱动器或其他合适类型的存储设备、或这种设备的组合。存储器804可以存储配置处理器802根据上述技术执行操作的数据和指令。通信设备806可以是或包括例如以太网适配器、电缆调制解调器、wi-fi适配器、蜂窝收发器、蓝牙收发器等、或其组合。取决于处理系统800的具体性质和用途,i/o设备808可以包括诸如显示器(可以是触摸屏显示器)、音频扬声器、键盘、鼠标或其他指示设备、麦克风、相机等设备。
[0091]
虽然过程或块以给定顺序呈现,但替代实施例可以以不同的顺序执行具有步骤的例程或采用具有块的系统,可以删除、移动、添加、细分、组合和/或修改一些过程或块以提供替代或子组合,或者可以复制(例如多次执行)一些过程或块。这些过程或块中的每个可以以各种不同的方式实现。此外,虽然过程或块有时示为串行执行,但这些过程或块可以替代地并行执行,或者可以在不同时间执行。当过程或步骤“基于”值或计算时,该过程或步骤应解释为至少基于该值或该计算。
[0092]
用于实现本文介绍的技术的软件或固件可以存储在机器可读存储介质上,并且可以由一个或多个通用或专用可编程微处理器执行。如本文所使用的术语“机器可读介质”包括可以存储机器可访问形式的信息的任何机制,机器可以是例如计算机、网络设备、蜂窝电话、个人数字助理(personal digital assistant,pda)、制造工具、具有一个或多个处理器的任何设备等。例如,机器可访问介质包括可记录/不可记录介质(例如只读存储器(rom)、随机存取存储器(ram)、磁盘存储介质、光存储介质、闪存设备)等。
[0093]
注意,除非上文另有说明或者任何这种实施例在功能和/或结构上可能相互排斥,否则上述任何和所有实施例可以彼此组合。尽管已经参照特定示例性实施例描述了本发明,但是应认识到,本发明不限于所描述的实施例,而是可以通过在所公开的实施例的精神和范围内的修改和变更来实施。因此,说明书和附图应视为说明性意义而非限制性意义。
[0094]
与处理系统800关联的物理和功能组件(例如设备、引擎、模块和数据储存库)可以实现为电路、固件、软件、其他可执行指令或其任何组合。例如,功能组件可以以专用电路的形式、以一个或多个适当编程的处理器、单板芯片、现场可编程门阵列、由可执行指令配置的通用计算设备、由可执行指令配置的虚拟机、由可执行指令配置的云计算环境的形式或其任意组合实现。例如,所描述的功能组件可以实现为有形存储器内存上的指令,有形存储
器内存能够由处理器或其他集成电路芯片执行。有形存储器可以是计算机可读数据存储器。有形存储器内存可以是易失性或非易失性存储器。在一些实施例中,易失性存储器在其不是瞬时信号的意义上可以视为“非瞬时的”。图中描述的存储空间和存储器也可以用有形存储器内存(包括易失性或非易失性存储器)来实现。
[0095]
每个功能组件可以单独并独立于其他功能组件操作。部分或全部功能组件可以在同一主机设备或不同的设备上执行。不同的设备可以通过一个或多个通信信道(例如无线或有线信道)耦合以协调其操作。部分或全部功能组件可以组合为一个组件。单个功能组件可以划分为子组件,每个子组件执行该单个组件的不同的方法步骤或一个方法步骤。
[0096]
在一些实施例中,至少一些功能组件共享对内存空间的访问。例如,一个功能组件可以访问由另一功能组件访问或变换的数据。如果功能组件直接或间接共享物理连接或虚拟连接,从而允许由一个功能组件访问或修改的数据在另一功能组件中被访问,则可以认为这些功能组件彼此“耦合”。在一些实施例中,可以(例如通过重新配置实现部分功能组件的可执行指令)远程升级或修改至少一些功能组件。上述其他阵列、系统和设备可以包括用于各种应用的更多的、更少的或不同的功能组件。
[0097]
可以根据对存储器中存储的数据位的操作的算法和符号表示来描述所公开的实施例的方面。这些算法描述和符号表示通常包括产生期望结果的一系列操作。这些操作需要物理量的物理操纵。通常,尽管不是必须的,这些量采用能够被存储、传输、组合、比较和以其他方式操纵的电信号或磁信号的形式。通常为方便起见,这些信号称为位、值、元素、符号、字符、术语、数字等。这些和类似的术语与物理量关联,只是应用于这些量的方便标签。
[0098]
总结
[0099]
除非上下文另有明确要求,否则在整个说明书和权利要求中,词语“包括”、“包含”等应解释为包含性意义,而不是排他性或穷举性意义;也就是说,是“包括但不限于”的意义。如本文所用,术语“连接”、“耦合”或其任何变型表示两个或两个以上的元件之间的任何直接或间接的连接或耦合;元素之间的连接耦合可以是物理的、逻辑的或其组合。此外,当在本技术中使用时,词语“本文”、“以上”、“以下”和类似含义的词语应指本技术作为整体而不是本技术的任何特定部分。在上下文允许的情况下,上述具体实施方式中使用单数或复数的词语也可以分别包括复数或单数。关于一组两个或两个以上的项,词语“或”涵盖对该词的所有以下解释:列表中的任何项、列表中的所有项、以及列表中项的任何组合。
[0100]
系统的实施例的上述具体实施方式无意穷举或将系统限制为以上公开的精确形式。尽管以上出于说明性目的描述了系统的特定实施例和示例,但是在系统的范围内可以进行各种等效修改。例如,一些网元在本文描述为执行某些功能。这些功能可以由相同或不同网络中的其他网元执行,这可以减少网元数量。替代地或附加地,执行那些功能的网元可以由两个或两个以上的网元代替以执行那些功能的一部分。此外,虽然过程、消息/数据流或块以给定顺序呈现,但替代实施例可以以不同的顺序执行具有步骤的例程或采用具有块的系统,可以删除、移动、添加、细分、组合和/或修改一些过程或块以提供替代或子组合。这些过程、消息/数据流或块中的每个可以以各种不同的方式实现。此外,虽然过程或块有时示为串行执行,但这些过程或块可以替代地并行执行,或者可以在不同时间执行。此外,本文提及的任何特定数字仅是示例:替代实现可以采用不同的值或范围。还将理解,数据库的实际实现可以采用多种形式,并且术语“数据库”在本文中以一般意义使用以指代允许存储
和访问数据的任何数据结构,例如表格,链表、数组等。
[0101]
本文提供的方法和系统的教导可以应用于其他系统,不一定是上述系统。可以组合上述各种实施例的元素和动作以提供其他实施例。
[0102]
上述任何专利和申请以及其他参考文献(包括可能在随附文件中列出的任何文献)均通过引用并入本文。如果需要,可以修改本公开的各方面以采用上述各种参考文献的系统、功能和概念来提供本公开的其他实施例。
[0103]
根据以上具体实施方式,可以对本发明进行这些改变和其他改变。尽管以上描述描述了本公开的某些实施例,并且描述了设想的最佳模式,但是无论以上在文本中出现的多么详细,本发明可以以多种方式实施。该系统的细节在其实施细节上可能有很大的不同,但仍由本文所公开的技术涵盖。如上所述,在描述所公开技术的某些特征或方面时使用的特定术语不应理解为暗示该术语在本文中被重新定义为限于与该术语关联的所公开技术的任何特定特征、特征或方面。一般而言,以下权利要求中使用的术语不应解释为将本发明限于说明书中公开的特定实施例,除非上述具体实施方式部分明确定义了这些术语。因此,本发明的实际范围不仅包括所公开的实施例,还包括在权利要求中实践或实施本发明的所有等效方式。
[0104]
尽管以下以某些权利要求形式呈现了所公开技术的某些方面,但发明人以任何数量的权利要求形式考虑该技术的各方面。例如,虽然仅将本发明的一方面描述为体现在计算机可读介质中,但其他方面同样可以体现在计算机可读介质中。因此,发明人保留在提交申请后添加附加权利要求以针对所公开技术的其他方面寻求这种附加权利要求形式的权利。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献