首页 > 运动玩具 专利正文
从用户输入确定玩游戏会话的高兴趣持续时间的制作方法

时间:2022-02-13 阅读: 作者:专利查询

从用户输入确定玩游戏会话的高兴趣持续时间的制作方法
从用户输入确定玩游戏会话的高兴趣持续时间


背景技术:

1.确定玩游戏会话的特定部分是否包括感兴趣内容(例如,更多的动作)在各种环境中可能是有用的。例如,玩家可能希望只共享或保存玩游戏会话中包含感兴趣内容(例如,游戏亮点)的片段,而不是共享或保存整个玩游戏会话的视频文件。
2.一些在玩游戏会话过程中识别感兴趣部分的传统方法是手动的,并依赖于用户的判断,例如使用视频编辑器编辑玩游戏会话记录。为此,游戏应用程序的玩家(例如游戏玩家)可以使用软件将他或她的整个玩游戏会话(例如,通常是30分钟到1小时或更长时间)记录到本地机器上,通常会产生大的视频文件(例如,数gb)。然后,用户可以查看和编辑视频文件。这需要大量的时间和计算资源,并且会在实时玩游戏会话与分享和/或查看的编辑后的玩游戏会话记录的可用性之间造成很大的延迟。
3.其他传统方法可以是自动化的,并且依赖于在玩游戏会话中检测目标(例如道具、玩家等)的目标检测模型。该系统可以基于检测到的目标识别和分类可能是有趣的或高动作性的视频剪辑。然而,目标检测模型可能相对容易出错,并且容易受到错误表征的影响。例如,目标检测模型的准确性通常取决于其为了检测目标而分析的视觉数据的质量—这可能是高度多变的—特别是在流媒体玩游戏会话场景中。此外,由于目标检测模型是使用监督学习进行训练的,因此可能需要大量特定于游戏的训练数据。这种特定于游戏的训练数据可能很难生成,并且可能需要手动标记。因此,每个游戏都需要一个单独的目标检测模型。此外,许多游戏经常更新新的内容(例如新角色、武器、车辆、装备等),而这些内容并未被纳入训练数据中。新的内容可能需要对目标检测模型进行重新训练,和/或可以进一步降低模型的准确性。


技术实现要素:

4.本公开的实施例涉及根据用户输入确定玩游戏会话的高兴趣持续时间。公开了系统和方法,利用来自用户输入设备的用户输入数据来决定和/或预测玩游戏会话中的持续时间对于进一步的动作(例如,使用或建议游戏亮点)是否有足够的兴趣。
5.本公开提供了根据玩游戏会话的用户输入数据自动确定玩游戏会话中可能包括感兴趣内容(例如,更多的动作)的相对高用户活动的持续时间。与传统方法不同的是,运行的用户活动测量(例如,对应于用户输入事件的频率,如每秒按键频率)可以是根据玩游戏会话中的用户输入而计算的,以确定玩游戏会话中相对高用户活动的持续时间(例如,当用户活动测量超过阈值时)。一旦识别到了持续时间,就可以对其进行进一步的分析,以将该持续时间与一个或更多个其他持续时间合并,并/或确定或预测该持续时间对于进一步的动作来说是否有足够的兴趣。
6.本公开还提供了根据玩游戏会话过程中的用户输入事件确定和/或预测玩游戏会话中的持续时间对于进一步的动作来说是否有兴趣。与传统方法相比,系统可以根据持续时间内发生的用户输入事件的集合,计算相对较高的用户活动持续时间的用户感兴趣分数。系统可以使用用户兴趣分数来确定和/或预测持续时间对进一步的动作是否有足够的
兴趣。例如,系统可以计算玩游戏会话(和/或其它玩游戏会话)的多个持续时间的用户兴趣分数的统计值,并且可以至少部分基于该持续时间的用户兴趣分数与该统计值的对比执行动作(例如,确定用户兴趣分数大于该统计值)。在一些实施例中,统计值对应于针对用户兴趣分数计算的绝对偏差分数的中位数。
7.附图的简要说明
8.用于根据用户输入确定玩游戏会话的高感兴趣持续时间的系统和方法将在下文参照附图进行详细描述,其中:
9.图1是根据本公开的一些实施例的、用于根据用户输入确定玩游戏会话的高兴趣持续时间的示例性系统图;
10.图2是根据本公开的一些实施例的、例示了来自用户输入的玩游戏会话的可能高兴趣持续时间的示例图形表示;
11.图3是根据本公开的一些实施例的、可以用于呈现指示玩游戏会话的持续时间的用户界面的示例;
12.图4是根据本公开的一些实施例的、显示了基于用户活动测量、根据用户输入数据确定玩游戏会话的高兴趣持续时间的方法的流程图;
13.图5是根据本公开的一些实施例的、显示了用于监控用户活动测量以根据用户输入数据确定玩游戏会话的高兴趣持续时间的方法的流程图;
14.图6是根据本公开的一些实施例的、显示了用于根据用户输入数据,针对玩游戏会话中相对高用户活动的持续时间确定用户兴趣分数的方法的流程图;
15.图7是根据本公开的一些实施例的、显示了用于基于玩游戏会话中相对高用户活动的持续时间生成代表精彩片段卷(highlight reel)的数据的方法的流程图;
16.图8是根据本公开的一些实施例的游戏流媒体系统的示例系统图;以及
17.图9是适用于实现本公开的一些实施例的示例计算装置的框图。
具体实施方式
18.本公开提供了一种可以用于自动识别玩游戏会话中相对较高感兴趣性的持续时间的方法。本公开还提供了确定和/或预测玩游戏会话中的持续时间对于进一步的动作是否有足够的兴趣的方法。这些方法可以单独使用或结合使用。例如,当结合使用时,这些方法可以用于自动识别玩游戏会话中相对高兴趣的持续时间,并确定和/或预测所识别的持续时间对于进一步的动作是否有足够的兴趣。各种类型的动作都被认为不超出本公开的范围,其示例被描述于此。
19.在一些实施例中,当用户(如玩家)玩游戏时,用户输入可以被捕获并用于生成(例如在玩游戏会话过程中或之后、周期性地进行)在玩游戏会话的一段时间内收集的运行用户活动测量(例如,度量)。用户活动测量可以用于确定和/或识别玩游戏会话中相对高用户活动的持续时间,在一些实施例中,对应于由用户输入生成的用户输入事件的频率(例如,每秒按键数)。一旦识别到了持续时间,可以对其进行进一步的分析,将该持续时间与一个或更多个其他持续时间合并,和/或确定或预测该持续时间对于进一步的动作是否有足够的兴趣(例如,使用本文所述的方法)。
20.在一些实施例中,系统可以根据用户活动测量超过阈值的时间来识别持续时间。
例如,持续时间的开始可以对应于用户活动测量大于阈值的时间,而/或持续时间的结束可以对应于用户活动测量小于阈值的时间。阈值可以对应于用户在玩游戏会话和/或用户和/或其他用户的许多玩游戏会话中的用户活动测量的值所计算的统计数据。例如,统计数据可以对应于一个或更多个玩游戏会话中用户活动测量的平均值或百分比。
21.为了确定和/或预测玩游戏会话中的持续时间对进一步的动作来说是否有足够的兴趣,系统可以分析用户在玩游戏会话过程中向一个或更多个输入设备的输入所生成的用户输入事件。为此,系统可以根据持续时间内发生的用户输入事件的集合,为相对高用户活动的持续时间计算用户兴趣分数。例如,用户兴趣分数可能基于各种因素,例如持续时间中发生的用户输入事件的数目(密度),持续时间过程中进入的一个或更多个动作指令,持续时间的长度,和/或在持续时间期间一个或更多个输入设备的驱动速度(紧迫性)。系统可以使用用户兴趣分数来确定和/或预测持续时间对于进一步操作是否有足够的兴趣。例如,系统可以计算玩游戏会话(和/或其他玩游戏会话)的多个持续时间的用户兴趣分数的统计值,以及至少部分基于将持续时间的用户兴趣分数与该统计值的比较来执行动作(例如,确定用户兴趣分数高于该统计值或其他阈值)。在一些实施例中,统计值对应于为用户兴趣分数计算的中值绝对偏差(mad)分数。
22.通过使用所公开的方法,通过集中分析包含相对高用户活动的玩游戏会话的持续时间,可以减少确定相对高兴趣持续时间的过程。此外,系统用于识别持续时间以进一步分析的计算资源可能很低,因为不需要视频数据的分析(尽管可能在一些实施例中使用)。此外,在玩游戏会话中监控用户活动测量的示例中,可以识别持续时间,并在玩游戏会话中执行操作。因此,例如,系统可以使用动作来影响玩游戏会话,和/或开始或完成动作来为玩游戏会话的完成做准备(例如,识别游戏亮点的过程)。
23.根据确定和/或预测玩游戏会话中的感兴趣持续时间,可以执行各种可能的动作。例如,系统可以呈现或导致给出持续时间的指示。指示可以包括,例如,在玩游戏会话中呈现的通知或其他指示,在玩游戏会话之后或结束时呈现的与持续时间相对应的视频剪辑(或游戏总结),和/或可用于保存和/或共享与持续时间相对应的视频剪辑的图形元素。在一些示例中,动作可以包括对持续时间进行进一步的分析,例如将持续时间的图像和/或视频数据应用到目标检测模型或其他机器学习模型(例如,深度学习和/或卷积神经网络模型)。例如,目标检测模型可以用于识别场景中的一个或更多个对象,系统可以基于一个或更多个对象在玩游戏会话中向用户呈现内容。这可以包括,例如,呈现基于目标(例如可以按的按钮)或提供给定情境的其他用户输入的推荐。在进一步的方面,可以向用户识别感兴趣的持续时间,以帮助用户生成和/或选择地面真实数据(例如,对应于持续时间),以训练机器学习模型。
24.参照图1,图1是根据本公开的一些实施例的、从用户输入确定玩游戏会话的高兴趣持续时间的示例系统图。应当理解的是,本文所述的安排和其他布置仅作为示例。其他的布置和元素(例如,机器、接口、函数、命令、函数组等)可以用来代替或补充已示出的那些,并且一些元素可以完全省略。此外,本文描述的许多元素是功能实体,其可以作为离散或分布式的组件,也可以与其他组件结合实现,并且可以实现为任何合适的组合和位置。本文中描述的由实体执行的各种功能可以通过硬件、固件、软件或其任何组合来执行。例如,可以由处理器执行存储在内存中的指令以执行各种功能。
25.除了其他以外,图1中的兴趣确定系统100可以包括一个或更多个组件,使用客户端设备104(a)、104(b)和104(n)(本文统称为“客户端设备104”)、视频剪辑服务器116和/或游戏服务器126等实例化。尽管在图1中例示了客户端设备104(a)、104(b)和104(n),但这并不意图限制。在任何示例中,可以有任意数量的客户端设备104。兴趣确定系统100(及其组件和/或特征)可以使用一个或更多个计算设备(例如图9中的计算设备900)实现,具体描述如下。
26.兴趣确定系统100的组件可以通过网络102进行通信。网络102可以包括广域网(wan)(例如互联网、公共交换电话网(pstn)等)、局域网(lan)(例如wi-fi、zigbee、z-wave、蓝牙、低功耗蓝牙(ble)、以太网等)、低功耗广域网(lpwan)(例如lorawan、sigfox等)、全球卫星导航系统(gnss)网络(例如全球定位系统(gps))和/或其他类型的网络。在任何示例中,兴趣确定系统100的每个组件都可以通过一个或更多个网络102与一个或更多个其他组件通信。
27.客户端设备104可以包括智能手机、笔记本电脑、平板电脑、台式电脑、可穿戴设备、游戏控制台、虚拟现实系统(例如,耳机、电脑、游戏控制台、远程设备、控制器和/或其他组件)、流媒体设备(例如,英伟达神盾(nvidia shield))、智能家庭设备,其可以包括智能个人助理,和/或其他类型的能够支持玩游戏的设备。
28.客户端设备104可以分别包括游戏应用程序106、显示器108、通信接口110、输入设备112、本地存储器136、游戏数据捕获器138、动作管理器130、持续时间确定器140和兴趣确定器142。尽管在图1中仅示出了客户端设备104的少量组件和/或特征,但这并不意图进行限制。例如,客户端设备104可以包括额外的和/或可替代的组件,如关于图9中的计算设备900的如下所述的组件。
29.游戏应用程序106可以是移动应用程序、计算机应用程序、控制台应用程序和/或其他类型的应用程序。游戏应用程序106可以包括指令,当其被一个或更多个处理器执行时,使处理器不限于接收代表用户输入到一个或更多个输入设备112的输入数据,将输入数据发送到游戏服务器126,从存储器或本地存储检索数据,使用通信接口110从一个或更多个游戏服务器126接收游戏数据,并使游戏在显示器108上显示。换句话说,游戏应用程序106可以作为辅助工具,用于在客户端设备104上启用与游戏应用程序相关联的游戏。游戏应用程序106还可以包括指令,当其被一个或更多个处理器执行时,使处理器向一个或更多个视频剪辑服务器116发送数据并从其接收数据。例如,游戏应用程序106可以向视频剪辑服务器116发送当游戏在客户端设备104上播放时生成的视频记录,并从一个或更多个视频剪辑服务器116接收由兴趣确定器142识别的相对高兴趣持续时间相关联的视频剪辑。
30.游戏应用程序106和/或游戏应用程序106的补丁或更新可以从一个或更多个游戏服务器126下载,或可以从其他一个或更多个服务器(例如内容分发网络(cdn)的服务器)下载。例如,一个或更多个游戏服务器126可以位于不同的国家或大陆,因此为了缩短下载时间,游戏应用程序106和/或补丁或更新可以存储在全球不同的服务器上。例如,当客户端设备104正在下载游戏应用程序106和/或补丁或更新时,客户端设备104可以连接到作为cdn的一部分的更本地的服务器。
31.在一些示例中,客户端设备104可以使用游戏应用程序106渲染游戏,而在其他示例中,客户端设备104可以接收显示数据(例如,如关于图8所述的编码的显示数据),并使用
显示数据在显示器108上显示游戏。在一些示例中,第一客户端设备(例如客户端设备104(a))可以渲染游戏,而第二客户端设备(例如客户端设备104(b))可以接收显示数据并使用显示数据显示游戏。在由客户端设备接收显示数据的示例中(例如,在客户端设备104不生成渲染的情况下),兴趣确定系统100可以是游戏流媒体系统的一部分,例如图8中的游戏流媒体系统800,详细描述如下。
32.客户端设备104(a)可以通过显示器108显示一段时间内的多个玩游戏会话,例如玩游戏会话114。玩游戏会话,例如玩游戏会话114,可以包括客户端设备104(a)的用户参与的任何数量的玩游戏会话。类似地,除了客户端设备104(a)之外,每个客户端设备104的用户,可以参与任意数量的玩游戏会话。
33.显示器108可以包括能够显示游戏的任何类型的显示器(例如发光二极管显示器(led)、有机led显示器(oled)、液晶显示器(lcd)、有源矩阵oled显示器(amoled)、量子点显示器(qdd)、等离子显示器、led/lcd显示器和/或其他类型的显示器)。在一些示例中,显示器108可以包括一个以上的显示器(例如,用于计算机游戏的双监视器显示器、用于配置游戏的第一显示器和用于玩游戏的虚拟现实显示器等)。在一些示例中,显示器是触摸屏显示器,例如智能手机、平板电脑、笔记本电脑等的触摸屏,其中触摸屏是客户端设备104的输入设备112中的至少一个。
34.一个或更多个输入设备112可以包括能够提供与游戏相关的用户输入的任何类型的设备,例如用户对游戏的输入和/或用于控制游戏的输入。输入设备可以包括键盘、鼠标、麦克风、触摸屏显示器、控制器、遥控器、耳机(如虚拟现实耳机的传感器)和/或其他类型的输入设备。
35.通信接口110可以包括用于在一个或更多个网络(例如网络102)之间通信的一个或更多个组件和特征。通信接口110可以配置为通过本文所述的任意数量的网络102进行通信。例如,为了在图1的兴趣确定系统100中通信,客户端设备104可以通过路由器使用以太网或wi-fi连接访问互联网,以便与视频剪辑服务器116、游戏服务器126和/或与其他客户端设备104通信。
36.本地存储器136可以包括各种计算机可读介质中的任何一种。计算机可读介质可以是客户端设备104(a)可以访问的任何可用介质。计算机可读介质可以包括易失性介质和非易失性介质,以及可移除和不可移除介质。举例来说,计算机可读介质可以包括计算机存储介质和通信介质,但不限于此。本地存储器136可以包括额外或可选的组件,例如关于图9的存储器904所描述的下述组件。
37.现在将描述其他方面,包括在渲染玩游戏会话114和/或分析玩游戏会话数据的过程中可以执行的操作(例如,与玩游戏会话相关联的用户输入数据和/或视频数据)。玩游戏会话114可以与任意数量的输入事件118(a)-118(n)(此处统称为“输入事件118”或“用户输入事件118”)、时间轴148、时间片段150(a)-150(n)(此处统称为“时间片段150”)、和持续时间152(a)-152(n)(在此统称为“持续时间152”)。
38.根据本公开的实施例,持续时间确定器140可以分析玩游戏会话数据,以识别玩游戏会话114中相对高用户活动的一个或更多个持续时间152(a)-152(n)。此外,兴趣确定其142可以分析持续时间152(a)-152(n),以基于相应的玩游戏会话数据确定和/或预测识别到的持续时间对于进一步的动作来说是否有足够的兴趣。
39.游戏应用程序106和/或游戏数据捕获器138可以包括指令,当其被执行时,记录或以其他方式捕获来自玩游戏会话114的至少部分玩游戏会话数据(例如,对应输入事件118和/或玩游戏的视频帧),并将记录的玩游戏会话数据本地地存储在客户端设备104(例如,本地存储器136),或将记录的玩游戏会话数据发送到视频剪辑服务器116或游戏服务器126,以分别存储在游戏存储124和/或134。游戏会话数据可以包括与玩游戏会话相关联的用户输入数据和/或与玩游戏会话相关的视频数据。在客户端设备104不生成游戏渲染的示例中(例如在本文详细描述的图8的游戏流媒体系统800),游戏服务器126可以记录和存储视频数据或将视频数据发送到一个或更多个视频剪辑服务器116,以存储在一个或更多个数据存储124中。
40.游戏数据捕捉器138可以是游戏应用程序106的一部分,也可以是单独的应用程序(例如,一个或更多个系统服务、程序等)的一部分。游戏数据捕捉器138可以是输入设备112的一个组件,也可以由客户端设备104的一些其他组件执行。游戏数据捕获器138可以包括指令,当被处理器执行时,使处理器(作为示例而不限于)记录或记载游戏数据,例如输入设备使用数据,视频数据,和/或与玩游戏会话相关的其他数据。输入设备使用数据的示例包括描述或代表键盘、鼠标或其他输入设备使用情况的用户输入数据,如用户输入事件,并且其与一个或更多个玩游戏会话相关联,如玩游戏会话114。可以被记录的信息的示例包括用户输入事件,这可能对应于键盘敲击、鼠标点击、鼠标移动、麦克风输入、摄像机输入和/或在玩游戏会话中对客户端设备104的输入。用户输入事件的示例包括预定义的输入或被注册为用户输入事件的输入的组合(例如,通过客户端设备104(a)的操作系统),例如按下按键(例如,按键下降或上升),手势,鼠标移动,游戏命令,或特定键和/或其他输入的预定义组合和/或模式(可以共同被注册为单个输入事件)。例如,可以为提供给输入设备的每个按键识别用户输入事件。
41.玩游戏会话114的输入事件包括输入事件118(a)-118(n),每个输入事件都可以从代表输入事件(也称为“用户输入事件”)的相应输入事件数据中识别出来。对于每个输入事件,游戏数据捕捉器138可以存储描述输入事件或与输入事件相关的元数据。例如,游戏数据捕捉器138可以(例如沿着时间轴)存储与玩游戏会话数据的时间信息相关的时间戳信息(例如,时间戳)。元数据的另一个示例是玩游戏会话标识信息(例如,玩游戏会话标识符),其标识接收输入事件的玩游戏会话。元数据的另一个示例是应用程序或游戏标识信息(例如,应用程序或游戏标识符),其标识接收输入事件的游戏或应用程序。另一个示例是输入标识信息(例如,一个或更多个输入标识符),其标识哪些输入被激活以触发用户输入事件(例如,一个或更多个按键被按下)。
42.时间轴148与玩游戏会话114相关联,并指示每个时间片段150可以按顺序定位的相对时间指定。为了便于说明,在时间轴148上对时间片段150进行描述。每个时间片段150可以跨越时间轴148中的特定持续时间,并可以定义一个或更多个相应的持续时间152(a)-152(n)。每个时间片段150可以与一个或更多个输入事件118(a)-118(n)相关联。例如,任意数量的输入事件118(a)-118(n)都可以具有属于相应时间片段的时间戳。
43.持续时间确定器140可以被配置为分析玩游戏会话的用户输入数据,例如输入事件数据,以识别玩游戏会话中相对高用户活动的持续时间。例如,持续时间确定器140可以分析与玩游戏会话114(和/或其他游戏会话数据)相关联的输入事件118,以确定定义相应
持续时间152的时间片段150。这种分析可以在玩游戏会话中对实时玩游戏会话数据执行,也可以对(例如本地存储器136中的)非实时游戏会话数据执行,例如在玩游戏会话结束后。在一些示例中,持续时间确定器140可以是游戏应用程序106的一部分,也可以是单独应用程序(例如,一个或更多个系统服务、程序等)的一部分。在一些示例中,持续时间确定器140与游戏数据捕获器138是同一个应用程序的一部分。此外,与游戏数据捕捉器138类似,在一些实施例中,持续时间确定器140至少部分位于除了客户端设备104(a)之外或代替客户端设备104(a)的视频剪辑服务器116和/或游戏服务器126上。为了识别相对高用户活动的持续时间,持续时间确定器140可以根据输入事件来确定玩游戏会话中相对较高级别(例如,频率或聚集度)用户活动的持续时间。例如,持续时间确定器140可以使用玩游戏会话114的输入事件118来确定玩游戏会话114过程中的事件持续时间150,其相比于玩游戏会话114中的其他时间持续时间而言包括相对较高级别的活动,并且时间片段150可以将这些定义为相对高用户活动的持续时间152。例如,玩游戏会话114中的时间片段150(a)可以被持续时间确定器140标识为具有相对高用户活动的持续时间152(a),至少部分基于时间片段150(a)具有一个或更多个相对高用户活动测量,其可以相当于高每秒按键率(kpss),每秒动作键选择的高百分比,和/或基于输入设备度量的其他频率。在至少一个实施例中,为了确定相对高用户活动的持续时间,持续时间确定器140计算用户活动测量并将用户活动测量与阈值进行比较。持续时间确定器140可以根据玩游戏会话的输入事件(例如,输入事件118)计算玩游戏会话(例如,玩游戏会话114)的用户活动测量。为此,持续时间确定器140可以使用与输入事件相关联的元数据(如时间戳信息)来分析输入事件。例如,时间戳信息可以用来计算输入事件生成的频率,输入执行的速度,以及是否或多少为玩游戏会话的游戏预定义的动作命令被执行。例如,动作命令可以涉及预定义的输入动作(例如,输入事件),例如按键或输入驱动(例如,一个或更多个输入事件)的结合,例如当游戏的按键被提供时导致在游戏中遇见目标(例如,点击鼠标左键启动武器部署或更换武器,点击鼠标右键启动盾牌部署,左扳机启动车辆漂移,a键和b键加上右扳机可以启动建造建筑)。动作命令可以被预定义为特定的游戏和/或多个游戏。因此,一个游戏或应用程序可以拥有与另一个游戏或应用程序不同的动作命令设置。输入标识信息也可以用于频率是基于预定义的输入事件或生成的输入事件的类型(例如,预定义输入和/或动作命令)的实施例中。
44.用户活动测量可以是运行中的用户活动测量,其值可以周期性地计算(例如,每秒钟),也可以迭代地计算和/或根据需要计算。持续时间确定器140可以至少可部分地基于用户活动测量确定用户活动测量的值超过阈值(如图2中的用户活动测量阈值256)的时间来定义玩游戏会话的时间片段。例如,持续时间的开始时间可以是(基于)持续时间确定器140确定用户活动测量已经超过阈值、以使得其大于阈值的时间。另外或可替换地,持续时间的时间可以是(基于)持续时间确定器140确定用户活动测量已经超过阈值、以使得其小于阈值的时间。
45.在一些示例中,用户活动测量超过阈值、以使得其大于阈值的时间可以用作时间片段150(a)的开始时间。另外或可选地,用户活动测量超过阈值、以使得其小于阈值的时间可以作为时间片段150(a)的结束时间。在示例中,持续时间的开始时间和/或结束时间可以与持续时间确定器140确定用户活动测量已超过阈值的时间不同。例如,持续时间确定器140可以使用该时间来定义开始时间,也可以从开始时间推导出结束时间(例如,通过在开
始时间上增加一分钟或其他的时长)。类似地,持续时间确定器140可以使用该时间来定义结束时间,并从结束时间推导出开始时间(例如,从结束时间中减去一分钟或其他时长)。作为进一步的示例,持续时间确定器140可以使用该时间来定义开始时间和/或结束时间,作为发生在识别到的时间之前和/或之后的时间尚未持续时间。例如,当该时间对应于用户活动测量超过阈值时,可以在该时间之前和/或之后添加一定量的时间来定义时间片段。
46.在至少一个实施例中,可以对阈值进行硬编码或计算。例如,持续时间确定器140可以通过用户和/或其他用户在玩游戏会话114和/或许多玩游戏会话中的用户活动测量的值来计算统计数据。该统计数据可以对应于在一个或更多个玩游戏会话的至少部分的用户活动测量的平均值或百分比。该统计数据可以作为阈值,也可以定义阈值。阈值可以是特定于用户的,并且基于与玩游戏会话的用户交互,或者是特定于玩游戏会话的,其基于正在被分析的玩游戏会话。在进一步的实施例中,确定的统计数据可以是全局的,并基于游戏的玩游戏会话中其他用户的用户交互。当持续时间确定器140在玩游戏会话过程中确定阈值(例如,实时地)时,统计数据可以基于导致当前时间(例如,与用户活动测量相关联的时间)的玩游戏会话的至少一部分。当持续时间确定器140在玩游戏会话之后确定阈值时,统计数据可以基于在与阈值对比的用户活动测量相关联的时间之前和/或之后的玩游戏会话的至少一部分。在任何示例中,可以基于与阈值比较的时间更新统计数据(和阈值),或者可以在每次比较中使用相同的统计数据(或阈值)。
47.在至少一个实施例中,当识别持续时间时,持续时间确定器140可以区分与玩游戏活动相对应的输入事件和与非玩游戏活动相对应的输入事件。与玩游戏活动相对应的输入事件可以包括在玩游戏会话中控制或实现玩游戏的输入事件。与玩游戏活动相对应的输入事件的一个示例是动作命令。进一步的示例包括输入驱动或输入驱动的组合,这些输入驱动可以实现定向移动(例如转向、探索等)、武器部署(例如开火、重新装弹、切换武器等)、速度调整(例如奔跑、行走等)、身体定位(例如站立、蹲伏等)、以此类推。
48.相反地,与非玩游戏活动相对应的输入事件可以包括不能在玩游戏会话中控制或实现游戏的输入事件。与非玩游戏活动相对应的输入事件可以包括控制或完成那些伴随或促进玩游戏活动的活动的输入事件,例如在玩游戏会话中玩家(例如队友等)之间的交流,设置游戏选项(例如分辨率、音量级别等),通过菜单来启动游戏等等。例如,与非玩游戏活动相对应的输入事件可以包括启动用户和/或玩家之间的通信模式(例如,开启语音记录、键盘聊天等)、定义通信内容(例如,输入消息)、终止通信模式、和/或向至少一个其他用户和/或玩家传递通信。
49.持续时间确定器140可以使用各种方法来识别与非玩游戏活动相对应的输入事件。在一些示例中,可以将一个或更多个输入事件预定义为非玩游戏活动命令(例如,在相应的元数据中),以指示相应的非玩游戏活动。非玩游戏活动命令可以特定于游戏的,和/或是为特定的一个或更多个游戏预定义的。在一些示例中,一个或更多个非玩游戏活动命令可以被预定义为启动命令,用于启动与非玩游戏活动相对应的输入事件,而持续时间确定器140可以将后续的输入事件(例如,消息定义或菜单导航输入事件等特定类型的)认定为非玩游戏活动(和/或基于识别命令而执行进一步分析以确定输入事件对应于非玩游戏活动)。
50.在一些示例中,一个或更多个非玩游戏活动命令可以被预定义为终止命令,其终
止与非玩游戏活动相对应的输入事件,并且持续时间确定器140可以将先前的输入事件(例如,消息定义或菜单导航输入事件等特定类型的)认定为作为非玩游戏活动(和/或基于识别命令而执行进一步分析以确定输入事件对应于非玩游戏活动)。例如,持续时间确定器140可以确定启动命令和终止命令之间的输入事件对应于非玩游戏活动。如所述,对应于玩游戏活动的一个或更多个输入事件还可以存在于命令之间(例如,用户可以在键盘上输入消息的同时用鼠标控制游戏),但这些命令可以将特定类型的输入事件识别为与非玩游戏活动相对应。
51.在至少一个实施例中,在计算用户活动测量时,持续时间确定器140可以量化(例如,衡量)对应于非玩游戏活动的输入事件,其不同于(例如少于)对应于玩游戏活动的输入事件。作为另一个示例,当计算用户活动测量时,持续时间确定器140可以丢弃对应于非玩游戏活动的输入事件。这些方法可以减少持续时间140识别到用户活动主要归功于非玩游戏活动的持续时间的可能性。在一些实施例中,一旦持续时间确定器140识别到了相对高用户活动的持续时间,持续时间确定器140可以将该持续时间与可配置的最小和/或最大持续时间长度阈值进行比较,以确定是丢弃持续时间还是维持持续时间以进行额外分析,例如,由兴趣确定器分析。例如,如果持续时间低于最小长度持续时间(例如,10秒或更短),则持续时间确定器140可以丢弃识别到的相对高用户活动的持续时间。类似地,如果持续时间超过最大长度持续时间(例如,大于1分钟),则持续时间确定器140可以丢弃或截取识别到的相对高用户活动的持续时间。
52.在实施例中,最小和最大长度持续时间可以是硬编码的或可配置的,也可以是动态的并由持续时间确定器140自动确定。此外,在一些示例中,持续时间确定器140可以将持续时间与至少一个其他持续时间合并,基于确定那些持续时间中的一个或更多个低于最小长度持续时间。持续时间确定器140可以用于合并持续时间的另一个因素是玩游戏会话中持续时间的接近程度。例如,基于持续时间确定器140确定了持续时间之间在阈值接近程度范围内,可以将多个持续时间合并为单个持续时间。持续时间确定器140还可以向持续时间添加时间(合并或其他方式)以至少达到最小长度持续时间,和/或截取持续时间(合并或其他方式)以至少保持在最大持续时间长度以下。
53.兴趣确定器142可以被配置为基于在玩游戏会话期间向一个或更多个输入设备的由用户输入生成的用户输入事件,确定和/或预测在玩游戏会话中识别到的持续时间(例如,由持续时间确定器140识别到的)对于进一步的动作是否有足够的兴趣。与持续时间确定器140一样,兴趣确定器142可以是游戏应用程序106的一部分,也可以是单独应用程序(例如,一个或更多个系统服务、程序等)的一部分。在一些示例中,兴趣确定器142与游戏数据捕获器138是同一个应用程序的一部分。此外,兴趣确定器142可以至少部分实例化或以其他方式在视频剪辑服务器116和/或游戏服务器126上执行,此外或可选地也可以在客户端设备104(a)上实例化或以其他方式执行。
54.为了确定持续时间对进一步动作是否有足够的兴趣,兴趣确定器142可以计算用户兴趣分数。持续时间的用户兴趣分数可以是基于在识别到的持续时间内发生的玩游戏会话的用户输入事件的集合。例如,对于持续时间152(a),用户兴趣分数可以从具有持续时间152(a)和/或时间片段150(a)(例如,持续时间的开始时间和结束时间)内的时间戳的输入事件118计算。兴趣确定器142可以根据各种因素计算用户兴趣分数,例如持续时间内发生
的用户输入事件的数量、持续时间内输入的一个或更多个操作命令、持续时间的长度、在持续时间内与非游戏活动相对应的输入事件的数量或存在,和/或在持续时间内一个或更多个输入设备的驱动速度。
55.在至少一个实施例中,当为持续时间计算用户兴趣分数时,兴趣确定器142可以量化(例如加权)持续时间内对应于非玩游戏活动的输入事件,其不同于(例如小于)对应于玩游戏活动的输入事件。在另一个示例中,当计算用户兴趣分数时,兴趣确定器142可以丢弃对应于非玩游戏活动的输入事件,或以其他方式说明这些输入事件的存在和/或数量。
56.在操作中,持续时间确定器140识别具有相对高用户活动的持续时间。一旦确定了持续时间,兴趣确定器142可以确定所识别到的持续时间是否具有足够的兴趣,至少部分基于对所识别到的持续时间计算用户兴趣分数,这通过对与所识别到的持续时间相关联的用户输入数据应用兴趣水平算法来进行。这种算法的一个示例是高能区域技术(“heat”)算法,亦可以如下公式(1)表示:
57.heat=log(k*(a
factor
*d)2*kc*s
max
)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
58.其中,
59.a
factor
=高常数(例如,大于1),如果动作命令在持续时间内存在,否则=1,
60.l=持续时间的长度,
61.kc=#持续时间中的按键和/或输入事件,
62.s
max
=持续时间中按键和/或输入事件的动作的最大速度,以及
63.k=常数。
64.以上关于兴趣水平算法的因素的任意示例都可以在没有其他因素的情况下使用,和/或在不同的公式或方程中使用。在一些示例中,当出现动作命令时,a
factor
可以是基于(例如增加基于)持续时间内的动作命令的数量,而不是被设置为高常量。可以为每个持续时间计算特定于该持续时间的用户兴趣分数。基于每个识别到的持续时间的用户兴趣分数(例如heat值),兴趣确定器142可以确定或预测哪些持续时间(如果有的话)与可能的高兴趣相关。例如,使用用户兴趣分数,兴趣确定器142可以将阈值与每个用户兴趣分数进行比较,以确定一个或更多个持续时间是否具有足够高的(例如,大于阈值的)兴趣来执行一些进一步的操作,例如呈现给用户。在一些实施例中,阈值是根据用户对玩游戏会话的识别到的持续时间的兴趣分数计算出来的统计值。在进一步的示例中,统计值可以额外或相反地从该用户、其他用户和/或相同游戏的一个或更多个其他玩游戏会话的持续时间的用户兴趣分数中计算出来。
65.例如,统计值可以对应从用户兴趣分数计算的中位数绝对偏差(mad)分数。在任何示例中,统计值可以对应于被确定或预测为具有高兴趣的识别到的持续时间所需的最小用户兴趣分数。在操作中,兴趣确定器142可以将持续时间的每个用户兴趣分数与确定的统计值进行比较,以确定在持续时间内是否需要进一步的操作。如果识别到的持续时间的用户兴趣分数超过统计值,则可以将识别到的持续时间视为高兴趣持续时间,并可以执行相应的动作。类似地,如果识别到的持续时间的用于兴趣分数低于统计值,则该识别到的持续时间可以被丢弃,因为缺乏足够的预期兴趣,和/或可以执行不同的相应动作(或者没有关于该持续时间的持续时间动作)。mad是可以计算的统计值的一个示例,但也可以使用其他统计值,例如标准偏差、平均值等。在各种示例中,统计值可以对应于鲁棒性的统计值,例如用
户兴趣分数(例如mad)的统计离散度的鲁棒性测量。
66.作为使用统计值来预测或确定持续时间是否足够高的兴趣的补充或替代,兴趣确定器142可以使用其他因素,例如持续时间是否包括至少一个动作命令和/或用户兴趣分数是否大于基线阈值。例如,当用户兴趣分数超过统计值时,兴趣确定器142可以确定持续时间具有足够高的预测兴趣。然而,当用户兴趣分数不超过统计值时,兴趣确定器142仍然可以基于其他因素确定持续时间具有足够高的兴趣。
67.一个或更多个动作管理器130可以被配置为使能在游戏过程中或之后执行的各种动作,基于兴趣确定器142确定和/或预测持续时间对进一步的动作具有足够高的兴趣。例如,动作管理器130可以使能或导致在显示器(例如显示器108)上显示持续时间的指示,如图3所示。在一些实施例中,指示包括一个或更多个按钮或其他图形用户界面元素。当(例如由用户)驱动时,一个或更多个图形用户界面元素可以启动功能和操作,使能用户执行与识别到的持续时间相关的各种任务。一些示例包括保存与持续时间相对应的视频剪辑(例如,保存到本地存储器136)和/或分享视频剪辑(例如,通过社交媒体)。作为进一步的示例,持续时间的指示可以包括通知,其可以在客户端设备104(a)上显示。一些示例包括视觉和/或音频内容,用于通知用户在游戏过程中可以进行的各种动作。这些只是为一个或更多个持续时间显示的指示的一些非限制性的示例。
68.视频剪辑服务器116可以包括一个或更多个服务器,用于存储、修剪、共享或以其他方式编辑与玩游戏会话114中记录的相对高兴趣的识别到的持续时间相关的视频剪辑。虽然图1仅示出了一个或更多个视频剪辑服务器116的少量的组件和/或特征,但这并不是意图限制。例如,视频剪辑服务器116可以包括更多的或可选的组件,如下文关于图9的计算设备900所述的那些。
69.一个或更多个视频剪辑服务器116可以与一个或更多个游戏服务器126分开或不同;然而,这并不意图限制。此外,一个或更多个视频剪辑服务器116可以不包括在兴趣确定系统100的一些实施例中,但可以用于促进动作管理器130执行的一个或更多个操作。在一些示例中,一个或更多个视频剪辑服务器116可以被实现为与一个或更多个游戏服务器126相同或类似的服务器(例如,在一个或更多个游戏服务器126上作为任务运行)。在一些示例中,一个或更多个视频剪辑服务器116可以由第一实体(例如,第一公司)操作或托管,而一个或更多个游戏服务器126可以由第二实体(例如,不同的第二公司)操作或托管。在这些示例中,第二实体可以是游戏开发者或出版者,并且第一实体和第二实体可以共享数据,这样第一实体可以使用来自第二实体和/或客户端设备104(a)的数据识别对应于识别到的持续时间的有趣的视频剪辑。在其他示例中,一个或更多个视频剪辑服务器116和一个或更多个游戏服务器126可以由同一实体操作或托管。在进一步的示例中,兴趣确定系统100可以完全实现在客户端设备104上,和/或显示为包含在服务器中的一个或更多个组件和/或功能可以至少部分地实现在客户端设备104上。
70.一个或更多个视频剪辑服务器116可以包括通信接口122和一个或更多个数据存储124。如本文所述,一个或更多个视频剪辑可以基于玩游戏会话的持续时间生成,这可以使用持续时间确定器140和/或兴趣确定器142识别和/或选择。一个或更多个视频剪辑服务器116可以根据从一个或更多个游戏服务器126或一个或更多个客户端设备104识别到的持续时间接收视频剪辑。作为另一个示例,一个或更多个视频服务器116可以接收兴趣确定器
140生成的视频剪辑时间戳数据,并基于识别到的相对高兴趣的持续时间从存储在数据存储(例如一个或更多个数据存储124)中的玩游戏会话数据(例如,游戏视频)生成视频剪辑。
71.通信接口122可以包括用于跨一个或更多个网络(例如一个或更多个网络102)通信的一个或更多个组件和特征。通信接口122可以配置为通过本文描述的任意数量的一个或更多个网络102进行通信。例如,为了在图1的兴趣确定系统100中进行通信,一个或更多个视频剪辑服务器116可以通过lan和/或互联网与其他一个或更多个视频剪辑服务器、一个或更多个游戏服务器126和/或客户端设备104进行通信。一个或更多个视频剪辑服务器116可以与一个或更多个游戏服务器126/或一个或更多个客户端设备104交换多种信息,包括视频剪辑、代表识别到的高兴趣持续时间的信息、以及视频剪辑是否被用户分享或存储或者持续时间是否被用户选择以进行分享、存储或其他动作的指示。
72.一个或更多个游戏服务器126可以包括一个或更多个服务器(例如,专用游戏服务器),用于存储、托管、管理和渲染游戏(在一些示例中)。在一些示例中,一个或更多个第一游戏服务器126可以用于创建、更新和修改游戏(例如,游戏的程序代码),并且一个或更多个第二游戏服务器126可以用于托管游戏(例如,作为专用游戏服务器)。虽然在图1中只示出了一个或更多个游戏服务器126的一些组件和/或功能,但这并不宜涂限制。例如,一个或更多个游戏服务器126可以包括额外的或替代组件,如下文关于图9的计算设备900描述的那些。
73.一个或更多个游戏服务器126可以包括一个或更多个api,用于使能一个或更多个客户端设备104进行游戏和/或使能与视频剪辑服务器116的信息(例如,用户输入数据等)的通信。例如,一个或更多个游戏服务器126可以包括一个或更多个与客户端设备104的游戏应用程序106接口的游戏api,以使能客户端设备104的游戏。另一个示例是,一个或更多个游戏服务器126可以包括一个或更多个玩游戏会话api,这些api与持续时间确定器140接口,以将相对高用户活动的持续时间的数据传递给兴趣确定器142进行进一步分析。作为进一步的示例,一个或更多个游戏服务器126可以包括一个或更多个api,该api与持续时间确定器140接口,以接收相对较用户活动的识别到的持续时间,以确定每个持续时间对于进行进一步的动作是否有足够的兴趣。尽管在本文中描述了不同的api,但这些api可以是单个api的一部分,两个或更多个api可以被组合,还可以包括除了本文作为示例描述的那些以外的不同的api,或它们的组合。
74.一个或更多个游戏服务器126可以包括游戏引擎128。游戏引擎128可以包括游戏的功能,该功能使能一个或更多个用户通过网络(例如一个或更多个网络102)玩游戏。例如,玩游戏会话114可以使用游戏引擎128进行。游戏引擎128可以包括渲染引擎、音频引擎、物理引擎、动画引擎、人工智能引擎、网络引擎、流媒体引擎、存储器管理引擎和/或其他组件或功能。游戏引擎128可以用于在游戏过程中生成部分或全部用户输入数据。
75.一个或更多个游戏服务器126的通信接口132可以包括一个或更多个组件和调整,用于跨一个或更多个网络(例如网络102)进行通信。通信接口132可以被配置为通过本文描述的任意数量的一个或更多个网络102进行通信。例如,为了在图1的兴趣确定系统100中通信,一个或更多个游戏服务器126可以通过lan与其他的一个或更多个游戏服务器通信,和/或通过互联网与其他的一个或更多个游戏服务器126、一个或更多个视频剪辑服务器116和/或客户端设备104通信。
76.现在参照图2,图2是根据本公开的一些实施例的、说明了来自用户输入的玩游戏会话的可能的高兴趣持续时间的示例图示。图2包括图表200,其中x轴代表时间(以秒为单位),而y轴代表用户活动测量的值,如本文所述。图表200示出了用户活动测量阈值256的示例,持续时间确定器140可以使用该阈值来识别相对高用户活动的持续时间。在一些实施例中,用户活动测量阈值256可以指示或定义要识别的高用户活动持续时间必须达到的用户活动测量的最低水平。
77.图2形象地表明了在玩游戏会话(例如,玩游戏会话114)中的时间片段254(a)-254(e)以及给定时间(t)的用户活动测量。持续时间确定器140可以以任何合适的时间和/或一个或更多个间隔取样用户活动测量的值,以确定时间片段254(a)-254(e),并识别相对高用户活动的相应持续时间。时间片段254(a)可以用用户活动测量的值大于用户活动测量阈值256的时间t2和t3来定义。同时,时间片段254(a)可以用用户活动测量的值大于用户活动测量阈值256的时间t4和t5来定义。持续时间确定器140可以使用本文所述的任何合适方法确定与时间片段254(a)对应的持续时间和与时间片段254(b)对应的持续时间。在一些示例中,时间t2可以是时间片段254(a)对应的持续时间的开始时间,并且时间t3可以是时间片段254(a)对应的持续时间的结束时间。图2中标记的其他时间同样可以表示相应持续时间和/或时间片段的开始和结束时间。
78.如本文所述,在一些实施例中,持续时间确定器140可以确定与时间片段254(a)相对应的持续时间小于最小持续时间长度(例如,由时间t3减去时间t2定义的)。在这样的示例中,持续时间确定器140可以将时间片段254(a)对应的持续时间与时间片段254(b)对应的持续时间合并。合并的持续时间可以对应图2中的时间片段260,并且具有对应于时间片段254(a)的时间t2的开始时间,以及对应于时间片段254(b)的时间t5的结束时间。在一些实施例中,持续时间可以基于邻近持续时间合并。例如,临近可以对应于时间片段254(a)的时间t3与时间片段254(b)的时间t4之间的差。当差低于阈值时,持续时间确定器140可以合并持续时间。
79.例如,用户可能正在玩一款实时战略游戏,在游戏中,用户正在与对手发生小规模冲突。当用户积极参与冲突时,用户活动测量可能很高。然而,如果用户暂时撤退并等待对手追击,则用户活动测量级别可能会低于用户活动测量阈值256,如图所示。随后,对手可能会追赶用户,而用户可能会重新与对手交战,从而导致用户活动测量的峰值超过用户活动测量阈值256,如所示。在这个场景中,持续时间确定器140可以将持续时间合并在一起,从而产生一个相对高用户活动的合成持续时间。
80.持续时间确定器140还可以确定与时间片段254(c)相对应的持续时间,该时间片段具有与时间t7相对应的开始时间和/或与时间t
12
对应的结束时间。此外,持续时间确定器140可以确定与时间片段254(d)相对应的持续时间,该时间片段具有与时间t
17
相对应的开始时间17和/或与时间t
20
对应的结束时间。作为进一步的示例,持续时间确定器140可以确定与时间片段254(e)相对应的持续时间,该时间片段具有与时间t
23
对应的开始时间和/或与时间t
25
对应的结束时间。
81.在参照图2所描述的示例中,持续时间确定器140可以识别出相应游戏会话中相对高用户活动的四个持续时间。这些持续时间可以对应于时间片段260、254(c)、254(d)和254(e)。然后,兴趣确定器142可以使用本文描述的方法(例如,使用heat)计算每个持续时间的
用户兴趣分数。例如,对应于时间片段260的持续时间的用户兴趣分数可以从时间t2与时间t5之间发生的输入事件中计算出来。此外,兴趣确定器142可以从四个用户兴趣分数(例如mad分数)计算统计值。兴趣确定器142可以确定用户对每个时间片段260、254(c)和254(e)对应的兴趣分数大于(或等于)统计值,因此对动作管理器130的进一步操作有足够的兴趣。兴趣确定器142还可以确定对应于时间片段254(d)的持续时间的用户兴趣分数小于统计值,因此可以在持续时间上不采取动作或对动作管理器130提供相应指示,使得可以为该持续时间采取不同的动作。
82.参照图3,图3是可以用来显示玩游戏会话的持续时间的用户界面的示例。如本文所述,对于超过阈值的持续时间,可以至少部分地根据用户兴趣分数来给出指示。用户界面是在玩游戏会话的过程中呈现的,但可以在任何合适的时间呈现,可以是游戏的一部分,也可以不是,和/或可以是用于呈现游戏的应用程序一部分,也可以不是。显示的指示包括与一个或更多个持续时间相对应的图形用户界面元素。
83.作为示例,显示图形化的用户界面元素(例如按钮304(a)和304(b))以作为指示的菜单被示出。当按钮304(a)和304(b)被驱动(例如被用户)时,会启动相应的功能和操作,以使能动作管理器130执行与玩游戏会话中相对高用户活动的识别到的持续时间相关的各种任务。例如,当用户(例如,玩家)玩游戏时,游戏数据捕获器138可以捕获用户输入数据,并用于识别相对高用户活动的持续时间,如本文所述。在持续时间中,兴趣确定器142可确定持续时间具有足够高的兴趣以呈现持续时间的指示。因此,可以在显示器108上增加一个或更多个按钮304(a)和304(b),以使能将识别到的一个或更多个持续时间保存为一个或更多个视频剪辑和/或将识别到的一个或更多个持续时间共享为一个或更多个视频剪辑。同样地,当驱动按钮304(a)或304(b)时,在玩游戏会话中相对高用户活动的持续时间可以被保存或分享。
84.图3的菜单302还包括通知304(c),作为持续时间的另一中可能的指示的示例。通知304(c)可以通知用户在玩游戏会话过程中可以采取的各种动作。例如,如果用户试图完成一个基于谜题的任务,但不断失败,则兴趣确定系统100可以根据兴趣确定器142选择的相应持续时间来识别用户无法完成谜题。通知304(c)可以用来指示用户一个或更多个用户输入,以提供前进或在游戏中提供其他帮助。
85.图3中的指示和通知只是在玩游戏会话中或之后呈现的持续时间的指示的示例。如本文所述,通过非限制性的示例,其他指示可以包括在玩游戏会话中或之后呈现的精彩片段卷或游戏总结(例如,与持续时间相对应的视频剪辑),以及其他可操作以保存、编辑、和/或共享与识别到的持续时间相对应的视频剪辑的指示(例如,在视频编辑器应用程序中)。在一些实施例中,兴趣确定系统100可以从视频剪辑中生成代表精彩片段卷的数据(例如,从玩游戏会话的视频数据中提取的视频帧和/或对应于视频剪辑的视频帧的时间戳),其对应于从玩游戏会话的视频数据中识别到的持续时间。例如,一个或更多个视频剪辑服务器116、一个或更多个游戏服务器126(例如,游戏引擎128)和/或客户端设备104(a)(例如,游戏应用程序106)可以生成代表精彩片段卷的数据。在至少一个实施例中,数据包括视频中视频剪辑位置的标识符(例如,元数据),其包括玩游戏会话的中间位置的每个视频剪辑和可选的视频剪辑。此外或可选地,在至少一个实施例中,数据包括视频数据,例如视频剪辑的连接序列,其可以包括或者也可以不包括中间的视频剪辑。
86.在一些实施例中,可以呈现提示,使用户能够启动动作管理器130来采取额外的动作,包括对持续时间执行进一步的分析,例如,通过将游戏会话数据的图像和/或视频数据(对应于持续时间)应用到目标检测模型或其他机器学习模型(例如,深度学习和/或卷积神经网络模型)。例如,目标检测模型可以用于识别场景中的一个或更多个对象,而基于一个或更多个对象,动作管理器130可以在游戏过程中或之后向用户呈现内容。内容可以包括,例如,提供基于一个或更多个对象的推荐,例如可以按下的按钮或其他用户输入,以提供给定的情况。图3的通知304(c)可以是此类推荐的一个示例。在进一步的情况下,可以向用户指示一个高度兴趣的持续时间(例如,作为推荐),以帮助用户生成和/或选择地面真实数据(例如,对应于持续时间),以训练机器学习模型。
87.现在参照图4到图6,本文所述的方法400到600以及其他方法的每个框包含可以使用硬件、固件和/或软件的任何组合执行的计算过程。例如,各种功能可以由执行存储在存储器中的指令的处理器执行。该方法还可以实现为存储在计算机存储介质上的计算机可用指令。举例来说,该方法可以由独立的应用程序、服务或托管的服务(独立的或与其他托管服务组合)或者是另一个产品的插件提供。此外,方法400到600以示例的方式参照图1的兴趣确定系统进行了描述。然而,这些方法可由任何一个系统或任何系统的组合(包括但不限于本文所述的系统)额外或替代地执行。
88.图4是示出了根据本公开的一些实施例的、用于根据用户活动测量的值从用户输入数据确定玩游戏会话的高兴趣持续时间的流程图。在框b402,方法400包括基于用户输入事件确定玩游戏会话的用户活动测量值。例如,持续时间确定器140可以根据玩游戏会话114的用户输入数据,基于玩游戏会话114过程中对输入设备的用户输入产生的用户输入事件118,确定玩游戏会话114的用户活动测量的值。
89.在框b404,方法400包括基于用户活动测量的值识别玩游戏会话中的持续时间。例如,持续时间确定器140可以根据超过阈值的用户活动测量的值来识别持续时间的开始和/或结束时间。
90.在框b406,方法400包括基于持续时间内发生的用户输入事件的集合针对持续时间计算用户兴趣分数。例如,兴趣确定器142可以根据持续时间内发生的用户输入事件118的集合计算持续时间的用户兴趣分数。用户兴趣分数可以使用兴趣级别算法(例如heat)计算。
91.在框b408,方法400包括确定用户兴趣分数超过阈值。例如,兴趣确定器142可以确定持续时间的用户兴趣分数大于mad值或其他由持续时间确定器140识别到的玩游戏会话中其他持续时间计算出的统计值。
92.在框b410,方法400包括基于用户兴趣分数超过阈值,给出持续时间的指示。例如,动作管理器130可以引起客户端设备104(a)上显示持续时间的指示(例如,如图3所示)。
93.现在参照图5,图5是示出了根据本公开一些实施例的、用于监控用户活动测量,以从用户输入数据确定玩游戏会话的高兴趣持续时间的方法500的流程图。在框b502,方法500包括在玩游戏会话期间监控一段时间内的用户活动测量。例如,持续时间确定器140可以在玩游戏会话114的一段时间内监控用户活动测量。用户活动测量可以对应于在玩游戏会话中对一个或更多个输入设备的用户输入所生成的用户输入事件118的频率。例如,监控可以实时发生和/或在玩游戏会话114中发生。例如,持续时间确定器140可以周期性地或在
某个间隔或其他触发上计算用户活动测量。
94.在框b504,方法500包括基于监控确定用户活动测量是否超过阈值。例如,持续时间确定器可以确定用户活动测量已从小于图2的用户活动测量阈值256过渡到大于用户活动测量阈值256,或已从大于图2的用户活动测量阈值256过渡到小于用户活动测量阈值256。
95.在框b506,方法500包括基于用户活动测量超过阈值,确定高用户活动的持续时间。例如,持续时间确定器149可以根据用户活动测量超过阈值的时间来确定一个时间段,以确定高用户活动的相应持续时间。
96.在框b508,方法500包括基于持续时间内发生的用户输入事件的集合计算用户兴趣分数。例如,兴趣确定器142可以根据持续时间内发生的用户输入事件118的集合计算持续时间的用户兴趣分数。
97.在框b510,方法500包括基于用户兴趣分数提供持续时间的指示。例如,动作管理器130可以引起在客户端设备104(a)上显示指示。
98.图6是示出了根据本公开一些实施例的、用于从用户输入数据确定玩游戏会话中相对高用户活动的持续时间的用户兴趣分数的方法600的流程图。在框b602,方法600包括根据用户输入事件确定玩游戏会话中相对高用户活动的持续时间。例如,持续时间确定器140可以根据玩游戏会话114的用户输入数据,根据在玩游戏会话114中对输入设备的用户输入所生成的用户输入事件118确定玩游戏会话114中相对高用户活动的持续时间。
99.在框b604,方法600包括基于持续时间内发生的用户输入事件计算用户兴趣分数。例如,兴趣确定器142可以为持续时间计算用户兴趣分数,基于相对高用户活动的持续时间中发生的用户输入事件118的个数,和/或与持续时间相关联的其他因素,和/或与持续时间中的用户输入事件。
100.在框b606,方法600包括根据用户兴趣分数显示相对高用户活动的持续时间。例如,动作管理器130可以基于用户兴趣分数在客户端设备104(a)上引起对相对高用户活动的持续时间的指示。
101.现在参照图7,图7是示出了根据本公开的一些实施例的、用于基于玩游戏会话中相对高的用户活动的持续时间生成代表精彩片段卷的数据的方法700的流程图。在框702,方法700包括确定相对高的用户活动的持续时间。例如,持续时间确定器140可以基于输入事件118确定游戏过程中相对高用户活动的持续时间。
102.在框704,方法700包括计算持续时间的用户兴趣分数。例如,兴趣确定器142可以根据持续时间内发生的用户输入事件118的集合确定持续时间的用户兴趣分数。
103.在框706,方法700包括基于用户兴趣分数选择一个或更多个持续时间。例如,兴趣确定器142可以根据用户兴趣分数与阈值(例如,统计值)的比较选择一个或更多个持续时间。
104.在框708,方法700包括识别与所选的一个或更多个持续时间相对应的一个或更多个视频剪辑。例如,一个或更多个视频剪辑服务器116、游戏应用程序106、游戏引擎128和/或动作管理器130可以识别与所选的一个或更多个持续时间相对应的一个或更多个视频剪辑。
105.在框710,方法700包括生成代表精彩片段卷的数据。例如,游戏应用程序106、游戏
引擎128和/或动作管理器130可以生成代表精彩片段卷的数据。游戏应用程序106,游戏引擎128和/或动作管理器130也可以呈现精彩片段卷,引起精彩片段卷的呈现,和/或使能和促进或招致用户保存和/或共享精彩片段卷。
106.现在参考图8,图8是根据本公开的一些实施例的游戏流媒体系统800的示例系统图。图8包括一个或更多个游戏服务器802(其可以包括与图1的一个或更多个游戏服务器126和/或图9的计算设备900相似的组件、特征和/或功能)、一个或更多个客户端设备804(其可以包括与图1的客户端设备104和/或图9的计算设备900相似的组件、特征和/或功能)和一个或更多个网络806(其可以类似于图1中的一个或更多个网络102)。
107.在至少一个实施例中,一个或更多个游戏服务器802可以托管一个或更多个客户端设备804使用的云计算平台。例如,云计算平台可以促进使用客户端设备104(a)的游戏应用程序呈现的一个或更多个游戏的玩游戏会话。在各种实施例中,云计算平台可以生成玩游戏会话的渲染(例如,其视频数据),其可以被显示器108呈现。例如,云计算平台可以通过动态地供应以及可以提供完全和/或部分虚拟化的计算环境。作为示例,云计算平台可以运行托管在一个或更多个虚拟机器上的云计算平台上的每个游戏。
108.在系统800中,对于玩游戏会话,一个或更多个客户端设备804可以只接收响应一个或更多个输入设备的输入的输入数据,将输入数据传输到一个或更多个游戏服务器802,从一个或更多个游戏服务器802接收编码的显示数据,并在显示器824上显示该显示数据。因此,计算强度更高的计算和处理被卸载到一个或更多个游戏服务器802(例如,玩游戏会话的渲染由一个或更多个游戏服务器802的一个或更多个gpu执行)。换句话说,玩游戏会话从一个或更多个游戏服务器802被流传输到一个或更多个客户端设备804,从而降低了一个或更多个客户端设备804对图形处理和渲染的要求。
109.例如,对于玩游戏会话的实例化,基于从一个或更多个游戏服务器802接收到的显示数据,客户端设备804可以在显示器824上显示玩游戏会话的帧。客户端设备804可以接收到一个或更多个输入设备之一的输入,并作为响应生成输入数据。客户端设备804可以通过通信接口820和一个或更多个网络806(如互联网)将输入数据传输到一个或更多个游戏服务器802,并且一个或更多个游戏服务器802可以通过通信接口818接收输入数据。一个或更多个cpu可以接收输入数据,处理输入数据,并将数据传输到一个或更多个gpu,从而使一个或更多个gpu生成玩游戏会话的渲染。例如,输入数据可以代表用户在游戏中的角色移动、发射武器、重新加载、传球、转向车辆等。渲染组件812可以渲染玩游戏会话(例如,代表输入数据的结果),并且渲染捕获组件814可以捕获玩游戏会话的渲染作为显示数据(例如,作为图像数据捕获玩游戏会话的被渲染的帧)。编码器816随后对显示数据进行编码以生成编码的显示数据,并且编码的显示数据可以通过通信接口818通过一个或更多个网络806被传输到客户端设备804。客户端设备804可以通过通信接口820接收编码的显示数据,并且解码器822可以对编码的显示数据进行解码以生成显示数据。然后,客户端设备804可通过显示器824显示显示数据。
110.进一步地,图1的游戏数据捕捉器138的至少部分可驻留在客户端设备804上,并可用于向一个或更多个游戏服务器802提供输入数据和/或输入事件数据。一个或更多个cpu 808可以接收输入数据,处理输入数据,和/或使用持续时间确定器140和/或兴趣确定器142来识别持续时间并预测兴趣持续时间。在至少一个实施例中,客户端设备804可以处理输入
数据,和/或使用持续时间确定器140和/或兴趣确定器142来识别持续时间并预测兴趣持续时间。
111.图9是适用于实施本公开的一些实施例的示例计算装置900的框图。计算设备900可以包括直接或间接耦连以下设备的总线902:存储器904、一个或更多个中央处理单元(一个或更多个cpu)906、一个或更多个图形处理单元(一个或更多个gpu)908、通信接口910、输入/输出(i/o)端口912、输入/输出组件914、电源916和一个或更多个表示组件918上(例如一个或更多个显示器)。
112.尽管图9中的各个模块被示为通过总线902与线路连接,但这并不意图限制,只是为了清晰起见。例如,在一些实施例中,表示组件918,例如显示设备,可以被视为i/o组件914(例如,如果显示器是触摸屏)。作为另一个例子,cpu 906和/或gpu 908可以包括存储器(例如,存储器904可以是除gpu 908、cpu 906和/或其他组件的存储器之外的存储设备的代表)。换句话说,图9的计算装置只是阐释性的。在“工作站”、“服务器”、“笔记本电脑”、“台式机”、“平板电脑”、“客户端设备”、“移动设备”、“手持设备”、“游戏机”、“电子控制单元(ecu)、“虚拟现实系统”和/或其他设备或系统类型之间没有区别,因为所有这些都在图9的计算设备的范围内。
113.总线902可以表示一个或更多个总线,例如地址总线、数据总线、控制总线或其组合。总线902可以包括一个或更多个总线类型,例如工业标准体系结构(isa)总线、扩展工业标准体系结构(eisa)总线、视频电子标准协会(vesa)总线、外围组件互连(pci)总线、外围组件互连快速(pcie)总线和/或其他类型的总线。
114.存储器904可以包括各种计算机可读介质中的任何一种。计算机可读介质可以是计算机设备900可以访问的任何可用介质。计算机可读介质可以包括易失性介质和非易失性介质,以及可移除和不可移除介质。举例来说,计算机可读介质可以包括计算机存储介质和通信介质,但不限于此。
115.计算机存储介质可以包括易失性和非易失性介质和/或以任何方法或技术实现的可移除和不可移除介质,用于存储信息,例如计算机可读指令、数据结构、程序模块和/或其他数据类型。例如,存储器904可以存储计算机可读的指令(例如,表示一个或更多个程序和/或一个或更多个程序元素的指令,例如操作系统)。计算机存储介质可包括但不限于ram、rom、eeprom、闪存或其他存储技术、cd-rom、数字多功能磁盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储设备,或任何其他可用于存储所需信息且可被计算装置900访问的介质。如本文所用,计算机存储介质本身不包含信号。
116.通信介质可以在调制数据信号中体现为计算机可读指令、数据结构、程序模块和/或其他数据类型,例如载波或其他传输机制,并包括任何信息传递介质。术语“调制数据信号”可以指具有一个或更多个特征集的信号,或以编码信号中信息的方式改变的信号。举例来说,并且不限于,通信介质可以包括有线介质,例如有线网络或直接有线连接,以及无线介质,例如声学、射频、红外和其他无线介质。上述任意的组合也应包括在计算机可读介质的范围内。
117.一个或更多个cpu 906可以配置为执行计算机可读指令以控制计算设备900的一个或更多个组件以执行本文所述的一个或更多个方法和/或过程。一个或更多个cpu 906中的每一个可以包括能够同时处理多个软件线程的一个或更多个内核(例如,一个、两个、四
个、八个、二十八个、七十二个等)。一个或更多个cpu 906可以包括任何类型的处理器,并可以包括不同类型的处理器,具体取决于所实现的计算设备900的类型(例如,移动设备的具有较少核心的处理器和服务器的具有较多核心的处理器)。例如,根据计算设备900的类型,处理器可以是使用精简指令集计算(risc)实现的arm处理器,也可以是使用复杂指令集计算(cisc)实现的x86处理器。除一个或更多个微处理器或辅助协处理器(例如数学协处理器)外,计算设备900还可以包括一个或更多个cpu 906。
118.计算设备900可以使用一个或更多个gpu 908来渲染图形(例如,3d图形)。一个或更多个gpu 908可以包括数百或数千个能够同时处理数百或数千个软件线程的内核。一个或更多个gpu 908可以响应于渲染命令(例如,通过主机接口接收的一个或更多个cpu 906的渲染命令)生成输出图像的像素数据。一个或更多个gpu 908可以包括用于存储像素数据的图形存储器,例如显示存储器。显示存储器可以作为存储器904的一部分。一个或更多个gpu 908可以包括两个或更多个并行(例如,通过链路)操作的gpu。当组合在一起时,每个gpu 908可以为输出图像的不同部分或不同输出图像生成像素数据(例如,第一图像的第一gpu和第二图像的第二gpu)。每个gpu可以包括自己的存储器,或者也可以与其他gpu共享存储器。
119.在计算设备900不包括一个或更多个gpu 908的示例中,可以使用一个或更多个cpu 906渲染图形。
120.通信接口910可以包括一个或更多个接收器、发送器和/或收发器,使计算设备900能够通过包括有线和/或无线通信的电子通信网络与其他计算设备通信。通信接口910可包括组件和功能,以使能在许多不同网络上进行通信,例如无线网络(例如wi-fi、z-wave、蓝牙、蓝牙le、zigbee等)、有线网络(例如通过以太网通信)、低功耗广域网(例如lorawan、sigfox等)和/或互联网。
121.i/o端口912可以使计算设备900逻辑地耦连到其他设备,包括i/o组件914、一个或更多个呈现组件918和/或其他组件,其中一些组件可以内置到(例如,集成在)计算设备900中。示例性的i/o组件914包括麦克风、鼠标、键盘、操纵杆、游戏板、游戏控制器、卫星碟、扫描仪、打印机、无线设备等。i/o组件914可以提供自然用户界面(nui),其处理用户生成的空气手势、声音或其他生理输入。在某些情况下,输入可以被传输到适当的网络单元进行进一步处理。nui可以实现与计算设备900的显示相关的语音识别、触笔识别、面部识别、生物识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪以及触摸识别(下文更详细地描述)的任何组合。计算设备900可以包括深度照相机,例如立体照相机系统、红外照相机系统、rgb照相机系统、触摸屏技术以及这些技术的组合,用于手势检测和识别。此外,计算装置900可以包括加速度计或陀螺仪(例如,作为惯性测量单元(imu)的一部分),其使能运动检测。在一些例子中,计算设备900可以使用加速度计或陀螺仪的输出来选人沉浸式增强现实或虚拟现实。
122.电源916可以包括硬接线电源、电池电源或其组合。电源916可以向计算装置900提供电源,使计算装置900的组件能够工作。
123.一个或更多个呈现组件918可以包括显示器(例如显示器、触摸屏、电视屏幕、平视显示器(hud)、其他显示类型或其组合)、扬声器和/或其他展示组件。一个或更多个呈现组件918可以接收来自其他组件(例如一个或更多个gpu 908、一个或更多个cpu 906等)的数
据,并输出数据(例如图像、视频、声音等)。
124.本公开可以在计算机代码或机器可使用指令(包括计算机可执行指令,例如程序模块)的一般上下文中描述,这些指令由计算机或其他机器(例如个人数据助理或其他手持设备)执行。通常,程序模块包括例程、程序、对象、组件、数据结构等,是指执行特定任务或实现特定抽象数据类型的代码。本公开可以在各种系统配置中进行,包括手持设备、消费电子产品、通用计算机、更专业的计算设备等。本公开也可以在分布式计算环境中进行,其中任务由通过通信网络连接的远程处理设备执行。
125.如本文所用,对两个或多个元素的“和/或”的详述应被解释为意味着单独的一个元素或元素的组合。例如,“元素a、元素b和/或元素c”可以只包括元素a、元素b、元素c、元素a和元素b、元素a和元素c、元素b和元素c或元素a、b和元素c。此外,“元素a或元素b中的至少一个”可以包括元素a、元素b中的至少一个或至少一个元素a中的至少一个和元素b中的至少一个。此外,“元素a和元素b中的至少一个”可以包括元素a中的至少一个、元素b中的至少一个或元素a和元素b中的至少一个。
126.本文对本发明的主题内容进行了具体描述,以满足法定要求。然而,说明书本身并不意图限制本公开的范围。相反,发明人已经考虑到,所要求保护的主题也可以以其他方式体现,包括与本文件中描述的步骤类似的不同步骤或步骤组合,以及其他现有或未来的技术。此外,尽管术语“步骤”和/或“块”可在本文中用于暗示所采用方法的不同元素,但术语不应解释为暗示本文所披露的各个步骤之中或之间的任何特定顺序,除非和除了当明确描述了各个步骤的顺序时。