基于远程用户输入的上下文游戏内元素识别、注释和交互的制作方法
背景技术:
在游戏应用中,位于远程的用户可以通过网络连接(诸如因特网)来观看视频游戏玩家的实时游戏过程。位于远程的用户还可以(例如,通过传送玩家在玩视频游戏时可查看或听到的消息来)与视频游戏玩家交互,从而实现在各个用户之间的社交游戏体验。在一些场景中,消息可以连同游戏过程一起显示在玩家的显示设备上。由此,此类社交游戏体验可以准许多个位于远程的个体进行讨论、协作并协助解决游戏任务等。
技术实现要素:
提供本发明内容以便以简化的形式介绍以下在具体实施方式述中进一步描述的概念的选集。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,亦非旨在用于限制所要求保护的主题的范围。
提供了用于注释由视频游戏生成的视频帧的系统、方法和计算机程序产品。将元素标签与视频游戏的元素相关联的视频游戏模型可被生成。视频游戏模型可以按数种方式(包括通过受监督和/或无监督的训练)来生成。被配置成在视频帧上显示覆盖的注释的视频游戏覆盖可以与视频游戏并发地被执行。视频游戏覆盖可以通过网络从一个或多个远程设备接收远程用户输入。远程用户输入可以通过应用视频游戏模型来解析,以提取与视频游戏相对应的元素标签。通过使用视频游戏模型,视频游戏的与元素标签相对应的元素可在视频帧中被标识。基于视频帧中所标识的元素,视频帧可以按各种方式来注释。
以此方式,视频游戏覆盖可以自动地解析远程用户输入,以实时标识和注释当前视频游戏玩家正在玩的视频游戏的元素。例如,如果接收到指示视频游戏玩家应将足球传给特定玩家的消息,则视频游戏覆盖可标识该玩家,确定该玩家在视频帧上的位置,并且注释该视频帧以标识该玩家(例如,通过在玩家周围绘制轮廓)。通过以此方式自动地标识和注释元素,视频游戏玩家可以容易地查看与远程用户输入相对应的屏幕上注释,因为它们与实际的实时游戏过程有关,而无需单独地读取或收听远程用户输入。作为结果,用户不太可能被远程用户输入分散注意力,并且可以对玩视频游戏保持更好的专注度。
下文参考附图详细描述各个示例实施例的进一步特征和优点以及结构和操作。注意,示例实现不限于本文所述的特定实施例。本文呈现这些示例实施例仅用于说明性的用途。基于本文包含的示教,附加的实现对相关领域的技术人员将是显而易见的。
附图简述
合并到本文并构成说明书的一部分的附图例示了本申请的各示例实施例,并且与说明书一起进一步用于解释各实施例的原理并允许相关领域技术人员实施和使用这些示例实施例。
图1示出了根据一示例实施例的用于注释由视频游戏生成的视频帧的系统的框图。
图2示出了根据一示例实施例的用于注释由视频游戏生成的视频帧的方法的流程图。
图3示出了根据一示例实施例的视频游戏覆盖的框图。
图4示出了根据一示例实施例的用于生成视频游戏模型的方法的流程图。
图5示出了根据一示例实施例的用于生成经复用的远程用户输入流的方法的流程图。
图6示出了根据一示例实施例的用于选择注释以用于渲染到视频帧的方法的流程图。
图7a-7d示出了根据一示例实施例的用于渲染到视频游戏的视频帧的示例注释。
图8是可用于实现各个示例实施例的示例基于处理器的计算机系统的框图。
当结合其中相同的附图标记标识对应的元素的附图时,本文中描述的各实现的特征和优点将从以下阐述的详细描述中变得更加显而易见。在附图中,相同的附图标记一般指示等同的、功能上类似的、和/或结构上类似的元素。其中元素第一次出现的附图由对应附图标记中最左侧的(诸)数位来指示。
具体实施方式
i.介绍
本说明书和附图公开了许多示例实现。本应用的范围不限于所公开的各实现,而且还包括所公开的各实现的各种组合以及对所公开的各实现的各种修改。本说明书中对“一个实现”、“一实现”、“示例实施例”、“示例实现”等的述及指示所描述的实现可包括特定特征、结构或特性,但并非每一实现都有必要包括该特定特征、结构或特性。此外,这些短语不一定指相同的实现。此外,当结合实现描述具体特征、结构或特性时,应当理解在相关领域的技术人员的知识范围内能够结合其他实现来实现此类特征、结构或特性,无论是否被显式地描述。
在讨论中,除非另有说明,否则修改本公开的实现的一个或多个特征的条件或关系特性的诸如“基本上”和“大约”之类的形容词应被理解成是指该条件或特性被限定在对该实现所意图的应用而言可接受的该实现的操作的容差以内。
以下描述多个示例实施例。应当注意,在此提供的任何章节/子章节标题不旨在限制。本文档中描述了各实现,并且任何类型的实现可被包括在任何章节/子章节下。此外,在任何章节/子章节中公开的各实现可与在相同章节/子章节和/或不同章节/子章节中描述的任何其他实现以任何方式组合。
ii.示例实现
如以上在背景技术章节中所提及的,在游戏应用中,位于远程的用户可以通过网络连接(诸如因特网)来观看视频游戏玩家的实时游戏过程。位于远程的用户还可以(例如,通过传送玩家在玩视频游戏时可查看或听到的消息来)与视频游戏玩家交互,从而实现在各个用户之间的社交游戏体验。在一些场景中,消息可以连同游戏过程一起显示在玩家的显示设备上。由此,此类社交游戏体验可以准许多个位于远程的个体进行讨论、协作并协助解决游戏任务等。
然而,远程用户与视频游戏玩家之间的交互通常受到限制。例如,玩家的显示设备通常仅显示所传达的消息的内容。此外,如果远程用户的消息为视频游戏玩家提供了建议或策略提示,则视频游戏玩家仍必须将他或她的注意力从游戏中移开以读取消息,并且随后仅基于消息内容来确定如何在视频游戏中执行一个或多个动作或决定导航到哪里。对于许多视频游戏,视频游戏玩家可能需要几乎立即做出此类确定。如果视频游戏玩家无法足够迅速或甚至根本无法做出此类确定,则尽管从远程观看者处获得了提示或策略消息,但玩家可能无法成功完成视频游戏任务,或者玩家的挫败感可能会上升。随着许多视频游戏变得越来越复杂或具有不断变化的屏幕元素,使玩家实时地基于远程观看者的建议执行动作的能力变得越来越困难。
另外,在视频游戏玩家正在同时从多个远程观看者接收消息的情况下,需要视频游戏玩家同时专注于多个与视频游戏相关的元素(例如,查看提供持续传入消息流的聊天窗口,收听传入消息流,以及玩视频游戏)。在此类情形中,视频游戏玩家可能发现在玩视频游戏时同时处理每个传入消息变得愈加困难。如果交互式游戏体验对于特定的视频游戏玩家而言变得不堪重负(例如,归因于图形用户界面以玩家无法轻松处理的方式呈现内容),则玩家可能会完全禁用交互式游戏功能,从而导致对玩家以及远程观看者而言的下降的游戏体验。
本文所描述的实现通过用于注释由视频游戏生成的视频帧的、与视频游戏并发地执行的视频游戏覆盖来解决这些和其他问题。视频游戏覆盖包括通过网络(例如,经由视频游戏覆盖的插件)从位于远程的设备接收用户输入的接收机。视频游戏覆盖还可包括解析器,该解析器通过应用将元素标签或标记与视频游戏的元素相关联的视频游戏模型来从用户输入中提取元素标签。通过使用视频游戏模型,元素识别器可以分析视频帧以标识视频游戏中与所提取的元素标签相对应的游戏内元素(诸如足球运动员)。注释渲染器可基于所标识的元素(诸如通过使视频游戏覆盖突出显示该元素(例如,足球运动员)或在该元素周围绘制轮廓)来注释视频帧。
以此方式,视频游戏覆盖可基于从与视频游戏玩家交互的一个或多个远程用户接收的远程用户输入的内容来自动地在视频游戏上将注释显示为覆盖(例如,叠加图像等)。例如,视频游戏覆盖可以自动地确定远程用户输入与特定视频游戏的哪些游戏内元素相关,标识视频帧内的此类元素,并且向视频游戏玩家实时呈现标识该元素的屏幕上指示。作为结果,如果用户专注于玩视频游戏而不是读取或收听来自位于远程的观看者的消息,则由远程观看者提供的与实际实时游戏过程有关的建议可以作为覆盖显示在呈现视频游戏的显示设备上。另外,视频游戏覆盖可以经由不同的插件同时耦合至若干远程服务,从而使视频游戏覆盖能够基于从不同远程服务接收到的远程用户输入来快速(即实时)且自动地显示注释。
这种办法具有许多优点,包括但不限于减少视频游戏玩家将被来自位于远程的用户的消息分散注意力的可能性,以及使基于那些消息的内容的注释能够作为覆盖自动地呈现在视频游戏玩家的屏幕上。例如,本文所描述的技术可以快速地(即,一旦接收到输入)处理和分析从远程用户的输入导出的内容,并且使用该输入来通过覆盖在视频游戏的实际视频元素上的注释实时指导视频游戏玩家。此外,通过使单个视频游戏覆盖能够经由一个或多个接收机(例如,插件)与远程用户交互,在增强游戏玩家和远程观看者的游戏体验的同时减少了对附加软件或硬件的需求。另外,对可基于视频游戏中的元素而被连续训练的视频游戏模型的利用使模型能够随时间流逝而变得更加准确,藉此提高了可由视频游戏覆盖呈现的注释的准确性。
附加地,本文所描述的实现通过增强针对远程观看者和视频游戏玩家两者的交互式游戏体验来改进图形用户界面。例如,通过向屏幕上元素自动地呈现注释,视频游戏玩家可以查看从远程观看者的评论导出的信息,因为它与实际的实时游戏过程有关,而不是读取远程观看者的评论的文本。以此方式,图形用户界面可以使视频游戏玩家能够更容易地理解来自远程观看者的提议或建议,同时减少了玩家变得分散注意力的机会。更进一步,在其中不同的进程可被并行执行的系统中,视频游戏覆盖可以与视频游戏的执行并行地确定并渲染注释,从而使得视频游戏能够继续以高帧速率和/或在没有滞后或延迟的情况下向用户呈现图形。换言之,由于视频游戏没有正在利用任何资源来分析来自各种插件的内容并覆盖来自各种插件的内容,因此视频游戏可以继续传递高性能的体验,而分开的视频游戏覆盖可以使用并行资源来在由视频游戏生成的视频帧之上渲染对视频游戏玩家有用的注释。
因此,实现可以至少提供以下与注释由视频游戏生成的视频帧有关的能力:(1)一种基于远程用户输入向视频帧自动地呈现屏幕上注释的机制;(2)一种用于通过实现用于跨不同远程服务接收要关于其呈现屏幕上注释的用户输入的多个插件来增强针对游戏玩家和远程观看者的游戏体验的机制;(3)一种用于实现可基于视频游戏中的元素而被连续训练的视频游戏模型的机制;(4)一种用于结合游戏体验来改进图形用户界面的机制,以及(5)一种用于在提供屏幕上注释的同时实现高性能视频游戏体验的机制。
现在将描述涉及用于注释视频帧的技术的示例实现。例如,图1示出了根据一示例实现的用于注释由视频游戏生成的视频帧的示例系统100的框图。如图1所示,系统100包括计算设备102、网络106以及一个或多个远程设备104。网络106可包括一个或多个网络(诸如局域网(lan)、广域网(wan)、企业网络、因特网等)并且可包括有线和/或无线部分。计算设备102经由网络106通信地连接至(诸)远程设备104。在一实现中,计算设备102和(诸)远程设备104可以经由一个或多个应用编程接口(api)来通信。
计算设备102可以是被配置成将包括一个或多个视频帧的视频信号输出到显示屏的设备。计算设备102可包括视频游戏控制台(例如,任何版本的microsoft
如图1所示,计算设备102包括视频游戏覆盖108和视频游戏116。视频游戏覆盖108被配置成在由视频游戏116生成的视频帧上提供交互式覆盖。例如,视频游戏覆盖108可以呈现一个或多个屏幕上指示、消息、启示、线索或其他信息以作为覆盖或叠加图像或图形显示在计算设备102的正在显示来自视频游戏116的内容的显示设备上。在各实现中,视频游戏覆盖108可以与视频游戏116并发地被执行,使得视频游戏覆盖可以与视频游戏116的实时游戏过程同时呈现覆盖信息。例如,视频游戏覆盖108可被配置为可在共用操作系统上与视频游戏116并发地被执行的应用。在其他示例实施例中,视频游戏覆盖108可被实现为在操作系统上可执行的壳级或顶层应用,使得其可以将图形对象或注释呈现为覆盖。在另一示例中,视频游戏覆盖108可以在诸如由华盛顿州雷蒙德市微软公司开发的gamebar之类的应用中实现。
视频游戏覆盖108包括远程设备接口110和视频游戏注释器114。远程设备接口110可包括插件112a-112n。插件112a-112n可被配置成通过网络从一个或多个端点或位于远程的源(例如,(诸)远程设备104)接收信息。例如,插件112a-112n可对应于使位于远程的用户能够通过网络观看视频游戏116的实时游戏过程的数种不同服务。插件112a-112n还可以使位于远程的用户能够在游戏过程期间向视频游戏116的视频游戏玩家传送一个或多个消息,使得视频游戏玩家可以在该玩家正在玩视频游戏116时(例如,经由屏幕上指示等)观看此类消息或收听此类消息。
在一些实现中,插件112a-112n可各自对应于用于与由一个或多个服务器(未示出)提供的在线或基于云的服务进行通信的通信信道。例如,插件112a-112n可以使视频游戏覆盖108能够连接至多个不同的游戏服务,该多个不同的游戏服务允许连接至相同游戏服务的远程观看者(例如,(诸)远程设备104的用户)与视频游戏116的视频游戏玩家交互。一些示例包括交互式游戏服务,诸如由加利福尼亚州旧金山的discord公司开发的
注意,变量“n”被附加到所解说组件的各个附图标记,以指示此类组件的数量是可变的,其具有2或更大的任何值。注意,对于每个不同的组件/附图标记,变量“n”具有对于其他组件/附图标记的“n”的值而言可以是不同的对应值。针对任何特定的组件/附图标记的“n”的值可取决于特定实现而小于10、在数十中、在数百中、在数千中、或甚至更大。
视频游戏116可包括在计算设备102上可执行或可玩的任何类型的视频游戏。视频游戏116可包括任何类型的视频游戏体裁(诸如体育、动作、冒险、角色扮演、模拟、策略、教育等)。视频游戏116可包括任何水平的玩家交互的游戏(例如,快动作或快节奏游戏、慢速移动游戏、单人游戏、多人游戏等)。作为其他示例,视频游戏116可包括诸如纸牌游戏(例如,单人纸牌(solitaire))、填字游戏、数学游戏、益智问答游戏、家庭游戏等的游戏或活动。在各实现中,视频游戏116可被本地存储在计算设备102上或可被存储在可移动存储(诸如压缩碟(cd)、数字视频光盘(dvd)、蓝光(blu-raytm)光盘、或可由计算设备102访问的任何其他介质)上。在其他实现中,视频游戏116可被远程地存储(例如,在经由网络106可访问的本地或位于远程的服务器上)和/或从本地或远程服务器流送。
(诸)远程设备104包括与计算设备102的视频游戏玩家交互的远程观看者的一个或多个远程设备。应理解,系统100可包括任何数目的(诸)远程设备104,并且每个远程设备可位于任何一个或多个位置。(诸)远程设备104可包括移动设备,包括但不限于移动计算设备(例如,
(诸)远程设备104还可包括用于接收用户输入的输入接口118。输入接口118可以使(诸)远程设备104的用户能够以数种方式与计算设备102的视频游戏覆盖108交互。例如,输入接口118可包括键盘输入、话筒、相机、触摸屏、触摸板或用于捕获远程用户输入的任何其他类型的设备。因此,远程用户输入可以按任何形式(包括音频、视频、文本、触摸屏、触摸板、触控笔或基于笔的输入(例如,microsoft
根据各实现,视频游戏注释器114可被配置成向由视频游戏116生成的视频帧呈现一个或多个注释。例如,视频游戏注释器114可以将从接收自(诸)远程设备104之一的远程用户输入(例如,消息)提取的内容呈现为屏幕上注释。在示例实施例中,视频游戏注释器114可被配置成应用基于机器学习的视频游戏模型来分析远程用户输入,以标识与视频游戏116相关联的元素标签,标识与由视频游戏116生成的视频帧中的元素标签相对应的元素,并且以一种或多种方式来注释视频帧。以此方式,当视频游戏玩家正在玩视频游戏116时,视频游戏注释器114可以利用在数个不同源(例如,插件112a-112n)上接收到的远程用户输入来向与视频游戏116的实时游戏过程相对应的视频帧生成交互式注释。
因此,在各实现中,注释由视频游戏生成的视频帧可被实现。视频游戏注释器114可以按各种方式来注释视频游戏116的视频帧。例如,图2示出了根据一示例实施例的用于注释视频帧的方法的流程图200。在一实现中,流程图200的方法可由视频游戏注释器114来实现。继续参考图1来描述图2。基于以下关于流程图200和图1的系统100的讨论,其他结构和操作实现对(诸)相关领域的技术人员将是显而易见的。
流程图200从步骤202开始。在步骤202,视频游戏覆盖与视频游戏被并发地执行。例如,参考图1,视频游戏覆盖108可以与视频游戏116被并发地执行。在各实现中,在启动视频游戏116之际,视频游戏覆盖108可被自动地执行(例如,无需任何进一步用户输入),或者可由用户手动执行。视频游戏覆盖108还可基于确定特定游戏已经被执行或者落入特定游戏体裁的游戏(例如,体育游戏)已经被执行来被选择性地启动。在一些其他实现中,计算设备102的用户可经由用户接口(未示出)来指定使得视频游戏覆盖108被并发地执行的一个或多个视频游戏。
视频游戏覆盖108可被配置为与视频游戏116分开的应用或进程,使得其被启动和终止而不会中断视频游戏116的执行。在其他实现中,视频游戏覆盖108可以在视频游戏116内被实现而非作为单独的应用或进程来被实现。根据各实现,视频游戏覆盖108可被配置成提供以叠加方式显示在由视频游戏116生成的一个或多个视频帧上的屏幕上覆盖(例如,图形或其他注释)。例如,视频游戏注释器可以从一个或多个插件112a-112n接收远程用户输入,并且在同时显示来自视频游戏116的内容的显示屏上将此类输入显示为覆盖。
在步骤204,从一个或多个远程设备接收远程用户输入。例如,参考图1,视频游戏覆盖注释器114可以经由网络106从一个或多个远程设备104接收远程用户输入。在各实现中,视频游戏注释器114可以从一个或多个插件112a-112n接收此类输入,每个插件可以对应于一个或多个远程设备104通信地耦合的远程服务。步骤204也可根据其他实现来执行。例如,图3示出了耦合至视频游戏模型生成器308和视频游戏116的视频游戏覆盖108的框图。如图3中所示,视频游戏覆盖108包括如先前所述的远程设备接口110和视频游戏注释器114。视频游戏注释器114包括接收机302、组合器304、语音至文本转换器306、归一化器308、解析器310、元素识别器312和视频帧注释器314。
根据步骤204,接收机302可被配置成经由网络106从(诸)远程设备104之一接收远程用户输入。在各实现中,接收机302可以经由插件112a-112n中的一者或多者、或用于从位于远程的设备接收用户输入的任何其他合适方式来接收324远程用户输入。接收机302可以从任何数目的插件接收输入。在各实现中,接收机302可被配置成并发地或同时从多个不同的插件(例如,与不同远程服务相对应的插件)接收远程用户输入。作为结果,由于接收机302可以从各种不同的插件接收用户输入,所以接收机302可以充当不同远程服务与视频游戏注释器114之间的通用接口。以此方式,不需要为每个远程服务安装单独的视频游戏覆盖,而是与视频游戏116并发地执行的单个视频游戏覆盖108可以通过激活、安装或执行插件112a-112n中的一者或多者来实现跨多个期望的远程服务和用户的通信。
在一些示例实施例中,接收机302可被配置成接收各种形式的远程用户输入。例如,(诸)远程设备104的输入接口118可以获得一种或多种形式的远程用户输入(包括语音输入(例如,经由话筒)、文本输入(例如,经由键盘)、触摸屏输入(例如,经由触控笔、基于笔的输入或用户发起的触摸动作)、或定点设备输入(例如,鼠标或其他定点设备))。在一些实现中,在远程用户输入包括语音输入的情况下,语音至文本转换器306可以接收328语音输入并将该语音输入自动转换成文本输入。例如,使用本领域技术人员将理解的一种或多种语音转换算法,语音至文本转换器306可以例如将由话筒捕获的远程用户输入转换成单词或短语。类似地,尽管本文中未示出,但是转换器可以例如通过实现本领域技术人员所理解的一种或多种光学字符识别(ocr)技术来将触摸输入转换成文本输入。以此方式,由不同输入接口获得的远程用户输入可在如本文所述的一个或多个其他处理步骤之前被转换成文本。
在一些示例实施例中,归一化器308可被配置成获得330远程用户输入并归一化该输入。例如,归一化器308可以对远程用户输入(或如上所述的经转换的远程用户输入)执行一个或多个修改,使得该输入具有用于后续处理的恰适形式。在一示例实施例中,归一化远程用户输入可包括移除所有大写字符和/或移除所有标点。归一化器308还可基于一种或多种词形还原或截短技术(诸如分析包含在远程用户输入内的单词并移除词尾变化的单词末尾以获得单词的基本或字典形式)来归一化远程用户输入。在其他示例中,归一化器308可移除其他无关的单词或短语,纠正拼写错误,或者对远程用户输入执行类似的修改、更改。
在步骤206,将元素标签与该视频游戏的元素相关联的视频游戏模型被应用,以解析该远程用户输入并提取与该视频游戏相对应的元素标签。例如,参考图3,视频游戏模型生成器320可以生成将元素标签(例如,标记)与视频游戏116的元素相关联的视频游戏模型322。在各实现中,视频游戏模型322包括可按数种方式(包括受监督和无监督训练两者)来训练的针对每个视频游戏的基于机器学习的模型,如将在下面更详细地描述。随着视频游戏116被玩得更多,视频游戏模型322可以获得附加的训练数据,从而随时间流逝增强视频游戏模型322的准确性。在一示例中,视频游戏模型322可以将特定的图形对象(例如,运动衫标识符或运动玩家的面部)与元素标签(例如,运动玩家在视频游戏116中的名称)相关联。在另一示例中,视频游戏模型可以将其他元素(诸如景观(例如,树木)或地理对象(游戏中的位置))与恰适的元素标签相关联。视频游戏模型322可包括针对每个不同视频游戏116的基于机器学习的模型。例如,因为视频游戏通常包括不同的内容,所以视频游戏模型322可包括针对每个视频游戏116的元素标签与视频游戏元素的唯一关联。
参考回步骤206,解析器310可被配置成应用视频游戏模型322以解析远程用户输入并提取与视频游戏116相对应的元素标签。例如,基于正在玩的特定视频游戏,视频游戏模型322可以标识与视频游戏116的元素相关联的每个可能的元素标签(例如,诸如文本标记之类的标记)。解析器310可以接收332远程用户输入并且解析该输入以确定该输入是否包括与视频游戏116相对应的元素标签。在各实现中,解析器310可以通过对通过应用338视频游戏模型116而标识的每个可能的元素标签执行远程用户输入的文本搜索来从远程用户输入中提取元素标签。注意,解析器310不限于从每个远程用户输入中提取单个元素标签,而是可以提取任何给定输入中的多个元素标签。例如,作为非限制性解说性示例,如果远程用户正在观看足球视频游戏的实时游戏过程并且口头指示视频游戏玩家应“将球传给克里斯蒂亚诺(cristiano)”,则解析器310可以应用该特定视频游戏的所有可能的元素标签,并且从远程用户输入中提取包括“球”和“克里斯蒂亚诺(cristiano)”的元素标签。在另一示例中,如果视频游戏116是纸牌游戏(例如,单人纸牌(solitaire))并且远程用户输入包括与“红心六”有关的提议,则解析器310可以通过应用视频游戏模型322来确定“六”和“红心”(或其组合)是元素标签,并且从远程用户输入中提取此类元素标签。
在步骤208,该视频游戏模型被应用以标识该视频游戏中与该元素标签相对应的元素。例如,继续参考图3,元素识别器312被配置成接收334由解析器310提取的元素标签,并且应用视频游戏模型322以标识视频游戏116中与该元素标签相对应的游戏内元素。元素识别器312可以按数种方式来标识视频游戏116中与所提取的元素标签相对应的游戏内元素。例如,元素识别器312可以向视频游戏模型322提供340所提取的元素标签,以标识与对应元素相关联的信息。视频游戏模型322可以通过标识图形对象(例如,运动玩家的特定面部、球、景观对象等)、单词或短语(玩家名称、数字)、或者与标签相关联的任何其他指示符来返回与所提取的元素标签相关联的信息。
在各实现中,通过使用与由视频游戏模型322返回的元素相关联的信息,元素识别器312可以获得342由视频游戏116生成的视频帧并分析该视频帧以标识与所提取的元素标签相对应的元素。视频帧可包括任何格式,包括但不限于静止图像、位映射文件、jpeg文件、便携式网络图形(png)文件等。在其他实现中,元素识别器312可以标识由视频游戏116生成的多个视频帧(例如,视频帧流)中的元素。
因此,在将模型322应用以标识与所提取的元素标签相对应的元素之际,元素识别器312可以分析视频帧以标识在实际游戏过程期间是否存在此类元素。元素识别器312可以使用任何合适的图像分析算法、ocr算法或如本领域技术人员所领会和理解的用于定位对象的任何其他技术(或其组合)来在视频帧中标识(例如,搜索)元素。例如,继续先前的解说性示例,如果所提取的元素标签是“球”和“克里斯蒂亚诺(cristiano)”,则元素识别器312可以应用针对正在玩的特定体育游戏的模型116以标识与每个元素标签相关联的元素,并分析视频游戏116的视频帧以通过搜索球、球衣号码、名称、玩家在场地或球场上的位置等来标识视频帧中的此类元素。因为元素识别器312与视频游戏116被并发地执行,所以对此类元素在视频游戏的视频帧上的标识可被实时或接近实时地执行。
在各实现中,元素识别器312还可被配置成标识所标识的元素的位置。元素识别器312可以按数种方式来标识位置。例如,所标识元素的位置可基于图像帧上的虚拟位置。元素识别器312可以使用表示所标识元素在帧中的位置的一个或多个坐标来标识图像帧上的相对位置。元素识别器312可以标识所标识的对象在视频帧上的中心,或者标识表示所标识的对象的轮廓或边界的多个坐标。
在一些其他实现中,所标识的元素的位置可基于视频游戏模型322。例如,视频游戏模型322可基于视频游戏地图来训练。在此类实例中,视频游戏模型322可被配置成基于视频游戏116中一个或多个元素在视频游戏116内的位置来标识该一个或多个元素的位置。因此,在解析器310从远程用户输入中提取元素标签之际,元素识别器312可以应用视频游戏模型322以标识与元素标签相对应的元素可在视频游戏中出现或找到的位置,并将所标识的位置与如由视频游戏116的最新近视频帧指示的当前位置(例如,基于视频帧中存在的微型地图或基于标识视频帧中的一个或多个其他元素以推断当前位置)进行比较。在另一示例中,诸如在视频游戏116是体育游戏的情况下,视频游戏模型322可基于一个或多个运动玩家所玩的位置来进一步训练。例如,在元素识别器312无法标识视频帧中与元素标签相对应的元素(例如,特定的运动玩家)的情况下,元素识别器312可以应用视频游戏模型322来基于所玩的位置来确定或推断运动玩家的可能位置,即使该玩家在视频帧中未被标识。
还应注意,元素识别器312还可以确定与所标识的元素相关联的置信值。例如,元素识别器312可以分析视频帧以标识如本文所述的游戏内元素,并且进一步计算与该标识相关联的置信度的测量。在各实现中,如果置信值高于阈值,则针对元素的注释可被覆盖在视频帧上。如果置信值低于阈值,则注释可能不被应用于视频帧。置信值还可基于用户输入来配置。例如,视频游戏玩家可以设置较高的置信值以用于更准确的屏幕上注释。
在步骤210,视频帧基于所标识的元素和该元素的位置来注释。参考图3,视频帧注释器314可以从元素识别器312获得336游戏内元素的标识和该元素的位置,并且基于该元素和位置来向视频游戏116的视频帧提供344屏幕上注释。例如,注释选择器316可以按数种方式来选择恰适的注释,如以下更详细地描述的,并且注释渲染器318可以使注释覆盖在由视频游戏116生成的视频帧上。注释渲染器318可被配置成在视频帧上渲染任何类型的屏幕上注释,包括但不限于突出显示元素、勾勒元素(例如,剪影)、显示围绕元素的形状(例如,框、圆形、星形等)、和/或显示元素方向的视觉指示(例如,箭头或其他指针)。注释不必覆盖在所标识的元素之上或周围,而是也可以显示在所标识的元素附近(例如,上方、下方等)。在视频帧上渲染的注释可以是不透明的或半透明的,可包括单一颜色、多种颜色或当注释被渲染在连续视频帧上时可变化颜色。在其他实现中,注释可以闪烁或改变大小、厚度或类型,以使该注释在游戏过程中变得或多或少可见。各示例不限于本文,并且还构想了任何其他类型或格式的注释元素、或其组合。
在示例实施例中,注释渲染器318被配置成将注释渲染为由视频游戏116生成的视频帧上的覆盖,使得计算设备102的显示设备同时显示视频游戏116的视频帧和所覆盖的注释两者。
如之前所讨论的,注释可被显示在单个视频帧中,或者可跨多个(例如,连续的)视频帧被刷新。在一些实现中,注释可被显示在一个或多个连续的视频帧上,直到为其渲染注释的所标识的元素不再出现在视频帧上。在另一示例中,注释可被显示,直到用户响应于该注释而执行某个动作(例如,通过将球传递给突出显示的玩家)、执行与该注释不一致的动作、忽略该注释或取消该注释。在其中注释可以针对多个视频帧被显示的示例中,连续视频帧中的一个或多个视频帧可按如以上(例如,关于步骤208)所述的类似的方式来分析以标识元素及其位置。例如,由视频游戏116生成的每个视频帧可被分开处理以标识与元素标签相对应的元素,并且注释渲染器318可被配置成注释其中存在所标识的元素的每个视频帧。在其他示例中,注释渲染器318可被配置成通过使用任何合适的对象识别和/或对象跟踪算法来跟踪所标识的元素在连续视频帧中的移动来渲染注释。
尽管本文描述了注释渲染器318可以在由视频游戏116生成的视频帧上显示注释,但是各实现不限于在视频帧上渲染单个注释。将理解,任何注释渲染器318可以同时在视频帧上渲染任何数目和类型的注释(例如,通过注释视频帧中的球和玩家)。此外,注释渲染器318不限于基于单个远程用户输入来渲染注释。相反,因为接收机302可以从各种不同的插件112a-112n或远程服务接收远程用户输入,所以注释渲染器318可以同时在视频帧上针对与在各种用户输入中标识的元素标签相对应的多个元素渲染恰适的注释。
如上所述,在各示例中,视频游戏模型322可按各种方式来被训练以将元素标签与视频游戏116的元素相关联。例如,图4示出了根据一示例实施例的用于生成视频游戏模型的方法的流程图400。在一示例中,流程图400的方法可由视频游戏模型322来实现,如图3中所示。基于以下有关流程图400的讨论,其他结构及操作的实现对于相关领域的技术人员将是显而易见的。
流程图400从步骤402开始。在步骤402,基于受监督或无监督训练来生成视频游戏模型。例如,参考图3,视频游戏模型322可以通过受监督训练、无监督训练或两者来生成。受监督训练可包括基于一个或多个用户输入来训练视频游戏模型322。在一个实现中,(诸)用户可以通过手动地将元素标签(例如,标记)与视频游戏116的元素相关联来训练视频游戏模型322。例如,用户可以标识运动玩家的名称(即,针对该玩家的元素标签)与视频游戏116内的玩家(即,对应于该玩家的游戏内元素)之间的关联。在另一示例中,用户可基于视频游戏内的位置(例如,掩体或湖泊)和与该位置相对应的元素标签来训练视频游戏模型322。在进一步的实现中,视频游戏模型322可基于视频游戏内在此类位置处或附近的一个或多个游戏内对象(例如,湖泊附近的武器或弹药)来进一步训练。
可以通过经由任何合适的用户输入(诸如触摸屏、键盘、语音输入、定点设备等)选择视频帧上的元素并且标识针对该元素的标签来建立用于训练视频游戏模型322的关联。注意,各示例实施例不限于基于单个用户输入来训练视频游戏模型322。相反,视频游戏模型322可基于任何数目的用户(诸如当前正在玩视频游戏116的玩家以及同时或在不同时间远程观看视频游戏116的(诸)远程设备的一个或多个用户)来训练。在另一实现中,设计者(例如,游戏设计者、游戏覆盖设计者、插件设计者等)也可以通过如本文所讨论的任何合适的受监督训练方法来训练视频游戏模型322。
在其他实现中,视频游戏模型322可基于无监督训练来被训练。例如,视频游戏模型322可以在游戏过程期间自动学习或推断元素标签与视频游戏116的元素之间的映射。在各实现中,视频游戏模型322可以获得348由视频游戏116生成的一个或多个视频帧(例如,原始图像(诸如位映射、png等))以标识视频帧中的元素与元素标签之间的关联。在一种实现中,视频游戏模型322的无监督训练可基于一种或多种数据聚类算法、图像识别技术、ocr技术等。在一些其他示例中,视频游戏的元素可基于从在线或离线元素存储库访问的数据来被标记。例如,元素存储库(例如,存在于云或(诸)其他位于远程的设备或服务器上)可被用于将元素映射到元素标签。例如,视频游戏的元素(例如,纸牌花色、玩家、景观对象等)可基于从元素存储库获得关联来被自动标记。在另一实现中,元素存储库可包括被配置成将标记(例如,元素标签)与图形对象(例如,元素)相关联的图像存储库、标识视频游戏的一个或多个对象、玩家、位置等的视频游戏指南、或者可将视频游戏中可找到的图像映射到基于文本的标记的任何其他数据源。基于从元素存储库标识关联,视频游戏模型322可以推断视频游戏116的特定元素应与特定元素标签相关联。
在又一实现中,视频游戏模型322可基于来自一个或多个其他视频游戏的元素和元素标签关联来被训练。在其中针对特定视频游戏的视频游戏模型322基于本文所描述的任何受监督或无监督训练技术来将元素(例如,树、玩家等)与恰适的元素标签相关联的示例中,视频游戏模型322可基于习得的元素和元素标签关联来训练不同游戏中的类似元素。
因此,视频游戏模型322可基于如以上所讨论的受监督训练或无监督训练来被训练。注意,视频游戏模型322还可基于受监督和无监督训练的组合来被训练。例如,视频游戏的某些元素可以被手动地与元素标签相关联,而视频游戏模型322可被训练成以无监督的方式针对其他元素自动地将元素和元素标签相关联。
视频游戏模型322可被远程(诸如在一个或多个基于云的服务器上)生成和/或存储。在其他实现中,视频游戏模型322可被本地(例如,在计算设备102上)生成和/或存储。
如上所述,在各示例中,视频游戏注释器114可被配置成接收多个远程用户输入。例如,图5示出了根据一示例实施例的用于生成经复用的远程用户输入流的方法的流程图500。在一示例中,流程图500的方法可由组合器304来实现,如图3中所述。基于以下有关流程图500的讨论,其他结构及操作的实现对于相关领域的技术人员将是显而易见的。
流程图500从步骤502开始。在步骤502,多个远程用户输入流被组合以生成经复用的远程用户输入流。例如,参考图3,接收机302可以经由插件112a-112n接收作为多个不同输入流的远程用户输入。如先前所讨论的,在各示例中,插件112a-112n可各自对应于用于使(诸)远程设备104能够与视频游戏覆盖108交互的不同远程服务。在各实现中,组合器304可被配置成获得326经由插件112a-112n接收到的多个远程用户输入流,并且组合这些流以生成单个经复用的远程用户输入流。例如,组合器304可以将与不同远程服务(例如,不同远程用户)相对应的远程用户输入流复用为单个输入流。在另一实现中,组合器304可被配置成将不同类型的远程用户输入(诸如文本输入和语音输入)组合成单个文本输入流。组合器304可进一步被配置成在生成经复用的输入流时向由接收机304接收到的一个或多个远程用户输入指派优先级或权重。例如,组合器304可以对经由某些插件或从某些远程用户接收到的输入进行优先化或指派较高权重。在视频游戏116的视频游戏玩家偏好于渲染与某些插件或远程用户相关联的注释的另一示例中,组合器304可以生成包括仅来自指定插件或远程用户的输入的经复用输入流。
在一些实现中,单个经复用的远程用户输入可包括预定格式。例如,组合器304可以转换经由插件112a-112n接收到的一个或多个远程用户输入的形式、结构和/或内容,以符合单个经复用远程用户输入的格式。作为结果,(例如,由归一化器308、解析器310、元素识别器312和视频帧注释器314进行的)对经由插件112a-112n接收到的远程用户输入的后续处理可对单个输入流而非多个离散输入流执行。通过基于单个输入流来注释视频游戏,需要较少的资源和处理能力,注释生成可被简化,并且重复的注释可被避免(例如,在多个远程用户为视频游戏玩家提供类似推荐的情况下)。
如上所述,在各示例中,视频帧注释器314可以按各种方式来注释视频游戏的视频帧。例如,图6示出了根据一示例实施例的用于选择注释以用于渲染到视频帧的方法的流程图600。在一示例中,流程图600的方法可由注释选择器316和注释渲染器318来实现,如图3中所示。基于以下有关流程图600的讨论,其他结构及操作的实现对于相关领域的技术人员将是显而易见的。
流程图600从步骤602开始。在步骤602,基于所标识的元素和/或元素的位置来选择注释以用于渲染到视频帧。例如,参考图3,注释选择器316可基于由元素识别器标识的元素和/或元素的位置来选择恰适的注释。在各实现中,由元素识别器312标识的每个游戏内元素可被配置成具有与该元素相关联的不同类型的注释,和/或可包括一种或多种类型的基于上下文的注释。因此,注释选择器316可基于所标识的元素的类型和/或上下文来选择恰适的元素(诸如当所标识的元素是运动玩家或其他对象时通过选择剪影或轮廓,或者当元素基于视频游戏116内的位置时通过选择方向指示)。在一些实现中,注释选择器316可以应用346视频游戏模型322以基于所标识的元素来选择恰适的注释。
如所描述的,注释选择器316可以选择数种各种类型的注释,以供注释渲染器318在视频帧上进行渲染。例如,图7a-7d描绘了由注释渲染器318渲染的解说性屏幕上注释。图7a-7d包括计算设备(例如,计算设备102)的在其上并发地执行视频游戏覆盖108和视频游戏704的显示设备702。显示设备702可以连同由视频游戏覆盖108生成的一个或多个注释一起显示与参考图1和3描述的视频游戏116类似的视频游戏704。
例如,图7a解说了包括围绕元素的形状706的覆盖。尽管在图7a中进行了描绘,但是形状706可包括任何其他形状,包括但不限于三角形、矩形、正方形、椭圆形、星形等。在一些实现中,注释选择器316可基于所标识的元素的形状来选择恰适的形状(例如,如果所标识的元素是足球,则注释选择器316可以选择圆形)。
图7b解说了注释选择器316选择轮廓708作为针对元素的注释的实例。轮廓可包括所标识的元素的轮廓或剪影(诸如人的轮廓)。尽管图7b解说了人的轮廓作为注释,注释选择器316可基于所标识的元素来选择任何其他轮廓(诸如树、足球、飞机、车辆、或在视频游戏704中标识的任何其他元素的轮廓)。
如图7c中所示,注释选择器316可以选择突出显示710作为屏幕上注释。在各示例中,突出显示710可被覆盖在视频游戏704中的单个元素或元素群上。此外,突出显示710可以与本文所描述的一种或多种其他注释类型结合使用。例如,突出显示可以按特定形状或元素轮廓的形式来覆盖。
图7d示出了根据一示例实施例的另一解说性注释。在图7d中,注释选择器316可以选择包括对去往所标识的元素的方向的视觉指示712的注释。例如,在视频游戏模型322被配置成基于整个视频游戏地图连同基于视频游戏地图的一个或多个元素位置的位置来生成模型的情况下,元素识别器312可以确定视频游戏玩家应当导航以抵达所标识的元素处的方向。因此,在各实现中,注释选择器316可以选择对去往该元素的方向的视觉指示712(诸如箭头或其他指针)。视觉指示712还可包括图7d中未解说的其他类型的指示(诸如可在视频帧的角落附近解说的视频游戏704的微型地图上的注释(例如,点或闪烁的对象))。在进一步的实现中,注释选择器316可被配置成在视频游戏玩家抵达视频游戏704中的所标识的位置处之际选择不同的注释(诸如通过将闪烁的框、形状等覆盖在该位置处的元素(例如,要拾取的武器或弹药)上)。
在一些其他示例中,注释选择器316可以在其中所标识的元素要被注释的一个或多个视频帧中改变注释的颜色、改变注释的大小、闪烁注释等。在一些其他示例实施例中,注释选择器316可以从一种类型的注释改变为另一种类型的注释。作为示例,在所标识的元素移动到视频帧之外的情况下,注释选择器316可以将注释类型从一种类型(例如,轮廓)改变为另一种类型(例如,箭头),以指示该元素可位于屏幕之外的某个方向。
在本文中还构想了任何其他注释(包括图7a-7d中未示出的那些)(包括但不限于屏幕上指示、消息、启示、线索或其他信息)可被覆盖在视频帧上,并且注释的任何组合可针对一个或多个所标识的元素被覆盖在视频帧上。在其他示例实施例中,注释选择器316可以选择要呈现为覆盖的原始远程用户输入。例如,远程设备102的用户可以使用笔、触控笔、触摸屏等来提供输入作为对远程观看的视频游戏的屏幕上注释。作为一个示例,远程用户可以在远程观看的屏幕上绘制或键入该远程用户可能希望与计算设备102的视频游戏玩家共享的线条、形状、箭头、文本等的集合。在此类实例中,注释选择器316可以选择原始的远程用户输入(例如,由远程用户绘制或输入的线条、形状、箭头、文本等),以由注释渲染器318在显示器702上显示为覆盖。在其他实现中,玩视频游戏704的视频游戏玩家可以类似地使用一个或多个输入设备来绘制或键入该玩家期望与远程设备共享的屏幕上注释,以进一步增强视频游戏玩家与远程用户之间的交互和协作。
在又一实现中,注释选择器316可以确定不选择针对特定元素的注释。作为一个示例,如果多个其他注释要被渲染在视频帧上,则注释选择器316可以确定不注释特定的所标识元素,以最小化对视频游戏玩家的干扰。在另一示例中,如果相关联的置信度得分低于阈值,则注释选择器316可以确定不选择针对特定的所标识元素的注释。
在又一示例实现中,注释选择器316可基于数个其他因素(诸如游戏玩家在视频游戏704中的进度和/或与视频游戏玩家相关联的表现)来选择注释、与该注释相关联的大小、颜色、厚度等,或者确定不选择针对所标识元素的注释。例如,如果视频游戏玩家成功地完成了视频游戏中的任务,在体育游戏中得分,或者在玩视频游戏704时以令人满意的水平执行,则注释选择器316可以推断出视频游戏玩家可能期望以不太明显的方式选择并显示注释和/或根本不显示注释。在其他示例中,如果视频游戏玩家在视频游戏704中正遇到困难,则注释选择器316可以选择显示视频游戏玩家不太可能错过的注释(例如,通过选择可能更大、更亮、更明显等的注释)。
类似地,注释选择器316可基于面部表情、口头表达或经由相机和/或话筒捕获的其他情感或表达来确定是否应当选择注释以覆盖在显示器702上。例如,如果视频游戏玩家是专注的和/或满意的,则注释选择器316可以确定不要选择注释或选择不太明显的注释。相反,如果视频游戏玩家感到沮丧或悲伤,则注释选择器316可以确定视频游戏玩家将从观看更明显的注释中受益。
iii.示例计算机系统实现
计算设备102、(诸)远程设备104、视频游戏覆盖108、视频游戏116、视频游戏模型生成器320、视频游戏704的一个或多个组件、以及流程图200、400、500和600的一个或多个步骤可被实现在硬件或与软件和/或固件组合的硬件中。例如,计算设备102、(诸)远程设备104、视频游戏覆盖108、视频游戏116、视频游戏模型生成器320、视频游戏704的一个或多个组件、以及流程图200、400、500和600的一个或多个步骤可被实现为被配置成在一个或多个处理器中执行并被存储在计算机可读存储介质中的计算机程序代码/指令。
在另一实现中,计算设备102、(诸)远程设备104、视频游戏覆盖108、视频游戏116、视频游戏模型生成器320、视频游戏704的一个或多个组件、以及流程图200、400、500和600的一个或多个步骤也可被实现在操作软件即服务(saas)或平台即服务(paas)的硬件中。替换地,计算设备102、(诸)远程设备104、视频游戏覆盖108、视频游戏116、视频游戏模型生成器320、视频游戏704的一个或多个组件、以及流程图200、400、500和600的一个或多个步骤可被实现为硬件逻辑/电路系统。
例如,在一实现中,计算设备102、(诸)远程设备104、视频游戏覆盖108、视频游戏116、视频游戏模型生成器320、视频游戏704的一个或多个组件、以及流程图200、400、500和600的一个或多个步骤可被一起实现在片上系统(soc)中。soc可包括集成电路芯片,该集成电路芯片包括以下各项中的一者或多者:处理器(例如,中央处理单元(cpu)、微控制器、微处理器、数字信号处理器(dsp)等)、存储器、一个或多个通信接口、和/或其他电路,并且可以可选地执行接收到的程序代码和/或包括嵌入式固件以执行功能。
图8描绘了其中可实现各示例实施例的计算设备800的实现。例如,计算设备102、(诸)远程设备104、视频游戏覆盖108、视频游戏116、视频游戏模型生成器320、显示器702、和视频游戏704可各自被实现在与固定或移动计算机实现中的计算设备800相似的一个或多个计算设备800中,包括计算设备800的一个或多个特征和/或替换特征。本文中所提供的对计算设备800的描述只是为了说明,并不旨在限制。各示例实施例也可以在相关领域的技术人员所知的其它类型的计算机系统中实现。
如图8所示,计算设备800包括一个或多个处理器(被称为处理器电路802)、系统存储器804,以及将包括系统存储器804的各种系统组件耦合至处理器电路802的总线806。处理器电路802是用一个或多个物理硬件电子电路设备元件和/或集成电路器件(半导体材料芯片或管芯)实现为中央处理单元(cpu)、微控制器、微处理器、和/或其他物理硬件处理器电路的电子和/或光学电路。处理器电路802可执行存储在计算机可读介质中的程序代码,诸如操作系统830、应用程序832、其他程序834的程序代码等。总线806表示若干类型的总线结构中的任何总线结构中的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及处理器或使用各种总线体系结构中的任一种的局部总线。系统存储器804包括只读存储器(rom)808和随机存取存储器(ram)810。基本输入/输出系统812(bios)被存储在rom808中。
计算设备800还具有一个或多个以下驱动器:用于读写硬盘的硬盘驱动器814、用于读或写可移动磁盘818的磁盘驱动器816、以及用于读或写诸如cdrom、dvdrom或其他光介质之类的可移动光盘822的光盘驱动器820。硬盘驱动器814、磁盘驱动器816、以及光盘驱动器820分别通过硬盘驱动器接口824、磁盘驱动器接口826、以及光盘驱动器接口828连接至总线806。这些驱动器以及它们相关联的计算机可读介质为计算机提供了对计算机可读指令、数据结构、程序模块及其他数据的非易失存储。虽然描述了硬盘、可移动磁盘和可移动光盘,但是诸如闪存卡、数字视频盘、ram、rom之类的其他类型的基于硬件的计算机可读存储介质和其他硬件存储介质也可被用来储存数据。
数个程序模块可被存储在硬盘、磁盘、光盘、rom或ram上。这些程序包括操作系统830、一个或多个应用程序832、其他程序834以及程序数据836。应用程序832或其他程序834可包括例如计算机程序逻辑(例如,计算机程序代码或指令)以用于实现计算设备102、(诸)远程设备104、视频游戏覆盖108、视频游戏116、视频游戏模型生成器320、显示器702、视频游戏704的一个或多个组件、以及流程图200、400、500和600的一个或多个步骤、和/或本文所描述的其他实现。
用户可通过诸如键盘838和定点设备840之类的输入设备向计算设备800中输入命令和信息。其他输入设备(未示出)可包括话筒、操纵杆、游戏手柄、碟型卫星天线、扫描仪、触摸屏和/或触摸平板、用于接收语音输入的语音识别系统、用于接收姿势输入的姿势识别系统,等等。这些及其他输入设备通常通过耦合到总线806的串行端口接口842来连接到处理器电路802,但是也可以通过其他接口(诸如并行端口、游戏端口、或通用串行总线(usb))来进行连接。
显示屏844也通过诸如视频适配器846之类的接口来连接到总线806。显示屏844可以在计算设备800外部或纳入其中。显示屏844可显示信息,以及作为用于接收用户命令和/或其他信息(例如,通过触摸、手指姿势、虚拟键盘等)的用户界面。除了显示屏844之外,计算设备800还可包括其他外围输出设备(未示出),诸如扬声器和打印机。显示屏844和/或任何其他外围输出设备(未示出)可被用于实现显示器702和/或本文所描述的任何其他实现。
计算设备800通过适配器或网络接口850、调制解调器852、或用于通过网络建立通信的其他手段来连接到网络848(例如,互联网)。可以是内置的或外置的调制解调器852可以经由串行端口接口842连接到总线806,如图8所示,或者可以使用包括并行接口的另一接口类型连接到总线806。
如本文中所使用的,术语“计算机程序介质”、“计算机可读介质”以及“计算机可读存储介质”被用于指物理硬件介质,诸如与硬盘驱动器814相关联的硬盘、可移动磁盘818、可移动光盘822、其他物理硬件介质,诸如ram、rom、闪存卡、数字视频盘、zip盘、mem、基于纳米的存储设备,以及其他类型的物理/有形硬件存储介质。此类计算机可读存储介质与通信介质相区别且不交叠(不包括通信介质)。通信介质在诸如载波等已调制数据信号中承载计算机可读指令、数据结构、程序模块或其他数据。术语“已调制数据信号”意指以在信号中对信息进行编码的方式来使其一个或多个特性被设置或改变的信号。作为示例而非限制,通信介质包括无线介质(诸如声学、rf、红外和其他无线介质)以及有线介质。各实现还涉及与涉及计算机可读存储介质的实现分开且不交叠的这类通信介质。
如以上所指出的,计算机程序和模块(包括应用程序832及其他程序834)可被储存在硬盘、磁盘、光盘、rom、ram或其他硬件存储介质上。这样的计算机程序也可以经由网络接口850、串行端口接口842或任何其他接口类型来接收。这些计算机程序在由应用执行或加载时使计算机800能够实现本文中所讨论的各示例实施例的特征。相应地,这些计算机程序表示计算机系统800的控制器。
各实现还涉及包括存储在任何计算机可读介质上的计算机代码或指令的计算机程序产品。这些计算机程序产品包括硬盘驱动、光盘驱动、存储器设备包、便携式记忆棒、存储器卡以及其他类型的物理存储硬件。
iv.附加示例实施例
本文描述了一种用于注释由视频游戏生成的视频帧的系统。该系统包括:至少一个处理器电路;至少一个存储器,该至少一个存储器存储被配置成由该至少一个处理器电路执行的程序代码,该程序代码包括:视频游戏模型生成器,该视频游戏模型生成器被配置成生成将元素标签与该视频游戏的元素相关联的视频游戏模型;视频游戏覆盖,该视频游戏覆盖与该视频游戏被并发地执行并且包括:接收机,该接收机被配置成通过网络从一个或多个远程设备接收远程用户输入;解析器,该解析器被配置成应用该视频游戏模型来解析该远程用户输入并从中提取与该视频游戏相对应的元素标签;元素识别器,该元素识别器被配置成应用该视频游戏模型以标识该视频游戏中与该元素标签相对应的元素;以及注释渲染器,该注释渲染器被配置成基于所标识的元素和所标识的元素的位置来注释该视频帧。
在前述系统的一种实现中,视频游戏模型生成器被配置成基于受监督训练或无监督训练中的一者或多者来生成视频游戏模型。
在前述系统的另一实现中,接收机包括经由其接收远程用户输入的多个插件,其中每个插件对应于不同的远程服务。
在前述系统的另一实现中,视频游戏覆盖进一步包括归一化器,该归一化器被配置成在由解析器解析远程用户输入之前归一化远程用户输入。
在前述系统的另一实现中,远程用户输入包括多个远程用户输入流,并且视频游戏覆盖进一步包括复用器,该复用器在由解析器解析远程用户输入之前组合远程用户输入流以生成单个经复用的输入流。
在前述系统的另一实现中,远程用户输入包括以下至少一者:语音输入;文本输入;触摸屏输入或定点设备输入。
在前述系统的另一实现中,远程用户输入包括语音输入,并且视频游戏覆盖进一步包括语音至文本转换器,该语音至文本转换器在由解析器解析语音输入之前将该语音输入转换为文本输入。
在前述系统的另一实现中,视频游戏覆盖进一步包括:注释选择器,该注释选择器被配置成基于所标识的元素和位置中的一者或多者来选择注释以用于渲染到视频帧。
在前述系统的另一实现中,注释包括以下至少一者:元素的突出显示;对去往元素的方向的视觉指示;围绕元素的形状;或元素的轮廓。
本文公开了一种用于注释由视频游戏生成的视频帧的方法。该方法包括:与该视频游戏并发地执行视频游戏覆盖,执行该视频游戏覆盖包括:通过网络从一个或多个远程设备接收远程用户输入;应用将元素标签与该视频游戏的元素相关联的视频游戏模型以:解析该远程用户输入并从中提取与该视频游戏相对应的元素标签;以及标识该视频游戏中与该元素标签相对应的元素;以及基于所标识的元素和所标识的元素的位置来注释该视频帧。
在前述方法的一种实现中,该方法进一步包括:基于受监督训练或无监督训练中的一者或多者来生成视频游戏模型。
在前述方法的另一实现中,接收该远程用户输入包括:经由多个插件接收该远程用户输入,其中每个插件对应于不同的远程服务。
在前述方法的另一实现中,执行该视频游戏覆盖进一步包括:在解析远程用户输入之前归一化该远程用户输入。
在前述系统的另一实现中,远程用户输入包括多个远程用户输入流,并且执行该视频游戏覆盖进一步包括:在解析该远程用户输入之前组合远程用户输入流以生成单个经复用的输入流。
在前述方法的另一实现中,远程用户输入包括以下至少一者:语音输入;文本输入;触摸屏输入或定点设备输入。
在前述方法的另一实现中,远程用户输入包括语音输入,并且执行该视频游戏覆盖进一步包括:在解析该远程用户输入之前将该语音输入转换为文本输入。
在前述方法的另一实现中,执行该视频游戏覆盖进一步包括:基于所标识的元素和位置中的一者或多者来选择注释以用于渲染到视频帧。
在前述方法的另一实现中,注释该视频帧包括以下至少一者:突出显示元素;显示对去往元素的方向的视觉指示;显示围绕元素的形状;或勾勒元素。
本文公开了一种计算机程序产品。该计算机程序产品包括:其上记录有计算机程序逻辑的计算机可读存储器,该计算机程序逻辑在由至少一个处理器执行时使得该至少一个处理器执行一种方法,该方法包括:与该视频游戏并发地执行视频游戏覆盖,执行该视频游戏覆盖包括:通过网络从一个或多个远程设备接收远程用户输入;应用将元素标签与该视频游戏的元素相关联的视频游戏模型以:解析该远程用户输入并从中提取与该视频游戏相对应的元素标签;以及标识该视频游戏中与该元素标签相对应的元素;以及基于所标识的元素和所标识的元素的位置来注释该视频帧。
在前述计算机程序产品的一种实现中,远程用户输入包括多个远程用户输入流,并且执行该视频游戏覆盖进一步包括:在解析该远程用户输入之前组合远程用户输入流以生成单个经复用的输入流。
v.结论
虽然以上描述了各种示例实施例,但应当理解的是它们只是作为示例而非限制。(诸)相关领域的技术人员将理解,在不偏离如所附权利要求书所定义的各实施例的精神和范围的情况下,可以在形式和细节方面进行各种修改。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除