使用音频信号的接近发现的制作方法

文档序号:12287103阅读:261来源:国知局
使用音频信号的接近发现的制作方法与工艺

移动计算设备现在通常在其中装备有位置传感器,诸如全球定位传感器(GPS)传感器。GPS传感器基于由轨道卫星发射的检测信号来计算其位置。因此,可以确定当移动计算设备在室内时,GPS传感器可能不能够准确地计算移动计算设备的位置。



技术实现要素:

以下是在此更详细描述的主题的简要概述。该概述不旨在限制关于权利要求的范围。

在此描述了计算系统。该计算系统包括处理器和存储器,该存储器包括由处理器执行的位置系统。该位置系统被配置为基于客户端计算设备的周围环境的基于音频的签名来计算指示客户端计算设备的位置的数据,该基于音频的签名基于由客户端计算设备采集的音频信号的高频部分。该位置系统还被配置为向客户端计算设备提供指示客户端计算设备的位置的数据。

附图说明

图1是被配置为计算针对客户端计算设备的位置数据的示例性计算系统的功能框图。

图2是促进确定两个或两个以上计算设备被共同定位在房间中的示例性系统的功能框图。

图3图示了两个房间的视图,其中计算系统可以确定哪些移动计算设备共同定位在多个房间中的一个房间中。

图4是图示用于向客户端计算设备输出通知客户端计算设备其与另一客户端计算设备被共同定位的指示的示例性方法的流程图。

图5是图示用于向客户端计算设备输出客户端计算设备与第二客户端计算设备被共同定位在房间中的指示的示例性方法的流程图。

图6是图示用于向客户端计算设备输出客户端计算设备与第二客户端计算设备被共同定位在房间中的指示的示例性方法的流程图。

图7是图示用于基于房间的基于音频的签名来构建针对房间的随时间变化的简档的示例性方法的流程图。

图8是图示用于标识客户端计算设备在特定位置处的示例性方法的流程图。

图9是图示用于生成房间的基于音频的签名的示例性方法的流程图。

图10是图示用于获取关于房间中的其他计算设备的信息的示例性方法的流程图。

图11是示例性计算系统。

具体实施方式

现在将参考附图描述关于基于由客户端计算设备采集的音频信号来计算关于客户端计算设备的位置的信息的各种技术,其中相同参考数字始终用于指代相同元件。在以下描述中,出于解释的目的,阐述很多特定细节以便提供对一个或多个方面的透彻理解。然而,可以明显的是,可以在没有这些特定细节的情况下实践(一个或多个)这样的方面。在其他实例中,以框图形式示出众所周知的结构和设备以便促进描述一个或多个方面。而且,应理解到,可以通过多个组件执行被描述为由某些系统组件执行的功能。类似地,例如,组件可以被配置为执行被描述为由多个组件执行的功能。

而且,术语“或”旨在意指包括性“或”而不是排他性“或”。也就是说,除非另外指定或从上下文清楚的,否则短语“X采用A或B”旨在意指自然包括性排列中的任一个。也就是说,短语“X采用A或B”由以下实例中的任一个实例满足:X采用A;X采用B;或X采用A和B二者。另外,除非另外指定或从上下文清楚的涉及单数形式,否则如本申请和所附的权利要求中使用的冠词“一”和“一种”应当一般地被解释为意指“一个或多个”。

进一步地,如本文所使用的,术语“组件”和“系统”旨在涵盖计算机可读数据存储库,其配置有当由处理器执行时使得某些功能被执行的计算机可执行指令。计算机可执行指令可以包括例程、函数等。还应理解到,组件或系统可以定位在单个设备上或跨多个设备被分布。进一步地,如本文所使用的,术语“示例性”旨在用作一些东西的图示或示例,并且不旨在指示优选。

现在参考图1,图示了促进计算指示客户端计算设备102的位置的数据的示例性系统100。如在本文中将更详细描述的,指示客户端计算设备102的位置的数据可以是绝对位置(例如,某个建筑物中的特定房间等)。在另一示例中,指示客户端计算设备102的位置的数据可以是相对位置。例如,指示客户端计算设备102的位置的数据可以指出客户端计算设备102可以与另一客户端计算设备被共同定位在房间中。客户端计算设备102可以是移动电话、平板计算设备、膝上型计算设备、可穿戴计算设备(诸如手表、眼镜等),等等。

系统100进一步包括计算系统104,其通过通信链路106与客户端计算设备102通信。计算系统104可以是计算设备或分布式计算系统。例如,计算系统104可以是企业计算系统、数据中心等,或者其可以被包括在企业计算系统、数据中心等中。在另一示例中,计算系统104可以被包括在移动计算设备102中。

计算系统104包括处理器108和存储器110,其中存储器110包括可以由处理器108执行的位置系统112。通常,位置系统112被配置为(例如通过通信链路106)接收由移动计算设备102生成的数据并且基于所接收的数据来计算指示移动计算设备102的位置的数据。位置系统112特别地很好地适于在移动计算设备102在室内时计算指示移动计算设备102的位置的数据。

计算系统104附加地包括数据存储库114,其包括多个签名116。在示例中,签名116可以各自地代表多个房间。因此,签名116中的签名可以包括指示房间的特征的数据结构,并且因此可以被用于标识房间。例如,签名116可以是相应房间的基于音频的签名。签名116可以基于由房间中的客户端计算设备的麦克风采集的音频信号。例如,签名116可以基于由多个房间中的客户端计算设备采集的音频信号的高频部分。音频信号的高频部分可以是例如大于18kHz的音频信号频率。在另一示例中,音频信号的高频部分可以是大于20kHz的音频信号频率。在又一示例中,音频信号的高频部分可以是大于25kHz的音频信号频率。音频信号的频率范围的上端可以被用于采集音频信号的麦克风限制。因此,例如,由客户端计算设备102的麦克风所采集的音频信号的高频部分可以在18kHz与80kHz之间、在20kHz与50kHz之间等。在示例中,在某个时间范围内(例如,十秒、一分钟、十分钟、两小时)在房间中所采集的音频信号的高频部分的散列已经被发现相对于彼此是一致的,特别地当与音频信号的低频部分(例如,人耳可听见的音频信号的部分)相比较时。散列之间的该一致性使得散列用于构建房间的基于音频的简档,并且进一步使得散列被比较以确定两个设备是否被共同定位。在非限制性示例中,签名116可以是由房间中的客户端计算设备采集的音频信号的高频部分的相应散列。而且,签名116可以具有与其相关联的相应标识符,其中标识符标识采集签名116所基于的音频信号的客户端计算设备。

位置系统112可选地包括签名生成器部件118,其被配置为接收由客户端计算设备所采集的音频信号的至少高频部分并且基于这样的高频部分来生成签名。按照示例,签名生成器部件118可以对由房间中的客户端计算设备采集的音频信号的高频部分执行散列算法,其中结果散列被包括在签名中。

位置系统112可以进一步包括比较器部件120,其将基于由客户端计算设备(例如,客户端计算设备102)采集的音频信号的签名与数据存储库114中的签名116相比较。位置系统112进一步包括简档构建器部件122,其可以基于由房间中的客户端计算设备采集的音频信号的高频部分来构建房间的简档。在示例中,简档构建器部件122可以生成房间的随时间变化的简档,其表示随时间的房间的高频声音。例如,房间可以第一次由第一签名表示(例如,当空气调节单元正运行时)并且可以第二次由第二高频签名表示(例如,当空气调节单元没有运行时)。位置系统112进一步包括发送器部件124,其被配置为将指示客户端计算设备的所确定的(绝对或相对的)位置的数据发送到客户端计算设备。

现在将参考客户端计算设备102描述系统100的操作。客户端计算设备102可以被定位在房间中,并且对于客户端计算设备102而言可以是期望的,以确定客户端计算设备102被定位在哪个房间中,和/或确定任何其他客户端计算设备是否与客户端计算设备102被共同定位在房间中。因此,客户端计算设备102可以采集房间的音频片段。音频片段的长度可以是半秒、一秒、三秒、六秒、八秒,等等。在示例中,客户端计算设备102可以对所采集的音频片段应用高通滤波器,由此从音频片段移除低频部分。然后,剩余部分是音频片段的高频部分。客户端计算设备102可以可选地压缩音频片段的高频部分,并且通过通信链路106将音频片段的经压缩的高频部分发送到计算系统104。在另一示例中,客户端计算设备102可以将音频片段的整体压缩并且将经压缩的音频片段发送到计算系统104,其可以然后执行上文所描述的滤波。更进一步地,客户端计算设备102可以将未压缩的音频片段发送到计算系统104。

在示例中,位置系统112接收音频片段的经压缩的高频部分并且在那执行解压缩算法,使得获得由客户端计算设备102采集的音频片段的高频部分。签名生成器部件118然后基于由客户端计算设备102采集的音频片段的高频部分,来生成客户端计算设备102驻留在其中的房间的基于音频的签名。如先前所指示的,签名生成器部件118可以对音频片段的高频部分执行散列算法,由此生成房间的基于音频的签名。此外,签名生成器部件118可以使得客户端计算设备102(或其用户)的身份被包括在签名中或以其他方式与签名相关联(例如,被附加到签名)。

比较器部件120可以然后将由签名生成器部件118所生成的签名与数据存储库114中的签名116相比较。数据存储库114中的签名116可以具有由与其相关联的签名116所表示的房间的身份。附加地或者备选地,签名116可以具有采集签名116所基于的音频信号的客户端计算设备的身份。按照示例,比较器部件120包括分类器,其已经被训练为将所接收的签名映射到如在数据存储库114中的签名116所标识的房间位置。在另一示例中,比较器部件120可以执行由签名生成器部件118生成的签名与签名116中的每个签名之间的成对比较。比较器部件120可以利用基于距离的算法,以获得当执行成对比较时指示两个签名之间的相似性的距离值。当签名与匹配的签名之间的距离值小于预定义阈值时,比较器部件120可以输出对由签名生成器部件118生成的签名的匹配。然后,在这种情况下,由签名生成器部件118生成的签名可以被发现将匹配签名116中的超过一个签名。当期望确定与客户端计算设备102被共同定位在房间中的客户端计算设备的身份时,这样的方法可以特别地很适合。此外,然而,应理解到用于将由签名生成器部件118生成的签名映射到房间的身份的任何适合的技术。

在另一示例中,比较器部件120可以搜索签名116中的单个匹配签名。比较器部件120可以当以下各项情况时确定签名116中的签名匹配由签名生成器部件118生成的签名:1)由签名生成器部件118生成的签名与匹配的签名之间的距离值在所有距离值当中是最低的;以及2)距离值小于预定义阈值。当期望标识客户端计算设备102被定位在其中的房间时,该方法可以特别地很适合。在另一示例性实施例中,比较器部件120可以通过使用聚类算法来将由签名生成器部件118生成的签名与数据存储114中的签名116相比较。在这样的情况下,比较器部件120可以将与由签名生成器部件118生成的签名相同聚类中的签名输出作为匹配的签名。

简档构建器部件122可以可选地基于由签名生成器部件118生成的签名来创建或更新房间的简档。例如,一旦房间(例如,基于由比较器部件120执行的比较)被标识,简档构建器部件122就可以创建或更新房间的简档。因此,例如,简档构建器部件122可以基于由签名生成器部件118所生成的签名来降低上文所提到的房间的简档中的不确定性。因此,由于简档可以是随时间变化的,因而被分配给签名的时间戳可以被用于更新简档。

响应于比较器部件120标识签名116中的、对应于(例如,足够地类似于)由签名生成器部件118生成的签名的至少一个签名,发送器部件124可以将指示客户端计算设备102的计算位置的数据发送到客户端计算设备102(以及可选地发送到与客户端计算设备102共同定位的其他客户端计算设备)。被发送给客户端计算设备102的数据可以是标识客户端计算设备102被定位在其中的房间的数据。在另一示例中,被发送到客户端计算设备的数据可以是标识与房间中的客户端计算设备102共同定位的其他客户端计算设备的数据。

客户端计算设备102可以以各种方式利用指示客户端计算设备102的位置的该数据。例如,客户端计算设备102可以将环境的地图呈现给客户端计算设备102的用户。在另一示例中,客户端计算设备102可以响应于接收到与客户端计算设备102共同定位的其他客户端计算设备的身份而执行内容共享应用。例如,客户端计算设备102可以使得内容被显示在与客户端计算设备102共同定位在房间中的其他客户端计算设备上。在另一示例中,客户端计算设备102可以被提供对关于房间中的其他客户端计算设备与客户端计算设备102的共享文件空间的访问。在又一示例中,基于客户端计算设备102被定位在其中的房间的身份,电子通信数据(诸如广告)可以被推送到客户端计算设备102。也预期到其他示例。

可以确定在一些情况下,位置系统112可能不能够以足够的确定性确定关于例如客户端计算设备102是否与另一客户端计算设备共同定位。例如,由签名生成器部件118生成的签名与签名116中的、由第二客户端计算设备生成的签名之间的距离值(其中签名在时间方面彼此接近而生成)可以大于阈值,但是在某种程度上仍然类似。为了降低关于客户端计算设备102和第二客户端计算设备是否被共同定位在相同房间中的不确定性,发送器部件124可以将请求发送到客户端计算设备102(和第二客户端计算设备)以用于附加信息。该附加信息可以包括但不限于客户端计算设备102通信所通过的接入点(例如,Wi-Fi接入点、蜂窝塔、蓝牙发射器等)的身份。

在另一示例中,发送器部件124可以将信号发送到客户端计算设备102,其使得客户端计算设备102发射具有编码在其中的标识符的音频信号,其中标识符标识客户端计算设备102和/或其用户。在示例中,音频信号可以是高频音频信号。在另一示例中,音频信号可以包括高频部分和低频部分(例如,20Hz),其中低频部分对于人耳也是非可听的。同样地,发送器部件124可以使得房间中的第二客户端计算设备发送非可听的音频信号,其具有被编码在其中的第二客户端计算设备或其用户的身份。客户端计算设备102的麦克风可以采集非可听的音频信号,并且客户端计算设备102可以压缩信号并且将经压缩的信号发送到计算系统104。位置系统112可以将该音频信号解压缩并且可以搜索被编码在其中的标识符。在这种情况下,比较器部件120可以将从音频信号提取的标识符与第二客户端计算设备(或其用户)的已知标识符相比较。当比较器部件120确定被编码在音频信号中的标识符和已知标识符匹配时,比较器部件120可以降低关于客户端计算设备102和第二客户端计算设备是否共同定位在房间中的不确定性。例如,当客户端计算设备102采集包括被编码在其中的第二客户端计算设备的标识符的音频信号时,可以以合理的确定性来确定客户端计算设备102和第二客户端计算设备彼此共同定位。

虽然图1图示了系统100的示例性设置,但是应理解到预期其他布置。例如,客户端计算设备102不是将经压缩的音频信号发送到计算系统104,客户端计算设备102而是可以包括签名生成器部件118。因此,客户端计算设备102可以将签名发送到计算系统104,其可以然后执行上文所描述的比较。同样地,客户端计算设备102不是将包括被编码在其中的身份的高频音频信号发送到计算系统104,客户端计算设备102而是可以被配置为分析高频音频信号并且提取其中的身份。客户端计算设备102可以然后将所提取的身份发送到计算系统104,其可以执行上文所描述的比较。也预期到其他备选方案。

现在参考图2,图示了被配置为计算指示客户端计算设备102的位置的数据的另一示例性系统200。系统200包括客户端计算设备102、计算系统104和第二客户端计算设备202。虽然第二客户端计算设备202被图示为移动电话,但是应理解到,第二客户端计算设备202可以是固定设备(诸如台式计算设备、视频游戏控制台、电视、机顶盒等)。进一步地,第二客户端计算设备202可以是移动设备(诸如移动电话、平板计算设备、膝上型计算设备、可穿戴设备等)。如所示,客户端计算设备102与计算系统104通信,并且第二客户端计算设备202也与计算系统104通信。

客户端计算设备102包括客户端处理器204和客户端存储器206,其中客户端存储器206包括由客户端处理器204可执行的部件和应用。下面将讨论这样的部件和应用。

客户端计算设备102还包括麦克风208,其被配置为采集音频信号。例如,麦克风208可以被配置为采集具有低频部分(对于人耳听得见的)和高频部分(对于人耳非可听的)二者的音频信号。客户端计算设备102还包括扬声器210,其可以发射音频信号。按照示例,扬声器210可以能够发射高频音频信号。

客户端计算设备102还包括无线芯片集212,其被配置为与其他设备形成无线通信链路。例如,无线芯片集212可以是Wi-Fi芯片集、蓝牙芯片集、光学通信芯片集等。更进一步地,客户端计算设备102可以包括传感器214。传感器214可以是GPS传感器、加速度计、速度传感器、陀螺仪、气压表、温度计等。

现在将讨论客户端存储器206中的部件和应用。客户端存储器206包括采样器部件216,其被配置为使得客户端计算设备102的麦克风208采集音频片段。采样器部件216还可以被配置为对由客户端计算设备102的麦克风208采集的音频信号应用高通滤波器。

客户端存储器206可选地包括压缩器部件218,其被配置为压缩至少由麦克风208采集的音频信号的高频部分。客户端存储器206可以进一步可选地包括签名生成器部件118,其可以基于由麦克风208采集的音频信号的高频部分来生成基于音频的签名。发射器部件220可以被配置为将音频信号的经压缩的高频部分发送到计算系统104。备选地,发射器部件220可以被配置为将由签名生成器部件118所生成的签名发送到计算系统104。在又一示例中,发射器部件220被配置为控制扬声器210的操作。例如,发射器部件220可以使得扬声器210输出具有被编码在其中的、客户端计算设备102(或其用户)的标识符的高频音频信号。标识客户端计算设备102的数据可以为计算系统104所知。例如,计算系统104可以将指令发送到客户端计算设备102,其中指令使得发射器部件220控制扬声器210以输出高频信号。

客户端存储器206可以进一步包括基于位置的应用222,其可以基于指示由计算系统104计算的位置的数据来执行至少一个操作。上文关于图1描述了示例性操作。

现在阐述系统200的操作。客户端计算设备102可以在室内环境中,并且可以期望标识与客户端计算设备102共同定位在房间中的其他客户端计算设备。如在图2中所示,第二客户端计算设备202与客户端计算设备102共同定位在房间中。采样器部件216可以控制麦克风208以采集音频信号,音频信号包括关于客户端计算设备102的周围环境的声音信息。进一步地,采样器部件216可以过滤音频信号的低频部分,由此生成音频信号的高频部分。

压缩器部件218可选地可以压缩音频信号的高频部分并且使得音频信号的经压缩的高频部分被发送到计算系统104。备选地,签名生成器部件118可以接收音频信号的高频部分并且可以基于音频信号的高频部分来生成基于音频的签名。签名生成器部件118可以然后使得签名被发送到计算系统104。

同时,第二客户端计算设备202可以相应地包括采样器部件216、压缩器部件218、签名生成器部件118和发射器部件220的实例。因此,第二客户端计算设备202在类似时间点处(例如,在从当麦克风208采集客户端计算设备102处的音频信号开始的阈值时间量内)可以采集音频信号,并且可以生成基于这样的音频信号的签名(在第二客户端计算设备102或计算系统104处)。如上文所描述的,计算系统104可以将基于由客户端计算设备102和第二客户端计算设备202采集的音频信号生成的签名进行比较。

在该示例中,计算系统104可以确定这样的签名彼此足够类似,以指示客户端计算设备102和第二客户端计算设备202被共同定位在相同房间中。部分基于被分配给这样的签名的时间戳,可以做出该确定,其中时间戳之间的时间小于预定义阈值(例如,1分钟、2分钟、5分钟等)。计算系统104可以然后向客户端计算设备102和/或第二客户端计算设备202发送信号,其向计算设备102和/或202指示他们被共同定位在相同房间中。这可以发起基于位置的应用222,其可以被配置为使得当这样的计算设备102和202已知在相同房间中时计算设备102与202之间的内容共享。例如,基于位置的应用222可以使得示出在客户端计算设备102的显示器上的内容同时地显示在客户端计算设备202的显示器上。

当计算系统104不能够以足够的确定性来确定客户端计算设备102和第二客户端计算设备202被共同定位在相同房间中时,计算设备104可以将指令发送到客户端计算设备102和/或第二客户端计算设备202以获得关于其周围环境的附加信息。在示例中,计算设备104可以将指令发送到使得扬声器210输出高频音频信号的客户端计算设备,其中高频音频信号具有编码在其中的客户端计算设备102的标识符。第二客户端计算设备202可以例如(在后台)监听高频音频信号,并且可以确定被编码在高频音频信号中的第一客户端计算设备102的身份。第二客户端计算设备202可以然后将客户端计算设备102的身份发送到计算系统104,并且计算系统104可以基于第二客户端计算设备202在客户端计算设备102附近的知晓,来确定客户端计算设备102和第二客户端计算设备202被共同定位在相同房间中(例如,这是因为第二客户端计算设备202能够确定被编码在高频音频信号中的、客户端计算设备102的身份)。

现在参考图3,图示了在其中本文所描述的方面特别地很适合的示例性环境300。环境300包括第一房间302和第二房间304(示出为邻近第一房间302)。在第一房间302中,将进行会议。特别地,在第一房间302中,第一用户306将采用膝上型计算设备308,第二用户310将采用移动电话312,以及第三用户314正采用平板计算设备316。第一用户306、第二用户310和第三用户314还可以被提供有示出在位于第一房间302中的显示器318上的内容。例如,显示器318可以是电视。第一房间302还包括无线接入点320,其可以是无线路由器。

第二房间304包括第四用户321,其正使用移动电话322。因此,第四用户320未被包括在第一房间302中将进行的会议中。

如先前所描述的,第一房间中的高频音频可以充当针对第一房间302的基于音频的签名,同时第二房间304中的高频音频可以充当针对第二房间304的基于音频的签名。例如,第一房间320和第二房间304中的不同的家具可以使得在房间302和304中所观察的高频音频是不同的。而且,第一房间302和第二房间304的大小可以使得在这样的房间中所观察的高频音频是不同的。基于在时间地对应的时间处由相同房间中的不同的设备所采集的高频音频信号生成的不同的散列已经发现是每个房间唯一的并且彼此类似。这使得计算系统104对哪些设备被共同定位在第一房间302中并且哪些(一个或多个)设备被共同定位在第二房间304中进行区分。

在操作中,膝上型计算设备308、移动电话312、平板计算设备316和显示器318(统称为“设备”)可以被配置为采集音频信号,并且可以(例如,通过设备308、312、316和318和/或计算系统104)生成高频音频信号的散列。类似地,第二房间304中的移动电话322可以被配置为采集音频信号,并且可以(例如,通过移动电话322或计算系统104)生成音频信号的高频部分的散列。计算系统104可以接收这些散列并且对这样的散列执行聚类算法。在该示例中,结果的聚类将包括:1)第一聚类,其包括基于由第一房间302中的设备308、312、316和318采集的音频信号的高频部分生成的散列;以及2)第二聚类,其包括基于由第二房间304中的移动电话322采集的音频信号的高频部分生成的散列。因此,计算系统104可以确定设备308、312、316和318彼此共同定位在第一房间302中,并且计算系统104可以确定客户端计算设备322处于不同的房间中(即,未与设备308、312、316和318共同定位)。

如上文所描述的,设备308、312、316和318和移动电话322还可以将关于其相应周围环境的附加信息发送到计算系统104。例如,设备308、312、316和318可以与接入点320通信,同时第二房间304中的移动电话322可以与不同的接入点(未示出)通信。设备308、312、316和318可以将接入点320的身份发送到计算系统104,其当对散列进行聚类时可以利用接入点320的身份(例如,当计算设备中的两个或两个以上计算设备报告接入点320的相同身份时,两个报告设备可能彼此相对接近)。

进一步地,如先前所指示的,可以使得一个或多个设备308、312、316和318和/或移动电话322发射具有被编码在其中的相应设备身份的高频音频信号。设备308、312、316和318和/或移动电话322中的一个或多个可以在后台监听高频音频信号,并且可以将所检测的身份报告给计算系统104。例如,当设备312发射高频音频信号时,膝上型计算设备308可以被配置为采集这样的音频信号并且确定被编码在其中的设备312的身份,同时第二房间304中的设备322可能不能够获取高频音频信号(由于将房间302和304分离的墙壁)。计算系统104可以提供有来自第一房间302中的一个或多个设备308、312、316和318的该信息并且可以确定哪些设备彼此被共同定位在第一房间302中。

响应于确定设备308、312、316和318彼此被共同定位在第一房间302中,计算系统104可以使得基于位置的应用被执行在第一房间302中的设备中的至少一个设备中,使得例如可以在设备308、312、316和318之间共享内容(同时内容可以不与第二房间304中的移动电话322共享)。例如,计算系统104可以使得对应于示出在显示器318上的信息的内容同时被呈现在计算设备308、312和316的显示器上(而不是在移动电话322的显示器上)。

图4至图10图示了计算与指示客户端计算设备的位置的数据有关的示例性方法。虽然方法被示出并且被描述为按序列执行的一系列动作,但是应理解并且了解到,方法不由序列的顺序所限制。例如,一些动作可以以与在此被描述的不同顺序发生。另外,动作可以与另一动作并发地发生。而且,在一些实例中,并非可以要求所有动作以实施本文所描述的方法。

而且,本文所描述的动作可以是可以由一个或多个处理器实施和/或被存储在计算机可读介质或媒体的计算机可执行指令。计算机可执行指令可以包括例程、子例程、程序、执行线程,等等。更进一步地,方法的动作的结果可以被存储在计算机可读介质中、被显示在显示设备上,等等。

现在参考图4,图示了促进向客户端计算设备输出客户端计算设备与第二客户端计算设备被共同定位在房间中的指示的示例性方法400。在示例中,可以在数据中心中的至少一个服务器上执行方法400。方法400在402处开始,并且在404处,从客户端计算设备接收音频信号。音频信号可以是或包括具有例如对于人耳非可听的频率的高频音频信号。进一步地,可以压缩在404处所接收的音频信号。在406处,基于高频信号来生成签名。签名可以是由对高频音频信号执行散列算法而生成的散列。

在408处,将在406处所生成的签名与对应于第二客户端计算设备的第二签名相比较。例如,可以基于由第二客户端计算设备所采集的音频信号来生成第二签名,其中第一签名和第二签名在时间方面接近被生成。例如,第一签名可以具有被分配到其的第一时间戳,并且第二签名可以具有被分配到其的第二时间戳,其中第一时间戳和第二时间戳彼此在预定义阈值时间内。

在410处,做出关于签名是否对应的确定。例如,基于两个签名是否一起被包括在聚类中,可以做出该确定。在另一示例中,基于两个签名之间的距离值是否小于预定义阈值,可以做出该确定。在又一示例中,签名的快速傅里叶变换(FFT)可以彼此比较,并且如果变换是足够类似的,则签名可以被视为对应。如果签名被发现在410处对应,那么在412处向客户端计算设备(以及可选地第二客户端计算设备)输出客户端计算设备与第二客户端计算设备共同定位的指示。在行为412之后或者如果在410处确定签名不对应,则方法400在414处完成。

现在参考图5,图示了促进输出客户端计算设备与第二客户端计算设备共同定位的指示的示例性方法500。在示例中,可以由数据中心中的至少一个服务器计算设备执行方法500。方法500在502处开始,并且在504处,接收来自客户端计算设备的音频签名,其中音频签名指示客户端计算设备驻留在其中的房间。因此,可以确定在方法500中,客户端计算设备生成签名。

在506处,将在504处接收到的签名与从第二客户端计算设备接收到的第二签名相比较。在508处,做出关于签名是否对应的确定(例如,签名是否是彼此足够类似的)。如果签名对应于彼此,则方法转到510,其中向客户端计算设备(以及可选地第二客户端计算设备)输出客户端计算设备和第二客户端计算设备被共同定位在相同房间中的指示。在510之后或者如果发现在508处签名不对应,则方法500在512处完成。

现在参考图6,图示了促进输出客户端计算设备与第二客户端计算设备共同定位的指示的示例性方法600。在示例中,可以由数据中心中的至少一个服务器计算设备执行方法600。方法600在602处开始,并且在604处,将第一签名与第二签名相比较。第一签名基于由第一客户端计算设备采集的音频信号,并且第二签名基于由第二客户端计算设备采集的音频信号。

在606处,做出关于签名是否对应的确定。如先前所指示的,关于签名是否对应的确定可以基于签名和指示何时生成签名的时间之间的相似性的量。如果签名被发现在606处对应,那么在608处将指令发送到第一客户端计算设备,其中指令使得第一客户端计算设备获得关于其周围环境的附加信息。该附加信息可以包括由客户端计算设备上的传感器获取的数据(温度、湿度等)、由第一客户端计算设备的扬声器所采集的信息(例如,具有被编码在其中的第二客户端计算设备的身份的高频音频信号)等。在610处,从客户端计算设备接收附加信息。

基于签名被发现在606处对应和在610处来自第一客户端计算设备的附加信息,在612处做出第一客户端计算设备是否与第二客户端计算设备共同定位的确定。如果在612处发现多个客户端计算设备被共同定位,那么在614处向第一客户端计算设备输出第一客户端计算设备与第二客户端计算设备被共同定位的指示。在行为614之后或者如果在606处发现签名未能对应或者如果在612处发现设备未共同定位,则方法600在616处完成。

现在参考图7,图示了促进构建房间的随时间变化的简档的示例性方法700。例如,可以由数据中心中的至少一个服务器计算设备执行方法700。方法700在702处开始,并且在704处,接收针对位置的基于音频的签名。这些基于音频的签名可以被标记为基于在位置(例如,特定房间)处所采集的音频信号的高频部分。而且,签名可以具有与其对应的时间戳,其可以指示当日时间、当年时间等。

在706处,基于在704处接收到的签名,构建针对位置的随时间变化的简档。因此,例如,当接收到基于由客户端计算设备采集的音频信号的高频部分而生成的签名时,可以将签名与随时间变化的简档相比较,并且基于这样的比较,可以做出关于在简档位置中是否采集高频音频信号的确定。方法700在708处完成。

现在转到图8,图示了促进确定客户端计算设备在特定(室内)位置的示例性方法800。在示例中,可以由数据中心中的至少一个服务器计算设备执行方法800。方法800在802处开始,并且在804处,从客户端计算设备接收基于音频的签名。备选地,不是接收基于音频的签名,而是可以接收由客户端计算设备采集的音频信号的高频部分。在806处,将基于音频的签名与针对位置的随时间变化的简档相比较。例如,可以根据方法700构建随时间变化的简档。在808处,基于比较来生成指示客户端计算设备在位置处的信号。例如,基于音频的签名可以对应于位置的随时间变化的简档。方法800在810处完成。

现在参考图9,图示了用于发送对应于位置的基于音频的签名的示例性方法900。例如,可以由客户端计算设备执行方法900。方法900在902处开始,并且在904处采集音频信号。特别地,可以使得麦克风采集特定时间长度的音频信号。在906处,将高通滤波器应用到音频信号以获得音频信号的高频部分。高频部分可以包括例如大于18kHz、大于20kHz等的频率。在908处,基于音频信号的高频部分来生成签名。例如,可以生成音频信号的高频部分的散列,并且签名可以包括这样的散列。签名还可以可选地包括指示音频信号何时被采集的时间戳以及采集音频信号的客户端计算设备的身份。在910处,将签名发送到网络可访问的计算系统,其可以将签名与基于由其他客户端计算设备采集的音频信号生成的其他签名相比较。方法900在912处完成。

现在参考图10,图示了促进将关于客户端计算设备的周围环境的数据提供给计算系统的示例性方法1000。例如,可以由客户端计算设备执行方法1000。方法100在1002处开始,并且在1004处,从计算设备接收用于获取关于客户端计算设备的周围环境的信息的指令。这些指令可以使得客户端计算设备的传感器采集观察等。在1006处,响应于在1004处接收到指令,可以获取与客户端计算设备通信的无线接入点的身份。该信息可以包括Wi-Fi SSID、蓝牙发送器的MAC地址等。

在1008处,基于在1004处接收到的指令来采集音频信号。例如,客户端计算设备可以监听(作为后台任务)可以由其他客户端计算设备生成的高频音频信号,其中这样的高频音频信号可以具有被编码在其中的另一客户端计算设备的身份。在1010处,基于所采集的音频信号来标识与客户端计算设备共同定位的第二客户端计算设备的身份。在1012处,该信息(例如,在1006处所确定的无线接入点的身份和在1010处所确定的第二客户端计算设备的身份)可以被发送到计算系统。方法1000在1014处完成。

现在阐述各种示例。

示例1:一种计算系统,其包括:处理器;以及存储器,该存储器包括由处理器执行的位置系统,该位置系统被配置为:基于客户端计算设备的周围环境的基于音频的签名来计算指示客户端计算设备的位置的数据,基于音频的签名基于由客户端计算设备采集的音频信号的高频部分;以及向客户端计算设备提供指示客户端计算设备的位置的数据。

示例2:根据示例1的计算系统,位置系统包括签名生成器部件,其被配置为基于由客户端计算设备采集的音频信号的高频部分来生成基于音频的签名,签名生成器部件被配置为对音频信号的高频部分执行散列。

示例3:根据示例1-2中的任一项的计算系统,位置系统被配置为基于被分配给音频信号的时间戳来计算指示客户端计算设备的位置的数据。

示例4:根据示例1-3中的任一项的计算系统,位置系统包括比较器部件,其被配置为执行基于音频的签名与房间的基于音频的简档之间的比较,位置系统被配置为基于比较来确定客户端计算设备被定位在房间中。

示例5:根据示例4的计算系统,位置系统进一步包括简档构建器部件,其被配置为:当基于音频的签名所基于的音频信号由计算设备采集时,基于对应于被标记为在房间中的计算设备的基于音频的签名来构建房间的基于音频的简档。

示例6:根据示例5的计算系统,简档构建器部件被配置为响应于位置系统确定客户端计算设备被定位在房间中,根据基于音频的签名来更新基于音频的简档。

示例7:根据示例1-6中的任一项的计算系统,其中指示客户端计算设备的位置的数据是相对位置,位置系统被配置为确定客户端计算设备与第二客户端计算设备被共同定位在房间中。

示例8:根据示例7的计算系统,位置系统被配置为基于第二基于音频的签名来计算指示客户端计算设备的位置的数据,第二基于音频的签名基于由第二客户端计算设备采集的第二音频信号的高频部分。

示例9:根据示例8的计算系统,基于音频的签名具有被分配给其的第一时间戳,第二基于音频的签名具有被分配给其的第二时间戳,第一时间戳与第二时间戳之间的差在阈值内。

示例10:根据示例8的计算系统,位置系统包括发送器部件,其被配置为将指令发送到客户端计算设备,指令使得客户端计算设备获取关于客户端计算设备的周围环境的附加信息。

示例11:根据示例10的计算系统,附加信息包括与客户端计算设备通信的无线收发器的身份以及第二客户端计算设备的身份。

示例12:根据示例10的计算系统,指令使得客户端计算设备驱使扬声器发射具有被编码在其中的、客户端计算设备的身份的非可听的音频信号。

示例13:根据示例1-12中的任一项的计算系统,音频信号的高频部分是音频信号中的、高于至少18KHz的频率。

示例14:一种用于确定第一客户端计算设备与第二客户端计算设备被共同定位的方法,该方法包括:将第一签名与第二签名相比较,第一签名基于由第一客户端计算设备采集的第一音频信号的高频部分,第二签名基于由第二客户端计算设备采集的第二音频信号的高频部分;基于第一签名与第二签名的比较来确定第一客户端计算设备与第二客户端计算设备被共同定位;以及向第一客户端计算设备或第二客户端计算设备中的至少一个客户端计算设备发送第一客户端计算设备和第二客户端计算设备被共同定位的指示。

示例15:根据示例14的方法,其中第一音频信号的高频部分排除第一音频信号中的低于18KHz的频率,并且其中第二音频信号的高频部分排除第二音频信号中的低于18KHz的频率。

示例16:根据示例14-15中的任一项的方法,其中确定第一客户端计算设备与第二客户端计算设备被共同定位包括:从第一客户端计算设备接收指示第一客户端计算设备与接入点通信的第一数据;从第二客户端计算设备接收指示第二客户端计算设备与接入点通信的第二数据;将第一数据与第二数据相比较;以及基于第一数据与第二数据的比较来确定第一客户端计算设备与第二客户端计算设备被共同定位。

示例17:根据示例14-16中的任一项的方法,其中确定第一客户端计算设备与第二客户端计算设备被共同定位包括:从第一客户端计算设备接收标识第二客户端计算设备的数据;以及基于标识第二客户端计算设备的数据,确定第一客户端计算设备与第二客户端计算设备被共同定位。

示例18:根据示例17的方法,进一步包括:响应于将第一签名与第二签名相比较,将指令发送到第二客户端计算设备,指令使得第二客户端计算设备输出音频信号,标识第二客户端计算设备的数据被编码在音频信号中;以及响应于发送指令而从第一客户端计算设备接收标识第二客户端计算设备的数据。

示例19:根据示例14-18中的任一项的方法,进一步包括:基于第一签名和第二签名来构建房间的随时间变化的简档。

示例20:一种计算机可读存储介质,其包括当由处理器执行时使得处理器执行动作的指令,动作包括:确定第一客户端计算设备和第二客户端计算设备被共同定位在房间中,该确定基于房间的第一音频签名和房间的第二音频签名,房间的第一音频签名基于由第一客户端计算设备采集的第一音频信号,房间的第二音频签名基于由第二客户端计算设备采集的第二音频信号;以及响应于确定第一客户端计算设备和第二客户端计算设备被共同定位在房间中,将指令发送到第一客户端计算设备和第二客户端计算设备中的至少一个客户端计算设备,指令使得内容同时地显示在第一客户端计算设备和第二客户端计算设备上。

现在参考图11,图示了可以根据本文所公开的系统和方法使用的示例性计算设备1100的高层示图。例如,计算设备1100可以在计算指示客户端计算设备的位置的数据的系统中使用。通过另一示例,计算设备1100可以在被配置为计算基于音频的签名的系统中使用。计算设备1100包括执行被存储在存储器1104中的指令的至少一个处理器1102。例如,该指令可以是用于实施如由上文所讨论的一个或多个组件执行所描述的功能的指令或用于实施上文所描述的方法中的一个或多个方法的指令。处理器1102可以通过系统总线1106访问存储器1104。除了存储可执行指令之外,存储器1104还可以存储位置的简档、基于音频的签名等。

计算设备1100附加地包括由处理器1102通过系统总线1106可访问的数据存储库1108。数据存储库1108可以包括可执行指令、客户端计算设备的身份、基于音频的签名等。计算设备1100还包括输入接口1110,其允许外部设备与计算设备1100通信。例如,输入接口1110可以被用于接收来自外部计算机设备、来自用户等的指令。计算设备1100还包括将计算设备1100与一个或多个外部设备对接的输出接口1112。例如,计算设备1100可以通过输出接口1112显示文本、图像等。

应当预期到,经由输入接口1110和输出接口1112与输出设备1100通信的外部设备可以被包括在提供用户可以与其交互的基本上任何类型的用户接口的环境中。用户接口类型的示例包括图形用户接口、自然用户接口等。例如,图形用户接口可以采用(一个或多个)输入设备(诸如键盘、鼠标、遥控器等)接受来自用户的输入并且在输出设备(诸如显示器)上提供输出。而且,自然用户接口可以使得用户能够以没有由输入设备(诸如键盘、鼠标、遥控器等)强加的约束的方式与计算设备1100交互。相反,自然用户接口可以依赖于语音识别、接触和触笔识别、在屏幕上和邻近屏幕二者的姿态识别、空中姿态、头部和眼睛跟踪、声音和语音、视觉、接触、姿态、机器智能等。

此外,虽然被图示为单个系统,但是应理解到,计算设备1100可以是分布式系统。因此,例如,多个设备可以通过网络连接通信并且可以共同地执行被描述为由计算设备1100执行的任务。

可以以硬件、软件或其任何组合实现本文所描述的各种功能。如果以软件实现,则功能可以被存储在计算机可读介质上或作为一个或多个指令或代码在其上发送。计算机可读介质包括计算机可读存储介质。计算机可读存储介质可以是能够由计算机访问的任何可用的存储介质。以示例而非限制的方式,这样的计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光学存储、磁盘存储或其他磁性存储设备或可以被用于承载或存储以指令或数据结构的形式的期望的程序代码并且能够由计算机访问的任何其他介质。如本文所使用的磁盘和光盘包括压缩光盘(CD)、激光盘、光盘、数字通用光盘(DVD)、软盘和蓝光盘(BD),其中磁盘通常磁性地复制数据并且光盘通常利用激光光学地复制数据。此外,传播信号未被包括在计算机存储介质的范围内。计算机可读介质还包括通信介质,其包括促进将计算机程序从一个地点传送到另一个地点的任何介质。例如,连接可以是通信介质。例如,如果使用同轴电缆、光缆、双绞线、数字用户线(DSL)或诸如红外、无线电和微波的无线技术来从网站、服务器或其他远程源发送软件,那么同轴电缆、光缆、双绞线、DSL或诸如红外、无线电和微波的无线技术被包括在通信介质的定义中。以上组合还应当包括在计算机可读媒体的范围内。

备选地或者附加地,可以至少部分通过一个或多个硬件逻辑组件来执行本文所描述的功能。例如,并且非限制性地,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统(SOC)、复杂可编程逻辑设备(CPLD),等等。

上文已经描述了包括一个或多个实施例的示例。当然,出于描述前述方面的目的,描述以上设备或方法的每个可想到的修改和变更是不可能的,然而,本领域的普通技术人员可以认识到,各方面的许多进一步的修改和置换是可能的。因此,所描述的各方面旨在涵盖落入所附的权利要求的精神和范围内的所有这样的变更、修改和变型。而且,在术语“包含”被使用在详细描述或者权利要求中的意义上,这样的术语旨在以与术语“包括”类似的方式是包括性的,如当用作权利要求中的过渡词时“包括”被解译那样。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1