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

交互式计算装置和附件的制作方法

2022-07-10 20:40:33 来源:中国专利 TAG:

交互式计算装置和附件
1.相关申请的交叉引用
2.本技术要求2020年4月17日提交的美国申请no.16/852,263的权益和优先权,该美国申请no.16/852,263是2020年1月17日提交的美国申请no.16/746,734的部分继续申请,该美国申请no.16/746,734是2019年7月26日提交的美国申请no.16/523,891的部分继续申请,这些美国申请中的每一者都通过引用其全部内容而并入本文。本技术还要求2020年1月31日提交的美国申请no.16/778,891的权益和优先权,该美国申请no.16/778,891是2020年1月17日提交的美国申请no.16/746,734的继续申请,该美国申请no.16/746,734是2019年7月26日提交的美国申请no.16/523,891的部分继续申请,这些美国申请中的每一者都通过引用其全部内容而并入本文。


背景技术:

3.提供下面的描述以帮助读者进行理解。所提供的信息或引用的参考文献都没有被承认为现有技术。
4.现今的视频游戏控制台通常使用外部远程控制器来允许用户与正由视频游戏控制台处理的游戏进行交互。视频游戏控制台通常连接至相对于视频游戏控制台保持静止的外部屏幕(例如,电视机)。固定屏幕会阻止想要四处移动并接收更多交互式体验的玩家。虽然用户可以通过控制器输入在固定屏幕上移动各种角色或其他人物,但是用户可能仍觉得与他们正在玩的游戏断开了连接。例如,用户可以使角色移动通过在固定屏幕上显示的虚拟战场。用户可以使用操纵杆以及对应于各种动作的各种下压按钮(push button)向虚拟战场上的敌方的其他角色开火。因为按压下压按钮和移动操纵杆与位于该虚拟战场本身是不一样的,所以用户可能不觉得连接至了该游戏,从而削弱了模拟的沉浸感和真实感。
5.此外,在一些情况下,外部远程控制器可能不具有针对另一计算装置的兼容无线通信接口。例如,外部远程控制器可能仅能够经由诸如蓝牙的特定通信协议与其它计算装置进行通信。然而,许多计算装置并且特别是较旧的计算装置缺少蓝牙通信硬件,并且可能仅能够经由wifi通信协议与其它装置进行通信。因为外部远程控制器和计算装置可能经由不同的或不兼容的通信协议进行通信,所以外部远程控制器和计算装置可能不能彼此进行通信。这种具有不兼容通信接口的装置可以称为异类装置、异类通信装置或类似术语。


技术实现要素:

6.本文讨论的系统和方法的实现提供了对计算装置的交互式控制的改进。例如,在一些实现中,为了提供控制头像(avatar)或与应用进行交互时的更精细的准确度,交互装置可以包括多个不同物理控件,所述多个不同物理控件可以单独地或者一起使用以提供更精细的控制和准确度。例如,在一些实现中,并入有加速度计或其它惯性测量单元(imu)的三维接口装置还可以包括操纵杆。在一些实现中,可以独立地使用来自imu和操纵杆的信号,可是这在以直观的方式将来自操纵杆的信号与其它控制数据进行整合时可能存在困难。例如,在一些情况下,可以将计算装置配置成在操纵杆移动的任何时间具有超驰位置传
感器信号的操纵杆信号。超驰可能使用户难以既使用操纵杆又使用控制器上的任何位置传感器来导航虚拟环境。相反,本文讨论的系统和方法提供使得能够直观且自然地使用混合接口装置(例如,imu和操纵杆)的缩放和聚合功能,包括:基于内容的缩放功能、基于阈值的缩放功能、基于控制的缩放功能以及使得用户能够直观地控制接口、虚拟环境、头像、菜单接口或其它交互式要素的其它集成。
7.此外,本文讨论的系统和方法的实现提供了异类装置或者不具有兼容通信接口的装置之间的通信的改进。例如,在一些实现中,为了使第一装置能够与第二装置进行通信(尽管这两个装置被限制为不兼容的通信接口),中间装置可以作为这两个装置之间的通信桥操作。中间装置可以经由第一通信协议与第一装置进行通信,并且经由不同的第二通信协议与第二装置进行通信。中间装置可以从第一装置接收通信并且向第二装置发送对应的通信(例如,具有同一信息的通信)。例如,在一些实现中,中间装置可以经由蓝牙或低功耗蓝牙与第一装置进行通信,并且经由wifi与第二装置进行通信。经由蓝牙或低功耗蓝牙发送数据可以使用比经由wifi发送数据更少的功率。因此,可能希望第一装置与第二装置进行通信,而不牺牲蓝牙或低功耗蓝牙实现的高效数据传输。通过将中间装置实现为通信桥,第一装置可以经由蓝牙与中间装置进行通信,以间接地与第二装置进行通信,而不牺牲可能由实现其它较高功率通信协议而造成的任何能量低效率。
8.根据至少一些方面,本公开公开了一种便携式游戏装置。便携式游戏装置包括游戏控制台壳体,该游戏控制台壳体包括手柄、扳机(trigger)以及屏幕保持件(holder)。便携式游戏装置还包括联接至屏幕保持件的显示装置。显示装置包括显示器。便携式游戏装置包括以内部方式联接至游戏控制台壳体的处理电路。处理电路包括处理器、存储器以及网络接口。处理电路与显示装置进行通信。处理电路生成要在显示器上显示的用户界面、确定游戏控制台壳体的位置以及基于游戏控制台壳体的所确定的位置来更新用户界面。
9.根据其它方面,本公开公开了一种便携式游戏系统。便携式游戏系统包括游戏控制台,该游戏控制台包括游戏控制台壳体,该游戏控制台壳体包括手柄、扳机以及屏幕保持件。游戏控制台包括联接至屏幕保持件的显示装置。显示装置包括显示器。游戏控制台还包括以内部方式联接至游戏控制台壳体的第一处理电路。第一处理电路包括第一处理器、第一存储器以及第一网络接口。第一处理电路与显示装置进行通信。便携式游戏系统还包括具有第二处理电路的外部装置。第二处理电路包括第二处理器、第二存储器以及第二网络接口。第二处理电路与第一处理电路进行通信。第二处理电路生成要在显示器上显示的视听数据流、向显示装置发送视听数据流、从第一处理电路接收输入、基于输入来生成更新的视听数据流以及向显示装置发送更新的视听数据流。
10.根据又一些其它方面,本公开公开了一种便携式游戏装置。便携式游戏装置包括游戏控制台壳体,该游戏控制台壳体包括手柄、扳机以及屏幕保持件。便携式游戏装置包括联接至屏幕保持件的显示装置。显示装置包括显示器。显示装置从第二装置接收视听数据流,并且基于视听数据流生成显示器上的用户界面。便携式游戏装置还包括以内部方式联接至游戏控制台壳体的处理电路。处理电路包括处理器、存储器以及网络接口。处理电路确定游戏控制台壳体的位置,并且向第二装置发送与游戏控制台壳体的位置相对应的信号。
11.根据至少一些方面,本公开公开了一种人机接口装置(hid)兼容便携式游戏装置。hid兼容便携式游戏装置包括显示器、位置传感器、操纵杆以及处理器,该处理器与显示器、
操纵杆以及位置传感器进行通信。处理器具有编程指令,该编程指令在被执行时使处理器:从位置传感器接收指示便携式游戏装置的取向变化的第一信号;从操纵杆接收指示操纵杆的位置变化的第二信号;向第一信号指派第一权重并且向第二信号指派第二权重:基于经加权的第一信号和经加权的第二信号的加权总和来聚合第一信号与第二信号,以获得第三信号;以及根据第三信号来更新显示器上的用户界面。
12.在一些实现中,hid兼容便携式游戏装置包括指令,该指令在被执行时还使处理器:确定正在显示器的用户界面上显示的内容类型;以及基于所确定的正在用户界面上显示的内容类型,向第一信号指派第一权重并且向第二信号指派第二权重。正在显示器的用户界面上显示的内容类型是基于正在显示器上显示的对象或基于正由处理器或者与便携式游戏装置进行通信的第二装置中的一者执行的应用的当前状态确定的。
13.在一些实现中,hid兼容便携式游戏装置包括指令,该指令在被执行时还使处理器:响应于正在用户界面上显示的不同内容类型,动态地调节第一权重和第二权重中的一者或两者。在进一步的实现中,编程指令在被执行时还使处理器:响应于所确定的内容类型与由用户界面显示的环境的放大视图相对应,对第一信号的第一权重和第二信号的第二权重中的一者或两者进行调节,以增大第二权重与第一权重之比。在更进一步的实现中,编程指令在被执行时还使处理器:确定由用户界面显示的三维环境内的、用户界面的视点与三维环境内的与用户界面的光标位置相对应的实体之间的距离;以及与三维环境内的所确定的距离成比例地调节第二权重。在另一进一步的实现中,内容类型是平视显示(hud),并且第一权重大于第二权重。在又一进一步的实现中,编程指令在被执行时还使处理器:基于正由处理器或与便携式游戏装置进行通信的第二装置中的一者执行的应用的类型来识别内容类型。在再一进一步的实现中,内容类型是菜单,并且第二权重为零。
14.在一些实现中,hid兼容便携式游戏装置包括指令,该指令在被执行时还使处理器通过以下操作向第一信号指派第一权重并且向第二信号指派第二权重:将指示便携式游戏装置的取向变化的第一信号与阈值进行比较;以及响应于第一信号小于阈值,将第一权重指派为零。在一些实现中,hid兼容便携式游戏装置包括指令,该指令在被执行时还使处理器通过以下操作向第一信号指派第一权重并且向第二信号指派第二权重:将指示操纵杆的位置变化的第二信号与阈值进行比较;以及响应于第二信号小于阈值,将第二权重指派为小于第一权重的值。在一些实现中,hid兼容便携式游戏装置包括指令,该指令在被执行时还使处理器通过以下操作向第一信号指派第一权重并且向第二信号指派第二权重:将指示操纵杆的位置变化的第二信号与阈值进行比较;以及响应于第二信号超过阈值,减小指示便携式游戏装置的取向变化的第一信号的第一权重。
15.在一些实现中,位置传感器包括陀螺仪和加速度计中的至少一者。在一些实现中,操纵杆是能够按压的,并且编程指令在被执行时还使处理器:接收指示操纵杆已被按压的第四信号;响应于接收到第四信号,识别与操纵杆正被按压相对应的预定命令;以及基于预定命令来更新显示器上的用户界面。在进一步的实现中,编程指令在被执行时还使处理器:响应于接收到第四信号,调节第一权重和第二权重中的一者或两者。
16.根据其它方面,本公开公开了一种hid兼容便携式游戏装置。hid兼容便携式游戏装置包括:握持部,该握持部被配置成容纳用户的第一只手;以及从握持部延伸的细长部,该细长部被配置成容纳用户的第二只手。细长部包括操纵杆,该操纵杆被定位成当用户的
第二只手位于细长部上时由用户的第二只手的拇指衔接(articulate)。
17.在一些实现中,握持部包括扳机,该扳机被定位成由用户的第一只手的食指致动;并且其中,细长部在与扳机对齐的方向上从握持部延伸。在一些实现中,细长部还包括一个或更多个按钮,所述一个或更多个按钮被定位成当用户的第二只手位于细长部上时由用户的第二只手的对应的一个或更多个手指致动。在进一步的实现中,操纵杆位于细长部的第一侧上,并且一个或更多个按钮位于细长部的与第一侧相反的第二侧上。在一些实现中,细长部还包括多个发光区段。在进一步的实现中,控制器包括多个开关输出端,多个开关输出端连接至对应的多个发光区段,控制器被配置成根据从hid兼容便携式游戏装置的处理器或与hid兼容便携式游戏装置进行通信的第二装置的处理器中的一者接收到的信号来控制多个开关输出端,以激活对应的多个发光区段。在另一进一步的实现中,多个发光区段是成一排地设置在细长部的一侧上的。在又一进一步的实现中,多个发光区段是一排排地设置在细长部的多个侧面上的。
18.在一些实现中,细长部还包括可调节夹具,该可调节夹具用于包括显示器的便携式计算装置。在进一步的实现中,可调节夹具被定位成接近细长部的与握持部相邻的末端部分,并且操纵杆被定位成接近细长部的相反的末端部分。在一些实现中,便携式游戏装置包括位于细长部和握持部中的至少一者的内部的处理器,处理器与联接至细长部的显示器进行通信。在一些实现中,细长部还包括多个脊(ridge),所述多个脊位于细长部的底部。在一些实现中,细长部还包括一个或更多个按钮,所述一个或更多个按钮被定位成当用户的第二只手位于细长部上时由用户的第二只手的拇指致动。在进一步的实现中,操纵杆位于细长部的与一个或更多个按钮相同的一侧上。在更进一步的实现中,细长部还包括一个或更多个第二按钮,所述一个或更多个第二按钮被定位成由用户的第二只手的对应的一个或更多个手指致动,其中,用户的第二只手位于细长部上。在一些实现中,握持部包括踏板系统(pedal system),踏板系统包括踏板,踏板按照使得踏板能够在多个位置之间枢转的方式枢转地联接至握持部的一部分。
19.根据又一些其它方面,本公开公开了一种hid兼容便携式游戏装置。hid兼容便携式游戏装置包括显示器、位置传感器以及操纵杆。hid兼容便携式游戏装置还包括:第一无线通信接口,该第一无线通信接口利用第一物理通信协议;以及第二无线通信接口,该第二无线通信接口利用与第一物理通信协议不同的第二物理通信协议。第一无线通信接口被配置成经由第一物理通信协议向远程计算装置发送表示位置传感器或操纵杆的位置的至少一个信号。第二无线通信接口被配置成经由第二物理通信协议从远程计算装置接收媒体流,该媒体流由显示器呈现。
20.在一些实现中,第一物理通信协议是蓝牙,并且第二物理通信协议是wifi。在进一步的实现中,第二无线通信接口利用有损传输层通信协议。在更进一步的实现中,第一无线通信接口利用无损传输层通信协议。在一些实现中,游戏装置包括处理器,该处理器具有编程指令,该编程指令在被执行时使处理器:接收来自位置传感器的第一信号以及来自操纵杆的第二信号;以及将第一信号和第二信号聚合成第三信号,该第三信号被发送至远程计算装置。在进一步的实现中,编程指令在被执行时还使处理器将第一信号和第二信号聚合为经加权的信号的总和。在更进一步的实现中,编程指令在被执行时还使处理器响应于操纵杆的信号超过预定阈值,调节第一信号的权重和第二信号的权重。在另一更进一步的实
现中,编程指令在被执行时还使处理器响应于经由第一无线通信接口从远程计算装置接收到的信号,动态地调节第一信号的权重和第二信号的权重。在又一更进一步的实现中,从远程计算装置接收到的信号标识由远程计算装置执行的应用的状态。
21.根据至少一些方面,本公开公开了一种在异类装置之间传送交互式数据的方法,所述方法包括以下步骤:中间计算装置经由第一无线接口从第一计算装置接收来自第一计算装置的至少一个传感器的交互式数据;中间计算装置从所接收的交互式数据中提取至少一个数据串;中间计算装置将所提取的至少一个数据串封装在传输层报头中;以及中间计算装置经由第二无线接口向第二计算装置发送封装的至少一个数据串,其中,第二计算装置从封装的传输中提取至少一个数据串,并且将所述至少一个数据串转发至由第二计算装置的操作系统执行的虚拟人机接口装置(hid)驱动器。
22.在一些实现中,第一无线接口是蓝牙无线接口,并且其中,第二无线接口是wifi接口。在进一步的实现中,所接收的交互式数据包括来自陀螺仪、加速度计、磁力计、温度传感器、操纵杆或者按钮的数据。在又一进一步的实现中,第一计算装置和第二计算装置不进行直接通信。在一些实现中,所述方法还包括以下步骤:中间计算装置向第一计算装置发送订阅来自至少一个传感器的交互式数据的请求。在进一步的实现中,所述方法还包括以下步骤:中间计算装置与第二计算装置建立经由第二无线接口的传输层通信会话。在又一进一步的实现中,提取至少一个数据串的步骤还包括:中间计算装置从所接收的交互式数据中提取多个连结数据串,所述连结数据串中的各个连结数据串具有预定长度。
23.根据其它方面,本公开公开了一种在异类装置之间传送交互式数据的系统,所述系统包括:中间计算装置,该中间计算装置经由第一无线接口与第一计算装置进行通信并且经由第二无线接口与第二计算装置进行通信,中间计算装置包括具有编程指令的处理器,该编程指令在被执行时使处理器:经由第一无线接口从第一计算装置接收来自第一计算装置的至少一个传感器的交互式数据;从所接收的交互式数据中提取至少一个数据串;将所提取的至少一个数据串封装在传输层报头中;以及经由第二无线接口向第二计算装置发送封装的至少一个数据串,其中,第二计算装置从封装的传输中提取至少一个数据串,并且将所述至少一个数据串转发至由第二计算装置的操作系统执行的虚拟人机接口装置(hid)驱动器。
24.在一些实现中,第一无线接口是蓝牙无线接口,并且其中,第二无线接口是wifi接口。在进一步的实现中,所接收的交互式数据包括来自陀螺仪、加速度计、磁力计、温度传感器、操纵杆或者按钮的数据。在又一进一步的实现中,第一计算装置和第二计算装置不进行直接通信。在一些实现中,编程指令在被执行时还使处理器向第一计算装置发送订阅来自至少一个传感器的交互式数据的请求。在进一步的实现中,编程指令在被执行时还使处理器与第二计算装置建立经由第二无线接口的传输层通信会话。在又一进一步的实现中,其中,编程指令在被执行时还使处理器从所接收的交互式数据中提取多个连结数据串,所述连结数据串中的各个连结数据串具有预定长度。
25.根据又一其它方面,本公开公开了一种在异类装置之间传送交互式数据的方法,所述方法包括以下步骤:第一计算装置与中间计算装置建立经由中间计算装置的第一无线接口的通信会话;第一计算装置经由通信会话从中间计算装置接收由中间计算装置转发的、包括第二计算装置的传感器数据的分组;传感器数据由中间计算装置经由第二无线接
口接收并且由中间计算装置封装在分组中;第一计算装置从分组中提取传感器数据;以及第一计算装置将所提取的传感器数据提供给第一计算装置的虚拟人机接口装置。
26.在一些实现中,第一无线接口是wifi;并且其中,第二无线接口是蓝牙。在进一步的实现中,传感器数据包括来自多个传感器的连结数据,所述连结数据中的各个连结数据具有预定长度。在又一进一步的实现中,第一计算装置与第二计算装置不进行直接通信。在一些实现中,建立通信会话的步骤包括:第一计算装置执行传输层服务器。在进一步的实现中,传感器数据在被发送至第一计算装置之前由中间计算装置封装在传输层报头中。
27.前述发明内容仅仅是例示性的,而非旨在以任何方式进行限制。除了上述例示方面、实施方式以及特征以外,另外的方面、实施方式以及特征通过参照下列附图和详细描述将变得显而易见。
附图说明
28.在附图和下面的描述中对一个或更多个实现的细节进行阐述。本公开的其它特征、方面以及优点根据该描述、附图以及权利要求将变得显而易见,其中:
29.图1是根据本公开的一些实施方式的游戏环境的框图。
30.图2a是根据本公开的一些实施方式的、图1的游戏环境的示例性实施方式的框图。
31.图2b是根据本公开的一些实施方式的、经由不同通信接口与远程装置进行通信的游戏控制台的示例性实施方式的框图。
32.图2c是根据本公开的一些实施方式的、与通用输入/输出(gpio)单元进行通信以控制灯元件的处理器的示例性实施方式的框图。
33.图3是根据本公开的一些实施方式的游戏控制台的立体图,该游戏控制台包括联接至游戏控制台的游戏控制台壳体的显示装置。
34.图4是根据本公开的一些实施方式的另一游戏控制台的立体图,该另一游戏控制台包括联接至游戏控制台的游戏控制台壳体的显示装置。
35.图5是根据本公开的一些实施方式的、图4的游戏控制台的侧视图。
36.图6是根据本公开的一些实施方式的用户界面的屏幕显示器,该屏幕显示器显示了操作者利用图3的游戏控制台选择的各种难度水平。
37.图7是根据本公开的一些实施方式的正在图3的游戏控制台上玩的游戏的用户界面的屏幕显示器。
38.图8是根据本公开的一些实施方式的概述图3的游戏控制台的操作的示例流程图。
39.图9是根据本公开的一些实施方式的概述游戏装置在图3的游戏控制台向该游戏装置提供输入的同时向该游戏控制台的显示装置流传输视听数据的示例流程图。
40.图10a是根据本公开的一些实施方式的概述聚合来自操纵杆和位置传感器的信号以更新用户界面的示例流程图。
41.图10b是根据本公开的一些实施方式的概述基于正在显示器上显示的内容类型来向操纵杆信号和/或位置传感器信号指派权重的示例流程图。
42.图10c是根据本公开的一些实施方式的基于操纵杆或游戏控制台的位置变化来向操纵杆信号和/或位置传感器信号指派权重的示例流程图。
43.图11是根据本公开的一些实施方式的游戏控制台的立体图,该游戏控制台包括联
接至游戏控制台的游戏控制台壳体的屏幕保持件以及操纵杆。
44.图12是根据本公开的一些实施方式的用于在异类装置之间传送交互式数据的系统的示例性实施方式的框图。
45.图13是根据本公开的一些实施方式的概述在异类装置之间传送交互式数据的示例流程图。
46.本公开的前述和其它特征根据下面结合附图的描述和所附权利要求将变得显而易见。应当明白,这些附图仅描绘了根据本公开的多个实施方式,并因此不应被视为对本公开的范围的限制,将通过使用附图,以附加特异性和细节描述本公开。
具体实施方式
47.在下面的详细描述中,参考形成本公开的一部分的附图。在附图中,除非上下文另有规定,否则相似符号通常标识相似部件。在该详细描述、附图以及权利要求中描述的例示性实施方式不旨在进行限制。在不脱离在此呈现的主题的精神或范围的情况下,可以利用其它实施方式,并且可以进行其它改变。应当容易地明白,如在本文中总体描述且在附图中例示的本公开的各方面可以按宽泛种类的不同配置布置、代替、组合以及设计,所述配置全部明确地进行了设想并且成为本公开的一部分。
48.本公开总体上涉及一种游戏控制台,该游戏控制台包括处理电路、游戏控制台壳体、操纵杆以及屏幕显示器。处理电路可以以内部方式联接至游戏控制台壳体(例如,联接在游戏控制台壳体内)。屏幕显示器可以经由外部部件(例如,屏幕保持件)联接至游戏控制台壳体。处理电路可以与屏幕显示器进行通信,以在该屏幕显示器上显示用户界面。处理电路可以处理各种应用和/或游戏,以显示和更新用户界面。处理电路可以接收来自操纵杆、各种按钮和/或游戏控制台壳体的所检测到的移动的输入。处理电路可以基于输入对用户界面进行更新。
49.本文描述的示例性实施方式提供了一种具有游戏控制台壳体的游戏控制台,该游戏控制台壳体可以被成形为类似于枪炮(blaster)装置(例如,步枪、猎枪、机枪、榴弹发射器、火箭发射器等)。游戏控制台壳体可以包括枪管(barrel)、手柄、扳机、传感器(例如,加速度计、陀螺仪、磁力计等)、操纵杆以及游戏控制台壳体外部上的各种按钮。游戏控制台还可以包括以内部方式联接至游戏控制台壳体的处理电路,该处理电路处理与游戏控制台相关联的应用和/或游戏。游戏控制台可以包括联接至游戏控制台壳体的枪管的屏幕显示器。屏幕显示器可以显示由处理电路生成的并且与处理电路处理的应用和/或游戏相关联的用户界面。屏幕显示器可以联接至游戏控制台,因此,使用(例如,玩或操作)游戏控制台的操作者可以在该屏幕显示器上查看由处理电路生成的用户界面。
50.处理电路可以接收与扳机、传感器、操纵杆以及各种按钮相关联的输入。处理电路可以处理输入,以更新正在屏幕显示器上显示的用户界面。处理电路可以接收作为操作者使用游戏控制台并且按压各种按钮之一、重新定位操纵杆、操纵(例如,移动)游戏控制台以便传感器检测到移动或者扳动扳机的结果的输入。处理电路可以将各种按钮、传感器和/或扳机中的每一者的输入与不同的动作或信号相关联,以调节屏幕显示器上的用户界面。例如,处理电路可以将与操作者扳动扳机相关联的信号识别为视频游戏中的枪射击的指示。在处理同一视频游戏时,处理电路可以将来自各种传感器的指示正操纵游戏控制台的信号
关联为将用户界面从第一视图改变至第二视图的指示。处理电路可以处理游戏或应用,以创建虚拟环境(例如,具有多个视图的环境),操作者可以通过操纵游戏控制台(例如,将游戏控制台旋转约360度)来查看该虚拟环境。
51.屏幕显示器还可以从外部装置(例如,另一视频游戏控制台)接收数据流。外部装置可以在外部装置的处理电路上处理应用或视频游戏,以生成数据流。数据流可以包括视听数据。在一些实施方式中,外部装置可以将数据流发送至游戏控制台的处理电路,以进行处理并在屏幕显示器上显示。使用游戏控制台和/或查看显示器的操作者可以在查看屏幕显示器时按压按钮、扳动扳机或操纵游戏控制台。游戏控制台可以将由这些交互中的任一交互生成的输入发送至外部装置。外部装置可以利用外部装置的处理电路来处理输入,并且将更新的数据流发送至游戏控制台,以供屏幕显示器显示。外部装置的处理电路可以基于输入来生成更新的数据流。因此,游戏控制台的处理电路可能不需要执行任何处理步骤便可使屏幕显示器显示用户界面。
52.有利地,本公开描述了一种游戏控制台,其允许操作者在没有外部显示器(例如,电视机)的情况下沉浸在游戏体验中。因为游戏控制台的屏幕显示器联接至游戏控制台壳体的外部部件并且可以显示与游戏控制台的移动相对应地改变视图的用户界面,所以操作者可以在游戏控制台上玩游戏,同时感觉他们是各种游戏环境的一部分。此外,游戏控制台可以与其它游戏控制台接口连接,以向其它游戏控制台的原本仅可在固定屏幕上玩的游戏提供虚拟现实功能。因此,游戏控制台向操作者提供正在外部装置或者游戏控制台本身上处理的游戏和/或应用的虚拟现实体验。
53.本公开的另一优点是游戏控制台提供了不一定需要连接至用户的头部或其它身体部位的手持式虚拟现实系统。相反,用户可以容易地抓住游戏控制台并立即沉浸在游戏环境中。此外,用户可以沉浸在游戏环境中,同时仍可以查看现实中的用户周围环境。这允许用户在三维虚拟世界中玩沉浸式游戏或应用时避免碰撞现实对象。
54.在许多情况下,用于控制图像或与计算装置进行交互的不同接口可能存在关于使用性和功能的问题。不同物理接口可能或多或少不准确,或者可能或多或少不能由用户精细控制。例如,触摸屏交互式控制关于特定点或像素可能具有有限的准确度,这是因为用户的手指或拇指明显大于该像素或点。结果,用户可能难以在这样的界面的情况下准确地选择希望的点,并且开发者可能必须利用更大的交互式控制来进行补偿。在许多其它物理接口中不同程度地存在相同或类似的问题:例如,尝试瞄准三维界面装置(诸如在单个点处并入加速度计的无线远程控制器)的用户因手、腕、臂和/或肩的肌肉中的小颤动而可能具有不准确性。
55.本文描述的系统和方法的实现可以解决上述问题。本公开总体上还涉及一种用于将操纵杆信号数据与位置传感器信号数据组合以更新或以其它方式调节显示器上的用户界面的方法。不包括本文描述的尝试组合这样的数据的系统和方法的实现通常将确定是使用来自操纵杆还是来自位置传感器的数据来更新用户界面,而不能够组合这两个信号或者提供这样做的方法。例如,在一个这样的的实现中,当操作游戏控制台时,来自操纵杆的信号可以超驰来自位置传感器的信号。因此,当处理或执行游戏或应用时,游戏控制台将在其可以处理的输入的数量和/或类型方面受到限制。
56.有利地,本公开描述了一种用于在操作者操作游戏控制台时将操纵杆数据与位置
传感器数据进行组合的动态方法。执行该方法的处理电路可以接收操纵杆信号和位置传感器信号、向这两个信号指派权重以及组合这两个经加权的信号(例如,使用诸如聚合、相乘、平均等各种操作)以生成第三信号来更新用户界面。处理电路可以基于处理电路或另一处理电路正处理的应用来向信号指派权重,并且基于应用的当前状态或基于操纵杆信号和/或位置传感器信号的值来动态地调节权重。因此,游戏控制台可以处理操纵杆信号和位置信号,而这些信号中的一个信号不接管(take over)另一信号。
57.本公开总体上还涉及一种便携式游戏装置,其使得用户能够访问如上述方法中那样实现操纵杆和位置传感器的应用或游戏。没有利用本文描述的系统和方法的游戏控制台或装置的实现无法以如下方式组合操纵杆与枪炮状壳体,该方式允许用户既能通过操纵游戏控制台又能通过操纵操纵杆来控制用户界面。因此,这样的实现不能在允许用户快速扫描三维虚拟环境的同时还使玩第一人称射击游戏的用户具有对用户界面的精细控制。
58.有利地,本公开描述了一种游戏控制台,该游戏控制台具有定位在枪炮状壳体的细长部(例如,枪管)上的操纵杆,其使得操纵游戏控制台的用户既能够利用操纵杆精细地控制用户界面又能够通过操纵游戏控制台来快速地扫描三维虚拟环境。操纵杆可以被定位成使得用户既可以握住细长部,又可以用他们的拇指操纵操纵杆,同时仍能够按压位于枪炮的细长部的一侧或多侧上的按钮。因此,用户可以更容易地使用操纵杆和/或通过重新定位游戏控制台来访问和/或玩正在游戏控制台上处理的游戏或应用。
59.本公开总体上还涉及使用不同无线通信接口和通信协议来更新媒体流或以其它方式在显示器上呈现媒体流的游戏控制台。未并入本文讨论的系统和方法的游戏控制台和装置的实现可以利用单个通信信道,该单个通信信道允许控制器向游戏控制台发送诸如发往控制器的输入的数据,并且从游戏控制台接收该游戏控制台基于这样的输入而生成的数据。在这样的实现中,控制器和游戏控制台可以将相同的通信信道和通信协议用于这样的数据传输,使得控制台难以高效地处理不同类型数据(诸如从位置传感器生成的数据和图像数据)的传输。例如,这样的通信信道和协议可以更好地适应于一种类型的数据(例如,低延迟命令或控制数据)或者另一类型的数据(例如,高带宽等时多媒体数据)。
60.有利地,本公开描述了一种与远程装置接口连接以处理游戏或应用的游戏控制台。所述游戏控制台可以通过两个通信接口与远程装置接口连接。第一通信接口可以专用于输入信号(例如,位置传感器信号、按钮信号、操纵杆信号等)。第一通信接口可以允许这样的输入信号被准确地发送至远程装置。第二通信接口可以专用于发送图像数据。例如,远程装置可以响应于接收到通过第一通信接口的输入而将图像数据发送至游戏控制台。第一通信接口可以提供无损传输层通信协议,而第二通信接口可以提供有损传输层通信协议。因此,可以将输入信号准确地发送至远程装置以进行处理,并且远程装置可以将图像数据发送回控制台装置,该图像数据可以被快速地显示在控制台装置的用户界面上。因此,可以在远程装置上处理游戏或应用,同时可以以低延迟在游戏控制台上显示游戏或应用的控制以及游戏或应用的显示。
61.在一些情况下,第一计算装置可能不具有针对第二计算装置的兼容通信接口。这样的装置可以称为异类装置或者具有异类通信接口或类似术语。例如,第一计算装置可以被设计成使用诸如蓝牙或低功耗蓝牙的低能量通信协议来在操作期间保存其电池寿命。第二计算装置可能没有以相同的约束设计,这是因为例如第二计算装置可以连接至电网并且
具有大得多的电源。因此,第二计算装置可以被配置成使用wifi通信协议而不是蓝牙通信协议。在一些情况下,可能希望诸如第一计算装置和第二装置的计算装置进行通信。例如,用户可能想要将第一计算装置用作正由第二计算装置处理的游戏的控制器。然而,因为第一计算装置和第二计算装置不具有兼容通信接口,所以用户可能无法这样做。
62.用于使不具有兼容通信接口的装置能够彼此进行通信的尝试性解决方案通常需要额外的硬件,该额外的硬件迫使所述装置之一经由与另一装置兼容的通信协议来发送数据。这样的解决方案通常是昂贵的或者需要附加硬件、需要端口折衷(例如,插入计算装置的usb端口中的蓝牙软件狗占据可能专用于另一部件的端口)和/或需要装置通过使用与其被设计使用的通信协议不同的通信协议来使用比原本所使用的功率更多的功率发送数据。蓝牙软件狗还往往较小且容易丢失,此时系统变得不可操作。然而,通过实现本文描述的系统和方法,具有不兼容通信接口的装置可以彼此进行通信,而无需将额外的硬件部件联接至这样的计算装置,同时使得各个计算装置能够高效地进行通信(例如,使用于执行这样的通信的功率最小化)。本文描述的系统和方法可以使得不具有兼容通信接口的装置能够进行通信,而无需所述计算装置中的任一者改变它们用以进行通信的通信协议。
63.本文讨论的系统和方法的实现提供了不具有兼容通信接口的装置之间的通信的改进。例如,在一些实现中,为了使第一装置能够与第二装置进行通信(尽管这两个装置被限制为不兼容通信接口),中间装置可以作为这两个装置之间的通信桥操作。中间装置可以经由第一通信协议与第一装置进行通信,并且经由第二通信协议与第二装置进行通信。
64.在示例性实施方式中,中间装置可以将其从第一装置接收到的交互式数据发送至第二装置,以供处理。中间装置可以经由诸如蓝牙或低功耗蓝牙的第一通信协议从第一装置接收交互式数据,该交互式数据包括具有与不同类型的交互式数据相关联的专用位的数据串。中间装置可以从数据串中提取数据,并且将所提取的数据封装在中间装置所处理的应用的通信层报头中。中间服务器可以经由wifi将封装的数据发送至第二计算装置。第二计算装置的代理可以接收封装的提取数据并将其译码成hid适用(compliant)数据。代理可以将经译码的数据插入到hid驱动器中,该hid驱动器针对第二装置的操作系统蒙混(spoof)hid适用装置。正由操作系统处理的应用或游戏可以将经译码的数据识别为来自诸如鼠标或键盘的hid适用装置的输入,并且根据该输入来对应用并发地发送至中间装置以供显示的数据流进行更新。有利地,通过将中间装置实现为通信桥,第一装置可以经由蓝牙与中间装置进行通信,以间接地与第二装置进行通信,而不牺牲可能由使用诸如wifi的其它通信协议而造成的任何能量低效率。
65.现在参照图1,示出了根据本公开的一些实施方式的游戏环境100的框图。在一些实施方式中,游戏环境100被示为包括游戏控制台102、显示装置106、网络108以及远程装置110。如本文所描述的,游戏环境100可以是便携式游戏系统。游戏控制台102可以通过网络108与远程装置110进行通信。显示装置106可以是游戏控制台102的一部分(例如,联接至游戏控制台的外部部件)。在一些实施方式中,显示装置106可以是移动装置(例如,联接至游戏控制台102的壳体的蜂窝电话)。游戏控制台102的处理电路104可以与显示装置106进行通信,以在显示装置106处显示用户界面。游戏控制台102可以分别经由处理电路104和显示装置106来处理和显示应用或游戏。如本文所描述的,游戏控制台102可以是便携式游戏装置。简而言之,游戏控制台102可以在显示装置106上显示要玩或要下载的游戏或应用的列
表。操作者可以通过移动游戏控制台102并按压游戏控制台102的输入按钮来从列表中选择游戏或应用。游戏控制台102可以在显示装置106处显示所选择的游戏或应用。操作者可以通过操纵和/或按压游戏控制台102的输入按钮来控制游戏或应用的移动和动作。因为显示装置106是游戏控制台102的一部分或者以其它方式联接至游戏控制台102,所以显示装置106可以随着游戏控制台102的移动而移动。在一些实施方式中,游戏控制台102可以显示与远程装置110正处理的应用和/或游戏相关联的移动和/或动作。
66.网络108可以包括使得能够在游戏控制台102与远程装置110及其部件之间进行通信的任何元件或系统。网络108可以通过网络接口和/或通过各种通信方法来连接所述部件,诸如但不限于蜂窝网络、互联网、wi-fi、电话、lan连接、蓝牙、hdmi或者允许装置彼此进行通信的任何其它网络或装置。在一些情况下,网络108可以包括便于游戏环境100的部件之间的通信的服务器或处理器。
67.游戏控制台102可以是包括处理电路104的游戏控制台,该处理电路可以处理各种应用和/或游戏。游戏控制台102可以包括显示装置106,该显示装置联接至游戏控制台102的壳体的外部部件(例如,屏幕保持件)。处理电路104可以在显示装置106处显示游戏控制台102处理的应用和/或游戏的输出,以供操作者查看。游戏控制台102还可以包括操作者可以按压以向处理电路104发送信号的各种下压按钮。信号可以指示所述下压按钮之一被按压。各个下压按钮可以与处理电路104正处理的应用或游戏的动作或移动相关联。此外,处理电路104可以接收来自游戏控制台102的传感器的输入,该传感器检测与游戏控制台102相关联的移动的各个方面(例如,速度、位置、加速度等)。处理电路104可以使用来自传感器的输入来影响与处理电路104正处理的游戏或应用相关联的移动和/或动作。处理电路104可以基于输入来生成和/或更新与正在显示装置106上显示的游戏和/或应用相关联的用户界面。
68.显示装置106可以包括显示与正由处理电路104处理的游戏和/或应用相关联的用户界面的屏幕(例如,显示器)。显示装置106可以经由附接至游戏控制台102的游戏控制台壳体(未示出)的屏幕保持件(也未示出)联接至游戏控制台102。显示装置106可以包括显示用户界面的屏幕显示器。在一些实施方式中,显示装置106可以包括触摸屏。在一些实施方式中,显示装置106是具有用于处理或执行游戏或应用的处理器的移动装置(例如,智能电话、平板电脑等)。
69.在一些实施方式中,显示装置106可以显示正由游戏控制台102之外的另一装置(例如,远程装置110)处理的游戏和/或应用。远程装置110可以是被设计成处理应用和/或游戏的装置。远程装置110被示为包括处理电路112。处理电路112可以处理游戏和/或应用,并且将用户界面发送至显示装置106以进行显示。处理电路112可以接收和处理从处理电路104发送的信号。处理电路112可以基于来自处理电路104的信号来更新正在游戏控制台102的显示装置106处显示的用户界面。处理电路112可以经由蓝牙通过网络108与处理电路104进行通信。此外,处理电路112可以经由诸如无线hdmi连接(例如,wifi、hdmi无线等)或者有线hdmi连接(例如,)的hdmi连接与显示装置106进行通信。
70.现在参照图2a,在一些实施方式中,示出了游戏环境200的框图。在一些实施方式中,游戏环境200可以是参照图1示出并描述的游戏环境100的示例性实施方式。游戏环境200被示为包括游戏控制台201和远程装置228。游戏控制台201可以类似于参照图1示出并
描述的游戏控制台102。远程装置228可以类似于参照图1示出并描述的远程装置110。游戏控制台201被示为包括处理电路202、电池204、充电接口206、传感器208、灯元件210、命令按钮212、踏板系统214、操纵杆215以及显示装置222。如上所述,显示装置222可以联接至游戏控制台201的外部部件(例如,经由枪管上的显示器保持件)。处理电路202可以从部件204至214中的各个部件接收输入、处理该输入以及基于该输入在显示装置222处显示并更新输出。在一些实施方式中,处理电路202可以另外地或者另选地是显示装置222的一部分。
71.游戏控制台201可以包括电池204。电池204可以表示能够向游戏控制台201提供电力的任何电源。电源的示例包括但不限于锂电池、可再充电电池、电路的墙壁插件等。电池204可以经由充电接口206充电。例如,电池204可以是可再充电电池。为了对电池204进行充电,操作者可以经由充电接口206将游戏控制台201连接至墙壁插座。一旦游戏控制台201完成充电,操作者就可以将游戏控制台201与墙壁插座断开连接,并且利用储存在可再充电电池中的电力来操作游戏控制台201。操作者可以在任何时间将游戏控制台201与墙壁插座断开连接以操作游戏控制台201。在一些情况下,当游戏控制台201连接至墙壁插座时,操作者可以操作该游戏控制台。电池204可以向处理电路202提供电力,以使处理电路202可以进行操作以处理应用和/或游戏。
72.例如,如图2a所示,在一些实施方式中,处理电路202包括处理器216、存储器218、被示为网络接口220的通信装置(例如,接收器、发送器、收发器等)以及通用输入/输出(gpio)单元221。处理电路202可以实现为通用处理器、专用集成电路(“asic”)、一个或更多个现场可编程门阵列(“fpga”)、数字信号处理器(“dsp”)、包含一个或更多个处理部件的电路、用于支持微处理器、一组处理部件或者其它合适的电子处理部件的电路。处理器216可以包括asic、一个或更多个fpga、dsp、包含一个或更多个处理部件的电路、用于支持微处理器、一组处理部件或其它合适的电子处理部件的电路。在一些实施方式中,处理器216可以执行存储在存储器218中的计算机代码,以促进本文描述的活动。存储器218可以是能够存储与活动相关的数据或计算机代码的任何易失性或非易失性计算机可读存储介质。根据示例性实施方式,存储器218可以包括用于由处理器216执行的计算机代码模块(例如,可执行代码、目标代码、源代码、脚本代码、机器代码等)。gpio单元221可以包括具有一个或更多个输出的内部电路,所述一个或更多个输出使得处理器216能够控制灯元件210和任何其它外围部件和/或向灯元件210和任何其它外围部件供电。例如,gpio单元221可以包括输入串行接口,并且将串行数据转换成被提供给一个或更多个固态或模拟继电器(该一个或更多个固态或模拟继电器启用或禁用灯元件210)的信号。这样的串行数据可以从由处理器216执行的应用(例如,如表示玩家的生命或弹药或者其它这样的数据的变量的值)、由远程计算装置执行的远程应用或者任何其它部件或远程装置获得。
73.在一些实施方式中,处理电路202可以选择性地接合、选择性地脱离、控制游戏控制台201的其它部件和/或以其它方式与游戏控制台201的其它部件进行通信。如图2所示,网络接口220可以将处理电路202联接至显示装置222和/或外部装置(例如,远程装置110)。在其它实施方式中,处理电路202可以联接至更多或更少的部件。例如,处理电路202可以经由网络接口220发送和/或接收来自游戏控制台201的以下部件的信号:诸如灯元件210;充电接口206;电池204;命令按钮212(例如,电源按钮、输入按钮、扳机等);一个或更多个传感器(被示为传感器208);踏板系统214(包括指示踏板系统214的踏板位置的位置检测器);
和/或操纵杆215。
74.处理电路202可以经由网络接口220向显示装置222发送信号,以在显示装置222的显示器224上显示用户界面。网络接口220可以利用各种有线通信协议和/或短距离无线通信协议(例如,蓝牙、近场通信(“nfc”)、hdmi、rfid、zigbee、wi-fi等)来促进与游戏控制台201的各种部件(包括显示装置222)和/或远程装置228的通信。在一些实施方式中,处理电路202可以经由位于游戏控制台201的壳体内的系留hdmi线缆以内部方式联接至显示装置222,该系留hdmi线缆在处理电路202与显示装置222之间延伸。在一些实施方式中,处理电路202可以经由连接至显示装置222,这将在下面进行描述。在一些实施方式中,处理电路202可以经由hdmi低延迟无线传输技术连接至显示装置222。有利地,通过使用hdmi低延迟无线传输技术,显示装置222可以连接至外部装置和处理电路202两者。
75.根据示例性实施方式,处理电路202可以从位于游戏控制台201的外表面上的各种命令按钮212、踏板系统214和/或操纵杆215接收输入。命令按钮212的示例包括但不限于电源按钮、输入按钮、扳机等。踏板系统214可以包括多个踏板(输入按钮),所述多个踏板彼此联接,所以可以一次只按压一个踏板。在一些实施方式中,踏板可以被按压到不同的程度。在一些实施方式中,踏板系统可以包括踏板,该踏板按照使得踏板能够在多个位置之间枢转的方式枢转地联接至握持部的一部分。处理电路202可以在操作者按压踏板系统214的踏板时接收输入,并且基于由联接至踏板的传感器检测到的数据来识别操作者在踏板上的按压程度。处理电路202可以接收输入并解释和实现这些输入,以执行与处理电路202当前正处理的游戏或应用相关联的动作。
76.此外,用户可以通过操纵操纵杆215(例如,将操纵杆从第一位置移动至第二位置)来向处理电路202提供输入。操纵杆215可以是经由一个接触点附接至游戏控制台201并且围绕该一个接触点枢转的输入装置。操纵杆215可以是2轴或3轴操纵杆。尽管通常被称为操纵杆,但是在一些实现中,操纵杆215也可以包括指向柄(例如,在对应的4个或8个接触开关上的4指向柄或8指向柄)。操纵杆215可以具有静止位置,在该静止位置,操纵杆215不生成信号或者以其它方式生成指示该操纵杆未被移动的信号。当用户枢转操纵杆215时,操纵杆215可以感测移动,并且生成指示该操纵杆与其静止位置或游戏控制台201相比的角度的信号。在一些实施方式中,操纵杆215可以生成指示其位置的幅度或其位置变化和/或其已移动的方向的信号。在一些实施方式中,为了避免玩游戏期间的漂移,当用户将操纵杆215枢转超过阈值量时,操纵杆215才生成指示位置变化的信号(例如,允许“死区”或者操纵杆的微小操纵或操纵杆的机械下垂不触发位置变化或信号的发送的区域)。在其它实施方式中,操纵杆215可以生成和/或发送信号,而不管经用户枢转的操纵杆215是否超过阈值量,并且处理电路202使用类似的阈值来确定是使用操纵杆信号更新用户界面,还是以其它方式确定在将操纵杆信号与位置传感器信号聚合时赋予操纵杆信号的权重。
77.在一些实施方式中,操纵杆215可以是可按压的或者可并入通过按压操纵杆而激活的接触开关。用户可以按压操纵杆215,并且操纵杆215可以因此向处理电路202发送指示操纵杆215已被按压的信号。在一些实施方式中,指示操纵杆215已被按压的信号可以对应于预定命令。预定命令可以单独地与游戏或应用相关联。例如,在一些实施方式中,在第一人称射击游戏中,用户可以按压操纵杆215以在一范围上蹲伏或放大。按压操纵杆215可以与任何预定命令相关联。在一些实施方式中,按压操纵杆215可以使得能够调节与操纵杆信
号或位置传感器信号相关联的权重,如下所述。按压操纵杆215可以使得能够基于用户界面的变化、正被执行的游戏或应用的状态变化来调节权重,或者否则仅基于操纵杆正被按压来调节权重。
78.在一些实施方式中,处理电路202可以组合来自传感器208和操纵杆215的信号,以更新显示器224的显示(例如,用户界面)。处理电路202可以通过向各个信号指派权重并且对经加权的信号进行聚合、平均或执行某一其它操作或操作的组合来组合来自传感器208和操纵杆215的信号。例如,处理电路202可以确定操纵杆信号具有比位置传感器信号小的权重,所以在用户可以重新定向游戏控制台201以进行更大的用户界面调节时,可以将操纵杆215用于用户界面的精细控制。例如,当用户正在玩第一人称射击游戏时,用户可以重新定向游戏控制台201,以扫描三维虚拟环境并使用操纵杆215来磨练(hone)三维虚拟环境内的目标。
79.处理电路202可以基于输入来改变显示器224的显示(例如,用户界面)。来自输入按钮、扳机和/或踏板系统的输入可以是如下指示,即,游戏控制台201的操作者希望他们的角色在游戏中跳跃、蹲伏、潜水/潜行、掷刀、投弹、切换武器、武器射击、后移、前移、行走、慢进、跑步、冲刺等。另外地或者另选地,来自输入按钮、扳机和/或踏板系统的输入可以是如下指示,即,游戏控制台201的操作者希望在游戏的菜单中时执行各种不同动作(诸如向上滚动、向下滚动)和/或进行菜单选择(例如,选择地图、选择角色、选择武器或武器包、选择游戏类型等)。以这种方式,操作者可以利用游戏控制台201作为鼠标或滚动球,该鼠标或滚动球可以在显示器224上移动光标以选择显示器224显示的选项。来自电源按钮的输入可以是游戏控制台201的操作者希望打开或关闭游戏控制台201的指示。
80.在一些实施方式中,操作者可以校准游戏控制台201,以调节显示器224的视图变化与传感器208检测到的移动之比。例如,游戏控制台201可以被配置成以与操作者移动游戏控制台201相同的速率来改变显示器224的视图。操作者可能想要视图以较慢的速率改变。因此,操作者可以调节游戏控制台201的设定,以使显示器224比操作者移动游戏控制台201更慢地改变视图。
81.在一些实施方式中,操作者可以基于正在用户界面上执行的动作来校准游戏控制台201。例如,操作者可以校准游戏控制台201,以使用户界面以与操作者玩游戏时移动游戏控制台201相同的速率进行改变。在相同的配置内,操作者还可以校准游戏控制台201,以使当从下拉菜单或者从其它类型的菜单或选项界面进行选择时,操作者可以以比操作者移动游戏控制台201快的速率来操纵光标。
82.在一些实施方式中,处理电路202可以接收关于由游戏控制台201操作的游戏内的特征(例如,游戏角色的健康状态)的指示,并且对灯带(未示出)的灯元件210进行控制以提供由游戏控制台201操作的游戏内的特征的视觉指示。例如,处理电路202可以接收关于游戏内的与游戏控制台201的操作者相关联的角色的健康状态的指示,并且对灯元件210进行控制(例如,选择性地使灯元件210中的一个或更多个灯元件照明等),以经由灯带提供角色健康的视觉指示。通过又一示例的方式,处理电路202可以接收关于游戏内的与游戏控制台201的操作者相关联的角色的剩余生命值的指示,并且对灯元件210进行控制(例如,选择性地使灯元件210中的一个或更多个灯元件照明等),以经由灯带提供剩余生命值的视觉指示。在另一示例中,处理电路202可以接收关于游戏内的危险或事件(例如,辐射、警告、危
险、怪物等级、升级等)的指示,并控制灯元件210改变成指定颜色(例如,绿色、红色、蓝色等)或者闪烁以经由灯带提供游戏内的危险或事件的类型的视觉指示。
83.在一些实施方式中,处理电路202可以从游戏控制台201的传感器208接收输入。传感器208可以包括加速度计、陀螺仪和/或检测游戏控制台201的空间取向和/或移动的其它合适的运动传感器或位置传感器(例如,磁力计)。加速度计和陀螺仪可以是惯性测量单元(未示出)的部件。惯性测量单元可以包括任何数量的加速度计、陀螺仪和/或磁力计,以检测游戏控制台201的空间取向和/或移动。惯性测量单元(imu)可以通过检测游戏控制台201的游戏控制台壳体(未示出)的空间取向和/或移动来检测游戏控制台201的空间取向和/或移动。imu可以将识别游戏控制台201的空间取向和/或移动的数据发送至处理电路202。基于从传感器208接收到的信号,处理电路202可以调节由显示装置222的显示器224提供的显示。例如,传感器208可以检测游戏控制台201何时指向上方、指向下方、转向左侧、转向右侧等。处理电路202可以自适应地调节显示器224上的显示以对应于游戏控制台201的移动。
84.在一些实施方式中,游戏控制台201可以包括扬声器(未示出)。处理电路202可以在处理游戏和/或应用时向扬声器发送与处理电路202处理的输入相对应的音频信号。音频信号可以与游戏或应用相关联。例如,操作者可以玩处理电路202处理的射击游戏。操作者可以扳动游戏控制台201的扳机以使射击游戏的枪开火。处理电路202可以向扬声器发送信号以发出与枪开火相关联的声音。
85.在一些实施方式中,可以将游戏控制台201用作鼠标和/或键盘,以与正经由显示装置222显示的各种下拉菜单和选择列表进行交互。在一些情况下,可以将各种下拉菜单和选择列表与在线交换相关,该在线交换允许操作者选择游戏或应用以下载到处理电路202的存储器218中。操作者可以通过重新定向游戏控制台201以在包括下拉菜单和/或选择列表的用户界面上移动显示装置222正显示的光标来选择游戏或应用。游戏控制台201的传感器208可以检测游戏控制台201的移动,并且向处理电路202发送指示至少包括移动方向和/或速度的移动的信号。处理电路202可以接收并处理信号,以确定如何移动显示装置222正显示的光标。处理电路202可以与游戏控制台201的移动相对应地移动光标。例如,在一些情况下,如果操作者将游戏控制台201指向上方,则处理电路202可以使光标向上移动。如果操作者将游戏控制台201指向下方,则处理电路202可以使光标向下移动。操作者可以对游戏控制台201进行配置,以反转移动或者以任何方式改变移动来影响光标的移动。在一些实施方式中,处理电路202可以接收基于游戏控制台201的枪管的端部的移动的与游戏控制台201的移动和移动速度相对应的输入。
86.在一些实施方式中,游戏控制台201可以包括校准的地板位置(floor position),可以对照该校准的地板位置来检测游戏控制台201的移动。管理员可以通过设定游戏控制台201的与该游戏控制台201的俯仰相关联的陀螺仪的基础位置来校准地板位置。可以基于游戏控制台201相对于校准的地板位置的位置来确定游戏控制台201的俯仰。例如,管理员可以将游戏控制台201的地板位置校准为当游戏控制台201与地面平行定位时的位置。管理员可以定位和/或确定游戏控制台201何时与地面平行,并且将与该位置的俯仰相关联的陀螺仪读数设定为校准的地板位置。如果陀螺仪检测到游戏控制台201正指向校准的地板位置上方的位置,则陀螺仪可以向处理电路202发送如下数据,该数据指示游戏控制台201的位置指向上方,和/或游戏控制台201正相对于校准的地板位置指向多远的程度。
87.在一些实施方式中,陀螺仪可以向处理电路202发送位置数据,并且处理电路202可以确定游戏控制台201与校准的地板位置相比的位置。因此,处理电路202可以确定游戏控制台201相对于一致的固定俯仰位置的俯仰位置,而不是相对于在游戏或应用启动时该游戏控制台201的起始俯仰位置。有利地,管理员可以仅设定针对游戏控制台201的俯仰的校准的地板位置。处理电路202可以在启动时或者在开始处理游戏或应用时确定并设定游戏控制台201的校准的偏航位置。玩游戏或应用的用户可以通过访问与游戏、应用或游戏控制台201相关联的设定来调节校准的地板位置和/或校准的偏航位置。
88.陀螺仪数据可以包括游戏控制台201的俯仰、偏航和/或滚转。俯仰可以对应于游戏控制台201的枪管向上或向下移动和/或y轴上的位置(例如,游戏控制台201的y轴倾斜)。偏航可以对应于游戏控制台201的枪管左右移动和/或x轴上的位置(例如,游戏控制台201的x轴倾斜)。滚转可以对应于枪管绕z轴顺时针或逆时针旋转。y轴可以从地面指向天空,x轴可以垂直于y轴,并且z轴可以是从游戏控制台201的一端(例如,枪管或手柄)延伸的轴线。imu的陀螺仪可以被定位成检测游戏控制台201的俯仰、偏航和/或滚转以及这些分量中的各个分量的方向作为陀螺仪数据。陀螺仪可以将陀螺仪数据发送至处理电路202,以指示游戏控制台201如何移动和/或旋转。
89.处理电路202可以通过分析游戏控制台201的陀螺仪发送至处理电路202的陀螺仪数据连同其它位置数据(例如,来自加速度计的加速度数据)来移动用户界面上的光标。处理电路202可以处理陀螺仪数据,以将其转换成鼠标数据。基于鼠标数据,处理电路202可以相应地在用户界面上移动光标。例如,如果检测到的俯仰指示游戏控制台201正指向上方,则处理电路202可以向上移动光标。如果检测到的偏航指示游戏控制台201正指向左侧,则处理电路202可以向左移动光标。因此,处理电路202和陀螺仪的组合可以充当hid适用鼠标,其可以检测游戏控制台201的移动并且与该移动相对应地移动用户界面的光标。此外,处理电路202可以将这样的陀螺仪数据发送至另一装置(例如,远程装置228)以用于类似的处理。有利地,通过充当hid适用鼠标,游戏控制台201可以根据设定标准移动与各种游戏和应用相关联的光标。游戏和应用制造商可能不需要将他们的游戏或应用创建成专门在处理电路202上操作。
90.处理电路202还可以使用游戏控制台201的陀螺仪数据(与诸如来自一个或更多个加速度计的数据的其它数据组合地)充当hid适用操纵杆。当利用仿真三维环境中的人的视图的用户界面来处理游戏时,处理电路202可以接收与游戏控制台201相比于如上所述的校准的地板位置的俯仰、偏航和/或滚转相关联的陀螺仪数据。处理电路202可以将陀螺仪数据和加速度计数据转换成与游戏控制台201的移动方向和加速度相关联的hid适用操纵杆数据。基于方向和加速度,处理电路202可以更新用户界面。
91.例如,处理电路202可以处理游戏或应用的三维环境。处理电路202可以接收指示游戏控制台201相对于校准的俯仰位置指向上方的陀螺仪数据,并且将该数据转换成hid适用操纵杆数据。基于hid适用操纵杆数据,处理电路202可以更新用户界面,以使游戏或应用的角色在三维环境中进行查找(例如,重新定向屏幕以在三维环境中进行查找)或者在三维环境中向上移动光标。处理电路202还可以接收指示游戏控制台201的滚转的陀螺仪数据。滚转可以对应于游戏或应用中的动作。例如,操作者可以将游戏控制台201滚转,以使在游戏中的角落周围达到极点。
92.游戏控制台201的各种位置可以对应于游戏中的动作。例如,陀螺仪数据可以指示游戏控制台201正指向下方。这种移动可以与游戏中的重新加载相关联。处理电路202可以接收该数据、将该数据转换成hid适用操纵杆数据以及更新用户界面,以执行重新加载动画。游戏控制台201可以根据游戏控制台201正处理的游戏或应用来将各种动作手势与各种动作相关联。
93.在一些实施方式中,显示装置222可以作为数字键盘操作。显示装置222可以在显示器224处呈现数字键盘,并且操作者可以与数字键盘进行交互以选择各种键。操作者可以通过如上所述移动光标以及按压按钮或扳动游戏控制台201的扳机来选择各种键。在一些实施方式中,显示装置222可以包括触摸屏。在这些实施方式中,操作者可以物理地触摸显示装置222的显示器224上的各个键的电子表示,以选择数字键盘的键。
94.在一些实施方式中,游戏控制台201可以生成供操作者查看的虚拟环境。游戏控制台201可以基于处理电路202处理的游戏或应用来生成虚拟环境。处理电路202可以通过处理与游戏或应用相关联的软件来生成虚拟环境。虚拟环境可以是三维环境,操作者可以通过向游戏控制台201提供各种输入来与该三维环境进行交互。虚拟环境的一部分可以由显示装置222来显示。正操作游戏控制台201的操作者可以通过向游戏控制台201提供输入来改变虚拟环境的正由显示装置222显示的所述部分。处理电路202可以接收输入并且基于该输入更新显示装置222的显示。在一些实施方式中,处理电路202可以继续生成和更新虚拟环境的当前未被显示装置222显示的视图。有利地,通过继续生成和更新该环境的当前未被显示装置222示出的部分,如果操作者提供输入以使显示改变成该环境的另一视图,则处理电路202可以不需要响应于输入来生成新视图。相反,处理电路202可以显示处理电路202已经生成的视图。因此,处理电路202可以在初始生成虚拟环境之后更快地处理该虚拟环境。
95.例如,操作者可能正在游戏控制台201上玩战争游戏模拟器。游戏控制台201的处理电路202可以生成与战争游戏相关联的三维战场。三维战场可以包括地形(例如,掩体、山丘、隧道等)以及战场上彼此交互的各种角色。玩战争游戏的操作者可以通过显示装置222查看战场的一部分。战场的该部分可以表示如果战场是真实的并且一个人位于该战场上那么该人将看到什么。操作者可以通过重新定向游戏控制台201来改变战场的视图(例如,从第一视图改变至第二视图)。例如,如果操作者旋转360度,则处理电路202可以随着操作者旋转而在显示装置222上显示战场的360度视图。如果操作者扳动游戏控制台201的扳机,则可以在显示装置222上显示与枪开火相关联的序列。此外,如果操作者按压踏板系统214的踏板,则操作者的角色表示可以在战场中对应于被按压的踏板而向前或向后移动。交互的其它示例可以包括:操作者按压输入按钮以选择战场上的物品(例如,医疗包)、操作者按压第二输入按钮以重新加载、操作者按压第三输入按钮以提出库存屏幕等。如上所述,通过按压输入按钮,操作者可以将输入按钮的状态从未按压状态改变成按压状态。类似地,通过扳动扳机,操作者可以将扳机的状态从未扳动状态改变成扳动状态。此外,可以将游戏控制台201的所检测到的位置变化描述为游戏控制台201的位置状态变化。
96.各种按钮(例如,命令按钮212)可以映射至处理电路202处理的游戏的不同动作或交互。不同游戏可以与不同按钮映射相关联。此外,映射可以是可定制的,以使操作者可以控制各个按钮所关联的动作。例如,一个游戏中的按钮可以与游戏中的“跳跃”移动相关联。在另一游戏中,相同的按钮可以与“冲刺”移动相关联,而各种按钮中的另一按钮可以与跳
跃移动相关联。
97.在一些实施方式中,各种按钮可以各自与被显示在用户界面上的键盘上的字母或按钮相关联。操作者可以基于操作者的偏好来将按钮定制成与不同字母相关联。可以在显示器224上显示键盘,并且操作者可以使用各种下压按钮来选择键盘的按键。
98.在一些实施方式中,游戏控制台201可以作为外部游戏装置(例如,远程装置228)的输入和显示装置操作。例如,游戏环境200的远程装置228可以与游戏控制台201的处理电路202进行通信。远程装置228可以包括处理电路230,该处理电路具有处理器232、存储器234以及网络接口236。处理电路230、处理器232、存储器234以及网络接口236可以分别类似于游戏控制台201的处理电路202、处理器216、存储器218以及网络接口220。在一些情况下,远程装置228可以包括插件,该插件便于将hdmi输出(例如,由处理电路230生成的视听数据流)传输至显示装置222,或者传输至处理电路202以转发至显示装置222。在一些情况下,远程装置228可以发送与远程装置228发送的可视数据相对应的音频数据。因此,远程装置228可以将视听数据流发送至游戏控制台201,以在显示装置222处显示。
99.在一些实施方式中,游戏控制台201的处理电路202可以是或者可以包括具有各种蓝牙芯片集的蓝牙处理器。蓝牙处理器可以从游戏控制台201的各种部件接收输入,并将该输入发送至处理电路230以供处理。有利地,蓝牙处理器可以在物理上较小并且需要比其它处理器少的处理功率和/或存储器,这是因为蓝牙处理器可以不需要处理应用或游戏或者生成视听数据流以在显示装置222处显示。相反,蓝牙处理器可以仅基于操作者与游戏控制台201的交互来接收并封装输入,并将该输入发送至远程装置228以供处理。除了蓝牙之外,还可以利用其它无线协议来向远程装置228发送输入。例如,处理电路202可以通过红外信号将输入发送至远程装置228。输入可以通过任何类型的无线传输技术来发送。
100.在一些实施方式中,远程装置228可以使用技术将hdmi输出发送至显示装置222。可以使得能够通过有线和/或无线通信介质来传输4k ultra hd视频、音频、以太网、以太网供电、各种控制(例如,rs232、ir等)以及各种其它数字信号。例如,可以使得能够经由utp/stp cat5/6/7、光缆、电力线、同轴线缆和/或无线传输来进行数据传输。远程装置228可以从游戏控制台201接收输入(例如,经由蓝牙)、基于远程装置228当前正处理的游戏或应用来处理输入以及使用技术将更新的hdmi输出(例如,更新的视听数据流)发送至显示装置222。有利地,通过使用来发送数据流,远程装置228可以将高清视听数据信号无线地发送至显示装置222以供使用游戏控制台201的用户查看。可以允许远程装置228在长距离上发送高清视听数据信号,以使用户可以远离远程装置228(例如,200米)或者在房屋中的房间之间使用控制台201。例如,操作者可以在房屋的各个房间中使用游戏控制台201而无需在房间之间移动远程装置228。
101.远程装置228可以处理游戏和/或应用。远程装置228可以生成与游戏或应用相关联的用户界面,并且将该用户界面发送至处理电路202或者直接发送至显示装置222。如果远程装置228将用户界面发送至显示装置222,则显示装置222可以在显示器224处显示该用户界面,并且经由游戏控制台201的音频部件(例如,一个或更多个扬声器)来播放远程装置228发送至显示装置222的任何音频。在一些实施方式中,远程装置228的扬声器可以经由连接至远程装置228的扬声器(例如,电视机上的连接至远程装置228的扬声器)播放音频。
102.在一些情况下,操作游戏控制台201的操作者可以查看远程装置228生成并发送至
显示装置222的用户界面。操作者可以通过按压游戏控制台201的输入按钮(例如,命令按钮212、踏板系统214、扳机等)或者重新定向游戏控制台201来与用户界面进行交互。处理电路202可以接收根据任一动作生成的输入信号并将该输入发送(例如,转发)至远程装置228的处理电路230。如上所述,处理电路202可以经由蓝牙将输入信号发送至处理电路230。远程装置228可以接收并处理输入信号。因此,远程装置228可以(例如,经由)向游戏控制台201提供更新的用户界面(例如,调节当前正在显示装置222处显示的用户界面的更新的数据流)。远程装置228可以直接向显示装置222发送更新的用户界面以对显示器224的显示进行更新,或者向处理电路202发送更新的用户界面以供处理电路202对显示进行更新。有利地,如所描述的,游戏控制台201可以连接至远程装置228以显示针对远程装置228设计的游戏和/或应用。游戏控制台201可以在显示装置222上显示游戏或应用。访问游戏控制台201的操作者可以通过经由游戏控制台201提供输入来玩游戏或应用。远程装置228的处理电路230可以执行游戏或应用的处理功能,以使游戏控制台201的处理电路202可以不需要执行这些功能或具有这样做的能力(例如,处理功率和/或存储器要求)。
103.图2b是根据本公开的一些实施方式的经由不同通信接口与远程装置238进行通信的游戏控制台248的示例性实施方式的框图。游戏控制台248可以类似于游戏控制台201,并且远程装置238可以类似于远程装置228,该游戏控制台201和远程装置228两者都参照图2a进行了示出和描述。游戏控制台248被示为包括通信接口244和通信接口246。远程装置238被示为包括通信接口240和通信接口242。在一些实施方式中,通信接口244和246可以是网络接口220的一部分,并且通信接口240和242可以是网络接口236的一部分,该网络接口220和网络接口236两者都参照图2a进行了示出和描述。游戏控制台248的通信接口244可以生成输入信号并将该输入信号发送至通信接口240。输入信号的示例可以是由用户按压下压按钮、移动操纵杆、扳动扳机、下压踏板、重新定向游戏控制台248而生成的信号,或者是可以由用户动作而生成的任何其它信号。通信接口244可以通过蓝牙、红外、通过有线连接或者通过符合ieee 802.11标准(例如,802.11a/b/g/n/ax/等)的任何无线lan方案来发送信号。在一些实施方式中,通信接口244可以利用无损传输层通信协议来发送这样的信号。通信接口244可以这样做,以确保在游戏控制台与远程装置之间发送正确的信号。当发送输入时,正确的信号可能是重要的,这是因为任何错误都将证明对用户而言是令人沮丧的。例如,用户可能不想在一个方向上移动操纵杆,而远程装置238更新用户界面以在相反方向上移动。虽然无损通信协议需要额外的开销以用于纠错、重新发送等,但是控制信号可以是相对低的带宽的,并由此仍可以被快速地发送并且具有低的有效延迟。通信接口244可以将输入信号发送至远程装置238的通信接口240。
104.远程装置238可以根据远程装置238正执行的应用或游戏来处理来自通信接口244的输入信号。远程装置238可以基于来自通信接口244的信号生成更新的视听数据流(例如,媒体流),并且通过通信接口242将更新的视听数据流发送至游戏控制台248。通信接口242可以利用wifi、有线连接或者符合ieee802.11标准的任何无线lan方案来将视听数据流发送至游戏控制台248。通信接口242可以使用与通信接口244用来向远程装置238发送输入数据的通信协议不同的通信协议来向游戏控制台248发送视听数据流。在一些实施方式中,通信接口242可以利用有损传输层通信协议来将视听数据发送至游戏控制台248,以对用户界面进行更新。视听数据可以是高带宽的(例如,对于高分辨率图像,
例如,以每秒钟非常高的帧数)并且是时间敏感的(例如,在延迟或滞后可能导致视觉资料(visual)在时间上变得与命令或控制不关联以使得视图不随播放器旋转、直到延迟之后才示出动作等的情况下)。通信接口242可以利用有损传输层通信协议来确保可以容纳视听数据的大文件尺寸可以被快速地发送至游戏控制台248,以对游戏控制台248的用户界面进行更新。
105.图2c是根据本公开的一些实施方式的与通用输入/输出(gpio)单元252进行通信以控制灯元件270至284的处理器250的示例性实施方式的框图。处理器250可以类似于参照图2a示出并描述的处理器216。gpio单元252可以类似于参照图2a示出并描述的gpio单元221。gpio单元252可以包括gpio单元格(cell)254至268。gpio单元252可以根据其配置而包括更多或更少的gpio单元格254至268。处理器250被示为连接至gpio单元格254至268中的各个gpio单元格。然而,处理器250可以连接至更多或更少的gpio单元格。此外,gpio单元格254至268中的各个gpio单元格可以连接至一个或更多个灯元件。gpio单元格254至268可以连接至枪炮的其它部件,或者可以不连接至任何部件。灯元件270至284可以类似于参照图2示出并描述的灯元件210。
106.处理器250可以基于处理器250正处理的应用或游戏来控制灯元件270至284中的各个灯元件或一部分灯元件。例如,如果游戏中角色的健康度高,则处理器250可以使所有灯元件270至284点亮,或者如果游戏中角色的健康度低,则仅使灯元件270至284中的一些灯元件点亮。在另一示例中,灯元件270至284中的一部分灯元件可以闪烁,以表示游戏中角色被射中或者以其它方式被接触到。在又一示例中,灯元件270至284中的一部分灯元件可以点亮,以指示游戏角色具有的弹药量。在又一示例中,灯元件270至284中的一部分灯元件可以点亮,以指示游戏中动作,诸如角色讲话、跑步、跳跃、拾取物品等。在一些实施方式中,灯元件270至284可以根据动作以及灯元件270至284表示游戏中的什么内容而点亮为不同的颜色。例如,在同一游戏中,灯元件270至284可以点亮为红色以表示健康,以及点亮成白色以表示弹药。在一些实施方式中,操作者可以在颜色之间切换以查看游戏的不同方面。处理器250可以使灯元件270至284按顺序点亮(例如,灯元件270至284可以彼此紧邻地点亮,直到所有灯元件270至284均被点亮),以指示正被处理的游戏或应用的方面。灯元件270至284可以以任何次序以及以任何图案来点亮。
107.为了控制或点亮灯元件270至284,处理器250可以向gpio单元格254至268中的一个或更多个gpio单元格发送一个或更多个信号。gpio单元格表示gpio单元252的输入节点以及对在该输入节点处接收到的任何输入执行的内部逻辑。在一些实施方式中,gpio单元格表示用于从处理器250接收信号的输入节点以及用于点亮或以其它方式向一个或更多个灯元件供电的输出节点。gpio单元格可以从处理器250接收信号,并因此点亮灯元件270至284中的任何灯元件。如果需要更多的电流来点亮灯元件,则gpio单元格可以向驱动器提供信号以提供这种电流。在一些实施方式中,gpio单元格可以被配置成从处理器250接收超过一个信号。在这样的实施方式中,gpio单元格可以执行各种处理,以基于信号的组合来点亮一个或更多个灯元件。
108.例如,处理器250可以识别对应于游戏中特征(诸如游戏内的角色具有的健康值)的灯图案。处理器250可以基于游戏中特征来根据数据库识别灯图案。处理器250可以向gpio单元格254至268中的一个或更多个gpio单元格发送指示灯图案的信号,并且gpio单元
格中的一个或更多个gpio单元格可以根据灯图案来点亮灯元件270至284中的一部分灯元件。处理器250可以向gpio单元格254至268发送任何灯图案。
109.现在参照图3,示出了根据本公开的一些实施方式的游戏控制台300的立体图,该游戏控制台包括经由屏幕保持件314(例如,作为游戏控制台壳体301的一部分的可调节夹具或部件)联接至游戏控制台壳体301的显示装置316。游戏控制台300可以类似于参照图2示出并描述的游戏控制台201并且包括类似部件。显示装置316可以类似于参照图2示出并描述的显示装置222。游戏控制台壳体301被示为包括握持部302、扳机304、细长部306(例如,枪管)、卡锁(latch)307、把手(grip)308、命令按钮310和311、电源按钮312以及灯元件313。游戏控制台壳体301可以由塑料、金属、木材、玻璃或者任何其它类型的材料制成。可以将游戏控制台壳体301成形为类似于枪炮装置(例如,步枪、猎枪、机枪、榴弹发射器、火箭发射器等)。可以将细长部306成形为类似于这种枪炮装置的枪管(例如,可以将细长部306成形为如同管子并且延伸远离握持部302和扳机304)。屏幕保持件314可以联接至细长部306,使得当操作者握着游戏控制台300时,握住游戏控制台300的操作者可以查看附接至屏幕保持件314的显示装置316。屏幕保持件314可以联接至细长部306的顶部。应理解,参照图3示出并描述的手柄、扳机、枪管、卡锁、把手、命令按钮以及灯元件的位置和数量旨在是示例性的。游戏控制台壳体301可以包括任何数量的手柄、扳机、枪管、卡锁、把手、命令按钮和/或灯元件,并且它们可以位于游戏控制台壳体301上的任何位置且可以采用任何尺寸或取向。此外,屏幕保持件314和显示装置316可以具有任何形状或尺寸并且联接至游戏控制台壳体301的任何部件,并且不旨在受本公开的限制。
110.握持部302可以是用户可以用来抓紧游戏控制台壳体的手柄,并且可以包括从细长部306正交地或以一定角度延伸(例如,当细长部306水平时,向下延伸)的部分。握持部302可以被配置成使用户可以通过将用户的手指绕过握持部302直到手指开始向后指向用户来抓紧游戏控制台壳体301。例如,操作者可以通过用他们的手与被压到该操作者的手指上的握持部302形成“u”形来抓紧握持部302。此外,握持部302可以被配置成使操作者可以通过使操作者的食指朝着操作者扳动来利用操作者的食指扳动远离操作者定位的扳机304。因此,握持部302形成手柄,用户可以与用户如何握住枪炮类似地握住该手柄。
111.细长部306可以是游戏控制台壳体301的一部分,该部分从握持部302正交地延伸或者从握持部以一定角度延伸(例如,当握持部302竖直或接近竖直时,水平地延伸)。可以将细长部306成形为类似于枪炮的枪管,并且可以是中空的或者至少部分实心的。操作者可以用第一只手握住握持部302并且用第二只手握住细长部306。在一些实施方式中,如图11所示,细长部可以包括被定位成通过第二只手的拇指衔接的操纵杆。细长部306可以从扳机304延伸,操作者可以用他们的食指扳动该扳机。另外,细长部306可以包括在终端309的侧面上的命令按钮310。命令按钮310可以被定位成当用户握着游戏控制台壳体301时,由用户的第二只手的手指和/或拇指按压。命令按钮310可以定位在细长部306的一侧或相反两侧上。
112.游戏控制台300还可以包括处理电路(例如,处理电路202)(未示出)。处理电路可以以内部方式联接至游戏控制台壳体301。在一些实施方式中,处理电路可以由保护部件(例如,防止处理电路相对于游戏控制台壳体301移动或防止与游戏控制台300的其它部件接触的部件)绝缘,以使处理电路可以在操作者移动游戏控制台300以玩游戏和/或应用时
继续操作。此外,在一些实施方式中,处理电路可以联接至显示装置316。处理电路可以经由任何通信接口联接至显示装置316,诸如但不限于hdmi线缆、hdmi低延迟无线传输技术、wifi等。处理电路可以基于处理电路正处理的游戏或应用和/或处理电路处理的输入来生成和更新显示装置316上正示出的用户界面,如上文参照图2所描述的。
113.显示装置316可以经由卡锁307和屏幕保持件314可拆卸地联接至游戏控制台壳体301。显示装置316可以联接至屏幕保持件314。卡锁307可以包括被升高的多个卡锁,因此屏幕保持件(例如,屏幕保持件314)可以附接至这些卡锁中的任何卡锁。操作游戏控制台300的操作者可以将屏幕保持件314从任何卡锁拆下,并且将该屏幕保持件314重新附接至不同的卡锁,以调节屏幕保持件314的位置,并因此调节显示装置316的位置。在一些实施方式中,卡锁307和屏幕保持件314可以被配置成使操作者可以在卡锁之间滑动屏幕保持件314以及将屏幕保持件314锁定到位以设定屏幕保持件314的位置。在一些实施方式中,屏幕保持件314和/或显示装置316可以是游戏控制台壳体301的一部分。
114.显示装置316可以联接至屏幕保持件314。显示装置316可以利用诸如搭扣、磁体、螺钉、钉子、环与钩等的紧固件联接至屏幕保持件314。在一些实施方式中,显示装置316和屏幕保持件314可以是同一部件。在这些实施方式中,显示装置316可以联接至所述卡锁307中的一个卡锁。在一些实施方式中,显示装置316可以可旋转地联接至屏幕保持件314,以使显示装置316可以绕屏幕保持件314旋转到操作者希望的位置。
115.显示装置316可以是如下显示装置,该显示装置能够与游戏控制台300的处理电路进行通信,以显示正由处理电路处理的游戏或应用的用户界面。在一些实施方式中,显示装置316可以包括至少包括处理器和存储器(未示出)的内部处理电路,该内部处理电路便于在显示装置316与游戏控制台300的处理电路和/或外部装置的处理电路之间进行数据传输。显示装置316被示为包括显示器318。显示器318可以类似于参照图2示出并描述的显示器224。显示装置316可以从游戏控制台300的处理电路接收包括用户界面的数据流,并且在显示器318处显示该用户界面。
116.操作者可以按压命令按钮310或311和/或电源按钮312和/或扳动扳机304,以向游戏控制台300的处理电路提供输入。通过向处理电路提供输入,操作者可以调节游戏控制台300的处理电路正经由显示装置316提供的用户界面。例如,操作者可以通过按压命令按钮310或311中的一个命令按钮来执行游戏中的动作。在另一示例中,操作者可以通过按压电源按钮312来开启或关闭游戏控制台300。此外,如上所述,操作者可以移动(例如,重新定向)游戏控制台300,以向处理电路提供输入以及调节显示装置316的用户界面。
117.在一些实施方式中,游戏控制台300可以包括以内部方式联接至游戏控制台壳体301的传感器(例如,传感器)(如图所示)。传感器可以是惯性测量单元的一部分,该惯性测量单元包括诸如但不限于加速度计、陀螺仪、磁力计等的传感器。传感器可以向游戏控制台300的处理电路提供标识游戏控制台壳体301的位置的位置数据。处理电路可以接收位置数据并且基于该位置数据对显示器318的用户界面进行更新。
118.为了更新用户界面,处理电路可以接收当前位置数据并将该当前位置数据与对应于游戏控制台壳体的先前位置的先前位置数据进行比较。处理电路可以识别所述位置数据之间的差异并且基于该差异对用户界面进行更新。例如,处理电路可以接收游戏控制台壳体301的当前位置数据。先前位置数据可以指示游戏控制台壳体301正处于笔直指向。处理
电路可以将当前位置数据与先前位置数据进行比较,并且确定游戏控制台壳体301与先前位置数据的位置相比正指向左侧。因此,处理电路可以改变显示器318上示出的用户界面的视图,以移动至虚拟环境的左侧,或者将用户界面上的光标移动至左侧。在一些实施方式中,先前位置数据可以是游戏控制台壳体301的由操作者设定的校准的位置。
119.正由游戏控制台201的处理电路处理的游戏或应用的特征可以经由灯元件313示出。灯元件313可以包括游戏控制台壳体301中的平行狭缝(例如,被定位成一排),其具有可以提供不同颜色的光的灯泡。灯元件313可以以任何方式定位。此外,可以将灯元件313定位在细长部306的任一侧或两侧上。游戏控制台300的处理电路可以与灯元件313进行通信,以基于处理电路当前正处理的游戏或应用来提供光。灯元件313可以基于处理电路正处理的游戏或应用的特征来提供光。例如,灯元件313可以基于被点亮的灯元件313的数量来指示游戏的角色所剩的健康值。在另一示例中,灯元件313可以通过点亮与角色所剩的生命值相对应的数量的灯元件313来提供该角色所剩的生命值。灯元件313可以显示游戏或应用的任何种类的特征。
120.在示例性实施方式中,操作游戏控制台300的操作者可以用一只手或两只手握住游戏控制台300。在一些情况下,操作者可以用一只手抓住握持部302并用另一只手握住游戏控制台壳体301的一部分(其中手指位于扳机304上)来握住游戏控制台300。在其它情况下,操作者可以使用一只手扳动扳机304,而另一只手抓住把手308。把手308可以包括操作者可以抓住而不使手沿着细长部306滑动的物质(例如,橡胶)。在一些实施方式中,可以将把手308的多个部分相对于把手308的其它部分升高(脊),以向操作者提供进一步的保护,防止他们的手滑动。可以将把手308定位在细长部306上,以使抓住把手308的手也可以下压命令按钮310中的任何命令按钮和/或电源按钮312而无需调节它们的位置。当握住游戏控制台300时,操作者可以查看显示装置316。
121.现在参照图4,示出了根据本公开的一些实施方式的游戏控制台400的立体图,该游戏控制台包括经由屏幕保持件406联接至游戏控制台壳体402的显示装置408。游戏控制台400可以类似于参照图3示出并描述的游戏控制台300。游戏控制台400被示为包括游戏控制台壳体402、卡锁404、屏幕保持件406以及显示装置408。显示装置408被示为包括显示器410。部件402至410中的各个部件可以类似于游戏控制台300的对应部件。然而,游戏控制台400的屏幕保持件406可以联接至所述卡锁404中的与游戏控制台300的屏幕保持件314联接至的卡锁不同的卡锁。屏幕保持件406可以联接至更靠近游戏控制台400的操作者的卡锁,以使操作者在玩游戏控制台400的游戏或应用时可以更容易地查看显示器410。屏幕保持件406可以是可调节的,以便定位在游戏控制台壳体402的枪管上的不同位置处(例如,所述卡锁404中的一个卡锁上)。有利地,屏幕保持件406可以联接至所述卡锁404中的任何卡锁,以使操作者可以操作在距操作者任何距离处具有显示器410的游戏控制台400。
122.现在参照图5,示出了根据本公开的一些实施方式的参照图4示出并描述的游戏控制台400的侧视图。游戏控制台400被示为包括手柄501、扳机502、把手504、命令按钮506、踏板508、屏幕保持件406以及显示装置408。操作者可以与扳机502、命令按钮506和/或踏板508中的任一者进行交互,以向游戏控制台400的处理电路提供输入,如上所述。此外,操作者可以通过抓住把手504和手柄501来握住游戏控制台400。
123.在一些实施方式中,显示装置408可以可调节地(例如,可旋转地)联接至屏幕保持
件406。显示装置408可以联接成使得操作者可以相对于屏幕保持件406重新定向显示装置408的位置。例如,操作者可以绕屏幕保持件406旋转显示装置408,以面向上或远离操作者。操作者可以根据操作者希望如何定位显示装置408而将显示装置408旋转多达180度。
124.现在参照图6,示出了根据本公开的一些实施方式的屏幕显示器600,该屏幕显示器显示操作者利用游戏控制台(例如,游戏控制台201)选择的各种难度水平。屏幕显示器600被示为包括用户界面602。用户界面602可以由游戏控制台的显示器来显示,并且与游戏控制台的处理电路正处理的游戏或应用相关联。如图所示,用户界面602可以包括选择列表604和光标606。选择列表604可以包括与游戏控制台当前正处理的游戏相关联的难度水平的各种选项。例如,如图所示,选择列表604可以包括诸如简单选项、中等选项、困难选项以及极难选项的选项。操作者可以查看选择列表604并且选择所述选项中的一个选项来开始玩具有与所选择的选项相关联的难度的游戏。
125.在一些实施方式中,为了从选择列表604中选择选项,操作者可以改变游戏控制台201的取向以将光标606朝着希望的选项移动。取向变化可以由游戏控制台的枪管的端部的位置变化来表示。例如,如果光标606位于用户界面602的左上角,并且操作者想要选择选择列表604中的中等选项,则操作者可以将枪管的端部的位置指向下方。游戏装置的处理电路可以从游戏装置的传感器接收指示枪管的端部正在移动或者已经向下移动的信号,并且与所检测到的移动相对应地移动光标606。一旦光标606位于在希望选项(例如,中等)上方,操作者就可以通过按压输入按钮或者扳动游戏控制台的扳机来选择该选项。操作者可以基于游戏控制台的移动在用户界面602上沿任何方向移动光标606。
126.现在参照图7,示出了根据本公开的一些实施方式的包括正经由游戏控制台(例如,游戏控制台201)玩的游戏的用户界面702的屏幕显示器700。用户界面702可以由游戏控制台的处理电路生成和更新。可以将用户界面702与正由处理电路处理的游戏相关联。处理电路可以响应于接收到与操作者按压游戏控制台的外表面上的输入按钮、扳动游戏控制台的扳机或者移动或重新定向游戏控制台相关联的输入而更新用户界面702。用户界面702被示为包括由云表示的环境704、桌子706上的一行罐子、以及十字准线708。操作游戏控制台的操作者可以通过移动和按压游戏控制台上的下压按钮来与用户界面702进行交互。
127.例如,操作者可以通过以类似于操作者如何控制光标606的位置(如上面参照图6示出并描述的)的方式移动游戏控制台来控制十字准线708的位置。操作者可以将十字准线708定位在所述罐子中的一个罐子上方,并通过扳动游戏控制台的扳机而对该罐子进行射击。游戏控制台的处理电路可以接收操作者扳动了扳机的指示并且对用户界面702进行更新,以在由十字准线708的中间表示的位置处播放一序列枪开火。如果操作者成功地在罐子处开火,则处理电路可以对用户界面702进行更新,以播放一序列罐子从桌子掉落。
128.现在参照图8,示出了根据本公开的一些实施方式的概述参照图2描述的游戏控制台的操作的示例流程图。根据实现和布置,可以在该方法中执行附加的、更少的或不同的操作。由数据处理系统(例如,参照图2示出并描述的游戏控制台201)进行的方法800包括以下步骤:接收游戏或应用选择(802)、处理游戏或应用(804)、生成并显示游戏或应用的用户界面(806)、“接收到输入?”(808)、识别输入(810)、以及基于输入对用户界面进行更新(812)。
129.在操作802,数据处理系统可以接收游戏或应用选择。数据处理系统可以显示经由在线交换通过网络取回的游戏列表。数据处理系统可以在联接至数据处理系统的壳体的显
示装置的屏幕上显示游戏列表。可以将游戏列表显示在数据处理生成的用户界面上。访问数据处理系统的操作者可以通过旋转壳体并且按压下压按钮或扳动壳体的扳机来选择所述游戏中的一个游戏。数据处理系统可以接收指示壳体的位置变化(例如,移动)的信号并且移动被显示在用户界面上的光标。数据处理系统可以在用户界面上在与操作者移动壳体相同的方向上移动光标。
130.一旦操作者选择了游戏或应用,则在操作804,数据处理系统可以处理游戏或应用。数据处理系统可以通过从存储所选择的游戏或应用的外部服务器或处理器下载与所选择的游戏或应用相关联的文件来处理该游戏或应用。数据处理系统可以通过网络下载游戏或应用。一旦数据处理系统下载了游戏或应用,则在操作806,数据处理系统可以生成与该游戏或应用相关联的用户界面并且在屏幕上显示该用户界面。在一些情况下,游戏或应用可能已经被下载到数据处理系统上。在这些情况下,数据处理系统可以处理所选择的游戏或应用,以在屏幕上生成用户界面,而无需从外部服务器或处理器下载所选择的游戏或应用。
131.一旦数据处理系统显示用户界面,则在操作808,数据处理系统可以确定它是否已接收到输入。当正操作数据处理系统的操作者按压该数据处理系统的壳体的下压按钮或者改变该壳体的位置时,该数据处理系统可以接收到输入。如果数据处理系统未接收到输入,则方法800可以返回至操作804,以继续处理游戏或应用,并且在操作806显示用户界面,直到数据处理系统接收到输入。
132.如果数据处理系统接收到输入,则在操作810,数据处理系统可以识别该输入。数据处理系统可以基于输入确定与数据处理系统正处理的游戏或应用相关联的动作。例如,数据处理系统可以接收基于操作者按压下压按钮的输入。数据处理系统可以将下压按钮与由数据处理系统存储的查找表中的跳跃动作相匹配。因此,数据处理系统可以确定跳跃是动作。
133.一旦数据处理系统确定了动作,则在操作812,数据处理系统可以基于输入来对用户界面进行更新。数据处理系统可以基于所确定的动作在屏幕上的用户界面处显示动作序列。继续上面与跳跃动作所关联的输入相关联的示例,当确定跳跃动作后,数据处理系统可以对用户界面进行更新,以示出跳跃序列。
134.在另一情况下,在操作810,数据处理系统可以在用户界面处显示光标。输入可以是数据处理系统的壳体的所检测到的移动,该移动是联接至该壳体的传感器提供给数据处理系统的。数据处理系统可以将检测到的移动识别为壳体的移动。在操作812,数据处理系统可以与壳体的所检测到的移动相对应地在用户界面上移动光标。为了移动光标,数据处理系统可以检测光标的当前位置并且在与壳体的所检测到的移动相同的方向上移动光标。
135.现在参照图9,示出了根据本公开的一些实施方式的概述与参照图2描述的远程游戏装置进行通信的游戏控制台的操作的示例流程图。根据实现和布置,可以在该方法中执行附加的、更少的或不同的操作。方法900通过第一数据处理系统(例如,参照图2示出并描述的远程装置228的处理电路)与第二数据处理系统(例如,游戏控制台201的处理电路)和联接至第二数据处理系统的壳体的显示装置(例如,显示装置222)进行通信来执行。方法900包括以下步骤:生成视听数据流(902)、将视听数据流发送至游戏控制台(904)、从游戏控制台接收输入(906)、生成更新的视听数据流(908)以及发送更新的视听数据流(910)。
136.在操作902,第一数据处理系统可以生成视听数据流。第一数据处理系统可以在处理与第一数据处理系统相关联的游戏或应用时生成视听数据流。视听数据流可以包括与游戏或应用所关联的用户界面相关联的视觉数据。视听数据流还可以包括与用户界面相对应的音频数据。用户界面可以是游戏或应用的界面,包括图形、菜单或者操作者在玩游戏或应用时可以查看的任何其它部件。
137.在操作904,第一数据处理系统可以经由第一通信接口和第一通信协议将视听数据流发送至第二数据处理系统的壳体的显示装置。显示装置可以在该显示装置的屏幕处显示视听数据流的用户界面。第一通信接口可以利用有损传输层通信协议。有损传输层通信协议可以使得显示装置能够快速处理和显示图像数据,并且处理用户界面中的快速变化(例如,当用户在玩第一人称射击游戏的同时快速移动平视显示器时)。虽然有损传输层通信协议可能使图像数据丢失一些数据分组(并且使图片不那么详细),但是这种协议的优点可以极大地改善想要快速扫描三维虚拟环境的用户的玩耍体验。在一些实施方式中,第一通信接口可以利用或wifi来发送图像和/或其它数据。在一些实施方式中,外部装置可以插入第一数据处理系统,以提供从第一数据处理系统到显示装置的无线hdmi连接。
138.在操作906,第一数据处理系统可以经由第二通信接口从第二数据处理系统接收输入。第二通信接口可以利用无损传输层通信协议来发送数据。例如,第二通信接口利用无损传输层通信协议向第一数据处理系统发送控制信号(诸如来自位置传感器中的一个或更多个位置传感器的信号)、操纵杆数据或按钮数据。在一些实施方式中,第二通信接口可以利用蓝牙或其它形式的通信来这样做。输入可以对应于由第二数据处理系统响应于操作者按压第二数据处理系统的壳体上的下压按钮而生成的信号、操纵杆数据或者通过联接至壳体的传感器检测到壳体移动而生成的数据。第二数据处理系统可以处理由传感器基于所检测到的移动而生成的信号、操纵杆数据或者基于下压按钮正被按压的下压按钮,并将信号发送至第一数据处理系统以进行处理。有利地,通过使用无损传输层通信协议将这样的信号发送至第一数据处理系统,第二通信接口可以确保信号被准确地发送和处理。
139.在操作908,第一数据处理系统可以从第二数据处理系统接收信号,并且基于该信号生成更新的视听数据流。第一数据处理系统可以接收输入并且确定与该输入相关联的动作。第一数据处理系统可以通过将输入与专用于第一数据处理系统当前正处理的游戏或应用的内部查找表进行比较来确定动作。第一数据处理系统可以识别匹配并且基于查找表中的匹配来生成更新的视听数据流。在操作910,第二数据处理系统可以经由第一通信接口和第一通信协议将更新的视听数据流发送至显示装置,以对正在显示器上示出的用户界面进行更新。
140.在一些实施方式中,第一数据处理系统可以接收来自操纵杆的信号以及来自第二数据处理系统的位置传感器的信号。第一数据处理系统可以组合所述信号并且基于更新的信号生成更新的视听数据流。在一些实施方式中,第二数据处理系统可以组合信号以生成第三信号,并将该第三信号发送至第一数据处理系统。在这样的实施方式中,第一数据处理系统可以基于第三信号更新视听数据流。第一数据处理系统或第二数据处理系统可以以下面参照图10a至图10c描述的方式来组合信号。
141.有利地,通过根据正被发送的数据的类型来使用不同的通信协议在数据处理系统与远程数据处理系统之间发送数据,数据处理系统可以操作,以向玩视频游戏的用户提供
更低延迟的体验。使用无损通信层协议向远程数据处理发送控制信号对于更小并且更重要的是准确的控制信号而言是有用的。通信仍可以是快速的,同时确保了信号的更高准确度。另一方面,因为远程数据处理系统是以视听数据并且尤其是在界面快速改变的应用背景下进行响应的,所以重要的是,远程数据处理系统将诸如视听数据的大数据文件发送回数据处理系统,以确保用户界面可以跟上用户提供给远程数据处理系统的任何输入。
142.现在参照图10a,示出了根据本公开的一些实施方式的概述基于来自操纵杆和位置传感器的信号的组合对用户界面进行更新的示例流程图。根据实现和布置,可以在该方法中执行附加的、更少的或不同的操作。方法1000是由数据处理系统(例如,参照图2示出并描述的处理电路202或处理电路230)进行的。方法1000可以使得数据处理系统能够动态地处理和组合来自操纵杆和位置传感器的输入,以对用户界面进行更新。随着用户访问不同的应用和/或应用的状态,方法1000可以使得数据处理系统能够通过向来自操纵杆和位置传感器的信号指派权重和更新权重来这样做。
143.在操作1002,数据处理系统可以从位置传感器接收指示便携式游戏装置的取向变化的第一信号。位置传感器可以是陀螺仪、加速度计、惯性测量单元或者某一其它位置感测装置。在一些实施方式中,第一信号包括指示便携式游戏装置的取向变化量的幅度或值。例如,握住便携式游戏装置的用户可以将便携式游戏装置从笔直位置指向向上看的位置。位置传感器可以检测便携式游戏装置的位置变化,并且生成具有与该便携式游戏装置的位置变化成比例的值或幅度的信号并将该信号发送至数据处理系统。在一些实施方式中,信号还包括方向。继续上面的示例,信号可以在该信号中包括指示握住便携式游戏装置的用户将该装置指向上方的方向指示符。
144.在操作1004,数据处理系统可以从操纵杆接收指示操纵杆的位置变化的第二信号。操纵杆可以是3轴操纵杆或2轴操纵杆、指向柄、正方形或矩形触摸板或者类似的接口。此外,操纵杆可以是数字操纵杆、桨式操纵杆、模拟操纵杆、pc模拟操纵杆、游戏手柄或者任何其它类型的操纵杆。在一些实施方式中,第二信号可以包括指示操纵杆的相对于静止位置的位置变化量的幅度或值。例如,第二信号可以是模拟电压,该模拟电压表示轴线(例如,x或y轴)上的操纵杆已移动的距离,或者第二信号可以是经由模数转换器确定的数字信号,该数字信号表示沿着轴线的量化位置。在一些实施方式中,第二信号的幅度对应于操纵杆从其与便携式游戏装置的接触点枢转的角度。在一些实施方式中,角度越大,幅度越大。例如,握住便携式游戏装置的用户可以用他或她的拇指操纵操纵杆。用户可以侧向推动操纵杆。因此,操纵杆可以生成指示用户侧向推动操纵杆的信号以及用户侧向推动操纵杆的距离的幅度。除了位置传感器发送的信号之外或者代替位置传感器发送的信号,操纵杆可以将这样的信号发送至数据处理系统以供处理。
145.在操作1006,数据处理系统可以基于便携式游戏装置的用户界面上当前正显示的内容或者基于第一信号和/或第二信号来确定是否向该第一信号和第二信号指派权重。如果用户界面上正示出的内容有变化,或者如果数据处理系统正执行的应用存在状态变化,则数据处理系统可以基于用户界面上正显示的内容来确定指派权重。例如,如果数据处理系统检测到用户刚进入用户界面的放大视图,则数据处理系统可以基于用户界面上正示出的内容来确定指派权重。在另一示例中,如果数据处理系统确定正由数据处理系统执行的应用进入具有菜单的状态,则数据处理系统可以基于用户界面上正示出的内容来确定指派
权重。在一些实施方式中,数据处理系统可以基于处理器刚开始执行的应用的类型来确定指派权重。例如,如果数据处理系统开始执行应用,则数据处理系统可以识别应用的类型(例如,第一人称射手(shooter)、冒险游戏、菜单游戏、操纵杆聚焦游戏等)并且基于应用的所确定的类型向信号指派权重。
146.如果数据处理系统检测到第一信号和/或第二信号的值的突然变化,则数据处理系统可以基于第一信号和/或第二信号来确定指派权重。例如,如果用户突然向前推动操纵杆,则数据处理系统可以检测到该变化并且相应地向该信号指派权重或调节权重。在另一示例中,如果用户突然将便携式游戏控制台向上挺举,则数据处理系统可以从位置传感器接收指示便携式游戏装置的取向的突然变化的信号,并且相应地调节该信号的权重。因此,在一些实现中,可以响应于任一信号或两个信号的导数(derivative)或变化率来指派或调节权重。
147.如果数据处理系统基于用户界面上正显示的内容确定向应用指派权重,则在操作1008,数据处理系统可以确定是否通过分析用户界面的内容来确定内容类型,或者是否分析正由数据处理系统执行的应用的状态。数据处理系统可以利用内容类型来确定来自操纵杆和/或位置传感器的信号的权重。数据处理系统可以基于其如何被配置(例如,基于由管理员建立的设定)而作出这样的确定。例如,管理员可以将数据处理系统配置为基于经由用户界面显示的对象或结构或者基于数据处理系统正执行的应用的状态来确定内容类型。
148.如果数据处理系统被配置成基于显示确定内容类型,则在操作1010,数据处理系统可以分析当前用户界面,以确定用户界面当前正显示的内容类型。例如,数据处理系统可以使用屏幕抓取或光学字符识别来识别用户界面的对象和/或特征,以确定用户界面上当前正示出的内容类型。例如,数据处理系统可以识别界面的多个部分,并且确定平视显示器(hud)的十字准线大于正常情况,并因此基于大的十字准线确定该显示器正显示放大的第一人称射手类型内容。在另一示例中,数据处理系统可以识别菜单系统的轮廓并且确定用户界面上当前正显示的内容类型是菜单。数据处理系统可以使用显示器上的任何对象或指示符来确定当前正被显示的内容类型。内容类型的示例包括但不限于放大的第一人称射手、文本、hud、菜单、浏览器等。
149.数据处理系统还可以通过向用户界面发送应用编程接口(api)请求来分析正在用户界面上显示的内容。用户界面可以用当前正被显示的对象列表来进行响应。用户界面还可以包括关于用户界面的其它元数据,诸如布局元数据和记录元数据。因此,数据处理系统可以将来自用户界面的响应与数据库进行比较,以将对象与用户界面上当前正被显示的内容类型相匹配。如果数据处理系统找到具有与数据库相匹配的响应特征的内容类型,则数据处理系统可以确定具有匹配特征的内容类型是用户界面上当前正显示的内容类型。例如,数据处理系统可以向用户界面发送api请求。用户界面可以(通过api)用通常在hud中找到的对象列表来进行响应。数据处理系统可以将对象列表与数据处理系统内的数据库进行比较,并且确定当前正被示出的内容类型是hud。
150.在操作1008,如果数据处理系统被配置成不基于用户界面本身的显示来确定显示器上的内容,则在操作1012,数据处理系统可以基于正被执行的应用的状态来确定内容类型。数据处理系统可以通过识别应用的当前正执行的部分并且基于所识别的部分确定状态来分析应用,从而确定应用的状态。数据处理系统可以通过对正被执行的应用的代码进行
关键字解析来识别应用的状态,从而识别应用的该部分。例如,数据处理系统可以分析当前正被执行的应用的代码,以识别与状态相关联的任何字。数据处理系统可以将代码与数据库进行比较,以识别任何匹配状态。在一些实施方式中,可以将应用配置成具有指示该应用的当前状态的指示。例如,每当用户输入第一人称射手的环境的放大视图时,对应的应用可以指定数据处理系统可以读取的标签,该标签指示用户界面当前正示出放大视图。数据处理系统可以使用任何方法来识别正被执行的应用的当前状态。
151.在操作10124,数据处理系统可以基于在操作1010和1012中确定的内容类型来向第一信号和第二信号指派权重。数据处理系统可以通过识别当前正被示出的内容类型并且基于数据处理系统的数据库中的内容类型向各个信号指派权重来指派权重。下面参照图10b示出并描述用于基于用户界面上当前正被示出的内容类型来确定信号的权重类型的示例处理。各个信号可以被指派任何权重。在一些实施方式中,可以在应用正被执行时指派和更新权重,以使该权重可以实时地对应于用户界面上显示的内容类型。
152.在操作1006,如果数据处理系统确定操纵杆和位置传感器的信号的权重基于便携式游戏装置的取向的突然变化,则在操作1016,数据处理系统可以确定来自位置传感器的第一信号是否具有超过阈值的值。如上所述,第一信号可以与指示用户重新定向便携式游戏装置的程度的值或权重相关联。数据处理系统可以将该值与管理员预定的阈值进行比较。数据处理系统可以这样做,以阻止轻微的移动极大地影响用户界面中的变化。例如,如果用户正在玩第一人称射手并且尝试射击小对象,则当用户正在尝试将便携式游戏装置保持在一个位置时,数据处理系统可以基于不颤动或该便携式游戏装置的位置的轻微变化来调节信号的权重以避免改变用户界面。因此,数据处理系统可以确定用户是否正在按照阈值重新定向便携式游戏装置以避免轻微的移动对用户界面有很大影响。
153.在操作1016,如果数据处理系统确定来自位置传感器的信号低于阈值,则在操作1018,数据处理系统可以将第一信号的权重的值指派为小于或等于来自操纵杆的第二信号的权重。在一些情况下,数据处理系统可以被配置成将权重指派为零。例如,如果用户正尝试瞄准小对象并且仅稍微移动便携式游戏装置,则数据处理系统可以将来自位置传感器的信号的权重调节为零。因此,用户可以仅使用操纵杆瞄准小对象,从而提高用户的准确度。
154.在操作1016,如果数据处理系统确定来自位置传感器的第一信号高于阈值,则在操作1020,数据处理系统可以确定来自操纵杆的第二信号是否高于阈值。类似于位置传感器信号,数据处理系统可以确定第二信号是否高于阈值,以避免如果操纵杆在被移动之后没有完美重新定位或者当操纵杆移动回至其原位(home position)(例如,相对于便携式游戏装置约90度)时可能发生的用户界面中的任何漂移。例如,如果用户使用操纵杆来控制用户界面上的视图,则操纵杆可能不会完美地返回至原位。通过建立要使用的、操纵杆必须超过的位置变化阈值,可以最小化用户界面漂移的任何危险。阈值可以由管理员来设定。
155.在操作1020,如果数据处理系统确定来自位置传感器的信号低于阈值,则在操作1022,数据处理系统可以将来自操纵杆的第二信号的权重值指派为小于或等于来自位置传感器的第一信号的权重值。在一些情况下,数据处理系统可以被配置成将权重指派为零。例如,如上所述,数据处理系统可以向操纵杆指派零权重,以避免用户界面中的任何漂移。
156.在操作1020,如果数据处理系统确定来自操纵杆的信号低于阈值,则在操作1024,数据处理系统可以另外基于第一信号和第二信号的值来向该第一信号和第二信号指派权
重。例如,数据处理系统可以将第一信号的值和第二信号的值相互比较,并且如果一个值显著高于另一值,则数据处理系统可以确定具有显著较高值的信号更重要并且值得更大的权重。如果权重相似,则数据处理系统可以不调节或不更新权重。因此,数据处理系统可以根据用户正在如何操纵便携式游戏装置和/或移动操纵杆来调节或更新权重。数据处理系统可以基于操纵杆信号和/或位置传感器信号来向信号指派任何权重。下面参照图10c示出并描述用于基于信号本身来确定信号的权重类型的示例处理。各个信号可以被指派任何权重。在一些实施方式中,可以在应用正被执行时指派和更新权重,以使该权重可以实时地对应于用户如何操作便携式游戏装置。
157.在操作1026,数据处理系统可以聚合经加权的第一信号和经加权的第二信号以获得第三信号。数据处理系统可以对经加权的信号执行任何操作(例如,聚合、相乘、平均、相减等)以获得第三信号。例如,数据处理系统可以将权重乘以它们的对应值,并且将最终所得的值聚合或相加,以获得第三信号。在另一示例中,数据处理系统可以将权重乘以它们的对应值,并将最终所得的信号相乘以获得第三信号。数据处理系统可以对权重和经加权的信号执行任何操作以获得第三信号。
158.在操作1028,数据处理系统可以基于第三信号来对用户界面进行更新。数据处理系统可以基于数据处理系统正执行的应用来更新用户界面。例如,如果数据处理系统正执行具有光标的应用,则数据处理系统可以通过与第三信号成比例地并且沿着该第三信号所指定的方向移动光标来更新用户界面。在另一示例中,数据处理系统可以通过改变三维环境中的hud的视图来更新用户界面。在又一示例中,数据处理系统可以执行与第一信号、第二信号或第三信号中的任何信号相关联的预定动作(例如,便携式游戏装置中的突然向上挺举移动可以导致在用户界面上发生重新加载动作)。数据处理系统可以基于这些信号以任何方式更新用户界面。
159.现在参照图10b,示出了根据本公开的一些实施方式的概述基于正在显示器上显示的内容类型来向操纵杆信号和/或位置传感器信号指派权重的示例流程图。根据实现和布置,可以在该方法中执行附加的、更少的或不同的操作。方法1029是由数据处理系统(例如,处理电路202或处理电路230,这两个处理电路都参照图2进行了示出和描述)进行的。方法1029可以使得数据处理系统能够基于当前正在用户界面上显示的内容类型来动态地向操纵杆信号和位置传感器信号指派权重。
160.在操作1030,数据处理系统可以确定当前正被执行的应用的当前内容类型。如上参照操作1008至1012(所述操作参照图10进行了示出和描述)所描述的,数据处理系统可以基于正在屏幕上显示的内容或者基于正被执行的应用的当前状态来确定当前内容类型。例如,数据处理系统可以使用api请求、屏幕抓取或者通过以其它方式分析应用以实时确定其状态来确定当前内容类型。数据处理系统可以以任何方式确定当前内容类型。
161.在操作1032,数据处理系统可以确定内容类型是否是菜单。数据处理系统可以通过分析用户界面进行关键字寻找或者以其它方式分析菜单的轮廓来作出这种确定。在一些实施方式中,数据处理系统可以通过分析正被执行的应用并且确定应用的当前状态来确定内容类型。如果数据处理系统确定正在用户界面上显示的当前内容类型是菜单,则在操作1034,数据处理系统可以增大第二权重(例如,操纵杆信号的权重)与第一权重(例如,位置传感器信号的权重)之比。数据处理系统可以单独增大第二信号的权重、单独减小第一信号
的权重或者这两项都进行以增大比率。有利地,当用户界面是菜单时,通过使操纵杆具有更大的影响,用户可以在不必移动便携式游戏装置而代之仅使用操纵杆的情况下更准确地选择菜单项。
162.在操作1036,数据处理系统可以确定内容类型是否是放大内容类型。例如,与标准视图相比,放大内容类型可以是三维环境内的区域的特写视图。例如,如果玩第一人称射手的人仔细查看(scope in)以获得区域的更近视图,即,放大内容类型。数据处理系统可以通过分析用户界面寻找十字准线的粗轮廓或用户界面上的某一其它指示符或者执行如本文所描述的确定内容类型的任何方法来作出这样的确定。如果数据处理系统确定正在用户界面上显示的当前内容类型是放大内容类型,则在操作1038,数据处理系统可以增大第二权重与第一权重之比。例如,数据处理系统可以单独增大第二信号的权重、单独减小第一信号的权重或者这两项都进行。
163.在一些实施方式中,数据处理系统可以根据三维环境内的实体距用户界面的视点的距离(例如,三维虚拟环境内的实体与虚拟摄像头之间的距离)来增大所述比率。例如,如果距实体的距离很大,则数据处理系统可以使第二信号与第一信号之比高于距实体的距离很小的情况。在一些实施方式中,数据处理系统可以以其它方式通过在增大或减小第二信号和第一信号的权重的同时保持比率相同来根据实体的位置调节权重。有利地,当用户界面位于放大视图中时,通过使操纵杆具有较大的权重,用户可以更准确地射击用户界面上可能较小的对象。此外,通过基于目标实体动态地调节权重,用户可以更准确地瞄准目标实体。
164.在操作1040,数据处理系统可以确定内容类型是否是hud。数据处理系统可以通过分析用户界面寻找用户界面上的hud的指示符或者通过使用如本文所描述的任何其它方法来作出这样的确定。如果数据处理系统确定正在用户界面上显示的当前内容类型是hud,则在操作1042,数据处理系统可以增大第一权重与第二权重之比。例如,数据处理系统可以单独增大第一信号的权重、单独减小第二信号的权重或者这两项都进行。有利地,当用户界面是hud时,通过使位置传感器信号具有更大的权重,用户可以通过重新定向便携式游戏装置来更快地扫描三维环境,同时能够使用操纵杆来磨练环境内的目标。
165.在操作1044,数据处理系统可以确定内容类型是否是具有数据处理系统的数据库中的标识的任何其它内容类型。数据处理系统可以通过使用本文所描述的方法中的任何方法对用户界面和/或正由数据处理系统执行的应用进行分析并且将用户界面的特征或应用的当前状态与数据库进行比较来作出这样的确定。如果数据处理识别出任何匹配内容类型,则数据处理系统可以识别对应的权重集,并且在操作1046,数据处理系统可以根据对应的权重集来设定或调节第一信号和/或第二信号的权重。管理员可以设定或调节各个内容类型的权重,并且将所设定或所调节的权重存储在数据库中。管理员可以将权重设定或调节成任何值。
166.如果数据处理系统未从应用的状态或用户界面识别出任何内容类型,则在操作1048,数据处理系统可以将第一信号的权重和第二信号的权重设定成预定权重。预定权重可以是由管理员确定的任何权重集。例如,预定权重集可以使与来自操纵杆的第二信号相关联的权重低于与来自位置传感器的第一信号相关联的权重。因此,用户可以使用操纵杆来精细控制用户界面,并且使用位置传感器信号,以在控制用户界面的同时进行更大的改
变。例如,用户可以通过重新定向便携式游戏装置来快速扫描三维环境,同时使用操纵杆磨练目标。管理员可以根据他们的需要来设定预设权重。有利地,通过使用预设权重,管理员可以按照他或她的意图来控制便携式游戏控制台的用户界面。
167.现在参照图10c,示出了根据本公开的一些实施方式的概述基于操纵杆或游戏控制台的位置变化来向操纵杆信号和/或位置传感器信号指派权重的示例流程图。根据实现和布置,可以在该方法中执行附加的、更少的或不同的操作。方法1049是由数据处理系统(例如,处理电路202或处理电路230,这两个处理电路都参照图2进行了示出和描述)进行的。方法1049可以使得数据处理系统能够基于信号本身的值来动态地向操纵杆信号和位置传感器信号指派权重。
168.在操作1050,数据处理系统可以识别操纵杆信号的值和位置传感器信号的值。这些值可以是位置传感器和/或操纵杆相对于其先前位置或静止位置的位置变化的幅度。数据处理系统可以基于数据处理系统接收到的信号来识别所述值。例如,如果用户将操纵杆向前移动得更远,则数据处理系统可以识别与操纵杆的向前移动相关联的高值。在另一示例中,如果用户突然将便携式游戏装置指向下方,则数据处理系统可以将来自位置传感器的信号的值识别为与向下移动相关联的大值。数据处理系统可以以任何方式识别值。
169.在操作1052,数据处理系统可以确定操纵杆信号的变化是否高于阈值。例如,数据处理系统可以将从操纵杆接收的信号的值与阈值进行比较,并且确定该值是否高于阈值。如果数据处理系统确定该值高于阈值,则在操作1054,数据处理系统可以增大操纵杆信号与位置传感器信号之比。在用户仅使用或主要使用操纵杆来更新用户界面的情况下,诸如当用户正控制菜单界面上的光标或者应用的放大视图时,数据处理系统可以这样做。通过增大操纵杆信号的权重,数据处理系统可以允许用户更容易地控制用户界面。
170.在操作1056,数据处理系统可以确定位置传感器信号的变化是否高于阈值。例如,数据处理系统可以将其从位置传感器接收的信号的值与阈值进行比较,并确定该值是否高于阈值。如果数据处理系统确定该值高于阈值,则在操作1058,数据处理系统可以增大位置传感器信号与操纵杆信号之比。在用户仅使用或主要使用便携式游戏装置的控件来更新用户界面的情况下,诸如当用户正在控制hud时,数据处理系统可以这样做。通过增大位置传感器信号的权重,数据处理系统可以允许用户更容易地控制用户界面。如果数据处理系统确定操纵杆信号的变化或位置传感器信号的变化的权重都没有超过阈值,则在操作1060,数据处理系统可以根据预定权重来设定操纵杆信号的权重和位置传感器信号的权重。数据处理系统可以类似于参照图10b示出并描述的数据处理系统在操作1048中如何设定权重来设定权重。
171.现在参照图11,示出了根据本公开的一些实施方式的游戏控制台1100的立体图,该游戏控制台包括联接至游戏控制台1100的游戏控制台壳体1108的屏幕保持件1106以及操纵杆1102。屏幕保持件1106可以被配置成保持移动装置(例如,智能电话)(未示出)以在该移动装置上执行应用。移动装置可以与以内部方式联接至游戏控制台壳体1108的处理器进行通信,以操作为游戏控制台1100。处理器可以一起操作和通信以处理游戏或应用,同时使用各种输入来对移动装置上的用户界面进行更新。在一些实施方式中,代替移动装置,可以将不同的显示装置联接至游戏控制台壳体1108,并且在以内部方式联接至游戏控制台壳体1108的处理器上或者在远程装置(未示出)上执行所执行的任何处理。
172.用户可以握住游戏控制台1100的握持部并且操纵游戏控制台1100。反过来,游戏控制台1100又可以向移动电话发送信号以对移动电话的用户界面进行更新。此外,在不改变游戏控制台1100上的把手的情况下,用户可以移动操纵杆1102和/或按压按钮1104。按钮1104可以位于游戏控制台1100的细长部的一侧或两侧上。游戏控制台壳体1108内的和/或移动装置的处理器可以接收来自游戏控制台壳体1108上的操纵杆1102、按钮1104和/或位置传感器的输入,并且如本文所描述的相应地更新用户界面。
173.现在参照图12,示出了根据本公开的一些实施方式的用于在异类装置之间传送交互式数据的系统1200的示例性实施方式的框图。系统1200被示为包括中间装置1220,该中间装置1220可以经由不同的通信协议来桥接游戏控制台1202与远程装置1236之间的通信。在系统1200的简要概述中,游戏控制台1202可以经由第一通信协议向中间装置1220提供输入。中间装置1220可以经由不同的第二通信协议将输入发送至远程装置1236。第二通信协议可以与第一通信协议不兼容(例如,需要不同的硬件来进行发送和接收)。尽管主要作为无线协议来进行讨论,但是在一些实现中,第一通信协议或第二通信协议或者这两种通信协议可以是有线的。例如,一个通信协议可以是usb,而第二通信协议可以是wifi。远程装置1236可以处理游戏或应用并且将媒体(视听)流发送至中间装置1220。另外并且在一些情况下,并发地,远程装置1236可以从中间装置1220接收输入,并且根据该输入对远程装置1236向中间装置1220发送的媒体流进行更新。系统1200和/或部件1202、1220以及1236中的各个部件可以包括任何数量的部件并且可以以任何方式进行通信。
174.游戏控制台1202可以类似于参照图2a示出并描述的游戏控制台201。在一些实施方式中,游戏控制台1202被示为包括处理电路1204、踏板系统1210、操纵杆1212、传感器1214、命令按钮1216以及通信接口1218。处理电路1204被示为包括处理器1206和存储器1208。部件1204至1216中的各个部件可以类似于图2a的游戏控制台201的它们各自的对应部件。传感器1214可以包括诸如陀螺仪、加速度计、磁力计和/或温度传感器的传感器,但是可以包括任何类型的传感器。类似地,通信接口1218可以类似于图2a的网络接口220。
175.通信接口1218可以与中间装置1220的通信接口1230进行通信。通信接口1218可以通过将由处理电路1204从游戏控制台1202的各种硬件部件(例如,踏板系统1210、操纵杆1212、传感器1214和/或命令按钮1216)接收的所生成的数据发送至通信接口1230来与通信接口1230进行通信。通信接口1218可以包括基于软件或硬件的通信接口。例如,通信接口1218可以是硬件端口,游戏控制台1202通过该硬件端口连接至网络,或者例如由处理电路1204执行的web浏览器的软件部件。在一些实现中,通信接口1218可以通过lan网络、wi-fi网络、蜂窝网络、广域网,电话网络、无线链路、卫星链路、装置到装置网状网络、内联网、互联网或其组合与通信接口1230进行通信。在一些实施方式中,通信接口1218可以通过蓝牙或低功耗蓝牙与通信接口1230进行通信。通信接口1218可以经由任何通信协议与通信接口1230进行通信。
176.在一些实施方式中,例如,处理电路1204可以使用各种蓝牙和/或低功耗蓝牙服务(诸如装置信息服务、电池服务和/或hid服务),以获得或存储关于游戏控制台1202的各种信息和/或将这种信息发送至中间装置1220。例如,装置信息服务可以包括关于游戏控制台1202的信息,诸如游戏控制台1202的装置标识符(序列号)。通过电池服务,处理电路1204可以获得与游戏控制台1202的当前电池量和/或游戏控制台1202的电池健康相关的信息。通
过hid服务,处理电路1204可以接收任何输入和/或将它接收到的任何输入转换成hid适用信号。处理电路1204可以经由通信接口1218将信息从这些服务中的各个服务发送至中间装置1220。
177.在一些实施方式中,处理电路1204还可以使用定制服务来进行游戏控制台1202与中间装置1220之间的通信。例如,处理电路1204可以使用使得处理电路1204能够与中间装置1220的应用1228进行通信的rx/tx服务。处理电路1204还可以使用imu服务,该imu服务使得处理电路1204能够收集由传感器1214生成的数据和/或向中间装置1220发送由传感器1214生成的数据。处理电路1204还可以使用按钮和/或操纵杆服务,该按钮和/或操纵杆服务使得处理电路1204能够收集命令按钮1216(例如,被按压的或未按压的)和/或操纵杆1212的当前状态(例如,当前位置或者相对于先前位置的当前位置)和/或向中间装置1220发送所述当前状态。处理电路1204可以实现或使用任何服务来收集数据和/或将数据发送至中间装置1220。
178.处理电路1204可以通过imu服务收集值。imu服务可以使得处理电路1204能够收集来自一个或更多个陀螺仪、一个或更多个加速度计、一个或更多个磁力计以及所述传感器1214中的一个或更多个温度传感器的值,并且生成具有所收集的值的传感器数据分组。imu服务可以使得处理电路1204能够通过游戏控制台1202的一个或更多个端口来收集传感器数据。处理电路1204可以收集来自任何传感器和/或任何传感器类型的传感器1214的值。处理电路1204可以通过以预定间隔轮询传感器1214和/或响应于所述传感器1214中的一个或更多个传感器生成数据并将该数据发送至处理电路1204来从该传感器1214收集值。在一些实施方式中,所收集的值的值可以对应于游戏控制台1202的当前位置或取向。所述值可以分别是值范围内的有符号16位整数值。例如,在一个实施方式中,值范围可以介于-32768至 32767之间。值范围可以介于任何数值之间。
179.在一些实施方式中,处理电路1204可以生成包括一个或更多个数据串的传感器数据分组,所述一个或更多个数据串与通过imu服务从传感器1214获得的数据相同或相似的时间相关联。所收集的传感器数据的值可以与指示这些值被收集和/或生成的时间的时间戳相关联。处理电路1204可以识别与相同或相似时间(例如,在彼此的阈值内的时间)相关联的值。处理电路1204可以识别与相同或相似时间相关联的值,并且在一些实现中,将所识别的值连结在一起,从而形成连结数据串。所形成的连结数据串可以包括预定数量(例如,10个)连结16位有符号整数值。例如,在一个实施方式中,所形成的连结数据串可以包括来自三个陀螺仪、三个加速度计、三个磁力计以及一个温度传感器的16位整数值。在一些实现中,连结数据串可以在不同值之间不具有定界符;相反,各个值可以具有预定长度并且以预定次序出现,使得接收装置可以根据预定长度和次序来提取值。在其它实现中,数据串可以在值之间具有定界符或者其它标识符(例如,逗号、换行、xml标签等)。
180.类似地,处理电路1204可以生成按照位阵列的、包括来自按钮的数据和/或通过按钮和操纵杆服务获得的操纵杆数据的数据分组。处理电路1204可以收集来自操纵杆1212和命令按钮1216的值,并且生成包括这些值的位阵列。处理电路1204可以通过以预定间隔轮询操纵杆1212或命令按钮1216和/或响应于操纵杆1212或命令按钮1216的一个或更多个传感器生成数据来收集所述值。位阵列可以包括与传感器数据的连结数据串类似的连结数据串中的多个连结位,并且可以包括或者不包括定界符或其它标识符。位阵列可以包括与命
令按钮1216中的一个或更多个命令按钮的状态相对应的位或者与操纵杆1212的x位置或y位置相对应的预定数量(例如,2个)16位有符号整数。在一些实施方式中,处理电路1204可以类似地收集和/或包括按照位阵列的、由踏板系统1210的传感器生成的值。在位阵列中,命令按钮1216中的命令按钮的状态可以由二进制数来表示。例如,处理电路1204可以响应于确定命令按钮被按压而生成与命令按钮相对应的位的数字“1”,并且响应于确定命令按钮未被按压或者命令按钮被以其它方式释放而生成同一位的数字“0”。处理电路1204可以针对命令按钮1216中的各个命令按钮执行类似操作。
181.处理电路1204还可以通过生成与操纵杆1212的x轴位置相对应的值以及与操纵杆1212的y轴位置相对应的值来生成位阵列。操纵杆1212的一个或更多个传感器可以响应于检测到操纵杆1212移动以及该移动的幅度(例如,距中心位置或者距先前位置的距离)而生成x轴值和/或y轴值。所述值可以与远离相应的y轴或x轴上的校准位置或先前位置的移动的幅度成比例。操纵杆1212的所述一个或更多个传感器可以将所生成的值发送至处理电路1204。处理电路1204可以从操纵杆1212的所述一个或更多个传感器接收各个值。处理电路1204可以将与操纵杆1212的x轴位置相对应的值、与操纵杆1212的y轴位置相对应的值和/或与所述按钮中的各个按钮的状态相对应的值连结成构成位阵列的连结数据串。在一些实施方式中,处理电路1204可以通过响应于确定操纵杆值和按钮值与指示何时收集或生成这些值的匹配时间戳相关联而连结该操纵杆值和按钮值来生成位阵列。
182.处理电路1204可以向中间装置1220发送传感器数据分组和/或操纵杆数据和/或命令按钮数据的位阵列。处理电路1204可以以预定间隔(例如,每5毫秒、10毫秒、20毫秒等)伪随机地和/或在从一个或更多个传感器接收到生成的数据分组时发送传感器数据分组。处理电路1204可以以任何速率向中间装置1220发送传感器数据分组和/或操纵杆数据和/或命令按钮数据的位阵列。处理电路1204可以通过在传感器数据分组中包括位阵列或者通过在单独的数据分组中发送位阵列来将位阵列发送至中间装置1220。
183.在一些实施方式中,处理电路1204可以仅向中间装置1220发送中间装置1220订阅的数据。订阅可以指示针对处理电路1204发送与游戏控制台1202的特定特征(例如,踏板系统1210、操纵杆1212、传感器1214中的传感器、命令按钮1216中的命令按钮等)相关联或源自该特定特征的数据的授权或许可。处理电路1204可以接收针对游戏控制台1202的特征的任何组合和/或任何数量的指示。在接收到针对特征的一个或更多个订阅的指示后,处理电路1204可以在数据库中存储标志或者更新设定(其与该特征相关联),以指示处理电路1204被授权发送与所订阅的特征相关联的数据。在一些实施方式中,处理电路1204可以不向中间装置1220发送不与所订阅的特征相关联的数据。
184.中间装置1220可以是类似于参照图2示出并描述的显示装置222的计算装置。在一些实施方式中,中间装置1220可以是诸如智能电话的蜂窝电话,其可以处理游戏和/或应用和/或显示与这样的游戏或应用相关联的媒体流。中间装置1220被示为包括处理电路1222、通信接口1230、显示器1232以及通信接口1234。中间装置1220可以包括任何数量的部件。
185.通信接口1230可以是或者可以包括与游戏控制台1202的通信接口1218进行通信的通信接口。通信接口1230和1218可以经由相同的通信协议(例如,如蓝牙、低功耗蓝牙等)彼此进行通信。通信接口1230可以通过与上面关于通信接口1218描述的通信协议类似的任何通信协议来与通信接口1218进行通信。
186.处理电路1222被示为包括处理器1224和存储器1226。处理电路1222可以包括与处理电路1204类似的部件。存储器1226被示为包括应用1228。应用1228可以被配置成访问中间装置1220通过通信接口1230从游戏控制台1202接收的数据。如下所述,应用1228可以经由第一通信接口接收与去往游戏控制台1202的输入相关联的数据,并且经由第二通信接口将对应数据发送至远程装置1236。因此,尽管游戏控制台1202不与远程装置1236进行任何直接通信,但是可以将输入从游戏控制台1202发送至远程装置1236。
187.在一些实现中,应用1228可以被配置成发送订阅游戏控制台1202的特征(例如,用于传感器、踏板系统等的值的周期性递送)的一个或更多个请求。订阅可以指的是选择要周期性地向应用1228和/或中间装置1220递送的值或值类型,而不需要进一步的附加请求。例如,游戏控制台1202可以每10毫秒将传感器值发送至订阅的中间装置1220,而不需要针对各个新传输的后续请求。订阅请求可以包括游戏控制台1202的特征的指示,其使游戏控制台1202更新与所指示的特征相关联的设定。应用1228可以响应于接收到中间装置1220已进入与游戏控制台1202的、使得通信接口1230能够与通信接口1218进行通信的通信范围的指示而向游戏控制台1202发送订阅请求。例如,应用1228可以在检测到通信接口1230可以经由低功耗蓝牙与通信接口1218进行通信后向游戏控制台1202发送订阅请求。在一些实施方式中,应用1228可以被配置成响应于经由中间装置1220的用户界面接收到输入而发送订阅请求。
188.应用1228可以被配置成基于用户界面的输入或者与应用1228相关联的设定来订阅各种特征。例如,应用1228可以在中间装置1220的用户界面处接收指示仅从命令按钮1216中的一个命令按钮收集数据的输入。在另一示例中,应用1228可以与使应用1228自动订阅游戏控制台1202的各个特征的设定相关联。这样的设定可以响应于中间装置1220的用户界面处的用户输入而改变。应用1228可以接收用于订阅特征的任何组合的输入并且将与该输入相对应的订阅请求发送至游戏控制台1202。
189.应用1228可以被配置成从应用1228从游戏控制台1202接收的传感器数据分组中提取值。在一些实施方式中,传感器数据分组可以包括与由传感器1214生成的数据相关联的一个或更多个数据串和/或与由操纵杆1212和/或命令按钮1216生成的数据相关联的一个或更多个数据串。应用1228可以通过读取传感器数据分组的连结数据串的值来从传感器数据分组中提取一个或更多个数据串。应用1228可以提取与传感器数据和/或命令按钮数据和/或操纵杆数据相关联的一个或更多个数据串。应用1228可以根据数据中的定界符或标识符或者基于预定长度和值次序(例如,针对加速度计x、y以及z的16位值等)来提取所述一个或更多个数据串。
190.应用1228可以被配置成与远程装置1236建立传输层通信会话。应用1228可以经由正在远程装置1236上执行的传输层服务器(未示出)来建立与远程装置1236的传输层通信会话。传输层服务器可以是代理1244的一部分,其使得能够在远程装置1236与其它装置之间进行通信。传输层服务器可以操作传输控制协议(tcp)和/或用户数据报协议(udp)。应用1228可以向远程装置1236的传输层服务器发送建立与远程装置1236的传输层服务器的连接会话的请求。传输层服务器可以接收该请求并且通过将该请求传递至代理1244的会话层来建立通信会话。响应于接收到该请求,代理1244的会话层可以打开代理1244与应用1228之间的通信会话。
191.响应于与代理1244的传输层服务器建立通信会话,应用1228可以封装可以经由第二通信协议发送至远程装置1236的所提取的一个或更多个数据串。应用1228可以将所提取的一个或更多个数据串封装在由通信接口1234、1252利用的通信协议(例如,传输控制协议、用户数据报协议等)的传输层报头中。在一些实现中,应用1228还可以将所提取的一个或更多个数据串封装在会话或应用层报头(例如,http报头)中。当将所提取的一个或更多个数据串封装在传输层报头中后,应用1228可以通过通信接口1234将所提取的一个或更多个数据串发送至远程装置1236的代理1244。
192.通信接口1234可以是与远程装置1236的通信接口1252进行通信的通信接口。通信接口1234可以实现与用于这种通信的通信接口1218和/或1230不同的通信协议。例如,通信接口1234可以使用wi-fi协议进行通信,而通信接口1218和1230可以使用低功耗蓝牙协议进行通信。通信接口1234可以经由通信接口1252将封装的提取的一个或更多个数据串发送至代理1244的传输服务器。通信接口1252可以经由任何通信协议与通信接口1234进行通信。
193.远程装置1236可以是类似于参照图2a示出并描述的远程装置228的计算装置。远程装置1236被示为包括处理电路1238和通信接口1252。如上所述,通信接口1252可以与通信接口1234进行通信。在一些实施方式中,通信接口1252可以不与游戏控制台1202的通信接口1218进行通信。处理电路1238被示为包括处理器1240和存储器1242。存储器1242被示为包括代理1244和操作系统1246。如下所述,代理1244和操作系统1246可以进行协作以从中间装置1220接收数据串,并且使用该数据串来对当前正被发送至中间装置1220的媒体流进行更新。
194.代理1244可以经由操作系统1246的传输层和/或网络栈从应用1228接收封装的提取数据串,并且将封装的提取数据串译码成hid适用数据。代理1244可以通过读取数据串的值来提取接收到的封装的提取数据串。代理1244可以根据变换策略将所提取的数据串译码成hid适用数据。变换策略可以包括代理1244可以应用于代理1244从中间装置1220接收的数据的一系列规则和/或阈值。例如,代理1244可以应用将所提取的传感器数据转换成鼠标的移动的规则。该规则可以指示所提取的传感器数据的每一个移动程度对应于用户界面上的光标移动的10个像素。代理1244可以接收游戏控制台1202向左旋转五度的指示、将规则应用于对应于该旋转的数据以及生成指示鼠标在用户界面上向左移动50个像素的hid适用数据。代理1244可以将变换策略的任何规则或阈值应用于该代理从中间装置1220接收的数据,以生hid适用数据。
195.代理1244可以将所生成的hid适用数据写入到操作系统1246的hid驱动器1248中。hid驱动器1248可以是操作系统1246的hid内核驱动器,该hid内核驱动器可以仿真或蒙混hid适用装置,并且有时可以被称为虚拟hid装置、虚拟操纵杆、虚拟hid驱动器或类似术语。代理1244可以保留(reserve)hid驱动器1248中的存储器。当从中间装置1220接收到封装的连结数据串后,代理1244可以从该数据串中提取数据并将该数据译码成如上所述的hid适用数据。代理1244可以将hid适用数据插入到hid驱动器1248的保留存储器中。反过来,操作系统1246的应用1250可以读取hid适用数据,就好像诸如控制器、操纵杆、鼠标、键盘等的hid适用装置向操作系统1246提供该数据一样。因此,操作系统1246和/或应用1250可能不可知或者无法确定数据是经由中间装置1220来自远程游戏控制台1202的,而不是来自本地
连接的usb操纵杆或其它此类装置的。应用1250可以读取信号并且根据hid适用数据来更新应用1250并发提供给中间装置1220以供显示的媒体流。
196.在一些实施方式中,hid驱动器1248可以是或者可以包括两个hid驱动器或者包括用于两个单独的hid适用装置的专用存储器。例如,hid驱动器1248可以仿真计算装置的诸如鼠标和键盘或者鼠标和操纵杆的单独装置。为此,hid驱动器1248可以包括专用于鼠标装置的存储器空间以及专用于键盘装置的存储器空间。代理1244可以从中间装置1220接收数据分组、识别与鼠标装置相关联的数据以及与键盘装置相关联的数据并且根据它们的指定将数据放置到hid驱动器1248的存储器中。在hid驱动器1248包括专用于两个不同装置的存储器或者存在操作系统1246的两个hid驱动器的情况下,代理1244可以基于连结数据串内的值的位置(例如,位或索引)来确定在何处指派所提取的数据的值。继续上面的示例,操纵杆数据可以与包括来自命令按钮1216和操纵杆1212的值的连结数据串的特定位相关联。命令按钮1216可以与连结数据串的其它位或者不同的连结数据串相关联。代理1244可以将连结数据串的位与相应的数据类型相关联,以使可以将来自操纵杆位的数据分配给与鼠标虚拟hid适用装置相关联的存储器,并且可以将来自命令按钮1216的数据分配给与键盘虚拟hid适用装置相关联的存储器。代理1244可以将位与任何数量或任何类型的装置相关联。
197.应用1250可以是生成用于在中间装置1220的显示器1232上显示的用户界面的应用(诸如游戏)。在一些实施方式中,当代理1244将命令写入存储器时,应用1250还可以读取hid驱动器1248的存储器。应用1250可以识别代理1244的写入命令并且根据该命令对媒体流进行更新。例如,应用1250可以是浏览器。浏览器可以在中间装置1220的显示器1232上显示网页。代理1244可以从hid驱动器1248的存储器识别传感器数据移动,并且根据该传感器数据移动来移动正在显示器1232上显示的光标。
198.图13是根据本公开的一些实施方式的概述在异类装置之间传送交互式数据的示例流程图。根据实现和布置,可以在该方法中执行附加的、更少的或不同的操作。方法可以由第一计算装置1302(例如,游戏控制台1202)、中间计算装置1304(例如,中间装置1220)以及第二计算装置1306(例如,远程装置1236)的组合执行。该方法可以由任何数量的计算装置执行。该方法可以使得第一计算装置能够经由不同的无线接口或通信协议通过中间计算装置间接地向第二计算装置传送交互式数据。因此,在第一计算装置1302不具有直接与第二计算装置1306进行通信的能力的场景中,第一计算装置1302可以将交互式数据传送至第二计算装置1306。
199.在操作1308,中间计算装置1304可以订阅交互式数据。交互式数据可以是由第一计算装置1302的传感器或另一硬件部件生成的数据。第一计算装置1302可以包括一个或更多个硬件部件,诸如但不限于按钮、操纵杆、传感器(例如,陀螺仪、加速度计、温度传感器等)和/或踏板系统,这些硬件部件各自可以响应于用户与相应部件的交互和/或以预定间隔来生成交互式数据。硬件部件可以经由与硬件部件联接或以其它方式关联的传感器来生成交互式数据。中间计算装置1304可以通过向第一计算装置1302提交请求来订阅周期性地从与第一计算装置1302的硬件部件相关联的传感器接收交互式数据。该请求可以包括中间计算装置1304正订阅的传感器或硬件部件的指示。中间计算装置1304可以经由蓝牙接口、低功耗蓝牙接口或者任何其它有线或无线接口将请求传送至第一计算装置1302。
200.在操作1310,第一计算装置1302可以从请求中识别指示。第一计算装置1302可以
接收该请求并识别该请求中的指示。在操作1312,第一计算装置1302可以将该指示与数据库中的设定进行比较,并且调节或更新与来自请求的指示相匹配的设定。设定可以是中间计算装置1304是否订阅由与该设定相关联的一个或更多个传感器或硬件部件(例如,硬件部件的传感器)生成的数据的指示。各个传感器或硬件部件可以与不同的设定相关联。例如,设定可以是中间计算装置1304是否订阅接收由第一计算装置1302的操纵杆生成的操纵杆数据的指示。如果中间计算装置1304向传感器或硬件部件进行了订阅,则设定可以是诸如“1”的二进制值,或者如果中间计算装置1304未向传感器或硬件部件进行订阅,则设定可以是诸如“0”的二进制值。
201.在一些实施方式中,第一计算装置1302可以存储各种计算装置的配置文件。配置文件可以与计算装置可以如上所述订阅的设定相关联。配置文件可以与诸如计算装置的装置标识符或者计算装置的用户账户的账户标识符的标识符相关联或链接。在这样的实施方式中,中间计算装置1304可以在针对第一计算装置1302的订阅请求中包括标识符。第一计算装置1302可以从请求中识别标识符,并且将该标识符与被存储在第一计算装置1302的数据库中的配置文件的标识符进行比较。第一计算装置1302可以识别数据库中的与匹配标识符相关联的配置文件,并且根据请求中的指示来对该配置文件的设定进行更新。
202.在操作1314,第一计算装置1302可以确定是否已接收到输入。第一计算装置1302可以以预定或伪随机间隔轮询第一计算装置1302的传感器和/或其它硬件部件。在一些实施方式中,第一计算装置1302可以基于正由传感器和/或其它硬件部件生成的值是否存在变化来确定是否已接收到输入。例如,第一计算装置1302可以轮询第一计算装置1302的imu的传感器,并且确定自从先前轮询以来传感器是否已生成任何数据。第一计算装置1302可以轮询第一计算装置1302的各个传感器或任何一部分传感器。如果第一计算装置1302未从这种轮询检测到任何生成的数据,则第一计算装置1302可以再次轮询传感器和/或其它硬件部件。第一计算装置1302可以执行操作1314,直到确定已接收到一个或更多个输入。
203.在一些实施方式中,第一计算装置1302可以基于从所述传感器或硬件部件中的一个或更多个传感器或硬件部件接收到数据来确定已接收到输入。所述一个或更多个传感器或硬件部件可以响应于用户交互而生成数据和/或将该数据发送至第一计算装置1302。用户交互的示例包括但不限于:操纵(例如,移动)第一计算装置1302,这可以使imu传感器生成数据;移动第一计算装置1302的操纵杆,这可以使操纵杆传感器生成数据;下压按钮,这可以使按钮或所述按钮的一个或更多个传感器生成数据等。传感器或硬件部件可以生成数据并将数据发送至第一计算装置1302的处理电路。第一计算装置1302可以响应于处理电路接收到所生成的数据而确定已接收到输入。
204.在操作1316,第一计算装置1302可以确定中间计算装置1304是否订阅在传感器或硬件部件处生成的交互式数据。第一计算装置1302可以基于第一计算装置1302用来接收数据的端口或服务(例如,蓝牙或低功耗蓝牙服务)来识别哪个传感器或硬件部件生成和/或发送了数据。第一计算装置1302可以将所识别的传感器或硬件部件的标识与所识别的传感器或硬件部件所关联的设定进行比较,并且基于该设定来确定中间计算装置1304是否向传感器或硬件部件进行了订阅。例如,第一计算装置1302可以识别由第一计算装置1302的命令按钮生成的数据。中间计算装置1304可以识别指示中间计算装置1304是否订阅了由命令按钮或者其它方面的命令按钮生成的数据的命令按钮设定。第一计算装置1302可以基于该
设定来确定中间计算装置1304是否向命令按钮进行了订阅。响应于第一计算装置1302确定中间计算装置未订阅由第一计算装置1302的传感器生成的数据,在操作1318,图13的处理可以结束。
205.然而,响应于第一计算装置1302确定中间计算装置1304订阅了所生成的交互式数据,在操作1320,第一计算装置1302可以确定该交互式数据是imu数据还是操纵杆数据。第一计算装置1302可以通过识别第一计算装置1302的处理电路用来接收交互式数据的端口或服务来这样做。例如,各个传感器或硬件部件可以通过不同的端口或服务来将数据发送至第一计算装置1302的处理电路。第一计算装置1302可以识别接收数据的端口或服务,并且基于所识别的端口或服务来识别发送该数据的传感器或硬件部件。
206.响应于第一计算装置1302确定交互式数据是imu数据还是操纵杆数据(例如,其由imu或操纵杆的传感器生成),在操作1322,第一计算装置1302可以过滤交互式数据。第一计算装置1302可以通过跨不同时间戳对交互式数据求平均和/或执行偏移补偿以减少漂移来过滤该交互式数据。第一计算装置1302可以通过识别交互式数据的值并且从该交互式数据中减去预定数量(例如,偏移)来执行偏移补偿。在一些实施方式中,第一计算装置1302可以响应于确定交互式数据是任何类型的数据而过滤交互式数据。
207.在操作1324,第一计算装置1302可以将交互式数据发送至中间计算装置1304。第一计算装置1302可以响应于在操作1322处被过滤的交互式数据来发送经过滤的交互式数据,或者响应于未被过滤的交互式数据来发送未经过滤的交互式数据。第一计算装置1302可以经由诸如但不限于蓝牙、低功耗蓝牙、wifi或者如上所述的任何其它通信接口或协议的无线或有线通信接口来将交互式数据发送至中间计算装置1304。
208.第一计算装置1302可以将所订阅的交互式数据作为至少一个数据串发送至中间计算装置1304。数据串可以包括与由imu的传感器生成的传感器数据相对应的值。所述值可以对应于第一计算装置1302的当前位置或取向。所述值都可以是值范围内的有符号16位整数值。例如,在一个实施方式中,值范围可以介于-32768至 32767之间。值范围可以介于任何数值之间。
209.在一些实施方式中,第一计算装置1302可以根据从imu的传感器获得的数据来生成包括与相同或相似时间(例如,在阈值内)相关联的一个或更多个数据串的传感器数据分组。数据串可以是包括预定数量(例如,10个)连结16位有符号整数值的所形成的连结数据串。例如,在一个实施方式中,所形成的连结数据串可以包括来自三个陀螺仪、三个加速度计、三个磁力计以及一个温度传感器的16位整数值。数据串可以包括由传感器生成的值和/或中间计算装置订阅的值。如果传感器未生成值或者如果中间计算装置1304以其它方式未订阅接收由传感器生成的数据,那么第一计算装置1302可以为与传感器相关联的数据串的位或值生成空值或零。
210.类似地,第一计算装置1302可以生成按照位阵列的、包括来自按钮的数据和/或从命令按钮或操纵杆的传感器获得的操纵杆数据的数据分组。第一计算装置1302可以收集来自操纵杆和命令按钮的传感器的值,并且生成包括这些值的位阵列。位阵列可以包括与传感器数据的连结数据串类似的连结数据串中的多个连结位。位阵列可以包括与命令按钮的状态相对应的位或者与操纵杆的x位置和/或y位置相对应的预定数量(例如,2个)16位有符号整数。在一些实施方式中,第一计算装置1302可以类似地包括按照位阵列的、由第一计算
装置1302的踏板系统的传感器生成的值。例如,第一计算装置1302可以响应于确定命令按钮被按压而生成与命令按钮相对应的位的数字“1”,并且响应于确定命令按钮未被按压或者命令按钮被以其它方式释放而生成同一位的数字“0”。第一计算装置1302可以针对各个命令按钮执行类似操作。
211.第一计算装置1302还可以通过生成与操纵杆的x轴位置相对应的第一值以及与操纵杆的y轴位置相对应的第二值来生成位阵列。操纵杆的一个或更多个传感器可以响应于检测到操纵杆移动以及该移动的幅度(例如,距中心位置或者距先前位置的距离)而生成x轴值和/或y轴值。所述值可以与远离校准位置或先前位置的移动的幅度成比例。操纵杆的所述一个或更多个传感器可以将所生成的值发送至第一计算装置1302的处理电路。处理电路可以从操纵杆的所述一个或更多个传感器接收各个值。第一计算装置1302可以将与操纵杆的x轴位置相对应的值、与操纵杆的y轴位置相对应的值和/或与所述按钮中的各个按钮的状态相对应的值连结成构成位阵列的连结数据串。在一些实施方式中,第一计算装置1302可以在与来自imu的传感器数据的数据串相同的数据分组中包括从操纵杆和/或命令按钮生成的数据串。如果操纵杆或命令按钮的传感器未生成值或者如果中间计算装置1304以其它方式未订阅接收由操纵杆或命令按钮的传感器生成的数据,那么第一计算装置1302可以为与传感器相关联的数据串的位或值生成空值或零。
212.第一计算装置1302可以向中间计算装置1304发送传感器数据分组和/或操纵杆数据和/或命令按钮数据的位阵列。第一计算装置1302可以以预定间隔(例如,每5毫秒、10毫秒、20毫秒等)伪随机地和/或在从中间计算装置1304接收到这种数据的请求后发送传感器数据分组。第一计算装置1302可以以任何速率向中间计算装置1304发送传感器数据分组和/或操纵杆数据和/或命令按钮数据的位阵列。第一计算装置1302可以通过在传感器数据分组中包括位阵列(例如,通过将位阵列连结至与相同或相似时间戳相关联的连结数据串)或者通过在单独的数据分组中发送位阵列来将位阵列发送至中间计算装置1304。
213.在操作1326,第一计算装置1302可以发送与第二计算装置1306建立通信会话的请求。第一计算装置1302可以经由中间计算装置1304用来与第一计算装置1302进行通信的通信接口不同的通信接口来发送请求。例如,第一计算装置1302可以经由低功耗蓝牙与中间计算装置进行通信,而中间计算装置1304可以经由wifi与第二计算装置1306进行通信。中间计算装置1304可以经由任何通信协议与第一计算装置1302和/或第二计算装置1306进行通信。
214.在操作1328,第二计算装置1306可以接收建立通信会话的请求并且在第二计算装置1306的代理与中间计算装置1304的应用之间建立传输层通信会话。第二计算装置1306可以经由第二计算装置1306的传输层服务器接收请求。第二计算装置1306的代理可以建立使得中间计算装置1304的应用能够与第二计算装置1306的代理进行通信的通信会话。在建立会话后,第二计算装置1306可以将指示成功建立会话的信号发送回中间计算装置1304。中间计算装置1304可以在中间计算装置1304的数据结构中存储指示响应于从第二计算装置1306接收到信号而建立了会话的指示。
215.在操作1330,中间计算装置1304可以确定中间计算装置1304是否从第一计算装置1302接收到交互式数据。在如上所述第一计算装置1302通过一个或更多个传感器生成数据并将所生成的数据发送至中间计算装置1304之后,中间计算装置1304可以接收交互式数
据。响应于从第一计算装置1302接收到交互式数据,中间计算装置1304可以确定接收到交互式数据。
216.响应于中间计算装置1304确定接收到交互式数据,在操作1332,中间计算装置1304可以确定是否与第二计算装置1306建立了会话。中间计算装置1304可以通过确定中间计算装置1304中是否存储有这种会话的指示来确定是否建立了会话。响应于中间计算装置1304确定不存在与第二计算装置1306的已建立会话的指示,图13的方法可以在操作1334结束。在一些实现中,步骤1332至步骤1334可以在步骤1330之前执行。
217.然而,响应于中间计算装置1304确定存在已建立会话的指示或者以其它方式建立了会话,在操作1336,中间计算装置1304可以从中间计算装置1304从第一计算装置1302接收到的交互式数据中提取至少一个数据串。所述至少一个数据串可以包括操纵杆数据和按钮数据和/或imu传感器数据的数据串。中间计算装置1304可以通过从第一计算装置发送的交互式数据的数据分组中读取所述至少一个数据串来提取所述至少一个数据串。
218.在操作1338,中间计算装置1304可以将所述至少一个数据串封装在传输层报头中。中间计算装置1304的应用可以将来自该应用的应用层的所述至少一个数据串封装在该应用的传输层报头中。在操作1340,中间计算装置1304可以经由应用将封装的一个或更多个数据串发送至第二计算装置1306。
219.在操作1342,第二计算装置1306可以确定第二计算装置1306是否从中间计算装置1304接收到任何传感器数据。传感器数据可以包括至少一个封装数据串,该至少一个封装数据串包括由一个或更多个传感器生成的数据。第二计算装置1306可以从中间计算装置1304接收作为包括封装的传感器数据的分组的传感器数据。第二计算装置1306可以经由第二计算装置1306的代理接收传感器数据,该第二计算装置1306的代理可以通过通信接口与中间计算装置1304的应用进行通信。响应于从中间计算装置1304接收到传感器数据,中间计算装置1304可以确定接收到传感器数据。
220.响应于接收到传感器数据,在操作1344,第二计算装置1306可以从传感器数据的封装数据串中提取数据。第二计算装置1306可以通过从封装数据串中读取数据来提取数据。第二计算装置1306可以从可以被包括在包括传感器数据的分组中的任何数量的封装数据串中提取数据。
221.在操作1346,经由代理,第二计算装置1306可以确定所提取的数据是与鼠标数据相关联还是与键盘数据相关联。第二计算装置1306可以通过识别供第二计算装置1306提取数据的数据串的位或索引值并且基于该位或索引值识别该索引值是与鼠标数据相关联还是与键盘数据相关联来这样做。鼠标数据可以是可以被用于蒙混计算装置上的鼠标输入的数据,诸如但不限于x轴或y轴上的检测到的移动、按钮点击或者鼠标上的轮的检测到的移动等。键盘数据可以是可以被用于蒙混计算装置上的键盘输入的数据。第二计算装置1306可以被配置成基于被存储在第二计算装置1306的数据库中的、位或索引值与鼠标数据或键盘数据之间的关联来将数据串的位或索引值与鼠标数据或键盘数据相关联。第二计算装置1306可以识别从数据串提取的数据的位或索引值,并且通过将该位或索引值与数据库进行比较来识别该位或索引值是与鼠标数据相关联还是与键盘数据相关联。
222.响应于第二计算装置1306确定所提取的数据不与鼠标数据(例如,键盘数据)相关联,在操作1348,并且经由代理,第二计算装置1306可以将该数据译码成键盘数据。第二计
算装置1306可以通过对所提取的数据应用预定规则集来将数据译码成键盘数据。例如,第二计算装置1306可以确定从第一计算装置1302的特定命令按钮提取的数据与字母“j”相关联。在接收到由命令按钮生成的数据后,第二计算装置1306的代理可以将该数据译码成标识字母j的数据。第二计算装置1306通过应用任何数量的规则来将数据译码成任何键盘输入。
223.响应于第二计算装置1306确定所提取的数据与鼠标数据相关联,在操作1350,并且经由代理,第二计算装置1306可以将该数据译码成鼠标数据。第二计算装置1306可以通过对所提取的数据应用预定规则集来将数据译码成鼠标数据。例如,第二计算装置1306可以确定从第一计算装置1302的imu传感器提取的数据与用户界面上的光标的移动相对应。第二计算装置可以接收第一计算装置1302被指向上方的指示,并且将与该指示相关联的数据译码成相应地传达光标向上移动的数据。第二计算装置1306通过应用任何规则和/或任何数量的规则来将数据译码成任何鼠标输入。
224.在操作1352,并且经由代理,第二计算装置1306可以向第二计算装置1306的虚拟人机接口装置提供所译码的提取数据。虚拟人机接口装置可以是被存储在第二计算装置1306的操作系统中的虚拟驱动器。虚拟人机接口装置可以蒙混可以被物理地插入到计算装置的端口中的hid适用硬件装置。第二计算装置1306可以通过将所译码的提取数据写入与虚拟人机接口装置相关联的存储器来向虚拟人机接口装置提供所译码的提取数据。
225.在一些实施方式中,第二计算装置1306可以在其操作系统中包括多个虚拟人机接口装置。例如,第二计算装置1306可以包括蒙混鼠标的虚拟人机接口和蒙混键盘的虚拟人机接口装置。第二计算装置1306可以在其操作系统中包括任何数量的虚拟人机接口装置。第二计算装置1306可以基于所译码的提取数据的类型来确定哪个虚拟人机接口装置提供所译码的提取数据。例如,第二计算装置1306可以基于在操作1346处作出的确定来将经所译码的提取数据的类型识别为鼠标数据。因此,第二计算装置1306可以向与鼠标相关联的虚拟人机接口装置提供所译码的提取数据。
226.在操作1354,第二计算装置1306可以对正被提供给中间计算装置1304的媒体流进行更新。媒体流可以是正由第二计算装置1306运行或处理的游戏或应用的用户界面。第二计算装置1306可以将游戏或应用的用户界面作为媒体流发送至中间计算装置1304,从而使该媒体流被显示。第二计算装置1306可以识别来自虚拟人机接口装置的输入,并且识别与游戏或应用相关联的对应动作。动作可以是诸如角色跳跃的游戏中动作或者诸如光标跨用户界面移动的另一动作。第二计算装置1306可以基于正被处理的游戏或应用以及游戏或应用的当前状态来确定动作。第二计算装置1306可以确定该动作并且根据该动作对媒体流进行更新。在操作1356,中间计算装置1304可以显示更新的媒体流。中间计算装置1304可以在中间计算装置1304的显示器上显示更新的媒体流。
227.例如,第二计算装置1306可以响应于接收到与指示第一计算装置1302被重新定向至左侧的imu数据相关联的鼠标数据来确定用户将第一计算装置1302重新定向至左侧。第二计算装置1306可以处理浏览器应用。第二计算装置1306可以对正向显示浏览器应用的用户界面的中间计算装置1304发送的媒体流进行更新,以将媒体流上的光标向左移动。
228.有利地,中间计算装置1304可以经由不同的通信接口与第一计算装置1302和第二计算装置1306进行通信。通过这样做,当第一计算装置1302和第二计算装置1306不具有彼
此兼容通信接口时,中间计算装置1304可以桥接第一计算装置1302与第二计算装置1306之间的通信。因此,第一计算装置1302可以与第二计算装置1306进行通信,而无需具有使得能够实现这两者之间的直接通信的通信接口。
229.结合本文公开的示例而描述的各种例示性逻辑框、模块、电路以及算法操作可以被实施为电子硬件、计算机软件或两者的组合。为了清楚地例示硬件和软件的这种可互换性,各种例示性部件、框、模块、电路以及操作已经在上文总体上按照它们的功能进行了描述。将这样的功能实现为硬件还是软件取决于施加在总体系统上的特定的应用和设计约束。技术人员可以针对各个特定应用以不同方式来实现所描述的功能,但是这种实现决定不应被解释为导致脱离本公开的范围。
230.用于实现结合本文公开的示例描述的各种例示性逻辑、逻辑框、模块以及电路的硬件可以利用以下项来实现或执行:通用处理器、dsp、asic、fpga或者被设计成执行本文描述的功能的其它可编程逻辑器件、离散门或晶体管逻辑、离散硬件部件或其任何组合。通用处理器可以是微处理器,但是在另选例中,处理器可以是任何常规处理器、控制器、微控制器或状态机。还可以将处理器实现为计算装置的组合,例如,dsp与微处理器的组合、多个微处理器的组合、一个或更多个微处理器结合dsp核心的组合或者任何其它这种配置。另选地,一些操作或方法可以由专用于给定功能的电路来执行。
231.在一些示例性示例中,可以以硬件、软件、固件或其任何组合来实现所描述的功能。如果以软件实现,则可以将功能作为一个或更多个指令或代码存储在非暂时性计算机可读存储介质或非暂时性处理器可读存储介质上。可以在处理器可执行软件模块中具体实施本文公开的方法或算法的操作,该处理器可执行软件模块可以驻留在非暂时性计算机可读或处理器可读存储介质上。非暂时性计算机可读或处理器可读存储介质可以是可以由计算机或处理器访问的任何存储介质。例如但不限于,这种非暂时性计算机可读或处理器可读存储介质可以包括ram、rom、eeprom、闪存存储器、cd-rom或其它光盘存储部、磁盘存储部或其它磁存储装置或者可以用于存储采用指令或数据结构的形式的所需程序代码并且可以由计算机访问的任何其它介质。如本文所使用的,磁盘和光盘包括压缩盘(cd)、激光盘、光盘、数字通用盘(dvd)、软盘以及蓝光盘,其中,磁盘通常以磁方式再现数据,而光盘利用激光来以光学方式再现数据。上述项的组合也被包括在非暂时性计算机可读和处理器可读介质的范围内。另外,方法或算法的操作可以作为代码和/或指令的一个或任何组合或者集合而驻留在可以被并入计算机程序产品中的非暂时性处理器可读存储介质和/或计算机可读存储介质上。
232.本文描述的主题有时例示了包含在不同的其它部件内或与其连接的不同部件。要理解,这样描绘的架构仅仅是示例性的,并且实际上,可以实现获得相同功能的许多其它架构。在概念意义上,用于获得相同功能的部件的任何布置都有效地“关联”,以获得希望功能。因而,这里为获得特定功能而组合的任何两个部件都可以被看作彼此“相关联”,以获得希望功能,而与架构或中间部件无关。同样地,这样关联的任何两个部件还可以被视作彼此“在工作时连接”,或“在工作时联接”,以获得希望功能,并且能够这样关联的任何两个部件也可以被视作彼此“在工作时可联接”,以获得希望功能。在工作时可联接的具体示例包括但不限于物理上可配合和/或物理上交互的部件和/或可无线地交互和/或无线地交互的部件和/或逻辑上交互和/或逻辑上可交互的部件。
233.针对本文中基本上任何复数和/或单数术语的使用,本领域技术人员可以针对上下文和/或应用在适当时从复数翻译成单数和/或从单数翻译成复数。为清楚起见,可以在本文中明确地阐述各种单数/复数置换。
234.本领域技术人员将理解,通常,本文使用的并且尤其是在所附权利要求(例如,所附权利要求的主体)中使用的用语通常旨在作为“开放式”用语(例如,用语“包括”应当解释为“包括但不限于”,用语“具有”应当解释为“至少具有”,用语“包含”应当解释为“包含但不限于”等)。本领域技术人员将进一步理解,如果意图陈述特定数量的引用的权利要求,则这种意图将在该权利要求中明确地陈述,并且在没有这些陈述的情况下,不存在这种意图。例如,为了帮助理解,所附权利要求可以包含使用介绍性短语“至少一个”和“一个或更多个”来介绍权利要求陈述。然而,使用这种短语不应被认为暗示由不定冠词“一(a)”或“一个(an)”介绍的权利要求陈述将包含这种介绍权利要求陈述的任何特定权利要求限制于仅包含一个这种陈述的发明,即使同一权利要求包括介绍性短语“一个或更多个”或“至少一个”以及诸如“一(a)”或“一个(an)”的不定冠词(例如,“一(a)”或“一个(an)”通常应当被解释成意指“至少一个”或“一个或更多个”);对于使用用于介绍权利要求陈述的定冠词也是如此。另外,即使明确地陈述了特定数量的引用的权利要求陈述,本领域技术人员也将认识到,这种陈述通常应当被解释成,至少意指所述数量(例如,“两个陈述”的纯陈述在没有其它修饰语的情况下通常意指至少两个陈述,或者两个或更多个陈述)。此外,在使用类似于“a、b以及c等中的至少一个”的惯例的那些情况下,通常,这种句法结构希望本领域技术人员在意义上理解这种惯例(例如,“具有a、b以及c中的至少一个的系统”应当包括但不限于具有单独a、单独b、单独c、a和b一起、a和c一起、b和c一起和/或a、b和c一起等的系统)。在使用类似于“a、b或c等中的至少一个”的惯例的那些情况下,通常,这种句法结构希望本领域技术人员在意义上应当理解这种惯例(例如,“具有a、b或c中的至少一个的系统”应当包括但不限于具有单独a、单独b、单独c、a和b一起、a和c一起、b和c一起和/或a、b以及c一起等的系统)。本领域技术人员还应当理解,实际上,呈现两个或更多个另选术语的任何转折词和/短语(无论在说明书中、权利要求中,还是在附图中)应当被理解成设想包括这些术语中一个、这些术语中的任一个或者两个术语的可能性。例如,短语“a或b”应当被理解成包括“a”或“b”或“a和b”的可能性。而且,除非另外加以指明,否则使用词语“近似”、“大约”、“大概”、“大致”等意指加减百分之十。
235.出于例示和描述的目的,呈现了例示性实施方式的前述描述。该描述不旨在是详尽的或者限于所公开精确形式,而是可以根据上述教导进行修改和改变,或者可以根据所公开实施方式的实践来获取。本发明的范围旨在通过所附权利要求及其等同物来限定。
再多了解一些

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

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

相关文献