用于提供共享的计算体验的方法和系统

申请号 CN201280039091.9 申请日 2012-07-26 公开(公告)号 CN103733186B 公开(公告)日 2017-12-22
申请人 微软技术许可有限责任公司; 发明人 D·贝雷特; M·阿尔比; C·奇林乔内; S·科伦卡克; J·麦克拉纳汉; M·帕滕; C·韦尔;
摘要 提供了用于检测两个设备是否彼此靠近以提供共享的计算体验的系统和方法。该方法包括从第一计算设备广播音频;在第二计算设备处接收该广播音频;以及处理接收到的音频以标识所广播/接收到的音频内的唯一音频签名。该唯一音频签名唯一地标识该第一计算设备。该方法还可包括基于所广播的音频来确定该第一计算设备和第二计算设备彼此靠近;以及在该第一计算设备和第二计算设备中的一个或两者处提供共享的计算体验,其中在确定该第一和第二计算设备不彼此靠近的情况下不提供该共享的计算体验。
权利要求

1.一种检测两个设备是否彼此邻近以提供共享的计算体验的方法,所述共享的计算体验涉及所述设备之间的交互并且在所述设备不邻近的情况下将不会提供所述共享的计算体验,所述方法包括:
从第一计算设备广播所广播的音频;
在第二计算设备处接收来自所述第二计算设备所处在的物理环境的接收到的音频;
处理所述接收到的音频以确定这一接收到的音频是否对应于所述所广播的音频;
如果所述接收到的音频事实上对应于所述所广播的音频,则确定所述第一计算设备和所述第二计算设备彼此邻近;
在所述第一计算设备和所述第二计算设备中的一个或两者处提供共享的计算体验,其中在确定所述第一和第二计算设备不彼此邻近的情况下不提供所述共享的计算体验;
检索涉及所述第一计算设备和所述第二计算设备之间的先前交互的历史数据,以及基于涉及所述先前交互的历史数据来控制所述共享的计算体验。
2.如权利要求1所述的方法,其特征在于,所述所广播的音频包括唯一音频签名。
3.如权利要求2所述的方法,其特征在于,确定所述第一计算设备和所述第二计算设备是否彼此邻近包括所述第二计算设备与使用所述唯一音频签名来标识所述第一计算设备的服务进行通信。
4.如权利要求2所述的方法,其特征在于,所述唯一音频签名不是人类可感知到的并且被嵌入以其他方式可听见的信号中。
5.如权利要求4所述的方法,其特征在于,所述唯一音频签名是嵌入以其他方式可听见的信号中的印。
6.如权利要求2所述的方法,其特征在于,所述唯一音频签名是人类可感知到的。
7.如权利要求1所述的方法,其特征在于,还包括在确定多个计算设备彼此邻近后,提供涉及设备间交互的计算体验,其中这一提供是基于一个或多个邻近设备的空间定向来控制的。
8.如权利要求7所述的方法,其特征在于,邻近设备包括捕捉设备,并且如果所述捕捉设备瞄准以捕捉主计算设备所显示的可视内容,则所述空间定向允许所述邻近设备控制所述主计算设备的各方面,否则禁止所述邻近设备控制所述主计算设备的各方面。
9.一种用于提供共享的计算体验的方法,包括:
检测音频签名;
标识与所述音频签名相关联的计算设备;
建立与所述计算设备的通信链路以由此形成与所述计算设备共享的计算体验;
配置交互式软件体验,其中配置包括确定与链接的计算设备相关联的用户;
检索涉及所述计算设备和所述链接的计算设备之间的先前交互的历史数据;以及基于涉及所述先前交互的历史数据来控制所述交互式软件体验。
10.一种用于提供共享的计算体验的系统,包括:
用于检测音频签名的装置;
用于标识与所述音频签名相关联的计算设备的装置;
用于建立与所述计算设备的通信链路以由此形成与所述计算设备共享的计算体验的装置;
用于配置交互式软件体验的装置,其中所述用于配置的装置包括用于确定与链接的计算设备相关联的用户的装置;
用于检索涉及所述计算设备和所述链接的计算设备之间的先前交互的历史数据的装置;以及
用于基于涉及所述先前交互的历史数据来控制所述交互式软件体验的装置。

说明书全文

用于提供共享的计算体验的方法和系统

技术领域

[0001] 本申请涉及用于提供共享的计算体验的方法和系统。

背景技术

[0002] 在计算机游戏和其它电子环境中,将软件体验配置成针对多设备交互来提供现在是常见的。这可以在设备彼此靠近时(例如在同一房间中)或者在用户彼此远离的情况下进行。在多设备交互的情况下,共享的体验并不基于设备是靠近还是远离而不同。而且,通常要求游戏或其它软件应用被肯定地且显式地配置成考虑多个用户的事实,并且专标识特定用户将参与交互式软件体验。发明内容
[0003] 提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
[0004] 提供了用于检测两个设备是否彼此靠近以提供共享的计算体验的系统和方法。该方法包括从第一计算设备广播音频;在第二计算设备处接收该广播音频;以及处理接收到的音频以标识所广播/接收到的音频内的唯一音频签名。该唯一音频签名唯一地标识该第一计算设备。该方法还可包括基于所广播的音频来确定该第一计算设备和第二计算设备彼此靠近;以及在该第一计算设备和第二计算设备中的一个或两者处提供共享的计算体验,其中在确定该第一和第二计算设备不彼此靠近的情况下不提供该共享的计算体验。附图说明
[0005] 图1示出了其中计算系统可参与交互式计算体验的示例性环境。
[0006] 图2示出了其中各单独计算设备的用户可结合共享的、硬件和软件启用的计算体验来进行交互的示例性环境。
[0007] 图3描绘了用于响应于自动化邻近度判定来配置软件体验的示例性方法。
[0008] 图4-6描绘了用于确定计算设备是否彼此靠近的示例性方法。

具体实施方式

[0009] 图1描绘了其中多个计算系统可参与交互式视频游戏或其它交互式计算体验的示例性环境。描绘了两个计算系统(计算系统10和计算系统20),但可以理解本发明中的系统和方法可结合任何其它数量的不同计算系统使用。
[0010] 计算系统10可以在位置A,而计算系统20可以在位置B。取决于这两个位置的邻近度,计算系统10和计算系统20可参与此处也被称为共享的体验的交互式体验。换言之,这两个计算系统可以足够接近以消费彼此的内容,如下文更详细地描述的。
[0011] 在一些实施例中,这些计算系统可以通信地链接到同一网络。例如,各计算系统可以在同一局域网(LAN)上。此外,各计算系统可被配置成进行无线通信。例如,各计算系统可通信地启用Wi-Fi,并因此这两个计算系统可以彼此进行无线通信(大致在30所示)。在其它示例中,这些计算系统可以硬连线到同一网络。计算系统10可确定计算系统20为靠近的,因为这两个计算系统通信地链接到同一网络。以此方式,计算设备10和计算设备20可以在邻近位置(即,位置A基本靠近位置B),并且这些计算系统由于该接近邻近度而可被配置成通过共享的体验来进行交互。用于确定连接到同一网络的两个或更多计算系统是否靠近的示例方法以下参考图4来讨论。
[0012] 可以理解,虽然上述场景被描述成计算系统10确定计算系统20是否靠近,但计算系统20确定计算系统10是否靠近也是可能的。例如,计算系统20可确定计算系统10是靠近的,因为这两个计算系统通信地链接到同一网络。
[0013] 在一些实施例中,计算系统10可确定计算系统20经由计算服务来靠近。例如,计算系统10和计算系统20可以经由网络56来通信地链接到邻近度判定服务54。邻近度判定服务54可被配置成在计算系统10和计算系统20通信地链接到例如不同的局域网时检测这两个计算系统的邻近度。由此,邻近度判定服务54可发起两个或更多设备之间的邻近度判定。在另一示例中,一个或多个设备可经由邻近度判定服务54来发起与另一设备的邻近度判定。换言之,邻近度判定服务54可以在由计算系统提示时管理邻近度判定。不管发起者是谁,计算设备10和计算设备20可被确定为在邻近位置(即,位置A基本靠近位置B),并且这些计算系统即使在这两个计算系统通信地链接到不同网络时也可被配置成通过共享的体验来进行交互。用于确定连接到不同网络的两个或更多计算系统是否靠近的示例方法以下参考图5和6来讨论。
[0014] 如图所示,每一个计算系统都包括显示子系统(子系统12和22);逻辑子系统(子系统14和24);以及数据保存子系统(子系统16和26),数据保存子系统可包含可由逻辑子系统(例如,逻辑子系统14和/或24的处理器)执行的指令(18和28)。由此,计算系统各自具有显示器、处理和存储/存储器特征应该是明显的。另外,每一个系统都可具有或采用各种其它输入/输出元件,并且通常将包括使得能够通过各种无线和/或有线链路(例如链路30)来进行通信的通信子系统。
[0015] 指令18和28可被配置成确定一个计算设备与另一个计算设备的邻近度。这些指令可使得计算设备能够广播内容(例如邀请)以加入邻近共享的计算体验。此外,指令可使得计算设备能够从另一计算设备接收所述邀请。另外,指令可使得计算设备能够基于接收到的内容来确定该计算设备是否邻近另一计算设备,如下文更详细地描述的。可以理解,这些指令可结合可以是例如计算设备和/或远程服务器的组件的邻近度模来采用。
[0016] 另外,如图2所示,每一个交互计算系统都可包括能够观察目标对象的运动并且作为响应将该运动解释成用于控制连接的计算系统的命令的运动子系统(运动子系统32和42)。更具体而言,该附图示出了能够跟踪人类目标36在捕捉体38内的运动和位置的深度相机34。在一个示例中,处理所跟踪的运动以产生人类目标的3D空间模型(例如包含在数据保存子系统16或26中)中的相关联的改变。用户运动以及该模型的对应改变然后被用来控制连接的计算系统。例如,在第一人称虚拟现实游戏中,人类用户的所跟踪的运动可用于在虚拟现实环境中移动“虚拟用户”。如下文更详细地描述的,深度相机34可被配置成进行运动捕捉并且可被另外配置成进行邻近度检测。例如,深度相机32可被配置成接收发送自另一设备的广播的视频签名。
[0017] 存在其中两个或更多计算设备例如在多玩家在线视频游戏中进行交互的许多系统。然而,这些系统通常需要显式手动动作来登录用户或者以其它方式指定该软件将为多个用户执行,并且标识将涉及的特定用户和设备。此外,这些系统不基于设备位置来提供不同的体验。具体而言,在每一个参与设备处发生的体验不基于设备是在同一房间内还是彼此远离而改变。
[0018] 因此,图3描绘了用于自动配置和执行其中多个不同设备交互的计算体验的示例性方法300。在最高层,该方法包括做出自动邻近度判定,如302所示。然后基于自动邻近度判定的结果来配置并提供交互式软件体验(步骤304)。该体验是受邻近度影响的,这表现在该体验取决于两个或更多设备是否彼此靠近(例如,在同一房间内)而不同。例如,计算机游戏可以在检测到两个设备在同一房间内的情况下提供不同的体验。
[0019] 对于一个或多个设备(例如,已被确定为彼此靠近的设备),该方法还可包括标识设备和/或相关联的用户(步骤306);确定设备的能(步骤308);和/或确定设备的位置和/或定向(310)。因此,当执行了所有这些步骤时,(1)该系统可能已经确定两个或更多设备彼此靠近;(2)标识出特定设备或相关联的用户;(3)系统知晓设备能力;(4)系统知晓设备的位置和/或定向。因此,该方法还可包括在312提供进一步受到在步骤306、308和310进行的判定中的任一个的影响的交互式计算体验。
[0020] 图4-6示出了用于确定两个或更多计算设备是否靠近的示例方法。例如,可实现图4-6所示的示例方法以做出自动邻近度判定。换言之,以下示例方法中的一种或多种可被实现为执行例如图3的步骤302。尽管这些示例方法将首先被大致描述,但各方法步骤将在稍后对具体示例的讨论中引用。示例方法可通过在一个或多个任何类型的计算设备上执行指令来执行。尽管示例方法可结合图1和2的特定设备来采用,但可以理解这些方法可以在各种其它环境中采用。
[0021] 首先参考图4,提供用于确定两个或更多计算设备(例如计算系统10和计算系统20)是否彼此靠近的示例方法400。例如,方法400可以在两个或更多计算设备连接到同一网络时执行。
[0022] 方法400包括在402从第一计算设备广播音频。在404,该方法包括在第二计算设备处接收广播的音频。在406,该方法包括处理接收到的音频以确定接收到的音频事实上是否的确对应于所广播的音频。例如,处理可包括标识所广播/接收到的音频内的唯一音频签名,所述唯一音频签名唯一地标识第一计算设备。在408,该方法包括基于在第二计算设备处接收到的所广播的音频来确定第一计算设备和第二计算设备彼此靠近。在410,该方法包括在第一计算设备和第二计算设备中的一个或两者处提供共享的计算体验,其中在确定第一和第二计算设备不彼此靠近的情况下不提供该共享的计算体验。
[0023] 可以理解,方法400是作为示例来提供的,且可包括针对图4所示的附加或替换步骤。作为一个示例,处理接收到的音频可包括过滤掉来自物理环境的第二计算设备可能在监听所广播的音频时接收到的背景环境噪声。由于接收到的音频的其它部分可归因于环境背景噪声,因此第二计算设备可确定接收到的音频的一部分是否对应于所广播的音频。
[0024] 作为另一示例,方法400可包括从第一设备广播视频签名并在第二设备处接收该视频签名。在这一示例中,诸如相机(例如深度相机32)等视频捕捉设备可被配置成接收视频签名。因此,可使得深度相机能够进行运动捕捉和邻近度判定。然而,可以理解,深度相机是作为一个非限制性示例来提供的,且被配置成接收视频签名的其它捕捉设备是可能的,而不背离本发明的范围。
[0025] 作为另一示例,当确定第一计算设备和第二计算设备彼此靠近时,该方法可包括检索涉及这些设备之间的先前交互的数据。例如,第一计算设备和第二计算设备先前可能已经交互过,并由此可能具有先前交互的历史纪录。由此,共享的计算体验可基于这一涉及先前交互的数据来控制。
[0026] 以此方式,两个或更多计算设备可通过广播和接收音频和/或视频签名来确定它们是否彼此靠近。如上所示,方法400可由通信地链接到例如同一网络的两个或更多计算设备来实现。
[0027] 在一些实施例中,两个或更多计算设备可被确定为在同一大致邻近区域内,尽管这些计算设备通信地链接到不同网络。例如,图5示出了用于经由云计算服务来确定两个或更多计算设备是否靠近的方法500。例如,确定第一计算设备和第二计算设备是否彼此靠近可经由云计算服务来实现。由此,第二计算设备可以与使用唯一音频签名来标识例如第一计算设备的云计算服务进行通信。
[0028] 方法500包括在502经由云计算服务来检测两个或更多计算设备在同一大致邻近区域内。在504,该方法包括提示第一计算设备进入监听模式,其中云计算服务被配置成提示该监听模式。在506,该方法包括提示第二计算设备进入监听模式,其中云计算服务被配置成提示该监听模式。在508,该方法包括第一计算设备标识第二计算设备发出的音频和/或视频广播。在510,该方法包括确定第一和第二计算设备彼此靠近。
[0029] 可以理解,方法500是作为示例来提供的,且可包括针对图5所示的附加或替换步骤。作为一个示例,方法500可包括第一或第二计算设备之一,该计算设备经由云计算服务来提示另一个计算设备进入监听模式。以此方式,一个计算设备可通过经由云计算服务来中继邻近度判定的发起并提示另一计算设备监听广播来发起邻近度判定。作为另一示例,方法500可包括在确定第一和第二计算设备是否彼此靠近后,确定第一和/或第二计算设备是否在离主计算系统的阈值距离内。这一阈值距离可由全球定位系统来确定,如下所述。
[0030] 例如,计算设备可被允许持续地或定期发送共享邀请以发起邻近度判定。作为另一示例,计算设备可被允许持续地或定期接收共享邀请以指示邻近度判定。如上所示,方法500可由云计算服务来实现,以管理两个或更多计算设备之间的通信,以便在两个或更多计算设备通信地链接到不同网络(例如不同的LAN网络)时确定这些计算设备之间的邻近度。
可以理解,云计算服务或计算设备可被配置成发起监听和广播模式以确定邻近度。在一些示例中,不止一个计算设备可发起邻近度判定协议。
[0031] 例如,在图6中提供了基于检测到在两个或更多计算设备之间发出的相同音频和/或视频内容来确定这些计算设备之间的邻近度的方法600。方法600可以至少部分地由云计算服务来实现,以便在两个或更多计算设备被确定为靠近时建立共享的体验。
[0032] 方法600包括在602检测音频和/或视频内容,其中第一计算设备和第二计算设备两者都检测音频和/或视频内容。在604,该方法包括将由第一计算设备检测到的音频和/或视频内容与由第二计算设备检测到的音频和/或视频内容进行比较,其中云计算服务被配置成进行比较。在606,该方法包括确定由每一个设备检测到的音频和/或视频内容是相同的。在608,该方法包括向第一计算设备和第二计算设备发送指示这些计算设备靠近的消息。在610,该方法包括在第一和第二计算设备之间建立共享的体验。以此方式,如果第一和第二计算设备被确定为靠近,则可建立第一和第二计算设备之间的共享的计算体验。否则,可禁止第一和第二计算设备经由共享的计算体验来交互。
[0033] 可以理解,方法600是作为示例来提供的,且可包括针对图6所示的附加或替换步骤。方法600是作为可基于计算设备输出相似内容来确定与另一计算设备的邻近度的两个或更多计算设备的非限制性示例。如上所示,方法600可由云计算服务来实现,以便至少部分地管理两个或更多计算设备之间的通信,以便在两个或更多计算设备通信地链接到不同网络(例如不同的LAN网络)时确定这些计算设备之间的邻近度。
[0034] 邻近度判定还可结合全球定位系统(GPS)或其它类似系统来做出。GPS可将对应于第一和第二计算设备的位置的坐标与对应于例如主计算系统的位置的坐标进行比较。GPS可确定第一和第二计算设备与主计算系统之间的阈值距离。如果第一或第二计算设备的位置超出阈值距离,则可禁止第一或第二计算设备加入与主计算系统共享的体验。
[0035] 在另一示例中,GPS坐标可用于确定两个设备大致彼此靠近,且使用例如以上讨论的声学方法来实现更精确的最终判定。例如,GPS判定可能标识出两个设备相距20英尺,但即使如此也无法确定这些设备是否在同一房间内。在这种情况下,声学方法可改进经由GPS确定的大致邻近度,具体而言通过经由声学广播和接收来细化该判定。
[0036] 在另一示例中,邻近度判定可被配置成采用GPS系统以排除处在大于离具有所建立的共享的体验的设备的阈值距离的位置中的计算设备。例如,远离的计算设备可检测到已被用来在靠近的计算设备之间建立共享的体验的相同音频/视频内容。作为示例,两个移动计算设备可以从检测自正在执行特定游戏的游戏控制台的音频/视频内容中建立共享的体验。远离的计算设备可以从正在执行相同游戏的不同的游戏控制台中检测到相同的音频/视频内容。然而,远离的计算设备(并且同样地,不同的游戏控制台)可能超出预定的阈值距离以使得远离的计算设备太远离共享的体验以至于到该共享的体验的连接是不可行的。
[0037] 然而,可以理解,未超出阈值距离的远离的计算设备可自动地或者通过来自所建立的共享的体验中的一个计算设备的邀请来被邀请加入所建立的共享的体验。
[0038] 在一些实施例中,音频和/或视频广播可包括时间戳作为管理共享的体验的数据。例如,时间戳可指示广播音频和/或视频内容的时间。因此,在阈值时间窗口内检测到相同的音频和/或可视内容的计算设备可被确定为靠近并由此可加入共享的体验。以此方式,在阈值时间窗口之外的时间检测到音频和/或可视内容的计算设备可被排除在共享的体验之外,而不管该计算设备与具有所建立的共享的体验的其它计算设备的邻近度。
[0039] 此外,被认为是靠近的但彼此位于变化的距离的计算设备可经由不同的途径来加入共享的体验。例如,一些计算设备可通过实现方法400来加入共享的体验,而其它计算设备可通过实现方法500或600来加入共享的体验。可以理解,确定设备之间的邻近度以建立共享的体验的几乎任何组合或子组合是可能的,而不背离本发明的范围。
[0040] 如上所示,还可采用机器视觉或其它光学技术来广播和接收视频签名。例如,诸如图2所示的运动捕捉系统可以是游戏控制台系统的一部分,并且可用于标识与该控制台相同的房间内的智能电话或其它设备的存在。例如,计算设备10可以是游戏控制台系统50的一部分,而计算设备20可以是智能电话52的一部分。还应理解,不管实现此处讨论的邻近度判定的细节如何,这些邻近度判定通常是自动地且在无需任何用户输入的情况下执行的。
[0041] 上述方法中的邻近度判定和设备标识可使用音频/声学和/或可视通信来执行。例如,第一设备可做出音频广播。第二设备可以在足够靠近第一设备的情况下接收到该音频广播。由此,仅仅由于“听见”广播这一事实,可确定第二设备靠近第一设备。作为替换,可使用接收到的音频的阈值强度或音量来确定设备彼此靠近。从音频交换中,还可采用推断或计算来评估两个设备之间的距离,并且然后邻近度判定的前提可以是设备彼此在阈值距离内。
[0042] 可以理解,第二设备接收到的音频可以不同于第一设备广播的音频。例如,第二设备可以在具有某些环境背景噪声的位置。因此,除了从第一设备广播的音频之外,该第二设备可能听见环境背景噪声。
[0043] 此外,检测和比较背景噪声可以是关于两个设备是否靠近的指示。例如,第一设备可以发出第二设备可以接收到的音频广播。如上所述,第二设备可以听见音频广播和背景噪声。第一设备还可被配置成听见并由此可检测到背景噪声。第一和第二设备可以通信以确定这两个设备听见相同的背景噪声。在另一示例中,云计算服务可用于确定两个设备是否检测到相同或相似的背景噪声。如果背景噪声被确定为是相似的,则这两个设备可被认为是靠近的。如果背景噪声是不同的,则两个设备可被认为是远离的。然而,可以理解两个或更多设备可远程地参与共享的体验。在这些情况下,与靠近的设备之间的共享的体验相比,共享的体验可以是不同的。
[0044] 作为示例,Jason和Megan希望用他们各自的计算设备来玩第一人称射击视频游戏。Jasson的相关联的设备可以是位于他的起居室内的游戏控制台,并由此Jason的设备可以被认为是主计算设备。由此,主计算设备可以是用于建立共享的体验的发起者。虽然在该示例中被描述为不可移动游戏系统(Jason的游戏控制台),但可以理解主计算设备可以是移动计算设备。Megan可能希望使用她的智能电话来玩该游戏。Jason的设备可广播音频作为对邻近设备参与共享的体验的邀请。Megan可以坐在Jason的起居室内的沙发上并且她的智能电话可接收到音频广播。由此,这两个设备可确定它们是邻近的,如上所述。因为这两个设备是邻近的,并且取决于这两个设备的能力,Megan可将她的智能电话作为游戏控制器瞄准与Jason的游戏控制台相关联的显示器。例如,将智能电话瞄准显示器可被解释为将武器瞄准敌人。一旦Megan确定她的智能电话已经瞄准作为目标的显示在Jason的设备上的敌人,她可触摸她的智能电话的显示器上的虚拟元件以扣动扳机。以此方式,Megan和Jason可参与邻近共享的体验以便玩第一人称射击视频游戏。换言之,该邻近共享的体验可包括不止一个计算设备,由此涉及设备间交互。例如,设备间交互可以与一个设备相对于另一设备的位置和/或定向相关联,以允许一个设备控制另一设备的各方面。涉及设备间交互的这一共享的计算体验可被启用以获得邻近共享的体验;然而,如果两个设备不是邻近的,则设备间交互也许是不可能的,即使这两个设备正在参与共享的体验。
[0045] 例如,Megan可能正在坐公共汽车下班回家。Megan可经由她的智能电话接收加入Jason的游戏体验的邀请。Jason在家希望开始第一人称射击游戏并且希望与Megan共享他的体验,即使他们彼此远离。Megan和Jason的设备可根据如上所述的方法来确定它们并不邻近。作为一个示例,Megan的设备可监听广播并且可接收到包括从公共汽车获取的大量背景噪声的音频。Megan的设备可确定它是不邻近的,因为尽管它接收到音频,但该音频不包括广播。然而Megan和Jason仍然可以建立远程共享的体验,但该体验可能不具有与邻近共享的体验相同的能力。
[0046] 例如,与上述示例相反,Megan的设备可能无法瞄准与Jason的游戏控制台相关联的显示器上的虚拟敌人。由于Megan在公共汽车上并由此物理上从Jason的起居室中移除,因此她无法相对于Jason的游戏控制台来定位或定向她的设备以使其可以直接与Jason的游戏控制台交互。相反,Megan的设备可被允许不同地参与远程共享的体验。例如,通过触摸交互,Megan的设备可以远程地与Jason的设备进行通信。Megan的设备的显示器可以与Jason的设备的显示器共享至少某些内容。为了参与体验,Megan可划过她的智能电话的屏幕以便扔出例如手榴弹。以此方式,Megan和Jason可具有不同于邻近共享的体验的远程(即,非邻近)共享的体验。如上所述,远程共享的体验和邻近共享的体验可取决于参与该共享的体验(无论是远程还是邻近)的两个或更多设备的定位、位置、空间定向和/或能力而不同。
[0047] 如上所述,Jason的游戏控制台可被认为是主计算设备,因为该游戏控制台通过广播音频以邀请其它设备参与来发起共享的体验。然而,还可理解,两个设备可以主动广播并同时监听。在这种情况下,每一个设备都可以与云计算服务通信以报告它们广播了什么以及它们听见了什么。在该示例中,云计算服务可比较报告给该云计算服务的各种设备的广播和记录。由此,云计算服务可基于所报告的广播和记录的比较来做出两个或更多设备是邻近的判定。例如,云计算服务可确定两个设备是邻近的,因为它们报告包括相似背景噪声的相似记录。两个设备可能位于例如同一咖啡馆内,并且云计算服务可识别出这两个设备是邻近的。另外,云计算服务可识别出这两个设备正在执行例如相同的视频游戏。由此,云计算服务可以向每一个设备发送通知以报告邻近共享的体验是可能的,如果需要的话。
[0048] 在另一示例中,云计算服务可比较由两个或更多设备报告的广播和记录以确定这两个或更多设备是远离的。例如,云计算服务可包括由每一个设备接收到和报告的背景环境噪声的比较,并且如果背景环境噪声显著不同超过阈值,则云计算服务可确定两个或更多设备不是邻近的。
[0049] 可以按近乎无限制的方式采用和组合邻近度、用户/设备标识、设备能力和/或空间位置/定向,以影响多设备软件体验的供应。在各种各样的示例中,在一个或多个交互设备处的可视输出可取决于设备是否彼此邻近而改变。例如,在三个玩家的情况下,一个玩家远离另两个,该远程用户的设备处的显示器输出可以不同于提供给邻近用户的显示器输出,并且还可不同于该用户在处在与另两个玩家相同的房间内的情况下会看到的内容。
[0050] 可以按近乎无限数量的方式执行广播和接收方法以确定邻近度并标识交互设备。在一个示例中,广播包括与广播设备相关联的唯一音频签名。该签名可以是人类可感知到的,或者以其他方式例如在人类朵无法独立听见的次音或超音层。例如,签名可被实现为外音嵌入音频广播的印型信息。换言之,水印可以嵌入以其他方式可听见的信号中。
[0051] 通常,此处讨论的签名与特定设备相关联,以使得对签名的标识唯一地产生对相关联的设备的标识。
[0052] 或者,签名可以与设备或其与其他设备的交互的其他方面相关联。例如,签名可以不仅绑定设备,而且可以绑定特定的多用户软件应用。例如,给定设备可广播不仅标识设备,而且还指定特定软件应用的签名。因此,该签名可以在接收设备处被解释为参与同例如特定视频游戏相关联的交互的邀请。
[0053] 作为对上述示例的补充或替换,应理解可采用任何数量的其他声音通信来确定邻近度并标识交互设备。
[0054] 在另一示例中,假设系统已经标识两个设备彼此邻近并且该系统已经将用户标识为“Bob”和“Alice”。进一步想象该系统已经存储Bob和Alice之间的交互历史,且该历史指示他们通常使用特定游戏来交互。因此,当确定Bob与Alice的邻近度时,该系统可以自动启动该特定游戏。该系统甚至可被用来自动继续正在进行中的已保存的游戏。
[0055] 继续上述示例,与Bob和Alice的各自计算设备相关联的历史数据可用于提供推荐。例如,Bob和Alice可能频繁地一起玩特定游戏,并且该游戏可用于确定和推荐类似游戏。作为另一示例,该特定游戏可以链接到其他玩家并且推荐可以基于其他玩家也已经享受的游戏。
[0056] 在另一示例中,特定游戏可能具有单玩家模式和多玩家模式。当检测到两个或更多用户彼此邻近时,游戏将自动进入多玩家模式。进一步继续改示例,系统可使用空间位置/定向来配置交互。例如,如果系统检测到房间内的一个设备处在用户无法看到主共享显示器的位置,则该系统可推断出该用户不想参与,而不管她邻近其他用户的事实。例如,邻近设备可包括捕捉设备,并且如果捕捉设备未瞄准以捕捉主计算设备所显示的可视内容,则空间定向可以禁止,以使得该邻近设备可被禁止控制主计算设备的各方面。因此,该邻近设备可以是邻近的,但不涉及共享的计算体验。
[0057] 作为对该方法的补充或替换,设备的定向可影响共享的体验的递送。具体而言,如果智能电话指向/瞄准大型共享显示器,则可能推断出该用户希望参与。此外,如果设备邻近主显示器(例如,智能电话邻近宽屏电视机和连接的游戏控制台),则可能假定如果该智能电话参与则它将以类似于外围游戏控制器的方式使用该智能电话。另一方面,如果智能电话进一步远离或在远程位置,则显示器处的可视输出将被用来向用户提供主显示器体验,而不是仅仅显示用户界面元素,并且控制将在智能电话被用作游戏控制器的情况下显示的内容。
[0058] 邻近度判定还可用于向邻近用户提供启动游戏或其他共享的体验的机会。例如,在具有运动捕捉系统(例如图2)的情况下,该系统可邀请(例如通过音频或视频提示)用户以便通过在运动传感器处做出姿势来确认想要参与。又一示例是取决于用户是否邻近来激活/停用特征。这可导致例如通过在用户的各种屏幕处显示不同输出来针对一个或多个用户进行改变。
[0059] 本发明以二元方式描述了许多示例,即关于邻近度做出简单的是/否判定,且设备交互具有伴随的结果。然而,应理解可例如通过响应于对设备之间的距离的自动检测来改变软件体验的递送以做出更细粒度的邻近度判定。
[0060] 现在将通过示例并参照所示的以上列出的实施例来描述本发明的各方面。在一个或多个实施例中基本相同的组件、过程步骤和其他元素被协调地标识并且以重复最小的方式描述。然而应该注意,协调地标识的元素还可以在某种程度上不同。还应该注意,本发明中包括的附图是示意性的并且通常未按照比例绘制。相反,附图中所示的各种绘制比例、纵横比和组件数量可以有目的地失真,以使特定特征或关系更加显见。
[0061] 在一些实施例中,可将以上所描述的方法和过程绑到包括一个或多个计算机的计算系统。具体而言,此处所述的方法和过程可被实现为计算机应用、计算机服务、计算机API、计算机库、和/或其他计算机程序产品。
[0062] 如上所述,图1和2示意性地示出了可执行此处讨论的邻近度检测系统/方法的计算系统的非限制性示例。计算系统10和20以简化形式示出。尽管图2示出了游戏控制台和智能电话作为示例,但可以理解可使用几乎任何计算机架构,而不背背离本发明的范围。在不同的实施例中,计算系统可以采取大型计算机、服务器计算机、台式计算机、膝上型计算机、平板计算机、家庭娱乐计算机、网络计算设备、移动计算设备、移动通信设备、游戏设备等等的形式。
[0063] 如图1和2所示,示例计算系统包括逻辑子系统和数据保存子系统。计算系统还可以包括显示子系统、通信子系统、和/或在图1和2中未示出的其他组件。计算系统还可以任选地包括诸如例如键盘鼠标、游戏控制器、相机、话筒和/或触摸屏之类的用户输入设备。
[0064] 逻辑子系统可包括被配置成执行一个或多个指令的一个或多个物理设备。例如,逻辑子系统可被配置为执行一个或多个指令(例如,所述邻近度检测指令),该一个或多个指令是一个或多个应用、服务、程序、例程、库、对象、组件、数据结构、或其他逻辑构造的部分。可实现这样的指令以执行任务、实现数据类型、变换一个或多个设备的状态、或以其他方式得到所希望的结果。
[0065] 如上所述,指令可被配置成广播音频和/或视频,接收广播,处理接收到的广播,标识广播内的唯一签名,标识与唯一签名相关联的计算设备,确定与计算设备的邻近度,以及在确定与计算设备的邻近度的情况下提供共享的计算体验。以此方式,两个或更多计算设备可确定它们彼此的邻近度以便自动链接这些设备并提供共享的用户体验。
[0066] 逻辑子系统可包括被配置成执行软件指令的一个或多个处理器。附加地或可替代地,逻辑子系统可以包括被配置为执行硬件或固件指令的一个或多个硬件或固件逻辑机器。逻辑子系统的处理器可以是单核或多核,且在其上执行的程序可被配置为并行或分布式处理。逻辑子系统可以任选地包括遍布两个或更多设备的独立组件,所述设备可远程放置和/或被配置为进行协同处理。该逻辑子系统的一个或多个方面可被虚拟化并由以云计算配置进行配置的可远程访问的联网计算设备执行。
[0067] 数据保存子系统可包括一个或多个物理、非瞬时设备,这些设备保存数据和/或可由该逻辑子系统执行的指令,以实现此处描述的方法和过程。例如,数据和/或指令可由逻辑子系统来执行以检测音频签名,并标识与该音频签名相关联的计算设备。此外,指令可包括建立与计算设备的通信链路以由此形成共享的计算体验。由此,计算设备可被配置成进行交互式软件体验,其中配置包括确定与链接的计算设备相关联的用户并标识与该用户相关联的历史数据,该历史数据影响例如共享的计算体验。可以理解,在实现此类方法和过程时,可变换数据保存子系统的状态(例如,保存不同数据)。
[0068] 数据保存子系统可以包括可移动介质和/或内置设备。数据保存子系统可包括光学存储器设备(例如,CD、DVD、HD-DVD、蓝光盘等)、半导体存储器设备(例如,RAM、EPROM、EEPROM等)和/或磁存储器设备(例如,硬盘驱动器软盘驱动器、磁带驱动器、MRAM等)等等。数据保存子系统可以包括具有以下特性中的一个或更多个特性的设备:易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址、以及内容可寻址。
在某些实施例中,逻辑子系统和数据保存子系统可被集成到一个或多个常见设备中,如专用集成电路或片上系统。
[0069] 数据保存子系统可以包括可移动计算机可读存储介质,该介质可用于存储和/或传送可执行以实现本文描述的方法和过程的数据和/或指令。可移动计算机可读存储介质尤其是可以采取CD、DVD、HD-DVD、蓝光盘、EEPROM和/或软盘形式。
[0070] 应该理解,数据保存子系统包括一个或多个物理非瞬态设备。相反,在一些实施例中,本文描述的指令的各方面可以按暂态方式通过不由物理设备在至少有限持续时间期间保存的纯信号(例如电磁信号、光信号等)传播。此外,与本公开有关的数据和/或其他形式的信息可以通过纯信号来传播。
[0071] 术语“模块”、“程序”和“引擎”可用于描述被实现为执行一个或多个特定功能的计算系统的一方面。在某些情况下,这一模块、程序或引擎可经由执行由数据保存子系统保存的指令(例如,分别由图1和2的数据保存子系统16和26来存储的指令18和28)的逻辑子系统来实例化。应当理解,可以从同一应用、服务、代码块、对象、库、例程、API、函数等来实例化不同的模块、程序和/或引擎。同样,可以由不同的应用程序、服务、代码块、对象、例程、API、函数等来实例化同一模块、程序和/或引擎。术语“模块”、“程序”和“引擎”意在涵盖单个或成组的可执行文件、数据文件、库、驱动程序、脚本、数据库记录等。
[0072] 应当理解,如此处所使用的“服务”可以是跨越多个用户会话可执行的、且对一个或更多系统组件、程序、和/或其他服务可用的应用程序。在一些实现中,服务可以响应于来自客户机的请求而在服务器上运行。
[0073] 当被包括时,显示子系统可用于呈现由数据保存子系统所保存的数据的可视表示。由于此处所描述的方法和过程改变了由数据保存子系统保存的数据,并由此转变了数据保存子系统的状态,因此同样可以转变显示子系统的状态以可视地表示底层数据中的改变。显示子系统可包括利用几乎任何类型的技术的一个或多个显示设备。可将此类显示设备与逻辑子系统和/或数据保存子系统结合在共享外壳中,或此类显示设备可以是外围显示设备。
[0074] 在一些实施例中,所建立的共享的体验中的计算设备可包括用作外围显示器的显示器。例如,用户可能期望使用其移动设备作为主系统的外设。以此方式,大多数屏幕可操作面积可专用于主系统显示器的用户界面,并且可以在例如链接的移动设备显示器的用户界面内提供控件。由此,主系统显示器的大部分可被提供为用于输出的主可视显示器。
[0075] 在包括通信子系统时,通信子系统可以被配置成将计算系统与一个或多个其他计算设备可通信地耦合。通信子系统可包括与一个或多个不同的通信协议相兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统可被配置为经由无线电话网、无线局域网、有线局域网、无线广域网、有线广域网等进行通信。在一些实施例中,通信子系统可允许计算系统经由诸如因特网之类的网络发送消息至其他设备和/或从其他设备接收消息。
[0076] 在一些实施例中,计算系统可包括捕捉设备,诸如深度相机(例如深度相机34)。如上所述,深度相机可被配置成捕捉可视广播。然而,可以理解,作为对深度相机的补充或替换,可结合图1的交互计算系统采用几乎任何运动传感技术。
[0077] 应该理解,此处所述的配置和/或方法在本质上是示例性的,并且这些具体实施例或示例不应被认为是局限性的,因为多个变体是可能的。此处所述的具体例程或方法可表示任何数量的处理策略中的一个或多个。由此,所示出的各个动作可以按所示次序执行、按其他次序执行、并行地执行、或者在某些情况下被省略。同样,可以改变上述过程的次序。
[0078] 本公开的主题包括各种过程、系统和配置、此处所公开的其他特征、功能、动作、和/或特性、以及其任何和全部等效方案的所有新颖和非显而易见的组合和子组合。
QQ群二维码
意见反馈