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

可在蓝牙低功耗(BLE)模式下操作的游戏控制器的制作方法

2021-11-15 17:29:00 来源:中国专利 TAG:

可在蓝牙低功耗(ble)模式下操作的游戏控制器
1.相关申请的交叉引用
2.本pct申请要求于2019年3月29日提交的名称为“gamecontroller operable in bluetooth low energy(ble) mode”的美国专利申请序列号16/370,656的优先权,该专利申请全文据此以引用方式并入。


背景技术:

3.家庭视频游戏流式传输允许在一个计算机(目标设备)上玩视频游戏,而该视频游戏实际上是在家庭环境中其他地方的另一个计算机(主机计算机)上执行的。示例性设置包括位于家庭办公室的个人计算机(pc)(主机计算机),该pc执行视频游戏、捕获视频游戏数据(例如,音频和视频数据)并通过家庭网络将视频游戏数据流式传输到客厅电视(目标设备)。在这种场景中,当视频游戏内容呈现在电视上时,玩家可在客厅沙发上使用手持式视频游戏控制器玩视频游戏。如果客厅电视不包括适当的接收器,则集线器设备可能充当中介,从pc接收视频游戏数据并通过音频/视频接口将视频游戏数据提供给客厅电视。该集线器设备还可从游戏控制器接收控制器输入数据,并在上行方向上将控制器输入数据提供给pc。其他设置可能使用通用串行总线(usb)加密狗作为无线接收器,该usb加密狗可插入具有合适usb端口的目标设备诸如笔记本电脑中。该加密狗将接收由游戏控制器提供的控制器输入数据,从而允许在通过家庭网络从pc流式传输视频游戏数据的目标设备上玩游戏。使用这些和其他设置,玩家能够在位于房屋内各处的多个不同设备上玩视频游戏,而该视频游戏实际上是在该环境中其他地方的主机计算机上执行的。
4.如今,存在允许将游戏流式传输到消费者身边无处不在的消费电子设备(例如,平板电脑、智能手机等)的需求。同时还存在即使在单个视频游戏会话中,也允许玩家在设备之间切换的需求。例如,玩家可能开始想要在平板电脑上玩视频游戏,然后可能想要切换为在客厅电视上玩该视频游戏。一直以来,用户可能想要随身携带最喜欢的视频游戏控制器,该控制器可用于在这些不同的目标设备上玩视频游戏。
5.出于安全原因或其他原因,操作系统(os)供应商对允许连接到运行其os的设备的外围设备(例如,游戏控制器)的类型进行了限制。apple 的ios是说明性的,因为ios仅允许经mfi认证的游戏手柄连接到ios设备。这意味着,为了在ios设备上流式传输视频游戏,玩家无法使用未经 mfi认证的游戏控制器。替代地,玩家被迫使用通常性能较差的经mfi认证的游戏手柄,以便在ios设备上流式传输视频游戏并使用手持式视频游戏控制器玩游戏。其他流行的os(诸如android)可连接到某些游戏控制器,但该os可能并非支持游戏控制器的所有特征和功能。例如,当在游戏控制器上启动这些按钮时,该os可能无法解读引导/菜单按钮输入或返回按钮输入。此外,由于在加密狗被物体撞击的情况下很容易损坏设备或加密狗,因此将usb加密狗插入具有薄外形的平板电脑或智能手机变成不太理想的解决方案。一些设备一开始就不支持使用加密狗。此外,当用户必须将加密狗从一个设备带到另一个设备以便将视频游戏流式传输到不同的目标设备时,很容易丢失或放错加密狗。
6.鉴于这些考虑,当今的家庭视频游戏流式传输生态系统受限于可与大多数视频游
戏控制器配合使用的目标设备的有限子集,另外,玩家被迫将性能较差的游戏控制器与其他目标设备一起使用。本文所做出的公开是相对于这些和其他考虑而提出的。
附图说明
7.参考附图描述了具体实施方式。在这些图中,参考标号的最左边数字标识首次出现该参考标号的图。在不同图中使用相同的参考标号指示相似或相同的部件或特征。
8.图1a是示出当在蓝牙低功耗(ble)模式下操作游戏控制器时将视频游戏流式传输到第一目标设备的示例性技术的示意图。
9.图1b是示出当在接收器模式下操作游戏控制器时将视频游戏流式传输到第二目标设备的示例性技术的示意图。
10.图2是示出可用作主机计算机的示例性客户端机器的部件、示例性游戏控制器的部件和示例性ble设备的部件的图示。
11.图3是示出可由游戏控制器的用户提供以在包括至少ble模式和接收器模式的不同模式下操作游戏控制器的示例性手势的图示。
12.图4是用于在多种操作模式中的一种操作模式下操作手持式视频游戏控制器的示例性过程的流程图。
13.图5是用于操作ble设备以流式传输在主机计算机上执行的视频游戏并通过ble从游戏控制器接收控制器输入数据的示例性过程的流程图。
14.图6是用于操作主机计算机以将在其上执行的视频游戏流式传输到目标设备同时从与该主机计算机分开的游戏控制器接收控制器输入数据的示例性过程的流程图。
具体实施方式
15.除其他事项外,本文描述了用于将视频游戏数据流式传输到蓝牙低功耗(ble)设备并使得玩家能够使用ble游戏控制器在此类ble设备上玩视频游戏的技术、设备和系统。具体地,手持式视频游戏控制器可在ble 模式以及其他模式下操作,以允许以避开任何操作系统(os)限制的方式将控制器输入数据发送到目标ble设备,这些os限制原本可能施加在游戏控制器输入上。由于ble无线电在当今的无线消费电子设备中无处不在,因此向ble设备提供控制器输入数据的能力(使用作为避开对游戏控制器输入的已知os限制的手段的ble协议)扩展了用于游戏视频流式传输的设备和平台的生态系统。也就是说,ble设备(该设备以前由于其对游戏控制器输入施加的os限制而不可用作用于视频游戏流式传输的目标设备) 现在可用作用于与ble游戏控制器进行视频游戏流式传输的目标设备。
16.根据本文所公开的实施方案,手持式视频游戏控制器包括无线电和逻辑,以在不同模式下操作。不同的操作模式至少包括ble模式和接收器模式。当在ble模式下操作时,手持式视频游戏控制器与执行用于视频游戏流式传输的客户端应用程序的ble设备建立无线连接。在玩游戏过程中,视频游戏在主机计算机上执行,玩家向游戏控制器提供控制视频游戏的一个方面的用户输入。响应于此类用户输入,游戏控制器经由无线电将控制器输入数据发送到ble设备。以这种方式,ble接口可用作支持ble的游戏控制器和主机计算机之间的边带通信路径,以实现视频游戏流式传输 (例如,通过家庭网络)。边带通信路径有效地避开了ble设备的os原本将对视频游戏控制器外围设备及其对应的控制器输入数据施加的任
何os 限制。
17.当在接收器模式下操作时,手持式视频游戏控制器使用游戏控制器的无线电与利用非ble协议的无线接收器建立无线连接。在玩游戏过程中,响应于控制视频游戏的一个方面的用户输入,游戏控制器可经由无线电将控制器输入数据发送到无线接收器。该无线接收器可连接到玩家希望在其上玩视频游戏的任何目标设备或嵌入其中。如果该无线接收器连接到与上述ble设备不同的设备或嵌入其中,则在游戏控制器上切换模式允许玩家在目标设备之间切换,使得可在环境内的不同位置(例如,房子的不同房间)玩视频游戏。在一些实施方案中,当游戏控制器处于ble模式时,无线接收器可连接到可用作目标设备的相同ble设备或嵌入其中。在后一种场景中,玩家可在单个ble设备上玩视频游戏,但出于性能原因或其他原因,可能会在ble模式下使用游戏控制器和接收器模式下使用游戏控制器之间切换。例如,由于已知通过ble流式传输数据的性能低于某些其他非 ble无线协议,诸如可用于接收器模式的低延迟wifi协议,因此玩家可切换为在接收器模式下操作游戏控制器以利用使用接收器模式带来的性能改善(例如,以便将更多游戏控制器连接到同一个无线接收器而不会经历输入延迟,或者以便玩更依赖延迟的视频游戏,在该视频游戏中,玩家必须快速反应才能表现良好,等等)。同时,如果例如玩家想要使用不同的(例如,更便携/移动的)设备(诸如平板电脑或智能手机)来玩视频游戏,则玩家可能希望恢复为在ble模式下操作游戏控制器。可通过对手持式视频游戏控制器的手势输入(例如,使用涉及特定按钮组合的多按钮手势)来启用模式之间的切换。
18.本文还公开了一种客户端应用程序(在本文中有时被称为“客户端应用”),该客户端应用程序可下载到ble设备并在其上执行以实现从主机计算机到ble设备的视频游戏流式传输,并使得能够经由ble设备将控制器输入数据从手持式视频游戏控制器传递到主机计算机。也就是说,客户端应用程序支持在ble模式下使用手持式视频游戏控制器来提供对游戏控制器特征的完全访问。这种设置不需要使用加密狗或另外的外部无线接收器,这可能会带来一些益处,诸如不需要玩家随身携带很容易丢失或损坏的加密狗。可在ble设备上执行的客户端应用可包括自定义ble特性,这些自定义ble特性将ble设备配置为通过无线电从在ble模式下操作的手持式视频游戏控制器接收控制器输入数据。用户可将ble设备连接到局域网(lan),使得该ble设备可将其从游戏控制器接收到的控制器输入数据转发到正在执行视频游戏的主机计算机。
19.执行视频游戏的主机计算机可与ble设备和手持式视频游戏控制器并置在一个环境中,或者主机计算机可远程位于地理上偏远的位置(例如,位于“云端”的服务器计算机)。当主机计算机位于ble设备和游戏控制器所在环境的局域时,该主机计算机可连接到与ble设备连接的lan相同的lan。主机计算机可在视频游戏会话期间使用视频游戏客户端来执行视频游戏。在玩游戏过程中,主机计算机从中间设备(例如,从连接到在 ble模式下操作的游戏控制器的ble设备)接收控制器输入数据,该主机计算机的视频游戏客户端可将该控制器输入数据转换为随后由在该主机计算机上执行的视频游戏处理的视频游戏输入数据。视频游戏客户端可挂上特定于其正在执行的视频游戏的输入库,以便将控制器输入数据转换为视频游戏可用的数据。在玩游戏过程中呈现每一帧时,视频游戏客户端捕获视频游戏数据(例如,音频和视频数据),并且主机计算机通过lan将该视频游戏数据发送到目标设备,诸如ble设备。ble设备输出音频和视频数据(例如,经由扬声器和显示器)以供玩家在玩游
戏过程中使用。
20.不管在ble设备上运行的os的类型如何,本文所公开的技术和系统都允许玩家利用ble设备作为视频游戏流式传输的目标设备。这比必须将 os授权的游戏手柄与ble设备一起使用(这将兼容的游戏控制器限制为更小的游戏控制器集合)更灵活和通用。因为所公开的技术和系统允许使用几乎任何类型的支持ble的游戏控制器来玩被流式传输到连接的ble 设备的视频游戏,所以只要该游戏控制器包括本文所述用于通过ble接口将控制器输入数据发送到连接的ble设备的支持ble的无线电和逻辑,该视频游戏的玩家就可享受使用喜爱的游戏控制器的乐趣。此外,玩家在不同模式下操作手持式视频游戏控制器之间(即在ble模式和接收器模式之间)切换的能力允许用户在环境内的任何期望目标设备上玩视频游戏,并且允许用户即使在单个游戏会话期间,也可在这些设备之间切换。这为在没有usb端口用于接收加密狗的ble设备上流式传输游戏提供了机会,增加了视频游戏流式传输的灵活性和便利性。在接收器模式下操作手持式视频游戏控制器的保留能力(例如,通过经由无线电将控制器输入数据发送到利用非ble协议的无线接收器)为玩家提供了更低延迟的连接选项(与性能较差的ble连接相比),使得玩家可例如连接更多游戏控制器或玩依赖输入延迟的视频游戏。
21.图1a是示出当在蓝牙低功耗(ble)模式下操作游戏控制器时将视频游戏流式传输到第一目标设备的示例性技术的示意图。图1b是示出当在接收器模式下操作游戏控制器时将视频游戏流式传输到第二目标设备的示例性技术的示意图。因此,图1a和图1b被示出用于对比手持式视频游戏控制器102的不同操作模式。图1a和图1b包括远程系统104(有时被称为“远程计算系统”104)。远程系统104可充当用于将程序(和内容)分发给(例如,下载到)客户端机器(诸如图1a和图1b所示的客户端机器106) 的平台或具有对该平台的访问权限。这些程序(和内容)可能包括视频游戏(或视频游戏程序)。客户端机器106可经由客户端机器106的通信接口通过计算机网络108与远程系统104通信。计算机网络108可表示和/或包括但不限于因特网、其他类型的数据和/或语音网络、有线基础设施(例如,同轴电缆、光纤电缆等)、无线基础设施(例如,射频(rf)、蜂窝、卫星等)和/或其他连接技术。因此,客户端机器106经由无线接入点(wap) 110向/从远程系统104发送/接收数据,该wap是使用任何合适的通信协议的局域网(lan)的一部分。在一些情况下,远程系统104可以是经由计算机网络108维护和可访问的网络可访问计算平台的一部分。诸如此类的网络可访问计算平台可被称为术语诸如“按需计算”、“软件即服务 (saas)”、“平台计算”、“网络可访问平台”、“云服务”、“数据中心”等。
22.虽然客户端机器106可表示个人计算机(pc),但是客户端机器不限于pc的配置。也就是说,客户端机器106可被实现为被配置为执行视频游戏的任何合适类型的计算设备,包括但不限于pc、台式计算机、膝上型计算机、移动电话(例如,智能电话)、平板电脑、便携式数字助理(pda)、可穿戴计算机(例如,虚拟现实(vr)耳机、增强现实(ar)耳机、智能眼镜等)、车载(例如,车内)计算机、电视(智能电视)、机顶盒(stb)、游戏机和/或任何类似的计算设备。客户端机器106可与一个或多个附加设备一起位于环境112内。客户端机器106所在的环境112可以是住宅或其他场所、汽车或任何类似的环境。这样的环境可包括例如上述手持式视频游戏控制器102(在本文中有时被称为“游戏控制器”102或“手持式控制器”102)、wap 110、ble设备114、电视116和无线接收器118,以及其他可能的设备,诸如物联网(iot)
设备、其他消费电子设备等。
23.一般而言,图1a和图1b所示的客户端机器106可将可由玩家120用于在其上执行程序(例如,视频游戏)和其他软件的计算设备表示为“主机计算机”。也就是说,如本文所用,“主机计算机”是指正在执行视频游戏的计算机,无论玩家120是否正在该主机计算机上玩视频游戏,或者无论该主机计算机是否正在将视频游戏数据流式传输到目标设备。术语“用户120”、“玩家120”和/或“游戏者120”在本文中可互换使用以表示使用计算设备来玩视频游戏的用户。简要地参考图2,除其他部件外,客户端机器106包括一个或多个处理器200诸如中央处理单元(cpu)和图形处理单元(gpu)、显示器202、存储器204(或非暂态计算机可读介质204)和通信接口206。虽然图2的示例性客户端机器106表明客户端机器106包括显示器202,但是客户端机器106实际上可省略显示器,并且/或者可耦接到外围显示器。
24.存储器204(或非暂态计算机可读介质204)可包括采用用于存储信息 (诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性存储器和非易失性存储器、可移动介质和不可移动介质。这种存储器包括但不限于ram、rom、eeprom、闪存存储器或其他存储器技术、cd

rom、数字多功能盘(dvd)或其他光学存储装置、盒式磁带、磁带、磁盘存储装置或其他磁性存储设备、raid存储系统,或可用于存储所需信息并可由计算设备访问的任何其他介质。计算机可读介质204 可被实现为计算机可读存储介质(“crsm”),该crsm可以是处理器200 可访问以执行存储在存储器204上的指令的任何可用物理介质。在一种基本的具体实施中,crsm可包括随机存取存储器(“ram”)和闪存存储器。在其他具体实施中,crsm可包括但不限于只读存储器(“rom”)、电可擦除可编程只读存储器(“eeprom”)或可用于存储所需信息并可由处理器200访问的任何其他有形介质。
25.存储器204可包括操作系统模块208,该操作系统模块被配置为管理在客户端机器106内并耦接到该客户端机器的硬件,以有利于其他模块。客户端机器106还可具有安装在存储器204中的视频游戏客户端210。视频游戏客户端210可表示被配置为启动和执行程序诸如视频游戏(或视频游戏程序)的可执行客户端应用程序。换句话说,视频游戏客户端210可包括可用于在客户端机器106上玩视频游戏的游戏软件。在安装视频游戏客户端210后,客户端机器106然后可具有通过计算机网络108从远程系统104 接收(例如,下载、流式传输等)视频游戏并经由视频游戏客户端210执行视频游戏的能力。任何类型的内容分发模型都可用于此目的,诸如可单独购买视频游戏以在客户端机器106上下载和执行的直接购买模型、基于订阅的模型、其中出租或租用视频游戏一段时间的内容分发模型等。因此,客户端机器106可在视频游戏库214内包括一个或多个视频游戏,诸如视频游戏212。这些视频游戏可通过加载视频游戏客户端210来检索和执行。在一个示例中,玩家120可通过加载视频游戏客户端210并选择视频游戏 212以开始执行视频游戏212来选择玩他们已经购买并下载到视频游戏库 214的多个视频游戏中的一个视频游戏。视频游戏客户端210可允许用户诸如玩家120使用凭证(例如,用户帐户、密码等)登录到视频游戏服务。
26.视频游戏客户端210还被示出为包括流式传输部件216,该流式传输部件被配置为将视频游戏流式传输到目标设备,并且接收和处理由游戏控制器诸如游戏控制器102生成的控制器输入数据。这可能发生在玩家120正在玩从充当主机计算机的客户端机器106流式传输到环境112中的任何目标设备的视频游戏212时。在一些实施方案中,当玩家120想要在除客户端机器106之外的目标设备上玩视频游戏212时,用户诸如玩家120向客户端机器106
提供用户输入以调用流式传输部件216。应当理解,可在远程系统104处(或由该远程系统)实现相对于客户端机器106(及其相关联的功能)所示的部件相同或相似的部件,以使得能够将视频游戏数据从远程系统104直接流式传输到环境112中的联网设备,而不相对于环境112在本地执行视频游戏。也就是说,在一些实施方案中,远程系统104可充当执行视频游戏并通过计算机网络108将视频游戏数据流式传输到目标设备的主机计算机。
27.如图2所示,游戏控制器102可包括一个或多个输入/输出(i/o)设备 218,诸如控件(例如,操纵杆、触控板、触发器、可按压按钮等)、可能的任何其他类型的输入或输出设备。例如,i/o设备218可包括一个或多个麦克风以接收音频输入,诸如用户语音输入。在一些具体实施中,一个或多个相机或其他类型的传感器可用作输入设备以接收手势输入,诸如手持式控制器102的运动。在一些实施方案中,可以键盘、小键盘、鼠标、触摸屏、操纵杆、控制按钮等的形式提供附加的输入设备。输入设备还可包括控制机构,诸如用于增大/减小音量的基本音量控制按钮,以及电源和复位按钮。
28.同时,输出设备可包括显示器、发光元件(例如,led)、产生触觉的振动器、扬声器(例如,头戴式耳机)等。还可存在简单的发光元件(例如,led)来指示状态,诸如例如在通电时。虽然已经提供了一些示例,但是手持式控制器102可除此之外或另选地包括任何其他类型的输出设备。在一些情况下,该一个或多个输出设备的输出可基于由输入设备中的一个或多个输入设备接收到的输入。例如,控件的致动可导致位于该控件附近 (例如,下方)或任何其他位置的振动器输出触觉响应。
29.此外,手持式控制器102可包括一个或多个通信接口220,以有利于与网络和/或另一个设备的无线连接。通信接口220可实现多种类型的无线或无线电技术,以支持游戏控制器102在不同模式下的操作。例如,通信接口220可实现被配置为如本文所述在ble模式或接收器模式下操作并在这两种操作模式之间切换的无线电。也就是说,单个无线电可执行使得该无线电在ble模式或接收器模式下操作的代码,如本文所述。然而,应当理解,通信接口220可实现多个无线电,诸如wifi无线电、ble无线电、蜂窝无线电等。在一些实施方案中,可利用单独的无线电来在相应模式下操作,诸如利用wifi无线电来在接收器模式下操作,以及利用ble无线电来在ble模式下操作。应当理解,手持式控制器102还可包括物理端口,以有利于与网络、连接的外围设备或与其他无线网络通信的插入式网络设备的有线连接。
30.在所示具体实施中,手持式控制器还包括一个或多个处理器222和存储器224(或计算机可读介质224)。在一些具体实施中,处理器222可包括中央处理单元(cpu)、图形处理单元(gpu)、cpu和gpu两者、微处理器、数字信号处理器或本领域已知的其他处理单元或部件。另选地或附加地,本文所述的功能可至少部分地由一个或多个硬件逻辑部件执行。例如但不限于,可使用的例示性类型的硬件逻辑部件包括现场可编程门阵列 (fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统系统(soc)、复杂的可编程逻辑器件(cpld)等。除此之外,处理器222中的每个处理器可拥有自己的本地存储器,这些存储器也可存储程序模块、程序数据和/或一个或多个操作系统。
31.存储器224可包括采用用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性存储器和非易失性存储器、可移动介质和不可移动介质。这种存储器包括但不限于ram、 rom、eeprom、闪存存储器或其他存储器技术、cd

rom、数字多功能盘(dvd)或其他光学存储装置、盒式磁带、磁带、磁盘存储装置或其他磁
性存储设备、raid存储系统,或可用于存储所需信息并可由计算设备访问的任何其他介质。存储器224可被实现为计算机可读存储介质 (“crsm”),该crsm可以是处理器222可访问以执行存储在存储器224 上的指令的任何可用物理介质。在一种基本的具体实施中,crsm可包括随机存取存储器(“ram”)和闪存存储器。在其他具体实施中,crsm可包括但不限于只读存储器(“rom”)、电可擦除可编程只读存储器 (“eeprom”)或可用于存储所需信息并可由处理器222访问的任何其他有形介质。
32.若干模块诸如指令、数据存储等可存储在存储器224内并被配置为在处理器222上执行。一些示例性功能模块被示出为存储在存储器224中并在处理器222上执行,但是相同的功能可另选地采用硬件、固件或片上系统(soc)来实现。
33.操作系统模块226可被配置为管理在手持式控制器102内并耦接到该手持式控制器的硬件,以有利于其他模块。此外,存储器224可存储网络通信模块228,该网络通信模块使得手持式控制器102能够经由通信接口 220与一个或多个其他设备(诸如图1a和图1b中介绍的ble设备114或无线接收器118、游戏机等)通信。存储器224还可包括游戏会话数据库 230,以存储与在手持式控制器上或手持式控制器102耦接到的计算设备上执行的游戏(或其他应用程序)相关联的数据。存储器224还可包括设备记录数据库232,该设备记录数据库存储与手持式控制器102耦接到的设备相关联的数据。在任何给定实例处,设备记录数据库232可保留按连接的新近度排序的先前所连接设备的历史,使得游戏控制器102可确定游戏控制器102最后连接到的最后一个已知设备。存储器224还可存储游戏控制指令234和通用控制指令236,这些游戏控制指令通过将控制器输入数据发送到与游戏相关的另一个设备来将手持式控制器102配置为用作游戏控制器,这些通用控制指令将手持式控制器102配置为用作其他非游戏设备的控制器。
34.存储器224还可存储操作模式部件238,该操作模式部件被配置为基于用户输入(例如,基于玩家120提供的手势)来确定和实现游戏控制器102 的操作模式。例如,如下文将更详细地描述的,玩家120可提供第一手势 (诸如通过按下多个按钮的第一组合)以将手持式控制器102置于ble模式,并且可提供第二手势(诸如通过按下多个按钮的第二组合)以将手持式控制器102置于接收器模式。操作模式部件238还可在游戏控制器102 的本地存储器224中存储所使用的最后一种模式。以这种方式,在游戏控制器102启动时,如果玩家120未经由手势调用特定模式,则操作模式部件238可确定操作游戏控制器102的最后一种模式,并且可在启动时在该模式下操作。
35.游戏控制器102还可包括一个或多个传感器240,包括但不限于触摸传感器(例如,电容式触摸传感器、电阻式触摸传感器、红外触摸传感器、利用声学声波来检测手指的接近度的触摸传感器等)、力感测电阻器 (fsr)、运动传感器(例如,包括一个或多个陀螺仪和/或加速度计和/或磁力仪和/或罗盘的惯性测量单元(imu)、被配置用于特征跟踪的相机或 3d传感器等)。
36.如图2所示,ble设备114可包括与客户端机器106类似的部件,诸如处理器242、显示器244、存储器246和通信接口248,这些部件可类似于参考客户端机器206所述的处理器200、显示器202、存储器204和通信接口206。ble设备114的通信接口248(顾名思义)包括无线电以通过 ble接口从游戏控制器102接收控制器输入数据。该无线电还可被配置为通过wifi向/从环境中的wap 110发送/接收数据,并且/或者通信接口248 可包括专用wifi无线
电以向/从在环境中的wap 110发送/接收数据。
37.ble设备114的存储器246可包括操作系统250,该操作系统被配置为管理在ble设备114内并耦接到该设备的硬件,以有利于其他模块。ble 设备114还可能已经下载了客户端应用程序252(或“客户端应用”252) 并将客户端应用252存储在存储器246中。客户端应用252包括流式传输部件254,该流式传输部件将ble设备114配置为用作视频游戏流式传输的目标设备。以这种方式,ble设备114接收从正在执行视频游戏212的主机计算机(例如,客户端机器106)流式传输的视频游戏数据,并经由 ble设备114的输出设备(例如,显示器244和扬声器)输出音频和视频数据。使用客户端应用252的ble设备114还用作由游戏控制器102在玩游戏过程中通过无线电发送的控制器输入数据的接收器。客户端应用252 还可维护设备记录数据库256,该设备记录数据库存储与ble设备114耦接到的设备相关联的数据。这可允许ble设备114保留安全和/或认证凭证以与先前所连接设备(诸如游戏控制器102)配对。
38.为了说明游戏控制器102可如何在ble模式下操作以实现到ble设备114的视频游戏流式传输,再次参考图1a。最初,玩家120将客户端机器106和ble设备114连接到家庭网络(例如,通过将这些设备连接到 wap 110)。玩家120还将游戏控制器102与执行客户端应用252的ble设备114配对。该配对操作可通过玩家120向游戏控制器102提供将游戏控制器102置于ble配对模式的用户输入来完成。在ble设备114上执行的客户端应用252可包括自定义ble特性,这些自定义ble特性将ble设备114配置为通过无线电从在ble模式下操作的游戏控制器102接收控制器输入数据。ble中的配置文件和服务所使用的数据被称为“特性”。因此,配置文件和应用程序与ble协议栈中的通用属性配置文件(gatt)层相连接,以用于传送特性。ble“配置文件”是关于蓝牙通信方面的规范。配置文件定义启用使用无线通信提供的服务的配置和功能。在一些实施方案中,客户端应用252可响应于游戏控制器102进入ble配对模式而提供通知,向玩家120指示游戏控制器102想要连接到ble设备114。玩家120 可向ble设备提供接受该连接请求的用户输入,以通过ble接口配对这两个设备。
39.响应于玩家120通过ble将游戏控制器102与ble设备114配对,游戏控制器102可经由操作模式部件238默认在ble模式下操作。另选地,玩家120可向游戏控制器102提供与在ble模式下操作游戏控制器102的命令对应的用户输入。在任何情况下,游戏控制器102都可使用游戏控制器102的无线电与执行客户端应用252的ble设备114建立无线电链路。
40.玩家120还可能已开始针对在客户端机器106的视频游戏客户端210 上执行的视频游戏212的视频游戏会话。在有多个客户端机器运行视频游戏客户端210的情况下,客户端应用252可向玩家120提供附加通知,询问玩家120他/她想要连接到哪个客户端机器作为主机计算机,以用于流式传输电子游戏212。玩家120可选择特定的客户端机器诸如客户端机器106,并且此时建立流式传输连接。以这种方式建立连接可包括认证或授权程序 (例如,数字握手、凭据验证等)。
41.在玩游戏过程中,对于每一帧,在客户端机器106(主机计算机)上执行的视频游戏客户端210捕获视频游戏数据122,并且通过lan(例如,经由wan 110)将该视频游戏数据发送到ble设备114。这可能涉及主机计算机的视频游戏客户端210捕获视频游戏212窗口的状态、将视频和音频数据编码为位、将所编码的位传输到ble设备114,以及在ble设备114 上执行的客户端应用252解码这些位以呈现该帧的视频游戏内容并经由其扬声器(或经由连
接到ble设备114的头戴式耳机)输出音频。视频数据的编码可包括h.264视频编码,以及使用低延迟网络协议发送所编码的数据。在一个示例中,客户端机器106可经由有线(例如,以太网)连接连接到wap 110以实现低延迟,并且wap 110可将所编码的数据无线发送到 ble设备114,使得ble设备114经由其使用wifi协议的无线电接收所编码的数据。玩家120可能够配置流式传输分辨率和比特率。例如,通过5 千兆赫(ghz)的网络,可利用每秒60帧(fps)的帧速率下1080p或更高(例如,4k)的分辨率。
42.玩家120在充当目标设备的ble设备114上消费视频游戏内容。值得注意的是,ble设备114并未执行视频游戏212;主机计算机(在这种情况下是客户端机器106)是执行视频游戏212的设备。ble设备114有效地充当瘦客户端,其仅接收经由ble设备114的适当输出设备处理(例如,解码)并输出以供玩家120使用的视频游戏数据122(例如,音频和视频数据)。在玩游戏过程中,玩家120使用游戏控制器102(其当游戏控制器在 ble模式下操作时连接到ble设备114)来提供视频游戏输入。因此,响应于由游戏控制器102检测到的控制视频游戏212的一个方面的用户输入,游戏控制器102经由游戏控制器102的无线电将控制器输入数据124发送到ble设备114。在ble设备114上执行的客户端应用252接收控制器输入数据124并使得ble设备114通过lan(例如,经由wap 110)将控制器输入数据124转发到主机计算机(例如,客户端机器106)。通过ble将控制器输入数据124路由到在ble设备114上执行的客户端应用252的方式有效地避开了对游戏控制器输入的任何os限制,使得这些os限制不会抑制玩家120在ble设备114上流式传输视频游戏212以及/或者使用游戏控制器102作为玩视频游戏212的游戏手柄的能力。
43.响应于接收到控制器输入数据124,在客户端机器106上执行的视频游戏客户端210可基于当前正在执行的视频游戏212并基于玩家120的偏好来确定如何将所接收到的控制器输入将数据124转换为视频游戏212(即,视频游戏代码)能够处理的视频游戏输入。默认情况下,不管游戏控制器 102当前的操作模式如何,该游戏控制器(和/或其控制器输入数据)都可“显示”为鼠标和键盘。考虑到客户端机器106在典型情况下利用鼠标和键盘作为输入设备,这可能是向执行视频游戏212的主机计算机(例如,客户端机器106)提供控制器输入数据的最直接方式。在一些实施方案中,游戏控制器102可经由ble设备114和lan将游戏控制器102的原始状态发送到客户端机器106,并且视频游戏客户端210可解读游戏控制器102 的原始状态并将其重新映射为适当的视频游戏输入,该输入可被添加到视频游戏212代码中。在一些实施方案中,视频游戏开发者可利用允许他们指定游戏控制器配置的应用程序编程接口(api),这些游戏控制器配置将来自各种类型的控制器的控制器输入数据124重新映射(或以其他方式转换)为适合其视频游戏的视频游戏输入。视频游戏客户端210还可在不同类型的游戏控制器(诸如市场上来自各种游戏控制器制造商的控制器)之间进行转换。在一些实施方案中,使用一系列提取方式来获取控制器输入数据124并将该数据124透明地转换为通过lan发送的数据包,就好像那些数据包是从客户端机器106的鼠标和键盘接收到的一样。以这种方式,游戏控制器102相对于正在执行视频游戏212的主机计算机的远程性质保持透明。在一些实施方案中,视频游戏客户端210可挂上正在主机计算机上执行的视频游戏212的一个或多个输入库,以确定如何将控制器输入数据124转换为视频游戏212可用的数据。这允许视频游戏客户端210拦截来自视频游戏212代码的用于读取游戏控制器状态的函数调用,并返回视频游戏212期望看到的控制器状态,这可能涉及将游戏控
制器102的状态重新映射为不同类型的游戏控制器状态。
44.在将控制器输入数据124转换为视频游戏输入之后,该视频游戏输入被添加到视频游戏212代码中以控制视频游戏212的一方面,这使得下一帧包含视频游戏的受控方面,并且视频游戏数据再次被捕获并被流式传输到目标设备,在这种情况下,该目标设备是ble设备114。以这种方式,视频游戏流式传输通过以下操作继续进行:将视频游戏数据122下行传递到ble设备114,并将控制器输入数据124上行传递到客户端机器106,如本文所述。
45.在任何时候,玩家120可决定切换游戏控制器102的操作模式。这可出于各种原因而进行,包括但不限于在不同的目标设备(诸如电视116)上玩视频游戏212,或者启用可比ble更低延迟的不同无线协议。图1b示出了用户已切换为在接收器模式(有时被称为“非ble模式”、“wifi模式”或“加密狗模式”)下操作游戏控制器102的场景。在图1b的示例中,当游戏控制器102在接收器模式下操作时,无线接收器118用作管道,控制器输入数据124通过该管道上行传递到主机计算机,并且视频游戏数据122 通过该管道下行传递到目标设备。因此,在一些实施方案中,无线接收器 118的作用可更像是用作汇聚地点的集线器,数据从一个或多个设备到达该汇聚点,并且数据从该汇聚点被发送到一个或多个设备。
46.如果无线接收器118先前尚未连接到游戏控制器102,则玩家120可发起配对操作以将游戏控制器102与无线接收器118配对。玩家120可向游戏控制器102提供用户输入以将其置于无线接收器配对模式,并且玩家120 可被提示输入验证码以完成游戏控制器102和无线接收器118之间的连接。例如,如果无线接收器118通过音频/视频接口连接到电视116,则当电视 116被切换到适当的输入时,无线接收器118可在电视116的屏幕上呈现带有用于完成设置的验证码的通知。
47.响应于玩家120通过无线电将游戏控制器102与利用非ble协议(例如,wifi)的无线接收器118配对,游戏控制器102可经由操作模式部件 238默认在接收器模式下操作。另选地,玩家120可向游戏控制器102提供与在接收器模式下操作游戏控制器102的命令对应的用户输入。在当游戏控制器102已知相应设备时在操作模式之间切换的情况下,不需要进行另外的配对操作。相反,当检测到与在接收器模式下操作游戏控制器102的命令对应的用户输入时,游戏控制器102可查阅其设备记录数据库232以确定在接收到用于将控制器置于接收器模式的用户输入之前,游戏控制器 102最后连接到的最后一个已知无线接收器。这在相反方向上也以类似方式进行(例如,当切换为ble模式时,查询设备记录数据库232以确定最后一个已知ble设备)。在任何情况下,如图1b所示,游戏控制器102可使用游戏控制器102的无线电(例如,通过wifi)与无线接收器118建立无线电链路,并且除了控制器输入数据124经由无线接收器118而不是ble 设备114传递到主机计算机之外,数据的传递类似于在ble模式下操作游戏控制器的示例。如上所述,与在ble模式下操作游戏控制器102相比,接收器模式可利用不同的无线通信协议来将控制器输入数据124从游戏控制器102传递到无线接收器118。在一些实施方案中,该非ble通信协议可表示在2.4ghz频谱中操作的基于增强型突发(esb)的协议。
48.因此,如图1a和图1b所示,所公开的手持式视频游戏控制器102被配置为在利用彼此不同的相应无线协议的多种不同模式下操作。ble模式可能是性能较差的模式,但就可用作用于从主机计算机(诸如客户端机器 106)流式传输视频游戏212的目标设备的设备类型而言,该ble模式提供了更大的灵活性。这至少部分是由于以下事实:由于对游戏控制器输
入的os限制,某些ble设备可能无法使用接收器模式;以及/或者这些设备不支持与外围无线接收器(诸如无线接收器118)的连接。游戏控制器102 切换为接收器模式的能力在接收器模式下所使用的更高性能的无线协议允许玩家120将更多游戏控制器102(与可连接到ble设备114而不引入明显的输入延迟的许多游戏控制器相比)连接到无线接收器118的情况下是有用的。例如,在ble模式下,客户端机器106的操作系统208可对游戏控制器102使用10毫秒的更新速率(读取控制器输入数据124的间隔),并且如果玩家120尝试将第二游戏控制器连接到ble设备114以与朋友一起玩,则操作系统208可为附加游戏控制器分配22毫秒的更新速率,因为该操作系统在ble模式下没有足够的无线电带宽来以更快的更新速率容纳附加游戏控制器。这可能会导致在视频游戏中竞争的两个玩家中的一个玩家经历输入延迟,从而抑制该玩家的游戏表现的情况。为了解决ble协议的这种固有限制,玩家可将他们的游戏控制器切换为接收器模式以经由无线接收器118流式传输视频游戏,这可提供具有合适带宽的低延迟连接以容纳多个游戏控制器。
49.如本文别处所述,无线接收器118可被实现为插入目标设备上的对应端口的加密狗(例如,usb加密狗)。在一些情况下,ble设备114可包括这样的端口,这意味着玩家120(或多个玩家)可在同一目标设备(即, ble设备114)上玩视频游戏的同时在无线协议之间切换。也就是说,玩家120开始可在ble模式下操作游戏控制器102时在ble设备114上玩视频游戏,然后切换为在接收器模式下操作游戏控制器102。在切换模式时,如果无线接收器连接到ble设备114或嵌入其中,则视频游戏数据122继续从主机计算机流式传输到ble设备114,但控制器输入数据124通过非 ble协议(例如,wifi)经由连接到ble设备114或嵌入其中的无线接收器118来接收,而不是通过ble协议经由ble设备114的无线电来接收控制器输入数据124。
50.图3是示出可由游戏控制器的用户提供以在包括至少ble模式和接收器模式的不同模式下操作游戏控制器的示例性手势的图示。示例性游戏控制器102可包括在游戏控制器102的前侧的可按压按钮300(1)

(4),包括x 按钮300(1)、y按钮300(2)、a按钮300(3)和b按钮300(4)。玩家120可提供包括手势302(1)

(4)或不同手势的用户输入。手势302(1)

(4)表示涉及多个可按下按钮300和引导按钮304(有时被称为“按钮”304或“菜单按钮”304)的特定组合的多按钮手势。例如,玩家120可通过按下多个按钮的第一组合(例如,y按钮300(2)和引导按钮304)来提供第一手势 302(1)(第一多按钮手势302(1))以将手持式控制器102置于ble配对模式。如果游戏控制器102尚未与ble设备114配对,并且如果玩家120想要将视频游戏212流式传输到ble设备114,并在ble模式下操作游戏控制器102来玩视频游戏212,则该玩家可提供该第一手势302(1)。
51.玩家120可通过按下多个按钮的第二组合(例如,b按钮300(4)和引导按钮304)来提供第二手势302(2)(第二多按钮手势302(2))以将手持式控制器102置于ble模式。如果游戏控制器102在先前已经与ble设备诸如ble设备114配对,则玩家120可在游戏会话开始时提供该第二手势 302(2)。在不同的场景中,诸如当玩家120正在接收器模式下玩视频游戏时,玩家120可提供第二手势302(2)以从在接收器模式下操作游戏控制器102 切换为在ble模式下操作游戏控制器102,这可能发生在游戏会话中途。在又一种不同的场景中,诸如当玩家120正在ble模式下玩视频游戏时,玩家120可提供第二手势302(2)以从第一ble设备(例如,ble设备114) 切换为环境中的第二ble设备112。例如,游戏控制器102的设备记录数
据库232可用于查找游戏控制器102已知的不同ble设备,游戏控制器102 过去已连接过该不同ble设备。在一些实施方案中,可使用特定手势来调用设备记录数据库232中的不同ble设备。在这种情况下,玩家120可提供一个手势(例如,b按钮300(4)和引导按钮304)来连接到设备记录数据库232中的最近使用的ble设备,以及另一个手势(例如,开始按钮和引导按钮304)来连接到设备记录数据库232中的下一个最近使用的ble设备。玩家120可能不得不重新调用这些手势,以避免不得不在设备之间切换才能到达期望的ble设备。
52.玩家120可通过按下多个按钮的第三组合(例如,x按钮300(1)和引导按钮304)来提供第三手势302(3)(第三多按钮手势302(3))以将手持式控制器102置于接收器配对模式。如果游戏控制器102尚未与无线接收器 118配对,并且如果玩家120想要将视频游戏212流式传输到连接到环境中 112的目标设备的无线接收器118,并在接收器模式下操作游戏控制器102 来玩视频游戏212,则该玩家可提供该第三手势302(3)。
53.玩家120可通过按下多个按钮的第四组合(例如,a按钮300(3)和引导按钮304)来提供第四手势302(4)(第四多按钮手势302(4))以将手持式控制器102置于接收器模式。如果游戏控制器102在先前已经与无线接收器诸如无线接收器118配对,则玩家120可在游戏会话开始时提供该第四手势302(4)。在不同的场景中,诸如当玩家120正在ble模式下玩视频游戏时,玩家120可提供第四手势302(4)以从在ble模式下操作游戏控制器 102切换为在接收器模式下操作游戏控制器102,这可能发生在游戏会话中途。在又一个不同的场景中,诸如当玩家120正在接收器模式下玩视频游戏时,玩家120可提供第四手势302(4)以从第一无线接收器(例如,无线接收器118)切换为环境中的第二无线接收器112。例如,游戏控制器102 的设备记录数据库232可用于查找游戏控制器102已知的不同无线接收器,游戏控制器102过去已连接过该不同无线接收器。在一些实施方案中,可使用特定手势来调用设备记录数据库232中的不同无线接收器。在这种情况下,玩家120可提供一个手势(例如,a按钮300(3)和引导按钮304)来连接到设备记录数据库232中的最近使用的无线接收器,以及另一个手势(例如,返回按钮和引导按钮304)来连接到设备记录数据库232中的下一个最近使用的无线接收器。玩家120可能不得不重新调用这些手势,以避免不得不在设备之间切换才能到达期望的无线接收器。
54.在一些实施方案中,玩家120可设置在启动时连接到优选设备(例如,优选ble设备和/或优选无线接收器)的偏好,并且玩家120可根据当前的操作模式(即,ble模式或接收器模式)使用手势302(2)或302(4)在设备之间切换。除此之外或另选地,如前所述,设备记录数据库232可用于确定在接收到手势302之前游戏控制器102最后连接到的最后一个已知设备 (例如,最后一个已知ble设备和/或最后一个已知无线接收器)。在启动时,设备记录数据库232可在永久性(非易失性)存储器中保持所连接设备的历史以在启动时连接到最后一个已知设备。设备记录数据库232可维护先前所连接设备的地址,以及用于在先前从这些设备断开连接之后与这些设备建立无线电链路的安全和/或认证信息(例如,密钥、密码、凭证等)。除此之外或另选地,游戏控制器102的操作模式部件238可在本地存储器 224中保持所使用的最后一种操作模式(例如,ble模式或接收器模式),并且当玩家120不提供手势302中的一个手势时,可在启动时恢复到最后一种所使用的操作模式。在一些实施方案中,每当玩家120将客户端应用 252下载到新的ble设备时,玩家120可被通知(例如,经由客户端应用 252)可以将他们的游戏控制器102连接到ble设备(例如,通过向游戏控制器102提供第一手
势302(1))。同样,每当玩家120将无线接收器118 连接到运行客户端应用252的ble设备时,玩家120可被通知(例如,经由客户端应用252)可以将他们的游戏控制器102连接到无线接收器(例如,通过向游戏控制器102提供第三手势302(3))。
55.尽管图3中示出了特定的多按钮手势302,但是这些仅是示例性手势,可实现其他手势来提供类似的功能。例如,与特定控件(诸如顶部保险杠 (bumper)控件)相关联的触摸传感器可检测轻扫手势。以这种方式,在一个方向(例如,从左到右)上或在第一控件(例如,左保险杠)上的轻扫可对应于在ble模式下操作游戏控制器102的命令,而在相反方向(例如,从右到左)上或在第二控件(例如,右保险杠)上的轻扫可对应于在接收器模式下操作游戏控制器102的命令。对于这种类型的功能,其他手势被设想为可能的,包括由游戏控制器102的麦克风检测到的语音手势。例如,玩家120可说出“ble模式”以将游戏控制器102置于ble模式,或者玩家120可说出“接收器模式”以将游戏控制器102置于接收器模式。
56.此处所述的过程在逻辑流程图中以框的集合示出,其表示可采用硬件、软件、固件或其组合(在本文中被称为“逻辑”)来实现的操作序列。在软件的环境中,这些框表示计算机可执行指令,这些计算机可执行指令当由一个或多个处理器执行时,执行所列举的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、部件、数据结构等。描述操作的顺序不旨在被理解为限制,并且可以任何顺序和/ 或并行地组合任意数量的所描述的框来实现这些过程。
57.图4是用于在多种操作模式中的一种操作模式下操作手持式视频游戏控制器102的示例性过程400的流程图。出于讨论的目的,参考前面各图描述了过程400。
58.在402处,游戏控制器102可通过从断电状态转换为通电状态来启动。在通电状态下,从电源(例如,一个或多个电池)向游戏控制器102的一个或多个电子部件供电。在框402处启动游戏控制器102可基于(例如,响应于)游戏控制器102接收到第一用户输入。例如,可按下电源按钮(诸如图3所示的引导按钮304)以启动游戏控制器102(使其通电或开启)。
59.在404处,游戏控制器102的逻辑可确定在框402处接收到的第一用户输入是否包括手势,诸如存储在游戏控制器102的存储器224中的预定义手势。在框404处,如果确定在框402处接收到的第一用户输入不包括手势(例如,玩家120可能仅按下电源按钮诸如引导按钮304,以使游戏控制器102通电),过程400可遵循从框404到框406的“否”路线。
60.在406处,游戏控制器102的逻辑可确定在多种操作模式中的特定操作模式下操作游戏控制器102,其中游戏控制器102是最后被操作的。例如,该多种操作模式可包括ble模式和接收器模式,如本文所述。在框406处,游戏控制器102的逻辑可查询由操作模式部件238维护的数据以确定:在框402处接收到启动游戏控制器102的第一用户输入之前,这些模式中的哪一个模式最后(最近)用于操作游戏控制器102。如果ble模式被识别为操作游戏控制器102的最后一种模式,则在框406处选择ble模式。如果接收器模式被识别为操作游戏控制器102的最后一种模式,则在框406 处选择接收器模式。
61.在408处,游戏控制器102的逻辑可确定游戏控制器102先前已连接到的设备(例如,ble设备或无线接收器)。具体地,在框408处,逻辑可至少部分地基于存储在游戏控制器102的存储器224(例如,来自设备记录数据库232)中的数据来识别在框402处接收到启动游戏控制器102的第一用户输入之前手持式视频游戏控制器最后连接到的设备。存储在游戏控制器102的存储器224中的这些设备可与特定操作模式(例如,ble模式或无线接收器模式
中的至少一种模式)相关联。这可用作在框408处选择设备的过滤标准。也就是说,如果在框406处ble模式被选择为所使用的最后一种模式,则在框408处可识别和选择最近连接的ble设备114。另一方面,如果在框406处接收器模式被选择为所使用的最后一种模式,则在框408处可识别并选择最近连接的无线接收器118。
62.在410处,在选择了操作模式和设备的情况下,游戏控制器102可使用适当的协议经由游戏控制器102的无线电与所选择的设备建立无线连接。例如,如果在ble模式下操作,则游戏控制器102可使用ble协议经由游戏控制器102的无线电与执行客户端应用程序252的ble设备114建立无线连接。然而,如果在接收器模式下操作,则游戏控制器102可使用非 ble协议(例如,wifi)经由游戏控制器102的无线电与无线接收器118 建立无线连接。建立无线连接可包括建立可通过其发送数据的无线电链路 (例如,认证、握手等)。这可能涉及识别设备的无线电信号(以及可能地,无线电信号的强度)。
63.在412处,游戏控制器102可接收控制视频游戏的一个方面的第二用户输入,该视频游戏在与在框410处游戏控制器102与其连接的设备(诸如ble设备114或无线接收器118)不同的主机计算机(例如,客户端机器106)上执行。例如,客户端机器106可能正在执行视频游戏212,将视频游戏数据122流式传输到目标设备。如果在ble模式下操作,则目标设备可以是在框410处游戏控制器102与其连接的ble设备114。如果在接收器模式下操作,则目标设备可以是连接到在框410处游戏控制器102与其连接的无线接收器118的设备(例如,电视116)。玩家120可通过向游戏控制器102提供用户输入(例如,操作游戏控制器102上的控件、移动游戏控制器102(如由运动传感器检测到的)等)来玩视频游戏。
64.在414处,游戏控制器102可将控制器输入数据124发送到在框410 处游戏控制器102与其连接的设备。同样地,根据操作模式,控制器输入数据124的接收设备可以是ble设备114或无线接收器118。在ble模式下操作的情况下,可使用ble协议经由游戏控制器102的无线电将控制器输入数据124发送到ble设备114。在接收器模式下操作的情况下,可使用非ble协议(例如,wifi)经由游戏控制器102的无线电将控制器输入数据124发送到无线接收器118。控制器输入数据124可基于在框412处接收到的用户输入,并且可以任何合适的格式打包。
65.在一些实施方案中,当在ble模式下操作时,游戏控制器102的逻辑可使用自定义ble特性来生成控制器输入数据124,使得该控制器输入数据可由在ble设备114上执行的客户端应用程序252接收。这可能涉及 ble配置文件与ble协议栈中的gatt层相连接以用于传送控制器输入数据124中的特性。
66.返回参考框404,如果确定在框402处接收到的第一用户输入包括手势 (例如,多按钮手势,如参考图3所述),则过程400可遵循从框404到框 416的“是”路线。
67.在416处,游戏控制器102的逻辑可确定所检测到的手势类型。例如,游戏控制器102的存储器224可存储多个预定义手势,诸如参考图3所述的手势302(1)

(4)。这些示例性手势302可被分类为配对手势(例如,手势 302(1)和302(3)是配对手势)和模式选择手势(例如,手势302(2)和302(4) 是模式选择手势)。在框416处,如果手势被确定为配对手势,则过程400 可从框416前进至框418,在框418处,游戏控制器102的逻辑确定在与配对手势相关联的特定模式下操作游戏控制器102。例如,如果手势是图3 的配对手势302(1),则逻辑可确定在ble模式下操作,而如果手势是图3 的配对手势302(3),则逻辑可确定在接收器
模式下操作。
68.在420处,基于在框418处选择的操作模式,游戏控制器102的逻辑可确定游戏控制器尚未与其连接的用于该模式的新设备(即,新设备)。对于ble模式,这可以是通过在ble设备114上执行的客户端应用252进入 ble配对模式的新ble设备114。对于接收器模式,这可以是进入接收器配对模式的新无线接收器118,如本文所述。
69.在框420处识别并选择了新设备的情况下,可如上所述但相对于新识别的设备执行框410至414。也就是说,游戏控制器102可与新设备建立无线连接(框410),接收控制在主机计算机上执行的视频游戏的一个方面的 (第二)用户输入(框412),并且基于(第二)用户输入使用适当的协议通过无线电将控制器输入数据124发送到所连接设备(框414)。
70.返回参考框416,如果手势被确定为模式选择手势,则过程400可以从框416前进至框422,在框422处,游戏控制器102的逻辑确定在与模式选择手势相关联的特定模式下操作游戏控制器102。例如,如果手势是图3 的模式选择手势302(2),则逻辑可确定在ble模式下操作,而如果手势是图3的模式选择手势302(4),则逻辑可确定在接收器模式下操作。
71.在424处,游戏控制器102的逻辑可确定手势是否与游戏控制器102 先前已连接到的多个设备中的特定设备相关联。例如,存储在游戏控制器 102的存储器224(例如,设备记录数据库232)中的数据可保持游戏控制器102先前已连接到的设备列表。可基于在框422处选择的操作模式来过滤这些设备。如果手势特定于与所选择的操作模式相关联的设备中的一个设备,则过程400可遵循从框424到框426的“是”路线,在框426处,可选择与该手势相关联的设备。例如,玩家120可提供一个手势(例如,b 按钮300(4)和引导按钮304)来连接到设备记录数据库232中的最近使用的 ble设备,以及另一个手势(例如,开始按钮和引导按钮304)来连接到设备记录数据库232中的下一个最近使用的ble设备。根据检测到这些手势中的哪一个手势,在框426处可选择与该手势相关联的设备作为所识别的设备。类似的逻辑适用于接收器模式,如本文所述。
72.在框424处,如果手势不是设备特定的(例如,手势不是与所选择的操作模式相关联的设备中的一个设备所特有的),则过程400可遵循从框 424到框428的“否”路线,在框428处,逻辑选择在框402处接收到启动游戏控制器102第一用户输入之前游戏控制器102最后连接到的设备。也就是说,如果手势原本不是设备特定手势,则可在框428处选择最近连接的设备。在ble模式下,该设备是在框402处接收到启动游戏控制器102 的第一用户输入之前游戏控制器102最后连接到的ble设备114。在接收器模式下,该设备是在框402处接收到启动游戏控制器102的第一用户输入之前游戏控制器102最后连接到的无线接收器118。
73.在框428或框426之后,可如上所述但相对于在框428或框426处识别并选择的设备执行框410至414。也就是说,游戏控制器102可与所选择的设备建立无线连接(框410),接收控制在主机计算机上执行的视频游戏的一个方面的(第二)用户输入(框412),并且基于(第二)用户输入使用适当的协议通过无线电将控制器输入数据124发送到所连接设备(框 414)。
74.图5是用于操作ble设备114以流式传输在主机计算机上执行的视频游戏并通过ble从游戏控制器102接收控制器输入数据的示例性过程500 的流程图。出于讨论的目的,参考前面各图描述了过程500。
75.在502处,ble设备114(其连接到环境112的lan)可执行客户端应用252。该客户端
应用252可将ble设备114配置为用作用于视频游戏流式传输的目标设备,并且还用作由连接的游戏控制器102(例如,通过 ble连接)提供的控制器输入数据的集线器设备。
76.在504处,在主机计算机(例如,与ble设备114并置在环境112中的客户端机器106)上执行视频游戏212期间,ble设备114可通过lan (例如,经由wap 110)接收从主机计算机(例如,客户端机器106)流式传输的视频游戏数据122。
77.在506处,ble设备114可经由ble设备114的输出设备(例如,显示器244和扬声器)输出音频和视频数据(例如,包括音频和视频数据的视频游戏数据122)。
78.在508处,用作集线器设备的ble设备114可使用ble协议通过ble 设备114的无线电从连接的游戏控制器102接收控制器输入数据124。经由客户端应用252可用的自定义ble特性可允许以避开对游戏控制器输入的任何os限制的方式接收控制器输入数据。
79.在510处,ble设备114可将其从游戏控制器102接收的控制器输入数据124发送到执行视频游戏212的主机计算机(例如,客户端机器106)。控制器输入数据124可通过lan(例如,经由wap 110)从ble设备114 发送到主机计算机。
80.图6是用于操作主机计算机以将在其上执行的视频游戏流式传输到目标设备同时从与该主机计算机分开的游戏控制器接收控制器输入数据的示例性过程600的流程图。出于讨论的目的,参考前面各图描述了过程600。
81.在602处,主机计算机(例如,客户端机器106、远程系统104等)可使用视频游戏客户端210来执行视频游戏212。视频游戏客户端210可被配置为允许玩家120在主机计算机本身上玩视频游戏,并且/或者允许视频游戏212流式传输到目标设备(例如,经由流式传输部件216)。
82.在604处,视频游戏客户端210可挂上正在主机计算机上执行的视频游戏212的一个或多个输入库,以确定如何将控制器输入数据124转换为视频游戏212可用的数据。这允许视频游戏客户端210拦截来自视频游戏 212代码的用于读取游戏控制器状态的函数调用,并返回视频游戏212期望看到的控制器状态,这可能涉及将连接的游戏控制器102的状态重新映射为不同类型的游戏控制器状态。
83.在606处,主机计算机可通过lan将视频游戏客户端210捕获的视频游戏数据122发送到目标设备。根据游戏控制器102的操作模式,如本文所述,这可能涉及在ble模式下时将视频游戏数据122发送到ble设备 114,或者在接收器模式下时将该视频游戏数据发送到无线接收器118(无线接收器118连接到目标设备或嵌入其中)。视频游戏数据122可包括音频和视频数据,并且该数据可被编码以用于通过lan传输,如本文所述。
84.在608处,主机计算机可通过lan从发送设备接收控制器输入数据 124。同样地,根据游戏控制器102的操作模式,在ble模式下时,控制器输入数据124的发送设备可以是ble设备114,或者在接收器模式下时,该发送设备是无线接收器118。
85.在610处,视频游戏客户端210可将控制器输入数据124转换为视频游戏212代码可理解/处理的视频游戏输入。在框610处的这种转换可至少部分地基于所挂上的视频游戏的输入库。在框610处的转换也可基于其他因素,诸如视频游戏客户端210已知的关于玩家120更喜欢如何转换控制器输入数据124的玩家120偏好。在一些实施方案中,在框610处的转换可涉及将控制器输入数据124重新映射为可注入视频游戏212代码中的适当视频游戏输入。在一些实施方案中,视频游戏开发者可利用允许他们指定游戏控制器配置的api,这些游戏
控制器配置将来自各种类型的控制器的控制器输入数据124重新映射(或以其他方式转换)为适合其视频游戏的视频游戏输入。因此,在框610处,视频游戏客户端210可利用此类游戏控制器配置进行重新映射。视频游戏客户端210还可在不同类型的游戏控制器(诸如市场上来自各种游戏控制器制造商的控制器)之间进行转换,并且可能在鼠标和键盘输入之间进行转换。
86.在612处,视频游戏客户端210可将视频游戏输入(从控制器输入数据124转换而来)“注入”视频游戏212代码中以控制在主机计算机上执行的视频游戏212的一个方面。例如,导致玩家控制的角色跳跃的视频游戏输入可能导致玩家控制的角色在被流式传输到目标设备的接下来的几个帧的过程中跳跃。
87.尽管已经用特定于结构特征的语言描述了主题,但是应该理解,所附权利要求书中定义的主题不必限于所描述的具体特征。相反,具体特征被公开为实现权利要求的例示性形式。
再多了解一些

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

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

相关文献