首页 / 专利库 / 计算机网络 / 对等网络 / 视频游戏中共享控制权的分叉和传递控制权

视频游戏中共享控制权的分叉和传递控制权

阅读:141发布:2020-05-12

专利汇可以提供视频游戏中共享控制权的分叉和传递控制权专利检索,专利查询,专利分析的服务。并且本公开涉及交视频游戏中共享控制权的分叉和传递控制权。提供一种方法,包括:由 云 游戏计算机执行视频游戏;通过网络将从执行中的视频游戏生成的 视频流 式传输到主客户端设备;通过网络将视频从主客户端设备 流式传输 到一个或多个次客户端设备;通过网络由输入聚合 服务器 接收来自次客户端设备的输入数据;通过网络由输入聚合服务器将来自次客户端设备的输入数据发送到主客户端设备,主客户端设备被配置成通过组合来自次客户端设备的输入数据与在主客户端设备处生成的输入数据来生成组合的输入数据;通过网络由云游戏计算机接收组合的输入数据;由云游戏计算机应用组合的输入数据以驱动视频游戏的执行。,下面是视频游戏中共享控制权的分叉和传递控制权专利的具体信息内容。

1.一种方法,其包括:
游戏计算机执行视频游戏;
通过网络将从所述执行中的视频游戏生成的视频流式传输到主客户端设备;
通过所述网络将所述视频从所述主客户端设备流式传输到一个或多个次客户端设备;
通过所述网络由输入聚合服务器接收来自所述次客户端设备的输入数据;
通过所述网络由所述输入聚合服务器将来自所述次客户端设备的所述输入数据发送到所述主客户端设备,所述主客户端设备被配置成通过组合来自所述次客户端设备的所述输入数据与在所述主客户端设备处生成的输入数据来生成组合的输入数据;
通过所述网络由所述云游戏计算机接收所述组合的输入数据;
由所述云游戏计算机应用所述组合的输入数据以驱动所述视频游戏的所述执行。
2.如权利要求1所述的方法,其中所述组合的输入数据定义用于控制所述视频游戏中的单个玩家的活动的单个输入流。
3.如权利要求1所述的方法,其中所述组合的输入数据定义被映射到单个控制器设备的命令,所述单个控制器设备可操作地连接到所述主客户端设备。
4.如权利要求3所述的方法,
其中由所述组合的输入数据定义的所述命令包括映射到所述单个控制器设备的第一输入设备的第一命令,以及映射到所述单个控制器设备的第二输入设备的第二命令,其中所述第一命令由激活所述单个控制器设备处的所述第一输入设备启动,并且其中所述第二命令由激活次级控制器设备处的输入设备启动,所述次级控制器设备可操作地连接到所述次客户端设备中的一个。
5.如权利要求4所述的方法,其中由激活所述次级控制器设备处的所述输入设备启动的所述第二命令定义由所述次客户端设备通过所述输入聚合服务器对所述单个控制器设备的所述第二输入设备的远程虚拟触发。
6.如权利要求1所述的方法,其中将所述视频从所述主客户端设备流式传输到所述一个或多个次客户端设备通过包括所述主客户端设备和所述一个或多个次客户端设备的对等网络发生。
7.如权利要求1所述的方法,其中从所述执行中的视频游戏生成的所述视频定义虚拟环境的视图。
8.一种方法,其包括:
由云游戏计算机执行视频游戏;
由视频服务器通过网络将从所述执行中的视频游戏生成的视频流式传输到主客户端设备和一个或多个次客户端设备;
通过所述网络由输入聚合服务器接收来自所述主客户端设备的输入数据和来自所述次客户端设备的输入数据;
由所述输入聚合服务器使用来自所述主客户端设备的所述输入数据和来自所述次客户端设备的所述输入数据生成组合的输入数据;
由所述输入聚合服务器将所述组合的输入数据发送到所述云游戏计算机;
由所述云游戏计算机应用所述组合的输入数据以驱动所述视频游戏的所述执行。
9.如权利要求8所述的方法,其中所述组合的输入数据定义用于控制所述视频游戏中的单个玩家的活动的单个输入流。
10.如权利要求8所述的方法,其中所述组合的输入数据定义被映射到单个控制器设备的命令,所述单个控制器设备可操作地连接到所述主客户端设备。
11.如权利要求10所述的方法,
其中由所述组合的输入数据定义的所述命令包括映射到所述单个控制器设备的第一输入设备的第一命令,以及映射到所述单个控制器设备的第二输入设备的第二命令,其中所述第一命令由激活所述单个控制器设备处的所述第一输入设备启动,并且其中所述第二命令由激活次级控制器设备处的输入设备启动,所述次级控制器设备可操作地连接到所述次客户端设备中的一个。
12.如权利要求11所述的方法,其中由激活所述次级控制器设备处的所述输入设备启动的所述第二命令定义由所述次客户端设备通过所述输入聚合服务器对所述单个控制器设备的所述第二输入设备的远程虚拟触发。
13.如权利要求8所述的方法,其中从所述执行中的视频游戏生成的所述视频定义虚拟环境的视图。
14.一种系统,其包括:
云游戏计算机,所述云游戏计算机被配置来执行视频游戏,其中从所述执行中的视频游戏生成的视频通过网络流式传输到主客户端设备,所述主客户端设备被配置成通过所述网络将所述视频从所述主客户端设备流式传输到一个或多个次客户端设备;
输入聚合服务器,所述输入聚合服务器被配置成通过所述网络接收来自所述次客户端设备的输入数据,所述输入聚合服务器进一步被配置成通过所述网络将来自所述次客户端设备的所述输入数据发送到所述主客户端设备,所述主客户端设备被配置成通过组合来自所述次客户端设备的所述输入数据与在所述主客户端设备处生成的输入数据来生成组合的输入数据;
所述云游戏计算机被配置成通过所述网络从所述主客户端设备接收所述组合的输入数据,所述云游戏计算机进一步被配置成应用所述组合的输入数据以驱动所述视频游戏的所述执行。
15.如权利要求14所述的系统,其中所述组合的输入数据定义用于控制所述视频游戏中的单个玩家的活动的单个输入流。
16.如权利要求14所述的系统,其中所述组合的输入数据定义被映射到单个控制器设备的命令,所述单个控制器设备可操作地连接到所述主客户端设备。
17.如权利要求16所述的系统,
其中由所述组合的输入数据定义的所述命令包括映射到所述单个控制器设备的第一输入设备的第一命令,以及映射到所述单个控制器设备的第二输入设备的第二命令,其中所述第一命令由激活所述单个控制器设备处的所述第一输入设备启动,并且其中所述第二命令由激活次级控制器设备处的输入设备启动,所述次级控制器设备可操作地连接到所述次客户端设备中的一个。
18.如权利要求17所述的系统,其中由激活所述次级控制器设备处的所述输入设备启动的所述第二命令定义由所述次客户端设备通过所述输入聚合服务器对所述单个控制器设备的所述第二输入设备的远程虚拟触发。
19.如权利要求14所述的系统,其中将所述视频从所述主客户端设备流式传输到所述一个或多个次客户端设备通过包括所述主客户端设备和所述一个或多个次客户端设备的对等网络发生。
20.如权利要求14所述的系统,其中从所述执行中的视频游戏生成的所述视频定义虚拟环境的视图。

说明书全文

视频游戏中共享控制权的分叉和传递控制权

技术领域

[0001] 本公开涉及交互式应用(诸如视频游戏)中共享控制权的分叉和传递控制权。

背景技术

[0002] 视频游戏行业这些年已经发生了许多变化。随着计算能的扩展,视频游戏的开发者同样已经创建了利用这些增加的计算能力的游戏软件。为此目的,视频游戏开发者已对并入有复杂操作和数学运算的游戏进行编码,以产生非常细致且吸引人的游戏体验。
[0003] 示例性游戏平台包括Sony Sony (PS2)、Sony(PS3)、以及Sony (PS4),其中每一个都以游戏控制台的形式
销售。众所周知,游戏控制台被设计成连接到显示器(典型地是电视机),并且通过手持式控制器实现用户交互。游戏控制台被设计成具有专的处理硬件固件和软件,所述专门的处理硬件包括CPU、用于处理密集图形操作的图形合成器、用于执行几何变换的向量单元以及其他胶连硬件。游戏控制台可进一步被设计成具有用于接收游戏光盘的光盘读取器,以便通过游戏控制台进行本地游戏。在线游戏也是可能的,其中用户可通过互联网与其他用户交互地比赛或一起玩游戏。随着游戏复杂性不断地激起玩家的兴趣,游戏和硬件制造商不断进行革新来实现另外的交互性和计算机程序
[0004] 计算机游戏产业的发展趋势在于开发增加用户与游戏系统之间的交互的游戏。实现更丰富的交互体验的一种方式是使用无线游戏控制器,所述无线游戏控制器的移动由游戏系统跟踪以便跟踪玩家的移动并且使用这些移动作为游戏的输入。一般来说,示意动作输入涉及使诸如计算系统、视频游戏控制台、智能家电等电子设备对由玩家做出且由电子设备捕获的某种示意动作做出反应。
[0005] 实现更身临其境的交互体验的另一种方式是使用头戴式显示器(HMD)。头戴式显示器由用户佩戴,并且可被配置来呈现各种图形,诸如虚拟空间的视图。呈现在头戴式显示器上的图形可覆盖用户视野的很大一部分或甚至全部。因此,头戴式显示器可向用户提供视觉上身临其境的虚拟现实体验,因为HMD以响应于用户的移动的方式再现虚拟环境的三维实时视图。佩戴HMD的用户在所有方向上都可以自由移动,并且相应地可通过HMD被提供所有方向上的虚拟环境的视图。
[0006] 本公开的实现方式正是在这样的背景下产生。发明内容
[0007] 本公开的实现方式包括涉及交互式应用(诸如视频游戏)中共享控制权的分叉和传递控制权的设备、方法和系统。
[0008] 在一些实现方式中,提供一种方法,其包括以下方法操作:由游戏计算机执行视频游戏;通过网络将从所述执行中的视频游戏生成的视频流式传输到主客户端设备;通过所述网络将所述视频从所述主客户端设备流式传输到一个或多个次客户端设备;通过所述网络由输入聚合服务器接收来自所述次客户端设备的输入数据;通过所述网络由所述输入聚合服务器将来自所述次客户端设备的所述输入数据发送到所述主客户端设备,所述主客户端设备被配置成通过组合来自所述次客户端设备的所述输入数据与在所述主客户端设备处生成的输入数据来生成组合的输入数据;通过所述网络由所述云游戏计算机接收所述组合的输入数据;由所述云游戏计算机应用所述组合的输入数据以驱动所述视频游戏的所述执行。
[0009] 在一些实现方式中,所述组合的输入数据定义用于控制所述视频游戏中单个玩家的活动的单个输入流。
[0010] 在一些实现方式中,所述组合的输入数据定义被映射到单个控制器设备的命令,所述单个控制器设备可操作地连接到所述主客户端设备。
[0011] 在一些实现方式中,由所述组合的输入数据定义的所述命令包括映射到所述单个控制器设备的第一输入设备的第一命令,以及映射到所述单个控制器设备的第二输入设备的第二命令,其中所述第一命令由激活所述单个控制器设备处的所述第一输入设备启动,并且其中所述第二命令由激活次级控制器设备处的输入设备启动,所述次级控制器设备可操作地连接到所述次客户端设备中的一个。
[0012] 在一些实现方式中,由激活所述次级控制器设备处的所述输入设备启动的所述第二命令定义由所述次客户端设备通过所述输入聚合服务器对所述单个控制器设备的所述第二输入设备的远程虚拟触发。
[0013] 在一些实现方式中,将所述视频从所述主客户端设备流式传输到所述一个或多个次客户端设备通过包括所述主客户端设备和所述一个或多个次客户端设备的对等网络发生。
[0014] 在一些实现方式中,从所述执行中的视频游戏生成的所述视频定义虚拟环境的视图。
[0015] 在一些实现方式中,提供一种方法,其包括以下方法操作:由云游戏计算机执行视频游戏;由视频服务器通过网络将从所述执行中的视频游戏生成的视频流式传输到主客户端设备和一个或多个次客户端设备;通过所述网络由输入聚合服务器接收来自所述主客户端设备的输入数据和来自所述次客户端设备的输入数据;由所述输入聚合服务器使用来自所述主客户端设备的所述输入数据和来自所述次客户端设备的所述输入数据生成组合的输入数据;由所述输入聚合服务器将所述组合的输入数据发送到所述云游戏计算机;由所述云游戏计算机应用所述组合的输入数据以驱动所述视频游戏的所述执行。
[0016] 在一些实现方式中,所述组合的输入数据定义用于控制所述视频游戏中单个玩家的活动的单个输入流。
[0017] 在一些实现方式中,所述组合的输入数据定义被映射到单个控制器设备的命令,所述单个控制器设备可操作地连接到所述主客户端设备。
[0018] 在一些实现方式中,由所述组合的输入数据定义的所述命令包括映射到所述单个控制器设备的第一输入设备的第一命令,以及映射到所述单个控制器设备的第二输入设备的第二命令,其中所述第一命令由激活所述单个控制器设备处的所述第一输入设备启动,并且其中所述第二命令由激活次级控制器设备处的输入设备启动,所述次级控制器设备可操作地连接到所述次客户端设备中的一个。
[0019] 在一些实现方式中,由激活所述次级控制器设备处的所述输入设备启动的所述第二命令定义由所述次客户端设备通过所述输入聚合服务器对所述单个控制器设备的所述第二输入设备的远程虚拟触发。
[0020] 在一些实现方式中,从所述执行中的视频游戏生成的所述视频定义虚拟环境的视图。
[0021] 在一些实现方式中,提供一种系统,其包括以下各项:云游戏计算机,所述云游戏计算机被配置成执行视频游戏,其中从所述执行中的视频游戏生成的视频通过网络流式传输到主客户端设备,所述主客户端设备被配置成通过所述网络将所述视频从所述主客户端设备流式传输到一个或多个次客户端设备;输入聚合服务器,所述输入聚合服务器被配置成通过所述网络接收来自所述次客户端设备的输入数据,所述输入聚合服务器进一步被配置成通过所述网络将来自所述次客户端设备的所述输入数据发送到所述主客户端设备,所述主客户端设备被配置成通过组合来自所述次客户端设备的所述输入数据与在所述主客户端设备处生成的输入数据来生成组合的输入数据;所述云游戏计算机被配置成通过所述网络从所述主客户端设备接收所述组合的输入数据,所述云游戏计算机进一步被配置成应用所述组合的输入数据来驱动所述视频游戏的所述执行。
[0022] 在一些实现方式中,所述组合的输入数据定义用于控制所述视频游戏中单个玩家的活动的单个输入流。
[0023] 在一些实现方式中,所述组合的输入数据定义被映射到单个控制器设备的命令,所述单个控制器设备可操作地连接到所述主客户端设备。
[0024] 在一些实现方式中,由所述组合的输入数据定义的所述命令包括映射到所述单个控制器设备的第一输入设备的第一命令,以及映射到所述单个控制器设备的第二输入设备的第二命令,其中所述第一命令由激活所述单个控制器设备处的所述第一输入设备启动,并且其中所述第二命令由激活次级控制器设备处的输入设备启动,所述次级控制器设备可操作地连接到所述次客户端设备中的一个。
[0025] 在一些实现方式中,由激活所述次级控制器设备处的所述输入设备启动的所述第二命令定义由所述次客户端设备通过所述输入聚合服务器对所述单个控制器设备的所述第二输入设备的远程虚拟触发。
[0026] 在一些实现方式中,将所述视频从所述主客户端设备流式传输到所述一个或多个次客户端设备通过包括所述主客户端设备和所述一个或多个次客户端设备的对等网络发生。
[0027] 在一些实现方式中,从所述执行中的视频游戏生成的所述视频定义虚拟环境的视图。
[0028] 结合附图来阅读以下详细描述,本公开的其他方面和优点将变得显而易见,以下详细描述通过举例的方式来说明本公开的原理。

附图说明

[0029] 通过参考以下结合附图进行的描述可以更好地理解本公开,在附图中:
[0030] 图1概念性地示出根据本公开的实现方式的单个玩家的会话的控制权在若干个用户之间的分叉。
[0031] 图2概念性地示出根据本公开的实现方式的视频游戏实体的控制权在一组用户之间的传递。
[0032] 图3概念性地示出根据本公开的实现方式的用户团队控制视频游戏中的各种虚拟色。
[0033] 图4A示出根据本公开的实现方式的用于管理到视频游戏的协作输入的系统。
[0034] 图4B示出根据本公开的实现方式的用于管理到视频游戏的协作输入的系统。
[0035] 图5示出根据本公开的实现方式的用于执行视频游戏的拆分控制器游戏过程的方法。
[0036] 图6示出根据本公开的实现方式的用于团队视频游戏的方法,其中团队成员可彼此替换以控制视频游戏中的给定虚拟角色/实体。
[0037] 图7示出根据一个实现方式的HMD用户与客户端系统进行接口连接以及客户端系统向第二屏幕显示器(称为第二屏幕)提供内容的一个示例。
[0038] 图8是根据本公开的实现方式的游戏系统1600的框图

具体实施方式

[0039] 本公开的以下实现方式提供涉及交互式应用(诸如视频游戏)中共享控制权的分叉和传递控制权的设备、方法和系统。然而,对于本领域技术人员将显而易见的是,可在没有当前描述的特定细节中的一些或全部的情况下实践本公开。在其他情况下,没有详细描述众所周知的过程操作,以免不必要地混淆本公开。
[0040] 广泛地讲,本公开的实现方式提供了通过对视频游戏实体和角色的共享控制权来促进协作游戏的各种方法和系统。例如,在一些实现方式中,单个玩家的会话的控制权在两个或更多个远程用户之间分叉。通过举例的方式,一个用户可控制角色的给定动作,而另一个用户控制所述角色的不同动作。应当理解,这些动作可映射到单个初级控制器设备的各种输入设备。并且因此,输入设备的控制权在用户之间被拆分。当用户彼此远离时,他们的输入可被聚合,然后作为用于单个玩家的会话的单个输入流被应用。
[0041] 在另一个实现方式中,角色或其他视频游戏实体的控制权可从一个用户传递到另一个用户。在一些实现方式中,存在许多用户并且控制权以轮流的方式传递。以这种方式,让用户团队的每个成员轮流控制角色或视频游戏实体。
[0042] 对概念进行扩展,在另一个实现方式中,用户团队可控制视频游戏中有限数量的角色。也就是说,在视频游戏中存在可供控制的一定数量的角色,并且在团队中存在更大数量的用户。在任何给定时间,可指派团队中的不同用户来控制这些角色中的不同角色。例如,团队队长可关于视频游戏中的给定角色用一个用户替换另一个用户。
[0043] 为了便于描述,在本公开全篇中将参考视频游戏中的给定角色的控制权。然而,本领域技术人员将理解,当前描述的概念不但适用于视频游戏中的角色,而且适用于视频游戏中可由给定用户控制的任何实体。因此,术语角色可与视频游戏的可由给定用户控制的任何其他实体互换使用。并且更具体地说,角色或实体是传统上由单个用户控制的角色或实体。
[0044] 图1概念性地示出根据本公开的实现方式的单个玩家的会话的控制权在若干个用户之间的分叉。执行视频游戏,并且在参考标号100处示出由视频游戏的执行生成的视频。应当理解,在一些实现方式中,视频游戏由云游戏机执行,而在其他实现方式中,视频游戏由本地客户端机器(诸如游戏控制台或个人计算机,或者其他计算设备)执行。执行视频游戏来为给定用户找到视频游戏的会话。通过举例的方式,参考所示出的实现方式,可为用户
112进行的游戏过程定义视频游戏的会话。例如,用户112可启动视频游戏的执行,并且实例化的会话因此与用户112相关联。
[0045] 在常规的玩游戏场景中,用户112可操作控制器设备106以向执行中的视频游戏提供输入,以通过举例的方式控制由执行中的视频游戏定义的虚拟环境中的角色102(或其他视频游戏实体)。在所示出的实现方式中,控制器设备106被示出为包括各种输入设备,诸如操纵杆108、按钮110和触发器111。在正常的单用户玩游戏模式中,来自单个控制器设备106的输入设备的所有输入由用户112控制。
[0046] 然而,根据本公开的实现方式,提供了多用户玩游戏模式,由此可将输入分叉并指派给其他用户以进行控制。也就是说,使得其他用户能够以远程方式虚拟地控制控制器设备106的各部分。通过举例而不是限制的方式,参考所示出的实现方式,向另外的用户114和116提供控制控制器设备106的各部分的能力。例如,主用户112可控制操纵杆108,而次用户
114控制按钮110,并且另一个次用户116控制触发器111。应当理解,操纵杆108、按钮110和触发器111可各自对应于视频游戏中的不同功能或动作。例如,操纵杆108可被映射以控制角色102的移动(例如,奔跑、行走等),并且按钮110可被映射以控制角色102的动作(诸如跳跃或击打等),并且触发器111可控制角色102进行的射击动作(例如,发射武器)。以这种方式,给用户112、114和116中的每一个分配的任务是控制视频游戏中角色102的活动的特定子集。在单用户模式中,所有这些活动将由主用户112控制,然而在当前描述的多用户模式中,多个用户可通过以这种方式共享角色102的控制权来参与协作游戏过程。
[0047] 用户112、114和116远离彼此定位,并且因此应当理解,用户114和116不会物理地控制主用户的控制器设备106的输入设备。相反,通过本公开的系统使得用户114和116中的每一个能够在他们自己的本地环境中查看执行中的视频游戏的视频100,并且提供输入,这个输入所映射到的命令功能与他们已被指派的控制器设备106的输入设备的命令功能相同。以这种方式,用户114能够远程地并且虚拟地控制映射到按钮110的功能,而用户116能够远程地并且虚拟地控制映射到触发器111的功能。
[0048] 广泛地讲,次用户114和116中的每一个可操作他们自己相应的控制器设备,并且来自用户114和116中的每一个的输入可与来自操作控制器设备106的用户112的输入一起被传输和聚合,以提供被传输到执行中的视频游戏的组合的输入流,就好像组合的输入流仅源自控制器设备106一样。因此,虽然可为单个玩家(即,主用户112)定义视频游戏的会话,但是另外的用户114和116能够加入游戏过程并且提供对视频游戏中的角色102的可控制动作的一部分的控制。
[0049] 在一些实现方式中,主用户112可邀请次用户114和116加入他们的会话。另外,主用户112可向用户114和116授予权限,并且如上所述指派他们来控制游戏过程的各部分。在一些实现方式中,使得主用户112能够决定如何拆分控制权,也就是说,确定将哪些特定命令分配给哪些特定次用户。
[0050] 在一些实现方式中,次用户114或116在请求或被邀请共享控制器之前可首先观看由主用户112进行的视频游戏的游戏过程。通过举例的方式,用户112、114和116可以是社交网络上的好友,并且能够看到彼此何时正在参与游戏过程或在线。用户可接收关于彼此的游戏过程的通知,并且因此获得观看权并且可能参与如当前所描述的分叉控制。
[0051] 单个玩家的游戏过程的分叉控制的当前描述的概念可扩展到多玩家游戏会话场景。例如,继续参考图1的实现方式,可存在另一个主用户126,这个主用户126控制视频游戏中的角色104。如图所示,用户126操作具有各种输入设备的控制器设备118,所述各种输入设备被配置成向视频游戏提供输入以便控制角色104的动作。然而,类似于上述概念,在一些实现方式中,角色104的控制权可在若干用户之间分叉。因此,通过举例的方式,可向另外的用户128和130提供执行中的视频游戏的视频100,并且还向这些用户提供命令的控制的一部分,所述命令被映射到初级控制器设备118的输入设备。例如,当主用户126控制控制器设备118的操纵杆120时,用户128可控制按钮122,并且用户130可控制触发器124。如上所述,次用户128和130不能物理地控制按钮和触发器,因为他们位于远处。然而,他们提供被映射到指派给按钮和触发器的命令的输入,使得在与来自操作操纵杆120的主用户126的输入组合时,组合的输入被呈现为到执行中的视频游戏的单个输入流,就好像源自控制器设备118一样,以控制角色104的动作。
[0052] 应当理解,与单玩家游戏设置的通常情况相比,当前描述的分叉控制方案可使得更多用户能够参与给定视频游戏的游戏过程。此外,这可为游戏过程提供新的动态。例如,共享视频游戏中的给定角色或实体的控制权的用户可享受的挑战是,协调他们的活动以便实现视频游戏的目标。此外,协作地控制单个角色或实体的一组用户可形成团队,并且与同样协作地控制视频游戏中的另一个角色或实体的其他团队竞争。
[0053] 在另外的实现方式中,可存在用于给定游戏的模板,所述模板定义如何分配按钮或其他输入设备和命令。在一些实现方式中,用户可对模板进行投票或评价或者表达对模板的认可(例如,喜欢、赞赏等)。在一些实现方式中,这类模板和/或控制权的划分在给定游戏的全程中可改变。例如,在游戏的一个部分中,以一种方式拆分控制权可能是合理的,而在游戏的另一个部分中,以另一种方式拆分控制权可能是合理的。此外,在一些实现方式中,控制权的划分的转变可在游戏中的设定点处进行,或者可动态地响应于某些条件。应当理解,这可为游戏过程提供进一步的复杂性。
[0054] 图2概念性地示出根据本公开的实现方式的视频游戏实体的控制权在一组用户之间的传递。在所示出的实现方式中,许多用户参与视频游戏的游戏过程,这在参考标号200处概念性地示出。指派一组用户206、208、210和212来控制虚拟角色202。根据一些实现方式,虚拟角色202的控制权以轮流的方式从一个用户传递到另一个用户。例如,在第一时间段期间,虚拟角色202由用户206控制;在连续的第二时间段期间,虚拟角色202由用户208控制;并且在连续的第三时间段和第四时间段期间,虚拟角色202分别由用户210和用户212控制。在循环结束时,控制权返回到第一用户208,并且以轮流的方式再次循环通过这些用户。
[0055] 在一些实现方式中,每个用户被给予同等的时间量来控制角色。例如,用户206、208、210和212中的每一个可被给予两分钟的时间来控制虚拟角色202,在所述时间到期时控制权被传递到下一个用户。
[0056] 在其他实现方式中,给定用户被分配来控制角色的时间量可基于一个或多个因素而变化。例如,在一些实现方式中,更高的成就量或成就率得到的奖赏是增加的控制时间。例如,如果用户以预定义的速率或在给定的时间量内得分或以其他方式实现目标,那么他们可能能够继续控制角色另外的一段时间量;否则控制权被传递到下一个用户。在一些实现方式中,基于用户的技能平确定分配给给定用户来控制角色的时间量。例如,分配的时间量可与用户的技能水平反向相关,使得具有更低技能水平的用户被给予增加的时间量,而具有更高技能水平的用户被给予更少的时间量来控制角色。
[0057] 在一些实现方式中,用户控制角色,直到他或她决定放弃控制权,让给下一个用户(例如通过按压按钮或提供对此进行指示的输入)。在另一个实现方式中,当前用户控制角色,直到下一个用户打断当前用户以接管角色的控制权。在这种实现方式中,在下一个用户能够打断并接管控制权之前,当前用户可被给予最小的时间量。在一些实现方式中,当前没有控制角色的用户中的一些或全部可共同地确定何时将控制权传递到下一个用户。例如,当非控制用户中的一些或全部(例如,阈值量/百分比)指示应传递控制权时(例如通过按压按钮或提供另一个输入),可传递控制权。
[0058] 应当理解,在多玩家游戏中,可存在多个彼此协作或彼此竞争的角色。参考所示出的实现方式,视频游戏200可包括另一个虚拟角色204,所述另一个虚拟角色204同样由一组用户214、216、218和220控制。这些用户可控制虚拟角色204,方式与上文参考虚拟角色202所描述的方式类似。并且因此,他们可形成团队来与其他用户团队协作地或竞争地玩视频游戏200。
[0059] 应当理解,在一些实现方式中,视频游戏是云执行的视频游戏,而在其他实现方式中,视频游戏可由与用户中的一个相关联的本地客户端设备执行。
[0060] 在一些实现方式中,可组合上述概念中的一些。例如,给定角色的控制权可分叉成不同的控制权部分。然而,对于每个控制权部分,可能存在排队等待控制给定部分的多个用户。然后,排队等待的用户可以轮流的方式依次取得控制权,例如每个用户控制有限的时间量。例如,许多用户可各自轮流控制角色的给定动作,诸如跳跃或射击等。
[0061] 在一些实现方式中,多个用户可同时控制给定输入。例如,可聚合并处理来自多个用户的输入数据以确定输入的特定性质。通过举例的方式,在控制单个按钮的情况下,可聚合来自多个用户的按钮按压以确定控制的各个方面,诸如按钮被按下的定时、按钮被保持多长时间、按钮何时被释放等等。以这种方式,可在许多用户之间共享给定控制输入。应当理解,可采用各种方法来基于多个用户中的每一个的单独输入来确定共识输入。例如,在一些实现方式中,对于视频游戏中的给定时间单位,确定并应用最受欢迎的输入(例如,基于大多数用户的选择,或通过超过用户的阈值比例)。应当理解,在给定时刻最受欢迎的输入可通过不存在任何动作来定义。在一些实现方式中,并且来自各种用户的输入的平均值或中值可被确定并且作为共识输入被应用。
[0062] 应当理解,用于确定共识输入的特定方法的适用性可取决于所述特定输入的性质。例如,在二进制输入类型(诸如仅具有开启或关闭状态的按钮)的情况下,确定在给定时间哪个状态最受欢迎可能是有利的,因为这个结果可直接作为共识输入被应用。然而,在可包括宽范围的方向值和/或大小值的操纵杆输入的情况下,确定来自多个用户的操纵杆输入的平均值可能是有用的并且直接可应用。
[0063] 虽然已经参考(例如控制器设备的)特定输入设备描述了用于确定共识输入的上述方法,但是在其他实现方式中,可应用类似的概念以便确定哪些输入应用于视频游戏中由一组用户协作地控制的单个角色或实体。也就是说,对于同时由多个用户控制的给定角色,每个单独的用户例如通过他们相应的控制器设备和本地计算设备提供输入命令。聚合并处理来自多个用户的这些输入命令以确定用于给定角色的单个输入流(就好像来自单个控制器一样)。例如,每个用户可操作他们相应的控制器的按钮,这个按钮触发跳跃命令。在一些实现方式中,当在特定时间段内按压跳跃按钮的用户的数量超过预定义阈值(例如,总用户的比例超过阈值量,大多数人按压按钮等)时,跳跃命令被转发到视频游戏并且由角色执行。作为另一个示例,每个用户可操作控制角色的移动的操纵杆,并且跨所有用户确定聚合的操纵杆输入并且利用它来确定角色的移动。在一些实现方式中,确定聚合的操纵杆输入包括确定操纵杆输入值(诸如方向值和/或大小值)的平均值或中值。
[0064] 在另一个实现方式中,用户可各自具有一定量的虚拟货币(例如,在相应的账户中)并且能够使用虚拟货币来付款以获权在游戏中的某个时间接管控制权。在一些实现方式中,在给定时间付款最多的用户被给予角色的控制权。在一些实现方式中,当前正在玩游戏的用户可基于他们在视频游戏中的表现获得另外的虚拟货币。应当理解,虚拟货币也可通过除视频游戏之外的各种机制获得或买到,这些机制包括通过其他视频游戏的游戏过程、促销、直接购买等。
[0065] 在一些实现方式中,用户可对哪个特定用户可以控制给定输入或角色/实体进行投票。在一些实现方式中,在观看者中可能存在线观众,其可对哪个特定用户控制给定输入或角色/实体进行投票。
[0066] 图3概念性地示出根据本公开的实现方式的用户团队控制视频游戏中的各种虚拟角色。在所示出的实现方式中,多玩家视频游戏300被配置成具有彼此竞争的虚拟角色或其他虚拟实体的团队。例如,第一团队可由角色302、304、306和308组成。而另一个团队可由角色310、312、314和316组成。角色团队由相应的用户团队控制。在所示出的实现方式中,第一用户团队320控制第一角色团队的各种虚拟角色(角色302、304、306和308)。并且第二用户团队350控制第二角色团队的各种虚拟角色(角色310、312、314和316)。
[0067] 根据本公开的实现方式,用户团队中可存在的用户可能比视频游戏中他们相应的虚拟角色团队中可供控制的角色更多。因此,通过举例的方式,在所示出的实现方式中,第一用户团队320包括用户322、324、326、328、330、332、334、336、338和340。在任何给定时间,可指派第一团队320的用户的子集来控制第一角色团队的虚拟角色。例如,参考所示出的实现方式,用户324、326、332和340被示出为目前分别控制虚拟角色302、304、306和308。
[0068] 在一些实现方式中,用户团队中的用户中的一个可被指定为团队队长,具有选择或确定指派哪些特定用户来控制特定虚拟角色的能力。例如,用户322可以是团队320的团队队长,并且因此能够在他或她的团队的用户当中进行挑选,以确定在任何给定时间哪些人将控制第一角色团队的各种角色(302、304、306和308)。以这种方式,团队队长可策略性地利用团队的用户在视频游戏中进行有效的竞争。这可在视频游戏的游戏过程中添加另外的参与层。
[0069] 在一些实现方式中,团队队长可以访问玩家信息,这可帮助为团队队长利用他们团队中的可用用户提供信息。例如,可向团队队长显示信息,诸如玩家排名、技能评级、玩家游戏过程统计、玩家体验评级,或反映用户针对视频游戏的玩游戏能力的评估的其他信息。通过考虑这种信息,团队队长可理解他们团队中的用户的优势和劣势,并且基于这一理解相应地选择将哪些用户指派给哪些虚拟角色以及何时指派这些用户。此外,可跟踪活动的游戏过程会话期间用户的实时统计并且向团队队长显示所述实时统计。
[0070] 在一些实现方式中,在这种团队游戏场景中可利用社交网络。例如,系统可使得团队队长能够向他们的社交图谱的成员(例如,拥有特定技能或经验的成员)发送邀请。通过举例而不是限制的方式,这种邀请可通过社交网络或通过其他通信渠道(诸如电子邮件、文字消息、即时消息、通知等)发送。
[0071] 在一些实现方式中,可由在线系统收集并分析关于玩家技能集合的数据,并且可生成玩家简档。例如,系统可被配置成使用这种信息自动地指派玩家,以便平衡团队的技能集合以促进更均匀的竞争。
[0072] 同样地,参考所示出的实现方式,第二虚拟角色团队的虚拟角色由用户团队350控制,所述用户团队350包括用户352、354、356、358、360、362、364、366、368和370。如图所示,虚拟角色310、312、314和316目前分别由用户354、356、366和364控制。类似于上述概念,对控制虚拟角色的用户的特定指派可由团队队长确定,所述团队队长在所示出的实现方式中可以是用户352。
[0073] 另外,虽然团队队长322和352可分别控制他们的团队320和350的指派,但是应当理解,这可与本公开中描述的其他概念组合。例如,给定用户可控制给定虚拟角色的时间可能存在时间限制,从而要求团队队长不断地在时间限制到期时确定接下来谁将取得给定角色的控制权。在一些实现方式中,可能存在使用要求或激励,诸如要求或激励(例如,通过奖励或惩罚)团队队长在给定时间跨度内使用其团队的所有玩家,或使用玩家达到类似的时间量等。这种实现方式可帮助确保给定团队的所有用户在游戏过程期间都有机会参与控制虚拟角色。
[0074] 此外,在一些实现方式中,可存在基于技能水平对用户进行的自动重新平衡。例如,如果两个团队在玩游戏,并且一个团队比另一个团队技能更娴熟(例如,根据玩家游戏过程指标确定)或以明显的优势获胜(例如,赢得多个回合和/或获胜的次数超过阈值),那么在一个回合结束时,技能更娴熟的用户中的一些可被移动/交易到另一个团队。这有助于确保团队之间更均匀的技能分布,并且提供更公平的游戏过程,并且因此在游戏过程中提供更具吸引力的挑战。
[0075] 在一些实现方式中,玩家或控制权中的一个或多个可由系统(例如,自动程序(bot))进行计算机控制。这可以是解决团队技能水平不平衡的另一种方法。例如,当彼此竞争的团队的技能水平存在明显的差异时,当面对具有更高技能水平的另一个团队时,具有更低技能水平的团队可选择使用计算机控制的自动程序(例如,来控制虚拟角色或命令的子集)。另外,随着团队进步并且变得技能更娴熟时,可停用或关掉使用这种自动程序的能力。
[0076] 图4A示出根据本公开的实现方式的用于管理到视频游戏的协作输入的系统。在所示出的实现方式中,云视频游戏的会话402由云游戏机400执行。为了便于在本公开中进行描述,视频游戏的执行中的会话402也可简称为视频游戏,这对于本领域技术人员来说是显而易见的。在一些实现方式中,游戏机400是游戏控制台或等同于游戏控制台的硬件(诸如刀片服务器的单元)。游戏控制台的一个示例是Sony PlayStation 4游戏控制台。在一些实现方式中,游戏机400是被配置来为视频游戏会话402提供适当的执行环境的服务器计算机。例如,在一些实现方式中,这种服务器计算机可执行为视频游戏会话402提供执行环境的虚拟机。游戏机400可与其他游戏机一起位于数据中心中。
[0077] 在所示出的实现方式中,为主用户416定义视频游戏会话402。也就是说,生成视频游戏会话402以使得主用户416能够进行视频游戏的游戏过程。在一些实现方式中,视频游戏可以是主用户416所拥有或以其他方式可以访问(例如通过主用户的云游戏平台帐户)的视频游戏。广泛地讲,视频游戏会话402被配置来生成、维持并更新视频游戏的游戏状态,所述游戏状态定义视频游戏的变量的状态。视频游戏会话402通过网络410从主客户端设备412接收输入数据流,并且处理输入数据以更新游戏状态。视频游戏会话402利用游戏状态来再现视频游戏的视频,包括图像数据和音频数据两者,所述视频通过网络410被传递回主客户端设备412。在一些实现方式中,由执行中的视频游戏会话402生成的视频由视频服务器404进一步处理,诸如应用压缩或其他视频流式传输优化技术,其中视频服务器然后通过网络410将视频数据发送到主客户端设备412。主客户端设备412接收视频数据并且向显示设备再现所述视频数据,所述显示设备可与主客户端设备412(例如,电视、监视器、头戴式显示器或虚拟现实机等)分离或者并入到主客户端设备412(例如,膝上型计算机、平板计算机、智能电话等)中。
[0078] 如所示出的实现方式中所示,主用户416操作可操作地连接到主客户端设备412的输入设备414以便为视频游戏提供输入。输入设备414可以是适合于为视频游戏提供用户输入的任何种类的设备,诸如控制器设备、运动控制器、鼠标键盘、图像捕获设备或摄像机、(2D、3D、立体声、红外线等)麦克等。输入设备414响应于来自主用户416的活动而生成的数据由主客户端设备412处理以定义输入流,所述输入流通过网络410被传输到游戏机400以便由执行中的视频游戏会话402处理。
[0079] 根据本公开的实现方式,来自另外的次用户422和428的输入与来自主用户416的输入组合,以使得用户能够共同地向视频游戏供应输入流。为了使次用户422和428能够以这种方式参加为主用户416定义的会话,应当使得次用户能够观看由视频游戏会话402生成的视频。因此,在一些实现方式中,由视频服务器404传输的视频数据也通过网络传输到分别由次用户422和428操作的次客户端设备418和424。虽然示出两个次用户和对应的次客户端设备和输入设备,但是应当理解,可以存在任意数量的次用户和对应的客户端设备和输入设备。
[0080] 在一些实现方式中,视频通过网络410从主客户端设备412共享到次客户端设备418和424。换句话讲,由主客户端设备412接收的视频流可通过网络410再传输到次客户端设备。例如,可使用诸如WebRTC的实时通信协议来传输视频。在接收到视频时,次客户端设备向相应的显示器再现视频以供次用户查看。如上所述,这类显示器可与次客户端设备分离或并入到次客户端设备中。
[0081] 如图所示,次用户422操作连接到次客户端设备418的输入设备420。响应于与输入设备420的交互性或由输入设备420感测到的交互性,输入设备420将输入数据传输到次客户端设备418。类似地,次用户428操作输入设备426,所述输入设备426连接到次客户端设备424并且将输入数据传输到次客户端设备424。次客户端设备各自处理它们相应的输入数据并且将输入流传输到主客户端设备412。在一些实现方式中,来自次客户端设备的输入流被直接传输到主客户端设备。也就是说,次客户端设备418通过网络410将输入流传输到主客户端设备412;并且次客户端设备424通过网络410将另一个输入流传输到主客户端设备
412。应当理解,从次客户端设备传输到主客户端设备的每个输入流可由数据或命令组成,所述数据识别来自次用户的特定交互式输入,诸如识别特定输入设备激活状态(例如,特定按钮按压、操纵杆移动等)的数据,所述命令是针对视频游戏定义的由这种交互式输入产生的命令(例如,跳跃、开火、移动、转弯等命令)。
[0082] 主客户端设备412被配置成从次客户端设备418和424接收输入流,并且将它们与来自主用户416的交互式输入组合,以生成单个输入流,所述单个输入流通过网络410被传输到游戏机400以便由执行中的视频游戏会话402处理。以这种方式,视频游戏会话402看到单个输入流,并且输入处置方面需要对视频游戏作出很少的改变或不作改变,以促进多个用户以这种方式协作地供应输入。从视频游戏会话402的角度来看,它接收的单个输入流就好像只有主用户416正在玩视频游戏一样。
[0083] 根据上述体系结构,可实现如本文所描述的方法中的任一种,多个用户通过所述方法参加游戏过程。例如,在分叉控制场景中,主用户416、次用户422和次用户428可各自被指派来控制视频游戏中的角色的不同方面。仅出于说明的目的,考虑如下场景:其中可控制的并且在不同用户之间划分的不同方面是奔跑、跳跃和发射武器。因此,在这种场景中,来自输入设备414的输入数据将控制角色的奔跑,而来自次客户端设备418和424的输入流将分别控制跳跃和武器发射。主客户端设备与我们一起处理来自输入设备414的输入数据以及来自次客户端设备的输入流以生成单个输入流,所述单个输入流向视频游戏402提供命令以便控制视频游戏中的角色的所有这些方面。
[0084] 虽然已经参考分叉控制场景描述了前述场景,但是应当理解,根据本公开中描述的实现方式,输入流和输入数据可由主客户端设备412以各种方式组合。
[0085] 此外,应当理解,在视频游戏是多玩家视频游戏的情况下,可存在可共同地控制视频游戏中的其他角色的另外的主客户端设备和次客户端设备。
[0086] 在上述实现方式中,来自次客户端设备的输入流被直接传输到主客户端设备412。然而,当有太多次客户端设备连接到主客户端设备时,互联网服务提供商可将这种情况视为可疑的并且可采取动作,诸如限制连接的数量或阻止流量到达主客户端设备412。例如,大量次客户端设备连接到主客户端设备可被怀疑为构成分布式拒绝服务攻击。为了避免这类问题,在一些实现方式中,提供输入服务器406以处置来自次客户端设备的连接。输入服务器406可以是能够提供多个套接字以分别处置来自次客户端设备的输入流的套接字服务器。服务器406可包括输入聚合器逻辑408,所述输入聚合器逻辑408将次客户端设备的输入流组合成通过网络410传输到主客户端设备412的单个输入流。以这种方式,主客户端设备
412接收单个输入流,所述单个输入流是来自次客户端设备的输入流的组合或聚合,而不需要处置来自各种次客户端设备的多个输入流。
[0087] 在另一个实现方式中,各种主客户端设备和次客户端设备中的每一个被配置成将其相应的输入流发送到远程服务器406,所述远程服务器406被配置成聚合这些输入流并且生成用于视频游戏的单个输入流。然后,远程服务器406通过网络410将单个输入流传输到游戏机400以便由执行中的视频游戏会话402处理。以这种方式,远程服务器406例如使用输入聚合器逻辑408处置所有客户端设备的输入的聚合,并且可减少延迟时间,因为输入流在被传输到游戏机400之前不需要被传递回主客户端设备。在这种实现方式中,游戏机400被配置成输出如先前描述的视频,但是被配置成从远程服务器406而不是从主客户端设备412接收输入流。
[0088] 在另一个实现方式中,来自主客户端设备和次客户端设备的输入流中的每一个通过网络410被传输到游戏机400以便由视频游戏会话402处理。在这种实现方式中,视频游戏会话400对自己被配置成聚合各种输入流并且处理这些输入流以根据本文描述的方法促进协作游戏过程。
[0089] 图4B示出根据本公开的实现方式的用于管理到视频游戏的协作输入的系统。在所示出的实现方式中,视频游戏会话由主客户端设备412在本地执行。在一些实现方式中,来自次客户端设备的输入流通过网络410被传输到主客户端设备412。而在其他实现方式中,来自次客户端设备的输入流通过网络410被传输到输入服务器406,所述输入服务器406被配置成将这些输入流聚合成被传输到主客户端设备412的单个输入流。
[0090] 在任一种情况下,视频游戏会话402被配置成结合来自输入设备414的输入数据处理来自次客户端设备的输入流,以根据本公开中描述的实现方式实现各种模式的协作游戏过程。
[0091] 如前所述,向次客户端设备提供视频游戏的视频,使得次用户看到与主用户416基本上相同的视频游戏实时视图。在一些实现方式中,由视频游戏会话生成的视频由主客户端设备412通过网络410传输/流式传输到次客户端设备。在一些实现方式中,视频通过网络传输到单独的视频服务器430,所述视频服务器430继而处置所述视频到各种次客户端设备的流式传输。
[0092] 继续参考图4A和图4B的实现方式,在一些实现方式中,可在本地资源与云/远程服务器资源之间动态地分配处理的各个部分的执行和处置。例如,在一些实现方式中,取决于各种因素/条件,执行中的视频游戏会话的视频到次客户端设备的流式传输可由主客户端设备处置或可被卸载到远程视频服务器。通过举例的方式,这类条件可包括向其流式传输视频的次客户端设备的数量、主客户端设备的网络连接的质量、主客户端设备的本地资源(例如,处理器和存储器资源)、主客户端设备上的负载等。例如,如果次客户端设备的数量变得太高(例如,超过阈值数量),或者视频流式传输的质量下降到低于阈值水平,或者延迟时间超过阈值量,或者流式传输性能以其他方式下降到低于可接受水平,那么视频流式传输的处置可从主客户端设备转移到远程视频流式传输服务器。
[0093] 另外,在一些实现方式中,输入聚合可由主客户端设备或远程服务器处置,并且基于现有条件动态地切换。应当理解,这类条件可包括关于视频流式传输的处置的上述条件中的任一个,但是出于确定是否以及何时在客户端设备与远程服务器之间转移输入聚合的处置的目的被应用。因此,可在本地资源与云资源之间独立地分配视频流式传输的处置和输入聚合的处置,并且可将这些处置中的任一个卸载到与主机客户端不同的单独服务器。
[0094] 另外,区分仅对收看或观看感兴趣的用户与对参加和控制感兴趣的用户可能是有用的。例如,在处置视频流式传输时,可能存在的优先排序是:主动参加控制视频游戏的一些方面的玩家优先于没有主动参加这种方式的观众。应当理解,这种优先排序可应用于给定的玩家组或队列或团队中,如在本文的某些实现方式中所论述,其中主动参与游戏过程控制的那些优先于没有主动参与游戏过程控制的那些。
[0095] 在一些实现方式中,可基于社交网络中相对于主用户的接近度来对用户进行优先排序。
[0096] 本公开的实现方式使得不同的用户能够控制视频游戏中的虚拟角色/实体和/或命令的子集。因此,存在的问题是,识别哪个用户当前正在控制给定虚拟角色/实体和/或给定命令。因此,在一些实现方式中,系统被配置成将图形叠加到游戏过程视频流上,这些图形指示哪些用户正在控制视频游戏中的哪些虚拟角色或命令。在一些实现方式中,单独的用户可通过其屏幕名称、用户id、化身等在这类叠加图形中被识别。此外,在一些实现方式中,有可能对这类叠加进行定制和个性化,诸如动画(例如,在火焰中的用户名称或由漂浮的心包围的用户名称)、字体、颜色等。
[0097] 在另一个实现方式中,视频游戏可提供API以使得能够在游戏过程视频流中显示识别哪些用户正在控制哪些角色或命令的信息。例如,系统可访问API以供应相关信息,使得所述信息可再现在游戏过程视频流中。使用这种设置,视频游戏可在游戏过程的背景中整合并再现识别信息。例如,可以某种方式再现识别信息,这种方式在视频游戏的虚拟空间中以三维的方式跟随虚拟角色/实体。
[0098] 在另一个实现方式中,图形的叠加或整合可被配置来显示由特定用户供应的输入。例如,在如本文所描述的分叉控制场景中,控制器设备的图形可被显示,并且进一步可被配置成以图形的方式示出用户何时启动对应于控制器设备的输入设备的各种控制输入。
[0099] 图5示出根据本公开的实现方式的用于执行视频游戏的拆分控制器游戏过程的方法。在方法操作500处,主用户(主机用户)和一个或多个远程次用户登录到实现用户之间的通信的游戏平台。为了易于描述,将参考单个次用户来描述本方法;然而,应当理解,本方法也可应用于多个次用户。在方法操作502处,主用户向次用户发送加入共享的游戏过程会话的邀请。邀请可作为通知、私人消息等呈现给次用户。在一些实现方式中,游戏平台可被配置来访问其他通信渠道,例如单独的社交网络、电子邮件、文字消息服务等,并且通过这类渠道发送邀请。应当理解,在这类实现方式中,次用户可能在接收到邀请之前并未登录到游戏平台中,而是在接收到邀请之后登录。
[0100] 在方法操作504处,响应于次用户接受邀请,随后与次用户共享主用户的视频流。应当理解,取决于系统设置,可以不同的方式共享主用户的视频流。例如,在云游戏实现方式中,云游戏系统可向次用户的系统(例如,游戏控制台、计算机等)提供主用户的视频流的克隆版本。在本地游戏实现方式中,主用户的视频流可通过网络(任选地通过远程视频服务器)从主用户的系统(例如,游戏控制台、计算机等)共享到次用户的系统。通过接收主用户的视频流,次用户将能够看到主用户正在查看的相同内容。
[0101] 在方法操作506处,主用户启动视频游戏的执行。同样,在一些实现方式中,视频游戏可以是由云游戏系统执行的云,或者在一些实现方式中,可由主用户的系统在本地执行。因为正在与次用户共享主用户视频流,所以随后次用户也将看到视频游戏的执行。
[0102] 在方法操作508处,主用户例如通过激活控制器共享界面来启动与次用户共享其控制器的请求。在一些实现方式中,控制器共享界面提供用于共享控制器的选项,诸如共享整个控制器(将控制权交给次用户)或共享控制器的一部分。在本实例中,主用户选择与次用户共享其控制器的一部分,使得次用户控制映射到主用户的控制器设备的输入设备的一部分的命令。作为所述过程的一部分,共享控制器的请求可导致向次用户发出通知,这个通知告知次用户主用户希望共享其控制器并且请求次用户接受/同意这样做。
[0103] 在方法操作512处,任选地在次用户这样接受时,然后启动拆分控制器游戏过程。也就是说,主用户的控制器设备的一部分由次用户虚拟地控制。在一些实现方式中,在这种拆分控制器游戏过程期间,主用户的控制器设备的共享部分在由次用户控制时被停用。
[0104] 在方法操作514处,任选地作为促进拆分/分叉控制器游戏过程的一部分,来自主用户和次用户的输入在被传输到执行中的视频游戏之前被聚合。换句话说,对应于主用户控制器设备的由次用户控制的那部分的输入部分与来自主用户的输入合并,以形成传输到执行中的视频游戏的单个输入流。以这种方式,视频游戏接收输入,就好像它们来自单个控制器设备一样。
[0105] 在方法操作516处,聚合的输入由执行中的视频游戏应用以更新视频游戏的游戏状态并且再现游戏过程视频。如前所述,再现的游戏过程视频被连续地流式传输到主用户和次用户。
[0106] 图6示出根据本公开的实现方式的用于团队视频游戏的方法,其中团队成员可彼此替换以控制视频游戏中的给定虚拟角色/实体。在方法操作600处,用户登录到支持团队视频游戏的游戏平台。例如,在一些实现方式中,游戏平台是云游戏平台,所述云游戏平台使得既远离云游戏平台又远离彼此定位的用户能够通过网络(诸如和/或包括互联网)访问云游戏平台。云游戏平台可提供用于执行视频游戏和将视频流式传输到用户的客户端设备。在方法操作602处,提供团队游戏会话。在一些实现方式中,通过游戏平台,例如在提供对云游戏平台的视频游戏选项的访问的“大厅”区域或其他界面中,显示团队游戏会话的可用性。
[0107] 在方法操作604处,用户请求加入团队游戏会话,并且被添加到团队游戏会话。在一些实现方式中,用户对加入团队游戏会话的邀请做出响应。在方法操作606处,将用户指派给团队。在一些实现方式中,用户可选择或指示对特定团队的偏好。在一些实现方式中,由系统例如基于技能水平或能力将用户指派给特定团队以便提供平衡的团队。在方法操作608处,为每个团队指定团队队长。在一些实现方式中,给定团队的成员投票确定他们的团队队长。在一些实现方式中,系统将一个成员指派为团队队长。在一些实现方式中,团队队长指派可响应于用户请求或自动地(例如,在游戏过程的各回合之间)轮转。
[0108] 在方法操作610处,团队队长控制其团队成员到可用的控制时隙的指派,以控制视频游戏中的各个虚拟角色或实体。也就是说,对于每个玩家团队,存在有限数量的可用虚拟角色要控制。换句话说,对于每个用户团队,在视频游戏中存在他们可控制的虚拟角色“团队”。给定团队的团队队长可确定其团队中的哪个特定用户将控制给定虚拟角色。
[0109] 在将用户初始指派给虚拟角色之后,在方法操作612处,启动团队游戏过程。在方法操作614处,给定用户团队的团队队长可启动将虚拟角色的控制权从第一团队成员切换到第二团队成员的请求。在方法操作616处,相应地将虚拟角色的控制权从第一团队成员传递到第二团队成员。这样,来自第一团队成员的输入不再控制虚拟角色,而来自第二团队成员的输入现在控制虚拟角色。
[0110] 虽然已经参考云游戏大体描述了前述实现方式,但是在其他实现方式中,团队视频游戏可由用户的本地客户端设备中的至少一个在本地执行。
[0111] 图7示出HMD 1302用户1300与客户端系统1306进行接口连接以及客户端系统1306向第二屏幕显示器(称为第二屏幕1307)提供内容的一个示例。应当理解,代替HMD 1302,可替换成能够在上面向用户1300再现交互内容的任意其他类型的显示设备(例如,电视、监视器、膝上型计算机显示器、移动设备显示器等)。客户端系统1306可包括用于处理从HMD 1302到第二屏幕1307的内容共享的集成电子器件。其他实现方式可包括将在客户端系统与HMD 1302和第二屏幕1307中的每一个之间进行接口连接的单独的设备、模、连接器。在这个一般示例中,用户1300佩戴HMD 1302并且使用控制器(也可以是接口对象1304)来玩视频游戏。由用户1300进行的交互式玩法将产生被交互地显示给HMD 1302的视频游戏内容(VGC)。
[0112] 在一个实现方式中,正在HMD 1302中显示的内容被共享给第二屏幕1307。在一个示例中,观看第二屏幕1307的人可查看由用户1300在HMD 1302中交互地玩的内容。在另一个实现方式中,另一个用户(例如,玩家2)可与客户端系统1306交互以产生第二屏幕内容(SSC)。由也与控制器1304交互的玩家产生的第二屏幕内容(或任意类型的用户界面、示意动作、语音或输入)可作为SSC被产生到客户端系统1306,所述SSC可与从HMD 1302接收的VGC一起显示在第二屏幕1307上。
[0113] 因此,可与HMD用户位于一处或远离HMD用户的其他用户进行的交互性可以是社交的、交互式的,并且对于用户1300和可能正在第二屏幕1307上查看由用户1300玩的内容的用户两者来说更身临其境。如图所示,客户端系统1306可连接到互联网1310。互联网还可向客户端系统1306提供对来自各种内容源1320的内容的访问。内容源1320可包括可通过互联网访问的任意类型的内容。
[0114] 这种内容可包括而不限于视频内容、电影内容、流式传输内容、社交媒体内容、新闻内容、好友内容、广告内容等。在一个实现方式中,客户端系统1306可用于同时处理HMD用户的内容,使得在游戏过程期间向HMD提供与交互性相关联的多媒体内容。然后,客户端系统1306还可向第二屏幕提供可能与视频游戏内容无关的其他内容。在一个实现方式中,客户端系统1306可从内容源1320中的一个或从本地用户或远程用户接收第二屏幕内容。
[0115] 图8是根据本公开的实现方式的游戏系统1600的框图。游戏系统1600被配置来通过网络1615向一个或多个客户端1610提供视频流。游戏系统1600通常包括视频服务器系统1620和任选的游戏服务器1625。视频服务器系统1620被配置来以最低的服务质量向一个或多个客户端1610提供视频流。例如,视频服务器系统1620可接收改变视频游戏的状态或所述视频游戏内的视角的游戏命令,并且以最小的滞后时间向客户端1610提供反映这种状态变化的更新后的视频流。视频服务器系统1620可被配置来以广泛多种替代视频格式(包括还未定义的格式)提供视频流。此外,视频流可包括被配置用于以广泛多种速率呈现给用户的视频帧。典型的帧速率是每秒30帧、每秒60帧和每秒120帧。但是本公开的替代实现方式中包括更高或更低的帧速率。
[0116] 在本文中被单独称为1610A、1610B等的客户端1610可包括头戴式显示器、终端、个人计算机、游戏控制台、平板计算机、电话、机顶盒、信息亭、无线设备、数字板、独立设备、手持式玩游戏设备和/或类似设备。通常,客户端1610被配置来接收经编码的视频流,对视频流进行解码,并且将所得的视频呈现给用户,例如游戏玩家。接收经编码的视频流和/或对视频流进行解码的过程通常包括将各单独的视频帧存储在客户端的接收缓冲器中。可在与客户端1610成一体的显示器上或在诸如监视器或电视机的单独设备上将视频流呈现给用户。客户端1610任选地被配置来支持超过一个游戏玩家。例如,游戏控制台可被配置来支持两个、三个、四个或更多个同时的玩家。这些玩家中的每一个可接收单独的视频流,或单个视频流可包括特别针对每个玩家而生成(例如,基于每个玩家的视角而生成)的帧的区。客户端1610任选地在地理上分散。游戏系统1600中所包括的客户端的数量可从一个或两个广泛变化到几千个、几万个或更多个。如本文中所使用,术语“游戏玩家”用于指玩游戏的人,并且术语“玩游戏设备”用于指用于玩游戏的设备。在一些实现方式中,玩游戏设备可指合作来向用户输送游戏体验的多个计算装置。例如,游戏控制台和HMD可与视频服务器系统1620合作来输送通过HMD查看的游戏。在一个实现方式中,游戏控制台从视频服务器系统
1620接收视频流,并且游戏控制台将视频流或对视频流的更新转发给HMD以便进行再现。
[0117] 客户端1610被配置来通过网络1615接收视频流。网络1615可以是任何类型的通信网络,其包括电话网络、互联网、无线网络、电力线网络、局域网、广域网、私有网络和/或类似网络。在典型的实现方式中,通过诸如TCP/IP或UDP/IP的标准协议来传达视频流。可替代地,通过专有标准来传达视频流。
[0118] 客户端1610的典型示例是个人计算机,所述个人计算机包括处理器、非易失性存储器、显示器、解码逻辑、网络通信能力以及输入设备。解码逻辑可包括硬件、固件和/或存储在计算机可读介质上的软件。用于对视频流进行解码(和编码)的系统在本领域中是熟知的,并且根据所使用的具体编码方案而变化。
[0119] 客户端1610可(但不需要)还包括被配置用于修改接收到的视频的系统。例如,客户端可被配置来:执行进一步再现,将一个视频图像叠加在另一个视频图像上,修剪视频图像,和/或进行类似操作。例如,客户端1610可被配置来接收各种类型的视频帧,诸如I帧、P帧和B帧,并且被配置来将这些帧处理成图像以向用户显示。在一些实现方式中,客户端1610的构件被配置来对视频流执行进一步再现、阴影处理、转换成3-D或进行类似操作。客户端1610的构件任选地被配置来接收超过一个音频或视频流。客户端1610的输入设备可包括:例如,单手游戏控制器、双手游戏控制器、示意动作辨别系统、注视辨别系统、语音辨别系统、键盘、操纵杆、指向设备、力反馈设备、运动和/或位置感测设备、鼠标、触摸屏、神经接口、摄像机、还未开发出的输入设备和/或类似设备。
[0120] 客户端1610所接收的视频流(和任选的音频流)是由视频服务器系统1620生成并提供的。如在本文其他地方进一步描述的,这个视频流包括视频帧(并且音频流包括音频帧)。视频帧被配置成(例如,它们包括在适当数据结构中的像素信息)在很大程度上构成向用户显示的图像。如本文中所使用,术语“视频帧”用于指主要包括被配置来构成(例如实现)展示给用户的图像的信息的帧。本文中关于“视频帧”的大部分教义也可适用于“音频帧”。
[0121] 客户端1610通常被配置来从用户接收输入。这些输入可包括游戏命令,所述游戏命令被配置来改变视频游戏的状态或以其他方式影响游戏过程。可使用输入设备接收游戏命令,并且/或者可由在客户端1610上执行的计算指令自动生成游戏命令。将接收到的游戏命令通过网络1610从客户端1615传达到视频服务器系统1620和/或游戏服务器1625。例如,在一些实现方式中,将游戏命令通过视频服务器系统1625传达到游戏服务器1620。在一些实现方式中,将游戏命令的单独拷贝从客户端1610传达到游戏服务器1625和视频服务器系统1620。游戏命令的传达任选地取决于命令的标识。通过用来向客户端1610A提供音频或视频流的不同路线或通信信道,任选地从客户端1610A传达游戏命令。
[0122] 游戏服务器1625任选地由不同于视频服务器系统1620的实体来操作。例如,游戏服务器1625可由多玩家游戏的发行商来操作。在这个示例中,视频服务器系统1620任选地被游戏服务器1625视为客户端,并且任选地被配置成(从游戏服务器1625的视角看)表现为执行现有技术游戏引擎的现有技术客户端。视频服务器系统1620与游戏服务器1625之间的通信任选地通过网络1615发生。因此,游戏服务器1625可以是向多个客户端发送游戏状态信息的现有技术多玩家游戏服务器,所述客户端中的一个是视频服务器系统1620。视频服务器系统1620可被配置来同时与游戏服务器1625的多个实例通信。例如,视频服务器系统1620可被配置来向不同用户提供多个不同视频游戏。这些不同视频游戏中的每一个可由不同游戏服务器1625支持和/或由不同实体发行。在一些实现方式中,视频服务器系统1620的一些地理上分布式实例被配置来向多个不同用户提供游戏视频。视频服务器系统1620的这些实例中的每一个可与游戏服务器1625的相同实例通信。视频服务器系统1620与一个或多个游戏服务器1625之间的通信任选地通过专用通信信道发生。例如,视频服务器系统1620可通过高带宽信道连接到游戏服务器1625,所述高带宽信道专门用于这两个系统之间的通信。
[0123] 视频服务器系统1620至少包括:视频源1630、I/O设备1645、处理器1650以及非暂时性存储设备1655。视频服务器系统1620可包括一个计算设备或分布在多个计算设备当中。这些计算设备任选地通过诸如局域网的通信系统连接起来。
[0124] 视频源1630被配置来提供视频流,例如,流式视频或形成运动图片的一系列视频帧。在一些实现方式中,视频源1630包括视频游戏引擎和再现逻辑。视频游戏引擎被配置来:从玩家接收游戏命令,并且基于接收到的命令维持视频游戏的状态的拷贝。这个游戏状态包括游戏环境中的对象的位置,并且通常包括视角。游戏状态还可包括对象的性质、图像、颜色和/或纹理。通常基于游戏规则以及游戏命令(诸如,移动、转弯、攻击、设置焦点、交互、使用和/或类似命令)来维持游戏状态。游戏引擎的部分任选地设置在游戏服务器1625内。游戏服务器1625可基于使用地理上分散的客户端从多个玩家接收到的游戏命令来维持游戏状态的副本。在这些情况下,游戏服务器1625将游戏状态提供给视频源1630,在其中存储游戏状态的副本并且执行再现。游戏服务器1625可通过网络1615直接从客户端1610接收游戏命令,和/或可通过视频服务器系统1620接收游戏命令。
[0125] 视频源1630通常包括再现逻辑,例如硬件、固件和/或存储在计算机可读介质(诸如存储设备1655)上的软件。这个再现逻辑被配置来基于游戏状态创建视频流的视频帧。所述再现逻辑的全部或部分任选地设置在图形处理单元(GPU)内。再现逻辑通常包括被配置用于确定对象之间的三维空间关系并且/或者用于基于游戏状态和视角来应用适当的纹理等的处理级。再现逻辑产生原始视频,所述原始视频随后通常被编码,然后传达给客户端1610。例如,原始视频(可包括音频)可根据Adobe 标准、.wav、H.264、H.263、On2、VP6、VC-1、WMA、Huffyuv、Lagarith、MPG-x.Xvid.FFmpeg、x264、VP6-8、realvideo、mp4、mp3等进行编码。编码过程产生视频流,所述视频流任选地被打包以便输送到远程设备上的解码器。视频流由帧大小和帧速率来表征。典型的帧大小包括800 x 600、1280 x 720(例如
720p)、1024 x 768,但是可使用任何其他帧大小。帧速率是每秒的视频帧数。视频流可包括不同类型的视频帧。例如,H.264标准包括“P”帧和“I”帧。I帧包括用来刷新显示设备上的全部宏块/像素的信息,而P帧包括用来刷新所述宏块/像素的子集的信息。P帧的数据大小通常小于I帧。如本文中所使用,术语“帧大小”意图指帧内的像素数。术语“帧数据大小”用来指存储所述帧所需的字节数。
[0126] 在替代实现方式中,视频源1630包括诸如摄像机的视频录制设备。这个摄像机可用来生成可包括在计算机游戏的视频流中的延迟视频或实况视频。所得的视频流任选地包括再现的图像和使用静态摄像机或视频摄像机录制的图像。视频源1630还可包括被配置来存储将要包括在视频流中的先前录制视频的存储设备。视频源1630还可包括:被配置来检测对象(例如,人)的运动或位置的运动或定位感测设备;以及被配置来基于检测到的运动和/或位置来确定游戏状态或产生视频的逻辑。
[0127] 视频源1630任选地被配置来提供叠加,所述叠加被配置来放在其他视频上。例如,这些叠加可包括命令界面、登入指令、发给游戏玩家的消息、其他游戏玩家的图像、其他游戏玩家的视频馈送(例如,网络摄像机视频)。在客户端1610A包括触摸屏界面或注视检测界面的实现方式中,所述叠加可包括虚拟的键盘、操纵杆、触摸板和/或类似物。在叠加的一个示例中,将玩家的语音叠加在音频流上。视频源1630任选地还包括一个或多个音频源。
[0128] 在视频服务器系统1620被配置成基于来自超过一个玩家的输入来维持游戏状态的实现方式中,每个玩家可具有不同视角,所述视角包括位置和观看方向。视频源1630任选地被配置来基于玩家的视角为每个玩家提供单独的视频流。此外,视频源1630可被配置来向客户端1610中的每一个提供不同的帧大小、帧数据大小和/或编码。视频源1630任选地被配置来提供3-D视频。
[0129] I/O设备1645被配置以供视频服务器系统1620用来发送和/或接收信息,诸如视频、命令、对信息的请求、游戏状态、注视信息、设备运动、设备位置、用户运动、客户端身份、玩家身份、游戏命令、安全信息、音频和/或类似信息。I/O设备1645通常包括诸如网卡或调制解调器的通信硬件。I/O设备1645被配置来与游戏服务器1625、网络1615和/或客户端1610通信。
[0130] 处理器1650被配置来执行本文中论述的视频服务器系统1620的各种部件内所包括的逻辑,例如软件。例如,处理器1650可用软件指令编程以便执行视频源1630、游戏服务器1625和/或客户端限定器1660的功能。视频服务器系统1620任选地包括处理器1650的超过一个实例。处理器1650还可用软件指令编程以便执行视频服务器系统1620所接收的命令,或协调本文中论述的游戏系统1600的各种元件的操作。处理器1650可包括一个或多个硬件设备。处理器1650是电子处理器。
[0131] 存储设备1655包括非暂时性模拟和/或数字存储设备。例如,存储设备1655可包括被配置来存储视频帧的模拟存储设备。存储设备1655可包括计算机可读数字存储设备,例如,硬盘驱动器、光盘驱动器或固态存储设备。存储设备1615被配置来(例如通过适当的数据结构或文件系统)存储视频帧、人工帧、包括视频帧与人工帧的视频流、音频帧、音频流和/或类似物。存储设备1655任选地分布在多个设备当中。在一些实现方式中,存储设备1655被配置来存储本文中其他地方所论述的视频源1630的软件部件。这些部件可按在需要时随时可供应的格式来存储。
[0132] 视频服务器系统1620任选地还包括客户端限定器1660。客户端限定器1660被配置用于远程确定诸如客户端1610A或1610B的客户端的能力。这些能力可包括客户端1610A本身的能力与介于客户端1610A与视频服务器系统1620之间的一个或多个通信信道的能力。例如,客户端限定器1660可被配置来测试通过网络1615的通信信道。
[0133] 客户端限定器1660可手动或自动地确定(例如,发现)客户端1610A的能力。手动确定包括与客户端1610A的用户通信以及要求用户提供能力。例如,在一些实现方式中,客户端限定器1660被配置来在客户端1610A的浏览器内显示图像、文字和/或类似物。在一个实现方式中,客户端1610A是包括浏览器的HMD。在另一个实现方式中,客户端1610A是具有浏览器的游戏控制台,所述浏览器可显示在HMD上。所显示的对象请求用户输入客户端1610A的信息,诸如操作系统、处理器、视频解码器类型、网络连接类型、显示器分辨率等。向客户端限定器1660传达回由用户输入的信息。
[0134] 自动确定可例如通过在客户端1610A上执行代理程序和/或通过向客户端1610A发送测试视频来进行。代理程序可包括嵌入网页中或安装为加载项的计算指令,诸如java脚本。代理程序任选地由客户端限定器1660提供。在各种实现方式中,代理程序可发现:客户端1610A的处理能力、客户端1610A的解码和显示能力、介于客户端1610A与视频服务器系统1620之间的通信信道的滞后时间可靠性和带宽、客户端1610A的显示器类型、客户端1610A上存在的防火墙、客户端1610A的硬件、在客户端1610A上执行的软件、客户端1610A内的注册表项和/或类似物。
[0135] 客户端限定器1660包括硬件、固件和/或存储在计算机可读介质上的软件。客户端限定器1660任选地设置在与视频服务器系统1620的一个或多个其他元件分离的计算设备上。例如,在一些实现方式中,客户端限定器1660被配置来确定介于客户端1610与视频服务器系统1620的超过一个实例之间的通信信道的特性。在这些实现方式中,客户端限定器所发现的信息可用来确定视频服务器系统1620的哪个实例最适合于向客户端1610中的一个输送流式视频。
[0136] 本公开的实现方式可通过各种计算机系统配置来实践,包括手持式设备、微处理器系统、基于微处理器的或可编程的消费型电子产品、小型计算机、大型计算机等。本公开还可在分布式计算环境中实践,其中由通过有线式网络或无线网络链接起来的远程处理设备来执行任务。
[0137] 考虑到以上实现方式,应当理解,本公开可采用各种计算机实现的操作,这些操作涉及存储在计算机系统中的数据。这些操作是需要对物理量进行物理操纵的操作。本文所述的形成本公开的部分的操作中的任一个都是有用的机器操作。本公开还涉及用于执行这些操作的设备或装置。所述装置可出于所要求的目的专门构造而成,或者所述装置可以是由存储在计算机中的计算机程序选择性地激活或配置的通用计算机。具体地说,各种通用机器可与根据本文的教示所编写的计算机程序一起使用,或者可更方便地构造更专门的装置来执行所需的操作。
[0138] 本公开还可体现为计算机可读介质上的计算机可读代码。所述计算机可读介质是可存储数据的任何数据存储设备,所述数据随后可由计算机系统读取。计算机可读介质的示例包括硬盘驱动器、网络附加存储设备(NAS)、只读存储器随机存取存储器、CD-ROM、CD-R、CD-RW、磁带以及其他光学和非光学数据存储设备。计算机可读介质可包括分布在网络联接式计算机系统上的计算机可读有形介质,以使得计算机可读代码是以分布式方式进行存储和执行。
[0139] 尽管按特定顺序描述了方法操作,但应当理解,可在操作之间执行其他内务处理操作,或者可调整操作以使得它们在略微不同的时间发生,或者可分布在系统中,所述系统允许处理操作以与所述处理相关联的各种间隔发生,只要叠加操作的处理是以所需方式执行即可。
[0140] 尽管为了理解的清晰性目的而略微详细地描述了前述公开,但很显然,可以在所附权利要求书的范围内做出某些变化和修改。因此,本发明的实现方式应被认为是说明性而非限制性的,并且本公开不限于本文所给出的细节,而是可在本公开的范围和等效物内进行修改。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈